You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
3.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<div :visible="visible">
<a-descriptions size="small" bordered :column="1">
<a-descriptions-item label="机构名称">{{model.departName}}</a-descriptions-item>
<a-descriptions-item label="上级部门"><span>{{model.parentId}}</span></a-descriptions-item>
<a-descriptions-item label="机构编码"><span>{{model.orgCode}}</span></a-descriptions-item>
<a-descriptions-item label="机构类型"><span>{{model.orgCategory}}</span></a-descriptions-item>
<a-descriptions-item label="排序"><span>{{model.departOrder}}</span></a-descriptions-item>
<a-descriptions-item label="手机号"><span>{{model.mobile}}</span></a-descriptions-item>
<a-descriptions-item label="地址"><span>{{model.address}}</span></a-descriptions-item>
<a-descriptions-item label="备注"><span>{{model.memo}}</span></a-descriptions-item>
</a-descriptions>
</div>
</template>
<script>
import { queryIdTree } from '@/api/api'
export default {
name: 'DeptBaseInfo',
components: {},
data() {
return {
departTree: [],
id: '',
model: {},
visible: false,
disable: true,
treeData: [],
labelCol: {
xs: {span: 24},
sm: {span: 3}
},
wrapperCol: {
xs: {span: 24},
sm: {span: 16}
},
}
},
created() {
this.loadTreeData();
},
methods: {
loadTreeData() {
queryIdTree().then((res) => {
if (res.success) {
for (let i = 0; i < res.result.length; i++) {
let temp = res.result[i];
this.treeData.push(temp);
}
}
})
},
open(record) {
this.visible = true;
//update-begin---author:wangshuai ---date:20220211 for[JTC-174]部门管理界面参考vue3的改改------------
this.model = Object.assign({}, record)
this.model.parentId = this.findTree(this.treeData,record.parentId);
this.model.orgCategory = this.orgCategoryText(record.orgCategory)
//update-end---author:wangshuai ---date:20220211 for[JTC-174]部门管理界面参考vue3的改改------------
},
clearForm() {
this.treeData = [];
},
/**
* 通过父id查找部门名称
* @param treeList 树数组
* @param id 父id
* @return id对应的部门名称
*/
findTree(treeList,id){
for (let i = 0; i < treeList.length; i++) {
let item = treeList[i];
//如果当前id和父id相同则返回部门名称
if (item.key == id) {
return item.title;
}
let children = item.children
//存在子部门进行递归查询
if(children){
let findResult = this.findTree(children, id);
//返回的数据不为空,结束递归,返回结果
if (findResult) {
return findResult
}
}
}
},
/**
* 将机构类型数值翻译成文本
* @param orgCategory 部门类别
* @return 部门类别对应的文本
*/
orgCategoryText(orgCategory) {
if(orgCategory == 1){
return "公司";
}else if(orgCategory == 2){
return "部门";
}else{
return "岗位";
}
}
}
}
</script>
<style scoped lang="less">
.ant-descriptions-view{
border: 1px solid #f0f0f0;
}
/deep/ .ant-descriptions-item-label{
width:180px
}
/deep/ .ant-descriptions-item-content span{
color:#000000d9;
}
/deep/ .ant-descriptions-bordered .ant-descriptions-row{
border-bottom: 1px solid #f0f0f0 !important;
}
/deep/ .ant-descriptions-bordered .ant-descriptions-item-label{
border-right: 1px solid #f0f0f0;
}
</style>