Ver Fonte

1.资产业务流程分叉节点调整从撰写报告调整为资产报告取号

GouGengquan há 2 meses atrás
pai
commit
bdf692a97f
1 ficheiros alterados com 57 adições e 16 exclusões
  1. 57 16
      src/views/assets/orderDetail.vue

+ 57 - 16
src/views/assets/orderDetail.vue

@@ -409,6 +409,16 @@
                   <el-button type="success" @click="takeAssetsReportProductionNo('REPORT')" round>报告取号</el-button>
                 </el-tooltip>
               </el-col>
+              <el-col :span="8" v-if="currentNode.nodeCode === 'ASSET_REPORT_TAKE_NO' && couldEdit">
+                <div style="color: red;">
+                  选择要提交的报告号:
+                    <el-select v-model="commitProductionNo" @change="pushProductionNo()" placeholder="请选择要提交的报告号"
+                      style="width: 300px;">
+                      <el-option v-for="(target, reportNo) in filteredTargetData" v-if="target.reportNo"
+                        :label="target.reportNo" :value="target.reportNo" :key="target.id"></el-option>
+                    </el-select>
+                </div>
+              </el-col>
               <el-col :span="2" v-if="(currentNode.nodeCode === 'GENERATE_STATEMENT' && writeProductionStatementNos.length > 0)
                 || (currentNode.nodeCode === 'WRITE_REPORT' && writeProductionReportNos.length > 0)
                 && couldEdit">
@@ -538,14 +548,6 @@
                   :label="pro.productionNo" :value="pro.productionNo" :key="pro.id"></el-option>
               </el-select>
             </div>
-            <div style="margin-top: 30px; color: red;" v-if="currentNode.nodeCode === 'WRITE_REPORT' && couldEdit">
-              选择要提交的报告:
-              <el-select v-model="commitProductionNo" @change="pushProductionNo()" placeholder="请选择要提交的产品"
-                style="width: 300px;">
-                <el-option v-for="(pro, productionNo) in assetsProductionData" v-if="pro.productionType !== 'STATEMENT'"
-                  :label="pro.productionNo" :value="pro.productionNo" :key="pro.id"></el-option>
-              </el-select>
-            </div>
             <div style="margin-top: 30px;">
               <span v-if="currentNode.nodeCode === 'STATEMENT_BOOKBINDING_STAMP'">
                 <span v-for="pro in assetsProductionData" :key="pro.id" style="color: red;">
@@ -1932,6 +1934,23 @@ export default {
       targetListLoading: false
     }
   },
+  computed: {
+      filteredTargetData() {
+          const uniqueReportNos = new Set();
+          return this.assetsEvaluationTarget.filter(item => {
+              // 去除 name 属性为空的对象
+              if (item.reportNo === '') {
+                  return false;
+              }
+              // 去重逻辑
+              if (uniqueReportNos.has(item.reportNo)) {
+                  return false;
+              }
+              uniqueReportNos.add(item.id);
+              return true;
+          });
+      }
+  },
   created() {
     // 获取页面参数
     this.pageParams.back = this.$route.query.back;
@@ -2056,10 +2075,32 @@ export default {
             }
             break;
           case 'ASSET_REPORT_TAKE_NO':
-            if (this.assetsEvaluationTarget.some(item => !item.reportNo)) {
+            // if (this.assetsEvaluationTarget.some(item => !item.reportNo)) {
+            //   this.$notify({
+            //     title: '提示',
+            //     message: '还有评估对象未取号,请先完成取号再提交。',
+            //     type: 'error',
+            //     duration: 3000
+            //   });
+            //   verify.state = false;
+            //   callback(verify);
+            //   return;
+            // }
+            if (typeof (commit.businessMinId) == 'undefined' || commit.businessMinId == null || commit.ifCheckTask == null) {
+              this.$notify({
+                title: '提示',
+                message: '未选择要提交的产品号,请选择后进行提交。',
+                type: 'error',
+                duration: 3000
+              });
+              verify.state = false;
+              callback(verify);
+              return;
+            }
+            if (this.proInatanceCount > 0) {
               this.$notify({
                 title: '提示',
-                message: '还有评估对象未取号,请先完成取号再提交。',
+                message: '该产品已提交相应流程,不可重复提交。',
                 type: 'error',
                 duration: 3000
               });
@@ -2789,7 +2830,7 @@ export default {
     },
     // 资产产品意见书取号
     takeAssetsStatementProductionNo() {
-      this.takeAssetsProductionNoDTO.allTargetIdList = this.assetsEvaluationTarget.map(item => item.id);
+      // this.takeAssetsProductionNoDTO.allTargetIdList = this.assetsEvaluationTarget.map(item => item.id);
       // 提交的要取号数组长度与table长度一致则是全部取号
       // if (this.takeAssetsProductionNoDTO.targetIdList.length === this.assetsEvaluationTarget.length) {
       //   this.takeAssetsProductionNoDTO.selectAll = true;
@@ -2832,7 +2873,7 @@ export default {
     },
     // 资产产品报告取号
     takeAssetsReportProductionNo() {
-      this.takeAssetsProductionNoDTO.allTargetIdList = this.assetsEvaluationTarget.map(item => item.id);
+      // this.takeAssetsProductionNoDTO.allTargetIdList = this.assetsEvaluationTarget.map(item => item.id);
       this.takeAssetsProductionNoDTO.statementNo = this.assetsEvaluationTarget[0].statementNo;
       // 提交的要取号数组长度与table长度一致则是全部取号
       // if (this.takeAssetsProductionNoDTO.targetIdList.length === this.assetsEvaluationTarget.length) {
@@ -3022,7 +3063,7 @@ export default {
         this.nodeBusinessInfo.businessSubId = this.commitProductionNo;
         aProListSelectDTO.productionNos = this.assetsProductionData.filter(obj => obj.productionType == 'STATEMENT').map(obj => obj.productionNo);
       }
-      if (this.currentNode.nodeCode == 'WRITE_REPORT') {
+      if (this.currentNode.nodeCode == 'ASSET_REPORT_TAKE_NO') {
         this.nodeBusinessInfo.businessMinId = this.commitProductionNo;
         aProListSelectDTO.productionNos = this.assetsProductionData.filter(obj => obj.productionType !== 'STATEMENT').map(obj => obj.productionNo);
       }
@@ -3035,16 +3076,16 @@ export default {
         }
       })
 
-      //判断是否还有未撰写或未提交的产品(false:无,提交时完成节点 true:有,提交时不完成节点)
+      //判断是否还有未撰写或未提交的产品以及未取号的评估对象(false:无,提交时完成节点 true:有,提交时不完成节点)
       let isNotWriteAllPro = true;
       if (this.currentNode.nodeCode === 'GENERATE_STATEMENT') {
         isNotWriteAllPro = this.assetsEvaluationTarget.some(obj =>
           (obj.statementCreateProductionDate === null || obj.statementCreateProductionDate === '')
         );
       }
-      if (this.currentNode.nodeCode === 'WRITE_REPORT') {
+      if (this.currentNode.nodeCode === 'ASSET_REPORT_TAKE_NO') {
         isNotWriteAllPro = this.assetsEvaluationTarget.some(obj =>
-          (obj.reportCreateProductionDate === null || obj.reportCreateProductionDate === '')
+          (obj.reportNo === null || obj.reportNo === '')
         );
       }