From 81e6577d11920a45284936f591bd8d076006a919 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期四, 01 八月 2024 13:09:57 +0800
Subject: [PATCH] 修改通讯录

---
 src/views/Admin/contactBook/contactors.vue |   69 ++++++++++++++++++++--------------
 1 files changed, 41 insertions(+), 28 deletions(-)

diff --git a/src/views/Admin/contactBook/contactors.vue b/src/views/Admin/contactBook/contactors.vue
index 42e7129..6a07c56 100644
--- a/src/views/Admin/contactBook/contactors.vue
+++ b/src/views/Admin/contactBook/contactors.vue
@@ -28,13 +28,13 @@
           <a-button  type="primary" @click="massImport()">批量导入</a-button>
         </div>
         <div class="table-cont">
-          <a-table :columns="columns" :data-source="tableData" :pagination="pagination" :rowKey="record=>record.id" bordered>
+          <a-table :columns="columns" :data-source="tableData" :pagination="pagination" :rowKey="record=>record.id.toString()" bordered>
             <template #index="text,record,index">
               {{ index + 1 }}
             </template>
-            <template #orgName="text,record,index">
-              {{currentKey.length>0?currentKey[0].split('-')[1]: ''}}
-            </template>
+<!--            <template #orgStructureName="text,record,index">-->
+<!--              {{currentKey.length>0?currentKey[0].split('-')[1]: ''}}-->
+<!--            </template>-->
             <template #orgUserTypes="text,record,index">
               {{record.orgUserTypes?record.orgUserTypes.map(i=>i.typeName + '(' + i.orgUserTags.map(j=>j.tagName).join('/') +')').join(','): ''}}
             </template>
@@ -82,8 +82,7 @@
 import contactorsMod from "@/views/Admin/components/contactorsMod"
 import {importUser} from "@/api/user";
 import importNew from "@/assets/importNew.xlsx";
-import exampleFile from "@/assets/example.xlsx";
-
+import JSONBig from 'json-bigint'
 export default {
   name: 'sameLevel',
   components: {
@@ -128,10 +127,8 @@
         },
         {
           title: '所属组织架构',
-          dataIndex: 'orgName',
-          scopedSlots: {
-            customRender: 'orgName'
-          }
+          dataIndex: 'orgStructureName',
+          key: 'orgStructureName'
         },
         {
           title: '所属单位',
@@ -192,9 +189,9 @@
     const t = this
     t.unittype = getUserInfo().unittype
     t.districtId = getUserInfo().districtId
+    t.getStructure()
     t.getUserList()
     t.getUpdataData()
-    t.getStructure()
   },
   mounted() {
 
@@ -207,7 +204,7 @@
   methods:{
     downloadFile(){
       const link = document.createElement('a')
-      link.href = exampleFile
+      link.href = importNew
       link.target = '_blank'
       link.download = '通讯录导入模板.xlsx'
       link.click()
@@ -262,20 +259,31 @@
       const t = this
       const res = await getStructure()
       if(res.data.code == 100){
-        t.treeData = res.data.data
-        const firstItem = this.firstIdWithOrgStructures(res.data.data[0])
-        if(firstItem){
-          t.openKeys =  [firstItem.id +'-'+  firstItem.name]
-          t.currentId = firstItem.id
-          t.currentKey = [firstItem.orgStructures[0].id +'-'+  firstItem.orgStructures[0].orgName]
-        }else{
-          t.$message.warning('暂无可操作的单位,请先进入“组织架构维护页面”新建相应的本级单位')
-        }
+        t.treeData = t.filterBranches(res.data.data,['自治区直辖县级行政区划'])
+        // const firstItem = this.firstIdWithOrgStructures(res.data.data[0])
+        // if(firstItem){
+        //   t.openKeys =  [firstItem.id +'-'+  firstItem.name]
+        //   t.currentId = firstItem.id
+        //   t.currentKey = [firstItem.orgStructures[0].id +'-'+  firstItem.orgStructures[0].orgName]
+        // }else{
+        //   t.$message.warning('暂无可操作的单位,请先进入“组织架构维护页面”新建相应的本级单位')
+        // }
       }else{
         t.$message.warning(res.data.msg)
       }
     },
 
+    filterBranches(branches, targetNames) {
+      return branches.filter(branch => {
+        if (targetNames.includes(branch.name)) {
+          return false; // 过滤掉当前分支
+        }
+        if (branch.children && branch.children.length > 0) {
+          branch.children = this.filterBranches(branch.children, targetNames);
+        }
+        return true; // 保留当前分支
+      });
+    },
 
     firstIdWithOrgStructures(node) {
       if (node.orgStructures && node.orgStructures.length > 0) {
@@ -349,14 +357,19 @@
 
     editData(type,data){
       const t = this
-      if(type == 'add' && (!t.currentId || !t.currentKey)){
-        t.$message.warning('暂无可操作的单位,请先进入“组织架构维护页面”新建相应的本级单位')
-        return
+      if(type == 'add'){
+        if(!t.currentId || !t.currentKey){
+          t.$message.warning('请先在左侧选择单位再进行新增')
+          return
+        }else {
+          const areaId = t.currentId
+          const orgName = t.currentKey.length>0?t.currentKey[0].split('-')[1]: ''
+          const orgId = t.currentKey.length>0?t.currentKey[0].split('-')[0]: null
+          t.$refs.contactMod.openDialog(type,data,areaId,orgName,orgId)
+        }
+      }else{
+        t.$refs.contactMod.openDialog(type,data,data.districtId,data.orgStructureName,data.orgStructureId)
       }
-      const areaId = t.currentId
-      const orgName = t.currentKey.length>0?t.currentKey[0].split('-')[1]: ''
-      const orgId = t.currentKey.length>0?t.currentKey[0].split('-')[0]: null
-      t.$refs.contactMod.openDialog(type,data,areaId,orgName,orgId)
     },
 
     async delData(row){

--
Gitblit v1.9.2