|
@@ -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>
|