|
@@ -442,7 +442,7 @@
|
|
</el-row>
|
|
</el-row>
|
|
</el-form>
|
|
</el-form>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
- <el-tab-pane name="comparable" class="pane-class" :lazy=true :disabled="!target.isOnline">
|
|
|
|
|
|
+ <el-tab-pane name="comparable" class="pane-class" :lazy=true >
|
|
<span slot="label"><i class="el-icon-office-building"></i> 可比实例</span>
|
|
<span slot="label"><i class="el-icon-office-building"></i> 可比实例</span>
|
|
<div class="createMajor-main-container">
|
|
<div class="createMajor-main-container">
|
|
<div class="postInfo-container">
|
|
<div class="postInfo-container">
|
|
@@ -739,7 +739,7 @@
|
|
</el-table>
|
|
</el-table>
|
|
</el-form>
|
|
</el-form>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
- <el-tab-pane name="certificateInfo" class="pane-class" :lazy=true :disabled="!target.isOnline">
|
|
|
|
|
|
+ <el-tab-pane name="certificateInfo" class="pane-class" :lazy=true >
|
|
<span slot="label"><i class="el-icon-postcard"></i> 证件信息</span>
|
|
<span slot="label"><i class="el-icon-postcard"></i> 证件信息</span>
|
|
<el-tabs v-model="certificateInfo">
|
|
<el-tabs v-model="certificateInfo">
|
|
<el-tab-pane name="CHANGE" class="pane-class" :lazy=true :disabled="!certificateCouldEdit">
|
|
<el-tab-pane name="CHANGE" class="pane-class" :lazy=true :disabled="!certificateCouldEdit">
|
|
@@ -777,7 +777,7 @@
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
</el-tabs>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
- <el-tab-pane name="otherInfo" class="pane-class" :lazy=true :disabled="!target.isOnline">
|
|
|
|
|
|
+ <el-tab-pane name="otherInfo" class="pane-class" :lazy=true >
|
|
<span slot="label"><i class="el-icon-chat-line-square"></i> 附加信息</span>
|
|
<span slot="label"><i class="el-icon-chat-line-square"></i> 附加信息</span>
|
|
<el-tabs v-model="otherInfo">
|
|
<el-tabs v-model="otherInfo">
|
|
<el-tab-pane name="entityInfo" class="pane-class" :lazy=true>
|
|
<el-tab-pane name="entityInfo" class="pane-class" :lazy=true>
|
|
@@ -802,7 +802,8 @@
|
|
<el-tab-pane name="producution" class="pane-class" :lazy=true>
|
|
<el-tab-pane name="producution" class="pane-class" :lazy=true>
|
|
<span slot="label"><i class="el-icon-document-checked"></i> 产品信息</span>
|
|
<span slot="label"><i class="el-icon-document-checked"></i> 产品信息</span>
|
|
<div class="createMajor-main-container"
|
|
<div class="createMajor-main-container"
|
|
- v-if="currentNode.nodeCode === 'QUOTATION_FEEDBACK' || currentNode.nodeCode === 'STATEMENT_FEEDBACK'">
|
|
|
|
|
|
+ v-if="currentNode.nodeCode === 'QUOTATION_FEEDBACK' || currentNode.nodeCode === 'STATEMENT_FEEDBACK' ||
|
|
|
|
+ currentNode.nodeCode === 'REPORT_FEEDBACK' || currentNode.nodeCode === 'LETTER_FEEDBACK'">
|
|
<div class="postInfo-container">
|
|
<div class="postInfo-container">
|
|
<div>
|
|
<div>
|
|
<el-divider content-position="left">
|
|
<el-divider content-position="left">
|
|
@@ -814,16 +815,17 @@
|
|
</div>
|
|
</div>
|
|
<el-form ref="feedbackFrom" class="form-container" style="margin-top:30px" :rules="rules">
|
|
<el-form ref="feedbackFrom" class="form-container" style="margin-top:30px" :rules="rules">
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col :xs="24" :sm="12" :lg="8" :span="6">
|
|
|
|
- <el-form-item label="出具产品类型:" prop="production" label-width="160px" class="postInfo-container-item">
|
|
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="选择反馈信息:" prop="production" label-width="160px" class="postInfo-container-item">
|
|
<el-checkbox-group v-model="feedback" @change="saveFeedback()">
|
|
<el-checkbox-group v-model="feedback" @change="saveFeedback()">
|
|
- <el-checkbox-button label="STATEMENT" name="production">价值意见书</el-checkbox-button>
|
|
|
|
- <el-checkbox-button label="REPORT" name="production">报告</el-checkbox-button>
|
|
|
|
- <el-checkbox-button label="LETTER" name="production">复评函</el-checkbox-button>
|
|
|
|
- <el-tooltip class="item" effect="dark" content="只出具价值意见书,不再出具其他产品。" placement="top-start">
|
|
|
|
- <el-checkbox-button v-if="currentNode.nodeCode === 'STATEMENT_FEEDBACK'" label="NONE"
|
|
|
|
- name="production">不再出具</el-checkbox-button>
|
|
|
|
- </el-tooltip>
|
|
|
|
|
|
+ <el-checkbox-button label="STATEMENT" name="production" :disabled="!showStatement">出价值意见书</el-checkbox-button>
|
|
|
|
+ <el-checkbox-button label="CHANGE_STATEMENT" name="production" :disabled="!showChangeStatement">修改意见书</el-checkbox-button>
|
|
|
|
+ <el-checkbox-button label="REPORT" name="production" :disabled="!showReport">出报告</el-checkbox-button>
|
|
|
|
+ <el-checkbox-button label="CHANGE_REPORT" name="production" :disabled="!showChangeReport">修改报告</el-checkbox-button>
|
|
|
|
+ <el-checkbox-button label="LETTER" name="production" :disabled="!showLetter">出复评函</el-checkbox-button>
|
|
|
|
+ <el-checkbox-button label="CHANGE_LETTER" name="production" :disabled="!showChangeLetter">修改复评函</el-checkbox-button>
|
|
|
|
+ <el-checkbox-button label="NONE"
|
|
|
|
+ name="production">结束</el-checkbox-button>
|
|
</el-checkbox-group>
|
|
</el-checkbox-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -1191,7 +1193,11 @@ export default {
|
|
let price = Decimal(newVal.price);
|
|
let price = Decimal(newVal.price);
|
|
let wan = Decimal(10000);
|
|
let wan = Decimal(10000);
|
|
let amount = acrege.mul(price).div(wan);
|
|
let amount = acrege.mul(price).div(wan);
|
|
|
|
+ // console.log(acrege.toString())
|
|
|
|
+ // console.log(price.toString())
|
|
|
|
+ // console.log(amount.toString())
|
|
newVal.amount = utils.roundToDecimalPlace(amount,2)
|
|
newVal.amount = utils.roundToDecimalPlace(amount,2)
|
|
|
|
+ // console.log(newVal.amount)
|
|
}
|
|
}
|
|
|
|
|
|
if (newVal.id) {
|
|
if (newVal.id) {
|
|
@@ -1294,6 +1300,37 @@ export default {
|
|
}
|
|
}
|
|
|
|
|
|
},
|
|
},
|
|
|
|
+ showStatement(){
|
|
|
|
+ if (this.$route.query.currentNodeCode=== 'QUOTATION_FEEDBACK'){
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+ showChangeStatement(){
|
|
|
|
+ if (this.$route.query.currentNodeCode=== 'STATEMENT_FEEDBACK'){
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ showReport(){
|
|
|
|
+ if (this.$route.query.currentNodeCode=== 'QUOTATION_FEEDBACK' || this.$route.query.currentNodeCode=== 'STATEMENT_FEEDBACK'){
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ showChangeReport(){
|
|
|
|
+ if (this.$route.query.currentNodeCode=== 'REPORT_FEEDBACK' ){
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ showLetter(){
|
|
|
|
+ if (this.$route.query.currentNodeCode=== 'QUOTATION_FEEDBACK' ||this.$route.query.currentNodeCode=== 'REPORT_FEEDBACK' || this.$route.query.currentNodeCode=== 'STATEMENT_FEEDBACK'){
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ showChangeLetter(){
|
|
|
|
+ if (this.$route.query.currentNodeCode=== 'LETTER_FEEDBACK' ){
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
},
|
|
},
|
|
|
|
|
|
data() {
|
|
data() {
|
|
@@ -1760,91 +1797,91 @@ export default {
|
|
case "GENERATE_STATEMENT":
|
|
case "GENERATE_STATEMENT":
|
|
case "WRITE_REPORT":
|
|
case "WRITE_REPORT":
|
|
case "WRITE_LETTER":
|
|
case "WRITE_LETTER":
|
|
- if (this.isOnline) {
|
|
|
|
- let ok = true;
|
|
|
|
- this.personal.credentials.forEach(item => {
|
|
|
|
- if (item === 'HOUSE_CERTIFICATE' && !this.target.houseCertificate) {
|
|
|
|
- this.$notify({
|
|
|
|
- title: '提示',
|
|
|
|
- message: '请先完成房产证信息录入再提交,否则请切换为线下流程。',
|
|
|
|
- type: 'error',
|
|
|
|
- duration: 2000
|
|
|
|
- });
|
|
|
|
- ok = false;
|
|
|
|
|
|
+ // if (this.isOnline) {
|
|
|
|
+ // let ok = true;
|
|
|
|
+ // this.personal.credentials.forEach(item => {
|
|
|
|
+ // if (item === 'HOUSE_CERTIFICATE' && !this.target.houseCertificate) {
|
|
|
|
+ // this.$notify({
|
|
|
|
+ // title: '提示',
|
|
|
|
+ // message: '请先完成房产证信息录入再提交,否则请切换为线下流程。',
|
|
|
|
+ // type: 'error',
|
|
|
|
+ // duration: 2000
|
|
|
|
+ // });
|
|
|
|
+ // ok = false;
|
|
|
|
|
|
- }
|
|
|
|
- if (item === 'LAND_CERTIFICATE' && !this.target.landCertificate) {
|
|
|
|
- this.$notify({
|
|
|
|
- title: '提示',
|
|
|
|
- message: '请先完成国土证信息录入再提交,否则请切换为线下流程。',
|
|
|
|
- type: 'error',
|
|
|
|
- duration: 2000
|
|
|
|
- });
|
|
|
|
- ok = false;
|
|
|
|
|
|
+ // }
|
|
|
|
+ // if (item === 'LAND_CERTIFICATE' && !this.target.landCertificate) {
|
|
|
|
+ // this.$notify({
|
|
|
|
+ // title: '提示',
|
|
|
|
+ // message: '请先完成国土证信息录入再提交,否则请切换为线下流程。',
|
|
|
|
+ // type: 'error',
|
|
|
|
+ // duration: 2000
|
|
|
|
+ // });
|
|
|
|
+ // ok = false;
|
|
|
|
|
|
- }
|
|
|
|
- if (item === 'IMMOVABLE_CERTIFICATE' && !this.target.immovableCertificate) {
|
|
|
|
- this.$notify({
|
|
|
|
- title: '提示',
|
|
|
|
- message: '请先完成不动产权证信息录入再提交,否则请切换为线下流程。',
|
|
|
|
- type: 'error',
|
|
|
|
- duration: 2000
|
|
|
|
- });
|
|
|
|
- ok = false;
|
|
|
|
|
|
+ // }
|
|
|
|
+ // if (item === 'IMMOVABLE_CERTIFICATE' && !this.target.immovableCertificate) {
|
|
|
|
+ // this.$notify({
|
|
|
|
+ // title: '提示',
|
|
|
|
+ // message: '请先完成不动产权证信息录入再提交,否则请切换为线下流程。',
|
|
|
|
+ // type: 'error',
|
|
|
|
+ // duration: 2000
|
|
|
|
+ // });
|
|
|
|
+ // ok = false;
|
|
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- if (!ok){
|
|
|
|
- verify.state = false;
|
|
|
|
- callback(verify);
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- if (this.compareList.calculateId==null || this.compareList.targetId==null){
|
|
|
|
- this.$notify({
|
|
|
|
- title: '提示',
|
|
|
|
- message: '请先完成可比实例表。',
|
|
|
|
- type: 'error',
|
|
|
|
- duration: 2000
|
|
|
|
- });
|
|
|
|
- verify.state = false;
|
|
|
|
- callback(verify);
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- if (ok && 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 (ok && 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 (ok && 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 (!ok){
|
|
|
|
+ // verify.state = false;
|
|
|
|
+ // callback(verify);
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // if (this.compareList.calculateId==null || this.compareList.targetId==null){
|
|
|
|
+ // this.$notify({
|
|
|
|
+ // title: '提示',
|
|
|
|
+ // message: '请先完成可比实例表。',
|
|
|
|
+ // type: 'error',
|
|
|
|
+ // duration: 2000
|
|
|
|
+ // });
|
|
|
|
+ // verify.state = false;
|
|
|
|
+ // callback(verify);
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // if (ok && 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 (ok && 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 (ok && 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{
|
|
// else{
|
|
// if (nodeCode === 'GENERATE_STATEMENT' && (this.statementProd == null || this.statementProd.files.length === 0)) {
|
|
// if (nodeCode === 'GENERATE_STATEMENT' && (this.statementProd == null || this.statementProd.files.length === 0)) {
|
|
// this.$notify({
|
|
// this.$notify({
|
|
@@ -2504,6 +2541,7 @@ export default {
|
|
saveFeedback() {
|
|
saveFeedback() {
|
|
let flag = true;
|
|
let flag = true;
|
|
const oldFeedback = JSON.parse(this.target.feedback);
|
|
const oldFeedback = JSON.parse(this.target.feedback);
|
|
|
|
+ console.log(oldFeedback)
|
|
if (oldFeedback) {
|
|
if (oldFeedback) {
|
|
oldFeedback.forEach(element => {
|
|
oldFeedback.forEach(element => {
|
|
if (!this.feedback.includes(element)) {
|
|
if (!this.feedback.includes(element)) {
|
|
@@ -2525,6 +2563,14 @@ export default {
|
|
this.$message("只能选择一种产品类型");
|
|
this.$message("只能选择一种产品类型");
|
|
flag = false;
|
|
flag = false;
|
|
}
|
|
}
|
|
|
|
+ if (this.currentNode.nodeCode === 'REPORT_FEEDBACK' && this.feedback.length > 3) {
|
|
|
|
+ this.$message("只能选择一种产品类型");
|
|
|
|
+ flag = false;
|
|
|
|
+ }
|
|
|
|
+ if (this.currentNode.nodeCode === 'LETTER_FEEDBACK' && this.feedback.length > 4) {
|
|
|
|
+ this.$message("只能选择一种产品类型");
|
|
|
|
+ flag = false;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if (flag) {
|
|
if (flag) {
|
|
const feedbackDTO = new Object();
|
|
const feedbackDTO = new Object();
|