From e6758ef29bd686e894b4679edf1bd88436b84148 Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期三, 13 一月 2021 19:07:03 +0800
Subject: [PATCH] 分析检索/人员管理接口联调

---
 src/pages/shuohuangMonitorAnalyze/components/taskManage.vue |   88 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 79 insertions(+), 9 deletions(-)

diff --git a/src/pages/shuohuangMonitorAnalyze/components/taskManage.vue b/src/pages/shuohuangMonitorAnalyze/components/taskManage.vue
index 9374856..c519390 100644
--- a/src/pages/shuohuangMonitorAnalyze/components/taskManage.vue
+++ b/src/pages/shuohuangMonitorAnalyze/components/taskManage.vue
@@ -62,10 +62,8 @@
         <div class="body">
           <div class="flex-box">
             <label>閮ㄩ棬:</label>
-            <el-select placeholder="鍏ㄩ儴" size="mini" style="width: 200px;margin-right: 10px;">
-              <el-option></el-option>
-            </el-select>
-            <el-button type="primary" size="mini" @click="searchPerson">鎼滅储</el-button>
+            <span class="checked-org" :class="{'null':!checkedOrg.id}">{{checkedOrg.label||'鍏ㄩ儴'}}</span>
+            <el-button type="primary" size="mini" @click="selOrg">閫夋嫨閮ㄩ棬</el-button>
           </div>
           <div class="person-list">
             <div class="person" v-for="person in personList" :key="person.id">
@@ -125,10 +123,28 @@
         </el-table>
       </div>
     </div>
+    <el-dialog :visible="orgTreeDialogVisible">
+      <div>
+        <el-tree
+          :data="organizeData"
+          node-key="id"
+          default-expand-all
+          @node-click="checkOrgNode"
+          :expand-on-click-node="false"
+          :check-on-click-node="true"
+          :highlight-current="true"
+        ></el-tree>
+        <div slot="footer" class="btns">
+          <el-button size="small" @click="orgTreeDialogVisible=false">鍙栨秷</el-button>
+          <el-button size="small" type="primary" @click="searchMemberByOrg">纭畾</el-button>
+        </div>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
+import { getOrganizeTree } from '@/api/shuohuang';
 export default {
   data () {
     return {
@@ -173,7 +189,10 @@
       ],
       videoListSearchWord: '',
       actCollapseName: '',
-      username: '',
+      checkedOrg: {},
+      orgTreeDialogVisible: false,
+      organizeData: [],
+
       personList: [
         { name: '寮犱笁', id: 'zs' },
         { name: '鏉庢柉', id: 'ls' }
@@ -182,17 +201,62 @@
     }
   },
   mounted () {
-
+    this.getOrganizeTreeData();
   },
   methods: {
+    searchMemberByOrg(){
+      debugger
+      
+    },
+    deepNodeChildren (node) {
+      if (node.ChildDept && node.ChildDept.length > 0) {
+        return node.ChildDept.map(child => {
+          let childObj = {};
+          childObj.id = child.ID;
+          childObj.label = child.Name;
+          childObj.Status = child.Status;
+          if (child.ChildDept) {
+            childObj.children = this.deepNodeChildren(child)
+          }
+          if (child.UserLst) {
+            childObj.children = this.deepNodeChildren(child)
+          }
+          return childObj;
+        });
+      } else if (node.UserLst && node.UserLst.length > 0) {
+        return node.UserLst.map(child => {
+          let childObj = {};
+          childObj.id = child.ID;
+          childObj.label = child.Name;
+          childObj.Status = child.Status;
+          return childObj;
+        });
+      }
+    },
+    checkOrgNode (a, b, c) {
+      this.checkedOrg = a
+    },
+    getOrganizeTreeData () {
+      let _this = this;
+      getOrganizeTree().then(res => {
+        _this.organizeData = res.data.map(item => {
+          let obj = {};
+          obj.id = item.ID;
+          obj.label = item.Name;
+          obj.Status = item.Status;
+          obj.children = _this.deepNodeChildren(item);
+          return obj
+        })
+      })
+    },
     distributeTask () {
 
     },
     searchVideoList () {
 
     },
-    searchPerson () {
-
+    selOrg () {
+      this.orgTreeDialogVisible = true;
     },
     searchTask () {
 
@@ -251,6 +315,13 @@
     }
     .top-right {
       width: 360px;
+      .checked-org {
+        flex: 1;
+        text-align: left;
+        &.null {
+          color: #999;
+        }
+      }
       .person-list {
         padding-top: 14px;
         .person {
@@ -272,7 +343,6 @@
       .actions {
         text-align: left;
       }
-      
     }
   }
 }

--
Gitblit v1.8.0