|
@@ -376,7 +376,7 @@
|
|
|
<el-col :span="2"
|
|
|
v-if="currentNode.nodeCode === 'GENERATE_STATEMENT' || currentNode.nodeCode === 'WRITE_REPORT'">
|
|
|
<el-tooltip class="item" effect="dark" content="请仔细确认产品内容" placement="right">
|
|
|
- <el-button type="success" @click="openWriteProductionDialog" round>撰写产品信息</el-button>
|
|
|
+ <el-button type="success" @click="openWriteProductionDialog(false, 'add')" round>撰写产品信息</el-button>
|
|
|
</el-tooltip>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -430,6 +430,8 @@
|
|
|
</el-button>
|
|
|
<el-button v-if="currentNode.nodeCode === 'SPOT_RECONNAISSANCE_DETERMINE_PRICE'" type="text"
|
|
|
size="small" @click="assetsTargetDelete(scope.row.id)">删除</el-button>
|
|
|
+ <el-button v-if="currentNode.nodeCode === 'REVIEW_STATEMENT'" type="text" size="small"
|
|
|
+ @click="openCheckValueDialog(scope.row.id);">审核定价</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -504,11 +506,20 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="delivery" label="送达状态" align="center" show-overflow-tooltip>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="操作" align="center" width="130" fixed="right">
|
|
|
+ <el-table-column label="操作" align="center" width="180" fixed="right">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button type="text" size="small">
|
|
|
+ <el-button type="text" size="small"
|
|
|
+ @click="openWriteProductionDialog(true, 'detail'), getAssetsProductionDetail(scope.row.id)">
|
|
|
查看
|
|
|
</el-button>
|
|
|
+ <el-button v-if="currentNode.nodeCode === 'REVIEW_STATEMENT'" type="text" size="small"
|
|
|
+ @click="openWriteProductionDialog(false, 'edit'), getAssetsProductionDetail(scope.row.id)">
|
|
|
+ 编辑
|
|
|
+ </el-button>
|
|
|
+ <el-button v-if="currentNode.nodeCode === 'REVIEW_STATEMENT'" type="text" size="small"
|
|
|
+ @click="productionCheckDialogVisible = true, productionPerformanceForm.productionId = scope.row.id">
|
|
|
+ 产品质检
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -747,7 +758,7 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<el-dialog :visible.sync="productionChoiceDialogVisible">
|
|
|
- <el-form ref="assetsProductionFrom" :model="assetsProductionFrom" :rules="assetsProductionFromRules">
|
|
|
+ <el-form ref="assetsProductionForm" :model="assetsProductionForm" :rules="assetsProductionFormRules">
|
|
|
<div class="createMajor-main-container">
|
|
|
<div class="postInfo-container">
|
|
|
<div>
|
|
@@ -761,17 +772,17 @@
|
|
|
<el-row class="row-style">
|
|
|
<el-col :xs="24" :sm="12" :lg="12" :span="6" style="width: 800px;">
|
|
|
<el-form-item label="产品类型:" prop="productionType" label-width="120px" class="postInfo-container-item">
|
|
|
- <el-radio v-model="assetsProductionFrom.productionType" :label="1" border size="medium">价值意见书</el-radio>
|
|
|
- <el-radio v-model="assetsProductionFrom.productionType" :label="2" border size="medium">咨询报告</el-radio>
|
|
|
- <el-radio v-model="assetsProductionFrom.productionType" :label="3" border size="medium">评估报告</el-radio>
|
|
|
- <el-radio v-model="assetsProductionFrom.productionType" :label="4" border size="medium">意见函</el-radio>
|
|
|
+ <el-radio v-model="assetsProductionForm.productionType" :label="1" border size="medium">价值意见书</el-radio>
|
|
|
+ <el-radio v-model="assetsProductionForm.productionType" :label="2" border size="medium">咨询报告</el-radio>
|
|
|
+ <el-radio v-model="assetsProductionForm.productionType" :label="3" border size="medium">评估报告</el-radio>
|
|
|
+ <el-radio v-model="assetsProductionForm.productionType" :label="4" border size="medium">意见函</el-radio>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row class="row-style">
|
|
|
<el-col :xs="24" :sm="12" :lg="12" :span="6" style="width: 345px;">
|
|
|
<el-form-item label="打印份数:" prop="printCount" label-width="120px" class="postInfo-container-item">
|
|
|
- <el-input v-model.number="assetsProductionFrom.printCount" class="filter-item" />
|
|
|
+ <el-input v-model.number="assetsProductionForm.printCount" class="filter-item" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -787,7 +798,8 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<el-dialog :visible.sync="productionWriteDialogVisible" @close="resetProductionForm">
|
|
|
- <el-form ref="assetsProductionFrom" :model="assetsProductionFrom" :rules="assetsProductionFromRules">
|
|
|
+ <el-form ref="assetsProductionForm" :model="assetsProductionForm" :rules="assetsProductionFormRules"
|
|
|
+ :disabled="productionDisabledStatus">
|
|
|
<div class="createMajor-main-container">
|
|
|
<div class="postInfo-container">
|
|
|
<div>
|
|
@@ -801,7 +813,7 @@
|
|
|
<el-row class="row-style">
|
|
|
<el-col>
|
|
|
<el-form-item label="评估对象:" prop="productionNo" label-width="120px" class="postInfo-container-item">
|
|
|
- <el-select v-model="assetsProductionFrom.productionNo" @change="getAssetsProductionDetail()"
|
|
|
+ <el-select v-model="assetsProductionForm.productionNo" @change="getAssetsProductionDetail()"
|
|
|
placeholder="请选择" style="width: 300px;">
|
|
|
<el-option v-for="(target, productionNo) in assetsEvaluationTarget" :label="target.productionNo"
|
|
|
:value="target.productionNo" :key="target.id"></el-option>
|
|
@@ -812,14 +824,14 @@
|
|
|
<el-row class="row-style">
|
|
|
<el-col>
|
|
|
<el-form-item label="项目名称:" prop="assetsName" label-width="120px" class="postInfo-container-item">
|
|
|
- <el-input v-model.number="assetsProductionFrom.assetsName" class="filter-item" />
|
|
|
+ <el-input v-model.number="assetsProductionForm.assetsName" class="filter-item" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row class="row-style" v-if="currentNode.nodeCode === 'WRITE_REPORT'">
|
|
|
<el-col>
|
|
|
<el-form-item label="签字人:" prop="signatory" label-width="120px" class="postInfo-container-item">
|
|
|
- <el-select v-model="assetsProductionFrom.signatory" placeholder="请选择" multiple>
|
|
|
+ <el-select v-model="assetsProductionForm.signatory" placeholder="请选择" multiple>
|
|
|
<el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id" :key="u.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -828,14 +840,14 @@
|
|
|
<el-row class="row-style">
|
|
|
<el-col>
|
|
|
<el-form-item label="委托方名称:" prop="clientName" label-width="120px" class="postInfo-container-item">
|
|
|
- <el-input v-model.number="assetsProductionFrom.clientName" class="filter-item" />
|
|
|
+ <el-input v-model.number="assetsProductionForm.clientName" class="filter-item" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row class="row-style">
|
|
|
<el-col>
|
|
|
<el-form-item label="委托方电话:" prop="clientTel" label-width="120px" class="postInfo-container-item">
|
|
|
- <el-input v-model.number="assetsProductionFrom.clientTel" class="filter-item" />
|
|
|
+ <el-input v-model.number="assetsProductionForm.clientTel" class="filter-item" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -843,7 +855,7 @@
|
|
|
<el-col>
|
|
|
<el-form-item label="估价基准日:" prop="valuationBasisDate" label-width="120px"
|
|
|
class="postInfo-container-item">
|
|
|
- <el-date-picker v-model="assetsProductionFrom.valuationBasisDate" type="date" placeholder="选择日期"
|
|
|
+ <el-date-picker v-model="assetsProductionForm.valuationBasisDate" type="date" placeholder="选择日期"
|
|
|
style="width:100%">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
@@ -852,7 +864,7 @@
|
|
|
<el-row class="row-style">
|
|
|
<el-col>
|
|
|
<el-form-item label="评估面积:" prop="evaluateAcreage" label-width="140px" class="postInfo-container-item">
|
|
|
- <el-input-number v-model="assetsProductionFrom.evaluateAcreage" @change="computeAmount"
|
|
|
+ <el-input-number v-model="assetsProductionForm.evaluateAcreage" @change="computeAmount"
|
|
|
controls-position="right" :precision="2" :step="0.1"></el-input-number>
|
|
|
<span>(m²)</span>
|
|
|
</el-form-item>
|
|
@@ -861,7 +873,7 @@
|
|
|
<el-row class="row-style">
|
|
|
<el-col>
|
|
|
<el-form-item label="评估单价:" prop="evaluatePrice" label-width="140px" class="postInfo-container-item">
|
|
|
- <el-input-number v-model="assetsProductionFrom.evaluatePrice" @change="computeAmount"
|
|
|
+ <el-input-number v-model="assetsProductionForm.evaluatePrice" @change="computeAmount"
|
|
|
controls-position="right" :precision="2" :step="0.1"></el-input-number>
|
|
|
<span>(元)</span>
|
|
|
</el-form-item>
|
|
@@ -870,7 +882,7 @@
|
|
|
<el-row class="row-style">
|
|
|
<el-col>
|
|
|
<el-form-item label="评估总价:" prop="evaluateAmount" label-width="140px" class="postInfo-container-item">
|
|
|
- <el-input-number v-model="assetsProductionFrom.evaluateAmount" controls-position="right" :precision="2"
|
|
|
+ <el-input-number v-model="assetsProductionForm.evaluateAmount" controls-position="right" :precision="2"
|
|
|
:step="0.1"></el-input-number>
|
|
|
<span>(万)</span>
|
|
|
</el-form-item>
|
|
@@ -879,14 +891,14 @@
|
|
|
<el-row class="row-style">
|
|
|
<el-col>
|
|
|
<el-form-item label="资产持有人:" prop="owner" label-width="120px" class="postInfo-container-item">
|
|
|
- <el-input v-model.number="assetsProductionFrom.owner" class="filter-item" />
|
|
|
+ <el-input v-model.number="assetsProductionForm.owner" class="filter-item" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row class="row-style">
|
|
|
<el-col>
|
|
|
<el-form-item label="产品打印份数:" prop="printCount" label-width="150px" class="postInfo-container-item">
|
|
|
- <el-input v-model.number="assetsProductionFrom.printCount" class="filter-item" />
|
|
|
+ <el-input v-model.number="assetsProductionForm.printCount" class="filter-item" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -894,7 +906,7 @@
|
|
|
<el-col>
|
|
|
<el-form-item label="出具产品日期:" prop="createProductionDate" label-width="150px"
|
|
|
class="postInfo-container-item">
|
|
|
- <el-date-picker v-model="assetsProductionFrom.createProductionDate" type="date" placeholder="选择日期"
|
|
|
+ <el-date-picker v-model="assetsProductionForm.createProductionDate" type="date" placeholder="选择日期"
|
|
|
style="width:100%">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
@@ -914,14 +926,113 @@
|
|
|
<el-row class="row-style">
|
|
|
<el-col>
|
|
|
<el-form-item label="特殊情况说明:" prop="comment" label-width="150px" class="postInfo-container-item">
|
|
|
- <el-input v-model="assetsProductionFrom.comment" :autosize="{ minRows: 4, maxRows: 4 }"
|
|
|
+ <el-input v-model="assetsProductionForm.comment" :autosize="{ minRows: 4, maxRows: 4 }"
|
|
|
class="filter-item" type="textarea" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
<el-row class="row-style">
|
|
|
- <el-button @click="writeAssetsProduction" style="width:100%;">提交</el-button>
|
|
|
+ <el-button v-if="writeType === 'add'" @click="writeAssetsProduction()" style="width:100%;">提交</el-button>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="row-style">
|
|
|
+ <el-button v-if="writeType === 'edit'" @click="productionUpdate()" style="width:100%;">提交</el-button>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-form>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog :visible.sync="checkValueDialogVisible">
|
|
|
+ <el-divider content-position="left">【资产】审核定价</el-divider>
|
|
|
+ <el-form ref="targetForm" :model="targetForm" :rules="targetFormRules">
|
|
|
+ <div class="createMajor-main-container">
|
|
|
+ <div class="postInfo-container">
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="评估方法:" prop="evaluationMethodId" label-width="120px" class="postInfo-container-item">
|
|
|
+ <el-select v-model="targetForm.evaluationMethodId">
|
|
|
+ <el-option v-for="(m, id) in assetsEvaluationMethod" :label="m.methodName" :value="m.id"
|
|
|
+ :key="m.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="最终选择的评估方法:" prop="choiceEvaluationMethodId" label-width="200px"
|
|
|
+ class="postInfo-container-item">
|
|
|
+ <el-select v-model="targetForm.choiceEvaluationMethodId">
|
|
|
+ <el-option v-for="(m, id) in assetsEvaluationMethod" :label="m.methodName" :value="m.id"
|
|
|
+ :key="m.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="审核价格:" prop="checkValue" label-width="140px" class="postInfo-container-item">
|
|
|
+ <el-input-number v-model="targetForm.checkValue" controls-position="right" :precision="2"
|
|
|
+ :step="0.1"></el-input-number>
|
|
|
+ <span>(万)</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-button @click="checkValue()" style="width:100%;">审核定价</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-form>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog :visible.sync="productionCheckDialogVisible">
|
|
|
+ <el-form ref="productionPerformanceForm" :model="productionPerformanceForm">
|
|
|
+ <div class="createMajor-main-container">
|
|
|
+ <div class="postInfo-container">
|
|
|
+ <div>
|
|
|
+ <el-divider content-position="left">
|
|
|
+ <h3 class="title">
|
|
|
+ <div class="avatar-wrapper icon-title">产品</div>
|
|
|
+ <div class="icon-info">产品质检</div>
|
|
|
+ </h3>
|
|
|
+ </el-divider>
|
|
|
+ </div>
|
|
|
+ <el-row class="row-style">
|
|
|
+ <el-col>
|
|
|
+ <el-form-item prop="normalMistake" label-width="120px" class="postInfo-container-item" label="一般错误个数:">
|
|
|
+ <el-input-number :min="0" style="width:50%;" type="number"
|
|
|
+ v-model="productionPerformanceForm.normalMistake" class="filter-item" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="row-style">
|
|
|
+ <el-col>
|
|
|
+ <el-form-item prop="normalMistake" label-width="120px" class="postInfo-container-item" label="较大错误个数:">
|
|
|
+ <el-input-number :min="0" style="width:50%;" type="number"
|
|
|
+ v-model="productionPerformanceForm.hardMistake" class="filter-item" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="row-style">
|
|
|
+ <el-col>
|
|
|
+ <el-form-item prop="fatalMistake" label-width="120px" class="postInfo-container-item" label="重大错误个数:">
|
|
|
+ <el-input-number :min="0" style="width:50%;" type="number"
|
|
|
+ v-model="productionPerformanceForm.fatalMistake" class="filter-item" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="row-style">
|
|
|
+ <el-col :xs="24" :sm="12" :lg="24" :span="6">
|
|
|
+ <el-form-item prop="reason" label-width="120px" class="postInfo-container-item" label="扣分原因:">
|
|
|
+ <el-input v-model.trim="productionPerformanceForm.reason" class="filter-item" type="textarea" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-button style="width:100%;" @click="saveQuality()">提交</el-button>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1155,6 +1266,7 @@ export default {
|
|
|
totalEvaluateValue: 0.00,
|
|
|
// 评估对象表单
|
|
|
targetForm: {
|
|
|
+ id: null,
|
|
|
// 资产评估目的id
|
|
|
evaluationPurposeId: null,
|
|
|
// 资产评估对象类型一级id
|
|
@@ -1267,6 +1379,9 @@ export default {
|
|
|
],
|
|
|
filePath: [
|
|
|
{ required: true, message: '请上传附件资料', trigger: 'change' }
|
|
|
+ ],
|
|
|
+ checkValue: [
|
|
|
+ { required: true, message: '请填写审核价格', trigger: 'blur' }
|
|
|
]
|
|
|
},
|
|
|
// 款项信息
|
|
@@ -1292,10 +1407,12 @@ export default {
|
|
|
productionChoiceDialogVisible: false,
|
|
|
// 产品信息撰写表单可视状态
|
|
|
productionWriteDialogVisible: false,
|
|
|
+ // 评估对象审核定价表单可视状态
|
|
|
+ checkValueDialogVisible: false,
|
|
|
// 0:新增,1:更新
|
|
|
productionChoiceStatus: 0,
|
|
|
// 产品表单
|
|
|
- assetsProductionFrom: {
|
|
|
+ assetsProductionForm: {
|
|
|
businessId: null,
|
|
|
productionNo: null,
|
|
|
productionType: null,
|
|
@@ -1314,7 +1431,7 @@ export default {
|
|
|
assetsName: null
|
|
|
},
|
|
|
// 产品选择表单校验规则
|
|
|
- assetsProductionFromRules: {
|
|
|
+ assetsProductionFormRules: {
|
|
|
productionType: [
|
|
|
{ required: true, message: '请选择产品类型', trigger: 'change' }
|
|
|
],
|
|
@@ -1366,7 +1483,26 @@ export default {
|
|
|
printCount: null
|
|
|
},
|
|
|
assetsProductionData: null,
|
|
|
- commitProductionNo: null
|
|
|
+ commitProductionNo: null,
|
|
|
+ proInatanceCount: null,
|
|
|
+ // 产品撰写表单禁用状态
|
|
|
+ productionDisabledStatus: false,
|
|
|
+ // 产品表单编辑类型
|
|
|
+ writeType: null,
|
|
|
+ // 产品质检表单可视状态
|
|
|
+ productionCheckDialogVisible: false,
|
|
|
+ // 产品质检信息
|
|
|
+ productionPerformanceForm: {
|
|
|
+ id: null,
|
|
|
+ businessType: null,
|
|
|
+ productionId: null,
|
|
|
+ checkLoop: null,
|
|
|
+ fatalMistake: 0,
|
|
|
+ hardMistake: 0,
|
|
|
+ normalMistake: 0,
|
|
|
+ reason: null,
|
|
|
+ checkId: null
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
@@ -1380,7 +1516,6 @@ export default {
|
|
|
this.pageParams.back = this.$route.query.back;
|
|
|
this.pageParams.row = JSON.parse(this.$route.query.row);
|
|
|
this.nodeBusinessInfo.businessSubId = this.pageParams.row.productionNo;
|
|
|
- console.log(this.nodeBusinessInfo.businessSubId)
|
|
|
this.getProductionTypes(this.pageParams.row.assetsId);
|
|
|
this.getCurrentNodeInfo();
|
|
|
this.getAllotDepartment();
|
|
@@ -1418,13 +1553,11 @@ export default {
|
|
|
let nodeCode = this.currentNode.nodeCode;
|
|
|
switch (nodeCode) {
|
|
|
case 'GENERATE_STATEMENT':
|
|
|
- let notTakeNumberTargets = this.assetsEvaluationTarget.filter(function (e) {
|
|
|
- return e.productionNo == null;
|
|
|
- })
|
|
|
+ let notTakeNumberTargets = this.assetsEvaluationTarget.filter(obj => !obj.productionNo).length;
|
|
|
if (notTakeNumberTargets.length > 0) {
|
|
|
this.$notify({
|
|
|
title: '提示',
|
|
|
- message: '还有价值意见书号未取的估价对象,请先完成取号操作。',
|
|
|
+ message: '还有意见书号未取的估价对象,请先完成取号操作。',
|
|
|
type: 'error',
|
|
|
duration: 3000
|
|
|
});
|
|
@@ -1443,13 +1576,11 @@ export default {
|
|
|
callback(verify);
|
|
|
return;
|
|
|
}
|
|
|
- let selected = this.productions.filter(function (e) {
|
|
|
- return e.reportNo === commit.businessSubId
|
|
|
- })
|
|
|
- if (!selected[0].name) {
|
|
|
+ if (this.proInatanceCount > 0) {
|
|
|
+
|
|
|
this.$notify({
|
|
|
title: '提示',
|
|
|
- message: '请完成所选产品的基本信息后,再进行流程提交。',
|
|
|
+ message: '该产品已提交相应流程,不可重复提交。',
|
|
|
type: 'error',
|
|
|
duration: 3000
|
|
|
});
|
|
@@ -1457,6 +1588,20 @@ export default {
|
|
|
callback(verify);
|
|
|
return;
|
|
|
}
|
|
|
+ // let selected = this.productions.filter(function (e) {
|
|
|
+ // return e.reportNo === commit.businessSubId
|
|
|
+ // })
|
|
|
+ // if (!selected[0].name) {
|
|
|
+ // this.$notify({
|
|
|
+ // title: '提示',
|
|
|
+ // message: '请完成所选产品的基本信息后,再进行流程提交。',
|
|
|
+ // type: 'error',
|
|
|
+ // duration: 3000
|
|
|
+ // });
|
|
|
+ // verify.state = false;
|
|
|
+ // callback(verify);
|
|
|
+ // return;
|
|
|
+ // }
|
|
|
break;
|
|
|
case 'WRITE_REPORT':
|
|
|
let notTakeReportNoTargets = this.evaluateLandData.filter(function (e) {
|
|
@@ -1649,15 +1794,15 @@ export default {
|
|
|
// 打开前判断是否已经选择客户信息
|
|
|
if (this.targetFassetsFormorm.clienteleType === "个人" || this.assetsForm.clienteleType != null && this.assetsForm.clienteleId != null && this.assetsForm.clienteleSubId != null) {
|
|
|
this.createLinkmanVisible = true;
|
|
|
- this.linkmanFrom.terminal = val;
|
|
|
- this.linkmanFrom.clienteleType = this.assetsForm.clienteleType;
|
|
|
- this.linkmanFrom.clienteleId = this.assetsForm.clienteleId;
|
|
|
- this.linkmanFrom.clienteleSubId = this.assetsForm.clienteleSubId;
|
|
|
+ this.linkmanForm.terminal = val;
|
|
|
+ this.linkmanForm.clienteleType = this.assetsForm.clienteleType;
|
|
|
+ this.linkmanForm.clienteleId = this.assetsForm.clienteleId;
|
|
|
+ this.linkmanForm.clienteleSubId = this.assetsForm.clienteleSubId;
|
|
|
if (this.assetsForm.clienteleType === '企业') {
|
|
|
- this.linkmanFrom.ccId = this.assetsForm.clienteleSubId
|
|
|
+ this.linkmanForm.ccId = this.assetsForm.clienteleSubId
|
|
|
} else {
|
|
|
this.assetsForm.clienteleSubId = 1;
|
|
|
- this.linkmanFrom.ccId = this.assetsForm.clienteleSubId;
|
|
|
+ this.linkmanForm.ccId = this.assetsForm.clienteleSubId;
|
|
|
}
|
|
|
} else {
|
|
|
this.$notify({
|
|
@@ -1879,7 +2024,7 @@ export default {
|
|
|
changeresProduction(res, file, fileList) {
|
|
|
// 上传成功向表单附件信息数组添加信息
|
|
|
if (res.code === 200) {
|
|
|
- this.assetsProductionFrom.filePath.push({ name: file.name, url: res.data.url });
|
|
|
+ this.assetsProductionForm.filePath.push({ name: file.name, url: res.data.url });
|
|
|
} else {
|
|
|
this.$notify({
|
|
|
title: '错误',
|
|
@@ -1912,7 +2057,7 @@ export default {
|
|
|
fileList = fileList.filter((o) => {
|
|
|
return o.name !== file.name
|
|
|
});
|
|
|
- this.assetsProductionFrom.filePath = this.assetsProductionFrom.filePath.filter((o) => {
|
|
|
+ this.assetsProductionForm.filePath = this.assetsProductionForm.filePath.filter((o) => {
|
|
|
return o.name !== file.name
|
|
|
});
|
|
|
},
|
|
@@ -2058,7 +2203,7 @@ export default {
|
|
|
if (res.code === 200) {
|
|
|
// 产品信息不为null,则证明已经选择过产品,将按钮改为修改
|
|
|
if (res.data !== null) {
|
|
|
- this.assetsProductionFrom = res.data;
|
|
|
+ this.assetsProductionForm = res.data;
|
|
|
this.productionChoiceStatus = 1;
|
|
|
}
|
|
|
}
|
|
@@ -2066,26 +2211,26 @@ export default {
|
|
|
},
|
|
|
// 选择产品,新增产品信息
|
|
|
assetsProductionSave() {
|
|
|
- this.$refs.assetsProductionFrom.validate(valid => {
|
|
|
+ this.$refs.assetsProductionForm.validate(valid => {
|
|
|
if (valid) {
|
|
|
- this.assetsProductionFrom.businessId = this.assetsForm.id;
|
|
|
- if (this.assetsProductionFrom.productionType == 1) {
|
|
|
+ this.assetsProductionForm.businessId = this.assetsForm.id;
|
|
|
+ if (this.assetsProductionForm.productionType == 1) {
|
|
|
// 价值意见书
|
|
|
- this.assetsProductionFrom.productionType = 'STATEMENT';
|
|
|
- } else if (this.assetsProductionFrom.productionType == 4) {
|
|
|
+ this.assetsProductionForm.productionType = 'STATEMENT';
|
|
|
+ } else if (this.assetsProductionForm.productionType == 4) {
|
|
|
// 意见函
|
|
|
- this.assetsProductionFrom.productionType = 'LETTER';
|
|
|
- } else if (this.assetsProductionFrom.productionType == 2) {
|
|
|
+ this.assetsProductionForm.productionType = 'LETTER';
|
|
|
+ } else if (this.assetsProductionForm.productionType == 2) {
|
|
|
// 咨询报告
|
|
|
- this.assetsProductionFrom.productionType = 'CONSULT';
|
|
|
+ this.assetsProductionForm.productionType = 'CONSULT';
|
|
|
} else {
|
|
|
// 评估报告
|
|
|
- this.assetsProductionFrom.productionType = 'REPORT';
|
|
|
+ this.assetsProductionForm.productionType = 'REPORT';
|
|
|
}
|
|
|
- this.assetsProductionFrom.filePath = JSON.stringify(this.assetsProductionFrom.filePath);
|
|
|
- this.assetsProductionFrom.signatory = JSON.stringify(this.assetsProductionFrom.signatory);
|
|
|
+ this.assetsProductionForm.filePath = JSON.stringify(this.assetsProductionForm.filePath);
|
|
|
+ this.assetsProductionForm.signatory = JSON.stringify(this.assetsProductionForm.signatory);
|
|
|
this.taskRecordDTO.recordId = this.currentNode.tasks[0].recordId;
|
|
|
- this.taskRecordDTO.taskData = this.assetsProductionFrom;
|
|
|
+ this.taskRecordDTO.taskData = this.assetsProductionForm;
|
|
|
this.$api.assets.assetsProductionSave(this.taskRecordDTO).then(res => {
|
|
|
if (res.code === 200) {
|
|
|
this.$notify({
|
|
@@ -2096,7 +2241,7 @@ export default {
|
|
|
});
|
|
|
this.getProductionTypes(this.assetsForm.id);
|
|
|
this.productionChoiceDialogVisible = false;
|
|
|
- this.$refs.assetsProductionFrom.resetFields();
|
|
|
+ this.$refs.assetsProductionForm.resetFields();
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -2104,22 +2249,22 @@ export default {
|
|
|
},
|
|
|
// 选择产品,更新已选择产品信息
|
|
|
assetsProductionUpdate() {
|
|
|
- this.$refs.assetsProductionFrom.validate(valid => {
|
|
|
+ this.$refs.assetsProductionForm.validate(valid => {
|
|
|
if (valid) {
|
|
|
- this.assetsProductionFrom.businessId = this.assetsForm.id;
|
|
|
- if (this.assetsProductionFrom.productionType == 1) {
|
|
|
+ this.assetsProductionForm.businessId = this.assetsForm.id;
|
|
|
+ if (this.assetsProductionForm.productionType == 1) {
|
|
|
// 价值意见书
|
|
|
- this.assetsProductionFrom.productionType = 'STATEMENT';
|
|
|
- } else if (this.assetsProductionFrom.productionType == 4) {
|
|
|
+ this.assetsProductionForm.productionType = 'STATEMENT';
|
|
|
+ } else if (this.assetsProductionForm.productionType == 4) {
|
|
|
// 意见函
|
|
|
- this.assetsProductionFrom.productionType = 'LETTER';
|
|
|
+ this.assetsProductionForm.productionType = 'LETTER';
|
|
|
} else {
|
|
|
// 报告
|
|
|
- this.assetsProductionFrom.productionType = 'REPORT';
|
|
|
+ this.assetsProductionForm.productionType = 'REPORT';
|
|
|
}
|
|
|
- this.assetsProductionFrom.filePath = JSON.stringify(this.assetsProductionFrom.filePath);
|
|
|
- this.assetsProductionFrom.signatory = JSON.stringify(this.assetsProductionFrom.signatory);
|
|
|
- this.$api.assets.assetsProductionUpdate(this.assetsProductionFrom).then(res => {
|
|
|
+ this.assetsProductionForm.filePath = JSON.stringify(this.assetsProductionForm.filePath);
|
|
|
+ this.assetsProductionForm.signatory = JSON.stringify(this.assetsProductionForm.signatory);
|
|
|
+ this.$api.assets.assetsProductionUpdate(this.assetsProductionForm).then(res => {
|
|
|
if (res.code === 200) {
|
|
|
this.$notify({
|
|
|
title: '成功',
|
|
@@ -2129,7 +2274,7 @@ export default {
|
|
|
});
|
|
|
this.getProductionTypes(this.assetsForm.id);
|
|
|
this.productionChoiceDialogVisible = false;
|
|
|
- this.$refs.assetsProductionFrom.resetFields();
|
|
|
+ this.$refs.assetsProductionForm.resetFields();
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -2151,7 +2296,7 @@ export default {
|
|
|
this.takeAssetsProductionNoDTO.businessId = this.assetsForm.id;
|
|
|
this.takeAssetsProductionNoDTO.productionType = this.nodeBusinessInfo.production[0];
|
|
|
this.getProductionByBusinessId(this.assetsForm.id);
|
|
|
- this.takeAssetsProductionNoDTO.printCount = this.assetsProductionFrom.printCount;
|
|
|
+ this.takeAssetsProductionNoDTO.printCount = this.assetsProductionForm.printCount;
|
|
|
|
|
|
if (!this.takeAssetsProductionNoDTO.targetIdList.length == 0) {
|
|
|
this.$api.assets.takeAssetsProductionNo(this.takeAssetsProductionNoDTO).then(res => {
|
|
@@ -2189,44 +2334,46 @@ export default {
|
|
|
return true;
|
|
|
}
|
|
|
},
|
|
|
- openWriteProductionDialog() {
|
|
|
+ openWriteProductionDialog(status, type) {
|
|
|
this.productionWriteDialogVisible = true;
|
|
|
+ this.productionDisabledStatus = status;
|
|
|
+ this.writeType = type;
|
|
|
},
|
|
|
// 根据业务id与产品号获取资产产品详细信息
|
|
|
getAssetsProductionDetail(index) {
|
|
|
let assetsProductionDetailDTO = { businessId: null, productionNo: null };
|
|
|
assetsProductionDetailDTO.businessId = this.assetsForm.id;
|
|
|
- assetsProductionDetailDTO.productionNo = this.assetsProductionFrom.productionNo;
|
|
|
+ assetsProductionDetailDTO.productionNo = this.assetsProductionForm.productionNo;
|
|
|
this.$api.assets.getAssetsProductionDetail(assetsProductionDetailDTO).then(res => {
|
|
|
if (res.code == 200 && res.data !== null) {
|
|
|
- this.assetsProductionFrom.printCount = res.data.printCount;
|
|
|
- this.assetsProductionFrom.clientName = this.assetsForm.bailorContactName;
|
|
|
- this.assetsProductionFrom.clientTel = this.assetsForm.bailorContactTel;
|
|
|
- this.assetsProductionFrom.assetsName = this.assetsForm.name;
|
|
|
- this.assetsProductionFrom.owner = this.assetsEvaluationTarget.find(obj => obj.productionNo === assetsProductionDetailDTO.productionNo)?.theHolder;
|
|
|
- this.assetsProductionFrom.valuationBasisDate = this.assetsEvaluationTarget[0].valuationBasisDate;
|
|
|
- this.assetsProductionFrom.filePath = [];
|
|
|
- this.assetsProductionFrom.signatory = [];
|
|
|
+ this.assetsProductionForm.printCount = res.data.printCount;
|
|
|
+ this.assetsProductionForm.clientName = this.assetsForm.bailorContactName;
|
|
|
+ this.assetsProductionForm.clientTel = this.assetsForm.bailorContactTel;
|
|
|
+ this.assetsProductionForm.assetsName = this.assetsForm.name;
|
|
|
+ this.assetsProductionForm.owner = this.assetsEvaluationTarget.find(obj => obj.productionNo === assetsProductionDetailDTO.productionNo)?.theHolder;
|
|
|
+ this.assetsProductionForm.valuationBasisDate = this.assetsEvaluationTarget[0].valuationBasisDate;
|
|
|
+ this.assetsProductionForm.filePath = [];
|
|
|
+ this.assetsProductionForm.signatory = [];
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
// 当产品单价或面积改变时触发
|
|
|
computeAmount() {
|
|
|
- this.assetsProductionFrom.evaluateAmount = (this.assetsProductionFrom.evaluatePrice * this.assetsProductionFrom.evaluateAcreage) / 10000;
|
|
|
+ this.assetsProductionForm.evaluateAmount = (this.assetsProductionForm.evaluatePrice * this.assetsProductionForm.evaluateAcreage) / 10000;
|
|
|
},
|
|
|
// 资产撰写产品(意见书和报告都是这个接口)
|
|
|
writeAssetsProduction() {
|
|
|
- this.$refs.assetsProductionFrom.validate(valid => {
|
|
|
+ this.$refs.assetsProductionForm.validate(valid => {
|
|
|
if (valid) {
|
|
|
- this.assetsProductionFrom.filePath = JSON.stringify(this.assetsProductionFrom.filePath);
|
|
|
- if (this.assetsProductionFrom.signatory !== null) {
|
|
|
- this.assetsProductionFrom.signatory = JSON.stringify(this.assetsProductionFrom.signatory);
|
|
|
+ this.assetsProductionForm.filePath = JSON.stringify(this.assetsProductionForm.filePath);
|
|
|
+ if (this.assetsProductionForm.signatory !== null) {
|
|
|
+ this.assetsProductionForm.signatory = JSON.stringify(this.assetsProductionForm.signatory);
|
|
|
} else {
|
|
|
- this.assetsProductionFrom.signatory = null;
|
|
|
+ this.assetsProductionForm.signatory = null;
|
|
|
}
|
|
|
- this.assetsProductionFrom.businessId = this.assetsForm.id;
|
|
|
+ this.assetsProductionForm.businessId = this.assetsForm.id;
|
|
|
this.taskRecordDTO.recordId = this.currentNode.tasks[0].recordId;
|
|
|
- this.taskRecordDTO.taskData = this.assetsProductionFrom;
|
|
|
+ this.taskRecordDTO.taskData = this.assetsProductionForm;
|
|
|
this.$api.assets.writeAssetsProduction(this.taskRecordDTO).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
this.$notify({
|
|
@@ -2238,7 +2385,7 @@ export default {
|
|
|
}
|
|
|
this.getAETargetListByAssetsId();
|
|
|
this.productionWriteDialogVisible = false;
|
|
|
- this.getProductionList()
|
|
|
+ this.getProductionList();
|
|
|
})
|
|
|
}
|
|
|
})
|
|
@@ -2264,7 +2411,17 @@ export default {
|
|
|
this.nodeBusinessInfo.reportNos.push(this.commitProductionNo);
|
|
|
this.nodeBusinessInfo.businessSubId = this.commitProductionNo;
|
|
|
|
|
|
- //判断是否还有未撰写的产品(false:无,提交时完成节点任务 true:有,提交时不完成节点任务)
|
|
|
+ // 查询该产品是否已有提交的流程
|
|
|
+ let aProListSelectDTO = { businessId: null, productionNo: null }
|
|
|
+ aProListSelectDTO.businessId = this.assetsForm.id;
|
|
|
+ aProListSelectDTO.productionNo = this.commitProductionNo;
|
|
|
+ this.$api.assets.getInatanceCount(aProListSelectDTO).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.proInatanceCount = res.data;
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ //判断是否还有未撰写的产品(false:无,提交时完成节点 true:有,提交时不完成节点)
|
|
|
let isNotWriteAllPro = this.assetsEvaluationTarget.some(obj =>
|
|
|
(obj.createProductionDate === null || obj.createProductionDate === '')
|
|
|
);
|
|
@@ -2274,6 +2431,124 @@ export default {
|
|
|
this.nodeBusinessInfo.ifCheckTask = true;
|
|
|
}
|
|
|
|
|
|
+ },
|
|
|
+ // 打开审核定价弹窗表单
|
|
|
+ openCheckValueDialog(id) {
|
|
|
+ this.checkValueDialogVisible = true;
|
|
|
+ this.$api.assets.getAssetsTargetDetail(id).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.targetForm = res.data;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.getAssetsEvaluationMethod()
|
|
|
+ },
|
|
|
+ // 评估对象审核定价
|
|
|
+ checkValue() {
|
|
|
+ this.$refs.targetForm.validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ this.$api.assets.checkValue(this.targetForm).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message: '审核定价已完成!',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ this.checkValueDialogVisible = false;
|
|
|
+ this.getAETargetListByAssetsId();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 根据产品id获取产品详情
|
|
|
+ getAssetsProductionDetail(id) {
|
|
|
+ this.$api.assets.getAssetsProductionDetail(id).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.assetsProductionForm = res.data;
|
|
|
+ this.assetsProductionForm.filePath = JSON.parse(res.data.filePath);
|
|
|
+ this.fileList = this.assetsProductionForm.filePath;
|
|
|
+ this.productionWriteDialogVisible = true;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 更新产品信息
|
|
|
+ productionUpdate() {
|
|
|
+ this.$refs.assetsProductionForm.validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ this.assetsProductionForm.filePath = JSON.stringify(this.assetsProductionForm.filePath);
|
|
|
+ if (this.assetsProductionForm.signatory !== null) {
|
|
|
+ this.assetsProductionForm.signatory = JSON.stringify(this.assetsProductionForm.signatory);
|
|
|
+ } else {
|
|
|
+ this.assetsProductionForm.signatory = null;
|
|
|
+ }
|
|
|
+ this.$api.assets.productionUpdate(this.assetsProductionForm).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message: '产品修改成功!',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ }
|
|
|
+ this.getAETargetListByAssetsId();
|
|
|
+ this.productionWriteDialogVisible = false;
|
|
|
+ this.getProductionList();
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 保存产品质检信息(新增与保存都是这个方法)
|
|
|
+ saveQuality() {
|
|
|
+ if ((this.productionPerformanceForm.hardMistake + this.productionPerformanceForm.fatalMistake + this.productionPerformanceForm.normalMistake) > 0 &&
|
|
|
+ this.productionPerformanceForm.reason !== null && this.productionPerformanceForm.reason !== '') {
|
|
|
+ this.taskRecordDTO.recordId = this.currentNode.tasks[0].recordId;
|
|
|
+ this.taskRecordDTO.taskData = this.productionPerformanceForm;
|
|
|
+ this.productionPerformanceForm.businessType = 'ASSET_BUSINESS';
|
|
|
+ const curNode = this.currentNode.nodeCode;
|
|
|
+ if (curNode==='REVIEW_STATEMENT' || curNode==='CHECK_REPORT'){
|
|
|
+ this.productionPerformanceForm.checkLoop = "初审";
|
|
|
+ }
|
|
|
+ if (curNode==='REEXAMINE_STATEMENT' || curNode==='RECHECK_REPORT'){
|
|
|
+ this.productionPerformanceForm.checkLoop = "复审";
|
|
|
+ }
|
|
|
+ if (curNode==='FOURTH_CHECK_REPORT'){
|
|
|
+ this.productionPerformanceForm.checkLoop = "三审";
|
|
|
+ }
|
|
|
+ // id不为空更新
|
|
|
+ if (this.productionPerformanceForm.id) {
|
|
|
+ this.$api.businessProductionPerformance.edit(this.taskRecordDTO).then(res => {
|
|
|
+ if (res.code === 200 && res.data) {
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message: '质检信息更新成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 3000
|
|
|
+ });
|
|
|
+ this.productionCheckDialogVisible = false;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else { // id为空新增
|
|
|
+ this.$api.businessProductionPerformance.add(this.taskRecordDTO).then(res => {
|
|
|
+ if (res.code === 200 && res.data) {
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message: '质检信息保存成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 3000
|
|
|
+ });
|
|
|
+ this.productionCheckDialogVisible = false;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$notify({
|
|
|
+ title: '错误',
|
|
|
+ message: '错误个数大于0时必须填写扣分原因',
|
|
|
+ type: 'error',
|
|
|
+ duration: 3000
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|