Explorar o código

修改产品为空bug

wucl hai 10 meses
pai
achega
9369aabca6

+ 1 - 1
src/views/major/todoDetail.vue

@@ -1686,7 +1686,7 @@
         </el-radio-group>
       </div>
       <div style="margin-top: 30px;color: red;font-weight: bold">
-          <span v-if="this.productions[0].production==='REPORT' && !this.productions[0].isRecord && this.major.businessObjectType==='土地'">此报告为土地不备案报告,请知晓!</span>
+          <span v-if="this.productions.length>0 && this.productions[0].production==='REPORT' && !this.productions[0].isRecord && this.major.businessObjectType==='土地'">此报告为土地不备案报告,请知晓!</span>
      </div>
         <span slot="footer" class="dialog-footer">
         <el-button @click="chooseSecondCheckerDialog = false">取消</el-button>

+ 5 - 3
src/views/personal/pendingList.vue

@@ -11,7 +11,7 @@
           </template>
         </MoreSearchBar>
       </template>
-      <parentTable ref="table" v-loading="listLoading" :data="pageData.records" slot="table" style="width: 100%;" @headerClick="switchHeader">
+      <parentTable ref="table" :data="pageData.records" slot="table" style="width: 100%;" @headerClick="switchHeader">
         <el-table-column label="项目编号" align="center" width="150" v-if="!hiddenLabels.includes('orderId')" prop="orderId" >
           <template slot-scope="{row}">
             <span class="enableClick" @click="orderDetail(row)" @contextmenu.prevent="$doCopy(row.orderId)">{{ row.orderId }}</span>
@@ -146,7 +146,6 @@ export default {
   data() {
     return {
       pageData: { records: [] },
-      listLoading: false,
       listQuery: {
         page: 1,
         size: 10,
@@ -158,7 +157,7 @@ export default {
         endDate:null
       },
       personalNodes:[],
-      hiddenLabels:[]
+      hiddenLabels:[],
     }
   },
 
@@ -170,15 +169,18 @@ export default {
     this.listQuery.keyword = this.$route.query.keyword;
     this.getPage();
     this.getNodeEnum();
+    
   },
   methods: {
     getPage() {
+      let loadingInstance =  this.$loading({ fullscreen: true });
       if (getCookie('PersonalPendingList') != undefined){
         this.listQuery.size = parseInt(getCookie('PersonalPendingList'));
       }
       this.$api.personal.list(this.listQuery).then(res=>{
         if (res.code ===200){
             this.pageData = res.data;
+            loadingInstance.close();
         }
       })
     },

+ 84 - 49
src/views/personal/todoDetail.vue

@@ -496,6 +496,14 @@
             </el-col>
             <el-col :xs="24" :sm="12" :lg="5" :span="6" style="margin-left: 20px;">
               <el-button type="primary" round @click="calulate()"
+              v-if="currentNode.nodeCode === 'DETERMINE_PRICE' 
+                      || currentNode.nodeCode === 'GENERATE_STATEMENT' 
+                      || currentNode.nodeCode === 'WRITE_REPORT' 
+                      || currentNode.nodeCode === 'WRITE_LETTER'
+                      || currentNode.nodeCode === 'REVIEW_STATEMENT'
+                      || currentNode.nodeCode === 'CHECK_REPORT'
+                      || currentNode.nodeCode === 'CHECK_LETTER'">计算价格</el-button>
+              <el-button type="primary" round @click="calulateAndSave()"
                 v-if="currentNode.nodeCode === 'DETERMINE_PRICE' 
                       || currentNode.nodeCode === 'GENERATE_STATEMENT' 
                       || currentNode.nodeCode === 'WRITE_REPORT' 
@@ -503,9 +511,7 @@
                       || currentNode.nodeCode === 'REVIEW_STATEMENT'
                       || currentNode.nodeCode === 'CHECK_REPORT'
                       || currentNode.nodeCode === 'CHECK_LETTER'
-                      ">保存</el-button>
-              <!-- <el-button type="primary" round @click="saveCalulateResult()"
-                v-if="currentNode.nodeCode === 'DETERMINE_PRICE' || currentNode.nodeCode === 'GENERATE_STATEMENT' || currentNode.nodeCode === 'WRITE_REPORT' || currentNode.nodeCode === 'WRITE_LETTER'">保存价格</el-button> -->
+                      ">计算并保存</el-button>
             </el-col>
           </el-row>
           <el-table v-loading="calculating" element-loading-text="正在计算..." element-loading-spinner="el-icon-loading"
@@ -962,7 +968,7 @@
         </el-table>
       </el-tab-pane>
     </el-tabs>
-    <el-dialog :visible.sync="decideProductionTypeDialog" width="25%" center top="35vh" custom-class="doWarehouseClass">
+    <el-dialog :visible.sync="decideProductionTypeDialog" width="25%" center top="35vh" custom-class="doWarehouseClass" @closed="cleanFlag()">
       <div>
         <i class="el-icon-warning" style="color:RGB(230,162,60);font-size:22px;margin-right:10px;"></i>
         <span style="position:absolute;top:58px">在此节点是否确定产品类型?</span>
@@ -1000,7 +1006,7 @@
         <el-button type="primary" @click="doOutWareHouse()">确 定</el-button>
       </span>
     </el-dialog>
-    <el-dialog :visible.sync="checkDialog" width="1000px" center top="25vh" custom-class="doWarehouseClass">
+    <el-dialog :visible.sync="checkDialog" width="1000px" center top="25vh" custom-class="doWarehouseClass" @closed="cleanFlag()">
       <el-divider content-position="left">产品审核</el-divider>
       <el-form ref="targetForm" :model="target">
         <el-row>
@@ -1058,10 +1064,17 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row v-if="target.amount==null || target.amount===0">
+          <el-col :xs="24" :sm="12" :lg="24" :span="6">
+            <el-form-item label="" prop="" label-width="140px" class="postInfo-container-item">
+              <span style="font-weight: bolder; color: red;">当前评估总价为0万元,审核有误!</span>
+            </el-form-item>
+          </el-col>
+        </el-row>
         <el-row>
           <el-col :xs="24" :sm="12" :lg="24" :span="6">
             <el-button type="info" style="margin-left: 40%;" @click="checkDialog = false">取消</el-button>
-            <el-button type="success" @click="checkPass()">确认</el-button>
+            <el-button type="success" @click="checkPass()" :disabled="target.amount==null || target.amount===0">确认</el-button>
           </el-col>
         </el-row>
       </el-form>
@@ -1571,7 +1584,9 @@ export default {
       showQR:true,
       checkerDialog:false,
       checkerId:null,
-      checkers:[]
+      checkers:[],
+      decideProduction:false,
+      checkStateFlag:false
 
     }
   },
@@ -1696,7 +1711,6 @@ export default {
       })
     },
     workflowCommitVerify(val, callback) {
-      console.log(this.checkerId)
       let commit = val.commit;
       let verify = new Object();
       verify.state = true;
@@ -1715,7 +1729,7 @@ export default {
             callback(verify);
             return;
           case "DETERMINE_PRICE":
-            if (!this.target.feedback) {
+            if (!this.decideProduction) {
               verify.state = false;
               callback(verify);
               this.decideProductionTypeDialog = true
@@ -1811,41 +1825,42 @@ export default {
                 return;
               }
               
-            }else{
-              if (nodeCode === 'GENERATE_STATEMENT' && (this.statementProd == null || this.statementProd.files.length === 0)) {
-                this.$notify({
-                  title: '提示',
-                  message: '流程类型为下线请上传意见书,再提交流程',
-                  type: 'error',
-                  duration: 2000
-                });
-                verify.state = false;
-                callback(verify);
-                return;
-              }
-              if (nodeCode === 'WRITE_REPORT' && (this.technicReportProd == null || this.technicReportProd.files.length === 0)) {
-                this.$notify({
-                  title: '提示',
-                  message: '流程类型为下线请上传报告,再提交流程',
-                  type: 'error',
-                  duration: 2000
-                });
-                verify.state = false;
-                callback(verify);
-                return;
-              }
-              if (nodeCode === 'WRITE_LETTER' && (this.letterReprotProd == null || this.letterReprotProd.files.length === 0)) {
-                this.$notify({
-                  title: '提示',
-                  message: '流程类型为下线请上传复评函,再提交流程',
-                  type: 'error',
-                  duration: 2000
-                });
-                verify.state = false;
-                callback(verify);
-                return;
-              }
             }
+            // else{
+            //   if (nodeCode === 'GENERATE_STATEMENT' && (this.statementProd == null || this.statementProd.files.length === 0)) {
+            //     this.$notify({
+            //       title: '提示',
+            //       message: '流程类型为下线请上传意见书,再提交流程',
+            //       type: 'error',
+            //       duration: 2000
+            //     });
+            //     verify.state = false;
+            //     callback(verify);
+            //     return;
+            //   }
+            //   if (nodeCode === 'WRITE_REPORT' && (this.technicReportProd == null || this.technicReportProd.files.length === 0)) {
+            //     this.$notify({
+            //       title: '提示',
+            //       message: '流程类型为下线请上传报告,再提交流程',
+            //       type: 'error',
+            //       duration: 2000
+            //     });
+            //     verify.state = false;
+            //     callback(verify);
+            //     return;
+            //   }
+            //   if (nodeCode === 'WRITE_LETTER' && (this.letterReprotProd == null || this.letterReprotProd.files.length === 0)) {
+            //     this.$notify({
+            //       title: '提示',
+            //       message: '流程类型为下线请上传复评函,再提交流程',
+            //       type: 'error',
+            //       duration: 2000
+            //     });
+            //     verify.state = false;
+            //     callback(verify);
+            //     return;
+            //   }
+            // }
             if (!verify.nextHandlerId ){
               this.checkerDialog = true;
               this.$api.user.postUserVOList("个贷审核岗").then(res => {
@@ -1862,11 +1877,12 @@ export default {
             callback(verify);
             return;
           case "REVIEW_STATEMENT":
-            if (this.statementProd == null || this.statementProd.checkState === '待审核') {
+            if (!this.checkStateFlag) {
               verify.state = false;
               callback(verify);
               this.checkProDTO.production = "STATEMENT";
               this.checkProDTO.targetId = this.target.id;
+              this.getPersonalTarget();
               this.checkDialog = true
               return;
             }
@@ -1874,23 +1890,24 @@ export default {
             return;
 
           case "CHECK_REPORT":
-            if (this.technicReportProd.checkState == null || this.finalReprotProd.checkState == null ||
-              this.technicReportProd.checkState === '待审核' || this.finalReprotProd.checkState === '待审核') {
+            if (!this.checkStateFlag) {
               verify.state = false;
               callback(verify);
               this.checkProDTO.production = "REPORT";
               this.checkProDTO.targetId = this.target.id;
+              this.getPersonalTarget();
               this.checkDialog = true
               return;
             }
             callback(verify);
             return;
           case "CHECK_LETTER":
-            if (!this.letterReprotProd.checkState) {
+            if (!this.checkStateFlag) {
               verify.state = false;
               callback(verify);
               this.checkProDTO.production = "LETTER";
               this.checkProDTO.targetId = this.target.id;
+              this.getPersonalTarget();
               this.checkDialog = true
               return;
             }
@@ -1998,7 +2015,20 @@ export default {
       }
       return 'producution'
     },
-    calulate() {
+    calulate(){
+      this.calculating = true;
+      this.$refs.compareToForm.validate(valid => {
+        if (valid) {
+          if (validateParams(this.compareList.analysisData)) {
+            this.compareList = calculateTargetPrice(this.compareList);
+          }
+        }
+      })
+      setTimeout(() => {
+        this.calculating = false;
+      }, 500)
+    },
+    calulateAndSave() {
       this.calculating = true;
       this.$refs.compareToForm.validate(valid => {
         if (valid) {
@@ -2116,7 +2146,7 @@ export default {
       }
     },
     saveFeedbackWhenPrice() {
-      this.nodeBusinessInfo.ifFeedback = true;
+      this.decideProduction = true;
       if (this.target.id && this.target.feedback && this.target.feedback != 'NONE') {
         this.nodeBusinessInfo.ifFeedback = false;
         this.nodeBusinessInfo.production = [this.target.feedback];
@@ -2336,6 +2366,7 @@ export default {
 
     },
     checkPass() {
+      this.checkStateFlag = true;
       if (this.checkProDTO.targetId && this.checkProDTO.production) {
         const taskRecordDTO = this.buildTaskRecordDTO(this.checkProDTO);
         this.$api.personalProduction.checkPass(taskRecordDTO).then(res => {
@@ -2708,6 +2739,10 @@ export default {
     cleanCheckId(){
       this.checkerId = null;
     },
+    cleanFlag(){
+      this.decideProduction = false;
+      this.checkStateFlag = false;
+    }
   }
 }
 </script>