|
@@ -653,7 +653,7 @@
|
|
|
<el-row class="row-style">
|
|
|
<el-col :xs="24" :sm="12" :lg="18" :span="6">
|
|
|
<el-form-item prop="filePath" label="资料附件:" label-width="120px" class="postInfo-container-item">
|
|
|
- <el-upload action="/api/upload" :limit="3" :on-success="changeres" :on-exceed="handleExceed"
|
|
|
+ <el-upload action="/api/upload" :limit="3" :on-success="changeresTarget" :on-exceed="handleExceed"
|
|
|
:on-preview="handleAttachmentPreview" :before-remove="beforeRemove" :file-list="fileList">
|
|
|
<el-button plain type="info" round style="width: 100%">上传附件<i
|
|
|
class="el-icon-upload el-icon--right"></i></el-button>
|
|
@@ -716,7 +716,7 @@
|
|
|
</el-form>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog :visible.sync="productionWriteDialogVisible">
|
|
|
+ <el-dialog :visible.sync="productionWriteDialogVisible" @close="resetProductionForm">
|
|
|
<el-form ref="assetsProductionFrom" :model="assetsProductionFrom" :rules="assetsProductionFromRules">
|
|
|
<div class="createMajor-main-container">
|
|
|
<div class="postInfo-container">
|
|
@@ -735,7 +735,7 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-row class="row-style">
|
|
|
+ <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>
|
|
@@ -771,8 +771,8 @@
|
|
|
<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" controls-position="right" :precision="2"
|
|
|
- :step="0.1"></el-input-number>
|
|
|
+ <el-input-number v-model="assetsProductionFrom.evaluateAcreage" @change="computeAmount"
|
|
|
+ controls-position="right" :precision="2" :step="0.1"></el-input-number>
|
|
|
<span>(m²)</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -780,8 +780,8 @@
|
|
|
<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" controls-position="right" :precision="2"
|
|
|
- :step="0.1"></el-input-number>
|
|
|
+ <el-input-number v-model="assetsProductionFrom.evaluatePrice" @change="computeAmount"
|
|
|
+ controls-position="right" :precision="2" :step="0.1"></el-input-number>
|
|
|
<span>(元)</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -822,8 +822,8 @@
|
|
|
<el-row class="row-style">
|
|
|
<el-col>
|
|
|
<el-form-item prop="filePath" label="资料附件:" label-width="120px" class="postInfo-container-item">
|
|
|
- <el-upload action="/api/upload" :limit="3" :on-success="changeres" :on-exceed="handleExceed"
|
|
|
- :on-preview="handleAttachmentPreview" :before-remove="beforeRemove" :file-list="fileList">
|
|
|
+ <el-upload action="/api/upload" :limit="3" :on-success="changeresProduction" :on-exceed="handleExceed"
|
|
|
+ :on-preview="handleAttachmentPreview" :before-remove="beforeRemovePro" :file-list="fileList">
|
|
|
<el-button plain type="info" round style="width: 100%">上传附件<i
|
|
|
class="el-icon-upload el-icon--right"></i></el-button>
|
|
|
</el-upload>
|
|
@@ -840,10 +840,7 @@
|
|
|
</el-row>
|
|
|
|
|
|
<el-row class="row-style">
|
|
|
- <el-button v-if="productionChoiceStatus == 0" @click="assetsProductionSave"
|
|
|
- style="width:100%;">提交</el-button>
|
|
|
- <el-button v-if="productionChoiceStatus == 1" @click="assetsProductionUpdate"
|
|
|
- style="width:100%;">提交</el-button>
|
|
|
+ <el-button @click="writeAssetsProduction" style="width:100%;">提交</el-button>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -952,6 +949,7 @@ export default {
|
|
|
currentNodeInstanceId: null,
|
|
|
currentNodeInstanceCode: null,
|
|
|
production: [],
|
|
|
+ reportNos: ["川友预报字(2024)第0106-1号","川友预报字(2024)第0106-2号"],
|
|
|
businessSubId: null,
|
|
|
ifFeedback: null
|
|
|
},
|
|
@@ -1293,6 +1291,7 @@ 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;
|
|
|
this.getProductionTypes(this.pageParams.row.assetsId);
|
|
|
this.getCurrentNodeInfo();
|
|
|
this.getAllotDepartment();
|
|
@@ -1327,9 +1326,8 @@ export default {
|
|
|
verify.nextHandlerId = this.secondCheckUserId;
|
|
|
if (commit.state === 'PASS') {
|
|
|
let nodeCode = this.currentNode.nodeCode;
|
|
|
- console.log('3:', this.nodeBusinessInfo);
|
|
|
switch (nodeCode) {
|
|
|
- case 'WRITE_STATEMENT':
|
|
|
+ case 'GENERATE_STATEMENT':
|
|
|
let notTakeNumberTargets = this.evaluateLandData.filter(function (e) {
|
|
|
return e.statementNo == null;
|
|
|
})
|
|
@@ -1471,7 +1469,7 @@ export default {
|
|
|
}
|
|
|
callback(verify);
|
|
|
}
|
|
|
- let specialNodesForReverse = ["WRITE_STATEMENT", "WRITE_REPORT", "WRITE_LETTER"];
|
|
|
+ let specialNodesForReverse = ["GENERATE_STATEMENT", "WRITE_REPORT", "WRITE_LETTER"];
|
|
|
if (commit.state === 'REVERSE' && specialNodesForReverse.includes(this.currentNode.nodeCode)) {
|
|
|
this.$refs.board.getPreviousNode();
|
|
|
let reportNos = this.evaluateLandData.map(item => item.reportNo);
|
|
@@ -1710,6 +1708,9 @@ export default {
|
|
|
this.$api.assets.getAETargetListByAssetsId(aETargetListSelectDTO).then(res => {
|
|
|
if (res.code === 200) {
|
|
|
this.assetsEvaluationTarget = res.data;
|
|
|
+ for (let i = 0; i < res.data.length; i++) {
|
|
|
+ // this.nodeBusinessInfo.reportNos.push(res.data[i].productionNo);
|
|
|
+ }
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -1771,7 +1772,7 @@ export default {
|
|
|
|
|
|
},
|
|
|
// 文件选择改变触发事件
|
|
|
- changeres(res, file, fileList) {
|
|
|
+ changeresTarget(res, file, fileList) {
|
|
|
// 上传成功向表单附件信息数组添加信息
|
|
|
if (res.code === 200) {
|
|
|
this.targetForm.filePath.push({ name: file.name, url: res.data.url });
|
|
@@ -1785,6 +1786,20 @@ export default {
|
|
|
}
|
|
|
|
|
|
},
|
|
|
+ changeresProduction(res, file, fileList) {
|
|
|
+ // 上传成功向表单附件信息数组添加信息
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.assetsProductionFrom.filePath.push({ name: file.name, url: res.data.url });
|
|
|
+ } else {
|
|
|
+ this.$notify({
|
|
|
+ title: '错误',
|
|
|
+ message: '电子文档上传失败',
|
|
|
+ type: 'error',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
// 文件上传数量限制
|
|
|
handleExceed() {
|
|
|
this.$message.warning(`当前限制选择 3个文件!`);
|
|
@@ -1802,6 +1817,15 @@ export default {
|
|
|
return o.name !== file.name
|
|
|
});
|
|
|
},
|
|
|
+ // 移除文件
|
|
|
+ beforeRemovePro(file, fileList) {
|
|
|
+ fileList = fileList.filter((o) => {
|
|
|
+ return o.name !== file.name
|
|
|
+ });
|
|
|
+ this.assetsProductionFrom.filePath = this.assetsProductionFrom.filePath.filter((o) => {
|
|
|
+ return o.name !== file.name
|
|
|
+ });
|
|
|
+ },
|
|
|
resettargetForm() {
|
|
|
this.targetForm = this.targetFormBack;
|
|
|
this.fileList = [];
|
|
@@ -1969,13 +1993,14 @@ export default {
|
|
|
this.assetsProductionFrom.productionType = 'REPORT';
|
|
|
}
|
|
|
this.assetsProductionFrom.filePath = JSON.stringify(this.assetsProductionFrom.filePath);
|
|
|
+ this.assetsProductionFrom.signatory = JSON.stringify(this.assetsProductionFrom.signatory);
|
|
|
this.taskRecordDTO.recordId = this.currentNode.tasks[0].recordId;
|
|
|
this.taskRecordDTO.taskData = this.assetsProductionFrom;
|
|
|
this.$api.assets.assetsProductionSave(this.taskRecordDTO).then(res => {
|
|
|
if (res.code === 200) {
|
|
|
this.$notify({
|
|
|
title: '成功',
|
|
|
- message: '选择产品成功!',
|
|
|
+ message: '选择产品成功!请继续提交流程节点!',
|
|
|
type: 'success',
|
|
|
duration: 2000
|
|
|
});
|
|
@@ -2003,6 +2028,7 @@ export default {
|
|
|
this.assetsProductionFrom.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 => {
|
|
|
if (res.code === 200) {
|
|
|
this.$notify({
|
|
@@ -2084,12 +2110,47 @@ export default {
|
|
|
assetsProductionDetailDTO.productionNo = this.pageParams.row.productionNo;
|
|
|
this.$api.assets.getAssetsProductionDetail(assetsProductionDetailDTO).then(res => {
|
|
|
if (res.code == 200 && res.data !== null) {
|
|
|
- this.assetsProductionFrom = res.data;
|
|
|
+ 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[0].theHolder;
|
|
|
this.assetsProductionFrom.valuationBasisDate = this.assetsEvaluationTarget[0].valuationBasisDate;
|
|
|
+ this.assetsProductionFrom.filePath = [];
|
|
|
+ this.assetsProductionFrom.signatory = [];
|
|
|
+ console.log(this.assetsProductionFrom);
|
|
|
}
|
|
|
})
|
|
|
+ },
|
|
|
+ // 当产品单价或面积改变时触发
|
|
|
+ computeAmount() {
|
|
|
+ this.assetsProductionFrom.evaluateAmount = (this.assetsProductionFrom.evaluatePrice * this.assetsProductionFrom.evaluateAcreage) / 10000;
|
|
|
+ },
|
|
|
+ // 资产撰写产品(意见书和报告都是这个接口)
|
|
|
+ writeAssetsProduction() {
|
|
|
+ this.assetsProductionFrom.filePath = JSON.stringify(this.assetsProductionFrom.filePath);
|
|
|
+ if (this.assetsProductionFrom.signatory.length > 0) {
|
|
|
+ this.assetsProductionFrom.signatory = JSON.stringify(this.assetsProductionFrom.signatory);
|
|
|
+ } else {
|
|
|
+ this.assetsProductionFrom.signatory = null;
|
|
|
+ }
|
|
|
+ this.assetsProductionFrom.businessId = this.assetsForm.id;
|
|
|
+ this.assetsProductionFrom.productionNo = this.assetsEvaluationTarget[0].productionNo;
|
|
|
+ this.taskRecordDTO.recordId = this.currentNode.tasks[0].recordId;
|
|
|
+ this.taskRecordDTO.taskData = this.assetsProductionFrom;
|
|
|
+ this.$api.assets.writeAssetsProduction(this.taskRecordDTO).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message: '产品撰写成功!请继续提交流程节点!',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ resetProductionForm() {
|
|
|
+ this.fileList = [];
|
|
|
}
|
|
|
|
|
|
}
|