From 05170ec3d816960d4f8a38ec8d202cefe73b4179 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 17 十月 2023 17:40:17 +0800
Subject: [PATCH] 保养问题项处理

---
 src/views/system/DepartList.vue | 1270 ++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 720 insertions(+), 550 deletions(-)

diff --git a/src/views/system/DepartList.vue b/src/views/system/DepartList.vue
index c9446ce..fee36ce 100644
--- a/src/views/system/DepartList.vue
+++ b/src/views/system/DepartList.vue
@@ -1,51 +1,105 @@
 <template xmlns:background-color="http://www.w3.org/1999/xhtml">
   <a-row :gutter="10">
-    <a-col :md="12" :sm="24">
+    <a-col
+      :md="12"
+      :sm="24"
+    >
       <a-card :bordered="false">
 
         <!-- 鎸夐挳鎿嶄綔鍖哄煙 -->
         <a-row style="margin-left: 14px">
-          <a-button @click="handleAdd(1)" type="primary">娣诲姞閮ㄩ棬</a-button>
-          <a-button @click="handleAdd(2)" type="primary">娣诲姞涓嬬骇</a-button>
-          <a-button type="primary" icon="download" @click="handleExportXls('閮ㄩ棬淇℃伅')">瀵煎嚭</a-button>
-          <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-            <a-button type="primary" icon="import">瀵煎叆</a-button>
+          <a-button
+            @click="handleAdd(1)"
+            type="primary"
+          >娣诲姞閮ㄩ棬</a-button>
+          <a-button
+            @click="handleAdd(2)"
+            type="primary"
+          >娣诲姞涓嬬骇</a-button>
+          <a-button
+            type="primary"
+            icon="download"
+            @click="handleExportXls('閮ㄩ棬淇℃伅')"
+          >瀵煎嚭</a-button>
+          <a-upload
+            name="file"
+            :showUploadList="false"
+            :multiple="false"
+            :headers="tokenHeader"
+            :action="importExcelUrl"
+            @change="handleImportExcel"
+          >
+            <a-button
+              type="primary"
+              icon="import"
+            >瀵煎叆</a-button>
           </a-upload>
-          <a-button title="鍒犻櫎澶氭潯鏁版嵁" @click="batchDel" type="default">鎵归噺鍒犻櫎</a-button>
+          <a-button
+            title="鍒犻櫎澶氭潯鏁版嵁"
+            @click="batchDel"
+            type="default"
+          >鎵归噺鍒犻櫎</a-button>
           <!--<a-button @click="refresh" type="default" icon="reload" :loading="loading">鍒锋柊</a-button>-->
         </a-row>
         <div style="background: #fff;padding-left:16px;height: 100%; margin-top: 5px">
-          <a-alert type="info" :showIcon="true">
+          <a-alert
+            type="info"
+            :showIcon="true"
+          >
             <div slot="message">
               褰撳墠閫夋嫨锛�<span v-if="this.currSelected.title">{{ getCurrSelectedTitle() }}</span>
-              <a v-if="this.currSelected.title" style="margin-left: 10px" @click="onClearSelected">鍙栨秷閫夋嫨</a>
+              <a
+                v-if="this.currSelected.title"
+                style="margin-left: 10px"
+                @click="onClearSelected"
+              >鍙栨秷閫夋嫨</a>
             </div>
           </a-alert>
-          <a-input-search @search="onSearch" style="width:100%;margin-top: 10px" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"/>
+          <a-input-search
+            @search="onSearch"
+            style="width:100%;margin-top: 10px"
+            placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"
+          />
           <!-- 鏍�-->
-          <a-col :md="10" :sm="24">
+          <a-col
+            :md="10"
+            :sm="24"
+          >
             <template>
-              <a-dropdown :trigger="[this.dropTrigger]" @visibleChange="dropStatus">
-               <span style="user-select: none">
-            <a-tree
-              checkable
-              multiple
-              @select="onSelect"
-              @check="onCheck"
-              @rightClick="rightHandle"
-              :selectedKeys="selectedKeys"
-              :checkedKeys="checkedKeys"
-              :treeData="departTree"
-              :checkStrictly="checkStrictly"
-              :expandedKeys="iExpandedKeys"
-              :autoExpandParent="autoExpandParent"
-              @expand="onExpand"/>
+              <a-dropdown
+                :trigger="[this.dropTrigger]"
+                @visibleChange="dropStatus"
+              >
+                <span style="user-select: none">
+                  <a-tree
+                    checkable
+                    multiple
+                    @select="onSelect"
+                    @check="onCheck"
+                    @rightClick="rightHandle"
+                    :selectedKeys="selectedKeys"
+                    :checkedKeys="checkedKeys"
+                    :treeData="departTree"
+                    :checkStrictly="checkStrictly"
+                    :expandedKeys="iExpandedKeys"
+                    :autoExpandParent="autoExpandParent"
+                    @expand="onExpand"
+                  />
                 </span>
                 <!--鏂板鍙抽敭鐐瑰嚮浜嬩欢,鍜屽鍔犳坊鍔犲拰鍒犻櫎鍔熻兘-->
                 <a-menu slot="overlay">
-                  <a-menu-item @click="handleAdd(3)" key="1">娣诲姞</a-menu-item>
-                  <a-menu-item @click="handleDelete" key="2">鍒犻櫎</a-menu-item>
-                  <a-menu-item @click="closeDrop" key="3">鍙栨秷</a-menu-item>
+                  <a-menu-item
+                    @click="handleAdd(3)"
+                    key="1"
+                  >娣诲姞</a-menu-item>
+                  <a-menu-item
+                    @click="handleDelete"
+                    key="2"
+                  >鍒犻櫎</a-menu-item>
+                  <a-menu-item
+                    @click="closeDrop"
+                    key="3"
+                  >鍙栨秷</a-menu-item>
                 </a-menu>
               </a-dropdown>
             </template>
@@ -54,14 +108,35 @@
       </a-card>
       <!---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------>
       <div class="drawer-bootom-button">
-        <a-dropdown :trigger="['click']" placement="topCenter">
+        <a-dropdown
+          :trigger="['click']"
+          placement="topCenter"
+        >
           <a-menu slot="overlay">
-            <a-menu-item key="1" @click="switchCheckStrictly(1)">鐖跺瓙鍏宠仈</a-menu-item>
-            <a-menu-item key="2" @click="switchCheckStrictly(2)">鍙栨秷鍏宠仈</a-menu-item>
-            <a-menu-item key="3" @click="checkALL">鍏ㄩ儴鍕鹃��</a-menu-item>
-            <a-menu-item key="4" @click="cancelCheckALL">鍙栨秷鍏ㄩ��</a-menu-item>
-            <a-menu-item key="5" @click="expandAll">灞曞紑鎵�鏈�</a-menu-item>
-            <a-menu-item key="6" @click="closeAll">鍚堝苟鎵�鏈�</a-menu-item>
+            <a-menu-item
+              key="1"
+              @click="switchCheckStrictly(1)"
+            >鐖跺瓙鍏宠仈</a-menu-item>
+            <a-menu-item
+              key="2"
+              @click="switchCheckStrictly(2)"
+            >鍙栨秷鍏宠仈</a-menu-item>
+            <a-menu-item
+              key="3"
+              @click="checkALL"
+            >鍏ㄩ儴鍕鹃��</a-menu-item>
+            <a-menu-item
+              key="4"
+              @click="cancelCheckALL"
+            >鍙栨秷鍏ㄩ��</a-menu-item>
+            <a-menu-item
+              key="5"
+              @click="expandAll"
+            >灞曞紑鎵�鏈�</a-menu-item>
+            <a-menu-item
+              key="6"
+              @click="closeAll"
+            >鍚堝苟鎵�鏈�</a-menu-item>
           </a-menu>
           <a-button>
             鏍戞搷浣� <a-icon type="up" />
@@ -70,589 +145,684 @@
       </div>
       <!---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------>
     </a-col>
-    <a-col :md="12" :sm="24">
+    <a-col
+      :md="12"
+      :sm="24"
+    >
       <a-tabs defaultActiveKey="1">
-        <a-tab-pane tab="鍩烘湰淇℃伅" key="1" >
-          <a-card :bordered="false" v-if="selectedKeys.length>0">
-            <a-form-model ref="form" :model="model" :rules="validatorRules">
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departName" label="鏈烘瀯鍚嶇О">
-                <a-input placeholder="璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О" v-model="model.departName" />
+        <a-tab-pane
+          tab="鍩烘湰淇℃伅"
+          key="1"
+        >
+          <a-card
+            :bordered="false"
+            v-if="selectedKeys.length>0"
+          >
+            <a-form-model
+              ref="form"
+              :model="model"
+              :rules="validatorRules"
+            >
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                prop="departName"
+                label="鏈烘瀯鍚嶇О"
+              >
+                <a-input
+                  placeholder="璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О"
+                  v-model="model.departName"
+                />
               </a-form-model-item>
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="涓婄骇閮ㄩ棬">
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="浣跨敤閮ㄩ棬缂栫爜"
+                prop="useDepartNum"
+              >
+                <a-input
+                  id="useDepartNum"
+                  placeholder="璇疯緭鍏ヤ娇鐢ㄩ儴闂ㄧ紪鐮�"
+                  v-model="model.useDepartNum"
+                />
+              </a-form-model-item>
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="缁翠慨閮ㄩ棬缂栫爜"
+                prop="repairDepartNum"
+              >
+                <a-input
+                  id="repairDepartNum"
+                  placeholder="璇疯緭鍏ョ淮淇儴闂ㄧ紪鐮�"
+                  v-model="model.repairDepartNum"
+                />
+              </a-form-model-item>
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="涓婄骇閮ㄩ棬"
+              >
                 <a-tree-select
                   style="width:100%"
                   :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
                   :treeData="treeData"
                   :disabled="disable"
                   v-model="model.parentId"
-                  placeholder="鏃�">
+                  placeholder="鏃�"
+                >
                 </a-tree-select>
               </a-form-model-item>
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="鎺掑簭">
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="鎺掑簭"
+              >
                 <a-input-number v-model="model.departOrder" />
               </a-form-model-item>
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="澶囨敞">
-                <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.memo"/>
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="澶囨敞"
+              >
+                <a-textarea
+                  placeholder="璇疯緭鍏ュ娉�"
+                  v-model="model.memo"
+                />
               </a-form-model-item>
             </a-form-model>
             <div class="anty-form-btn">
-              <a-button @click="emptyCurrForm" type="default" htmlType="button" icon="sync">閲嶇疆</a-button>
-              <a-button @click="submitCurrForm" type="primary" htmlType="button" icon="form">淇濆瓨</a-button>
+              <a-button
+                @click="emptyCurrForm"
+                type="default"
+                htmlType="button"
+                icon="sync"
+              >閲嶇疆</a-button>
+              <a-button
+                @click="submitCurrForm"
+                type="primary"
+                htmlType="button"
+                icon="form"
+              >淇濆瓨</a-button>
             </div>
           </a-card>
-          <a-card v-else >
+          <a-card v-else>
             <a-empty>
               <span slot="description"> 璇峰厛閫夋嫨涓�涓儴闂�! </span>
             </a-empty>
           </a-card>
         </a-tab-pane>
-        <a-tab-pane tab="閮ㄩ棬鏉冮檺" key="2" forceRender>
+        <a-tab-pane
+          tab="閮ㄩ棬鏉冮檺"
+          key="2"
+          forceRender
+        >
           <!--<depart-auth-modal ref="departAuth"/>-->
           <depart-m-auth-modal ref="departMAuth"></depart-m-auth-modal>
         </a-tab-pane>
-        <a-tab-pane v-if="isDepartType == 0" tab="璁惧鍒楄〃" key="3" forceRender>
-          <depart-auth-modal ref="departAuth"/>
+        <a-tab-pane
+          v-if="isDepartType == 0"
+          tab="璁惧鍒楄〃"
+          key="3"
+          forceRender
+        >
+          <depart-auth-modal ref="departAuth" />
+        </a-tab-pane>
+
+        <a-tab-pane
+          v-if="isDepartType == 0"
+          tab="鐝粍鍒楄〃"
+          key="4"
+          forceRender
+        >
+          <depart-team ref="departTeam" />
         </a-tab-pane>
       </a-tabs>
 
     </a-col>
-    <depart-modal ref="departModal" @ok="loadTree"></depart-modal>
+    <depart-modal
+      ref="departModal"
+      @ok="loadTree"
+    ></depart-modal>
   </a-row>
 </template>
 <script>
-  import {mapActions} from 'vuex'
-  import DepartMModal from './modules/DepartModal'
-  import DepartModal from './modules/DepartList/DepartModal'
-  import {queryDepartTreeList, searchByKeywords, deleteByDepartId} from '@/api/api'
-  import {httpAction, deleteAction} from '@/api/manage'
-  import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-  import DepartAuthModal from './modules/DepartList/DepartAuthModal'
-  import DepartMAuthModal from './modules/DepartAuthModal'
+import { mapActions } from 'vuex'
+import DepartMModal from './modules/DepartModal'
+import DepartModal from './modules/DepartList/DepartModal'
+import { queryDepartTreeList, searchByKeywords, deleteByDepartId } from '@/api/api'
+import { httpAction, deleteAction } from '@/api/manage'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import DepartAuthModal from './modules/DepartList/DepartAuthModal'
+import DepartMAuthModal from './modules/DepartAuthModal'
+import DepartTeam from './modules/DepartList/DepartTeam'
 
-  // 琛ㄥご
-  const columns = [
-    {
-      title: '鏈烘瀯鍚嶇О',
-      dataIndex: 'departName'
-    },
-    {
-      title: '鏈烘瀯绫诲瀷',
-      align: 'center',
-      dataIndex: 'orgType'
-    },
-    {
-      title: '鏈烘瀯缂栫爜',
-      dataIndex: 'orgCode',
-    },
-    {
-      title: '鎵嬫満鍙�',
-      dataIndex: 'mobile'
-    },
-    {
-      title: '浼犵湡',
-      dataIndex: 'fax'
-    },
-    {
-      title: '鍦板潃',
-      dataIndex: 'address'
-    },
-    {
-      title: '鎺掑簭',
-      align: 'center',
-      dataIndex: 'departOrder'
-    },
-    {
-      title: '鎿嶄綔',
-      align: 'center',
-      dataIndex: 'action',
-      scopedSlots: {customRender: 'action'}
+// 琛ㄥご
+const columns = [
+  {
+    title: '鏈烘瀯鍚嶇О',
+    dataIndex: 'departName'
+  },
+  {
+    title: '鏈烘瀯绫诲瀷',
+    align: 'center',
+    dataIndex: 'orgType'
+  },
+  {
+    title: '鏈烘瀯缂栫爜',
+    dataIndex: 'orgCode',
+  },
+  {
+    title: '鎵嬫満鍙�',
+    dataIndex: 'mobile'
+  },
+  {
+    title: '浼犵湡',
+    dataIndex: 'fax'
+  },
+  {
+    title: '鍦板潃',
+    dataIndex: 'address'
+  },
+  {
+    title: '鎺掑簭',
+    align: 'center',
+    dataIndex: 'departOrder'
+  },
+  {
+    title: '鎿嶄綔',
+    align: 'center',
+    dataIndex: 'action',
+    scopedSlots: { customRender: 'action' }
+  }
+]
+export default {
+  name: 'DepartList',
+  mixins: [JeecgListMixin],
+  components: {
+    DepartAuthModal,
+    DepartModal,
+    DepartMModal,
+    DepartMAuthModal,
+    DepartTeam
+  },
+  data() {
+    return {
+      isDepartType: "",
+      iExpandedKeys: [],
+      loading: false,
+      autoExpandParent: true,
+      currFlowId: '',
+      currFlowName: '',
+      disable: true,
+      treeData: [],
+      visible: false,
+      departTree: [],
+      rightClickSelectedKey: '',
+      rightClickSelectedOrgCode: '',
+      hiding: true,
+      model: {},
+      dropTrigger: '',
+      depart: {},
+      columns: columns,
+      disableSubmit: false,
+      checkedKeys: [],
+      selectedKeys: [],
+      autoIncr: 1,
+      currSelected: {},
+      allTreeKeys: [],
+      checkStrictly: true,
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 }
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 }
+      },
+      graphDatasource: {
+        nodes: [],
+        edges: []
+      },
+      validatorRules: {
+        departName: [{ required: true, message: '璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О!' }],
+        orgCode: [{ required: true, message: '璇疯緭鍏ユ満鏋勭紪鐮�!' }],
+        orgCategory: [{ required: true, message: '璇疯緭鍏ユ満鏋勭被鍨�!' }],
+        mobile: [{ validator: this.validateMobile }]
+      },
+      url: {
+        delete: '/sys/sysDepart/delete',
+        edit: '/sys/sysDepart/edit',
+        deleteBatch: '/sys/sysDepart/deleteBatch',
+        exportXlsUrl: "sys/sysDepart/exportXls",
+        importExcelUrl: "sys/sysDepart/importExcel",
+      },
+      orgCategoryDisabled: false,
     }
-  ]
-  export default {
-    name: 'DepartList',
-    mixins: [JeecgListMixin],
-    components: {
-      DepartAuthModal,
-      DepartModal,
-      DepartMModal,
-      DepartMAuthModal
-    },
-    data() {
-      return {
-        isDepartType:"",
-        iExpandedKeys: [],
-        loading: false,
-        autoExpandParent: true,
-        currFlowId: '',
-        currFlowName: '',
-        disable: true,
-        treeData: [],
-        visible: false,
-        departTree: [],
-        rightClickSelectedKey: '',
-        rightClickSelectedOrgCode: '',
-        hiding: true,
-        model: {},
-        dropTrigger: '',
-        depart: {},
-        columns: columns,
-        disableSubmit: false,
-        checkedKeys: [],
-        selectedKeys: [],
-        autoIncr: 1,
-        currSelected: {},
-        allTreeKeys:[],
-        checkStrictly: true,
-        labelCol: {
-          xs: {span: 24},
-          sm: {span: 5}
-        },
-        wrapperCol: {
-          xs: {span: 24},
-          sm: {span: 16}
-        },
-        graphDatasource: {
-          nodes: [],
-          edges: []
-        },
-        validatorRules: {
-          departName: [{required: true, message: '璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О!'}],
-          orgCode: [{required: true, message: '璇疯緭鍏ユ満鏋勭紪鐮�!'}],
-          orgCategory:[{required: true, message: '璇疯緭鍏ユ満鏋勭被鍨�!'}],
-          mobile:[{validator: this.validateMobile}]
-        },
-        url: {
-          delete: '/sys/sysDepart/delete',
-          edit: '/sys/sysDepart/edit',
-          deleteBatch: '/sys/sysDepart/deleteBatch',
-          exportXlsUrl: "sys/sysDepart/exportXls",
-          importExcelUrl: "sys/sysDepart/importExcel",
-        },
-        orgCategoryDisabled:false,
-      }
-    },
-    computed: {
-      importExcelUrl: function () {
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-      }
-    },
-    methods: {
-      ...mapActions(['QueryDepartTree']),
-      queryTreeData() {
-        this.QueryDepartTree().then(res => {
-          if (res.success) {
-            this.isDepartType = res.result[0].value
-          } else {
-            // this.$message.warn(res.message)
-            this.$notification.warning({
-              message:'娑堟伅',
-              description:res.message
-            });
-          }
-        }).finally(() =>{
-        })
-      },
-      loadData() {
-        this.refresh();
-      },
-      loadTree() {
-        var that = this
-        that.treeData = []
-        that.departTree = []
-        queryDepartTreeList().then((res) => {
-          if (res.success) {
-            //閮ㄩ棬鍏ㄩ�夊悗锛屽啀娣诲姞閮ㄩ棬锛岄�変腑鏁伴噺澧炲
-            this.allTreeKeys = [];
-            for (let i = 0; i < res.result.length; i++) {
-              let temp = res.result[i]
-              that.treeData.push(temp)
-              that.departTree.push(temp)
-              that.setThisExpandedKeys(temp)
-              that.getAllKeys(temp);
-              // console.log(temp.id)
-            }
-            this.loading = false
-          }
-        })
-      },
-      setThisExpandedKeys(node) {
-        if (node.children && node.children.length > 0) {
-          this.iExpandedKeys.push(node.key)
-          for (let a = 0; a < node.children.length; a++) {
-            this.setThisExpandedKeys(node.children[a])
-          }
-        }
-      },
-      refresh() {
-        this.loading = true
-        this.loadTree()
-      },
-      // 鍙抽敭鎿嶄綔鏂规硶
-      rightHandle(node) {
-        this.dropTrigger = 'contextmenu'
-        console.log(node.node.eventKey)
-        this.rightClickSelectedKey = node.node.eventKey
-        this.rightClickSelectedOrgCode = node.node.dataRef.orgCode
-      },
-      onExpand(expandedKeys) {
-        console.log('onExpand', expandedKeys)
-        this.iExpandedKeys = expandedKeys
-        this.autoExpandParent = false
-      },
-      backFlowList() {
-        this.$router.back(-1)
-      },
-      // 鍙抽敭鐐瑰嚮涓嬫媺妗嗘敼鍙樹簨浠�
-      dropStatus(visible) {
-        if (visible == false) {
-          this.dropTrigger = ''
-        }
-      },
-      // 鍙抽敭涓嬫媺鍏抽棴涓嬫媺妗�
-      closeDrop() {
-        this.dropTrigger = ''
-      },
-      addRootNode() {
-        this.$refs.nodeModal.add(this.currFlowId, '')
-      },
-      batchDel: function () {
-        if (this.checkedKeys.length <= 0) {
-          // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒')
+  },
+  computed: {
+    importExcelUrl: function () {
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+    }
+  },
+  methods: {
+    ...mapActions(['QueryDepartTree']),
+    queryTreeData() {
+      this.QueryDepartTree().then(res => {
+        if (res.success) {
+          this.isDepartType = res.result[0].value
+        } else {
+          // this.$message.warn(res.message)
           this.$notification.warning({
-            message:'娑堟伅',
-            description:"璇烽�夋嫨涓�鏉¤褰�"
+            message: '娑堟伅',
+            description: res.message
           });
-        } else {
-          var ids = ''
-          for (var a = 0; a < this.checkedKeys.length; a++) {
-            ids += this.checkedKeys[a] + ','
+        }
+      }).finally(() => {
+      })
+    },
+    loadData() {
+      this.refresh();
+    },
+    loadTree() {
+      var that = this
+      that.treeData = []
+      that.departTree = []
+      queryDepartTreeList().then((res) => {
+        if (res.success) {
+          //閮ㄩ棬鍏ㄩ�夊悗锛屽啀娣诲姞閮ㄩ棬锛岄�変腑鏁伴噺澧炲
+          this.allTreeKeys = [];
+          for (let i = 0; i < res.result.length; i++) {
+            let temp = res.result[i]
+            that.treeData.push(temp)
+            that.departTree.push(temp)
+            that.setThisExpandedKeys(temp)
+            that.getAllKeys(temp);
+            // console.log(temp.id)
           }
-          var that = this
-          this.$confirm({
-            title: '纭鍒犻櫎',
-            content: '纭畾瑕佸垹闄ゆ墍閫変腑鐨� ' + this.checkedKeys.length + ' 鏉℃暟鎹紝浠ュ強瀛愯妭鐐规暟鎹悧?',
-            onOk: function () {
-              deleteAction(that.url.deleteBatch, {ids: ids}).then((res) => {
-                if (res.success) {
-                  // that.$message.success(res.message)
-                  that.$notification.warning({
-                    message:'娑堟伅',
-                    description:res.message
-                  });
-                  that.loadTree()
-                  that.onClearSelected()
-                } else {
-                  // that.$message.warning(res.message)
-                  that.$notification.warning({
-                    message:'娑堟伅',
-                    description:res.message
-                  });
-                }
-              })
-            }
-          })
+          this.loading = false
         }
-      },
-      onSearch(value) {
-        let that = this
-        if (value) {
-          searchByKeywords({keyWord: value}).then((res) => {
-            if (res.success) {
-              that.departTree = []
-              for (let i = 0; i < res.result.length; i++) {
-                let temp = res.result[i]
-                that.departTree.push(temp)
-              }
-            } else {
-              // that.$message.warning(res.message)
-              that.$notification.warning({
-                message:'娑堟伅',
-                description:res.message
-              });
-            }
-          })
-        } else {
-          that.loadTree()
+      })
+    },
+    setThisExpandedKeys(node) {
+      if (node.children && node.children.length > 0) {
+        this.iExpandedKeys.push(node.key)
+        for (let a = 0; a < node.children.length; a++) {
+          this.setThisExpandedKeys(node.children[a])
         }
-
-      },
-      nodeModalOk() {
-        this.loadTree()
-      },
-      nodeModalClose() {
-      },
-      hide() {
-        console.log(111)
-        this.visible = false
-      },
-      onCheck(checkedKeys, info) {
-        console.log('onCheck', checkedKeys, info)
-        this.hiding = false
-        //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
-        if(this.checkStrictly){
-          this.checkedKeys = checkedKeys.checked;
-        }else{
-          this.checkedKeys = checkedKeys
+      }
+    },
+    refresh() {
+      this.loading = true
+      this.loadTree()
+    },
+    // 鍙抽敭鎿嶄綔鏂规硶
+    rightHandle(node) {
+      this.dropTrigger = 'contextmenu'
+      console.log(node.node.eventKey)
+      this.rightClickSelectedKey = node.node.eventKey
+      this.rightClickSelectedOrgCode = node.node.dataRef.orgCode
+    },
+    onExpand(expandedKeys) {
+      console.log('onExpand', expandedKeys)
+      this.iExpandedKeys = expandedKeys
+      this.autoExpandParent = false
+    },
+    backFlowList() {
+      this.$router.back(-1)
+    },
+    // 鍙抽敭鐐瑰嚮涓嬫媺妗嗘敼鍙樹簨浠�
+    dropStatus(visible) {
+      if (visible == false) {
+        this.dropTrigger = ''
+      }
+    },
+    // 鍙抽敭涓嬫媺鍏抽棴涓嬫媺妗�
+    closeDrop() {
+      this.dropTrigger = ''
+    },
+    addRootNode() {
+      this.$refs.nodeModal.add(this.currFlowId, '')
+    },
+    batchDel: function () {
+      if (this.checkedKeys.length <= 0) {
+        // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒')
+        this.$notification.warning({
+          message: '娑堟伅',
+          description: "璇烽�夋嫨涓�鏉¤褰�"
+        });
+      } else {
+        var ids = ''
+        for (var a = 0; a < this.checkedKeys.length; a++) {
+          ids += this.checkedKeys[a] + ','
         }
-        //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
-      },
-      onSelect(selectedKeys, e) {
-        console.log('selected', selectedKeys, e)
-        this.hiding = false
-        let record = e.node.dataRef
-        console.log('onSelect-record', record)
-        this.currSelected = Object.assign({}, record)
-        this.model = this.currSelected
-        this.selectedKeys = [record.key]
-        this.model.parentId = record.parentId
-        this.setValuesToForm(record)
-        if(this.isDepartType == 0){
-          this.$refs.departAuth.show(record.id);
-        }
-
-        this.$refs.departMAuth.show(record.id)
-
-      },
-      // 瑙﹀彂onSelect浜嬩欢鏃�,涓洪儴闂ㄦ爲鍙充晶鐨刦orm琛ㄥ崟璧嬪��
-      setValuesToForm(record) {
-        if(record.orgCategory == '1'){
-          this.orgCategoryDisabled = true;
-        }else{
-          this.orgCategoryDisabled = false;
-        }
-      },
-      getCurrSelectedTitle() {
-        return !this.currSelected.title ? '' : this.currSelected.title
-      },
-      onClearSelected() {
-        this.hiding = true
-        this.checkedKeys = []
-        this.currSelected = {}
-        this.selectedKeys = []
-        if(this.isDepartType == 0){
-          this.$refs.departAuth.departId = ''
-
-        }
-        this.$refs.departMAuth.departId = ''
-      },
-      handleNodeTypeChange(val) {
-        this.currSelected.nodeType = val
-      },
-      notifyTriggerTypeChange(value) {
-        this.currSelected.notifyTriggerType = value
-      },
-      receiptTriggerTypeChange(value) {
-        this.currSelected.receiptTriggerType = value
-      },
-      submitCurrForm() {
-        this.$refs.form.validate(valid => {
-          if (valid) {
-            if (!this.currSelected.id) {
-              // this.$message.warning('璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�!')
-              this.$notification.warning({
-                message:'娑堟伅',
-                description:"璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�"
-              });
-              return
-            }
-
-            httpAction(this.url.edit, this.currSelected, 'put').then((res) => {
-              if (res.success) {
-                // this.$message.success('淇濆瓨鎴愬姛!')
-                this.$notification.warning({
-                  message:'娑堟伅',
-                  description:"淇濆瓨鎴愬姛"
-                });
-                this.loadTree()
-              } else {
-                // this.$message.error(res.message)
-                this.$notification.warning({
-                  message:'娑堟伅',
-                  description:res.message
-                });
-              }
-            })
-          }
-        })
-      },
-      emptyCurrForm() {
-        this.$refs.form.resetFields();
-        this.model={}
-      },
-      nodeSettingFormSubmit() {
-        this.$refs.form.validate(valid => {
-          if (valid) {
-            console.log('Received values of form: ', this.model)
-          }
-        })
-      },
-      openSelect() {
-        this.$refs.sysDirectiveModal.show()
-      },
-      handleAdd(num) {
-        if (num == 1) {
-          this.$refs.departModal.add()
-          this.$refs.departModal.title = '鏂板'
-        } else if (num == 2) {
-          console.log(this.currSelected)
-          let key = this.currSelected.key
-          if (!key) {
-            this.$message.warning('璇峰厛鐐瑰嚮閫変腑涓婄骇閮ㄩ棬锛�')
-            return false
-          }
-          this.$refs.departModal.add(this.selectedKeys)
-          this.$refs.departModal.title = '鏂板'
-        } else {
-          this.$refs.departModal.add(this.rightClickSelectedKey)
-          this.$refs.departModal.title = '鏂板'
-        }
-      },
-      handleDelete() {
         var that = this
         this.$confirm({
           title: '纭鍒犻櫎',
-          content: '纭畾瑕佸垹闄ゆ閮ㄩ棬浠ュ強瀛愯妭鐐规暟鎹悧?',
+          content: '纭畾瑕佸垹闄ゆ墍閫変腑鐨� ' + this.checkedKeys.length + ' 鏉℃暟鎹紝浠ュ強瀛愯妭鐐规暟鎹悧?',
           onOk: function () {
-            deleteByDepartId({id: that.rightClickSelectedKey}).then((resp) => {
-              if (resp.success) {
-                //鍒犻櫎鎴愬姛鍚庯紝鍘婚櫎宸查�変腑涓殑鏁版嵁
-                that.checkedKeys.splice(that.checkedKeys.findIndex(key => key === that.rightClickSelectedKey), 1);
-                that.$message.success('鍒犻櫎鎴愬姛!')
+            deleteAction(that.url.deleteBatch, { ids: ids }).then((res) => {
+              if (res.success) {
+                // that.$message.success(res.message)
+                that.$notification.warning({
+                  message: '娑堟伅',
+                  description: res.message
+                });
                 that.loadTree()
-                //鍒犻櫎鍚庡悓姝ユ竻绌哄彸渚у熀鏈俊鎭唴瀹�
-                let orgCode=that.model.orgCode;
-                if(orgCode && orgCode === that.rightClickSelectedOrgCode){
-                  that.onClearSelected()
-                }
+                that.onClearSelected()
               } else {
-                that.$message.warning('鍒犻櫎澶辫触!')
+                // that.$message.warning(res.message)
+                that.$notification.warning({
+                  message: '娑堟伅',
+                  description: res.message
+                });
               }
             })
           }
         })
-      },
-      selectDirectiveOk(record) {
-        console.log('閫変腑鎸囦护鏁版嵁', record)
-        this.nodeSettingForm.setFieldsValue({directiveCode: record.directiveCode})
-        this.currSelected.sysCode = record.sysCode
-      },
-      getFlowGraphData(node) {
-        this.graphDatasource.nodes.push({
-          id: node.id,
-          text: node.flowNodeName
+      }
+    },
+    onSearch(value) {
+      let that = this
+      if (value) {
+        searchByKeywords({ keyWord: value }).then((res) => {
+          if (res.success) {
+            that.departTree = []
+            for (let i = 0; i < res.result.length; i++) {
+              let temp = res.result[i]
+              that.departTree.push(temp)
+            }
+          } else {
+            // that.$message.warning(res.message)
+            that.$notification.warning({
+              message: '娑堟伅',
+              description: res.message
+            });
+          }
         })
-        if (node.children.length > 0) {
-          for (let a = 0; a < node.children.length; a++) {
-            let temp = node.children[a]
-            this.graphDatasource.edges.push({
-              source: node.id,
-              target: temp.id
-            })
-            this.getFlowGraphData(temp)
-          }
-        }
-      },
+      } else {
+        that.loadTree()
+      }
+
+    },
+    nodeModalOk() {
+      this.loadTree()
+    },
+    nodeModalClose() {
+    },
+    hide() {
+      console.log(111)
+      this.visible = false
+    },
+    onCheck(checkedKeys, info) {
+      console.log('onCheck', checkedKeys, info)
+      this.hiding = false
       //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
-      expandAll () {
-        this.iExpandedKeys = this.allTreeKeys
-      },
-      closeAll () {
-        this.iExpandedKeys = []
-      },
-      checkALL () {
-        this.checkStriccheckStrictlytly = false
-        this.checkedKeys = this.allTreeKeys
-      },
-      cancelCheckALL () {
-        //this.checkedKeys = this.defaultCheckedKeys
-        this.checkedKeys = []
-      },
-      switchCheckStrictly (v) {
-        if(v==1){
-          this.checkStrictly = false
-        }else if(v==2){
-          this.checkStrictly = true
-        }
-      },
-      getAllKeys(node) {
-        // console.log('node',node);
-        this.allTreeKeys.push(node.key)
-        if (node.children && node.children.length > 0) {
-          for (let a = 0; a < node.children.length; a++) {
-            this.getAllKeys(node.children[a])
-          }
-        }
+      if (this.checkStrictly) {
+        this.checkedKeys = checkedKeys.checked;
+      } else {
+        this.checkedKeys = checkedKeys
       }
       //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
+    },
+    onSelect(selectedKeys, e) {
+      console.log('selected', selectedKeys, e)
+      this.hiding = false
+      let record = e.node.dataRef
+      console.log('onSelect-record', record)
+      this.currSelected = Object.assign({}, record)
+      this.model = this.currSelected
+      this.selectedKeys = [record.key]
+      this.model.parentId = record.parentId
+      this.setValuesToForm(record)
+      if (this.isDepartType == 0) {
+        this.$refs.departAuth.show(record.id);
+        this.$refs.departTeam.show(record.id);
+      }
+
+      this.$refs.departMAuth.show(record.id)
 
     },
-    created() {
-      this.queryTreeData()
-      this.currFlowId = this.$route.params.id
-      this.currFlowName = this.$route.params.name
-      // this.loadTree()
+    // 瑙﹀彂onSelect浜嬩欢鏃�,涓洪儴闂ㄦ爲鍙充晶鐨刦orm琛ㄥ崟璧嬪��
+    setValuesToForm(record) {
+      if (record.orgCategory == '1') {
+        this.orgCategoryDisabled = true;
+      } else {
+        this.orgCategoryDisabled = false;
+      }
     },
+    getCurrSelectedTitle() {
+      return !this.currSelected.title ? '' : this.currSelected.title
+    },
+    onClearSelected() {
+      this.hiding = true
+      this.checkedKeys = []
+      this.currSelected = {}
+      this.selectedKeys = []
+      if (this.isDepartType == 0) {
+        this.$refs.departAuth.departId = ''
+        this.$refs.departTeam.departId = ''
+      }
+      this.$refs.departMAuth.departId = ''
+    },
+    handleNodeTypeChange(val) {
+      this.currSelected.nodeType = val
+    },
+    notifyTriggerTypeChange(value) {
+      this.currSelected.notifyTriggerType = value
+    },
+    receiptTriggerTypeChange(value) {
+      this.currSelected.receiptTriggerType = value
+    },
+    submitCurrForm() {
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          if (!this.currSelected.id) {
+            // this.$message.warning('璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�!')
+            this.$notification.warning({
+              message: '娑堟伅',
+              description: "璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�"
+            });
+            return
+          }
 
-  }
+          httpAction(this.url.edit, this.currSelected, 'put').then((res) => {
+            if (res.success) {
+              // this.$message.success('淇濆瓨鎴愬姛!')
+              this.$notification.warning({
+                message: '娑堟伅',
+                description: "淇濆瓨鎴愬姛"
+              });
+              this.loadTree()
+            } else {
+              // this.$message.error(res.message)
+              this.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              });
+            }
+          })
+        }
+      })
+    },
+    emptyCurrForm() {
+      this.$refs.form.resetFields();
+      this.model = {}
+    },
+    nodeSettingFormSubmit() {
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          console.log('Received values of form: ', this.model)
+        }
+      })
+    },
+    openSelect() {
+      this.$refs.sysDirectiveModal.show()
+    },
+    handleAdd(num) {
+      if (num == 1) {
+        this.$refs.departModal.add()
+        this.$refs.departModal.title = '鏂板'
+      } else if (num == 2) {
+        console.log(this.currSelected)
+        let key = this.currSelected.key
+        if (!key) {
+          this.$message.warning('璇峰厛鐐瑰嚮閫変腑涓婄骇閮ㄩ棬锛�')
+          return false
+        }
+        this.$refs.departModal.add(this.selectedKeys)
+        this.$refs.departModal.title = '鏂板'
+      } else {
+        this.$refs.departModal.add(this.rightClickSelectedKey)
+        this.$refs.departModal.title = '鏂板'
+      }
+    },
+    handleDelete() {
+      var that = this
+      this.$confirm({
+        title: '纭鍒犻櫎',
+        content: '纭畾瑕佸垹闄ゆ閮ㄩ棬浠ュ強瀛愯妭鐐规暟鎹悧?',
+        onOk: function () {
+          deleteByDepartId({ id: that.rightClickSelectedKey }).then((resp) => {
+            if (resp.success) {
+              //鍒犻櫎鎴愬姛鍚庯紝鍘婚櫎宸查�変腑涓殑鏁版嵁
+              that.checkedKeys.splice(that.checkedKeys.findIndex(key => key === that.rightClickSelectedKey), 1);
+              that.$message.success('鍒犻櫎鎴愬姛!')
+              that.loadTree()
+              //鍒犻櫎鍚庡悓姝ユ竻绌哄彸渚у熀鏈俊鎭唴瀹�
+              let orgCode = that.model.orgCode;
+              if (orgCode && orgCode === that.rightClickSelectedOrgCode) {
+                that.onClearSelected()
+              }
+            } else {
+              that.$message.warning('鍒犻櫎澶辫触!')
+            }
+          })
+        }
+      })
+    },
+    selectDirectiveOk(record) {
+      console.log('閫変腑鎸囦护鏁版嵁', record)
+      this.nodeSettingForm.setFieldsValue({ directiveCode: record.directiveCode })
+      this.currSelected.sysCode = record.sysCode
+    },
+    getFlowGraphData(node) {
+      this.graphDatasource.nodes.push({
+        id: node.id,
+        text: node.flowNodeName
+      })
+      if (node.children.length > 0) {
+        for (let a = 0; a < node.children.length; a++) {
+          let temp = node.children[a]
+          this.graphDatasource.edges.push({
+            source: node.id,
+            target: temp.id
+          })
+          this.getFlowGraphData(temp)
+        }
+      }
+    },
+    //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
+    expandAll() {
+      this.iExpandedKeys = this.allTreeKeys
+    },
+    closeAll() {
+      this.iExpandedKeys = []
+    },
+    checkALL() {
+      this.checkStriccheckStrictlytly = false
+      this.checkedKeys = this.allTreeKeys
+    },
+    cancelCheckALL() {
+      //this.checkedKeys = this.defaultCheckedKeys
+      this.checkedKeys = []
+    },
+    switchCheckStrictly(v) {
+      if (v == 1) {
+        this.checkStrictly = false
+      } else if (v == 2) {
+        this.checkStrictly = true
+      }
+    },
+    getAllKeys(node) {
+      // console.log('node',node);
+      this.allTreeKeys.push(node.key)
+      if (node.children && node.children.length > 0) {
+        for (let a = 0; a < node.children.length; a++) {
+          this.getAllKeys(node.children[a])
+        }
+      }
+    }
+    //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
+
+  },
+  created() {
+    this.queryTreeData()
+    this.currFlowId = this.$route.params.id
+    this.currFlowName = this.$route.params.name
+    // this.loadTree()
+  },
+
+}
 </script>
 <style scoped>
-  .ant-card-body .table-operator {
-    margin: 15px;
-  }
+.ant-card-body .table-operator {
+  margin: 15px;
+}
 
-  .anty-form-btn {
-    width: 100%;
-    text-align: center;
-  }
+.anty-form-btn {
+  width: 100%;
+  text-align: center;
+}
 
-  .anty-form-btn button {
-    margin: 0 5px;
-  }
+.anty-form-btn button {
+  margin: 0 5px;
+}
 
-  .anty-node-layout .ant-layout-header {
-    padding-right: 0
-  }
+.anty-node-layout .ant-layout-header {
+  padding-right: 0;
+}
 
-  .header {
-    padding: 0 8px;
-  }
+.header {
+  padding: 0 8px;
+}
 
-  .header button {
-    margin: 0 3px
-  }
+.header button {
+  margin: 0 3px;
+}
 
-  .ant-modal-cust-warp {
-    height: 100%
-  }
+.ant-modal-cust-warp {
+  height: 100%;
+}
 
-  .ant-modal-cust-warp .ant-modal-body {
-    height: calc(100% - 110px) !important;
-    overflow-y: auto
-  }
+.ant-modal-cust-warp .ant-modal-body {
+  height: calc(100% - 110px) !important;
+  overflow-y: auto;
+}
 
-  .ant-modal-cust-warp .ant-modal-content {
-    height: 90% !important;
-    overflow-y: hidden
-  }
+.ant-modal-cust-warp .ant-modal-content {
+  height: 90% !important;
+  overflow-y: hidden;
+}
 
-  #app .desktop {
-    height: auto !important;
-  }
+#app .desktop {
+  height: auto !important;
+}
 
-  /** Button鎸夐挳闂磋窛 */
-  .ant-btn {
-    margin-left: 3px
-  }
+/** Button鎸夐挳闂磋窛 */
+.ant-btn {
+  margin-left: 3px;
+}
 
-  .drawer-bootom-button {
-    /*position: absolute;*/
-    bottom: 0;
-    width: 100%;
-    border-top: 1px solid #e8e8e8;
-    padding: 10px 16px;
-    text-align: left;
-    left: 0;
-    background: #fff;
-    border-radius: 0 0 2px 2px;
-  }
+.drawer-bootom-button {
+  /*position: absolute;*/
+  bottom: 0;
+  width: 100%;
+  border-top: 1px solid #e8e8e8;
+  padding: 10px 16px;
+  text-align: left;
+  left: 0;
+  background: #fff;
+  border-radius: 0 0 2px 2px;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3