Просмотр исходного кода

流程任务分配规则优化:新增部门负责人层级配置并重构选项渲染逻辑

yusheng 9 месяцев назад
Родитель
Сommit
31e1f8ed1a

+ 11 - 2
src/components/processSubmitDialog/processSubmitDialog.vue

@@ -97,7 +97,7 @@
           min-width="140px"
           min-width="140px"
         >
         >
           <template v-slot="scope">
           <template v-slot="scope">
-            <div v-if="scope.row.type !== 60 && scope.row.options.length > 0">
+            <div v-if="scope.row.type !== 60 &&scope.row.type !== 70 && scope.row.options.length > 0">
               <el-tag
               <el-tag
                 size="medium"
                 size="medium"
                 :key="option"
                 :key="option"
@@ -107,7 +107,7 @@
               </el-tag>
               </el-tag>
             </div>
             </div>
 
 
-            <el-tag size="medium" v-if="scope.row.type === 60">
+            <el-tag size="medium" v-if="scope.row.type === 60|| scope.row.type ===70">
               {{ getAssignRuleOptionName(scope.row) }}
               {{ getAssignRuleOptionName(scope.row) }}
             </el-tag>
             </el-tag>
           </template>
           </template>
@@ -371,6 +371,15 @@
           );
           );
         } else if (row.type === 60) {
         } else if (row.type === 60) {
           return row.variableName;
           return row.variableName;
+        }else if (row.type === 70) {
+          let data = JSON.parse(row.variableName);
+          if (data.direction == 1) {
+            return topLevel1.find((item) => item.value == data.topLevel)
+              ?.label;
+          } else {
+            return topLevel2.find((item) => item.value == data.topLevel)
+              ?.label;
+          }
         }
         }
         return '未知(' + option + ')';
         return '未知(' + option + ')';
       },
       },

+ 79 - 2
src/enum/dict.js

@@ -72,8 +72,8 @@ export default {
   产地: 'purchase_origin',
   产地: 'purchase_origin',
   文档类型: 'doc_type',
   文档类型: 'doc_type',
   存货类型: 'inventory_type',
   存货类型: 'inventory_type',
-  物品机型:'product_model_key',
-  物品颜色:'product_color_key'
+  物品机型: 'product_model_key',
+  物品颜色: 'product_color_key'
 };
 };
 
 
 export const numberList = [
 export const numberList = [
@@ -307,3 +307,80 @@ export const businessModule = [
     value: 'datascreen_'
     value: 'datascreen_'
   }
   }
 ];
 ];
+
+export const topLevel1 = [
+  {
+    label: '直接部门负责人',
+    value: '1'
+  },
+  {
+    label: '上二级部门负责人',
+    value: '2'
+  },
+  {
+    label: '上三级部门负责人',
+    value: '3'
+  },
+  {
+    label: '上四级部门负责人',
+    value: '4'
+  },
+  {
+    label: '上五级部门负责人',
+    value: '5'
+  },
+  {
+    label: '上六级部门负责人',
+    value: '6'
+  },
+  {
+    label: '上七级部门负责人',
+    value: '7'
+  },
+  {
+    label: '上八级部门负责人',
+    value: '8'
+  },
+  {
+    label: '上九级部门负责人',
+    value: '9'
+  }
+];
+export const topLevel2 = [
+  {
+    label: '最高级部门负责人',
+    value: '99'
+  },
+  {
+    label: '第二层部门负责人',
+    value: '2'
+  },
+  {
+    label: '第三层部门负责人',
+    value: '3'
+  },
+  {
+    label: '第四层部门负责人',
+    value: '4'
+  },
+  {
+    label: '第五层部门负责人',
+    value: '5'
+  },
+  {
+    label: '第六层部门负责人',
+    value: '6'
+  },
+  {
+    label: '第七层部门负责人',
+    value: '7'
+  },
+  {
+    label: '第八层部门负责人',
+    value: '8'
+  },
+  {
+    label: '第九层部门负责人',
+    value: '9'
+  }
+];

+ 18 - 22
src/views/bpm/taskAssignRule/taskAssignRuleDialog.vue

@@ -240,15 +240,13 @@
             clearable
             clearable
             style="width: 100%"
             style="width: 100%"
           >
           >
-            <el-option key="1" label="直接部门负责人" value="1" />
-            <el-option key="2" label="上二级部门负责人" value="2" />
-            <el-option key="3" label="上三级部门负责人" value="3" />
-            <el-option key="4" label="上四级部门负责人" value="4" />
-            <el-option key="5" label="上五级部门负责人" value="5" />
-            <el-option key="6" label="上六级部门负责人" value="6" />
-            <el-option key="7" label="上七级部门负责人" value="7" />
-            <el-option key="8" label="上八级部门负责人" value="8" />
-            <el-option key="9" label="上九级部门负责人" value="9" />
+            <el-option
+              v-for="(item, index) in topLevel1"
+
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            />
           </el-select>
           </el-select>
           <el-select
           <el-select
             v-else
             v-else
@@ -256,15 +254,12 @@
             clearable
             clearable
             style="width: 100%"
             style="width: 100%"
           >
           >
-            <el-option key="99" label="最高级部门负责人" value="99" />
-            <el-option key="2" label="第二层部门负责人" value="2" />
-            <el-option key="3" label="第三层部门负责人" value="3" />
-            <el-option key="4" label="第四层部门负责人" value="4" />
-            <el-option key="5" label="第五层部门负责人" value="5" />
-            <el-option key="6" label="第六层部门负责人" value="6" />
-            <el-option key="7" label="第七层部门负责人" value="7" />
-            <el-option key="8" label="第八层部门负责人" value="8" />
-            <el-option key="9" label="第九层部门负责人" value="9" />
+            <el-option
+              v-for="(item, index) in topLevel2"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            />
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item
         <el-form-item
@@ -314,6 +309,7 @@
   } from '@/api/system/organization';
   } from '@/api/system/organization';
   // import {listSimplePosts} from "@/api/system/post";
   // import {listSimplePosts} from "@/api/system/post";
   import { listSimpleUserGroups } from '@/api/bpm/userGroup';
   import { listSimpleUserGroups } from '@/api/bpm/userGroup';
+  import { topLevel1, topLevel1 } from '@/enum/dict';
 
 
   import treeSelect from '@riophae/vue-treeselect';
   import treeSelect from '@riophae/vue-treeselect';
   import '@riophae/vue-treeselect/dist/vue-treeselect.css';
   import '@riophae/vue-treeselect/dist/vue-treeselect.css';
@@ -334,6 +330,7 @@
       };
       };
 
 
       return {
       return {
+        topLevel1,topLevel1,
         // 如下参数,可传递
         // 如下参数,可传递
         modelId: undefined, // 流程模型的编号。如果 modelId 非空,则用于流程模型的查看与配置
         modelId: undefined, // 流程模型的编号。如果 modelId 非空,则用于流程模型的查看与配置
         processDefinitionId: undefined, // 流程定义的编号。如果 processDefinitionId 非空,则用于流程定义的查看,不支持配置
         processDefinitionId: undefined, // 流程定义的编号。如果 processDefinitionId 非空,则用于流程定义的查看,不支持配置
@@ -660,12 +657,11 @@
               ...this.form,
               ...this.form,
               taskDefinitionName: undefined
               taskDefinitionName: undefined
             };
             };
-        
+
             // 将 roleIds 等选项赋值到 options 中
             // 将 roleIds 等选项赋值到 options 中
             if (form.ccType === 10) {
             if (form.ccType === 10) {
               form.ccOptions = form.roleIds;
               form.ccOptions = form.roleIds;
-              console.log( form.ccOptions)
-           
+              console.log(form.ccOptions);
             } else if (form.ccType === 20 || form.ccType === 21) {
             } else if (form.ccType === 20 || form.ccType === 21) {
               form.ccOptions = form.deptIds;
               form.ccOptions = form.deptIds;
             } else if (form.ccType === 22) {
             } else if (form.ccType === 22) {
@@ -689,7 +685,7 @@
             form.scripts = undefined;
             form.scripts = undefined;
             form.direction = undefined;
             form.direction = undefined;
             form.topLevel = undefined;
             form.topLevel = undefined;
-            console.log( form)
+            console.log(form);
             // 新增
             // 新增
             if (!form.id) {
             if (!form.id) {
               form.modelId = this.modelId; // 模型编号
               form.modelId = this.modelId; // 模型编号