
67 changed files with 5367 additions and 257 deletions
@ -0,0 +1,40 @@ |
|||
package com.yxt.anrui.crm.api.crmcustomertemp; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import com.yxt.common.core.dto.Dto; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/30 |
|||
**/ |
|||
@Data |
|||
public class CustomerSecondSalesDto implements Dto { |
|||
private static final long serialVersionUID = -1955772984622113809L; |
|||
|
|||
@ApiModelProperty("客户sid") |
|||
private String customerSid; |
|||
@ApiModelProperty("客户名称") |
|||
private String customerName; |
|||
@ApiModelProperty("客户类型") |
|||
private String customerType; |
|||
private String customerTypeKey; |
|||
@ApiModelProperty("联系电话") |
|||
private String mobile; |
|||
@ApiModelProperty("证件类型") |
|||
private String certificateTypeKey; |
|||
private String certificateType; |
|||
@ApiModelProperty("证件号码") |
|||
@JsonProperty("IDNumber") |
|||
private String IDNumber; |
|||
@ApiModelProperty("证件有效期") |
|||
private String endDate; |
|||
@ApiModelProperty("证件地址") |
|||
private String certificateAddress; |
|||
|
|||
private String userSid; |
|||
|
|||
private String orgPath; |
|||
} |
@ -0,0 +1,470 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<div class="tab-header webtop"> |
|||
<div>{{ viewTitle }}</div> |
|||
<div> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<div class="listconadd"> |
|||
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> |
|||
<el-row style="border-top: 1px solid #e0e3eb"> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请部门</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">客户名称</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款合同编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方合同编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">停放地点</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title titleOne"> |
|||
<div>二次销售车辆列表(含主车、挂车)</div> |
|||
<el-button size="mini" type="primary" class="btntopblueline" @click="lookFinancial">金融方案</el-button> |
|||
</div> |
|||
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%"> |
|||
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/> |
|||
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" /> |
|||
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/> |
|||
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/> |
|||
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/> |
|||
</el-table> |
|||
<div class="title">车辆状况</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">是否年检</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.inspect }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16" class="tlineheightb"> |
|||
<div class="span-sty">年检情况</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.inspectSituation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">是否已出保</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.guaranteed }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16" class="tlineheightb"> |
|||
<div class="span-sty">保险情况</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.insuranceSituation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">首次登记日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">当前行驶公里数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.kilometerDriven }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">其他车况说明</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.illustrate }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">车辆照片</div> |
|||
<el-form-item> |
|||
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title">已还与欠款情况</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">已还金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">当前逾期金额/其中资金占用费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">未到期金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">总期数/当前期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">已还金额换算期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">逾期金额换算期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title">费用说明</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">欠款合计</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.arrearsAll }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款保证金</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.loanDeposit }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">车辆售价</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehPrice }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">催收费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.collectionCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">风控中心车辆评估价</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleEvaluation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方结清费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">车辆违章费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">年检费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">保险费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">过户费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">停车费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">其他费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8" class="tlineheightb"> |
|||
<div class="span-sty">费用说明</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.costDescription }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">预计亏损金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.lossPrice }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">后续欠款处置方向</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.debtDisposal }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">附件</div> |
|||
<el-form-item> |
|||
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.loanSecondarySalesCost.files" :key="index" :src="item" :preview-src-list="formobj.loanSecondarySalesCost.files"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
<!-- 查看车辆历史催收记录 --> |
|||
<financialschemeInfo v-show="viewState == 2" ref="divFinancial" @doback="resetState" /> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/secondarysales/secondarysales' |
|||
import financialschemeInfo from '@/components/publicPage/financialschemeInfo' |
|||
|
|||
export default { |
|||
name: 'SecondarySalesInfo', |
|||
components: { |
|||
financialschemeInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
viewTitle: '', |
|||
viewState: 1, |
|||
tableKey: 1, |
|||
index: 0, |
|||
formobj: { |
|||
alRepaidMoney: '', |
|||
alRepaidMoneyConPeriod: '', |
|||
bankContractNo: '', |
|||
bankName: '', |
|||
beOverdueMoneyAndPeriod: '', |
|||
createByName: '', |
|||
createDate: '', |
|||
createDept: '', |
|||
createDeptSid: '', |
|||
currentBeMoney: '', |
|||
currentPeriod: '', |
|||
customerName: '', |
|||
files: '', |
|||
filesList: [], |
|||
firstDate: '', |
|||
guaranteed: '', |
|||
illustrate: '', |
|||
inspect: '', |
|||
inspectSituation: '', |
|||
insuranceSituation: '', |
|||
kilometerDriven: '', |
|||
loanContractNo: '', |
|||
loanName: '', |
|||
loanSecondarySalesCost: { |
|||
arrearsAll: '', |
|||
bankSettleCost: '', |
|||
bankSettleCostAssume: '', |
|||
collectionCost: '', |
|||
costDescription: '', |
|||
debtDisposal: '', |
|||
files: [], |
|||
inspectYearCost: '', |
|||
inspectYearCostAssume: '', |
|||
insureCost: '', |
|||
insureCostAssume: '', |
|||
loanDeposit: '', |
|||
lossPrice: '', |
|||
otherCost: '', |
|||
otherCostAssume: '', |
|||
ownershipCost: '', |
|||
ownershipCostAssume: '', |
|||
stopCost: '', |
|||
stopCostAssume: '', |
|||
vehicleEvaluation: '', |
|||
vehPrice: '', |
|||
vehicleViolationCost: '', |
|||
vehicleViolationCostAssume: '' |
|||
}, |
|||
loanSecondarySalesVehVoList: [], |
|||
locationName: '', |
|||
nper: '', |
|||
orgPath: '', |
|||
procInstId: '', |
|||
sid: '', |
|||
taskId: '', |
|||
unexpiredMoney: '', |
|||
useOrgSid: '', |
|||
userSid: '', |
|||
wheFundOccMoney: '' |
|||
}, |
|||
rules: {} |
|||
} |
|||
}, |
|||
methods: { |
|||
showInfo(row) { |
|||
this.viewTitle = '交回车辆二次销售申请详情' |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
req.fetchBySid({ chooseSidList: [], orgPath: '', sid: row.sid, userSid: '' }).then((res) => { |
|||
if (res.success) { |
|||
this.formobj = res.data |
|||
if (this.formobj.loanSecondarySalesCost.files.length > 0) { |
|||
const bb = [] |
|||
this.formobj.loanSecondarySalesCost.files.forEach((e) => { |
|||
bb.push(e.url) |
|||
}) |
|||
this.formobj.loanSecondarySalesCost.files = bb |
|||
} |
|||
} |
|||
}) |
|||
}, |
|||
lookFinancial() { |
|||
req.selectDetailss({ businessSid: this.formobj.salesOrderSid }).then((res) => { |
|||
if (res.success) { |
|||
this.viewState = 2 |
|||
this.$refs['divFinancial'].showInfo(res.data, '03') |
|||
} |
|||
}) |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
handleReturn() { |
|||
this.formobj = { |
|||
alRepaidMoney: '', |
|||
alRepaidMoneyConPeriod: '', |
|||
bankContractNo: '', |
|||
bankName: '', |
|||
beOverdueMoneyAndPeriod: '', |
|||
createByName: '', |
|||
createDate: '', |
|||
createDept: '', |
|||
createDeptSid: '', |
|||
currentBeMoney: '', |
|||
currentPeriod: '', |
|||
customerName: '', |
|||
files: '', |
|||
filesList: [], |
|||
firstDate: '', |
|||
guaranteed: '', |
|||
illustrate: '', |
|||
inspect: '', |
|||
inspectSituation: '', |
|||
insuranceSituation: '', |
|||
kilometerDriven: '', |
|||
loanContractNo: '', |
|||
loanName: '', |
|||
loanSecondarySalesCost: { |
|||
arrearsAll: '', |
|||
bankSettleCost: '', |
|||
bankSettleCostAssume: '', |
|||
collectionCost: '', |
|||
costDescription: '', |
|||
debtDisposal: '', |
|||
files: [], |
|||
inspectYearCost: '', |
|||
inspectYearCostAssume: '', |
|||
insureCost: '', |
|||
insureCostAssume: '', |
|||
loanDeposit: '', |
|||
lossPrice: '', |
|||
otherCost: '', |
|||
otherCostAssume: '', |
|||
ownershipCost: '', |
|||
ownershipCostAssume: '', |
|||
stopCost: '', |
|||
stopCostAssume: '', |
|||
vehicleEvaluation: '', |
|||
vehPrice: '', |
|||
vehicleViolationCost: '', |
|||
vehicleViolationCostAssume: '' |
|||
}, |
|||
loanSecondarySalesVehVoList: [], |
|||
locationName: '', |
|||
nper: '', |
|||
orgPath: '', |
|||
procInstId: '', |
|||
sid: '', |
|||
taskId: '', |
|||
unexpiredMoney: '', |
|||
useOrgSid: '', |
|||
userSid: '', |
|||
wheFundOccMoney: '' |
|||
} |
|||
this.$emit('doback') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.span-sty { |
|||
width: 200px !important; |
|||
} |
|||
.addinputInfo { |
|||
margin-left: 190px !important; |
|||
} |
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
.tlineheightb { |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
} |
|||
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo { |
|||
line-height: 15px !important; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
} |
|||
</style> |
@ -0,0 +1,709 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<div class="tab-header webtop"> |
|||
<div>{{ viewTitle }}</div> |
|||
<div> |
|||
<el-button type="primary" size="small" @click="openCountersign('加签')">加 签</el-button> |
|||
<el-button type="primary" size="small" @click="openAgree('同意')">同 意</el-button> |
|||
<el-button type="danger" size="small" @click="openReject('驳回')">驳 回</el-button> |
|||
<el-button type="danger" size="small" @click="openStop('终止')">终 止</el-button> |
|||
</div> |
|||
</div> |
|||
<div class=""> |
|||
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> |
|||
<el-row style="border-top: 1px solid #e0e3eb"> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请部门</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">客户名称</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款合同编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方合同编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">停放地点</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title titleOne"> |
|||
<div>二次销售车辆列表(含主车、挂车)</div> |
|||
<el-button size="mini" type="primary" class="btntopblueline" @click="lookFinancial">金融方案</el-button> |
|||
</div> |
|||
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%"> |
|||
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/> |
|||
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" /> |
|||
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/> |
|||
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/> |
|||
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/> |
|||
</el-table> |
|||
<div class="title">车辆状况</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">是否年检</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.inspect }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16" class="tlineheightb"> |
|||
<div class="span-sty">年检情况</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.inspectSituation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">是否已出保</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.guaranteed }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16" class="tlineheightb"> |
|||
<div class="span-sty">保险情况</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.insuranceSituation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">首次登记日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">当前行驶公里数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.kilometerDriven }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">其他车况说明</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.illustrate }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">车辆照片</div> |
|||
<el-form-item> |
|||
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title">已还与欠款情况</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">已还金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">当前逾期金额/其中资金占用费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">未到期金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">总期数/当前期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">已还金额换算期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">逾期金额换算期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title">费用说明</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">欠款合计</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.arrearsAll }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款保证金</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.loanDeposit }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">车辆售价</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehPrice }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">催收费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.collectionCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty"><span class="icon">*</span>风控中心车辆评估价</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.vehicleEvaluation" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方结清费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">车辆违章费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">年检费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">保险费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">过户费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">停车费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">其他费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8" class="tlineheightb"> |
|||
<div class="span-sty">费用说明</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.costDescription }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">预计亏损金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.lossPrice }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">后续欠款处置方向</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.debtDisposal }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">附件</div> |
|||
<el-form-item> |
|||
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.loanSecondarySalesCost.files" :key="index" :src="item" :preview-src-list="formobj.loanSecondarySalesCost.files"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
<!-- 查看车辆历史催收记录 --> |
|||
<financialschemeInfo v-show="viewState == 2" ref="divFinancial" @doback="resetState" /> |
|||
<!-- 选择待办人 的弹出框--> |
|||
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%"> |
|||
<el-form class="formadd" > |
|||
<el-row v-show="countersignLink" style="border-top: 1px solid #e0e3eb"> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span class="icon">*</span>加签人员: |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<el-select v-model="countersign.assignee" placeholder="请选择" filterable> |
|||
<el-option v-for="item in options" :key="item.userSid" :label="item.staffName" :value="item.userSid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb"> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>当前环节:</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :class="{rowClass:!currentLink}"> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>意见:</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item><el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" type="textarea" :autosize="{ minRows: 1, maxRows: 10}" clearable ></el-input></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div style="text-align:center;margin-top: 20px;"> |
|||
<el-button type="primary" size="mini" @click="reject">确 定</el-button> |
|||
<el-button type="info " size="mini" @click="nodeDialogVisible = false">取 消</el-button> |
|||
</div> |
|||
</el-form> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/secondarysales/secondarysales' |
|||
import { selectStaffListss } from '@/api/Common/dictcommons' |
|||
import financialschemeInfo from '../publicPage/financialschemeInfo' |
|||
|
|||
export default { |
|||
name: 'SecondarySalesByPGJ', |
|||
components: { |
|||
financialschemeInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
viewTitle: '', |
|||
viewState: 1, |
|||
tableKey: 1, |
|||
index: 0, |
|||
formobj: { |
|||
alRepaidMoney: '', |
|||
alRepaidMoneyConPeriod: '', |
|||
bankContractNo: '', |
|||
bankName: '', |
|||
beOverdueMoneyAndPeriod: '', |
|||
createByName: '', |
|||
createDate: '', |
|||
createDept: '', |
|||
createDeptSid: '', |
|||
currentBeMoney: '', |
|||
currentPeriod: '', |
|||
customerName: '', |
|||
files: '', |
|||
filesList: [], |
|||
firstDate: '', |
|||
guaranteed: '', |
|||
illustrate: '', |
|||
inspect: '', |
|||
inspectSituation: '', |
|||
insuranceSituation: '', |
|||
kilometerDriven: '', |
|||
loanContractNo: '', |
|||
loanName: '', |
|||
loanSecondarySalesCost: { |
|||
arrearsAll: '', |
|||
bankSettleCost: '', |
|||
bankSettleCostAssume: '', |
|||
collectionCost: '', |
|||
costDescription: '', |
|||
debtDisposal: '', |
|||
files: [], |
|||
inspectYearCost: '', |
|||
inspectYearCostAssume: '', |
|||
insureCost: '', |
|||
insureCostAssume: '', |
|||
loanDeposit: '', |
|||
lossPrice: '', |
|||
otherCost: '', |
|||
otherCostAssume: '', |
|||
ownershipCost: '', |
|||
ownershipCostAssume: '', |
|||
stopCost: '', |
|||
stopCostAssume: '', |
|||
vehicleEvaluation: '', |
|||
vehPrice: '', |
|||
vehicleViolationCost: '', |
|||
vehicleViolationCostAssume: '' |
|||
}, |
|||
loanSecondarySalesVehVoList: [], |
|||
locationName: '', |
|||
nper: '', |
|||
orgPath: '', |
|||
procInstId: '', |
|||
sid: '', |
|||
taskId: '', |
|||
unexpiredMoney: '', |
|||
useOrgSid: '', |
|||
userSid: '', |
|||
wheFundOccMoney: '' |
|||
}, |
|||
rules: {}, |
|||
options: [], |
|||
operation: '', // 点击操作按钮 |
|||
dialogList: { |
|||
comment: '' |
|||
}, |
|||
startTask: true, |
|||
current: { |
|||
taskDefKey: '', |
|||
taskName: '' // 当前环节名称 |
|||
}, |
|||
nextNode: {}, // 下一环节 |
|||
nodeDialogVisible: false, |
|||
currentLink: true, |
|||
countersignLink: false, |
|||
// 环节所需参数 |
|||
linkByParameter: { |
|||
businessSid: '', |
|||
comment: '', |
|||
instanceId: '', |
|||
taskId: '', |
|||
orgSidPath: '', |
|||
taskDefKey: '', |
|||
userSid: '', |
|||
vehicleEvaluation: '' |
|||
}, |
|||
// 加签按钮所需参数 |
|||
countersign: { |
|||
taskId: '', |
|||
assignee: '', |
|||
userSid: '', |
|||
instanceId: '', |
|||
views: '' |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
console.log('url:' + window.location.href) |
|||
var one = window.location.href.indexOf('&data') + 6 |
|||
const data = window.location.href.substr(one) // url解码unescape()已从web中移除,尽量不使用 |
|||
const obj = JSON.parse(decodeURIComponent(data)) |
|||
console.log('iframe页面获取的obj:', obj) |
|||
// 点击(同意、终止、驳回、驳回)操作时所需的参数 |
|||
this.linkByParameter.businessSid = obj.businessSid |
|||
this.linkByParameter.instanceId = obj.instanceId |
|||
this.linkByParameter.taskId = obj.taskId |
|||
this.linkByParameter.taskDefKey = obj.taskDefKey |
|||
// this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath') |
|||
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid') |
|||
this.current.taskDefKey = obj.taskDefKey |
|||
this.current.taskName = obj.taskName |
|||
// 加签参数 |
|||
this.countersign.taskId = obj.taskId |
|||
this.countersign.userSid = window.sessionStorage.getItem('userSid') |
|||
this.countersign.instanceId = obj.instanceId |
|||
// 加载表单数据 |
|||
this.showInfo(obj.businessSid) |
|||
}, |
|||
mounted() { |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 告诉父级页面,子页面的弹框高度。 |
|||
code: 2, |
|||
data: 500 + 'px' |
|||
} |
|||
}, '*') |
|||
}, |
|||
methods: { |
|||
UpNumber(e) { |
|||
e.target.value = e.target.value.replace(/[^0-9.]/g, '') // 清除“数字”和“.”以外的字符 |
|||
e.target.value = e.target.value.replace(/^00/, '0.') // 开头不能有两个0 |
|||
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // 只保留第一个. 清除多余的 |
|||
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.') |
|||
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') // 只能输入两个小数 |
|||
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') { |
|||
// 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 |
|||
e.target.value = parseFloat(e.target.value) |
|||
} |
|||
}, |
|||
showInfo(sid) { |
|||
this.viewTitle = '交回车辆二次销售申请详情' |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
req.fetchBySid({ chooseSidList: [], orgPath: '', sid: sid, userSid: '' }).then((res) => { |
|||
if (res.success) { |
|||
this.formobj = res.data |
|||
if (this.formobj.loanSecondarySalesCost.files.length > 0) { |
|||
const bb = [] |
|||
this.formobj.loanSecondarySalesCost.files.forEach((e) => { |
|||
bb.push(e.url) |
|||
}) |
|||
this.formobj.loanSecondarySalesCost.files = bb |
|||
} |
|||
} |
|||
}) |
|||
selectStaffListss().then((res) => { |
|||
if (res.success) { |
|||
this.options = res.data |
|||
} |
|||
}) |
|||
}, |
|||
lookFinancial() { |
|||
req.selectDetailss({ businessSid: this.formobj.salesOrderSid }).then((res) => { |
|||
if (res.success) { |
|||
this.viewState = 2 |
|||
this.$refs['divFinancial'].showInfo(res.data, '03') |
|||
} |
|||
}) |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
// 加签 |
|||
openCountersign(val) { |
|||
this.operation = val |
|||
this.currentLink = true |
|||
this.countersignLink = true |
|||
this.dialogList.comment = '' |
|||
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => { |
|||
if (resp.success) { |
|||
var arr = resp.data |
|||
this.nextNode = arr[0] |
|||
this.nodeDialogVisible = true |
|||
} |
|||
this.submitdisabled = false |
|||
}) |
|||
}, |
|||
// 同意 |
|||
openAgree(val) { |
|||
if (this.formobj.loanSecondarySalesCost.vehicleEvaluation === '') { |
|||
this.$message({ showClose: true, type: 'error', message: '风控中心车辆评估价不能为空' }) |
|||
return |
|||
} |
|||
this.operation = val |
|||
this.currentLink = true |
|||
this.countersignLink = false |
|||
this.dialogList.comment = '同意' |
|||
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid, vehicleEvaluation: this.formobj.loanSecondarySalesCost.vehicleEvaluation }).then((resp) => { |
|||
if (resp.success) { |
|||
var arr = resp.data |
|||
this.nextNode = arr[0] |
|||
this.nodeDialogVisible = true |
|||
} |
|||
this.submitdisabled = false |
|||
}) |
|||
}, |
|||
// 驳回 |
|||
openReject(val) { |
|||
this.operation = val |
|||
this.currentLink = true |
|||
this.countersignLink = false |
|||
this.dialogList.comment = '' |
|||
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => { |
|||
if (resp.success) { |
|||
var arr = resp.data |
|||
this.nextNode = arr[0] |
|||
this.nodeDialogVisible = true |
|||
} |
|||
this.submitdisabled = false |
|||
}) |
|||
}, |
|||
// 终止 |
|||
openStop(val) { |
|||
this.operation = val |
|||
this.currentLink = false |
|||
this.countersignLink = false |
|||
this.dialogList.comment = '' |
|||
this.nodeDialogVisible = true |
|||
}, |
|||
reject() { |
|||
if (this.operation === '同意') { |
|||
this.handleAgree() |
|||
} else if (this.operation === '驳回') { |
|||
if (this.dialogList.comment === '') { |
|||
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' }) |
|||
} else { |
|||
this.handleReject() |
|||
} |
|||
} else if (this.operation === '终止') { |
|||
if (this.dialogList.comment === '') { |
|||
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' }) |
|||
} else { |
|||
this.handleStop() |
|||
} |
|||
} else if (this.operation === '加签') { |
|||
this.handleCountersign() |
|||
} |
|||
}, |
|||
/** 加签 */ |
|||
handleCountersign() { |
|||
if (this.countersign.assignee === '') { |
|||
this.$message({ showClose: true, type: 'error', message: '请选择加签人员' }) |
|||
return |
|||
} |
|||
if (this.dialogList.comment === '') { |
|||
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' }) |
|||
return |
|||
} |
|||
this.countersign.views = this.dialogList.comment |
|||
req.delegate(this.countersign).then((response) => { |
|||
if (response.success) { |
|||
this.$notify({ |
|||
title: '提示', |
|||
message: '执行成功', |
|||
type: 'success', |
|||
duration: 2000 |
|||
}) |
|||
this.nodeDialogVisible = false |
|||
// 子页面向父级页面传递值 |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 操作成功,告诉父级页面关闭弹框 |
|||
code: 1 |
|||
} |
|||
}, '*') |
|||
} |
|||
}) |
|||
}, |
|||
/** 同意任务 */ |
|||
handleAgree() { |
|||
this.linkByParameter.comment = this.dialogList.comment |
|||
this.linkByParameter.vehicleEvaluation = this.formobj.loanSecondarySalesCost.vehicleEvaluation |
|||
req.complete(this.linkByParameter).then((response) => { |
|||
if (response.success) { |
|||
this.$notify({ |
|||
title: '提示', |
|||
message: '执行成功', |
|||
type: 'success', |
|||
duration: 2000 |
|||
}) |
|||
this.nodeDialogVisible = false |
|||
// 子页面向父级页面传递值 |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 操作成功,告诉父级页面关闭弹框 |
|||
code: 1 |
|||
} |
|||
}, '*') |
|||
} |
|||
}) |
|||
}, |
|||
/** 驳回任务 */ |
|||
handleReject() { |
|||
this.linkByParameter.comment = this.dialogList.comment |
|||
req.reject(this.linkByParameter).then((response) => { |
|||
if (response.success) { |
|||
this.$notify({ |
|||
title: '提示', |
|||
message: '执行成功', |
|||
type: 'success', |
|||
duration: 2000 |
|||
}) |
|||
this.nodeDialogVisible = false |
|||
// 子页面向父级页面传递值 |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 操作成功,告诉父级页面关闭弹框 |
|||
code: 1 |
|||
} |
|||
}, '*') |
|||
} |
|||
}) |
|||
}, |
|||
/** 终止任务 */ |
|||
handleStop() { |
|||
this.linkByParameter.comment = this.dialogList.comment |
|||
req.breakProcess(this.linkByParameter).then((response) => { |
|||
if (response.success) { |
|||
this.$notify({ |
|||
title: '提示', |
|||
message: '执行成功', |
|||
type: 'success', |
|||
duration: 2000 |
|||
}) |
|||
this.nodeDialogVisible = false |
|||
// 子页面向父级页面传递值 |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 操作成功,告诉父级页面关闭弹框 |
|||
code: 1 |
|||
} |
|||
}, '*') |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.span-sty { |
|||
width: 200px !important; |
|||
} |
|||
.addinputInfo { |
|||
margin-left: 190px !important; |
|||
} |
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
.tlineheightb { |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
} |
|||
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo { |
|||
line-height: 15px !important; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
} |
|||
.rowClass{ |
|||
border-top: 1px solid #E0E3EB; |
|||
} |
|||
</style> |
@ -0,0 +1,694 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<div class="tab-header webtop"> |
|||
<div>{{ viewTitle }}</div> |
|||
<div> |
|||
<el-button type="primary" size="small" @click="openCountersign('加签')">加 签</el-button> |
|||
<el-button type="primary" size="small" @click="openAgree('同意')">同 意</el-button> |
|||
<el-button type="danger" size="small" @click="openReject('驳回')">驳 回</el-button> |
|||
<el-button type="danger" size="small" @click="openStop('终止')">终 止</el-button> |
|||
</div> |
|||
</div> |
|||
<div class=""> |
|||
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> |
|||
<el-row style="border-top: 1px solid #e0e3eb"> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请部门</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">客户名称</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款合同编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方合同编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">停放地点</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title titleOne"> |
|||
<div>二次销售车辆列表(含主车、挂车)</div> |
|||
<el-button size="mini" type="primary" class="btntopblueline" @click="lookFinancial">金融方案</el-button> |
|||
</div> |
|||
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%"> |
|||
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/> |
|||
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" /> |
|||
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/> |
|||
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/> |
|||
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/> |
|||
</el-table> |
|||
<div class="title">车辆状况</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">是否年检</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.inspect }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16" class="tlineheightb"> |
|||
<div class="span-sty">年检情况</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.inspectSituation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">是否已出保</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.guaranteed }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16" class="tlineheightb"> |
|||
<div class="span-sty">保险情况</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.insuranceSituation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">首次登记日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">当前行驶公里数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.kilometerDriven }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">其他车况说明</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.illustrate }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">车辆照片</div> |
|||
<el-form-item> |
|||
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title">已还与欠款情况</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">已还金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">当前逾期金额/其中资金占用费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">未到期金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">总期数/当前期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">已还金额换算期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">逾期金额换算期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title">费用说明</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">欠款合计</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.arrearsAll }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款保证金</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.loanDeposit }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">车辆售价</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehPrice }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">催收费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.collectionCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">风控中心车辆评估价</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleEvaluation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方结清费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">车辆违章费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">年检费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">保险费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">过户费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">停车费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">其他费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8" class="tlineheightb"> |
|||
<div class="span-sty">费用说明</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.costDescription }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">预计亏损金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.lossPrice }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">后续欠款处置方向</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.debtDisposal }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">附件</div> |
|||
<el-form-item> |
|||
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.loanSecondarySalesCost.files" :key="index" :src="item" :preview-src-list="formobj.loanSecondarySalesCost.files"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
<!-- 查看车辆历史催收记录 --> |
|||
<financialschemeInfo v-show="viewState == 2" ref="divFinancial" @doback="resetState" /> |
|||
<!-- 选择待办人 的弹出框--> |
|||
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%"> |
|||
<el-form class="formadd" > |
|||
<el-row v-show="countersignLink" style="border-top: 1px solid #e0e3eb"> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span class="icon">*</span>加签人员: |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<el-select v-model="countersign.assignee" placeholder="请选择" filterable> |
|||
<el-option v-for="item in options" :key="item.userSid" :label="item.staffName" :value="item.userSid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb"> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>当前环节:</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :class="{rowClass:!currentLink}"> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>意见:</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item><el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" type="textarea" :autosize="{ minRows: 1, maxRows: 10}" clearable ></el-input></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div style="text-align:center;margin-top: 20px;"> |
|||
<el-button type="primary" size="mini" @click="reject">确 定</el-button> |
|||
<el-button type="info " size="mini" @click="nodeDialogVisible = false">取 消</el-button> |
|||
</div> |
|||
</el-form> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/secondarysales/secondarysales' |
|||
import { selectStaffListss } from '@/api/Common/dictcommons' |
|||
import financialschemeInfo from '../publicPage/financialschemeInfo' |
|||
|
|||
export default { |
|||
name: 'SecondarySalesDaiBan', |
|||
components: { |
|||
financialschemeInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
viewTitle: '', |
|||
viewState: 1, |
|||
tableKey: 1, |
|||
index: 0, |
|||
formobj: { |
|||
alRepaidMoney: '', |
|||
alRepaidMoneyConPeriod: '', |
|||
bankContractNo: '', |
|||
bankName: '', |
|||
beOverdueMoneyAndPeriod: '', |
|||
createByName: '', |
|||
createDate: '', |
|||
createDept: '', |
|||
createDeptSid: '', |
|||
currentBeMoney: '', |
|||
currentPeriod: '', |
|||
customerName: '', |
|||
files: '', |
|||
filesList: [], |
|||
firstDate: '', |
|||
guaranteed: '', |
|||
illustrate: '', |
|||
inspect: '', |
|||
inspectSituation: '', |
|||
insuranceSituation: '', |
|||
kilometerDriven: '', |
|||
loanContractNo: '', |
|||
loanName: '', |
|||
loanSecondarySalesCost: { |
|||
arrearsAll: '', |
|||
bankSettleCost: '', |
|||
bankSettleCostAssume: '', |
|||
collectionCost: '', |
|||
costDescription: '', |
|||
debtDisposal: '', |
|||
files: [], |
|||
inspectYearCost: '', |
|||
inspectYearCostAssume: '', |
|||
insureCost: '', |
|||
insureCostAssume: '', |
|||
loanDeposit: '', |
|||
lossPrice: '', |
|||
otherCost: '', |
|||
otherCostAssume: '', |
|||
ownershipCost: '', |
|||
ownershipCostAssume: '', |
|||
stopCost: '', |
|||
stopCostAssume: '', |
|||
vehicleEvaluation: '', |
|||
vehPrice: '', |
|||
vehicleViolationCost: '', |
|||
vehicleViolationCostAssume: '' |
|||
}, |
|||
loanSecondarySalesVehVoList: [], |
|||
locationName: '', |
|||
nper: '', |
|||
orgPath: '', |
|||
procInstId: '', |
|||
sid: '', |
|||
taskId: '', |
|||
unexpiredMoney: '', |
|||
useOrgSid: '', |
|||
userSid: '', |
|||
wheFundOccMoney: '' |
|||
}, |
|||
rules: {}, |
|||
options: [], |
|||
operation: '', // 点击操作按钮 |
|||
dialogList: { |
|||
comment: '' |
|||
}, |
|||
startTask: true, |
|||
current: { |
|||
taskDefKey: '', |
|||
taskName: '' // 当前环节名称 |
|||
}, |
|||
nextNode: {}, // 下一环节 |
|||
nodeDialogVisible: false, |
|||
currentLink: true, |
|||
countersignLink: false, |
|||
// 环节所需参数 |
|||
linkByParameter: { |
|||
businessSid: '', |
|||
comment: '', |
|||
instanceId: '', |
|||
taskId: '', |
|||
orgSidPath: '', |
|||
taskDefKey: '', |
|||
userSid: '', |
|||
vehicleEvaluation: '' |
|||
}, |
|||
// 加签按钮所需参数 |
|||
countersign: { |
|||
taskId: '', |
|||
assignee: '', |
|||
userSid: '', |
|||
instanceId: '', |
|||
views: '' |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
console.log('url:' + window.location.href) |
|||
var one = window.location.href.indexOf('&data') + 6 |
|||
const data = window.location.href.substr(one) // url解码unescape()已从web中移除,尽量不使用 |
|||
const obj = JSON.parse(decodeURIComponent(data)) |
|||
console.log('iframe页面获取的obj:', obj) |
|||
// 点击(同意、终止、驳回、驳回)操作时所需的参数 |
|||
this.linkByParameter.businessSid = obj.businessSid |
|||
this.linkByParameter.instanceId = obj.instanceId |
|||
this.linkByParameter.taskId = obj.taskId |
|||
this.linkByParameter.taskDefKey = obj.taskDefKey |
|||
// this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath') |
|||
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid') |
|||
this.current.taskDefKey = obj.taskDefKey |
|||
this.current.taskName = obj.taskName |
|||
// 加签参数 |
|||
this.countersign.taskId = obj.taskId |
|||
this.countersign.userSid = window.sessionStorage.getItem('userSid') |
|||
this.countersign.instanceId = obj.instanceId |
|||
// 加载表单数据 |
|||
this.showInfo(obj.businessSid) |
|||
}, |
|||
mounted() { |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 告诉父级页面,子页面的弹框高度。 |
|||
code: 2, |
|||
data: 500 + 'px' |
|||
} |
|||
}, '*') |
|||
}, |
|||
methods: { |
|||
showInfo(sid) { |
|||
this.viewTitle = '交回车辆二次销售申请详情' |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
req.fetchBySid({ chooseSidList: [], orgPath: '', sid: sid, userSid: '' }).then((res) => { |
|||
if (res.success) { |
|||
this.formobj = res.data |
|||
if (this.formobj.loanSecondarySalesCost.files.length > 0) { |
|||
const bb = [] |
|||
this.formobj.loanSecondarySalesCost.files.forEach((e) => { |
|||
bb.push(e.url) |
|||
}) |
|||
this.formobj.loanSecondarySalesCost.files = bb |
|||
} |
|||
} |
|||
}) |
|||
selectStaffListss().then((res) => { |
|||
if (res.success) { |
|||
this.options = res.data |
|||
} |
|||
}) |
|||
}, |
|||
lookFinancial() { |
|||
req.selectDetailss({ businessSid: this.formobj.salesOrderSid }).then((res) => { |
|||
if (res.success) { |
|||
this.viewState = 2 |
|||
this.$refs['divFinancial'].showInfo(res.data, '03') |
|||
} |
|||
}) |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
// 加签 |
|||
openCountersign(val) { |
|||
this.operation = val |
|||
this.currentLink = true |
|||
this.countersignLink = true |
|||
this.dialogList.comment = '' |
|||
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => { |
|||
if (resp.success) { |
|||
var arr = resp.data |
|||
this.nextNode = arr[0] |
|||
this.nodeDialogVisible = true |
|||
} |
|||
this.submitdisabled = false |
|||
}) |
|||
}, |
|||
// 同意 |
|||
openAgree(val) { |
|||
this.operation = val |
|||
this.currentLink = true |
|||
this.countersignLink = false |
|||
this.dialogList.comment = '同意' |
|||
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid, vehicleEvaluation: this.formobj.loanSecondarySalesCost.vehicleEvaluation }).then((resp) => { |
|||
if (resp.success) { |
|||
var arr = resp.data |
|||
this.nextNode = arr[0] |
|||
this.nodeDialogVisible = true |
|||
} |
|||
this.submitdisabled = false |
|||
}) |
|||
}, |
|||
// 驳回 |
|||
openReject(val) { |
|||
this.operation = val |
|||
this.currentLink = true |
|||
this.countersignLink = false |
|||
this.dialogList.comment = '' |
|||
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => { |
|||
if (resp.success) { |
|||
var arr = resp.data |
|||
this.nextNode = arr[0] |
|||
this.nodeDialogVisible = true |
|||
} |
|||
this.submitdisabled = false |
|||
}) |
|||
}, |
|||
// 终止 |
|||
openStop(val) { |
|||
this.operation = val |
|||
this.currentLink = false |
|||
this.countersignLink = false |
|||
this.dialogList.comment = '' |
|||
this.nodeDialogVisible = true |
|||
}, |
|||
reject() { |
|||
if (this.operation === '同意') { |
|||
this.handleAgree() |
|||
} else if (this.operation === '驳回') { |
|||
if (this.dialogList.comment === '') { |
|||
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' }) |
|||
} else { |
|||
this.handleReject() |
|||
} |
|||
} else if (this.operation === '终止') { |
|||
if (this.dialogList.comment === '') { |
|||
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' }) |
|||
} else { |
|||
this.handleStop() |
|||
} |
|||
} else if (this.operation === '加签') { |
|||
this.handleCountersign() |
|||
} |
|||
}, |
|||
/** 加签 */ |
|||
handleCountersign() { |
|||
if (this.countersign.assignee === '') { |
|||
this.$message({ showClose: true, type: 'error', message: '请选择加签人员' }) |
|||
return |
|||
} |
|||
if (this.dialogList.comment === '') { |
|||
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' }) |
|||
return |
|||
} |
|||
this.countersign.views = this.dialogList.comment |
|||
req.delegate(this.countersign).then((response) => { |
|||
if (response.success) { |
|||
this.$notify({ |
|||
title: '提示', |
|||
message: '执行成功', |
|||
type: 'success', |
|||
duration: 2000 |
|||
}) |
|||
this.nodeDialogVisible = false |
|||
// 子页面向父级页面传递值 |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 操作成功,告诉父级页面关闭弹框 |
|||
code: 1 |
|||
} |
|||
}, '*') |
|||
} |
|||
}) |
|||
}, |
|||
/** 同意任务 */ |
|||
handleAgree() { |
|||
this.linkByParameter.comment = this.dialogList.comment |
|||
this.linkByParameter.vehicleEvaluation = this.formobj.loanSecondarySalesCost.vehicleEvaluation |
|||
req.complete(this.linkByParameter).then((response) => { |
|||
if (response.success) { |
|||
this.$notify({ |
|||
title: '提示', |
|||
message: '执行成功', |
|||
type: 'success', |
|||
duration: 2000 |
|||
}) |
|||
this.nodeDialogVisible = false |
|||
// 子页面向父级页面传递值 |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 操作成功,告诉父级页面关闭弹框 |
|||
code: 1 |
|||
} |
|||
}, '*') |
|||
} |
|||
}) |
|||
}, |
|||
/** 驳回任务 */ |
|||
handleReject() { |
|||
this.linkByParameter.comment = this.dialogList.comment |
|||
req.reject(this.linkByParameter).then((response) => { |
|||
if (response.success) { |
|||
this.$notify({ |
|||
title: '提示', |
|||
message: '执行成功', |
|||
type: 'success', |
|||
duration: 2000 |
|||
}) |
|||
this.nodeDialogVisible = false |
|||
// 子页面向父级页面传递值 |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 操作成功,告诉父级页面关闭弹框 |
|||
code: 1 |
|||
} |
|||
}, '*') |
|||
} |
|||
}) |
|||
}, |
|||
/** 终止任务 */ |
|||
handleStop() { |
|||
this.linkByParameter.comment = this.dialogList.comment |
|||
req.breakProcess(this.linkByParameter).then((response) => { |
|||
if (response.success) { |
|||
this.$notify({ |
|||
title: '提示', |
|||
message: '执行成功', |
|||
type: 'success', |
|||
duration: 2000 |
|||
}) |
|||
this.nodeDialogVisible = false |
|||
// 子页面向父级页面传递值 |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 操作成功,告诉父级页面关闭弹框 |
|||
code: 1 |
|||
} |
|||
}, '*') |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.span-sty { |
|||
width: 200px !important; |
|||
} |
|||
.addinputInfo { |
|||
margin-left: 190px !important; |
|||
} |
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
.tlineheightb { |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
} |
|||
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo { |
|||
line-height: 15px !important; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
} |
|||
.rowClass{ |
|||
border-top: 1px solid #E0E3EB; |
|||
} |
|||
</style> |
@ -0,0 +1,651 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<div class="tab-header webtop"> |
|||
<div>{{ viewTitle }}</div> |
|||
<div> |
|||
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button> |
|||
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button> |
|||
</div> |
|||
</div> |
|||
<div class=""> |
|||
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> |
|||
<el-row style="border-top: 1px solid #e0e3eb"> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请部门</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">客户名称</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款合同编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方合同编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">停放地点</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title titleOne"> |
|||
<div>二次销售车辆列表(含主车、挂车)</div> |
|||
<el-button size="mini" type="primary" class="btntopblueline" @click="lookFinancial">金融方案</el-button> |
|||
</div> |
|||
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%"> |
|||
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/> |
|||
<el-table-column fixed label="操作" width="80" align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-button size="small" type="danger" @click="delete(scope.$index)">删除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" /> |
|||
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/> |
|||
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/> |
|||
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/> |
|||
</el-table> |
|||
<div class="title">车辆状况</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">是否年检</div> |
|||
<el-form-item> |
|||
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.inspect"> |
|||
<el-radio label="是">是</el-radio> |
|||
<el-radio label="否">否</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">年检情况</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.inspectSituation" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">是否已出保</div> |
|||
<el-form-item> |
|||
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.guaranteed"> |
|||
<el-radio label="是">是</el-radio> |
|||
<el-radio label="否">否</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">保险情况</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.insuranceSituation" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">首次登记日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">当前行驶公里数</div> |
|||
<el-form-item><el-input class="addinputInfo" style="width: 30%" v-model="formobj.kilometerDriven" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">其他车况说明</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.illustrate" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">车辆照片</div> |
|||
<el-form-item> |
|||
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title">已还与欠款情况</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">已还金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">当前逾期金额/其中资金占用费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">未到期金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">总期数/当前期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">已还金额换算期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">逾期金额换算期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title">费用说明</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">欠款合计</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.arrearsAll }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款保证金</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.loanDeposit }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">车辆售价</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.vehPrice" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">催收费用</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.collectionCost" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">风控中心车辆评估价</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleEvaluation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方结清费用</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.bankSettleCost" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item> |
|||
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.bankSettleCostAssumeKey" placeholder="请选择" clearable filterable @change="bankSettleCostChange"> |
|||
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">车辆违章费用</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.vehicleViolationCost" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item> |
|||
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.vehicleViolationCostAssumeKey" placeholder="请选择" clearable filterable @change="vehicleViolationCostChange"> |
|||
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">年检费</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.inspectYearCost" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item> |
|||
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.inspectYearCostAssumeKey" placeholder="请选择" clearable filterable @change="inspectYearCostChange"> |
|||
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">保险费</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.insureCost" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item> |
|||
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.insureCostAssumeKey" placeholder="请选择" clearable filterable @change="insureCostChange"> |
|||
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">过户费</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.ownershipCost" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item> |
|||
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.ownershipCostAssumeKey" placeholder="请选择" clearable filterable @change="ownershipCostChange"> |
|||
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">停车费</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.stopCost" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item> |
|||
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.stopCostAssumeKey" placeholder="请选择" clearable filterable @change="stopCostChange"> |
|||
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">其他费用</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="UpNumber" v-model="formobj.loanSecondarySalesCost.otherCost" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item> |
|||
<el-select class="addinputInfo" v-model="formobj.loanSecondarySalesCost.otherCostAssumeKey" placeholder="请选择" clearable filterable @change="otherCostChange"> |
|||
<el-option v-for="item in bearer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">费用说明</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.loanSecondarySalesCost.costDescription" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">预计亏损金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ lossPrice() }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">后续欠款处置方向</div> |
|||
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.loanSecondarySalesCost.debtDisposal" clearable placeholder=""/></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">附件</div> |
|||
<el-form-item> |
|||
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.loanSecondarySalesCost.files" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
<!-- 查看车辆历史催收记录 --> |
|||
<financialschemeInfo v-show="viewState == 2" ref="divFinancial" @doback="resetState" /> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/secondarysales/secondarysales' |
|||
import { typeValues } from '@/api/Common/dictcommons' |
|||
import uploadImg from '@/components/uploadFile/uploadImg' |
|||
import financialschemeInfo from '../publicPage/financialschemeInfo' |
|||
|
|||
export default { |
|||
name: 'SecondarySalesEdit', |
|||
components: { |
|||
uploadImg, |
|||
financialschemeInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
viewTitle: '', |
|||
viewState: 1, |
|||
submitdisabled: false, |
|||
tableKey: 1, |
|||
index: 0, |
|||
bearer_list: [], |
|||
formobj: { |
|||
alRepaidMoney: '', |
|||
alRepaidMoneyConPeriod: '', |
|||
bankContractNo: '', |
|||
bankName: '', |
|||
beOverdueMoneyAndPeriod: '', |
|||
createByName: '', |
|||
createDate: '', |
|||
createDept: '', |
|||
createDeptSid: '', |
|||
currentBeMoney: '', |
|||
currentPeriod: '', |
|||
customerName: '', |
|||
files: '', |
|||
filesList: [], |
|||
firstDate: '', |
|||
guaranteed: '', |
|||
illustrate: '', |
|||
inspect: '', |
|||
inspectSituation: '', |
|||
insuranceSituation: '', |
|||
kilometerDriven: '', |
|||
loanContractNo: '', |
|||
loanName: '', |
|||
loanSecondarySalesCost: { |
|||
arrearsAll: '', |
|||
bankSettleCost: '', |
|||
bankSettleCostAssume: '', |
|||
bankSettleCostAssumeKey: '', |
|||
collectionCost: '', |
|||
costDescription: '', |
|||
debtDisposal: '', |
|||
files: [], |
|||
inspectYearCost: '', |
|||
inspectYearCostAssume: '', |
|||
inspectYearCostAssumeKey: '', |
|||
insureCost: '', |
|||
insureCostAssume: '', |
|||
insureCostAssumeKey: '', |
|||
loanDeposit: '', |
|||
lossPrice: '', |
|||
otherCost: '', |
|||
otherCostAssume: '', |
|||
otherCostAssumeKey: '', |
|||
ownershipCost: '', |
|||
ownershipCostAssume: '', |
|||
ownershipCostAssumeKey: '', |
|||
stopCost: '', |
|||
stopCostAssume: '', |
|||
stopCostAssumeKey: '', |
|||
vehPrice: '', |
|||
vehicleEvaluation: '', |
|||
vehicleViolationCost: '', |
|||
vehicleViolationCostAssume: '', |
|||
vehicleViolationCostAssumeKey: '' |
|||
}, |
|||
loanSecondarySalesVehVoList: [], |
|||
locationName: '', |
|||
nper: '', |
|||
orgPath: '', |
|||
procInstId: '', |
|||
salesOrderSid: '', |
|||
sid: '', |
|||
taskId: '', |
|||
unexpiredMoney: '', |
|||
useOrgSid: '', |
|||
userSid: '', |
|||
wheFundOccMoney: '' |
|||
}, |
|||
rules: {} |
|||
} |
|||
}, |
|||
created() { |
|||
console.log('url:' + window.location.href) |
|||
var one = window.location.href.indexOf('&data') + 6 |
|||
const data = window.location.href.substr(one) // url解码unescape()已从web中移除,尽量不使用 |
|||
const obj = JSON.parse(decodeURIComponent(data)) |
|||
this.showInfo(obj.businessSid) |
|||
}, |
|||
mounted() { |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 告诉父级页面,子页面的弹框高度。 |
|||
code: 2, |
|||
data: 500 + 'px' |
|||
} |
|||
}, '*') |
|||
}, |
|||
methods: { |
|||
UpNumber(e) { |
|||
e.target.value = e.target.value.replace(/[^0-9.]/g, '') // 清除“数字”和“.”以外的字符 |
|||
e.target.value = e.target.value.replace(/^00/, '0.') // 开头不能有两个0 |
|||
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // 只保留第一个. 清除多余的 |
|||
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.') |
|||
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') // 只能输入两个小数 |
|||
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') { |
|||
// 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 |
|||
e.target.value = parseFloat(e.target.value) |
|||
} |
|||
}, |
|||
init() { |
|||
typeValues({ type: 'costAssume' }).then((resp) => { |
|||
if (resp.success) { |
|||
this.bearer_list = resp.data |
|||
} |
|||
}) |
|||
}, |
|||
created() { |
|||
console.log('url:' + window.location.href) |
|||
var one = window.location.href.indexOf('&data') + 6 |
|||
const data = window.location.href.substr(one) // url解码unescape()已从web中移除,尽量不使用 |
|||
const obj = JSON.parse(decodeURIComponent(data)) |
|||
this.showInfo(obj.businessSid) |
|||
}, |
|||
mounted() { |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 告诉父级页面,子页面的弹框高度。 |
|||
code: 2, |
|||
data: 500 + 'px' |
|||
} |
|||
}, '*') |
|||
}, |
|||
showInfo(sid) { |
|||
this.viewTitle = '【编辑】交回车辆二次销售申请' |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
this.init() |
|||
req.fetchBySid({ chooseSidList: [], orgPath: '', sid: sid, userSid: '' }).then((res) => { |
|||
if (res.success) { |
|||
this.formobj = res.data |
|||
this.formobj.instanceId = res.data.procInstId |
|||
} |
|||
}) |
|||
}, |
|||
lookFinancial() { |
|||
req.selectDetailss({ businessSid: this.formobj.salesOrderSid }).then((res) => { |
|||
if (res.success) { |
|||
this.viewState = 2 |
|||
this.$refs['divFinancial'].showInfo(res.data, '03') |
|||
} |
|||
}) |
|||
}, |
|||
delete(index) { |
|||
this.formobj.loanSecondarySalesVehVoList.splice(index, 1) |
|||
}, |
|||
bankSettleCostChange(value) { |
|||
const choose = this.bearer_list.filter((item) => item.dictKey === value) |
|||
if (choose.length > 0 && choose !== null) { |
|||
this.formobj.loanSecondarySalesCost.bankSettleCostAssume = choose[0].dictValue |
|||
} else { |
|||
this.formobj.loanSecondarySalesCost.bankSettleCostAssume = '' |
|||
} |
|||
}, |
|||
vehicleViolationCostChange(value) { |
|||
const choose = this.bearer_list.filter((item) => item.dictKey === value) |
|||
if (choose.length > 0 && choose !== null) { |
|||
this.formobj.loanSecondarySalesCost.vehicleViolationCostAssume = choose[0].dictValue |
|||
} else { |
|||
this.formobj.loanSecondarySalesCost.vehicleViolationCostAssume = '' |
|||
} |
|||
}, |
|||
inspectYearCostChange(value) { |
|||
const choose = this.bearer_list.filter((item) => item.dictKey === value) |
|||
if (choose.length > 0 && choose !== null) { |
|||
this.formobj.loanSecondarySalesCost.inspectYearCostAssume = choose[0].dictValue |
|||
} else { |
|||
this.formobj.loanSecondarySalesCost.inspectYearCostAssume = '' |
|||
} |
|||
}, |
|||
insureCostChange(value) { |
|||
const choose = this.bearer_list.filter((item) => item.dictKey === value) |
|||
if (choose.length > 0 && choose !== null) { |
|||
this.formobj.loanSecondarySalesCost.insureCostAssume = choose[0].dictValue |
|||
} else { |
|||
this.formobj.loanSecondarySalesCost.insureCostAssume = '' |
|||
} |
|||
}, |
|||
ownershipCostChange(value) { |
|||
const choose = this.bearer_list.filter((item) => item.dictKey === value) |
|||
if (choose.length > 0 && choose !== null) { |
|||
this.formobj.loanSecondarySalesCost.ownershipCostAssume = choose[0].dictValue |
|||
} else { |
|||
this.formobj.loanSecondarySalesCost.ownershipCostAssume = '' |
|||
} |
|||
}, |
|||
stopCostChange(value) { |
|||
const choose = this.bearer_list.filter((item) => item.dictKey === value) |
|||
if (choose.length > 0 && choose !== null) { |
|||
this.formobj.loanSecondarySalesCost.stopCostAssume = choose[0].dictValue |
|||
} else { |
|||
this.formobj.loanSecondarySalesCost.stopCostAssume = '' |
|||
} |
|||
}, |
|||
otherCostChange(value) { |
|||
const choose = this.bearer_list.filter((item) => item.dictKey === value) |
|||
if (choose.length > 0 && choose !== null) { |
|||
this.formobj.loanSecondarySalesCost.otherCostAssume = choose[0].dictValue |
|||
} else { |
|||
this.formobj.loanSecondarySalesCost.otherCostAssume = '' |
|||
} |
|||
}, |
|||
// 计算预计亏损金额 = 欠款合计 - 贷款保证金 - 车辆售价 - 催收费用 - 承担方为公司的各项费用 |
|||
lossPrice() { |
|||
let money = '0' |
|||
money = parseFloat(this.formobj.loanSecondarySalesCost.arrearsAll) - parseFloat(this.formobj.loanSecondarySalesCost.loanDeposit) |
|||
// 车辆售价不等于空 |
|||
if (this.formobj.loanSecondarySalesCost.vehPrice !== '') { |
|||
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.vehPrice) |
|||
} |
|||
// 催收费用不等于空 |
|||
if (this.formobj.loanSecondarySalesCost.collectionCost !== '') { |
|||
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.collectionCost) |
|||
} |
|||
// 资方结清费用不等于空且承担方为公司 |
|||
if (this.formobj.loanSecondarySalesCost.bankSettleCost !== '' && this.formobj.loanSecondarySalesCost.bankSettleCostAssume === '公司') { |
|||
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.bankSettleCost) |
|||
} |
|||
// 车辆违章费用不等于空且承担方为公司 |
|||
if (this.formobj.loanSecondarySalesCost.vehicleViolationCost !== '' && this.formobj.loanSecondarySalesCost.vehicleViolationCostAssume === '公司') { |
|||
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.vehicleViolationCost) |
|||
} |
|||
// 年检费不等于空且承担方为公司 |
|||
if (this.formobj.loanSecondarySalesCost.inspectYearCost !== '' && this.formobj.loanSecondarySalesCost.inspectYearCostAssume === '公司') { |
|||
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.inspectYearCost) |
|||
} |
|||
// 保险费不等于空且承担方为公司 |
|||
if (this.formobj.loanSecondarySalesCost.insureCost !== '' && this.formobj.loanSecondarySalesCost.insureCostAssume === '公司') { |
|||
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.insureCost) |
|||
} |
|||
// 过户费不等于空且承担方为公司 |
|||
if (this.formobj.loanSecondarySalesCost.ownershipCost !== '' && this.formobj.loanSecondarySalesCost.ownershipCostAssume === '公司') { |
|||
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.ownershipCost) |
|||
} |
|||
// 停车费不等于空且承担方为公司 |
|||
if (this.formobj.loanSecondarySalesCost.stopCost !== '' && this.formobj.loanSecondarySalesCost.stopCostAssume === '公司') { |
|||
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.stopCost) |
|||
} |
|||
// 其他费用不等于空且承担方为公司 |
|||
if (this.formobj.loanSecondarySalesCost.otherCost !== '' && this.formobj.loanSecondarySalesCost.otherCostAssume === '公司') { |
|||
money = parseFloat(money) - parseFloat(this.formobj.loanSecondarySalesCost.otherCost) |
|||
} |
|||
this.formobj.loanSecondarySalesCost.lossPrice = money |
|||
return money |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
saveOrUpdate() { |
|||
this.$refs['form_obj'].validate((valid) => { |
|||
if (valid) { |
|||
this.submitdisabled = true |
|||
req.saveOrUpdate(this.formobj).then((res) => { |
|||
if (res.success) { |
|||
this.$message({ showClose: true, type: 'success', message: '保存成功' }) |
|||
// 子页面向父级页面传递值(关闭弹框) |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 操作成功,告诉父级页面关闭弹框 |
|||
code: 1 |
|||
} |
|||
}, '*') |
|||
} else { |
|||
this.submitdisabled = false |
|||
} |
|||
}).catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
} |
|||
}) |
|||
}, |
|||
submit() { |
|||
this.$refs['form_obj'].validate((valid) => { |
|||
if (valid) { |
|||
this.submitdisabled = true |
|||
req.submit(this.formobj).then((res) => { |
|||
if (res.success) { |
|||
this.$message({ showClose: true, type: 'success', message: '操作成功' }) |
|||
// 子页面向父级页面传递值(关闭弹框) |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 操作成功,告诉父级页面关闭弹框 |
|||
code: 1 |
|||
} |
|||
}, '*') |
|||
} else { |
|||
this.submitdisabled = false |
|||
} |
|||
}).catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.span-sty { |
|||
width: 200px !important; |
|||
} |
|||
.addinputInfo { |
|||
margin-left: 190px !important; |
|||
} |
|||
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
|||
margin-left: 190px !important; |
|||
width: calc(100% - 185px); |
|||
} |
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
</style> |
@ -0,0 +1,478 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<div class="tab-header webtop"> |
|||
<div>{{ viewTitle }}</div> |
|||
<div> |
|||
<el-button type="danger" size="small" @click="openRevoke()">撤回</el-button> |
|||
</div> |
|||
</div> |
|||
<div class=""> |
|||
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> |
|||
<el-row style="border-top: 1px solid #e0e3eb"> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请部门</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDept }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">申请日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">客户名称</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款合同编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanContractNo }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方合同编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.bankContractNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">停放地点</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.locationName }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title titleOne"> |
|||
<div>二次销售车辆列表(含主车、挂车)</div> |
|||
<el-button size="mini" type="primary" class="btntopblueline" @click="lookFinancial">金融方案</el-button> |
|||
</div> |
|||
<el-table :key="tableKey" :data="formobj.loanSecondarySalesVehVoList" :index="index" border style="width: 100%"> |
|||
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/> |
|||
<el-table-column prop="vinNo" label="车架号" align="center" min-width="100" /> |
|||
<el-table-column prop="vehMark" label="车牌号" align="center" min-width="100"/> |
|||
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/> |
|||
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/> |
|||
</el-table> |
|||
<div class="title">车辆状况</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">是否年检</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.inspect }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16" class="tlineheightb"> |
|||
<div class="span-sty">年检情况</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.inspectSituation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">是否已出保</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.guaranteed }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16" class="tlineheightb"> |
|||
<div class="span-sty">保险情况</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.insuranceSituation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">首次登记日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.firstDate }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">当前行驶公里数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.kilometerDriven }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">其他车况说明</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.illustrate }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">车辆照片</div> |
|||
<el-form-item> |
|||
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.filesList" :key="index" :src="item" :preview-src-list="formobj.filesList"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title">已还与欠款情况</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">已还金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoney }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">当前逾期金额/其中资金占用费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.currentBeMoney }}/{{ formobj.wheFundOccMoney }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">未到期金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.unexpiredMoney }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">总期数/当前期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.nper }}/{{ formobj.currentPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">已还金额换算期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.alRepaidMoneyConPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">逾期金额换算期数</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.beOverdueMoneyAndPeriod }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title">费用说明</div> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">欠款合计</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.arrearsAll }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">贷款保证金</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.loanDeposit }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">车辆售价</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehPrice }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">催收费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.collectionCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">风控中心车辆评估价</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleEvaluation }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">资方结清费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.bankSettleCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">车辆违章费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.vehicleViolationCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">年检费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.inspectYearCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">保险费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.insureCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">过户费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.ownershipCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">停车费</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.stopCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">其他费用</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCost }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="span-sty">承担方</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.otherCostAssume }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="8" class="tlineheightb"> |
|||
<div class="span-sty">费用说明</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.costDescription }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">预计亏损金额</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.lossPrice }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">后续欠款处置方向</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.loanSecondarySalesCost.debtDisposal }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">附件</div> |
|||
<el-form-item> |
|||
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.loanSecondarySalesCost.files" :key="index" :src="item" :preview-src-list="formobj.loanSecondarySalesCost.files"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
<!-- 查看车辆历史催收记录 --> |
|||
<financialschemeInfo v-show="viewState == 2" ref="divFinancial" @doback="resetState" /> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/secondarysales/secondarysales' |
|||
import financialschemeInfo from '../publicPage/financialschemeInfo' |
|||
|
|||
export default { |
|||
name: 'SecondarySalesYiBan', |
|||
components: { |
|||
financialschemeInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
viewTitle: '', |
|||
viewState: 1, |
|||
tableKey: 1, |
|||
index: 0, |
|||
formobj: { |
|||
alRepaidMoney: '', |
|||
alRepaidMoneyConPeriod: '', |
|||
bankContractNo: '', |
|||
bankName: '', |
|||
beOverdueMoneyAndPeriod: '', |
|||
createByName: '', |
|||
createDate: '', |
|||
createDept: '', |
|||
createDeptSid: '', |
|||
currentBeMoney: '', |
|||
currentPeriod: '', |
|||
customerName: '', |
|||
files: '', |
|||
filesList: [], |
|||
firstDate: '', |
|||
guaranteed: '', |
|||
illustrate: '', |
|||
inspect: '', |
|||
inspectSituation: '', |
|||
insuranceSituation: '', |
|||
kilometerDriven: '', |
|||
loanContractNo: '', |
|||
loanName: '', |
|||
loanSecondarySalesCost: { |
|||
arrearsAll: '', |
|||
bankSettleCost: '', |
|||
bankSettleCostAssume: '', |
|||
collectionCost: '', |
|||
costDescription: '', |
|||
debtDisposal: '', |
|||
files: [], |
|||
inspectYearCost: '', |
|||
inspectYearCostAssume: '', |
|||
insureCost: '', |
|||
insureCostAssume: '', |
|||
loanDeposit: '', |
|||
lossPrice: '', |
|||
otherCost: '', |
|||
otherCostAssume: '', |
|||
ownershipCost: '', |
|||
ownershipCostAssume: '', |
|||
stopCost: '', |
|||
stopCostAssume: '', |
|||
vehicleEvaluation: '', |
|||
vehPrice: '', |
|||
vehicleViolationCost: '', |
|||
vehicleViolationCostAssume: '' |
|||
}, |
|||
loanSecondarySalesVehVoList: [], |
|||
locationName: '', |
|||
nper: '', |
|||
orgPath: '', |
|||
procInstId: '', |
|||
sid: '', |
|||
taskId: '', |
|||
unexpiredMoney: '', |
|||
useOrgSid: '', |
|||
userSid: '', |
|||
wheFundOccMoney: '' |
|||
}, |
|||
// 环节所需参数 |
|||
linkByParameter: { |
|||
businessSid: '', |
|||
comment: '', |
|||
instanceId: '', |
|||
taskId: '', |
|||
orgSidPath: '', |
|||
taskDefKey: '', |
|||
userSid: '' |
|||
}, |
|||
rules: {} |
|||
} |
|||
}, |
|||
created() { |
|||
console.log('url:' + window.location.href) |
|||
var one = window.location.href.indexOf('&data') + 6 |
|||
const data = window.location.href.substr(one) // url解码unescape()已从web中移除,尽量不使用 |
|||
const obj = JSON.parse(decodeURIComponent(data)) |
|||
console.log('iframe页面获取的obj:', obj) |
|||
// 点击(同意、终止、驳回、驳回)操作时所需的参数 |
|||
this.linkByParameter.businessSid = obj.businessSid |
|||
this.linkByParameter.instanceId = obj.instanceId |
|||
this.linkByParameter.taskId = obj.taskId |
|||
this.linkByParameter.taskDefKey = obj.taskDefKey |
|||
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid') |
|||
// 加载表单数据 |
|||
this.showInfo(obj.businessSid) |
|||
}, |
|||
mounted() { |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 告诉父级页面,子页面的弹框高度。 |
|||
code: 2, |
|||
data: 500 + 'px' |
|||
} |
|||
}, '*') |
|||
}, |
|||
methods: { |
|||
showInfo(sid) { |
|||
this.viewTitle = '交回车辆二次销售申请详情' |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
req.fetchBySid({ chooseSidList: [], orgPath: '', sid: sid, userSid: '' }).then((res) => { |
|||
if (res.success) { |
|||
this.formobj = res.data |
|||
if (this.formobj.loanSecondarySalesCost.files.length > 0) { |
|||
const bb = [] |
|||
this.formobj.loanSecondarySalesCost.files.forEach((e) => { |
|||
bb.push(e.url) |
|||
}) |
|||
this.formobj.loanSecondarySalesCost.files = bb |
|||
} |
|||
} |
|||
}) |
|||
}, |
|||
lookFinancial() { |
|||
req.selectDetailss({ businessSid: this.formobj.salesOrderSid }).then((res) => { |
|||
if (res.success) { |
|||
this.viewState = 2 |
|||
this.$refs['divFinancial'].showInfo(res.data, '03') |
|||
} |
|||
}) |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
/** 确认撤回任务 */ |
|||
openRevoke() { |
|||
this.$confirm('是否确认执行撤回操作', '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
this.handleRevoke() |
|||
}).catch(() => { |
|||
this.$message({ |
|||
type: 'info', |
|||
message: '已取消撤回' |
|||
}) |
|||
}) |
|||
}, |
|||
/** 撤回任务 */ |
|||
handleRevoke() { |
|||
req.revokeProcess(this.linkByParameter).then((response) => { |
|||
if (response.success) { |
|||
this.$notify({ |
|||
title: '提示', |
|||
message: '执行成功', |
|||
type: 'success', |
|||
duration: 2000 |
|||
}) |
|||
this.nodeDialogVisible = false |
|||
// 子页面向父级页面传递值 |
|||
window.parent.postMessage({ |
|||
cmd: 'returnHeight', |
|||
params: { |
|||
// 操作成功,告诉父级页面关闭弹框 |
|||
code: 1 |
|||
} |
|||
}, '*') |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.span-sty { |
|||
width: 200px !important; |
|||
} |
|||
.addinputInfo { |
|||
margin-left: 190px !important; |
|||
} |
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
.tlineheightb { |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
} |
|||
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo { |
|||
line-height: 15px !important; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
} |
|||
</style> |
@ -0,0 +1,74 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalesapply; |
|||
|
|||
import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Data |
|||
public class LoanSecondarySalesCostAppVo { |
|||
|
|||
@ApiModelProperty("欠款合计") |
|||
private String arrearsAll; |
|||
@ApiModelProperty("贷款保证金") |
|||
private String loanDeposit; |
|||
@ApiModelProperty("车辆售价") |
|||
private String vehPrice; |
|||
@ApiModelProperty("催收费用") |
|||
private String collectionCost; |
|||
@ApiModelProperty("资方结清费用") |
|||
private String bankSettleCost; |
|||
@ApiModelProperty("资方结清费用承担方") |
|||
private String bankSettleCostAssume; |
|||
private String bankSettleCostAssumeKey; |
|||
@ApiModelProperty("车辆违章费用") |
|||
private String vehicleViolationCost; |
|||
@ApiModelProperty("车辆违章费用承担方") |
|||
private String vehicleViolationCostAssume; |
|||
private String vehicleViolationCostAssumeKey; |
|||
@ApiModelProperty("年检费") |
|||
private String inspectYearCost; |
|||
@ApiModelProperty("年检费承担方") |
|||
private String inspectYearCostAssume; |
|||
private String inspectYearCostAssumeKey; |
|||
@ApiModelProperty("保险费") |
|||
private String insureCost; |
|||
@ApiModelProperty("保险费承担方") |
|||
private String insureCostAssume; |
|||
private String insureCostAssumeKey; |
|||
@ApiModelProperty("过户费") |
|||
private String ownershipCost; |
|||
@ApiModelProperty("过户费承担方") |
|||
private String ownershipCostAssume; |
|||
private String ownershipCostAssumeKey; |
|||
@ApiModelProperty("停车费") |
|||
private String stopCost; |
|||
@ApiModelProperty("停车费承担方") |
|||
private String stopCostAssume; |
|||
private String stopCostAssumeKey; |
|||
@ApiModelProperty("其他费用") |
|||
private String otherCost; |
|||
@ApiModelProperty("其他费用承担方") |
|||
private String otherCostAssume; |
|||
private String otherCostAssumeKey; |
|||
@ApiModelProperty("费用说明") |
|||
private String costDescription; |
|||
@ApiModelProperty("预计亏损金额") |
|||
private String lossPrice; |
|||
@ApiModelProperty("后续欠款处置方向") |
|||
private String debtDisposal; |
|||
@ApiModelProperty("附件") |
|||
private List<String> files = new ArrayList<>(); |
|||
|
|||
@ApiModelProperty("车辆评估") |
|||
private String vehicleEvaluation; |
|||
|
|||
private String filesss; |
|||
} |
@ -0,0 +1,22 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalesapply; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Data |
|||
public class LoanSecondarySalesVehAppVo { |
|||
|
|||
@ApiModelProperty("车架号") |
|||
private String vinNo; |
|||
@ApiModelProperty("车牌号") |
|||
private String vehMark; |
|||
@ApiModelProperty("车辆类型") |
|||
private String vehType; |
|||
@ApiModelProperty("车型") |
|||
private String modelName; |
|||
} |
@ -0,0 +1,88 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalesapply; |
|||
|
|||
import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalescost.LoanSecondarySalesCostVo; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Data |
|||
public class SecondarySalesAppVo { |
|||
|
|||
@ApiModelProperty("申请部门") |
|||
private String createDept; |
|||
@ApiModelProperty("申请人") |
|||
private String createByName; |
|||
|
|||
@ApiModelProperty("申请日期") |
|||
private String createDate; |
|||
@ApiModelProperty("客户名称") |
|||
private String customerName; |
|||
@ApiModelProperty("贷款人") |
|||
private String loanName; |
|||
@ApiModelProperty("贷款合同编号") |
|||
private String loanContractNo; |
|||
@ApiModelProperty("资方") |
|||
private String bankName; |
|||
@ApiModelProperty("资方合同编号") |
|||
private String bankContractNo; |
|||
@ApiModelProperty("停放地点") |
|||
private String locationName; |
|||
@ApiModelProperty("是否年检") |
|||
private String inspect; |
|||
@ApiModelProperty("年检情况") |
|||
private String inspectSituation; |
|||
@ApiModelProperty("是否已出保") |
|||
private String guaranteed; |
|||
@ApiModelProperty("保险情况") |
|||
private String insuranceSituation; |
|||
@ApiModelProperty("首次登记日期") |
|||
private String firstDate; |
|||
@ApiModelProperty("当前行驶公里数") |
|||
private String kilometerDriven; |
|||
@ApiModelProperty("其他车况说明") |
|||
private String illustrate; |
|||
@ApiModelProperty("车辆照片") |
|||
private List<String> filesList = new ArrayList<>(); |
|||
@ApiModelProperty("已还金额") |
|||
private String alRepaidMoney; |
|||
@ApiModelProperty("当前逾期金额") |
|||
private String currentBeMoney; |
|||
@ApiModelProperty("其中资金占用费") |
|||
private String wheFundOccMoney; |
|||
@ApiModelProperty("未到期金额") |
|||
private String unexpiredMoney; |
|||
@ApiModelProperty("总期数") |
|||
private String nper; |
|||
@ApiModelProperty("当前期数") |
|||
private String currentPeriod; |
|||
@ApiModelProperty("已还金额换算期数") |
|||
private String alRepaidMoneyConPeriod; |
|||
@ApiModelProperty("逾期金额换算期数") |
|||
private String beOverdueMoneyAndPeriod; |
|||
@ApiModelProperty("车辆列表") |
|||
private List<LoanSecondarySalesVehAppVo> loanSecondarySalesVehVoList = new ArrayList<>(); |
|||
@ApiModelProperty("费用明细") |
|||
private LoanSecondarySalesCostAppVo loanSecondarySalesCost; |
|||
|
|||
@ApiModelProperty("申请人sid") |
|||
private String userSid; |
|||
private String orgPath; |
|||
@ApiModelProperty(value = "任务id") |
|||
private String taskId; |
|||
@ApiModelProperty(value = "流程实例id") |
|||
private String procInstId; |
|||
|
|||
private String files; |
|||
|
|||
@ApiModelProperty("销售订单sid") |
|||
private String salesOrderSid; |
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalescustomer; |
|||
|
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/30 |
|||
**/ |
|||
@Data |
|||
public class LoanSecondarySalesCustomer extends BaseEntity { |
|||
private static final long serialVersionUID = -4647743383421777867L; |
|||
|
|||
private String mainSid; |
|||
@ApiModelProperty("客户sid") |
|||
private String customerSid; |
|||
@ApiModelProperty("客户名称") |
|||
private String customerName; |
|||
@ApiModelProperty("客户类型") |
|||
private String customerType; |
|||
private String customerTypeKey; |
|||
@ApiModelProperty("联系电话") |
|||
private String mobile; |
|||
@ApiModelProperty("证件类型") |
|||
private String certificateTypeKey; |
|||
private String certificateType; |
|||
@ApiModelProperty("证件号码") |
|||
private String IDNumber; |
|||
@ApiModelProperty("证件有效期") |
|||
private String endDate; |
|||
@ApiModelProperty("证件地址") |
|||
private String certificateAddress; |
|||
} |
@ -0,0 +1,38 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalescustomer; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import com.yxt.common.core.dto.Dto; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/30 |
|||
**/ |
|||
@Data |
|||
public class LoanSecondarySalesCustomerDto implements Dto { |
|||
private static final long serialVersionUID = 4377892244342062357L; |
|||
|
|||
private String mainSid; |
|||
|
|||
@ApiModelProperty("客户sid") |
|||
private String customerSid; |
|||
@ApiModelProperty("客户名称") |
|||
private String customerName; |
|||
@ApiModelProperty("客户类型") |
|||
private String customerType; |
|||
private String customerTypeKey; |
|||
@ApiModelProperty("联系电话") |
|||
private String mobile; |
|||
@ApiModelProperty("证件类型") |
|||
private String certificateTypeKey; |
|||
private String certificateType; |
|||
@ApiModelProperty("证件号码") |
|||
@JsonProperty("IDNumber") |
|||
private String IDNumber; |
|||
@ApiModelProperty("证件有效期") |
|||
private String endDate; |
|||
@ApiModelProperty("证件地址") |
|||
private String certificateAddress; |
|||
} |
@ -0,0 +1,31 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalescustomer; |
|||
|
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApplyFeignFallback; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.RequestParam; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/30 |
|||
**/ |
|||
@FeignClient( |
|||
contextId = "anrui-riskcenter-LoanSecondarySalesCustomer", |
|||
name = "anrui-riskcenter", |
|||
path = "v1/LoanSecondarySalesCustomer", |
|||
fallback = LoanSecondarySalesCustomerFeignFallback.class) |
|||
public interface LoanSecondarySalesCustomerFeign { |
|||
|
|||
@ApiOperation("新增或修改") |
|||
@PostMapping("/saveOrUpdate") |
|||
ResultBean saveOrUpdate(@RequestBody LoanSecondarySalesCustomerDto dto); |
|||
|
|||
@ApiOperation("初始化") |
|||
@GetMapping("/getDetails") |
|||
ResultBean<SalesInitVo> getDetails(@RequestParam("sid") String sid); |
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalescustomer; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/30 |
|||
**/ |
|||
@Component |
|||
public class LoanSecondarySalesCustomerFeignFallback { |
|||
} |
@ -0,0 +1,48 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalescustomer; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/30 |
|||
**/ |
|||
@Data |
|||
public class SalesInitVo { |
|||
|
|||
private String mainSid; |
|||
@ApiModelProperty("销售部门") |
|||
private String createDept; |
|||
@ApiModelProperty("销售日期") |
|||
private String saleDate; |
|||
@ApiModelProperty("销售价格") |
|||
private String salePrice; |
|||
|
|||
@ApiModelProperty("客户sid") |
|||
private String customerSid; |
|||
@ApiModelProperty("客户名称") |
|||
private String customerName; |
|||
@ApiModelProperty("客户类型") |
|||
private String customerType; |
|||
private String customerTypeKey; |
|||
@ApiModelProperty("联系电话") |
|||
private String mobile; |
|||
@ApiModelProperty("证件类型") |
|||
private String certificateTypeKey; |
|||
private String certificateType; |
|||
@ApiModelProperty("证件号码") |
|||
@JsonProperty("IDNumber") |
|||
private String IDNumber; |
|||
@ApiModelProperty("证件有效期") |
|||
private String endDate; |
|||
@ApiModelProperty("证件地址") |
|||
private String certificateAddress; |
|||
@ApiModelProperty("车辆列表") |
|||
private List<LoanSecondarySalesVehVo> loanSecondarySalesVehVoList = new ArrayList<>(); |
|||
} |
@ -0,0 +1,15 @@ |
|||
package com.yxt.anrui.riskcenter.biz.loansecondarysalescustomer; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.LoanSecondarySalesCustomer; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/30 |
|||
**/ |
|||
@Mapper |
|||
public interface LoanSecondarySalesCustomerMapper extends BaseMapper<LoanSecondarySalesCustomer> { |
|||
LoanSecondarySalesCustomer selectByMainSid(String mainSid); |
|||
} |
@ -0,0 +1,10 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.anrui.riskcenter.biz.loansecondarysalescustomer.LoanSecondarySalesCustomerMapper"> |
|||
<select id="selectByMainSid" |
|||
resultType="com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.LoanSecondarySalesCustomer"> |
|||
select * |
|||
from loan_secondary_sales_customer |
|||
where mainSid = #{mainSid} |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,34 @@ |
|||
package com.yxt.anrui.riskcenter.biz.loansecondarysalescustomer; |
|||
|
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.LoanSecondarySalesCustomerDto; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.LoanSecondarySalesCustomerFeign; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.SalesInitVo; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.Api; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/30 |
|||
**/ |
|||
@RestController |
|||
@RequestMapping("v1/LoanSecondarySalesCustomer") |
|||
@Api(tags = "二次销售补充客户信息") |
|||
public class LoanSecondarySalesCustomerRest implements LoanSecondarySalesCustomerFeign { |
|||
|
|||
@Autowired |
|||
private LoanSecondarySalesCustomerService loanSecondarySalesCustomerService; |
|||
|
|||
@Override |
|||
public ResultBean saveOrUpdate(LoanSecondarySalesCustomerDto dto) { |
|||
return loanSecondarySalesCustomerService.saveSalesCustomer(dto); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<SalesInitVo> getDetails(String sid) { |
|||
return loanSecondarySalesCustomerService.getDetails(sid); |
|||
} |
|||
} |
@ -0,0 +1,109 @@ |
|||
package com.yxt.anrui.riskcenter.biz.loansecondarysalescustomer; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.yxt.anrui.crm.api.crmcustomer.CrmCustomer; |
|||
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp; |
|||
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; |
|||
import com.yxt.anrui.crm.api.crmcustomertemp.CustomerSecondSalesDto; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApply; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalescost.LoanSecondarySalesCost; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.LoanSecondarySalesCustomer; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.LoanSecondarySalesCustomerDto; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.SalesInitVo; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo; |
|||
import com.yxt.anrui.riskcenter.biz.loansecondarysalesapply.LoanSecondarySalesApplyService; |
|||
import com.yxt.anrui.riskcenter.biz.loansecondarysalescost.LoanSecondarySalesCostMapper; |
|||
import com.yxt.anrui.riskcenter.biz.loansecondarysalescost.LoanSecondarySalesCostService; |
|||
import com.yxt.anrui.riskcenter.biz.loansecondarysalesveh.LoanSecondarySalesVehService; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import com.yxt.common.base.utils.StringUtils; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Collections; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/30 |
|||
**/ |
|||
@Service |
|||
public class LoanSecondarySalesCustomerService extends MybatisBaseService<LoanSecondarySalesCustomerMapper, LoanSecondarySalesCustomer> { |
|||
|
|||
@Autowired |
|||
private CrmCustomerTempFeign crmCustomerTempFeign; |
|||
@Autowired |
|||
private LoanSecondarySalesApplyService loanSecondarySalesApplyService; |
|||
@Autowired |
|||
private LoanSecondarySalesVehService loanSecondarySalesVehService; |
|||
@Autowired |
|||
private LoanSecondarySalesCostMapper loanSecondarySalesCostMapper; |
|||
|
|||
public ResultBean saveSalesCustomer(LoanSecondarySalesCustomerDto dto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
LoanSecondarySalesCustomer loanSecondarySalesCustomer = baseMapper.selectByMainSid(dto.getMainSid()); |
|||
String customerSid = dto.getCustomerSid(); |
|||
LoanSecondarySalesApply loanSecondarySalesApply = loanSecondarySalesApplyService.fetchBySid(dto.getMainSid()); |
|||
String userSid = loanSecondarySalesApply.getCreateBySid(); |
|||
String orgPath = loanSecondarySalesApply.getOrgSidPath(); |
|||
if (loanSecondarySalesCustomer == null) { |
|||
//新增客户
|
|||
CustomerSecondSalesDto customerSecondSalesDto = new CustomerSecondSalesDto(); |
|||
BeanUtil.copyProperties(dto, customerSecondSalesDto); |
|||
customerSecondSalesDto.setUserSid(userSid); |
|||
customerSecondSalesDto.setOrgPath(orgPath); |
|||
ResultBean<String> resultBean = crmCustomerTempFeign.updateTemp(customerSecondSalesDto); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
customerSid = resultBean.getData(); |
|||
loanSecondarySalesCustomer = new LoanSecondarySalesCustomer(); |
|||
BeanUtil.copyProperties(dto, loanSecondarySalesCustomer); |
|||
loanSecondarySalesCustomer.setCustomerSid(customerSid); |
|||
baseMapper.insert(loanSecondarySalesCustomer); |
|||
} else { |
|||
//新增客户
|
|||
CustomerSecondSalesDto customerSecondSalesDto = new CustomerSecondSalesDto(); |
|||
BeanUtil.copyProperties(dto, customerSecondSalesDto); |
|||
customerSecondSalesDto.setUserSid(userSid); |
|||
customerSecondSalesDto.setOrgPath(orgPath); |
|||
ResultBean<String> resultBean = crmCustomerTempFeign.updateTemp(customerSecondSalesDto); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
customerSid = resultBean.getData(); |
|||
BeanUtil.copyProperties(dto, loanSecondarySalesCustomer); |
|||
loanSecondarySalesCustomer.setCustomerSid(customerSid); |
|||
baseMapper.updateById(loanSecondarySalesCustomer); |
|||
} |
|||
return rb.success(); |
|||
} |
|||
|
|||
public ResultBean<SalesInitVo> getDetails(String sid) { |
|||
ResultBean<SalesInitVo> rb = ResultBean.fireFail(); |
|||
SalesInitVo salesInitVo = new SalesInitVo(); |
|||
LoanSecondarySalesCustomer loanSecondarySalesCustomer = baseMapper.selectByMainSid(sid); |
|||
if (loanSecondarySalesCustomer != null) { |
|||
BeanUtil.copyProperties(loanSecondarySalesCustomer, salesInitVo); |
|||
} else { |
|||
salesInitVo.setMainSid(sid); |
|||
} |
|||
List<LoanSecondarySalesVehVo> loanSecondarySalesVehVoList = loanSecondarySalesVehService.selectByMainSid(sid); |
|||
loanSecondarySalesVehVoList.removeAll(Collections.singleton(null)); |
|||
if (!loanSecondarySalesVehVoList.isEmpty()) { |
|||
salesInitVo.setLoanSecondarySalesVehVoList(loanSecondarySalesVehVoList); |
|||
} |
|||
LoanSecondarySalesApply loanSecondarySalesApply = loanSecondarySalesApplyService.fetchBySid(sid); |
|||
if (!"已办结".equals(loanSecondarySalesApply.getNodeState())) { |
|||
return rb.setMsg("该申请未办结"); |
|||
} |
|||
salesInitVo.setMainSid(sid); |
|||
salesInitVo.setCreateDept(loanSecondarySalesApply.getCreateDept()); |
|||
salesInitVo.setSaleDate(loanSecondarySalesApply.getCloseDate()); |
|||
LoanSecondarySalesCost loanSecondarySalesCost = loanSecondarySalesCostMapper.selectMainSid(sid); |
|||
salesInitVo.setSalePrice(loanSecondarySalesCost.getVehPrice().toString()); |
|||
return rb.success().setData(salesInitVo); |
|||
} |
|||
} |
@ -0,0 +1,67 @@ |
|||
package com.yxt.anrui.terminal.api.base.common; |
|||
|
|||
import java.util.List; |
|||
|
|||
public class ItemEditTextInfoCommon { |
|||
|
|||
// 标题 如:身份证
|
|||
private String title; |
|||
// 类型 1(上传图片)
|
|||
private int type; |
|||
// 是否可空, 可不填 true
|
|||
private boolean nullAble; |
|||
// 保存
|
|||
private String key; |
|||
// 保存图片使用 type=1
|
|||
private List<String> filesPath; |
|||
// 保存文本使用
|
|||
private String text; |
|||
|
|||
public String getTitle() { |
|||
return title; |
|||
} |
|||
|
|||
public void setTitle(String title) { |
|||
this.title = title; |
|||
} |
|||
|
|||
public int getType() { |
|||
return type; |
|||
} |
|||
|
|||
public void setType(int type) { |
|||
this.type = type; |
|||
} |
|||
|
|||
public boolean isNullAble() { |
|||
return nullAble; |
|||
} |
|||
|
|||
public void setNullAble(boolean nullAble) { |
|||
this.nullAble = nullAble; |
|||
} |
|||
|
|||
public String getKey() { |
|||
return key; |
|||
} |
|||
|
|||
public void setKey(String key) { |
|||
this.key = key; |
|||
} |
|||
|
|||
public List<String> getFilesPath() { |
|||
return filesPath; |
|||
} |
|||
|
|||
public void setFilesPath(List<String> filesPath) { |
|||
this.filesPath = filesPath; |
|||
} |
|||
|
|||
public String getText() { |
|||
return text; |
|||
} |
|||
|
|||
public void setText(String text) { |
|||
this.text = text; |
|||
} |
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.yxt.anrui.terminal.api.risk.secondarysales; |
|||
|
|||
import com.yxt.anrui.terminal.api.base.common.ItemEditTextInfoCommon; |
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Data |
|||
public class SecondSalesInitVo { |
|||
|
|||
private String title; |
|||
|
|||
private List<ItemEditTextInfoCommon> list; |
|||
} |
@ -0,0 +1,98 @@ |
|||
package com.yxt.anrui.terminal.api.risk.secondarysales; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import com.yxt.anrui.terminal.api.base.common.CarModelVo; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Data |
|||
public class SecondarySalesAppVos { |
|||
private String publishInfo; |
|||
@ApiModelProperty("申请部门") |
|||
@JsonIgnore |
|||
private String createDept; |
|||
@ApiModelProperty("申请人") |
|||
@JsonIgnore |
|||
private String createByName; |
|||
|
|||
@ApiModelProperty("申请日期") |
|||
private String createDate; |
|||
@ApiModelProperty("客户名称") |
|||
private String customerName; |
|||
@ApiModelProperty("贷款人") |
|||
private String loanName; |
|||
@ApiModelProperty("贷款合同编号") |
|||
private String loanContractNo; |
|||
@ApiModelProperty("资方") |
|||
private String bankName; |
|||
@ApiModelProperty("资方合同编号") |
|||
private String bankContractNo; |
|||
@ApiModelProperty("停放地点") |
|||
private String locationName; |
|||
@ApiModelProperty("是否年检") |
|||
private String inspect; |
|||
@ApiModelProperty("年检情况") |
|||
private String inspectSituation; |
|||
@ApiModelProperty("是否已出保") |
|||
private String guaranteed; |
|||
@ApiModelProperty("保险情况") |
|||
private String insuranceSituation; |
|||
@ApiModelProperty("首次登记日期") |
|||
private String firstDate; |
|||
@ApiModelProperty("当前行驶公里数") |
|||
private String kilometerDriven; |
|||
@ApiModelProperty("其他车况说明") |
|||
private String illustrate; |
|||
@ApiModelProperty("车辆照片") |
|||
private List<String> filesList = new ArrayList<>(); |
|||
@ApiModelProperty("已还金额") |
|||
private String alRepaidMoney; |
|||
@ApiModelProperty("当前逾期金额") |
|||
@JsonIgnore |
|||
private String currentBeMoney; |
|||
@ApiModelProperty("其中资金占用费") |
|||
@JsonIgnore |
|||
private String wheFundOccMoney; |
|||
@ApiModelProperty("未到期金额") |
|||
private String unexpiredMoney; |
|||
@ApiModelProperty("总期数") |
|||
@JsonIgnore |
|||
private String nper; |
|||
@ApiModelProperty("当前期数") |
|||
@JsonIgnore |
|||
private String currentPeriod; |
|||
@ApiModelProperty("已还金额换算期数") |
|||
private String alRepaidMoneyConPeriod; |
|||
@ApiModelProperty("逾期金额换算期数") |
|||
private String beOverdueMoneyAndPeriod; |
|||
@ApiModelProperty("当前逾期金额/其中资金占用费") |
|||
private String yqzjzyMoney; |
|||
@ApiModelProperty("总期数/当前期数") |
|||
private String qsCount; |
|||
@ApiModelProperty("车辆列表") |
|||
private List<SecondarySalesVehAppVo> loanSecondarySalesVehVoList = new ArrayList<>(); |
|||
@ApiModelProperty("费用明细") |
|||
private SecondarySalesCostAppVo loanSecondarySalesCost; |
|||
|
|||
@ApiModelProperty("申请人sid") |
|||
private String userSid; |
|||
private String orgPath; |
|||
@ApiModelProperty(value = "任务id") |
|||
private String taskId; |
|||
@ApiModelProperty(value = "流程实例id") |
|||
private String procInstId; |
|||
@ApiModelProperty("销售订单sid") |
|||
private String salesOrderSid; |
|||
|
|||
private CarModelVo jrfa; |
|||
} |
@ -0,0 +1,100 @@ |
|||
package com.yxt.anrui.terminal.api.risk.secondarysales; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Data |
|||
public class SecondarySalesCostAppVo { |
|||
|
|||
@ApiModelProperty("欠款合计") |
|||
private String arrearsAll; |
|||
@ApiModelProperty("贷款保证金") |
|||
private String loanDeposit; |
|||
@ApiModelProperty("车辆售价") |
|||
private String vehPrice; |
|||
@ApiModelProperty("催收费用") |
|||
private String collectionCost; |
|||
@ApiModelProperty("资方结清费用") |
|||
@JsonIgnore |
|||
private String bankSettleCost; |
|||
@ApiModelProperty("资方结清费用承担方") |
|||
@JsonIgnore |
|||
private String bankSettleCostAssume; |
|||
@JsonIgnore |
|||
private String bankSettleCostAssumeKey; |
|||
private String bankSettleCostAssumeDetails; |
|||
@ApiModelProperty("车辆违章费用") |
|||
@JsonIgnore |
|||
private String vehicleViolationCost; |
|||
@ApiModelProperty("车辆违章费用承担方") |
|||
@JsonIgnore |
|||
private String vehicleViolationCostAssume; |
|||
@JsonIgnore |
|||
private String vehicleViolationCostAssumeKey; |
|||
private String vehicleViolationCostAssumeDetails; |
|||
@ApiModelProperty("年检费") |
|||
@JsonIgnore |
|||
private String inspectYearCost; |
|||
@ApiModelProperty("年检费承担方") |
|||
@JsonIgnore |
|||
private String inspectYearCostAssume; |
|||
@JsonIgnore |
|||
private String inspectYearCostAssumeKey; |
|||
private String inspectYearCostAssumeDetails; |
|||
@ApiModelProperty("保险费") |
|||
@JsonIgnore |
|||
private String insureCost; |
|||
@ApiModelProperty("保险费承担方") |
|||
@JsonIgnore |
|||
private String insureCostAssume; |
|||
@JsonIgnore |
|||
private String insureCostAssumeKey; |
|||
private String insureCostAssumeDetails; |
|||
@ApiModelProperty("过户费") |
|||
@JsonIgnore |
|||
private String ownershipCost; |
|||
@ApiModelProperty("过户费承担方") |
|||
@JsonIgnore |
|||
private String ownershipCostAssume; |
|||
@JsonIgnore |
|||
private String ownershipCostAssumeKey; |
|||
private String ownershipCostAssumeDetails; |
|||
@ApiModelProperty("停车费") |
|||
@JsonIgnore |
|||
private String stopCost; |
|||
@ApiModelProperty("停车费承担方") |
|||
@JsonIgnore |
|||
private String stopCostAssume; |
|||
@JsonIgnore |
|||
private String stopCostAssumeKey; |
|||
private String stopCostAssumeDetails; |
|||
@ApiModelProperty("其他费用") |
|||
@JsonIgnore |
|||
private String otherCost; |
|||
@ApiModelProperty("其他费用承担方") |
|||
@JsonIgnore |
|||
private String otherCostAssume; |
|||
@JsonIgnore |
|||
private String otherCostAssumeKey; |
|||
private String otherCostAssumeDetails; |
|||
@ApiModelProperty("费用说明") |
|||
private String costDescription; |
|||
@ApiModelProperty("预计亏损金额") |
|||
private String lossPrice; |
|||
@ApiModelProperty("后续欠款处置方向") |
|||
private String debtDisposal; |
|||
@ApiModelProperty("附件") |
|||
private List<String> files = new ArrayList<>(); |
|||
|
|||
@ApiModelProperty("车辆评估") |
|||
private String vehicleEvaluation; |
|||
} |
@ -0,0 +1,64 @@ |
|||
package com.yxt.anrui.terminal.api.risk.secondarysales; |
|||
|
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesDelegateQuery; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesDto; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesQuery; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesTaskQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.cloud.openfeign.SpringQueryMap; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@FeignClient( |
|||
contextId = "terminal-SecondarySales", |
|||
name = "anrui-terminal", |
|||
path = "/risk/v1/SecondarySales", |
|||
fallback = SecondarySalesFeignFallback.class) |
|||
public interface SecondarySalesFeign { |
|||
|
|||
@ApiOperation("办理") |
|||
@PutMapping("/agreeSecondarySales") |
|||
@ResponseBody |
|||
ResultBean agreeSecondarySales(@RequestBody SecondarySalesDto dto); |
|||
|
|||
@ApiOperation("驳回") |
|||
@PutMapping("/rejectSecondarySales") |
|||
@ResponseBody |
|||
ResultBean rejectSecondarySales(@RequestBody SecondarySalesTaskQuery query); |
|||
|
|||
@ApiOperation("撤回") |
|||
@PutMapping("/recallSecondarySales") |
|||
@ResponseBody |
|||
ResultBean recallSecondarySales(@RequestBody SecondarySalesTaskQuery query); |
|||
|
|||
@ApiOperation("终止") |
|||
@PutMapping("/stopSecondarySales") |
|||
@ResponseBody |
|||
ResultBean stopSecondarySales(@RequestBody SecondarySalesTaskQuery query); |
|||
|
|||
@ApiOperation("获取流程操作标题") |
|||
@GetMapping("/getFlowOperateTitle") |
|||
@ResponseBody |
|||
ResultBean<String> getFlowOperateTitle(@SpringQueryMap SecondarySalesQuery query); |
|||
|
|||
@ApiOperation("详情") |
|||
@GetMapping("/getSecondarySales/{sid}") |
|||
@ResponseBody |
|||
ResultBean<SecondarySalesAppVos> getSecondarySales(@PathVariable("sid") String sid); |
|||
|
|||
@ApiOperation(value = "加签") |
|||
@PutMapping(value = "/delegate") |
|||
@ResponseBody |
|||
public ResultBean delegate(@RequestBody SecondarySalesDelegateQuery delegateQuery); |
|||
|
|||
@ApiOperation(value = "特殊环节初始化") |
|||
@GetMapping(value = "/getFlowOperateTitleBy") |
|||
@ResponseBody |
|||
ResultBean<SecondSalesInitVo> getFlowOperateTitleBy(@SpringQueryMap SecondarySalesQuery query); |
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.yxt.anrui.terminal.api.risk.secondarysales; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Component |
|||
public class SecondarySalesFeignFallback { |
|||
} |
@ -0,0 +1,22 @@ |
|||
package com.yxt.anrui.terminal.api.risk.secondarysales; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Data |
|||
public class SecondarySalesVehAppVo { |
|||
|
|||
@ApiModelProperty("车架号") |
|||
private String vinNo; |
|||
@ApiModelProperty("车牌号") |
|||
private String vehMark; |
|||
@ApiModelProperty("车辆类型") |
|||
private String vehType; |
|||
@ApiModelProperty("车型") |
|||
private String modelName; |
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.yxt.anrui.terminal.api.risk.secondarysales.flowable; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Data |
|||
public class SecondarySalesDelegateQuery { |
|||
private String userSid; |
|||
@ApiModelProperty("流程实例id") |
|||
@JsonProperty("procInsId") |
|||
private String instanceId; |
|||
@ApiModelProperty("任务Id") |
|||
private String taskId; |
|||
@ApiModelProperty("审批人sid") |
|||
private String assignee; |
|||
@ApiModelProperty("填写意见") |
|||
private String views; |
|||
} |
@ -0,0 +1,38 @@ |
|||
package com.yxt.anrui.terminal.api.risk.secondarysales.flowable; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Data |
|||
public class SecondarySalesDto { |
|||
|
|||
@ApiModelProperty(value = "任务id") |
|||
@NotBlank(message = "参数错误:taskId") |
|||
private String taskId; |
|||
@ApiModelProperty(value = "流程id") |
|||
@NotBlank(message = "参数错误:procInsId") |
|||
@JsonProperty("procInsId") |
|||
private String instanceId; |
|||
@ApiModelProperty(value = "意见") |
|||
private String comment; |
|||
@ApiModelProperty(value = "业务sid") |
|||
@NotBlank(message = "参数错误:businessSid") |
|||
private String businessSid; |
|||
@ApiModelProperty(value = "用户sid") |
|||
@NotBlank(message = "参数错误:userSid") |
|||
private String userSid; |
|||
@ApiModelProperty(value = "节点id") |
|||
@NotBlank(message = "参数错误:taskDefKey") |
|||
private String taskDefKey; |
|||
|
|||
@ApiModelProperty("车辆评估价格") |
|||
private String vehicleEvaluation; |
|||
} |
@ -0,0 +1,23 @@ |
|||
package com.yxt.anrui.terminal.api.risk.secondarysales.flowable; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Data |
|||
public class SecondarySalesQuery { |
|||
|
|||
@ApiModelProperty(value = "节点key") |
|||
private String taskDefKey; |
|||
@ApiModelProperty(value = "业务sid") |
|||
private String businessSid; |
|||
@ApiModelProperty(value = "0 上一环节 1下一环节") |
|||
@NotNull(message = "参数错误:next") |
|||
private Integer next; |
|||
} |
@ -0,0 +1,45 @@ |
|||
package com.yxt.anrui.terminal.api.risk.secondarysales.flowable; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Data |
|||
public class SecondarySalesTaskQuery { |
|||
|
|||
/** |
|||
* 终止、驳回、撤回 |
|||
*/ |
|||
@ApiModelProperty("任务Id") |
|||
@NotBlank(message = "参数错误:taskId") |
|||
private String taskId; |
|||
/** |
|||
* 终止、驳回、撤回 |
|||
*/ |
|||
@ApiModelProperty("业务sid") |
|||
@NotBlank(message = "参数错误:businessSid") |
|||
private String businessSid; |
|||
/** |
|||
* 终止、驳回 |
|||
*/ |
|||
@ApiModelProperty("任务意见") |
|||
private String comment; |
|||
/** |
|||
* 终止、撤回、驳回 |
|||
*/ |
|||
@ApiModelProperty("用户Sid") |
|||
private String userSid; |
|||
/** |
|||
* 终止 |
|||
*/ |
|||
@ApiModelProperty("流程实例Id") |
|||
@JsonProperty("procInsId") |
|||
private String instanceId; |
|||
} |
@ -0,0 +1,68 @@ |
|||
package com.yxt.anrui.terminal.biz.risk.secondarysales; |
|||
|
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.SecondSalesInitVo; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.SecondarySalesAppVos; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.SecondarySalesFeign; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesDelegateQuery; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesDto; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesQuery; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesTaskQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.Api; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Controller |
|||
@RequestMapping("/risk/v1/SecondarySales") |
|||
@Api(tags = "交回车辆二次销售审批") |
|||
public class SecondarySalesRest implements SecondarySalesFeign { |
|||
|
|||
@Autowired |
|||
private SecondarySalesService secondarySalesService; |
|||
|
|||
@Override |
|||
public ResultBean agreeSecondarySales(SecondarySalesDto dto) { |
|||
return secondarySalesService.agreeSecondarySales(dto); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean rejectSecondarySales(SecondarySalesTaskQuery query) { |
|||
return secondarySalesService.rejectSecondarySales(query); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean recallSecondarySales(SecondarySalesTaskQuery query) { |
|||
return secondarySalesService.recallSecondarySales(query); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean stopSecondarySales(SecondarySalesTaskQuery query) { |
|||
return secondarySalesService.stopSecondarySales(query); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<String> getFlowOperateTitle(SecondarySalesQuery query) { |
|||
return secondarySalesService.getFlowOperateTitle(query); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<SecondarySalesAppVos> getSecondarySales(String sid) { |
|||
return secondarySalesService.getSecondarySales(sid); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean delegate(SecondarySalesDelegateQuery delegateQuery) { |
|||
return secondarySalesService.delegate(delegateQuery); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<SecondSalesInitVo> getFlowOperateTitleBy(SecondarySalesQuery query) { |
|||
return secondarySalesService.getFlowOperateTitleBy(query); |
|||
} |
|||
} |
@ -0,0 +1,252 @@ |
|||
package com.yxt.anrui.terminal.biz.risk.secondarysales; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.yxt.anrui.fin.api.finbillfile.FinBillFileVo; |
|||
import com.yxt.anrui.portal.api.appsubsetversion.AppSubVersionVo; |
|||
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.ReturnAppVo; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApplyFeign; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.SecondarySalesAppVo; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.flowable.*; |
|||
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.ItemEditTextInfo; |
|||
import com.yxt.anrui.terminal.api.base.common.CarModelVo; |
|||
import com.yxt.anrui.terminal.api.base.common.ItemEditTextInfoCommon; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.ReturnInboundAppVo; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.SecondSalesInitVo; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.SecondarySalesAppVos; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.SecondarySalesCostAppVo; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesDelegateQuery; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesDto; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesQuery; |
|||
import com.yxt.anrui.terminal.api.risk.secondarysales.flowable.SecondarySalesTaskQuery; |
|||
import com.yxt.anrui.terminal.api.supplychain.vehicleApply.VehicleApplyCarPageVo; |
|||
import com.yxt.anrui.terminal.biz.base.common.CommonService; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.*; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/29 |
|||
**/ |
|||
@Service |
|||
public class SecondarySalesService { |
|||
|
|||
@Autowired |
|||
private LoanSecondarySalesApplyFeign loanSecondarySalesApplyFeign; |
|||
@Autowired |
|||
private CommonService commonService; |
|||
|
|||
public ResultBean agreeSecondarySales(SecondarySalesDto dto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
CompleteLoanSecondarySalesApplyDto completeDto = new CompleteLoanSecondarySalesApplyDto(); |
|||
BeanUtil.copyProperties(dto, completeDto); |
|||
ResultBean resultBean = loanSecondarySalesApplyFeign.complete(completeDto); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
} |
|||
|
|||
public ResultBean rejectSecondarySales(SecondarySalesTaskQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
LoanSecondarySalesApplyTaskQuery loanSecondarySalesApplyTaskQuery = new LoanSecondarySalesApplyTaskQuery(); |
|||
BeanUtil.copyProperties(query, loanSecondarySalesApplyTaskQuery); |
|||
ResultBean resultBean = loanSecondarySalesApplyFeign.taskReject(loanSecondarySalesApplyTaskQuery); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
} |
|||
|
|||
public ResultBean recallSecondarySales(SecondarySalesTaskQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
LoanSecondarySalesApplyTaskQuery loanSecondarySalesApplyTaskQuery = new LoanSecondarySalesApplyTaskQuery(); |
|||
BeanUtil.copyProperties(query, loanSecondarySalesApplyTaskQuery); |
|||
ResultBean resultBean = loanSecondarySalesApplyFeign.revokeProcess(loanSecondarySalesApplyTaskQuery); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
} |
|||
|
|||
public ResultBean stopSecondarySales(SecondarySalesTaskQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
LoanSecondarySalesApplyTaskQuery loanSecondarySalesApplyTaskQuery = new LoanSecondarySalesApplyTaskQuery(); |
|||
BeanUtil.copyProperties(query, loanSecondarySalesApplyTaskQuery); |
|||
ResultBean resultBean = loanSecondarySalesApplyFeign.breakProcess(loanSecondarySalesApplyTaskQuery); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
} |
|||
|
|||
public ResultBean<String> getFlowOperateTitle(SecondarySalesQuery query) { |
|||
ResultBean<String> rb = ResultBean.fireFail(); |
|||
//0 上一环节 1下一环节
|
|||
int next = query.getNext(); |
|||
LoanSecondarySalesApplyNodeQuery getNodeQuery = new LoanSecondarySalesApplyNodeQuery(); |
|||
BeanUtil.copyProperties(query, getNodeQuery); |
|||
String data = ""; |
|||
if (next == 0) { |
|||
ResultBean<List<LoanSecondarySalesApplyNodeVo>> getPreviousNodesForReject = loanSecondarySalesApplyFeign.getPreviousNodesForReject(getNodeQuery); |
|||
if (getPreviousNodesForReject.getSuccess()) { |
|||
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); |
|||
data = getPreviousNodesForReject.getData().get(0).getName(); |
|||
} else { |
|||
return rb.setMsg(getPreviousNodesForReject.getMsg()); |
|||
} |
|||
} else if (next == 1) { |
|||
ResultBean<List<LoanSecondarySalesApplyNodeVo>> getNextNodesForSubmit = loanSecondarySalesApplyFeign.getNextNodesForSubmit(getNodeQuery); |
|||
if (getNextNodesForSubmit.getSuccess()) { |
|||
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); |
|||
data = getNextNodesForSubmit.getData().get(0).getName(); |
|||
} else { |
|||
return rb.setMsg(getNextNodesForSubmit.getMsg()); |
|||
} |
|||
} else { |
|||
return rb.setMsg("参数错误:next"); |
|||
} |
|||
return rb.success().setData(data); |
|||
} |
|||
|
|||
public ResultBean<SecondarySalesAppVos> getSecondarySales(String sid) { |
|||
ResultBean<SecondarySalesAppVos> rb = ResultBean.fireFail(); |
|||
ResultBean<SecondarySalesAppVo> resultBean = loanSecondarySalesApplyFeign.getAppDetails(sid); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
SecondarySalesAppVos secondarySalesAppVos = new SecondarySalesAppVos(); |
|||
BeanUtil.copyProperties(resultBean.getData(), secondarySalesAppVos); |
|||
secondarySalesAppVos.setPublishInfo(secondarySalesAppVos.getCreateDept() + "-" + secondarySalesAppVos.getCreateByName()); |
|||
if (StringUtils.isNotBlank(secondarySalesAppVos.getNper()) && StringUtils.isNotBlank(secondarySalesAppVos.getCurrentPeriod())) { |
|||
secondarySalesAppVos.setQsCount(secondarySalesAppVos.getNper() + "/" + secondarySalesAppVos.getCurrentPeriod()); |
|||
} |
|||
if (StringUtils.isNotBlank(secondarySalesAppVos.getCurrentBeMoney()) && StringUtils.isNotBlank(secondarySalesAppVos.getWheFundOccMoney())) { |
|||
secondarySalesAppVos.setYqzjzyMoney(secondarySalesAppVos.getCurrentBeMoney() + "/" + secondarySalesAppVos.getWheFundOccMoney()); |
|||
} |
|||
SecondarySalesCostAppVo secondarySalesCostAppVo = secondarySalesAppVos.getLoanSecondarySalesCost(); |
|||
if (secondarySalesCostAppVo != null) { |
|||
String bankSettleCostAssumeDetails = ""; |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getBankSettleCost())) { |
|||
bankSettleCostAssumeDetails = bankSettleCostAssumeDetails + secondarySalesCostAppVo.getBankSettleCost() + "/"; |
|||
} |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getBankSettleCostAssume())) { |
|||
bankSettleCostAssumeDetails = bankSettleCostAssumeDetails + secondarySalesCostAppVo.getBankSettleCostAssume() + "承担"; |
|||
} |
|||
secondarySalesCostAppVo.setBankSettleCostAssumeDetails(bankSettleCostAssumeDetails); |
|||
//车辆违章
|
|||
String vehicleViolationCostAssumeDetails = ""; |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getVehicleViolationCost())) { |
|||
vehicleViolationCostAssumeDetails = vehicleViolationCostAssumeDetails + secondarySalesCostAppVo.getVehicleViolationCost() + "/"; |
|||
} |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getVehicleViolationCostAssume())) { |
|||
vehicleViolationCostAssumeDetails = vehicleViolationCostAssumeDetails + secondarySalesCostAppVo.getVehicleViolationCostAssume() + "承担"; |
|||
} |
|||
secondarySalesCostAppVo.setVehicleViolationCostAssumeDetails(vehicleViolationCostAssumeDetails); |
|||
//年检费
|
|||
String inspectYearCostAssumeDetails = ""; |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getInspectYearCost())) { |
|||
inspectYearCostAssumeDetails = inspectYearCostAssumeDetails + secondarySalesCostAppVo.getInspectYearCost() + "/"; |
|||
} |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getInspectYearCostAssume())) { |
|||
inspectYearCostAssumeDetails = inspectYearCostAssumeDetails + secondarySalesCostAppVo.getInspectYearCostAssume() + "承担"; |
|||
} |
|||
secondarySalesCostAppVo.setInspectYearCostAssumeDetails(inspectYearCostAssumeDetails); |
|||
//保险费
|
|||
String insureCostAssumeDetails = ""; |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getInsureCost())) { |
|||
insureCostAssumeDetails = insureCostAssumeDetails + secondarySalesCostAppVo.getInsureCost() + "/"; |
|||
} |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getInsureCostAssume())) { |
|||
insureCostAssumeDetails = insureCostAssumeDetails + secondarySalesCostAppVo.getInsureCostAssume() + "承担"; |
|||
} |
|||
secondarySalesCostAppVo.setInsureCostAssumeDetails(insureCostAssumeDetails); |
|||
//过户费
|
|||
String ownershipCostAssumeDetails = ""; |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getOwnershipCost())) { |
|||
ownershipCostAssumeDetails = ownershipCostAssumeDetails + secondarySalesCostAppVo.getOwnershipCost() + "/"; |
|||
} |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getOwnershipCostAssume())) { |
|||
ownershipCostAssumeDetails = ownershipCostAssumeDetails + secondarySalesCostAppVo.getOwnershipCostAssume() + "承担"; |
|||
} |
|||
secondarySalesCostAppVo.setOwnershipCostAssumeDetails(ownershipCostAssumeDetails); |
|||
//停车费
|
|||
String stopCostAssumeDetails = ""; |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getStopCost())) { |
|||
stopCostAssumeDetails = stopCostAssumeDetails + secondarySalesCostAppVo.getStopCost() + "/"; |
|||
} |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getStopCostAssume())) { |
|||
stopCostAssumeDetails = stopCostAssumeDetails + secondarySalesCostAppVo.getStopCostAssume() + "承担"; |
|||
} |
|||
secondarySalesCostAppVo.setStopCostAssumeDetails(stopCostAssumeDetails); |
|||
//其他费用
|
|||
String otherCostAssumeDetails = ""; |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getOtherCost())) { |
|||
otherCostAssumeDetails = otherCostAssumeDetails + secondarySalesCostAppVo.getOtherCost() + "/"; |
|||
} |
|||
if (StringUtils.isNotBlank(secondarySalesCostAppVo.getOtherCostAssume())) { |
|||
otherCostAssumeDetails = otherCostAssumeDetails + secondarySalesCostAppVo.getOtherCostAssume() + "承担"; |
|||
} |
|||
secondarySalesCostAppVo.setOtherCostAssumeDetails(otherCostAssumeDetails); |
|||
} |
|||
ResultBean<CarModelVo> getLoanSolution = commonService.getLoanSolution(secondarySalesAppVos.getSalesOrderSid()); |
|||
CarModelVo carModelVo = getLoanSolution.getData(); |
|||
secondarySalesAppVos.setJrfa(carModelVo); |
|||
return rb.success().setData(secondarySalesAppVos); |
|||
} |
|||
|
|||
public ResultBean delegate(SecondarySalesDelegateQuery delegateQuery) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
LoanSecondarySalesApplyDelegateQuery delegateQuery1 = new |
|||
LoanSecondarySalesApplyDelegateQuery(); |
|||
BeanUtil.copyProperties(delegateQuery, delegateQuery1); |
|||
ResultBean delegate = loanSecondarySalesApplyFeign.delegate(delegateQuery1); |
|||
return rb.success(); |
|||
} |
|||
|
|||
public ResultBean<SecondSalesInitVo> getFlowOperateTitleBy(SecondarySalesQuery query) { |
|||
ResultBean<SecondSalesInitVo> rb = ResultBean.fireFail(); |
|||
SecondSalesInitVo secondSalesInitVo = new SecondSalesInitVo(); |
|||
int next = query.getNext(); |
|||
LoanSecondarySalesApplyNodeQuery getNodeQuery = new LoanSecondarySalesApplyNodeQuery(); |
|||
BeanUtil.copyProperties(query, getNodeQuery); |
|||
String data = ""; |
|||
if (next == 0) { |
|||
ResultBean<List<LoanSecondarySalesApplyNodeVo>> getPreviousNodesForReject = loanSecondarySalesApplyFeign.getPreviousNodesForReject(getNodeQuery); |
|||
if (getPreviousNodesForReject.getSuccess()) { |
|||
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); |
|||
data = getPreviousNodesForReject.getData().get(0).getName(); |
|||
} else { |
|||
return rb.setMsg(getPreviousNodesForReject.getMsg()); |
|||
} |
|||
} else if (next == 1) { |
|||
ResultBean<List<LoanSecondarySalesApplyNodeVo>> getNextNodesForSubmit = loanSecondarySalesApplyFeign.getNextNodesForSubmit(getNodeQuery); |
|||
if (getNextNodesForSubmit.getSuccess()) { |
|||
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); |
|||
data = getNextNodesForSubmit.getData().get(0).getName(); |
|||
} else { |
|||
return rb.setMsg(getNextNodesForSubmit.getMsg()); |
|||
} |
|||
} else { |
|||
return rb.setMsg("参数错误:next"); |
|||
} |
|||
secondSalesInitVo.setTitle(data); |
|||
List<ItemEditTextInfoCommon> itemEditTextInfos = new ArrayList<>(); |
|||
ItemEditTextInfoCommon itemEditTextInfo = new ItemEditTextInfoCommon(); |
|||
itemEditTextInfo.setTitle("风控中心车辆评估价"); |
|||
itemEditTextInfo.setType(2); |
|||
itemEditTextInfo.setNullAble(false); |
|||
itemEditTextInfo.setKey("vehicleEvaluation"); |
|||
ResultBean<SecondarySalesAppVos> getSecondarySales = getSecondarySales(query.getBusinessSid()); |
|||
SecondarySalesAppVos secondarySalesAppVos = getSecondarySales.getData(); |
|||
itemEditTextInfo.setText(secondarySalesAppVos.getLoanSecondarySalesCost().getVehicleEvaluation()); |
|||
itemEditTextInfos.add(itemEditTextInfo); |
|||
secondSalesInitVo.setList(itemEditTextInfos); |
|||
return rb.success().setData(secondSalesInitVo); |
|||
} |
|||
} |
Loading…
Reference in new issue