|
@@ -6,15 +6,31 @@
|
|
<span style="font-size:20px; margin-left:20px;letter-spacing:2px;color:red">
|
|
<span style="font-size:20px; margin-left:20px;letter-spacing:2px;color:red">
|
|
<i class="el-icon-warning"></i>
|
|
<i class="el-icon-warning"></i>
|
|
<span> 当前节点:{{ currentNode == null ? '???' : currentNode.nodeName }}</span>
|
|
<span> 当前节点:{{ currentNode == null ? '???' : currentNode.nodeName }}</span>
|
|
- <span> 项目编号:{{ nodeBusinessInfo.businessSubId }}</span>
|
|
|
|
|
|
+ <!-- <span v-if = "currentNode.tasks.length>0" style="margin-left:30px">任务:</span> -->
|
|
|
|
+ <!-- <span v-for="( t,index) in currentNode.tasks" :key=index >{{t.info}}</span> -->
|
|
|
|
+ <!-- <span style="margin-left:30px" v-if="statementNo || reportNo">该流程已取:<el-tag type="success" v-if="statementNo">{{statementNo}}</el-tag> <el-tag type="danger" v-if="reportNo">{{reportNo}}</el-tag></span> -->
|
|
</span>
|
|
</span>
|
|
<span style="font-size:15px; margin-left:15px;letter-spacing:2px; color:RGB(168,168,168)">
|
|
<span style="font-size:15px; margin-left:15px;letter-spacing:2px; color:RGB(168,168,168)">
|
|
点击展开查看实时流程图
|
|
点击展开查看实时流程图
|
|
</span>
|
|
</span>
|
|
</template>
|
|
</template>
|
|
- <WorkflowBoard ref='board' @workflowCommitVerify="workflowCommitVerify" :nodeBusinessInfo="nodeBusinessInfo" />
|
|
|
|
|
|
+ <WorkflowBoard ref='board' @workflowCommitVerify="workflowCommitVerify" :nodeBusinessInfo="nodeBusinessInfo"
|
|
|
|
+ @getPreviousNode="getPreviousNode" />
|
|
</el-collapse-item>
|
|
</el-collapse-item>
|
|
</el-collapse>
|
|
</el-collapse>
|
|
|
|
+ <div class="button-area">
|
|
|
|
+ <el-button v-if="nodeBusinessInfo.currentNodePermission.commit" class="y-save" type="success" round
|
|
|
|
+ @click="commit('PASS')" :disabled="!nodeBusinessInfo.doWorkflow">提交</el-button>
|
|
|
|
+ <el-button v-if="nodeBusinessInfo.currentNodePermission.reversible" class="y-save" type="warning" round
|
|
|
|
+ @click="commit('REVERSE')" :disabled="!nodeBusinessInfo.doWorkflow">退回</el-button>
|
|
|
|
+ <el-button v-if="nodeBusinessInfo.currentNodePermission.skippable" class="y-save" type="warning" round
|
|
|
|
+ @click="commit('SKIP')" :disabled="!nodeBusinessInfo.doWorkflow">跳过</el-button>
|
|
|
|
+ <el-button v-if="nodeBusinessInfo.currentNodePermission.terminable" class="y-save" type="danger" round
|
|
|
|
+ @click="commit('TERMINATE')" :disabled="!nodeBusinessInfo.doWorkflow">终止</el-button>
|
|
|
|
+ <el-button v-if="nodeBusinessInfo.currentNodePermission.restartable" class="y-save" type="danger" round
|
|
|
|
+ @click="commit('RESTART')" :disabled="!nodeBusinessInfo.doWorkflow">重置</el-button>
|
|
|
|
+ <el-button class="y-save" round type="info" @click="goBack">返回</el-button>
|
|
|
|
+ </div>
|
|
<el-tabs v-model="activeTagName" @tab-click="handleClick" type="border-card">
|
|
<el-tabs v-model="activeTagName" @tab-click="handleClick" type="border-card">
|
|
<el-tab-pane name="baseInfo" class="pane-class" :lazy=true>
|
|
<el-tab-pane name="baseInfo" class="pane-class" :lazy=true>
|
|
<span slot="label"><i class="el-icon-document"></i>基本信息</span>
|
|
<span slot="label"><i class="el-icon-document"></i>基本信息</span>
|
|
@@ -269,8 +285,9 @@
|
|
<el-tab-pane name="members" class="pane-class" :lazy=true>
|
|
<el-tab-pane name="members" class="pane-class" :lazy=true>
|
|
<span slot="label"><i class="el-icon-document"></i>项目人员</span>
|
|
<span slot="label"><i class="el-icon-document"></i>项目人员</span>
|
|
<y-detail-page-layout @save="updatePrincipalAndMembers" ref="addAssetsOrder" name="assets"
|
|
<y-detail-page-layout @save="updatePrincipalAndMembers" ref="addAssetsOrder" name="assets"
|
|
- :editStatus="editStatus">
|
|
|
|
- <el-form ref="targetForm" :model="targetForm" :rules="targetFormRules" :disabled="disabledStatus">
|
|
|
|
|
|
+ :editStatus="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'">
|
|
|
|
+ <el-form ref="assetsForm" :model="assetsForm" :rules="assetsFormRules"
|
|
|
|
+ :disabled="currentNode.nodeCode !== 'DEPARTMENT_ALLOCATION'">
|
|
<div class="createMajor-main-container">
|
|
<div class="createMajor-main-container">
|
|
<div class="postInfo-container">
|
|
<div class="postInfo-container">
|
|
<div style="margin-top: 35px;">
|
|
<div style="margin-top: 35px;">
|
|
@@ -286,7 +303,7 @@
|
|
<el-form-item label="项目负责人:" prop="principalId" label-width="120px"
|
|
<el-form-item label="项目负责人:" prop="principalId" label-width="120px"
|
|
:class="['postInfo-container-item', currentNode.nodeCode === 'DEPARTMENT_ALLOCATION' ? 'task-class' : '']"
|
|
:class="['postInfo-container-item', currentNode.nodeCode === 'DEPARTMENT_ALLOCATION' ? 'task-class' : '']"
|
|
:rules="{ required: true, message: '项目负责人不能为空', trigger: 'blur' }">
|
|
:rules="{ required: true, message: '项目负责人不能为空', trigger: 'blur' }">
|
|
- <el-select v-model="targetForm.principalId" placeholder="请选择"
|
|
|
|
|
|
+ <el-select v-model="assetsForm.principalId" placeholder="请选择"
|
|
:filterable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
|
|
:filterable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
|
|
:clearable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
|
|
:clearable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
|
|
:readonly="currentNode.nodeCode != 'DEPARTMENT_ALLOCATION'"
|
|
:readonly="currentNode.nodeCode != 'DEPARTMENT_ALLOCATION'"
|
|
@@ -301,7 +318,7 @@
|
|
<el-form-item label="项目成员:" prop="members" label-width="120px"
|
|
<el-form-item label="项目成员:" prop="members" label-width="120px"
|
|
:class="['postInfo-container-item', currentNode.nodeCode === 'DEPARTMENT_ALLOCATION' ? 'task-class' : '']"
|
|
:class="['postInfo-container-item', currentNode.nodeCode === 'DEPARTMENT_ALLOCATION' ? 'task-class' : '']"
|
|
:rules="{ required: true, message: '项目成员不能为空', trigger: 'blur' }">
|
|
:rules="{ required: true, message: '项目成员不能为空', trigger: 'blur' }">
|
|
- <el-select v-model="targetForm.members" placeholder="请选择" multiple style=" width: 686px"
|
|
|
|
|
|
+ <el-select v-model="assetsForm.members" placeholder="请选择" multiple style=" width: 686px"
|
|
:filterable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
|
|
:filterable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
|
|
:clearable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
|
|
:clearable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
|
|
:readonly="currentNode.nodeCode != 'DEPARTMENT_ALLOCATION'"
|
|
:readonly="currentNode.nodeCode != 'DEPARTMENT_ALLOCATION'"
|
|
@@ -317,7 +334,7 @@
|
|
</y-detail-page-layout>
|
|
</y-detail-page-layout>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
<el-tab-pane name="target" class="pane-class" :lazy=true>
|
|
<el-tab-pane name="target" class="pane-class" :lazy=true>
|
|
- <span @click="getAETargetListByAssetsId(assetsForm.id)" slot="label"><i class="el-icon-document"></i>资产评估对象</span>
|
|
|
|
|
|
+ <span @click="getAETargetListByAssetsId()" slot="label"><i class="el-icon-document"></i>资产评估对象</span>
|
|
<div class="createMajor-main-container">
|
|
<div class="createMajor-main-container">
|
|
<div class="postInfo-container">
|
|
<div class="postInfo-container">
|
|
<div style="margin-top: 35px;">
|
|
<div style="margin-top: 35px;">
|
|
@@ -389,7 +406,71 @@
|
|
</div>
|
|
</div>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
<el-tab-pane name="finance" class="pane-class" :lazy=true>
|
|
<el-tab-pane name="finance" class="pane-class" :lazy=true>
|
|
- <span slot="label"><i class="el-icon-document"></i>款项信息</span>
|
|
|
|
|
|
+ <span slot="label" @click="getOrderFundInvoiceById()"><i class="el-icon-document"></i>款项信息</span>
|
|
|
|
+ <div class="createMajor-main-container">
|
|
|
|
+ <div class="postInfo-container">
|
|
|
|
+ <div style="margin-top: 35px;">
|
|
|
|
+ <el-divider content-position="left">
|
|
|
|
+ <h3 class="title">
|
|
|
|
+ <div class="avatar-wrapper icon-title">款项</div>
|
|
|
|
+ <div class="icon-info">资产款项信息</div>
|
|
|
|
+ </h3>
|
|
|
|
+ </el-divider>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <el-form ref="invoiceData" :model="invoiceData" :disabled="true">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="应收金额(元):" prop="shouldAmount" label-width="120px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model="invoiceData.shouldAmount" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="实收金额(元):" prop="realAmount" label-width="120px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model="invoiceData.realAmount" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="剩余金额(元):" prop="leftAmount" label-width="120px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model="invoiceData.leftAmount" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="开票类型:" prop="type" label-width="120px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model="invoiceData.type" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="发票抬头:" prop="title" label-width="120px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model="invoiceData.title" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="税号:" prop="taxNo" label-width="120px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model="invoiceData.taxNo" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="开户银行:" prop="bankName" label-width="120px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model="invoiceData.bankName" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="银行地址:" prop="bankAddress" label-width="120px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model="invoiceData.bankAddress" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="联系电话:" prop="bankTel" label-width="120px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model="invoiceData.bankTel" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-form>
|
|
|
|
+
|
|
|
|
+ </div>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
</el-tabs>
|
|
<el-dialog :visible.sync="targetDialogVisible" @open="clear()" @close="resettargetForm"
|
|
<el-dialog :visible.sync="targetDialogVisible" @open="clear()" @close="resettargetForm"
|
|
@@ -560,30 +641,14 @@
|
|
<script>
|
|
<script>
|
|
import YDetailPageLayout from '@/components/YDetailPageLayout/index_detail'
|
|
import YDetailPageLayout from '@/components/YDetailPageLayout/index_detail'
|
|
import WorkflowBoard from '@/components/workflowBoard'
|
|
import WorkflowBoard from '@/components/workflowBoard'
|
|
-import ScanEntry from '@/components/ScanEntry'
|
|
|
|
import { isNumber, phoneNumber, postiveInteger, isIdNumber } from '@/utils/validate'
|
|
import { isNumber, phoneNumber, postiveInteger, isIdNumber } from '@/utils/validate'
|
|
import { calculateTargetPrice, validateParams } from '@/utils/personalUtil'
|
|
import { calculateTargetPrice, validateParams } from '@/utils/personalUtil'
|
|
-import HouseCertificate from '@/components/personalForms/houseCertificate'
|
|
|
|
-import LandCertificate from '@/components/personalForms/landCertificate'
|
|
|
|
-import ImmovableCertificate from '@/components/personalForms/immovableCertificate'
|
|
|
|
-import EntityInfo from '@/components/personalForms/entityInfo'
|
|
|
|
-import BackgroundInfo from '@/components/personalForms/backgroundInfo'
|
|
|
|
-import SellingAbilityInfo from '@/components/personalForms/sellingAbilityInfo'
|
|
|
|
-import existPNG from '@/assets/images/exist.png'
|
|
|
|
-import emptyPNG from '@/assets/images/empty.png'
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
- name: 'personalTodoDetail',
|
|
|
|
|
|
+ name: 'assetsDetail',
|
|
components: {
|
|
components: {
|
|
YDetailPageLayout,
|
|
YDetailPageLayout,
|
|
- WorkflowBoard,
|
|
|
|
- ScanEntry,
|
|
|
|
- HouseCertificate,
|
|
|
|
- LandCertificate,
|
|
|
|
- ImmovableCertificate,
|
|
|
|
- EntityInfo,
|
|
|
|
- BackgroundInfo,
|
|
|
|
- SellingAbilityInfo
|
|
|
|
|
|
+ WorkflowBoard
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
@@ -668,8 +733,8 @@ export default {
|
|
terminable: true,
|
|
terminable: true,
|
|
skippable: true,
|
|
skippable: true,
|
|
},
|
|
},
|
|
- mainBusiness: "PERSONAL_BUSINESS",
|
|
|
|
- doWorkflow: false,
|
|
|
|
|
|
+ mainBusiness: "ASSET_BUSINESS",
|
|
|
|
+ doWorkflow: true,
|
|
businessId: null,
|
|
businessId: null,
|
|
currentNodeInstanceId: null,
|
|
currentNodeInstanceId: null,
|
|
currentNodeInstanceCode: null,
|
|
currentNodeInstanceCode: null,
|
|
@@ -832,39 +897,22 @@ export default {
|
|
assetsId: null
|
|
assetsId: null
|
|
},
|
|
},
|
|
targetFormBack: {
|
|
targetFormBack: {
|
|
- // 资产评估目的id
|
|
|
|
evaluationPurposeId: null,
|
|
evaluationPurposeId: null,
|
|
- // 资产评估对象类型一级id
|
|
|
|
evaluationTypeId: null,
|
|
evaluationTypeId: null,
|
|
- // 资产评估对象类型二级id
|
|
|
|
evaluationTypeSecId: null,
|
|
evaluationTypeSecId: null,
|
|
- // 产权持有人
|
|
|
|
theHolder: null,
|
|
theHolder: null,
|
|
- // 资产价值类型id
|
|
|
|
assetsValueId: null,
|
|
assetsValueId: null,
|
|
- // 项目负责人id
|
|
|
|
principalId: null,
|
|
principalId: null,
|
|
- // 实勘人id (json 可多个)
|
|
|
|
siteIds: [],
|
|
siteIds: [],
|
|
- // 估价基准日
|
|
|
|
valuationBasisDate: null,
|
|
valuationBasisDate: null,
|
|
- // 评估方法id
|
|
|
|
evaluationMethodId: null,
|
|
evaluationMethodId: null,
|
|
- // 最终选择的评估方法id
|
|
|
|
choiceEvaluationMethodId: null,
|
|
choiceEvaluationMethodId: null,
|
|
- // 总资产账面值(万)
|
|
|
|
totalAssetCarryingAmount: null,
|
|
totalAssetCarryingAmount: null,
|
|
- // 总负债账面值(万)
|
|
|
|
totalLiabilitiesCarryingAmount: null,
|
|
totalLiabilitiesCarryingAmount: null,
|
|
- // 净资产账面值(万)
|
|
|
|
carryingAmountOfNetAssets: null,
|
|
carryingAmountOfNetAssets: null,
|
|
- // 评估结论对应的评估值(万)
|
|
|
|
estimatedValue: null,
|
|
estimatedValue: null,
|
|
- // 审核价格
|
|
|
|
checkValue: null,
|
|
checkValue: null,
|
|
- // 资料路由信息
|
|
|
|
filePath: [],
|
|
filePath: [],
|
|
- // 资产业务id
|
|
|
|
assetsId: null
|
|
assetsId: null
|
|
},
|
|
},
|
|
// 资产评估对象评估目的
|
|
// 资产评估对象评估目的
|
|
@@ -926,6 +974,24 @@ export default {
|
|
filePath: [
|
|
filePath: [
|
|
{ required: true, message: '请上传附件资料', trigger: 'change' }
|
|
{ required: true, message: '请上传附件资料', trigger: 'change' }
|
|
]
|
|
]
|
|
|
|
+ },
|
|
|
|
+ // 款项信息
|
|
|
|
+ invoiceData: {
|
|
|
|
+ businessId: null,
|
|
|
|
+ shouldAmount: null,
|
|
|
|
+ realAmount: null,
|
|
|
|
+ leftAmount: null,
|
|
|
|
+ title: null,
|
|
|
|
+ type: null,
|
|
|
|
+ taxNo: null,
|
|
|
|
+ bankName: null,
|
|
|
|
+ bankAddress: null,
|
|
|
|
+ bankTel: null
|
|
|
|
+ },
|
|
|
|
+ // 节点任务提交dto
|
|
|
|
+ taskRecordDTO: {
|
|
|
|
+ recordId: null,
|
|
|
|
+ taskData: {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -937,11 +1003,12 @@ export default {
|
|
this.couldBack = true;
|
|
this.couldBack = true;
|
|
// 获取页面参数
|
|
// 获取页面参数
|
|
this.pageParams = this.$route.query;
|
|
this.pageParams = this.$route.query;
|
|
|
|
+ this.getCurrentNodeInfo();
|
|
this.getAllotDepartment();
|
|
this.getAllotDepartment();
|
|
this.getCustomerCompany(0);
|
|
this.getCustomerCompany(0);
|
|
this.getCustomerCompany(1);
|
|
this.getCustomerCompany(1);
|
|
|
|
+
|
|
this.getAssetsDetailById(this.pageParams.id);
|
|
this.getAssetsDetailById(this.pageParams.id);
|
|
- this.getCurrentNodeInfo();
|
|
|
|
},
|
|
},
|
|
|
|
|
|
methods: {
|
|
methods: {
|
|
@@ -954,6 +1021,7 @@ export default {
|
|
this.initCustomerSelect(this.assetsForm.clienteleType);
|
|
this.initCustomerSelect(this.assetsForm.clienteleType);
|
|
this.getPrincipalByAllotDepartment();
|
|
this.getPrincipalByAllotDepartment();
|
|
this.getAllUser();
|
|
this.getAllUser();
|
|
|
|
+ this.$refs.board.getInstanceQueue();
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -964,74 +1032,175 @@ export default {
|
|
let commit = val.commit;
|
|
let commit = val.commit;
|
|
let verify = new Object();
|
|
let verify = new Object();
|
|
verify.state = true;
|
|
verify.state = true;
|
|
- verify.productionType = this.feedback;
|
|
|
|
|
|
+ verify.cleanReport = false;
|
|
|
|
+ verify.nextHandlerId = this.secondCheckUserId;
|
|
if (commit.state === 'PASS') {
|
|
if (commit.state === 'PASS') {
|
|
- let nodeCode = this.nodeBusinessInfo.currentNodeInstanceCode
|
|
|
|
|
|
+ let nodeCode = this.currentNode.nodeCode;
|
|
|
|
+ this.getProductions(this.majorId, (this.reportNo == null ? this.statementNo : this.reportNo));
|
|
switch (nodeCode) {
|
|
switch (nodeCode) {
|
|
- case 'DEPARTMENT_ALLOCATION':
|
|
|
|
- if (!this.personal.outwardStaff) {
|
|
|
|
|
|
+ case 'WRITE_STATEMENT':
|
|
|
|
+ let notTakeNumberTargets = this.evaluateLandData.filter(function (e) {
|
|
|
|
+ return e.statementNo == null;
|
|
|
|
+ })
|
|
|
|
+ if (notTakeNumberTargets.length > 0) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '提示',
|
|
|
|
+ message: '还有价值意见书号未取的估价对象,请先完成取号操作。',
|
|
|
|
+ type: 'error',
|
|
|
|
+ duration: 3000
|
|
|
|
+ });
|
|
|
|
+ verify.state = false;
|
|
|
|
+ callback(verify);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (typeof (commit.businessSubId) == 'undefined' || commit.businessSubId == null || commit.ifCheckTask == null) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '提示',
|
|
|
|
+ message: '请选择一个产品后,再进行流程提交。',
|
|
|
|
+ type: 'error',
|
|
|
|
+ duration: 3000
|
|
|
|
+ });
|
|
|
|
+ verify.state = false;
|
|
|
|
+ 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) {
|
|
|
|
+ return e.reportNo == null;
|
|
|
|
+ })
|
|
|
|
+ if (notTakeReportNoTargets.length > 0) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '提示',
|
|
|
|
+ message: '还有报告号未取的估价对象,请先完成取号操作。',
|
|
|
|
+ type: 'error',
|
|
|
|
+ duration: 3000
|
|
|
|
+ });
|
|
|
|
+ verify.state = false;
|
|
|
|
+ callback(verify);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (typeof (commit.businessMinId) == 'undefined' || commit.businessMinId == null || commit.ifCheckTask == null) {
|
|
this.$notify({
|
|
this.$notify({
|
|
title: '提示',
|
|
title: '提示',
|
|
- message: '请确定外业人员后,再提交流程。',
|
|
|
|
|
|
+ message: '请选择一个产品后,再进行流程提交。',
|
|
type: 'error',
|
|
type: 'error',
|
|
duration: 3000
|
|
duration: 3000
|
|
});
|
|
});
|
|
verify.state = false;
|
|
verify.state = false;
|
|
- } else {
|
|
|
|
- verify.nextHandlerId = this.personal.outwardStaff;
|
|
|
|
|
|
+ callback(verify);
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
- callback(verify);
|
|
|
|
- return;
|
|
|
|
- case "DETERMINE_PRICE":
|
|
|
|
- if (!this.target.feedback) {
|
|
|
|
|
|
+ let selected1 = this.productions.filter(function (e) {
|
|
|
|
+ return e.reportNo === commit.businessMinId
|
|
|
|
+ })
|
|
|
|
+ if (!selected1[0].name) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '提示',
|
|
|
|
+ message: '请完成所选产品的基本信息后,再进行流程提交。',
|
|
|
|
+ type: 'error',
|
|
|
|
+ duration: 3000
|
|
|
|
+ });
|
|
verify.state = false;
|
|
verify.state = false;
|
|
callback(verify);
|
|
callback(verify);
|
|
- this.decideProductionTypeDialog = true
|
|
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- case "GENERATE_STATEMENT":
|
|
|
|
- if (this.statementProd == null || this.statementProd.files.length === 0) {
|
|
|
|
|
|
+ break;
|
|
|
|
+ case 'WRITE_LETTER':
|
|
|
|
+ let notTakeLetterNumberTargets = this.evaluateLandData.filter(function (e) {
|
|
|
|
+ return e.letterNo == null;
|
|
|
|
+ })
|
|
|
|
+ if (notTakeLetterNumberTargets.length > 0) {
|
|
this.$notify({
|
|
this.$notify({
|
|
title: '提示',
|
|
title: '提示',
|
|
- message: '请生成或上传房地产意见书后,再提交流程',
|
|
|
|
|
|
+ message: '还有复评函号未取的估价对象,请先完成取号操作。',
|
|
type: 'error',
|
|
type: 'error',
|
|
duration: 3000
|
|
duration: 3000
|
|
});
|
|
});
|
|
verify.state = false;
|
|
verify.state = false;
|
|
|
|
+ callback(verify);
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
- callback(verify);
|
|
|
|
- return;
|
|
|
|
- case "REVIEW_STATEMENT":
|
|
|
|
- const id = this.statementProd.id
|
|
|
|
- this.checkPass(id);
|
|
|
|
- callback(verify);
|
|
|
|
- return;
|
|
|
|
- case "WRITE_REPORT":
|
|
|
|
- if (this.technicReportProd == null || this.technicReportProd.files.length === 0) {
|
|
|
|
|
|
+ if (typeof (commit.businessMinId) == 'undefined' || commit.businessMinId == null || commit.ifCheckTask == null) {
|
|
this.$notify({
|
|
this.$notify({
|
|
title: '提示',
|
|
title: '提示',
|
|
- message: '请生成或上传技术报告后,再提交流程',
|
|
|
|
|
|
+ message: '请选择一个产品后,再进行流程提交。',
|
|
type: 'error',
|
|
type: 'error',
|
|
duration: 3000
|
|
duration: 3000
|
|
});
|
|
});
|
|
verify.state = false;
|
|
verify.state = false;
|
|
callback(verify);
|
|
callback(verify);
|
|
- return
|
|
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
- if (this.finalReprotProd == null || this.finalReprotProd.files.length === 0) {
|
|
|
|
|
|
+ let selected2 = this.productions.filter(function (e) {
|
|
|
|
+ return e.reportNo === commit.businessMinId
|
|
|
|
+ })
|
|
|
|
+ if (!selected2[0].name) {
|
|
this.$notify({
|
|
this.$notify({
|
|
title: '提示',
|
|
title: '提示',
|
|
- message: '请生成或上传结果报告后,再提交流程',
|
|
|
|
|
|
+ message: '请完成所选产品的基本信息后,再进行流程提交。',
|
|
type: 'error',
|
|
type: 'error',
|
|
duration: 3000
|
|
duration: 3000
|
|
});
|
|
});
|
|
verify.state = false;
|
|
verify.state = false;
|
|
callback(verify);
|
|
callback(verify);
|
|
- return
|
|
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case "CHECK_STATEMENT":
|
|
|
|
+ case "CHECK_REPORT":
|
|
|
|
+ case "CHECK_LETTER":
|
|
|
|
+ if (!verify.nextHandlerId) {
|
|
|
|
+ verify.state = false;
|
|
|
|
+ callback(verify);
|
|
|
|
+ this.chooseSecondCheckerDialog = true
|
|
|
|
+ this.$api.dictData.remark("MAJOR_SECOND_CHECK_USERS").then(res => {
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ this.secondCheckUsers = res.data;
|
|
|
|
+ //默认复审人
|
|
|
|
+ this.secondCheckUserId = res.data[0].remark;
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
- callback(verify);
|
|
|
|
- return;
|
|
|
|
}
|
|
}
|
|
|
|
+ callback(verify);
|
|
|
|
+ }
|
|
|
|
+ let specialNodesForReverse = ["WRITE_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);
|
|
|
|
+ //取了子号不能退回节点
|
|
|
|
+ if (this.pNode.nodeCode === "QUOTATION_FEEDBACK" && reportNos[0].includes("-")) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '提示',
|
|
|
|
+ message: '该订单已取了其他子号,不能退回节点。',
|
|
|
|
+ type: 'info',
|
|
|
|
+ duration: 3000
|
|
|
|
+ });
|
|
|
|
+ verify.state = false;
|
|
|
|
+ verify.cleanReport = false;
|
|
|
|
+ callback(verify);
|
|
|
|
+ }
|
|
|
|
+ if (this.pNode.nodeCode === "QUOTATION_FEEDBACK" && !reportNos[0].includes("-")) {
|
|
|
|
+ verify.cleanReport = true;
|
|
|
|
+ callback(verify);
|
|
|
|
+ }
|
|
|
|
+ callback(verify);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
goBack() {
|
|
goBack() {
|
|
@@ -1046,8 +1215,8 @@ export default {
|
|
// 改变客户类型时进行值重置的操作
|
|
// 改变客户类型时进行值重置的操作
|
|
changeCustomerType(val) {
|
|
changeCustomerType(val) {
|
|
// 清空联系人下拉列表
|
|
// 清空联系人下拉列表
|
|
- this.targetForm.clienteleContactId = null;
|
|
|
|
- this.targetForm.clienteleSubId = null;
|
|
|
|
|
|
+ this.assetsForm.clienteleContactId = null;
|
|
|
|
+ this.assetsForm.clienteleSubId = null;
|
|
this.customerContract = [];
|
|
this.customerContract = [];
|
|
if (val === "企业") {
|
|
if (val === "企业") {
|
|
this.getCustomerCompany(0);
|
|
this.getCustomerCompany(0);
|
|
@@ -1099,17 +1268,17 @@ export default {
|
|
// 打开新建客户联系人弹窗
|
|
// 打开新建客户联系人弹窗
|
|
createLinkman(val) {
|
|
createLinkman(val) {
|
|
// 打开前判断是否已经选择客户信息
|
|
// 打开前判断是否已经选择客户信息
|
|
- if (this.targetForm.clienteleType === "个人" || this.targetForm.clienteleType != null && this.targetForm.clienteleId != null && this.targetForm.clienteleSubId != null) {
|
|
|
|
|
|
+ if (this.targetFassetsFormorm.clienteleType === "个人" || this.assetsForm.clienteleType != null && this.assetsForm.clienteleId != null && this.assetsForm.clienteleSubId != null) {
|
|
this.createLinkmanVisible = true;
|
|
this.createLinkmanVisible = true;
|
|
this.linkmanFrom.terminal = val;
|
|
this.linkmanFrom.terminal = val;
|
|
- this.linkmanFrom.clienteleType = this.targetForm.clienteleType;
|
|
|
|
- this.linkmanFrom.clienteleId = this.targetForm.clienteleId;
|
|
|
|
- this.linkmanFrom.clienteleSubId = this.targetForm.clienteleSubId;
|
|
|
|
- if (this.targetForm.clienteleType === '企业') {
|
|
|
|
- this.linkmanFrom.ccId = this.targetForm.clienteleSubId
|
|
|
|
|
|
+ this.linkmanFrom.clienteleType = this.assetsForm.clienteleType;
|
|
|
|
+ this.linkmanFrom.clienteleId = this.assetsForm.clienteleId;
|
|
|
|
+ this.linkmanFrom.clienteleSubId = this.assetsForm.clienteleSubId;
|
|
|
|
+ if (this.assetsForm.clienteleType === '企业') {
|
|
|
|
+ this.linkmanFrom.ccId = this.assetsForm.clienteleSubId
|
|
} else {
|
|
} else {
|
|
- this.targetForm.clienteleSubId = 1;
|
|
|
|
- this.linkmanFrom.ccId = this.targetForm.clienteleSubId;
|
|
|
|
|
|
+ this.assetsForm.clienteleSubId = 1;
|
|
|
|
+ this.linkmanFrom.ccId = this.assetsForm.clienteleSubId;
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
this.$notify({
|
|
this.$notify({
|
|
@@ -1123,20 +1292,17 @@ export default {
|
|
},
|
|
},
|
|
// 获取客户联系人列表
|
|
// 获取客户联系人列表
|
|
getCustomerContract(val) {
|
|
getCustomerContract(val) {
|
|
- // if (this.targetForm.clienteleSubId) {
|
|
|
|
|
|
+ // if (this.assetsForm.clienteleSubId) {
|
|
let simpleAll = new Object();
|
|
let simpleAll = new Object();
|
|
simpleAll.terminal = 0;
|
|
simpleAll.terminal = 0;
|
|
if (val === 1) {
|
|
if (val === 1) {
|
|
simpleAll.ccId = val;
|
|
simpleAll.ccId = val;
|
|
} else {
|
|
} else {
|
|
- simpleAll.ccId = this.targetForm.clienteleSubId;
|
|
|
|
|
|
+ simpleAll.ccId = this.assetsForm.clienteleSubId;
|
|
}
|
|
}
|
|
this.$api.customerLinkman.simpleAll(simpleAll).then(res => {
|
|
this.$api.customerLinkman.simpleAll(simpleAll).then(res => {
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
this.customerContract = res.data;
|
|
this.customerContract = res.data;
|
|
- // if (this.targetForm.clienteleContactId) {
|
|
|
|
- // this.targetForm.clienteleContactId = null
|
|
|
|
- // }
|
|
|
|
}
|
|
}
|
|
})
|
|
})
|
|
// }
|
|
// }
|
|
@@ -1144,31 +1310,24 @@ export default {
|
|
// 获取二级客户信息(业务来源)
|
|
// 获取二级客户信息(业务来源)
|
|
findSubClientele(val) {
|
|
findSubClientele(val) {
|
|
if (val === 0) {
|
|
if (val === 0) {
|
|
- if (this.targetForm.clienteleId) {
|
|
|
|
|
|
+ if (this.assetsForm.clienteleId) {
|
|
let simpleAll = new Object();
|
|
let simpleAll = new Object();
|
|
simpleAll.terminal = val;
|
|
simpleAll.terminal = val;
|
|
- simpleAll.parentId = this.targetForm.clienteleId;
|
|
|
|
|
|
+ simpleAll.parentId = this.assetsForm.clienteleId;
|
|
this.$api.customerCompany.simpleAll(simpleAll).then(res => {
|
|
this.$api.customerCompany.simpleAll(simpleAll).then(res => {
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
this.subCustomerCompany = res.data;
|
|
this.subCustomerCompany = res.data;
|
|
- // if (this.targetForm.clienteleSubId) {
|
|
|
|
- // this.targetForm.clienteleSubId = null
|
|
|
|
- // }
|
|
|
|
- // if (this.targetForm.clienteleContactId) {
|
|
|
|
- // this.targetForm.clienteleContactId = null
|
|
|
|
- // this.customerContract = [];
|
|
|
|
- // }
|
|
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- if (this.targetForm.terminalClienteleId) {
|
|
|
|
|
|
+ if (this.assetsForm.terminalClienteleId) {
|
|
let simpleAll = new Object();
|
|
let simpleAll = new Object();
|
|
simpleAll.terminal = val;
|
|
simpleAll.terminal = val;
|
|
- simpleAll.ccId = this.targetForm.terminalClienteleId;
|
|
|
|
- this.$api.customerCompany.detail(this.targetForm.terminalClienteleId).then(res => {
|
|
|
|
|
|
+ simpleAll.ccId = this.assetsForm.terminalClienteleId;
|
|
|
|
+ this.$api.customerCompany.detail(this.assetsForm.terminalClienteleId).then(res => {
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
- this.targetForm.tmobile = res.data.phone;
|
|
|
|
|
|
+ this.assetsForm.tmobile = res.data.phone;
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
@@ -1180,7 +1339,7 @@ export default {
|
|
},
|
|
},
|
|
// 根据部门id获取项目负责人列表
|
|
// 根据部门id获取项目负责人列表
|
|
getPrincipalByAllotDepartment() {
|
|
getPrincipalByAllotDepartment() {
|
|
- let departmentId = this.targetForm.departmentId;
|
|
|
|
|
|
+ let departmentId = this.assetsForm.departmentId;
|
|
if (departmentId) {
|
|
if (departmentId) {
|
|
this.$api.user.usersByDepartmentId(departmentId).then(res => {
|
|
this.$api.user.usersByDepartmentId(departmentId).then(res => {
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
@@ -1200,7 +1359,7 @@ export default {
|
|
// 获取流程节点信息
|
|
// 获取流程节点信息
|
|
getCurrentNodeInfo() {
|
|
getCurrentNodeInfo() {
|
|
if (this.pageParams.id) {
|
|
if (this.pageParams.id) {
|
|
- this.$api.workNodeInstance.currentNode({ "mainBusiness": "MAJOR_BUSINESS", "businessId": this.pageParams.id, "businessSubId": this.pageParams.businessSubId, "businessMinId": this.pageParams.businessMinId }).then(res => {
|
|
|
|
|
|
+ this.$api.workNodeInstance.currentNode({ "mainBusiness": "ASSET_BUSINESS", "businessId": this.pageParams.id, "businessSubId": this.pageParams.businessSubId, "businessMinId": this.pageParams.businessMinId }).then(res => {
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
if (res.data) {
|
|
if (res.data) {
|
|
this.currentNode = res.data;
|
|
this.currentNode = res.data;
|
|
@@ -1210,6 +1369,7 @@ export default {
|
|
this.nodeBusinessInfo.currentNodePermission.reversible = res.data.reversible;
|
|
this.nodeBusinessInfo.currentNodePermission.reversible = res.data.reversible;
|
|
this.nodeBusinessInfo.currentNodePermission.skippable = res.data.skippable;
|
|
this.nodeBusinessInfo.currentNodePermission.skippable = res.data.skippable;
|
|
this.nodeBusinessInfo.currentNodePermission.terminable = res.data.terminable;
|
|
this.nodeBusinessInfo.currentNodePermission.terminable = res.data.terminable;
|
|
|
|
+ this.nodeBusinessInfo.businessId = this.pageParams.id;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -1218,10 +1378,12 @@ export default {
|
|
// 修改项目负责人与项目成员信息
|
|
// 修改项目负责人与项目成员信息
|
|
updatePrincipalAndMembers() {
|
|
updatePrincipalAndMembers() {
|
|
let assetsPrincipalMembers = new Object();
|
|
let assetsPrincipalMembers = new Object();
|
|
- assetsPrincipalMembers.id = this.targetForm.id;
|
|
|
|
- assetsPrincipalMembers.principalId = this.targetForm.principalId;
|
|
|
|
- assetsPrincipalMembers.members = JSON.stringify(this.targetForm.members);
|
|
|
|
- this.$api.assets.updatePrincipalAndMembers(assetsPrincipalMembers).then(res => {
|
|
|
|
|
|
+ assetsPrincipalMembers.id = this.assetsForm.id;
|
|
|
|
+ assetsPrincipalMembers.principalId = this.assetsForm.principalId;
|
|
|
|
+ assetsPrincipalMembers.members = JSON.stringify(this.assetsForm.members);
|
|
|
|
+ this.taskRecordDTO.recordId = this.currentNode.tasks[0].recordId;
|
|
|
|
+ this.taskRecordDTO.taskData = assetsPrincipalMembers;
|
|
|
|
+ this.$api.assets.updatePrincipalAndMembers(this.taskRecordDTO).then(res => {
|
|
if (res.code === 200 && res.data) {
|
|
if (res.code === 200 && res.data) {
|
|
this.$notify({
|
|
this.$notify({
|
|
title: '成功',
|
|
title: '成功',
|
|
@@ -1303,8 +1465,8 @@ export default {
|
|
// 可视状态为true
|
|
// 可视状态为true
|
|
this.targetDialogVisible = true;
|
|
this.targetDialogVisible = true;
|
|
// 初始表单所需信息
|
|
// 初始表单所需信息
|
|
- this.targetForm.principalId = this.targetForm.principalId;
|
|
|
|
- this.targetForm.siteIds = this.targetForm.members;
|
|
|
|
|
|
+ this.targetForm.principalId = this.assetsForm.principalId;
|
|
|
|
+ this.targetForm.siteIds = this.assetsForm.members;
|
|
if (this.assetsEvaluationTargetPurpose.length == 0 || this.assetsEvaluationMethod.length == 0 || this.assetsValueType.length == 0 || this.assetsEvaluationTargetType.length == 0) {
|
|
if (this.assetsEvaluationTargetPurpose.length == 0 || this.assetsEvaluationMethod.length == 0 || this.assetsValueType.length == 0 || this.assetsEvaluationTargetType.length == 0) {
|
|
this.getPurpose();
|
|
this.getPurpose();
|
|
this.getAssetsEvaluationMethod();
|
|
this.getAssetsEvaluationMethod();
|
|
@@ -1372,7 +1534,7 @@ export default {
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
this.targetDialogVisible = false;
|
|
this.targetDialogVisible = false;
|
|
//获取评估对象列表
|
|
//获取评估对象列表
|
|
- this.getAETargetListByAssetsId(this.assetsForm.id);
|
|
|
|
|
|
+ this.getAETargetListByAssetsId();
|
|
}, 2000);
|
|
}, 2000);
|
|
|
|
|
|
}
|
|
}
|
|
@@ -1411,7 +1573,7 @@ export default {
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
this.targetDialogVisible = false;
|
|
this.targetDialogVisible = false;
|
|
//获取评估对象列表
|
|
//获取评估对象列表
|
|
- this.getAETargetListByAssetsId(this.assetsForm.id);
|
|
|
|
|
|
+ this.getAETargetListByAssetsId();
|
|
}, 2000);
|
|
}, 2000);
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -1428,7 +1590,7 @@ export default {
|
|
type: 'success',
|
|
type: 'success',
|
|
duration: 2000
|
|
duration: 2000
|
|
});
|
|
});
|
|
- this.getAETargetListByAssetsId(this.assetsForm.id);
|
|
|
|
|
|
+ this.getAETargetListByAssetsId();
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -1447,7 +1609,26 @@ export default {
|
|
this.saveButtonStatus = false;
|
|
this.saveButtonStatus = false;
|
|
this.updateButtonStatus = false;
|
|
this.updateButtonStatus = false;
|
|
}
|
|
}
|
|
|
|
+ },
|
|
|
|
+ // 根据业务id获取资产业务款项信息
|
|
|
|
+ getOrderFundInvoiceById() {
|
|
|
|
+ this.$api.assets.getOrderFundInvoiceById(this.assetsForm.id).then(res => {
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ if (res.data != null) {
|
|
|
|
+ this.invoiceData = res.data;
|
|
|
|
+ this.invoiceData.leftAmount = this.invoiceData.shouldAmount - this.invoiceData.realAmount;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ // 提交节点
|
|
|
|
+ commit(state) {
|
|
|
|
+ this.$refs.board.commit(state);
|
|
|
|
+ },
|
|
|
|
+ getPreviousNode(pNode) {
|
|
|
|
+ this.pNode = pNode;
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|