DeptBaseInfo.vue 3.61 KB
<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>