lex-xin 2 місяців тому
батько
коміт
987488a407

+ 2 - 1
src/store/modules/getDataList.js

@@ -5,7 +5,8 @@ const loadings = {};
 // ];
 const filterOrganId = [
   1, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25,
-  26, 27, 28, 34, 37, 40, 71, 72, 124, 125, 134
+  26, 27, 28, 34, 37, 40, 71, 72, 123, 124, 125, 128, 134, 148, 147, 127, 139,
+  151, 36, 149, 152, 153,
 ];
 const state = {
   allBranch: [],

+ 54 - 5
src/views/process/admin/process-manager.vue

@@ -26,7 +26,7 @@
         <el-form-item label="可用分部">
           <el-select v-model="listQuery.orgId" clearable @change="getList">
             <el-option
-              v-for="item in organList"
+              v-for="item in organSearchList"
               :label="item.name"
               :value="item.id"
               :key="item.id"
@@ -405,12 +405,14 @@
                   class="select"
                   collapse-tags
                   ref="select"
+                  @change="handleOrganChange"
                 >
                   <el-option
-                    v-for="item in organList"
+                    v-for="item in organSearchList"
                     :label="item.name"
                     :value="item.id"
                     :key="item.id"
+                    :disabled="item.disabled"
                   ></el-option>
                 </el-select>
                 <el-button class="btn" @click="selectAll">全选</el-button>
@@ -518,7 +520,9 @@ export default {
       },
       openOrgin: false,
       tenantId: 1,
+      organSearchList: [], // 只是搜索使用
       organList: [],
+      organSetList: [], // 只是设置使用
       ruleOrganForm: {
         id: null,
         orgIds: [],
@@ -904,29 +908,74 @@ export default {
       queryAllToOrgan({ tenantId: this.tenantId }).then((res) => {
         if (res.code == 200) {
           const result = res.data;
-          let filterOrganId = [
+          const filterOrganId = [
             1, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
-            22, 23, 25, 26, 27, 28, 34, 37, 40, 71, 72, 124, 125, 128, 134
+            22, 23, 25, 26, 27, 28, 34, 37, 40, 71, 72, 123, 124, 125, 128, 134,
+            148, 147, 127, 139, 151, 36, 149, 152, 153,
+          ];
+
+          // 搜索的分部
+          const filterSearchOrganId = [
+            148, 147, 127, 151, 36, 149, 152, 16, 1, 40, 15, 23, 28, 17, 6, 8,
+            13, 134, 139, 153,
           ];
 
           let tempOrgan = [];
+          let tempSearchOrgan = [];
           // 过滤不会显示的分部
           result.forEach((item) => {
             if (filterOrganId.includes(item.id)) {
               tempOrgan.push(item);
             }
+            if (filterSearchOrganId.includes(item.id)) {
+              tempSearchOrgan.push(item);
+            }
           });
           this.organList = tempOrgan;
+          this.organSearchList = tempSearchOrgan;
         }
       });
     },
     handleSetting(row) {
       this.ruleOrganForm.id = row.id;
-      this.ruleOrganForm.orgIds = row.org_ids
+      const ids = row.org_ids
         ? row.org_ids.split(",").map((item) => Number(item))
         : [];
+
+      const tempOrganSet = [...this.organSearchList];
+      const lastIds = []
+      tempOrganSet.forEach((item) => {
+        if(ids.includes(item.id)){
+          lastIds.push(item.id)
+        }
+      });
+
+      tempOrganSet.sort((a, b) => {
+        return a.id - b.id;
+      });
+
+      this.ruleOrganForm.orgIds = lastIds;
+      this.organSetList = tempOrganSet;
+
       this.openOrgin = true;
     },
+    handleOrganChange(val) {
+      // console.log(val)
+      // const tempOrganSet = [...this.organSetList];
+      // tempOrganSet.forEach((item) => {
+      //   if (!val.includes(item.id)) {
+      //     const index = this.organSearchList.findIndex((tempItem) => {
+      //       return tempItem.id === item.id;
+      //     });
+      //     if (index === -1) {
+      //       item.disabled = true;
+      //     } else {
+      //       item.disabled = false;
+      //     }
+      //   }
+      // })
+      // this.organSetList = tempOrganSet;
+    },
     setOrgIdsForm(formName) {
       this.$refs[formName].validate(async (valid) => {
         if (valid) {

+ 3 - 2
src/views/process/list/create.vue

@@ -243,8 +243,9 @@ export default {
             filterOrganId = [4];
           } else {
             filterOrganId = [
-              1, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
-              22, 23, 25, 26, 27, 28, 34, 37, 40, 71, 72, 123, 124, 125, 128, 134
+              // 1, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+              // 22, 23, 25, 26, 27, 28, 34, 37, 40, 71, 72, 123, 124, 125, 128, 134
+              148, 147, 127, 151, 36, 149, 152, 16, 1, 40, 15, 23, 28, 17, 6, 8, 13, 134, 139, 153
             ];
           }
 

+ 2 - 1
src/views/process/list/handle.vue

@@ -1058,7 +1058,8 @@ export default {
           } else {
             filterOrganId = [
               1, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
-              22, 23, 25, 26, 27, 28, 34, 37, 40, 71, 72, 123, 124, 125, 128, 134
+              22, 23, 25, 26, 27, 28, 34, 37, 40, 71, 72, 123, 124, 125, 128, 134,
+              148, 147, 127, 139, 151, 36, 149, 152, 153
             ];
           }