Procházet zdrojové kódy

reactor:流程调整;

zhangchong před 1 rokem
rodič
revize
d464e6d427
1 změnil soubory, kde provedl 16 přidání a 2 odebrání
  1. 16 2
      src/components/LogicFlow/PropertySetting/task.vue

+ 16 - 2
src/components/LogicFlow/PropertySetting/task.vue

@@ -15,7 +15,7 @@
       <!--   如果是节点类型为汇总节点  需要选择汇总目标节点   -->
       <el-form-item label="汇总目标节点" prop="summaryTargetCode" :rules="[{ required: true, message: '请选择汇总目标节点', trigger: 'change' }]" v-if="form.stepType === 3">
         <el-select v-model="form.summaryTargetCode" class="w100" placeholder="请选择汇总目标节点">
-          <el-option v-for="item in summaryTargetCodeOptions" :key="item.key" :label="item.value" :value="item.key" />
+          <el-option v-for="item in summaryTargetCodeOptions" :key="item.key" :label="item.value" :value="item.key" :disabled="item.disabled"/>
         </el-select>
       </el-form-item>
 			<el-form-item label="业务类型" prop="businessType" :rules="[{ required: true, message: '请选择业务类型', trigger: 'change' }]">
@@ -288,7 +288,21 @@ onMounted(async () => {
 		props.baseData;
   // 筛选出节点中的普通节点
   summaryTargetCodeOptions.value = props.nodes.map((item: any) => ({ key: item.id, value: item.text.value,...item.properties })).filter((item: any) => item.stepType === 0);
-	baseData.businessTypeOptions = businessTypeOptions; // 业务类型
+  // 筛选出节点中的汇总节点
+  const summaryTargetCode = props.nodes.map((item: any) => ({ key: item.id, value: item.text.value,...item.properties })).filter((item: any) => item.stepType === 3);
+  // 如果其他节点已经汇总了当前节点那么当前节点不能再汇总
+  summaryTargetCode.forEach((item: any) => {
+    summaryTargetCodeOptions.value = summaryTargetCodeOptions.value.map((v: any) => {
+      if (v.key === item.summaryTargetCode) {
+        return {
+          ...v,
+          disabled: true
+        }
+      }
+      return v;
+    })
+  })
+  baseData.businessTypeOptions = businessTypeOptions; // 业务类型
 	baseData.stepTypeOptions = stepTypeOptions; // 节点类型
 	baseData.handlerTypeOptions = handlerTypeOptions; // 办理者类型
 	baseData.executeModeOptions = executeModeOptions; // 执行模式