10 changed files with 3705 additions and 16 deletions
@ -0,0 +1,72 @@ |
|||||
|
import request from '@/utils/request' |
||||
|
|
||||
|
export default { |
||||
|
// 查询分页列表
|
||||
|
listPage: function(params) { |
||||
|
return request({ |
||||
|
url: '/riskcenter/v1/LoanTemplate/listPage', |
||||
|
method: 'post', |
||||
|
data: params, |
||||
|
headers: { 'Content-Type': 'application/json' } |
||||
|
}) |
||||
|
}, |
||||
|
// 根据分公司sid获取本分公司下的上装配置信息
|
||||
|
listPageBySZ: function(data) { |
||||
|
return request({ |
||||
|
url: '/base/v1/basevehinstallmodel/listPage', |
||||
|
method: 'post', |
||||
|
data: data, |
||||
|
headers: { 'Content-Type': 'application/json' } |
||||
|
}) |
||||
|
}, |
||||
|
// 根据分公司sid获取本分公司下的上装配置信息
|
||||
|
listPageByGC: function(data) { |
||||
|
return request({ |
||||
|
url: '/base/v1/basetrailermodel/listPage', |
||||
|
method: 'post', |
||||
|
data: data, |
||||
|
headers: { 'Content-Type': 'application/json' } |
||||
|
}) |
||||
|
}, |
||||
|
// 根据分公司sid获取本分公司下的车型和常用配置列表
|
||||
|
listPageByModelAndConfig: function(parmas) { |
||||
|
return request({ |
||||
|
url: '/base/basevehmodelconfig/selVehModelByUseOrgSidAndModelSidAndConfigSid', |
||||
|
method: 'post', |
||||
|
data: parmas, |
||||
|
headers: { 'Content-Type': 'application/json' } |
||||
|
}) |
||||
|
}, |
||||
|
saveOrUpdate: function(data) { |
||||
|
return request({ |
||||
|
url: '/riskcenter/v1/LoanTemplate/saveOrUpdate', |
||||
|
method: 'post', |
||||
|
data: data, |
||||
|
headers: { 'Content-Type': 'application/json' } |
||||
|
}) |
||||
|
}, |
||||
|
fetchBySid: function(data) { |
||||
|
return request({ |
||||
|
url: '/riskcenter/v1/LoanTemplate/details', |
||||
|
method: 'get', |
||||
|
params: data |
||||
|
}) |
||||
|
}, |
||||
|
// 停用或开启(1停用,0开启)
|
||||
|
setState: function(data) { |
||||
|
return request({ |
||||
|
url: '/riskcenter/v1/LoanTemplate/setState', |
||||
|
method: 'post', |
||||
|
data: data, |
||||
|
headers: { 'Content-Type': 'application/json' } |
||||
|
}) |
||||
|
}, |
||||
|
deleteBySids: function(data) { |
||||
|
return request({ |
||||
|
url: '/riskcenter/v1/LoanTemplate/delBySids', |
||||
|
method: 'DELETE', |
||||
|
data: data, |
||||
|
headers: { 'Content-Type': 'application/json' } |
||||
|
}) |
||||
|
} |
||||
|
} |
@ -0,0 +1,834 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<el-form ref="form_obj" :model="finance" class="formaddcopy02"> |
||||
|
<el-row style="border-top: 1px solid #E0E3EB"> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">是否打包</div> |
||||
|
<el-form-item> |
||||
|
<el-radio-group style="font-size: 1px" class="addinputw" @input="isPackChange" v-model="finance.isPack"> |
||||
|
<el-radio label="1">是</el-radio> |
||||
|
<el-radio label="0">否</el-radio> |
||||
|
</el-radio-group> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18"> |
||||
|
<div class="span-sty">产品政策</div> |
||||
|
<el-form-item> |
||||
|
<el-select v-model="finance.policyName" placeholder="请选择" @change="changePolicy" clearable class="addinputInfo"> |
||||
|
<el-option v-for="item in policy_list" :key="item.sid" :label="item.name" :value="item.name"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">融资项目</div> |
||||
|
<el-form-item prop="mainVehicleAmount"> |
||||
|
<div class="addinputInfo"> |
||||
|
<span><span class="icon">*</span>主车发票价<el-input v-model="finance.mainVehicleAmount" @input="financingProject" clearable style="width: 100px" placeholder="" @keyup.native="finance.mainVehicleAmount = oninput(finance.mainVehicleAmount, 0)"/>元</span> |
||||
|
<span style="padding-left: 5px"><el-checkbox v-model="finance.accessoriesAmountCb" style="padding-right: 5px"/>融资票据<el-input :disabled="!finance.accessoriesAmountCb" v-model="finance.accessoriesAmount" @input="financingProject" clearable style="width: 100px" placeholder="" @keyup.native="finance.accessoriesAmount = oninput(finance.accessoriesAmount, 0)"/>元</span> |
||||
|
<span style="padding-left: 5px"><el-checkbox v-model="finance.trailerAmountCb" style="padding-right: 5px"/>挂车<el-input :disabled="!finance.trailerAmountCb" v-model="finance.trailerAmount" @input="financingProject" clearable style="width: 100px" placeholder="" @keyup.native="finance.trailerAmount = oninput(finance.trailerAmount, 0)"/>元</span> |
||||
|
<span style="padding-left: 5px"><el-checkbox v-model="finance.premiumCb" style="padding-right: 5px"/>保险<el-input :disabled="!finance.premiumCb" v-model="finance.premium" @input="financingProject" clearable style="width: 100px" placeholder="" @keyup.native="finance.premium = oninput(finance.premium, 0)"/>元</span> |
||||
|
<span style="padding-left: 5px"><el-checkbox v-model="finance.purchaseTaxCb" style="padding-right: 5px"/>购置税<el-input :disabled="!finance.purchaseTaxCb" v-model="finance.purchaseTax" @input="financingProject" clearable style="width: 100px" placeholder="" @keyup.native="finance.purchaseTax = oninput(finance.purchaseTax, 0)"/>元</span> |
||||
|
</div> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">融资项目总额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ finance.loanTotal }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">首付比例</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ finance.downPayRatio }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>首付金额</div> |
||||
|
<el-form-item prop="downPayAmount"> |
||||
|
<el-input class="addinputw addinputInfo" v-model="finance.downPayAmount" @input="downPayAmountInput" placeholder="" clearable @keyup.native="finance.downPayAmount = oninput(finance.downPayAmount, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">产品贷款金额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ finance.loanAmount }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">产品期数</div> |
||||
|
<el-form-item prop="loanPeriod"> |
||||
|
<span class="addinputInfo">{{ finance.loanPeriod }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">贷款保证金比例</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ finance.bondRatio }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>贷款保证金</div> |
||||
|
<el-form-item prop="bondAmount"> |
||||
|
<el-input class="addinputw" v-model="finance.bondAmount" placeholder="" @input="bondAmountInput" clearable @keyup.native="finance.bondAmount = oninput(finance.bondAmount, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>厂家贴息</div> |
||||
|
<el-form-item prop="factoryDiscount"> |
||||
|
<el-input class="addinputw" v-model="finance.factoryDiscount" placeholder="" clearable @keyup.native="finance.factoryDiscount = oninput(finance.factoryDiscount, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">贴息用途</div> |
||||
|
<el-form-item> |
||||
|
<el-select v-model="finance.factoryDiscountUse" placeholder="请选择" @change="changeFactoryDiscountUse" clearable class="addinputInfo"> |
||||
|
<el-option v-for="item in factoryDiscountUse_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">年利率</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ finance.policyYearRatio }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>月还金额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ finance.loanPayMoney }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">利息总额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ finance.loanInterest }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">贴息抵车款</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ finance.discountCar }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<div class="title"> |
||||
|
<el-checkbox v-model="finance.otherPolicyState" style="padding-right: 5px"/> |
||||
|
其它融 |
||||
|
</div> |
||||
|
<div v-if="finance.otherPolicyState"> |
||||
|
<el-row> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">其它融名称</div> |
||||
|
<el-form-item> |
||||
|
<el-select v-model="finance.otherPolicyName" placeholder="请选择" @change="changeOtherPolicy" clearable class="addinputInfo"> |
||||
|
<el-option v-for="item in other_list" :key="item.sid" :label="item.name" :value="item.name"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>贷款金额</div> |
||||
|
<el-form-item prop="otherPolicyAmount"> |
||||
|
<el-input class="addinputw" v-model="finance.otherPolicyAmount" placeholder="" @input="otherPolicyAmountInput" clearable @keyup.native="finance.otherPolicyAmount = oninput(finance.otherPolicyAmount, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>期数</div> |
||||
|
<el-form-item prop="otherPolicyPeriod"> |
||||
|
<span class="addinputInfo">{{ finance.otherPolicyPeriod }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">年利率</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ finance.otherPolicyYearRatio }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>月还金额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ finance.otherPolicyMonthlyRepay }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">利息总额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ finance.otherPolicyInterest }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</div> |
||||
|
<div class="title">方案汇总</div> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">融资首付</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ loanDownPay() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">实际首付比例</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ downPayAmountsRatio() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">总贷款金额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ loanAmountTotal() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">期数</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ period() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">月还金额</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ monthlyRepay() }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">利息总额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ interest() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>预计首款还款日</div> |
||||
|
<el-form-item prop="returnTime"> |
||||
|
<el-date-picker value-format="yyyy-MM-dd" v-model="finance.returnTime" clearable class="addinputw" type="date" placeholder=""/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<div class="title">应收明细</div> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">融资首付</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ downPayAmounts() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">贷款保证金</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ bondAmounts() }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">保险保证金</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.depositPremium" placeholder="" clearable @keyup.native="finance.depositPremium = oninput(finance.depositPremium, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">落户保证金</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.depositSettle" placeholder="" clearable @keyup.native="finance.depositSettle = oninput(finance.depositSettle, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>服务费</div> |
||||
|
<el-form-item prop="serviceAmount"> |
||||
|
<el-input class="addinputw" v-model="finance.serviceAmount" placeholder="" clearable @keyup.native="finance.serviceAmount = oninput(finance.serviceAmount, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">代收意外险</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.proxyAccidentPremium" placeholder="" clearable @keyup.native="finance.proxyAccidentPremium = oninput(finance.proxyAccidentPremium, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">上牌费</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.registerAmount" placeholder="" clearable @keyup.native="finance.registerAmount = oninput(finance.registerAmount, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">运管费</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.operationAmount" placeholder="" clearable @keyup.native="finance.operationAmount = oninput(finance.operationAmount, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">补车价</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.vehOtherPrice" placeholder="" clearable @keyup.native="finance.vehOtherPrice = oninput(finance.vehOtherPrice, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">其它费用</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.otherAmount" placeholder="" clearable @keyup.native="finance.otherAmount = oninput(finance.otherAmount, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">其它费用说明</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.otherAmountRemark" placeholder="" clearable/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">办理方式选择</div> |
||||
|
<el-form-item> |
||||
|
<el-select v-model="finance.dealWay" placeholder="请选择" @change="changeDealWay" clearable class="addinputInfo"> |
||||
|
<el-option v-for="item in dealWay_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row v-if="finance.dealWayKey == '01'"> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">代收费用合计</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ proxyTotal() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<div class="span-sty">代收首年保险费</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.proxyPremium" placeholder="" clearable @keyup.native="finance.proxyPremium = oninput(finance.proxyPremium, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<div class="span-sty">代收购置税</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.proxyPurchasetax" placeholder="" clearable @keyup.native="finance.proxyPurchasetax = oninput(finance.proxyPurchasetax, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">应收合计</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ receivableTotal() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row v-if="finance.dealWayKey == '02'"> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">抵顶费用合计</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ offsetTotal() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<div class="span-sty">抵顶首年保险费</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.offsetPremium" placeholder="" clearable @keyup.native="finance.offsetPremium = oninput(finance.offsetPremium, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<div class="span-sty">抵顶购置税</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.offsetPurchasetax" placeholder="" clearable @keyup.native="finance.offsetPurchasetax = oninput(finance.offsetPurchasetax, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">实收合计</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ realTotal() }}</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="addinputw" v-model="finance.vehTotalPrice" placeholder="" clearable @keyup.native="finance.vehTotalPrice = oninput(finance.vehTotalPrice, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">名义(留购)价</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.nominalPrice" placeholder="" clearable @keyup.native="finance.nominalPrice = oninput(finance.nominalPrice, 0)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18"> |
||||
|
<el-form-item><span class="addinputInfo">注:结清时需缴纳此费用</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import { typeValues, selectList, selectListByOther } from '@/api/Common/dictcommons' |
||||
|
|
||||
|
export default { |
||||
|
name: 'JinRongFangAnEdit', |
||||
|
props: { |
||||
|
params: { |
||||
|
type: Object |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
viewTitle: '', |
||||
|
tableKey: 0, |
||||
|
index: 0, |
||||
|
dealWay_list: [], |
||||
|
policy_list: [], |
||||
|
other_list: [], |
||||
|
factoryDiscountUse_list: [], |
||||
|
finance: {}, |
||||
|
rules: { |
||||
|
// mainVehicleAmount: [{ required: true, message: '主车发票价不能为空', trigger: 'blur' }], |
||||
|
// downPayAmount: [{ required: true, message: '首付金额不能为空', trigger: 'blur' }], |
||||
|
// loanPeriod: [{ required: true, message: '产品期数不能为空', trigger: 'blur' }], |
||||
|
// bondAmount: [{ required: true, message: '贷款保证金不能为空', trigger: 'blur' }], |
||||
|
// factoryDiscount: [{ required: true, message: '厂家贴息不能为空', trigger: 'blur' }], |
||||
|
// loanPayMoney: [{ required: true, message: '月还金额不能为空', trigger: 'blur' }], |
||||
|
// otherPolicyAmount: [{ required: true, message: '贷款金额不能为空', trigger: 'blur' }], |
||||
|
// otherPolicyPeriod: [{ required: true, message: '期数不能为空', trigger: 'blur' }], |
||||
|
// otherPolicyMonthlyRepay: [{ required: true, message: '月还金额不能为空', trigger: 'blur' }], |
||||
|
// returnTime: [{ required: true, message: '预计首期还款日不能为空', trigger: 'blur' }], |
||||
|
// serviceAmount: [{ required: true, message: '服务费不能为空', trigger: 'blur' }], |
||||
|
// factoryDiscountUse: [{ required: true, message: '厂家贴息用途不能为空', trigger: 'blur' }] |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
params: { |
||||
|
deep: true, |
||||
|
immediate: false, |
||||
|
handler(newVal, oldVal) { |
||||
|
this.finance = newVal |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
typeValues({ type: 'dealWay' }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.dealWay_list = resp.data |
||||
|
} |
||||
|
}) |
||||
|
typeValues({ type: 'factoryDiscountUse' }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.factoryDiscountUse_list = resp.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
methods: { |
||||
|
// 输入数字正则 |
||||
|
oninput(val, limit = 0) { |
||||
|
val = val.replace(/[^\d]/g, '') // 保留数字 |
||||
|
val = val.replace(/^00/, '0'); // 开头不能有两个0 |
||||
|
/^0\d+/.test(val) ? val = val.slice(1) : '' // 两位以上数字开头不能为0 |
||||
|
const str = '^(\\d+)\\.(\\d{' + limit + '}).*$' |
||||
|
const reg = new RegExp(str) |
||||
|
if (limit === 0) { |
||||
|
// 不需要小数点 |
||||
|
val = val.replace(reg, '$1') |
||||
|
} else { |
||||
|
// 通过正则保留小数点后指定的位数 |
||||
|
val = val.replace(reg, '$1.$2') |
||||
|
} |
||||
|
return val |
||||
|
}, |
||||
|
// 是否打包 |
||||
|
isPackChange() { |
||||
|
console.log(this.financeshi, 888888) |
||||
|
selectList({ orgPath: window.sessionStorage.getItem('defaultOrgPath'), userSid: window.sessionStorage.getItem('defaultOrgPath'), isPack: this.finance.isPack }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.policy_list = resp.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 资方产品政策 |
||||
|
changePolicy(value) { |
||||
|
const choose = this.policy_list.filter((item) => item.name === value) |
||||
|
if (choose.length > 0 && choose !== null) { |
||||
|
this.finance.policySid = choose[0].sid |
||||
|
// 从金融产品政策中-- 获取标准年利率 |
||||
|
this.finance.policyYearRatio = choose[0].yearRatio |
||||
|
// 从金融产品政策中-- 获取首付比例 |
||||
|
this.finance.downPayRatio = choose[0].downPayRatio + '%' |
||||
|
// 从金融产品政策中-- 获取期数 |
||||
|
this.finance.loanPeriod = choose[0].period |
||||
|
// 从金融产品政策中-- 获取贷款保证金比例 |
||||
|
this.finance.bondRatio = choose[0].bondRatio + '%' |
||||
|
selectListByOther({ orgPath: window.sessionStorage.getItem('defaultOrgPath'), userSid: window.sessionStorage.getItem('defaultOrgPath'), sid: choose[0].sid }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.other_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.finance.policySid = '' |
||||
|
} |
||||
|
}, |
||||
|
// 主方案 -- 融资项目总额 |
||||
|
financingProject() { |
||||
|
if (this.finance.mainVehicleAmount !== '') { |
||||
|
this.finance.loanTotal = parseInt(this.arguments(this.finance.mainVehicleAmount)) + parseInt(this.arguments(this.finance.accessoriesAmount)) + parseInt(this.arguments(this.finance.trailerAmount)) + parseInt(this.arguments(this.finance.premium)) + parseInt(this.arguments(this.finance.purchaseTax)) |
||||
|
} else { |
||||
|
this.finance.loanTotal = '' |
||||
|
} |
||||
|
// 首次计算出或修改融资项目总额 |
||||
|
if (this.finance.loanTotal !== '') { |
||||
|
// 主方案 -- 计算首付金额 |
||||
|
this.finance.downPayAmount = parseInt(this.arguments(this.finance.loanTotal)) * parseFloat(this.arguments(this.finance.downPayRatio)) / 100 |
||||
|
// 主方案 -- 计算产品贷款金额 |
||||
|
this.finance.loanAmount = parseInt(this.arguments(this.finance.loanTotal)) - parseInt(this.arguments(this.finance.downPayAmount)) |
||||
|
// 主方案 -- 计算贷款保证金 |
||||
|
this.finance.bondAmount = parseFloat(this.arguments(this.finance.bondRatio)) * parseInt(this.arguments(this.finance.loanAmount)) / 100 |
||||
|
// 主方案 -- 月还金额 |
||||
|
this.monthlyPayment(this.finance.policyYearRatio, this.finance.loanPeriod, this.finance.loanAmount, 0, 0) |
||||
|
} |
||||
|
}, |
||||
|
// 主方案 -- 修改首付金额 |
||||
|
downPayAmountInput() { |
||||
|
if (this.finance.loanTotal !== '') { |
||||
|
// 重新计算首付比例 |
||||
|
this.finance.downPayRatio = (parseInt(this.arguments(this.finance.downPayAmount)) / parseInt(this.arguments(this.finance.loanTotal)) * 100).toFixed(2) + '%' |
||||
|
// 重新计算产品贷款金额 |
||||
|
this.finance.loanAmount = parseInt(this.arguments(this.finance.loanTotal)) - parseInt(this.arguments(this.finance.downPayAmount)) |
||||
|
// 主方案 -- 贷款保证金 |
||||
|
this.finance.bondAmount = parseFloat(this.arguments(this.finance.bondRatio)) * parseInt(this.arguments(this.finance.loanAmount)) / 100 |
||||
|
// 主方案 -- 月还金额 |
||||
|
this.monthlyPayment(this.finance.policyYearRatio, this.finance.loanPeriod, this.finance.loanAmount, 0, 0) |
||||
|
} |
||||
|
}, |
||||
|
// 主方案 -- 修改贷款保证金,重新计算贷款保证金比例 |
||||
|
bondAmountInput() { |
||||
|
if (this.finance.bondAmount !== '') { |
||||
|
this.finance.bondRatio = (parseInt(this.arguments(this.finance.bondAmount)) / parseInt(this.arguments(this.finance.loanAmount)) * 100).toFixed(2) + '%' |
||||
|
} |
||||
|
}, |
||||
|
// 主方案 -- 计算月还金额 |
||||
|
monthlyPayment(rate, nperiod, pv, fv, type) { |
||||
|
var pmt = '' |
||||
|
rate = parseFloat(parseInt(rate) / 100) / 12 |
||||
|
if (pv !== '') { |
||||
|
if (!fv) fv = 0 |
||||
|
if (!type) type = 0 |
||||
|
if (rate == 0) return -(pv + fv)/nperiod |
||||
|
var pvif = Math.pow(1 + rate, nperiod) |
||||
|
pmt = rate / (pvif - 1) * (pv * pvif + fv) |
||||
|
if (type == 1) { |
||||
|
pmt /= (1 + rate) |
||||
|
} |
||||
|
} |
||||
|
this.finance.loanPayMoney = pmt |
||||
|
// 根据月还金额 -- 计算利息总额 |
||||
|
this.finance.loanInterest = parseInt(this.finance.loanPayMoney) * parseInt(nperiod) - parseInt(pv) |
||||
|
}, |
||||
|
// 主方案 -- 贴息用途 |
||||
|
changeFactoryDiscountUse(value) { |
||||
|
const choose = this.factoryDiscountUse_list.filter((item) => item.dictValue === value) |
||||
|
if (choose.length > 0 && choose !== null) { |
||||
|
this.finance.factoryDiscountUseKey = choose[0].dictKey |
||||
|
} else { |
||||
|
this.finance.factoryDiscountUseKey = '' |
||||
|
} |
||||
|
}, |
||||
|
// 其它融--名称 |
||||
|
changeOtherPolicy(value) { |
||||
|
const choose = this.other_list.filter((item) => item.name === value) |
||||
|
if (choose.length > 0 && choose !== null) { |
||||
|
this.finance.otherPolicySid = choose[0].sid |
||||
|
this.finance.otherPolicyYearRatio = choose[0].yearRatio |
||||
|
this.finance.otherPolicyPeriod = choose[0].period |
||||
|
} else { |
||||
|
this.finance.otherPolicySid = '' |
||||
|
} |
||||
|
}, |
||||
|
// 其它融 -- 修改贷款金额 计算月还金额、利息总额 |
||||
|
otherPolicyAmountInput() { |
||||
|
this.otherMonthlyPayment(this.finance.otherPolicyYearRatio, this.finance.otherPolicyPeriod, this.finance.otherPolicyAmount, 0, 0) |
||||
|
}, |
||||
|
// 其它融 -- 计算月还金额、利息总额 |
||||
|
otherMonthlyPayment(rate, nperiod, pv, fv, type) { |
||||
|
var pmt = '' |
||||
|
rate = parseInt(parseInt(rate) / 100) / 12 |
||||
|
if (pv !== '') { |
||||
|
if (!fv) fv = 0 |
||||
|
if (!type) type = 0 |
||||
|
if (rate == 0) return -(pv + fv)/nperiod |
||||
|
var pvif = Math.pow(1 + rate, nperiod) |
||||
|
pmt = rate / (pvif - 1) * (pv * pvif + fv) |
||||
|
if (type == 1) { |
||||
|
pmt /= (1 + rate) |
||||
|
} |
||||
|
} |
||||
|
this.finance.otherPolicyMonthlyRepay = pmt |
||||
|
// 根据月还金额 -- 计算利息总额 |
||||
|
this.finance.otherPolicyInterest = parseInt(this.arguments(this.finance.otherPolicyMonthlyRepay)) * parseInt(nperiod) - parseInt(this.arguments(pv)) |
||||
|
}, |
||||
|
// 方案汇总 —— 融资首付 |
||||
|
loanDownPay() { |
||||
|
if (this.finance.downPayAmount !== '') { |
||||
|
if (this.finance.otherPolicyAmount !== '') { |
||||
|
this.finance.loanDownPay = parseInt(this.arguments(this.finance.downPayAmount)) - parseInt(this.arguments(this.finance.otherPolicyAmount)) |
||||
|
} else { |
||||
|
this.finance.loanDownPay = this.finance.downPayAmount |
||||
|
} |
||||
|
} |
||||
|
return this.finance.loanDownPay |
||||
|
}, |
||||
|
// 方案汇总 —— 实际首付比例 |
||||
|
downPayAmountsRatio() { |
||||
|
if (this.finance.loanDownPay !== '' && this.finance.loanTotal !== '') { |
||||
|
this.finance.downPayAmountsRatio = (parseInt(this.finance.loanDownPay) / parseInt(this.finance.loanTotal) * 100).toFixed(2) + '%' |
||||
|
} |
||||
|
return this.finance.downPayAmountsRatio |
||||
|
}, |
||||
|
// 方案汇总 —— 总贷款金额 |
||||
|
loanAmountTotal() { |
||||
|
if (this.finance.loanAmount !== '') { |
||||
|
if (this.finance.otherPolicyAmount !== '') { |
||||
|
this.finance.loanAmountTotal = parseInt(this.arguments(this.finance.loanAmount)) + parseInt(this.arguments(this.finance.otherPolicyAmount)) |
||||
|
} else { |
||||
|
this.finance.loanAmountTotal = this.finance.loanAmount |
||||
|
} |
||||
|
} |
||||
|
return this.finance.loanAmountTotal |
||||
|
}, |
||||
|
// 方案汇总 —— 期数 |
||||
|
period() { |
||||
|
if (this.finance.loanPeriod !== '') { |
||||
|
if (this.finance.otherPolicyPeriod !== '') { |
||||
|
if (parseInt(this.arguments(this.finance.loanPeriod)) - parseInt(this.arguments(this.finance.otherPolicyPeriod)) < 0) { |
||||
|
this.finance.period = '-' + '/' + this.finance.loanPeriod |
||||
|
} else { |
||||
|
const aa = parseInt(this.arguments(this.finance.loanPeriod)) - parseInt(this.arguments(this.finance.otherPolicyPeriod)) |
||||
|
this.finance.period = this.finance.otherPolicyPeriod + '/' + aa |
||||
|
} |
||||
|
} else { |
||||
|
this.finance.period = '-' + '/' + this.finance.loanPeriod |
||||
|
} |
||||
|
} |
||||
|
return this.finance.period |
||||
|
}, |
||||
|
// 方案汇总 —— 月还金额 |
||||
|
monthlyRepay() { |
||||
|
if (this.finance.loanPayMoney !== '') { |
||||
|
if (this.finance.otherPolicyMonthlyRepay !== '') { |
||||
|
if (parseInt(this.arguments(this.finance.loanPayMoney)) - parseInt(this.arguments(this.finance.otherPolicyMonthlyRepay)) === 0) { |
||||
|
const aa = parseInt(this.arguments(this.finance.loanPayMoney)) + parseInt(this.arguments(this.finance.otherPolicyMonthlyRepay)) |
||||
|
this.finance.monthlyRepay = aa + '/' + '-' |
||||
|
} else { |
||||
|
const bb = parseInt(this.arguments(this.finance.loanPayMoney)) + parseInt(this.arguments(this.finance.otherPolicyMonthlyRepay)) |
||||
|
this.finance.monthlyRepay = bb + '/' + this.finance.loanPayMoney |
||||
|
} |
||||
|
} else { |
||||
|
this.finance.monthlyRepay = this.finance.loanPayMoney + '/' + '-' |
||||
|
} |
||||
|
} |
||||
|
return this.finance.monthlyRepay |
||||
|
}, |
||||
|
// 方案汇总 —— 利息总额 |
||||
|
interest() { |
||||
|
if (this.finance.loanInterest !== '' && this.finance.otherPolicyInterest !== '') { |
||||
|
this.finance.interest = parseInt(this.arguments(this.finance.loanInterest)) + parseInt(this.arguments(this.finance.otherPolicyInterest)) |
||||
|
} else if (this.finance.loanInterest === '' && this.finance.otherPolicyInterest !== '') { |
||||
|
this.finance.interest = this.finance.otherPolicyInterest |
||||
|
} else if (this.finance.loanInterest !== '' && this.finance.otherPolicyInterest === '') { |
||||
|
this.finance.interest = this.finance.loanInterest |
||||
|
} else { |
||||
|
this.finance.interest = '' |
||||
|
} |
||||
|
return this.finance.interest |
||||
|
}, |
||||
|
// 应收明细 —— 融资首付 |
||||
|
downPayAmounts() { |
||||
|
if (this.finance.downPayAmount !== '') { |
||||
|
if (this.finance.otherPolicyAmount !== '') { |
||||
|
this.finance.downPayAmounts = parseInt(this.arguments(this.finance.downPayAmount)) - parseInt(this.arguments(this.finance.otherPolicyAmount)) |
||||
|
} else { |
||||
|
this.finance.downPayAmounts = this.finance.downPayAmount |
||||
|
} |
||||
|
} |
||||
|
return this.finance.downPayAmounts |
||||
|
}, |
||||
|
// 应收明细 —— 贷款保证金 |
||||
|
bondAmounts() { |
||||
|
if (this.finance.bondAmount !== '') { |
||||
|
this.finance.bondAmounts = this.finance.bondAmount |
||||
|
} |
||||
|
return this.finance.bondAmount |
||||
|
}, |
||||
|
changeDealWay(value) { |
||||
|
const choose = this.dealWay_list.filter((item) => item.dictValue === value) |
||||
|
if (choose.length > 0 && choose !== null) { |
||||
|
this.finance.dealWayKey = choose[0].dictKey |
||||
|
} else { |
||||
|
this.finance.dealWayKey = '' |
||||
|
} |
||||
|
if (this.finance.dealWayKey === '02') { |
||||
|
this.finance.proxyPremium = '0' |
||||
|
this.finance.proxyPurchasetax = '0' |
||||
|
} else { |
||||
|
this.finance.proxyPremium = '' |
||||
|
this.finance.proxyPurchasetax = '' |
||||
|
} |
||||
|
}, |
||||
|
// 应收明细 -- 代收费用合计 |
||||
|
proxyTotal() { |
||||
|
if (this.finance.proxyPremium !== '' && this.finance.proxyPurchasetax !== '') { |
||||
|
this.finance.proxyTotal = parseInt(this.arguments(this.finance.proxyPremium)) + parseInt(this.arguments(this.finance.proxyPurchasetax)) |
||||
|
} else if (this.finance.proxyPremium === '' && this.finance.proxyPurchasetax !== '') { |
||||
|
this.finance.proxyTotal = this.finance.proxyPurchasetax |
||||
|
} else if (this.finance.proxyPremium !== '' && this.finance.proxyPurchasetax === '') { |
||||
|
this.finance.proxyTotal = this.finance.proxyPremium |
||||
|
} else { |
||||
|
this.finance.proxyTotal = '' |
||||
|
} |
||||
|
return this.finance.proxyTotal |
||||
|
}, |
||||
|
// 应收明细 —— 应收合计 |
||||
|
receivableTotal() { |
||||
|
if (this.finance.serviceAmount !== '') { |
||||
|
this.finance.receivableTotal = parseInt(this.arguments(this.finance.downPayAmounts)) + parseInt(this.arguments(this.finance.bondAmounts)) + parseInt(this.arguments(this.finance.depositPremium)) + parseInt(this.arguments(this.finance.depositSettle)) + parseInt(this.arguments(this.finance.serviceAmount)) + parseInt(this.arguments(this.finance.proxyAccidentPremium)) + parseInt(this.arguments(this.finance.registerAmount)) + parseInt(this.arguments(this.finance.operationAmount)) + parseInt(this.arguments(this.finance.vehOtherPrice)) + parseInt(this.arguments(this.finance.otherAmount)) + parseInt(this.arguments(this.finance.proxyPremium)) + parseInt(this.arguments(this.finance.proxyPurchasetax)) |
||||
|
} |
||||
|
return this.finance.receivableTotal |
||||
|
}, |
||||
|
// 应收明细 —— 抵顶费用合计 |
||||
|
offsetTotal() { |
||||
|
if (this.finance.offsetPremium !== '' && this.finance.offsetPurchasetax !== '') { |
||||
|
this.finance.offsetTotal = parseInt(this.arguments(this.finance.offsetPremium)) + parseInt(this.arguments(this.finance.offsetPurchasetax)) |
||||
|
} else if (this.finance.offsetPremium === '' && this.finance.offsetPurchasetax !== '') { |
||||
|
this.finance.offsetTotal = this.finance.offsetPurchasetax |
||||
|
} else if (this.finance.offsetPremium !== '' && this.finance.offsetPurchasetax === '') { |
||||
|
this.finance.offsetTotal = this.finance.offsetPremium |
||||
|
} else { |
||||
|
this.finance.offsetTotal = '' |
||||
|
} |
||||
|
return this.finance.offsetTotal |
||||
|
}, |
||||
|
// 应收明细 —— 实收合计 |
||||
|
realTotal() { |
||||
|
if (this.finance.offsetTotal !== '') { |
||||
|
this.finance.realTotal = parseInt(this.arguments(this.finance.receivableTotal)) - parseInt(this.arguments(this.finance.offsetTotal)) |
||||
|
} else { |
||||
|
this.finance.realTotal = this.finance.receivableTotal |
||||
|
} |
||||
|
return this.finance.realTotal |
||||
|
}, |
||||
|
arguments(val) { |
||||
|
if (val === '' || val === undefined) { |
||||
|
val = 0 |
||||
|
return val |
||||
|
} else { |
||||
|
return val |
||||
|
} |
||||
|
}, |
||||
|
handleReturn() { |
||||
|
this.finance = { |
||||
|
saleOrderSid: '', |
||||
|
isPack: '', |
||||
|
policyName: '', |
||||
|
mainVehicleAmount: '', |
||||
|
accessoriesAmount: '', |
||||
|
trailerAmount: '', |
||||
|
purchaseTax: '', |
||||
|
premium: '', |
||||
|
loanTotal: '', |
||||
|
|
||||
|
accessoriesAmountCb: false, |
||||
|
trailerAmountCb: false, |
||||
|
purchaseTaxCb: false, |
||||
|
premiumCb: false, |
||||
|
|
||||
|
downPayRatio: '', |
||||
|
downPayAmount: '', |
||||
|
loanAmount: '', |
||||
|
loanPeriod: '', |
||||
|
bondRatio: '', |
||||
|
bondAmount: '', |
||||
|
factoryDiscount: '', |
||||
|
factoryDiscountUse: '', |
||||
|
policyYearRatio: '', |
||||
|
loanPayMoney: '', |
||||
|
loanInterest: '', |
||||
|
otherPolicyState: false, |
||||
|
|
||||
|
otherPolicyName: '', |
||||
|
otherPolicyAmount: '', |
||||
|
otherPolicyPeriod: '', |
||||
|
|
||||
|
otherPolicyMonthlyRepay: '', |
||||
|
otherPolicyInterest: '', |
||||
|
otherPolicyYearRatio: '', |
||||
|
|
||||
|
loanDownPay: '', |
||||
|
downPayAmountsRatio: '', |
||||
|
loanAmountTotal: '', |
||||
|
period: '', |
||||
|
monthlyRepay: '', |
||||
|
interest: '', |
||||
|
returnTime: '', |
||||
|
|
||||
|
downPayAmounts: '', |
||||
|
bondAmounts: '', |
||||
|
depositPremium: '', |
||||
|
depositSettle: '', |
||||
|
serviceAmount: '', |
||||
|
proxyAccidentPremium: '', |
||||
|
registerAmount: '', |
||||
|
operationAmount: '', |
||||
|
vehOtherPrice: '', |
||||
|
otherAmount: '', |
||||
|
otherAmountRemark: '', |
||||
|
dealWay: '', |
||||
|
dealWayKey: '', |
||||
|
proxyPremium: '', |
||||
|
proxyPurchasetax: '', |
||||
|
offsetPremium: '', |
||||
|
offsetPurchasetax: '', |
||||
|
offsetTotal: '', |
||||
|
receivableTotal: '', |
||||
|
realTotal: '', |
||||
|
vehTotalPrice: '', |
||||
|
nominalPrice: '' |
||||
|
} |
||||
|
this.$refs['form_obj'].resetFields() |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.formaddcopy02 { |
||||
|
padding: 0px; |
||||
|
} |
||||
|
.span-sty { |
||||
|
width: 140px !important; |
||||
|
} |
||||
|
|
||||
|
.addinputInfo { |
||||
|
margin-left: 130px !important; |
||||
|
} |
||||
|
|
||||
|
.addinputw { |
||||
|
margin-left: 130px !important; |
||||
|
} |
||||
|
|
||||
|
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
||||
|
margin-left: 130px !important; |
||||
|
width: calc(100% - 125px); |
||||
|
} |
||||
|
|
||||
|
/deep/ .el-form-item__error { |
||||
|
margin-left: 120px !important; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,444 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<!--列表页面--> |
||||
|
<div v-show="viewState == 1"> |
||||
|
<button-bar view-title="公司定制金融方案管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/> |
||||
|
<!--Start查询列表部分--> |
||||
|
<div class="main-content"> |
||||
|
<div class="searchcon"> |
||||
|
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> |
||||
|
<div v-show="isSearchShow" class="search"> |
||||
|
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="110px" class="tab-header"> |
||||
|
<el-form-item label="分公司"> |
||||
|
<el-input v-model="listQuery.params.useOrgName" placeholder="" clearable/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="模板名称"> |
||||
|
<el-input v-model="listQuery.params.templateName" placeholder="" clearable/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="使用状态"> |
||||
|
<el-select v-model="listQuery.params.useStateKey" placeholder="请选择" clearable filterable> |
||||
|
<el-option v-for="item in useSate_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="车型"> |
||||
|
<el-input v-model="listQuery.params.vehModel" placeholder="" clearable/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="资方产品政策"> |
||||
|
<el-input v-model="listQuery.params.policyName" placeholder="" clearable/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="其它融产品名称"> |
||||
|
<el-input v-model="listQuery.params.otherPolicyName" placeholder="" clearable/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="申请日期"> |
||||
|
<el-date-picker v-model="listQuery.params.filingDateStart" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker> |
||||
|
<span style="padding: 0 8px">至</span> |
||||
|
<el-date-picker v-model="listQuery.params.filingDateEnd" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div class="btn" style="text-align: center;"> |
||||
|
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button> |
||||
|
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!--End查询列表部分--> |
||||
|
<div class="listtop"> |
||||
|
<div class="tit">公司金融方案模板列表</div> |
||||
|
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
||||
|
</div> |
||||
|
<!--Start 主页面主要部分 --> |
||||
|
<div class=""> |
||||
|
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange"> |
||||
|
<el-table-column type="selection" align="center" width="50"/> |
||||
|
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/> |
||||
|
<el-table-column label="操作" width="180px" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="primary" size="mini" :disabled="scope.row.nodeState =='发起申请' ? false : scope.row.nodeState == '待提交' ? false : true" @click="toEdit(scope.row)">办理</el-button> |
||||
|
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="状态" width="180px" header-align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="scope.row.nodeState=='待提交'" type="primary" size="mini">待提交</span> |
||||
|
<span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="useStateValue" label="使用状态" align="center" width="100" /> |
||||
|
<el-table-column prop="useOrgName" label="分公司" align="center" width="150" /> |
||||
|
<el-table-column prop="applyDept" label="申请部门" align="center" min-width="150" /> |
||||
|
<el-table-column prop="createByName" label="申请人" align="center" width="160" /> |
||||
|
<el-table-column prop="filingDate" label="申请日期" align="center" width="100" /> |
||||
|
<el-table-column prop="templateName" label="模板名称" align="center" width="100" /> |
||||
|
<el-table-column prop="vehTypeValue" label="预估报价单方案" align="center" width="100" /> |
||||
|
<el-table-column prop="serviceAmountTypeValue" label="车型" align="center" width="120" /> |
||||
|
<el-table-column prop="policyName" label="资方产品政策" align="center" width="80" /> |
||||
|
<el-table-column prop="otherPolicyName" label="其他融产品名称" align="center" width="100" /> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
<!--End 主页面主要部分--> |
||||
|
<div class="pages"> |
||||
|
<div class="tit"/> |
||||
|
<!-- 翻页 --> |
||||
|
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
||||
|
</div> |
||||
|
<!--End查询列表部分--> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- 新增或编辑 --> |
||||
|
<customizedfinancialsolutionsAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/> |
||||
|
<!-- 详情 --> |
||||
|
<!-- <customizedfinancialsolutionsInfo v-show="viewState == 4" ref="divInfo" @doback="resetState"/>--> |
||||
|
<!-- 流程审批记录 --> |
||||
|
<el-dialog title="" :visible.sync="centerDialogVisible" width="78%" height="1%" :before-close="closeIt" center> |
||||
|
<iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import Pagination from '@/components/pagination' |
||||
|
import pageye from '@/components/pagination/pageye' |
||||
|
import ButtonBar from '@/components/ButtonBar' |
||||
|
import req from '@/api/customizedfinancialsolutions/customizedfinancialsolutions' |
||||
|
import customizedfinancialsolutionsAdd from './customizedfinancialsolutionsAdd' |
||||
|
import customizedfinancialsolutionsInfo from './customizedfinancialsolutionsInfo' |
||||
|
import { getStorage } from '@/utils/auth' |
||||
|
|
||||
|
export default { |
||||
|
name: 'CustomizedFinancialSolutions', |
||||
|
components: { |
||||
|
Pagination, |
||||
|
pageye, |
||||
|
ButtonBar, |
||||
|
customizedfinancialsolutionsAdd, |
||||
|
customizedfinancialsolutionsInfo |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
url: '', |
||||
|
dialogHeight: '80%', |
||||
|
centerDialogVisible: false, |
||||
|
btndisabled: false, |
||||
|
btnList: [ |
||||
|
{ |
||||
|
type: 'primary', |
||||
|
size: 'small', |
||||
|
icon: 'plus', |
||||
|
btnKey: 'toAdd', |
||||
|
btnLabel: '新增' |
||||
|
}, |
||||
|
{ |
||||
|
type: 'danger', |
||||
|
size: 'small', |
||||
|
icon: 'del', |
||||
|
btnKey: 'doDel', |
||||
|
btnLabel: '删除' |
||||
|
}, |
||||
|
{ |
||||
|
type: 'danger', |
||||
|
size: 'small', |
||||
|
icon: '', |
||||
|
btnKey: 'toBlockUp', |
||||
|
btnLabel: '停用' |
||||
|
}, |
||||
|
{ |
||||
|
type: 'primary', |
||||
|
size: 'small', |
||||
|
icon: '', |
||||
|
btnKey: 'toOpen', |
||||
|
btnLabel: '开启' |
||||
|
}, |
||||
|
{ |
||||
|
type: 'info', |
||||
|
size: 'small', |
||||
|
icon: 'cross', |
||||
|
btnKey: 'doClose', |
||||
|
btnLabel: '关闭' |
||||
|
} |
||||
|
], |
||||
|
isSearchShow: false, |
||||
|
searchxianshitit: '显示查询条件', |
||||
|
viewState: 1, // 1、列表 2、新增 3、编辑 4、查看 |
||||
|
tableKey: 0, |
||||
|
list: [], |
||||
|
sids: [], // 用于导出的时候保存已选择的SIDs |
||||
|
multipleSelection: [], |
||||
|
useSate_list: [ |
||||
|
{ |
||||
|
dictKey: '0', |
||||
|
dictValue: '正常' |
||||
|
}, |
||||
|
{ |
||||
|
dictKey: '1', |
||||
|
dictValue: '停用' |
||||
|
} |
||||
|
], |
||||
|
FormLoading: false, |
||||
|
listLoading: false, |
||||
|
// 翻页 |
||||
|
listQuery: { |
||||
|
current: 1, |
||||
|
size: 10, |
||||
|
total: 0, |
||||
|
params: { |
||||
|
filingDateEnd: '', |
||||
|
filingDateStart: '', |
||||
|
templateName: '', |
||||
|
useOrgName: '', |
||||
|
useStateKey: '', |
||||
|
vehModel: '', |
||||
|
userSid: '', |
||||
|
orhPath: '', |
||||
|
policyName: '', |
||||
|
otherPolicyName: '' |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
// 初始化变量 |
||||
|
this.init() |
||||
|
}, |
||||
|
mounted() { |
||||
|
// 在外部vue的window上添加postMessage的监听,而且绑定处理函数handleMessage |
||||
|
window.addEventListener('message', this.handleMessage) |
||||
|
this.$refs['btnbar'].setButtonList(this.btnList) |
||||
|
}, |
||||
|
methods: { |
||||
|
async handleMessage(event) { |
||||
|
var code = '' |
||||
|
if (event.data.params !== null && event.data.params !== undefined) { |
||||
|
code = event.data.params.code |
||||
|
} |
||||
|
if (code === 1) { |
||||
|
this.init() |
||||
|
this.centerDialogVisible = false |
||||
|
} else if (code === 2) { |
||||
|
this.dialogHeight = event.data.params.data |
||||
|
this.setIframeHeight(document.getElementById('iframe')) |
||||
|
} |
||||
|
}, |
||||
|
closeIt() { |
||||
|
this.url = '' |
||||
|
this.centerDialogVisible = false |
||||
|
}, |
||||
|
setIframeHeight(iframe) { |
||||
|
iframe.height = this.dialogHeight |
||||
|
}, |
||||
|
flowRecord(row) { |
||||
|
this.centerDialogVisible = true |
||||
|
var params = { |
||||
|
deployId: row.procDefId, |
||||
|
procInsId: row.procInstId, |
||||
|
token: getStorage() |
||||
|
} |
||||
|
this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params))) |
||||
|
}, |
||||
|
// 搜索条件效果 |
||||
|
clicksearchShow() { |
||||
|
this.isSearchShow = !this.isSearchShow |
||||
|
if (this.isSearchShow) { |
||||
|
this.searchxianshitit = '隐藏查询条件' |
||||
|
} else { |
||||
|
this.searchxianshitit = '显示查询条件' |
||||
|
} |
||||
|
}, |
||||
|
btnHandle(btnKey) { |
||||
|
console.log('XXXXXXXXXXXXXXX ' + btnKey) |
||||
|
switch (btnKey) { |
||||
|
case 'toAdd': |
||||
|
this.toAdd() |
||||
|
break |
||||
|
case 'doDel': |
||||
|
this.doDel() |
||||
|
break |
||||
|
case 'toBlockUp': |
||||
|
this.toBlockUp() |
||||
|
break |
||||
|
case 'toOpen': |
||||
|
this.toOpen() |
||||
|
break |
||||
|
case 'doClose': |
||||
|
this.doClose() |
||||
|
break |
||||
|
default: |
||||
|
break |
||||
|
} |
||||
|
}, |
||||
|
init() { |
||||
|
this.getList() |
||||
|
}, |
||||
|
// 信息条数 获取点击时当前的sid |
||||
|
handleSelectionChange(row) { |
||||
|
const aa = [] |
||||
|
this.multipleSelection = row |
||||
|
row.forEach(element => { |
||||
|
aa.push(element.sid) |
||||
|
}) |
||||
|
this.sids = aa |
||||
|
}, |
||||
|
// 表中序号 |
||||
|
indexMethod(index) { |
||||
|
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
||||
|
var pageindex = index + 1 + pagestart |
||||
|
return pageindex |
||||
|
}, |
||||
|
// 查询列表信息 |
||||
|
getList() { |
||||
|
this.listLoading = true |
||||
|
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid') |
||||
|
this.listQuery.params.menuUrl = this.$route.path |
||||
|
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath') |
||||
|
req.listPage(this.listQuery).then(response => { |
||||
|
this.listLoading = false |
||||
|
if (response.success) { |
||||
|
this.list = response.data.records |
||||
|
this.listQuery.total = response.data.total |
||||
|
} else { |
||||
|
this.list = [] |
||||
|
this.listQuery.total = 0 |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 查询按钮 |
||||
|
handleFilter() { |
||||
|
this.listQuery.current = 1 |
||||
|
this.getList() |
||||
|
}, |
||||
|
// 点击重置 |
||||
|
handleReset() { |
||||
|
this.listQuery = { |
||||
|
current: 1, |
||||
|
size: 10, |
||||
|
total: 0, |
||||
|
params: { |
||||
|
filingDateEnd: '', |
||||
|
filingDateStart: '', |
||||
|
templateName: '', |
||||
|
useOrgName: '', |
||||
|
useStateKey: '', |
||||
|
vehModel: '', |
||||
|
userSid: '', |
||||
|
orhPath: '', |
||||
|
policyName: '', |
||||
|
otherPolicyName: '' |
||||
|
} |
||||
|
} |
||||
|
this.init() |
||||
|
}, |
||||
|
toAdd() { |
||||
|
this.viewState = 2 |
||||
|
this.$refs['divAdd'].showAdd() |
||||
|
}, |
||||
|
toEdit(row) { |
||||
|
this.viewState = 3 |
||||
|
this.$refs['divAdd'].showEdit(row) |
||||
|
}, |
||||
|
toInfo(row) { |
||||
|
this.viewState = 4 |
||||
|
this.$refs['divInfo'].showInfo(row) |
||||
|
}, |
||||
|
doDel() { |
||||
|
if (this.sids.length === 0) { |
||||
|
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' }) |
||||
|
return |
||||
|
} |
||||
|
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?' |
||||
|
this.$confirm(tip, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
const loading = this.$loading({ |
||||
|
lock: true, |
||||
|
text: 'Loading', |
||||
|
spinner: 'el-icon-loading', |
||||
|
background: 'rgba(0, 0, 0, 0.7)' |
||||
|
}) |
||||
|
req.deleteBySids(this.sids).then(resp => { |
||||
|
if (resp.success) { |
||||
|
this.$message({ type: 'success', message: resp.msg, showClose: true }) |
||||
|
} |
||||
|
this.getList() |
||||
|
loading.close() |
||||
|
}).catch(e => { |
||||
|
loading.close() |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
toBlockUp() { |
||||
|
if (this.sids.length === 0) { |
||||
|
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行停用操作' }) |
||||
|
return |
||||
|
} |
||||
|
const tip = '请确认是否停用所选 ' + this.sids.length + ' 条记录?' |
||||
|
this.$confirm(tip, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
const loading = this.$loading({ |
||||
|
lock: true, |
||||
|
text: 'Loading', |
||||
|
spinner: 'el-icon-loading', |
||||
|
background: 'rgba(0, 0, 0, 0.7)' |
||||
|
}) |
||||
|
req.setState({ sidsList: this.sids, useState: '1' }).then(resp => { |
||||
|
if (resp.success) { |
||||
|
this.$message({ type: 'success', message: resp.msg, showClose: true }) |
||||
|
} |
||||
|
this.getList() |
||||
|
loading.close() |
||||
|
}).catch(e => { |
||||
|
loading.close() |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
toOpen() { |
||||
|
if (this.sids.length === 0) { |
||||
|
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行开启操作' }) |
||||
|
return |
||||
|
} |
||||
|
const tip = '请确认是否开启所选 ' + this.sids.length + ' 条记录?' |
||||
|
this.$confirm(tip, '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
const loading = this.$loading({ |
||||
|
lock: true, |
||||
|
text: 'Loading', |
||||
|
spinner: 'el-icon-loading', |
||||
|
background: 'rgba(0, 0, 0, 0.7)' |
||||
|
}) |
||||
|
req.setState({ sidsList: this.sids, useState: '0' }).then(resp => { |
||||
|
if (resp.success) { |
||||
|
this.$message({ type: 'success', message: resp.msg, showClose: true }) |
||||
|
} |
||||
|
this.getList() |
||||
|
loading.close() |
||||
|
}).catch(e => { |
||||
|
loading.close() |
||||
|
}) |
||||
|
}).catch(() => { |
||||
|
}) |
||||
|
}, |
||||
|
lookOther(row) { |
||||
|
this.viewState = 5 |
||||
|
this.$refs['divOther'].showInfo(row.otherPolicySid) |
||||
|
}, |
||||
|
// 修改、编辑、详情返回列表页面 |
||||
|
resetState() { |
||||
|
this.viewState = 1 |
||||
|
}, |
||||
|
doClose() { |
||||
|
this.$store.dispatch('tagsView/delView', this.$route) |
||||
|
this.$router.go(-1) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style scoped> |
||||
|
</style> |
@ -0,0 +1,600 @@ |
|||||
|
<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> |
||||
|
<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="12"> |
||||
|
<div class="span-sty">模板名称</div> |
||||
|
<el-form-item><el-input class="addinputInfo" style="width: 30%" v-model="formobj.templateName" clearable placeholder=""/></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">选择预估报价单</div> |
||||
|
<el-form-item> |
||||
|
<el-select class="addinputInfo" v-model="formobj.showTypeKey" placeholder="请选择" @change="showTypeChange" clearable filterable> |
||||
|
<el-option v-for="item in proposal_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<div class="title titleOne"> |
||||
|
<div>车型确定</div> |
||||
|
<el-button type="primary" size="mini" @click="selectModel">选择车型</el-button> |
||||
|
</div> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<el-form-item><span>{{ formobj.vehModel }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24" class="tlineheightb"> |
||||
|
<div class="span-sty">常用配置</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.vehModelConfig }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24" class="tlineheightb"> |
||||
|
<div class="span-sty">更多配置</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.vehModelConfigMore }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">单台指导价</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.vehPrice }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">合格证公告型号</div> |
||||
|
<el-form-item> |
||||
|
<el-select class="addinputInfo" v-model="formobj.vehNoticeModelSid" placeholder="请选择" @change="noticeModelChange" clearable filterable> |
||||
|
<el-option v-for="item in NoticeModel_list" :key="item.sid" :label="item.dictValue" :value="item.sid"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<div class="title titleOne"> |
||||
|
<div><el-checkbox v-model="formobj.install" style="padding-right: 5px"/>上装</div> |
||||
|
<el-button v-show="formobj.install" type="primary" size="mini" @click="selectSZ">选择上装</el-button> |
||||
|
</div> |
||||
|
<div v-show="formobj.install"> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">上装名称</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.installNameValue }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">委改方式</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.refitMethodValue }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tlineheightb"> |
||||
|
<div class="span-sty">供应商</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.refitFactory }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tlineheightb"> |
||||
|
<div class="span-sty">货箱内部尺寸</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.wkSize }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">板材材质</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.plateMaterialValue }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tlineheightb"> |
||||
|
<div class="span-sty">板材厚度</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.plateThickness }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">颜色</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.colorValue }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">融资价格</div> |
||||
|
<el-form-item><el-input v-model="formobj.loanTemplateInstall.vehInstallPrice" class="addinputInfo" style="width: 50%" clearable placeholder=""/></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24" class="tlineheightb"> |
||||
|
<div class="span-sty">更多配置</div> |
||||
|
<el-form-item><span>{{ formobj.loanTemplateInstall.moreConfig }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">备注说明</div> |
||||
|
<el-form-item><el-input v-model="formobj.loanTemplateInstall.vehInstallRemark" class="addinputw addinputInfo" clearable placeholder=""/></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</div> |
||||
|
<div class="title titleOne"> |
||||
|
<div><el-checkbox v-model="formobj.trailer" style="padding-right: 5px"/>挂车</div> |
||||
|
<el-button v-show="formobj.trailer" type="primary" size="mini" @click="selectGC">选择挂车</el-button> |
||||
|
</div> |
||||
|
<div v-show="formobj.trailer"> |
||||
|
<el-row> |
||||
|
<el-col :span="12" class="tlineheightb"> |
||||
|
<div class="span-sty">车型名称</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.modelTrailerName }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">车辆品牌</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.brandName }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">车辆型号</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.carModelName }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tlineheightb"> |
||||
|
<div class="span-sty">厂商名称</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.manufacturerName }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tlineheightb"> |
||||
|
<div class="span-sty">内部尺寸</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.insideSize }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">箱体颜色</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.boxColor }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">融资价格</div> |
||||
|
<el-form-item><el-input v-model="formobj.loanTemplateTrailer.vehTrailerPrice" class="addinputInfo" style="width: 50%" clearable placeholder=""/></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">更多配置</div> |
||||
|
<el-form-item><span>{{ formobj.loanTemplateTrailer.moreConfig }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">同车型合格证上传</div> |
||||
|
<el-form-item> |
||||
|
<upload-img ref="uploadImg" class="addinputInfo" v-model="image_list" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">备注说明</div> |
||||
|
<el-form-item><el-input v-model="formobj.loanTemplateTrailer.vehTrailerRemark" class="addinputw addinputInfo" clearable placeholder=""/></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</div> |
||||
|
<div class="title"> |
||||
|
<div>消贷金融方案<span style="margin-left: 10px">(说明:融资项目中保险为预估费用,必须小于保险发票票面金额,预估金额精确到百位。购置税=主车发票价/11.3,舍到个位,不足金额需要客户线下补交。)</span></div> |
||||
|
</div> |
||||
|
<financialscheme ref="divJRFA" :params="this.formobj.loanTemplateSolutions"/> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- 车型选择 --> |
||||
|
<modelSelect v-show="viewState == 2" ref="divModel" @backData="backModel" @doback="resetState"/> |
||||
|
<!-- 上装选择 --> |
||||
|
<shangzhuangselect v-show="viewState == 3" ref="divSZ" @backData="backSZ" @doback="resetState"/> |
||||
|
<!-- 挂车选择 --> |
||||
|
<guacheselect v-show="viewState == 4" ref="divGC" @backData="backGC" @doback="resetState"/> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import req from '@/api/customizedfinancialsolutions/customizedfinancialsolutions' |
||||
|
import { typeValues, getOrgSidByPath, getAnnounceList } from '@/api/Common/dictcommons' |
||||
|
import shangzhuangselect from './relation/shangzhuangselect' |
||||
|
import modelSelect from './relation/modelSelect' |
||||
|
import guacheselect from './relation/guacheselect' |
||||
|
import financialscheme from '@/components/publicPage/financialscheme' |
||||
|
import uploadImg from '@/components/uploadFile/uploadImg' |
||||
|
|
||||
|
export default { |
||||
|
name: 'CustomizedFinancialSolutionsAdd', |
||||
|
components: { |
||||
|
modelSelect, |
||||
|
shangzhuangselect, |
||||
|
guacheselect, |
||||
|
financialscheme, |
||||
|
uploadImg |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
viewTitle: '', |
||||
|
viewState: 1, |
||||
|
submitdisabled: false, |
||||
|
proposal_list: [], |
||||
|
NoticeModel_list: [], |
||||
|
image_list: [], |
||||
|
formobj: { |
||||
|
useOrgSid: '', |
||||
|
install: false, |
||||
|
loanTemplateInstall: { |
||||
|
colorValue: '', |
||||
|
installNameValue: '', |
||||
|
moreConfig: '', |
||||
|
plateMaterialValue: '', |
||||
|
plateThicknessBottom: '', |
||||
|
plateThicknessEdge: '', |
||||
|
plateThickness: '', |
||||
|
refitFactory: '', |
||||
|
refitMethodValue: '', |
||||
|
vehInstallPrice: '', |
||||
|
vehInstallRemark: '', |
||||
|
vehInstallModelSid: '', |
||||
|
wkSize: '', |
||||
|
wk_high: '', |
||||
|
wk_long: '', |
||||
|
wk_wide: '' |
||||
|
}, |
||||
|
loanTemplateSolutions: { |
||||
|
saleOrderSid: '', |
||||
|
type: '', |
||||
|
isPack: '', |
||||
|
policyName: '', |
||||
|
policySid: '', |
||||
|
mainVehicleAmount: '', |
||||
|
accessoriesAmount: '', |
||||
|
trailerAmount: '', |
||||
|
purchaseTax: '', |
||||
|
premium: '', |
||||
|
loanTotal: '', |
||||
|
|
||||
|
accessoriesAmountCb: false, |
||||
|
trailerAmountCb: false, |
||||
|
purchaseTaxCb: false, |
||||
|
premiumCb: false, |
||||
|
|
||||
|
downPayRatio: '', |
||||
|
downPayAmount: '', |
||||
|
loanAmount: '', |
||||
|
loanPeriod: '', |
||||
|
bondRatio: '', |
||||
|
bondAmount: '', |
||||
|
factoryDiscount: '', |
||||
|
factoryDiscountUse: '', |
||||
|
policyYearRatio: '', |
||||
|
loanPayMoney: '', |
||||
|
loanInterest: '', |
||||
|
discountCar: '', |
||||
|
otherPolicyState: false, |
||||
|
|
||||
|
otherPolicyName: '', |
||||
|
otherPolicySid: '', |
||||
|
otherPolicyAmount: '', |
||||
|
otherPolicyPeriod: '', |
||||
|
|
||||
|
otherPolicyMonthlyRepay: '', |
||||
|
otherPolicyInterest: '', |
||||
|
otherPolicyYearRatio: '', |
||||
|
|
||||
|
loanDownPay: '', |
||||
|
downPayAmountsRatio: '', |
||||
|
loanAmountTotal: '', |
||||
|
period: '', |
||||
|
monthlyRepay: '', |
||||
|
interest: '', |
||||
|
returnTime: '', |
||||
|
|
||||
|
downPayAmounts: '', |
||||
|
bondAmounts: '', |
||||
|
depositPremium: '', |
||||
|
depositSettle: '', |
||||
|
serviceAmount: '', |
||||
|
proxyAccidentPremium: '', |
||||
|
registerAmount: '', |
||||
|
operationAmount: '', |
||||
|
vehOtherPrice: '', |
||||
|
otherAmount: '', |
||||
|
otherAmountRemark: '', |
||||
|
dealWay: '', |
||||
|
dealWayKey: '', |
||||
|
proxyPremium: '', |
||||
|
proxyPurchasetax: '', |
||||
|
proxyTotal: '', |
||||
|
offsetPremium: '', |
||||
|
offsetPurchasetax: '', |
||||
|
offsetTotal: '', |
||||
|
receivableTotal: '', |
||||
|
realTotal: '', |
||||
|
vehTotalPrice: '', |
||||
|
nominalPrice: '' |
||||
|
}, |
||||
|
loanTemplateTrailer: { |
||||
|
boxColor: '', |
||||
|
brandName: '', |
||||
|
carModelName: '', |
||||
|
insideSize: '', |
||||
|
insideSizeHigh: '', |
||||
|
insideSizeLong: '', |
||||
|
insideSizeWide: '', |
||||
|
manufacturerName: '', |
||||
|
modelTrailerName: '', |
||||
|
moreConfig: '', |
||||
|
vehTrailerModelSid: '', |
||||
|
vehTrailerCertificateFile: [], |
||||
|
vehTrailerPrice: '', |
||||
|
vehTrailerRemark: '' |
||||
|
}, |
||||
|
orgPath: '', |
||||
|
showTypeKey: '', |
||||
|
showTypeValue: '', |
||||
|
sid: '', |
||||
|
taskId: '', |
||||
|
templateName: '', |
||||
|
trailer: false, |
||||
|
instanceId: '', |
||||
|
userSid: '', |
||||
|
vehModel: '', |
||||
|
vehModelConfig: '', |
||||
|
vehModelConfigMore: '', |
||||
|
vehModelConfigSid: '', |
||||
|
vehModelSid: '', |
||||
|
vehNoticeModel: '', |
||||
|
vehNoticeModelSid: '', |
||||
|
vehPrice: '' |
||||
|
}, |
||||
|
rules: {} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
init() { |
||||
|
typeValues({ type: 'revalencyScheme' }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.proposal_list = resp.data |
||||
|
} |
||||
|
}) |
||||
|
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.formobj.useOrgSid = resp.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
getAnnounceList() { |
||||
|
getAnnounceList({ modelSid: this.formobj.vehModelSid, orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.NoticeModel_list = [] |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
showAdd() { |
||||
|
this.init() |
||||
|
this.viewTitle = '【新增】公司定制金融方案申请' |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs['form_obj'].clearValidate() |
||||
|
}) |
||||
|
this.formobj.userSid = window.sessionStorage.getItem('userSid') |
||||
|
this.formobj.orgPath = window.sessionStorage.getItem('defaultOrgPath') |
||||
|
this.formobj.loanTemplateSolutions = { |
||||
|
saleOrderSid: '', |
||||
|
type: '', |
||||
|
isPack: '', |
||||
|
policyName: '', |
||||
|
policySid: '', |
||||
|
mainVehicleAmount: '', |
||||
|
accessoriesAmount: '', |
||||
|
trailerAmount: '', |
||||
|
purchaseTax: '', |
||||
|
premium: '', |
||||
|
loanTotal: '', |
||||
|
|
||||
|
accessoriesAmountCb: false, |
||||
|
trailerAmountCb: false, |
||||
|
purchaseTaxCb: false, |
||||
|
premiumCb: false, |
||||
|
|
||||
|
downPayRatio: '', |
||||
|
downPayAmount: '', |
||||
|
loanAmount: '', |
||||
|
loanPeriod: '', |
||||
|
bondRatio: '', |
||||
|
bondAmount: '', |
||||
|
factoryDiscount: '', |
||||
|
factoryDiscountUse: '', |
||||
|
policyYearRatio: '', |
||||
|
loanPayMoney: '', |
||||
|
loanInterest: '', |
||||
|
otherPolicyState: false, |
||||
|
|
||||
|
otherPolicyName: '', |
||||
|
otherPolicySid: '', |
||||
|
otherPolicyAmount: '', |
||||
|
otherPolicyPeriod: '', |
||||
|
|
||||
|
otherPolicyMonthlyRepay: '', |
||||
|
otherPolicyInterest: '', |
||||
|
otherPolicyYearRatio: '', |
||||
|
|
||||
|
loanDownPay: '', |
||||
|
downPayAmountsRatio: '', |
||||
|
loanAmountTotal: '', |
||||
|
period: '', |
||||
|
monthlyRepay: '', |
||||
|
interest: '', |
||||
|
returnTime: '', |
||||
|
|
||||
|
downPayAmounts: '', |
||||
|
bondAmounts: '', |
||||
|
depositPremium: '', |
||||
|
depositSettle: '', |
||||
|
serviceAmount: '', |
||||
|
proxyAccidentPremium: '', |
||||
|
registerAmount: '', |
||||
|
operationAmount: '', |
||||
|
vehOtherPrice: '', |
||||
|
otherAmount: '', |
||||
|
otherAmountRemark: '', |
||||
|
dealWay: '', |
||||
|
dealWayKey: '', |
||||
|
proxyPremium: '', |
||||
|
proxyPurchasetax: '', |
||||
|
offsetPremium: '', |
||||
|
offsetPurchasetax: '', |
||||
|
offsetTotal: '', |
||||
|
receivableTotal: '', |
||||
|
realTotal: '', |
||||
|
vehTotalPrice: '', |
||||
|
nominalPrice: '' |
||||
|
} |
||||
|
}, |
||||
|
showEdit(row) { |
||||
|
this.viewTitle = '【编辑】公司定制金融方案申请' |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs['form_obj'].clearValidate() |
||||
|
}) |
||||
|
}, |
||||
|
showTypeChange(value) { |
||||
|
const choose = this.proposal_list.filter((item) => item.dictKey === value) |
||||
|
if (choose.length > 0 && choose !== null) { |
||||
|
this.formobj.showTypeValue = choose[0].dictValue |
||||
|
} else { |
||||
|
this.formobj.showTypeValue = '' |
||||
|
} |
||||
|
}, |
||||
|
noticeModelChange(value) { |
||||
|
const choose = this.NoticeModel_list.filter((item) => item.sid === value) |
||||
|
if (choose.length > 0 && choose !== null) { |
||||
|
this.formobj.vehNoticeModel = choose[0].dictValue |
||||
|
} else { |
||||
|
this.formobj.vehNoticeModel = '' |
||||
|
} |
||||
|
}, |
||||
|
selectModel() { |
||||
|
this.viewState = 2 |
||||
|
const aa = [] |
||||
|
if (this.formobj.vehModelConfigSid !== '' && this.formobj.vehModelSid !== '') { |
||||
|
aa.push({ |
||||
|
vehicleSid: this.formobj.vehModelSid, |
||||
|
configSid: this.formobj.vehModelConfigSid |
||||
|
}) |
||||
|
} |
||||
|
this.$refs['divModel'].showData(aa, '', this.formobj.useOrgSid) |
||||
|
}, |
||||
|
backModel(value) { |
||||
|
this.viewState = 1 |
||||
|
this.formobj.vehModel = value.modelName |
||||
|
this.formobj.vehModelSid = value.modelSid |
||||
|
this.formobj.vehModelConfig = value.configName |
||||
|
this.formobj.vehModelConfigSid = value.configSid |
||||
|
this.formobj.vehModelConfigMore = value.otherConfig |
||||
|
this.formobj.vehPrice = value.guidedPrice |
||||
|
this.getAnnounceList() |
||||
|
}, |
||||
|
selectSZ() { |
||||
|
this.viewState = 3 |
||||
|
this.$refs['divSZ'].showData() |
||||
|
}, |
||||
|
backSZ(value) { |
||||
|
this.viewState = 1 |
||||
|
this.formobj.loanTemplateInstall = { |
||||
|
colorValue: value.colorValue, |
||||
|
installNameValue: value.installNameValue, |
||||
|
moreConfig: value.moreConfig, |
||||
|
plateMaterialValue: value.plateMaterialValue, |
||||
|
plateThicknessBottom: '', |
||||
|
plateThicknessEdge: '', |
||||
|
plateThickness: value.plateThickness, |
||||
|
refitFactory: value.refitFactory, |
||||
|
refitMethodValue: value.refitMethodValue, |
||||
|
vehInstallPrice: '', |
||||
|
vehInstallRemark: '', |
||||
|
vehInstallModelSid: value.sid, |
||||
|
wkSize: value.wk, |
||||
|
wk_high: '', |
||||
|
wk_long: '', |
||||
|
wk_wide: '' |
||||
|
} |
||||
|
}, |
||||
|
selectGC() { |
||||
|
this.viewState = 4 |
||||
|
this.$refs['divGC'].showData() |
||||
|
}, |
||||
|
backGC(value) { |
||||
|
this.viewState = 1 |
||||
|
this.formobj.loanTemplateTrailer = { |
||||
|
boxColor: value.boxColor, |
||||
|
brandName: value.brandName, |
||||
|
carModelName: value.carModelName, |
||||
|
insideSize: value.appearanceSize, |
||||
|
insideSizeHigh: '', |
||||
|
insideSizeLong: '', |
||||
|
insideSizeWide: '', |
||||
|
manufacturerName: value.manufacturerName, |
||||
|
modelTrailerName: value.trailerTypeValue + '(' + value.appearanceSize + ')', |
||||
|
moreConfig: value.moreConfig, |
||||
|
vehTrailerModelSid: value.sid, |
||||
|
vehTrailerCertificateFile: [], |
||||
|
vehTrailerPrice: '', |
||||
|
vehTrailerRemark: '' |
||||
|
} |
||||
|
}, |
||||
|
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: '保存成功' }) |
||||
|
this.handleReturn('true') |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
submit() { |
||||
|
this.$refs['form_obj'].validate((valid) => { |
||||
|
if (valid) {} |
||||
|
}) |
||||
|
}, |
||||
|
resetState() { |
||||
|
this.viewState = 1 |
||||
|
}, |
||||
|
handleReturn(isreload) { |
||||
|
if (isreload === 'true') this.$emit('reloadlist') |
||||
|
this.formobj = { |
||||
|
|
||||
|
} |
||||
|
this.image_list = [] |
||||
|
this.submitdisabled = false |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.span-sty { |
||||
|
width: 140px !important; |
||||
|
} |
||||
|
.addinputInfo { |
||||
|
margin-left: 130px !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,331 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div> |
||||
|
<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="12"> |
||||
|
<div class="span-sty">模板名称</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.templateName }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">选择预估报价单</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.showType }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<div class="title"> |
||||
|
<div>车型确定</div> |
||||
|
</div> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<el-form-item><span>{{ formobj.vehModel }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24" class="tlineheightb"> |
||||
|
<div class="span-sty">常用配置</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.vehModelConfig }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24" class="tlineheightb"> |
||||
|
<div class="span-sty">更多配置</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.vehModelConfigMore }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">单台指导价</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.vehPrice }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">合格证公告型号</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.vehNoticeModel }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<div class="title titleOne"> |
||||
|
<div><el-checkbox v-model="formobj.install" style="padding-right: 5px"/>上装</div> |
||||
|
</div> |
||||
|
<div v-show="formobj.install"> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">上装名称</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.installNameValue }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">委改方式</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.refitMethodValue }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tlineheightb"> |
||||
|
<div class="span-sty">供应商</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.refitFactory }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tlineheightb"> |
||||
|
<div class="span-sty">货箱内部尺寸</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.wkSize }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">板材材质</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.plateMaterialValue }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tlineheightb"> |
||||
|
<div class="span-sty">板材厚度</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.plateThickness }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">颜色</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.colorValue }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">融资价格</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateInstall.vehInstallPrice }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24" class="tlineheightb"> |
||||
|
<div class="span-sty">更多配置</div> |
||||
|
<el-form-item><span>{{ formobj.loanTemplateInstall.moreConfig }}</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.loanTemplateInstall.vehInstallRemark }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</div> |
||||
|
<div class="title titleOne"> |
||||
|
<div><el-checkbox v-model="formobj.trailer" style="padding-right: 5px"/>挂车</div> |
||||
|
</div> |
||||
|
<div v-show="formobj.trailer"> |
||||
|
<el-row> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">车型名称</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.modelTrailerName }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">车辆品牌</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.brandName }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">车辆型号</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.carModelName }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tlineheightb"> |
||||
|
<div class="span-sty">厂商名称</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.manufacturerName }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tlineheightb"> |
||||
|
<div class="span-sty">内部尺寸</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.insideSize }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">箱体颜色</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.boxColor }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">融资价格</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ formobj.loanTemplateTrailer.vehTrailerPrice }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">更多配置</div> |
||||
|
<el-form-item><span>{{ formobj.loanTemplateTrailer.moreConfig }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">同车型合格证上传</div> |
||||
|
<el-form-item> |
||||
|
<el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.loanTemplateTrailer.vehTrailerCertificateFile" :key="index" :src="item" :preview-src-list="formobj.loanTemplateTrailer.vehTrailerCertificateFile"/> |
||||
|
</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.loanTemplateTrailer.vehTrailerRemark }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</div> |
||||
|
<div class="title"> |
||||
|
<div>消贷金融方案</div> |
||||
|
</div> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import req from '@/api/customizedfinancialsolutions/customizedfinancialsolutions' |
||||
|
|
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
viewTitle: '', |
||||
|
formobj: { |
||||
|
useOrgSid: '', |
||||
|
install: false, |
||||
|
loanTemplateInstall: { |
||||
|
colorValue: '', |
||||
|
installNameValue: '', |
||||
|
moreConfig: '', |
||||
|
plateMaterialValue: '', |
||||
|
plateThicknessBottom: '', |
||||
|
plateThicknessEdge: '', |
||||
|
plateThickness: '', |
||||
|
refitFactory: '', |
||||
|
refitMethodValue: '', |
||||
|
vehInstallPrice: '', |
||||
|
vehInstallRemark: '', |
||||
|
vehInstallModelSid: '', |
||||
|
wkSize: '', |
||||
|
wk_high: '', |
||||
|
wk_long: '', |
||||
|
wk_wide: '' |
||||
|
}, |
||||
|
loanTemplateTrailer: { |
||||
|
boxColor: '', |
||||
|
brandName: '', |
||||
|
carModelName: '', |
||||
|
insideSize: '', |
||||
|
insideSizeHigh: '', |
||||
|
insideSizeLong: '', |
||||
|
insideSizeWide: '', |
||||
|
manufacturerName: '', |
||||
|
modelTrailerName: '', |
||||
|
moreConfig: '', |
||||
|
vehTrailerModelSid: '', |
||||
|
vehTrailerCertificateFile: [], |
||||
|
vehTrailerPrice: '', |
||||
|
vehTrailerRemark: '' |
||||
|
}, |
||||
|
orgPath: '', |
||||
|
showTypeKey: '', |
||||
|
showTypeValue: '', |
||||
|
sid: '', |
||||
|
templateName: '', |
||||
|
trailer: false, |
||||
|
userSid: '', |
||||
|
vehModel: '', |
||||
|
vehModelConfig: '', |
||||
|
vehModelConfigMore: '', |
||||
|
vehModelConfigSid: '', |
||||
|
vehModelSid: '', |
||||
|
vehNoticeModel: '', |
||||
|
vehNoticeModelSid: '', |
||||
|
vehPrice: '' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
showInfo(row) { |
||||
|
this.viewTitle = '公司定制金融方案详情' |
||||
|
req.fetchBySid(row.sid).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.formobj = resp.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
handleReturn() { |
||||
|
this.formobj = { |
||||
|
useOrgSid: '', |
||||
|
install: false, |
||||
|
loanTemplateInstall: { |
||||
|
colorValue: '', |
||||
|
installNameValue: '', |
||||
|
moreConfig: '', |
||||
|
plateMaterialValue: '', |
||||
|
plateThicknessBottom: '', |
||||
|
plateThicknessEdge: '', |
||||
|
plateThickness: '', |
||||
|
refitFactory: '', |
||||
|
refitMethodValue: '', |
||||
|
vehInstallPrice: '', |
||||
|
vehInstallRemark: '', |
||||
|
vehInstallModelSid: '', |
||||
|
wkSize: '', |
||||
|
wk_high: '', |
||||
|
wk_long: '', |
||||
|
wk_wide: '' |
||||
|
}, |
||||
|
loanTemplateTrailer: { |
||||
|
boxColor: '', |
||||
|
brandName: '', |
||||
|
carModelName: '', |
||||
|
insideSize: '', |
||||
|
insideSizeHigh: '', |
||||
|
insideSizeLong: '', |
||||
|
insideSizeWide: '', |
||||
|
manufacturerName: '', |
||||
|
modelTrailerName: '', |
||||
|
moreConfig: '', |
||||
|
vehTrailerModelSid: '', |
||||
|
vehTrailerCertificateFile: [], |
||||
|
vehTrailerPrice: '', |
||||
|
vehTrailerRemark: '' |
||||
|
}, |
||||
|
orgPath: '', |
||||
|
showTypeKey: '', |
||||
|
showTypeValue: '', |
||||
|
sid: '', |
||||
|
taskId: '', |
||||
|
templateName: '', |
||||
|
trailer: false, |
||||
|
instanceId: '', |
||||
|
userSid: '', |
||||
|
vehModel: '', |
||||
|
vehModelConfig: '', |
||||
|
vehModelConfigMore: '', |
||||
|
vehModelConfigSid: '', |
||||
|
vehModelSid: '', |
||||
|
vehNoticeModel: '', |
||||
|
vehNoticeModelSid: '', |
||||
|
vehPrice: '' |
||||
|
} |
||||
|
this.$emit('doback') |
||||
|
}, |
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.span-sty { |
||||
|
width: 140px !important; |
||||
|
} |
||||
|
.addinputInfo { |
||||
|
margin-left: 130px !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,202 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div v-show="viewState == 1"> |
||||
|
<button-bar view-title="挂车车型管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/> |
||||
|
<div class="main-content"> |
||||
|
<div class="searchcon"> |
||||
|
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow"> |
||||
|
{{ isSearchShow ? "隐藏查询条件" : "显示查询条件" }} |
||||
|
</el-button> |
||||
|
<div v-show="isSearchShow" class="search"> |
||||
|
<el-form :inline="true" class="tab-header" label-width="100px"> |
||||
|
<el-row> |
||||
|
<el-form-item label="车辆品牌"> |
||||
|
<el-input v-model="queryParams.params.brandName" clearable placeholder=""/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="车辆型号"> |
||||
|
<el-input v-model="queryParams.params.carModelName" clearable placeholder=""/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="厂商名称"> |
||||
|
<el-select v-model="queryParams.params.manufacturerSid" filterable placeholder="请选择"> |
||||
|
<el-option v-for="item in manufacturer_list" :key="item.sid" :label="item.manufacturerName" :value="item.sid"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="挂车类型"> |
||||
|
<el-select v-model="queryParams.params.trailerTypeKey" filterable placeholder="请选择"> |
||||
|
<el-option v-for="item in trailerType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
<div class="btn" style="text-align: center"> |
||||
|
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button> |
||||
|
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!--Start 项目列表头部--> |
||||
|
<div class="listtop"> |
||||
|
<div class="tit">挂车列表</div> |
||||
|
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList"/> |
||||
|
</div> |
||||
|
<!--End 项目列表头部--> |
||||
|
<!--Start 项目列表--> |
||||
|
<div class=""> |
||||
|
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"> |
||||
|
<el-table-column width="60" fixed label="序号" type="index" :index="indexMethod" align="center"/> |
||||
|
<el-table-column label="操作" fixed width="80" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="primary" size="small" @click="handleConfirm(scope.row)">确认</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="brandName" width="110" label="车辆品牌" align="center"/> |
||||
|
<el-table-column prop="carModelName" width="110" label="车辆型号" align="center"/> |
||||
|
<el-table-column prop="manufacturerName" label="厂商名称" align="center"/> |
||||
|
<el-table-column prop="trailerTypeValue" label="挂车类型" align="center"/> |
||||
|
<el-table-column prop="appearanceSize" label="外观尺寸" header-align="center" align="left"/> |
||||
|
<el-table-column prop="saleGuidancePrice" width="110" label="销售指导价" align="center"/> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
<!--End 项目列表--> |
||||
|
<div class="pages"> |
||||
|
<!-- 翻页 --> |
||||
|
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" @pagination="loadList"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!--End 查询和其列表部分--> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import req from '@/api/customizedfinancialsolutions/customizedfinancialsolutions' |
||||
|
import ButtonBar from '@/components/ButtonBar' |
||||
|
import Pagination from '@/components/pagination' |
||||
|
import pageye from '@/components/pagination/pageye' |
||||
|
import { getGysTypeByOrgSid, getOrgSidByPath, typeValues } from '@/api/Common/dictcommons' |
||||
|
|
||||
|
export default { |
||||
|
name: 'GuaCheSelect', |
||||
|
components: { |
||||
|
ButtonBar, |
||||
|
Pagination, |
||||
|
pageye |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
btndisabled: false, |
||||
|
btnList: [ |
||||
|
{ |
||||
|
type: 'info', |
||||
|
size: 'small', |
||||
|
icon: 'cross', |
||||
|
btnKey: 'doClose', |
||||
|
btnLabel: '关闭' |
||||
|
} |
||||
|
], |
||||
|
viewState: 1, // 1、列表 2、添加 3、修改 4、查看 |
||||
|
isSearchShow: false, |
||||
|
tableLoading: false, |
||||
|
dataList: [], |
||||
|
manufacturer_list: [], |
||||
|
trailerType_list: [], |
||||
|
queryParams: { |
||||
|
current: 1, |
||||
|
size: 5, |
||||
|
total: 0, |
||||
|
params: { |
||||
|
brandName: '', |
||||
|
carModelName: '', |
||||
|
manufacturerSid: '', |
||||
|
trailerTypeKey: '', |
||||
|
useOrgSid: '' |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.$refs['btnbar'].setButtonList(this.btnList) |
||||
|
}, |
||||
|
methods: { |
||||
|
init() { |
||||
|
typeValues({ type: 'trailerType' }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.trailerType_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.queryParams.params.useOrgSid = res.data |
||||
|
getGysTypeByOrgSid({ orgSid: res.data, supplierType: '0002' }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.manufacturer_list = resp.data |
||||
|
} |
||||
|
}) |
||||
|
this.loadList() |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
btnHandle(btnKey) { |
||||
|
console.log('XXXXXXXXXXXXXXX ' + btnKey) |
||||
|
switch (btnKey) { |
||||
|
case 'doClose': |
||||
|
this.doClose() |
||||
|
break |
||||
|
default: |
||||
|
break |
||||
|
} |
||||
|
}, |
||||
|
// 序号 |
||||
|
indexMethod(index) { |
||||
|
var pagestart = (this.queryParams.current - 1) * this.queryParams.size |
||||
|
var pageindex = index + 1 + pagestart |
||||
|
return pageindex |
||||
|
}, |
||||
|
showData() { |
||||
|
this.init() |
||||
|
}, |
||||
|
loadList() { |
||||
|
this.tableLoading = true |
||||
|
req.listPageByGC(this.queryParams).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.tableLoading = false |
||||
|
this.queryParams.total = resp.data.total |
||||
|
this.dataList = resp.data.records |
||||
|
} else { |
||||
|
this.dataList = [] |
||||
|
this.queryParams.total = 0 |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
dosearch() { |
||||
|
this.queryParams.current = 1 |
||||
|
this.loadList() |
||||
|
}, |
||||
|
resetQuery() { |
||||
|
this.queryParams = { |
||||
|
current: 1, |
||||
|
size: 5, |
||||
|
total: 0, |
||||
|
params: { |
||||
|
brandName: '', |
||||
|
carModelName: '', |
||||
|
manufacturerSid: '', |
||||
|
trailerTypeKey: '', |
||||
|
useOrgSid: '' |
||||
|
} |
||||
|
} |
||||
|
this.init() |
||||
|
}, |
||||
|
handleConfirm(row) { |
||||
|
this.$emit('backData', row) |
||||
|
}, |
||||
|
doClose() { |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style scoped> |
||||
|
</style> |
@ -0,0 +1,213 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div> |
||||
|
<button-bar view-title="车型常用列表" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/> |
||||
|
<div class="main-content"> |
||||
|
<div class="searchcon"> |
||||
|
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> |
||||
|
<div v-show="isSearchShow" class="search"> |
||||
|
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header" label-width="100px"> |
||||
|
<el-form-item label="车型:"> |
||||
|
<el-input v-model="listQuery.params.vehicleAlias" placeholder="" clearable class="filter-item"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="常用配置:"> |
||||
|
<el-input v-model="listQuery.params.configName" placeholder="" clearable class="filter-item"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="内部编码:"> |
||||
|
<el-input v-model="listQuery.params.insideCode" placeholder="" clearable class="filter-item"/> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div class="btn" style="text-align: center"> |
||||
|
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button> |
||||
|
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handresetting">重置</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class=""> |
||||
|
<el-table :key="tableKey" ref="multipleTable" v-loading="listLoading" :data="list" border style="width: 100%"> |
||||
|
<el-table-column width="80px" label="编号" type="index" :index="indexMethod" align="center"/> |
||||
|
<el-table-column label="操作" fixed width="80" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="primary" size="small" @click="handleConfirm(scope.row)">确认</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="品牌" align="center" width="250"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.brandName }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="车型编码" align="center" width="120"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.vehicleTypeCode }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="车型" align="center" width="250"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.vehicleAlias }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="配置编码" align="center" width="120"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.configCode }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="常用配置" header-align="center" align="left"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.configName }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="内部编码" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.insideCode }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="销售指导价(元)" width="200" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.guidedPrice }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
<div class="pages"> |
||||
|
<div class="tit"/> |
||||
|
<!-- 翻页 --> |
||||
|
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import Pagination from '@/components/pagination' |
||||
|
import ButtonBar from '@/components/ButtonBar' |
||||
|
import req from '@/api/customizedfinancialsolutions/customizedfinancialsolutions' |
||||
|
|
||||
|
export default { |
||||
|
name: 'ModelSelect', |
||||
|
components: { |
||||
|
Pagination, |
||||
|
ButtonBar |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
btndisabled: false, |
||||
|
btnList: [ |
||||
|
{ |
||||
|
type: 'info', |
||||
|
size: 'small', |
||||
|
icon: 'cross', |
||||
|
btnKey: 'doClose', |
||||
|
btnLabel: '关闭' |
||||
|
} |
||||
|
], |
||||
|
isSearchShow: false, |
||||
|
searchxianshitit: '隐藏查询条件', |
||||
|
tableKey: 0, |
||||
|
sids: [], |
||||
|
list: [], |
||||
|
listLoading: false, |
||||
|
listQuery: { |
||||
|
current: 1, |
||||
|
size: 5, |
||||
|
params: { |
||||
|
vehicleAlias: '', |
||||
|
configName: '', |
||||
|
useOrgSid: '', |
||||
|
vehicleStateValue: '', |
||||
|
carBrandSid: '', |
||||
|
insideCode: '', |
||||
|
sidList: [] |
||||
|
}, |
||||
|
total: 1 |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.$refs['btnbar'].setButtonList(this.btnList) |
||||
|
}, |
||||
|
methods: { |
||||
|
// 搜索条件效果 |
||||
|
clicksearchShow() { |
||||
|
this.isSearchShow = !this.isSearchShow |
||||
|
if (this.isSearchShow) { |
||||
|
this.searchxianshitit = '隐藏查询条件' |
||||
|
} else { |
||||
|
this.searchxianshitit = '显示查询条件' |
||||
|
} |
||||
|
}, |
||||
|
btnHandle(btnKey) { |
||||
|
console.log('XXXXXXXXXXXXXXX ' + btnKey) |
||||
|
switch (btnKey) { |
||||
|
case 'doClose': |
||||
|
this.doClose() |
||||
|
break |
||||
|
default: |
||||
|
break |
||||
|
} |
||||
|
}, |
||||
|
indexMethod(index) { |
||||
|
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
||||
|
var pageindex = index + 1 + pagestart |
||||
|
return pageindex |
||||
|
}, |
||||
|
// 查询列表信息 |
||||
|
getList() { |
||||
|
this.listLoading = true |
||||
|
req.listPageByModelAndConfig(this.listQuery).then((response) => { |
||||
|
this.listLoading = false |
||||
|
if (response.success) { |
||||
|
this.listQuery.total = response.data.total |
||||
|
this.list = response.data.records |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 查询按钮 |
||||
|
handleFilter() { |
||||
|
this.listQuery.current = 1 |
||||
|
this.getList() |
||||
|
}, |
||||
|
// 重置按钮 |
||||
|
handresetting() { |
||||
|
this.listQuery.current = 1 |
||||
|
this.listQuery.total = 0 |
||||
|
this.listQuery.size = 5 |
||||
|
this.listQuery.params.vehicleAlias = '' |
||||
|
this.listQuery.params.configName = '' |
||||
|
this.listQuery.params.useOrgSid = '' |
||||
|
this.listQuery.params.vehicleStateValue = '' |
||||
|
this.listQuery.params.insideCode = '' |
||||
|
this.getList() |
||||
|
}, |
||||
|
showData(value, carBrandSid, createOrgSid) { |
||||
|
const aa = [] |
||||
|
if (value.length > 0) { |
||||
|
for (var i = 0; i < value.length; i++) { |
||||
|
aa.push({ |
||||
|
modelSid: value[i].vehicleSid, |
||||
|
configSid: value[i].configSid |
||||
|
}) |
||||
|
} |
||||
|
this.listQuery.params.sidList = aa |
||||
|
} else { |
||||
|
this.listQuery.params.sidList = [] |
||||
|
} |
||||
|
this.listQuery.current = 1 |
||||
|
this.listQuery.total = 0 |
||||
|
this.listQuery.size = 5 |
||||
|
this.listQuery.params.carBrandSid = carBrandSid |
||||
|
this.listQuery.params.useOrgSid = createOrgSid |
||||
|
this.getList() |
||||
|
}, |
||||
|
handleConfirm(row) { |
||||
|
this.$emit('backData', row) |
||||
|
}, |
||||
|
// 返回 |
||||
|
doClose() { |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style scoped> |
||||
|
</style> |
@ -0,0 +1,262 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div v-show="viewState == 1"> |
||||
|
<button-bar view-title="上装配置管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/> |
||||
|
<div class="main-content"> |
||||
|
<div class="searchcon"> |
||||
|
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow"> |
||||
|
{{ isSearchShow ? "隐藏查询条件" : "显示查询条件" }} |
||||
|
</el-button> |
||||
|
<div v-show="isSearchShow" class="search"> |
||||
|
<el-form :inline="true" class="tab-header" label-width="100px"> |
||||
|
<el-form-item label="车辆功能"> |
||||
|
<el-select v-model="queryParams.params.vehicleTypeKey" filterable placeholder="请选择"> |
||||
|
<el-option v-for="item in vehicleType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="委改方式"> |
||||
|
<el-select v-model="queryParams.params.refitMethodKey" filterable placeholder="请选择"> |
||||
|
<el-option v-for="item in refitMethod_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="供应商"> |
||||
|
<el-select v-model="queryParams.params.refitFactorySid" filterable placeholder="请选择"> |
||||
|
<el-option v-for="item in refitFactory_list" :key="item.sid" :label="item.manufacturerName" :value="item.sid"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="上装名称"> |
||||
|
<el-select v-model="queryParams.params.installNameKey" filterable placeholder="请选择"> |
||||
|
<el-option v-for="item in installName_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="颜色"> |
||||
|
<el-select v-model="queryParams.params.colorKey" filterable placeholder="请选择"> |
||||
|
<el-option v-for="item in color_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="板材材质"> |
||||
|
<el-select v-model="queryParams.params.plateMaterialKey" filterable placeholder="请选择"> |
||||
|
<el-option v-for="item in plateMaterial_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div class="btn" style="text-align: center"> |
||||
|
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button> |
||||
|
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!--Start 项目列表头部--> |
||||
|
<div class="listtop"> |
||||
|
<div class="tit">上装配置列表</div> |
||||
|
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="init"/> |
||||
|
</div> |
||||
|
<!--End 项目列表头部--> |
||||
|
<!--Start 项目列表--> |
||||
|
<div class=""> |
||||
|
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"> |
||||
|
<el-table-column width="70px" label="序号" type="index" :index="indexMethod" align="center"/> |
||||
|
<el-table-column label="操作" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="primary" size="small" @click="handleSelect(scope.row)">确认</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="vehicleTypeValue" label="车辆功能" align="center"/> |
||||
|
<el-table-column prop="installNameValue" label="上装名称" align="center"/> |
||||
|
<el-table-column prop="refitMethodValue" label="委改方式" align="center"/> |
||||
|
<el-table-column prop="refitFactory" label="供应商" align="center"/> |
||||
|
<el-table-column prop="wk" label="货箱内部尺寸" header-align="center" align="left" width="200"/> |
||||
|
<el-table-column prop="colorValue" label="颜色" align="center"/> |
||||
|
<el-table-column prop="plateMaterialValue" label="板材材质" align="center"/> |
||||
|
<el-table-column prop="plateThickness" label="板材厚度" header-align="center" align="left" width="150"/> |
||||
|
<el-table-column prop="tarpaulinSlide" label="篷布滑道" align="center"/> |
||||
|
<el-table-column prop="refrigerator" label="冷藏冷机" align="center"/> |
||||
|
<el-table-column prop="selfUnHyCoPl" label="自卸液压盖板" align="center" width="150"/> |
||||
|
<el-table-column prop="floorHeating" label="底板加热" align="center"/> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
<!--End 项目列表--> |
||||
|
<div class="pages"> |
||||
|
<div class="tit"/> |
||||
|
<!-- 翻页 --> |
||||
|
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="init"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!--End 查询和其列表部分--> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import req from '@/api/customizedfinancialsolutions/customizedfinancialsolutions' |
||||
|
import ButtonBar from '@/components/ButtonBar' |
||||
|
import Pagination from '@/components/pagination' |
||||
|
import pageye from '@/components/pagination/pageye' |
||||
|
import { getGysByOrgSid, getOrgSidByPath, typeValues } from '@/api/Common/dictcommons' |
||||
|
|
||||
|
export default { |
||||
|
name: 'ShangZhuangSelect', |
||||
|
components: { |
||||
|
ButtonBar, |
||||
|
Pagination, |
||||
|
pageye |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
btndisabled: false, |
||||
|
btnList: [ |
||||
|
{ |
||||
|
type: 'info', |
||||
|
size: 'small', |
||||
|
icon: 'cross', |
||||
|
btnKey: 'doClose', |
||||
|
btnLabel: '关闭' |
||||
|
} |
||||
|
], |
||||
|
viewState: 1, // 1、列表 2、添加 3、修改 4、查看 |
||||
|
isSearchShow: false, |
||||
|
tableLoading: false, |
||||
|
dataList: [], |
||||
|
installName_list: [], |
||||
|
vehicleType_list: [], |
||||
|
refitMethod_list: [], |
||||
|
color_list: [], |
||||
|
refitFactory_list: [], |
||||
|
plateMaterial_list: [], |
||||
|
queryParams: { |
||||
|
current: 1, |
||||
|
size: 5, |
||||
|
total: 0, |
||||
|
params: { |
||||
|
vehicleTypeKey: '', |
||||
|
installNameKey: '', |
||||
|
refitMethodKey: '', |
||||
|
refitFactorySid: '', |
||||
|
colorKey: '', |
||||
|
plateMaterial: '', |
||||
|
createOrgSid: '' |
||||
|
} |
||||
|
}, |
||||
|
multipleSelection: [] |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.$refs['btnbar'].setButtonList(this.btnList) |
||||
|
}, |
||||
|
methods: { |
||||
|
init() { |
||||
|
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.queryParams.params.createOrgSid = res.data |
||||
|
getGysByOrgSid({ orgSid: res.data }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.refitFactory_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
this.loadList() |
||||
|
} |
||||
|
}) |
||||
|
this.DataDictionary() |
||||
|
}, |
||||
|
DataDictionary() { |
||||
|
// 上装名称 |
||||
|
typeValues({ type: 'topName' }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.installName_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
// 车辆功能 |
||||
|
typeValues({ type: 'vehicleFunction' }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.vehicleType_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
typeValues({ type: 'bodyColor' }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.color_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
typeValues({ type: 'refitMethod' }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.refitMethod_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
typeValues({ type: 'plateMaterial' }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.plateMaterial_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
btnHandle(btnKey) { |
||||
|
console.log('XXXXXXXXXXXXXXX ' + btnKey) |
||||
|
switch (btnKey) { |
||||
|
case 'doClose': |
||||
|
this.doClose() |
||||
|
break |
||||
|
default: |
||||
|
break |
||||
|
} |
||||
|
}, |
||||
|
showData() { |
||||
|
this.init() |
||||
|
}, |
||||
|
dosearch() { |
||||
|
this.queryParams.current = 1 |
||||
|
this.init() |
||||
|
}, |
||||
|
resetQuery() { |
||||
|
this.queryParams = { |
||||
|
current: 1, |
||||
|
size: 5, |
||||
|
total: 0, |
||||
|
params: { |
||||
|
vehicleTypeKey: '', |
||||
|
installNameKey: '', |
||||
|
refitMethodKey: '', |
||||
|
refitFactorySid: '', |
||||
|
colorKey: '', |
||||
|
plateMaterial: '', |
||||
|
createOrgSid: '' |
||||
|
} |
||||
|
} |
||||
|
this.init() |
||||
|
}, |
||||
|
loadList() { |
||||
|
this.tableLoading = true |
||||
|
req.listPageBySZ(this.queryParams).then((resp) => { |
||||
|
this.tableLoading = false |
||||
|
if (resp.success) { |
||||
|
const data = resp.data |
||||
|
this.queryParams.total = data.total |
||||
|
this.dataList = data.records |
||||
|
} else { |
||||
|
this.queryParams.total = 0 |
||||
|
this.dataList = [] |
||||
|
} |
||||
|
}).catch(() => { |
||||
|
this.tableLoading = false |
||||
|
}) |
||||
|
}, |
||||
|
// 序号 |
||||
|
indexMethod(index) { |
||||
|
var pagestart = (this.queryParams.current - 1) * this.queryParams.size |
||||
|
var pageindex = index + 1 + pagestart |
||||
|
return pageindex |
||||
|
}, |
||||
|
handleSelect(row) { |
||||
|
this.$emit('backData', row) |
||||
|
}, |
||||
|
doClose() { |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style scoped> |
||||
|
</style> |
@ -0,0 +1,731 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<el-form ref="form_obj" :model="finance" class="formaddcopy02"> |
||||
|
<el-row style="border-top: 1px solid #E0E3EB"> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">是否打包</div> |
||||
|
<el-form-item> |
||||
|
<el-radio-group style="font-size: 1px" class="addinputw" @input="isPackChange" v-model="finance.isPack"> |
||||
|
<el-radio label="1">是</el-radio> |
||||
|
<el-radio label="0">否</el-radio> |
||||
|
</el-radio-group> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18"> |
||||
|
<div class="span-sty">产品政策</div> |
||||
|
<el-form-item> |
||||
|
<el-select v-model="finance.policyName" placeholder="请选择" @change="changePolicy" clearable class="addinputw"> |
||||
|
<el-option v-for="item in policy_list" :key="item.sid" :label="item.name" :value="item.name"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">融资项目</div> |
||||
|
<el-form-item prop="mainVehicleAmount"> |
||||
|
<div class="addinputInfo"> |
||||
|
<span><span class="icon">*</span>主车发票价<el-input v-model="finance.mainVehicleAmount" clearable style="width: 100px" placeholder="" @keyup.native="finance.mainVehicleAmount = oninput(finance.mainVehicleAmount, 2)"/>元</span> |
||||
|
<span style="padding-left: 5px"><el-checkbox v-model="finance.accessoriesAmountCb" style="padding-right: 5px"/>融资票据<el-input :disabled="!finance.accessoriesAmountCb" v-model="finance.accessoriesAmount" clearable style="width: 100px" placeholder="" @keyup.native="finance.accessoriesAmount = oninput(finance.accessoriesAmount, 2)"/>元</span> |
||||
|
<span style="padding-left: 5px"><el-checkbox v-model="finance.trailerAmountCb" style="padding-right: 5px"/>挂车<el-input :disabled="!finance.trailerAmountCb" v-model="finance.trailerAmount" clearable style="width: 100px" placeholder="" @keyup.native="finance.trailerAmount = oninput(finance.trailerAmount, 2)"/>元</span> |
||||
|
<span style="padding-left: 5px"><el-checkbox v-model="finance.premiumCb" style="padding-right: 5px"/>保险<el-input :disabled="!finance.premiumCb" v-model="finance.premium" clearable style="width: 100px" placeholder="" @keyup.native="finance.premium = oninput(finance.premium, 2)"/>元</span> |
||||
|
<span style="padding-left: 5px"><el-checkbox v-model="finance.purchaseTaxCb" style="padding-right: 5px"/>购置税<el-input :disabled="!finance.purchaseTaxCb" v-model="finance.purchaseTax" clearable style="width: 100px" placeholder="" @keyup.native="finance.purchaseTax = oninput(finance.purchaseTax, 2)"/>元</span> |
||||
|
</div> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">融资项目总额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ loanTotal() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">首付比例</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ downPayRatio() }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>首付金额</div> |
||||
|
<el-form-item prop="downPayAmount"> |
||||
|
<el-input class="addinputw addinputInfo" v-model="finance.downPayAmount" placeholder="" clearable @keyup.native="finance.downPayAmount = oninput(finance.downPayAmount, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">产品贷款金额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ loanAmount() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>产品期数</div> |
||||
|
<el-form-item prop="loanPeriod"> |
||||
|
<el-input class="addinputw" v-model="finance.loanPeriod" placeholder="" clearable/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">贷款保证金比例</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ bondRatio() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>贷款保证金</div> |
||||
|
<el-form-item prop="bondAmount"> |
||||
|
<el-input class="addinputw" v-model="finance.bondAmount" placeholder="" clearable @keyup.native="finance.bondAmount = oninput(finance.bondAmount, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>厂家贴息</div> |
||||
|
<el-form-item prop="factoryDiscount"> |
||||
|
<el-input class="addinputw" v-model="finance.factoryDiscount" placeholder="" clearable @keyup.native="finance.factoryDiscount = oninput(finance.factoryDiscount, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">年利率</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.policyYearRatio" placeholder="" clearable @keyup.native="finance.policyYearRatio = oninput(finance.policyYearRatio, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>月还金额</div> |
||||
|
<el-form-item prop="loanPayMoney"> |
||||
|
<el-input class="addinputw" v-model="finance.loanPayMoney" placeholder="" clearable @keyup.native="finance.loanPayMoney = oninput(finance.loanPayMoney, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">利息总额</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.loanInterest" placeholder="" clearable @keyup.native="finance.loanInterest = oninput(finance.loanInterest, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">厂家贴息用途</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.factoryDiscountUse" placeholder="" clearable/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<div class="title"> |
||||
|
<el-checkbox v-model="finance.otherPolicyState" style="padding-right: 5px"/> |
||||
|
其它融 |
||||
|
</div> |
||||
|
<div v-if="finance.otherPolicyState"> |
||||
|
<el-row> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">其它融名称</div> |
||||
|
<el-form-item> |
||||
|
<el-select v-model="finance.otherPolicyName" placeholder="请选择" @change="changeOtherPolicy" clearable class="addinputw"> |
||||
|
<el-option v-for="item in other_list" :key="item.sid" :label="item.name" :value="item.name"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>贷款金额</div> |
||||
|
<el-form-item prop="otherPolicyAmount"> |
||||
|
<el-input class="addinputw" v-model="finance.otherPolicyAmount" placeholder="" clearable @keyup.native="finance.otherPolicyAmount = oninput(finance.otherPolicyAmount, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>期数</div> |
||||
|
<el-form-item prop="otherPolicyPeriod"> |
||||
|
<el-input class="addinputw" v-model="finance.otherPolicyPeriod" placeholder="" clearable @keyup.native="finance.otherPolicyPeriod = oninput(finance.otherPolicyPeriod, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>月还金额</div> |
||||
|
<el-form-item prop="otherPolicyMonthlyRepay"> |
||||
|
<el-input class="addinputw" v-model="finance.otherPolicyMonthlyRepay" placeholder="" clearable @keyup.native="finance.otherPolicyMonthlyRepay = oninput(finance.otherPolicyMonthlyRepay, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">利息总额</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.otherPolicyInterest" placeholder="" clearable @keyup.native="finance.otherPolicyInterest = oninput(finance.otherPolicyInterest, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">年利率</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.otherPolicyYearRatio" placeholder="" clearable @keyup.native="finance.otherPolicyYearRatio = oninput(finance.otherPolicyYearRatio, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</div> |
||||
|
<div class="title">方案汇总</div> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">融资首付</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ loanDownPay() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">实际首付比例</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ downPayAmountsRatio() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">总贷款金额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ loanAmountTotal() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">期数</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ period() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">月还金额</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ monthlyRepay() }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">利息总额</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ interest() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>预计首款还款日</div> |
||||
|
<el-form-item prop="returnTime"> |
||||
|
<el-date-picker value-format="yyyy-MM-dd" v-model="finance.returnTime" clearable class="addinputw" type="date" placeholder=""/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<div class="title">应收明细</div> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">融资首付</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ downPayAmounts() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">贷款保证金</div> |
||||
|
<el-form-item><span class="addinputInfo">{{ bondAmounts() }}</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">保险保证金</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.depositPremium" placeholder="" clearable @keyup.native="finance.depositPremium = oninput(finance.depositPremium, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">落户保证金</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.depositSettle" placeholder="" clearable @keyup.native="finance.depositSettle = oninput(finance.depositSettle, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty"><span class="icon">*</span>服务费</div> |
||||
|
<el-form-item prop="serviceAmount"> |
||||
|
<el-input class="addinputw" v-model="finance.serviceAmount" placeholder="" clearable @keyup.native="finance.serviceAmount = oninput(finance.serviceAmount, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">代收意外险</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.proxyAccidentPremium" placeholder="" clearable @keyup.native="finance.proxyAccidentPremium = oninput(finance.proxyAccidentPremium, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">上牌费</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.registerAmount" placeholder="" clearable @keyup.native="finance.registerAmount = oninput(finance.registerAmount, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">运管费</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.operationAmount" placeholder="" clearable @keyup.native="finance.operationAmount = oninput(finance.operationAmount, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">补车价</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.vehOtherPrice" placeholder="" clearable @keyup.native="finance.vehOtherPrice = oninput(finance.vehOtherPrice, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">其它费用</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.otherAmount" placeholder="" clearable @keyup.native="finance.otherAmount = oninput(finance.otherAmount, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<div class="span-sty">其它费用说明</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.otherAmountRemark" placeholder="" clearable/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">办理方式选择</div> |
||||
|
<el-form-item> |
||||
|
<el-select v-model="finance.dealWay" placeholder="请选择" @change="changeDealWay" clearable class="addinputw"> |
||||
|
<el-option v-for="item in dealWay_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<div class="span-sty">代收首年保险费</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.proxyPremium" placeholder="" clearable @keyup.native="finance.proxyPremium = oninput(finance.proxyPremium, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<div class="span-sty">代收购置税</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.proxyPurchasetax" placeholder="" clearable @keyup.native="finance.proxyPurchasetax = oninput(finance.proxyPurchasetax, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">应收合计</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ receivableTotal() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">抵顶费用合计</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ offsetTotal() }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<div class="span-sty">抵顶首年保险费</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.offsetPremium" placeholder="" clearable @keyup.native="finance.offsetPremium = oninput(finance.offsetPremium, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="9"> |
||||
|
<div class="span-sty">抵顶购置税</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.offsetPurchasetax" placeholder="" clearable @keyup.native="finance.offsetPurchasetax = oninput(finance.offsetPurchasetax, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="24"> |
||||
|
<div class="span-sty">实收合计</div> |
||||
|
<el-form-item> |
||||
|
<span class="addinputInfo">{{ realTotal() }}</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="addinputw" v-model="finance.vehTotalPrice" placeholder="" clearable @keyup.native="finance.vehTotalPrice = oninput(finance.vehTotalPrice, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6"> |
||||
|
<div class="span-sty">名义(留购)价</div> |
||||
|
<el-form-item> |
||||
|
<el-input class="addinputw" v-model="finance.nominalPrice" placeholder="" clearable @keyup.native="finance.nominalPrice = oninput(finance.nominalPrice, 2)"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18"> |
||||
|
<el-form-item><span class="addinputInfo">注:结清时需缴纳此费用</span></el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import { typeValues, selectList, selectListByOther } from '@/api/Common/dictcommons' |
||||
|
|
||||
|
export default { |
||||
|
name: 'JinRongFangAnEdit', |
||||
|
props: { |
||||
|
params: { |
||||
|
type: Object |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
viewTitle: '', |
||||
|
tableKey: 0, |
||||
|
index: 0, |
||||
|
dealWay_list: [], |
||||
|
policy_list: [], |
||||
|
other_list: [], |
||||
|
finance: {}, |
||||
|
rules: { |
||||
|
// mainVehicleAmount: [{ required: true, message: '主车发票价不能为空', trigger: 'blur' }], |
||||
|
// downPayAmount: [{ required: true, message: '首付金额不能为空', trigger: 'blur' }], |
||||
|
// loanPeriod: [{ required: true, message: '产品期数不能为空', trigger: 'blur' }], |
||||
|
// bondAmount: [{ required: true, message: '贷款保证金不能为空', trigger: 'blur' }], |
||||
|
// factoryDiscount: [{ required: true, message: '厂家贴息不能为空', trigger: 'blur' }], |
||||
|
// loanPayMoney: [{ required: true, message: '月还金额不能为空', trigger: 'blur' }], |
||||
|
// otherPolicyAmount: [{ required: true, message: '贷款金额不能为空', trigger: 'blur' }], |
||||
|
// otherPolicyPeriod: [{ required: true, message: '期数不能为空', trigger: 'blur' }], |
||||
|
// otherPolicyMonthlyRepay: [{ required: true, message: '月还金额不能为空', trigger: 'blur' }], |
||||
|
// returnTime: [{ required: true, message: '预计首期还款日不能为空', trigger: 'blur' }], |
||||
|
// serviceAmount: [{ required: true, message: '服务费不能为空', trigger: 'blur' }], |
||||
|
// factoryDiscountUse: [{ required: true, message: '厂家贴息用途不能为空', trigger: 'blur' }] |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
params: { |
||||
|
deep: true, |
||||
|
immediate: false, |
||||
|
handler(newVal, oldVal) { |
||||
|
this.finance = newVal |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
showInfo(val) { |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs['form_obj'].clearValidate() |
||||
|
}) |
||||
|
this.viewTitle = '单车金融方案' |
||||
|
// vue将一个data/DataSource对象变量赋值给另一个,结果两个对象变量同时变化的解决办法 |
||||
|
// this.finance = JSON.parse(JSON.stringify(value)) |
||||
|
typeValues({ type: 'dealWay' }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.dealWay_list = resp.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 输入数字正则 |
||||
|
oninput(val, limit = 0) { |
||||
|
val = val.replace(/[^\d.]/g, '') // 保留数字 |
||||
|
val = val.replace(/^00/, '0.') // 开头不能有两个0 |
||||
|
val = val.replace(/^\./g, '0.') // 开头为小数点转换为0. |
||||
|
val = val.replace(/\.{2,}/g, '.') // 两个以上的小数点转换成一个 |
||||
|
val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.'); // 只保留一个小数点 |
||||
|
/^0\d+/.test(val) ? val = val.slice(1) : '' // 两位以上数字开头不能为0 |
||||
|
const str = '^(\\d+)\\.(\\d{' + limit + '}).*$' |
||||
|
const reg = new RegExp(str) |
||||
|
if (limit === 0) { |
||||
|
// 不需要小数点 |
||||
|
val = val.replace(reg, '$1') |
||||
|
} else { |
||||
|
// 通过正则保留小数点后指定的位数 |
||||
|
val = val.replace(reg, '$1.$2') |
||||
|
} |
||||
|
return val |
||||
|
}, |
||||
|
// 是否打包 |
||||
|
isPackChange() { |
||||
|
console.log(this.financeshi, 888888) |
||||
|
selectList({ orgPath: window.sessionStorage.getItem('defaultOrgPath'), userSid: window.sessionStorage.getItem('defaultOrgPath'), isPack: this.finance.isPack }).then((resp) => { |
||||
|
if (resp.success) { |
||||
|
this.policy_list = resp.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 资方产品政策 |
||||
|
changePolicy(value) { |
||||
|
const choose = this.policy_list.filter((item) => item.name === value) |
||||
|
if (choose.length > 0 && choose !== null) { |
||||
|
this.finance.policySid = choose[0].sid |
||||
|
selectListByOther({ orgPath: window.sessionStorage.getItem('defaultOrgPath'), userSid: window.sessionStorage.getItem('defaultOrgPath'), sid: choose[0].sid }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.other_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.finance.policySid = '' |
||||
|
} |
||||
|
}, |
||||
|
// 主方案 —— 融资项目总额 |
||||
|
loanTotal() { |
||||
|
if (this.finance.mainVehicleAmount !== '') { |
||||
|
console.log(this.finance.accessoriesAmount, 9999) |
||||
|
this.finance.loanTotal = (parseFloat(this.arguments(this.finance.mainVehicleAmount)) + parseFloat(this.arguments(this.finance.accessoriesAmount)) + parseFloat(this.arguments(this.finance.trailerAmount)) + parseFloat(this.arguments(this.finance.premium)) + parseFloat(this.arguments(this.finance.purchaseTax))).toFixed(2) |
||||
|
} else { |
||||
|
this.finance.loanTotal = '' |
||||
|
} |
||||
|
return this.finance.loanTotal |
||||
|
}, |
||||
|
// 主方案 —— 首付比例 |
||||
|
downPayRatio() { |
||||
|
if (this.finance.loanTotal !== '' && this.finance.downPayAmount !== '') { |
||||
|
this.finance.downPayRatio = (parseFloat(this.arguments(this.finance.downPayAmount)) / parseFloat(this.arguments(this.finance.loanTotal)) * 100).toFixed(2) + '%' |
||||
|
} |
||||
|
return this.finance.downPayRatio |
||||
|
}, |
||||
|
// 主方案 —— 产品贷款金额 |
||||
|
loanAmount() { |
||||
|
if (this.finance.loanTotal !== '' && this.finance.downPayAmount !== '') { |
||||
|
this.finance.loanAmount = (parseFloat(this.arguments(this.finance.loanTotal)) - parseFloat(this.arguments(this.finance.downPayAmount))).toFixed(2) |
||||
|
} |
||||
|
return this.finance.loanAmount |
||||
|
}, |
||||
|
// 主方案 —— 贷款保证金比例 |
||||
|
bondRatio() { |
||||
|
if (this.finance.bondAmount !== '' && this.finance.loanAmount !== '') { |
||||
|
this.finance.bondRatio = (parseFloat(this.arguments(this.finance.bondAmount)) / parseFloat(this.arguments(this.finance.loanAmount)) * 100).toFixed(2) + '%' |
||||
|
} |
||||
|
return this.finance.bondRatio |
||||
|
}, |
||||
|
// 其它融--名称 |
||||
|
changeOtherPolicy(value) { |
||||
|
const choose = this.other_list.filter((item) => item.name === value) |
||||
|
if (choose.length > 0 && choose !== null) { |
||||
|
this.finance.otherPolicySid = choose[0].sid |
||||
|
} else { |
||||
|
this.finance.otherPolicySid = choose[0].sid |
||||
|
} |
||||
|
}, |
||||
|
// 方案汇总 —— 融资首付 |
||||
|
loanDownPay() { |
||||
|
if (this.finance.downPayAmount !== '') { |
||||
|
if (this.finance.otherPolicyAmount !== '') { |
||||
|
this.finance.loanDownPay = (parseFloat(this.arguments(this.finance.downPayAmount)) - parseFloat(this.arguments(this.finance.otherPolicyAmount))).toFixed(2) |
||||
|
} else { |
||||
|
this.finance.loanDownPay = this.finance.downPayAmount |
||||
|
} |
||||
|
} |
||||
|
return this.finance.loanDownPay |
||||
|
}, |
||||
|
// 方案汇总 —— 实际首付比例 |
||||
|
downPayAmountsRatio() { |
||||
|
if (this.finance.loanDownPay !== '' && this.finance.loanTotal !== '') { |
||||
|
this.finance.downPayAmountsRatio = (parseFloat(this.finance.loanDownPay) / parseFloat(this.finance.loanTotal) * 100).toFixed(2) + '%' |
||||
|
} |
||||
|
return this.finance.downPayAmountsRatio |
||||
|
}, |
||||
|
// 方案汇总 —— 总贷款金额 |
||||
|
loanAmountTotal() { |
||||
|
if (this.finance.loanAmount !== '') { |
||||
|
if (this.finance.otherPolicyAmount !== '') { |
||||
|
this.finance.loanAmountTotal = (parseFloat(this.arguments(this.finance.loanAmount)) + parseFloat(this.arguments(this.finance.otherPolicyAmount))).toFixed(2) |
||||
|
} else { |
||||
|
this.finance.loanAmountTotal = this.finance.loanAmount |
||||
|
} |
||||
|
} |
||||
|
return this.finance.loanAmountTotal |
||||
|
}, |
||||
|
// 方案汇总 —— 期数 |
||||
|
period() { |
||||
|
if (this.finance.loanPeriod !== '') { |
||||
|
if (this.finance.otherPolicyPeriod !== '') { |
||||
|
if (parseFloat(this.arguments(this.finance.loanPeriod)) - parseFloat(this.arguments(this.finance.otherPolicyPeriod)) < 0) { |
||||
|
this.finance.period = '-' + '/' + this.finance.loanPeriod |
||||
|
} else { |
||||
|
const aa = (parseFloat(this.arguments(this.finance.loanPeriod)) - parseFloat(this.arguments(this.finance.otherPolicyPeriod))).toFixed(2) |
||||
|
this.finance.period = this.finance.otherPolicyPeriod + '/' + aa |
||||
|
} |
||||
|
} else { |
||||
|
this.finance.period = '-' + '/' + this.finance.loanPeriod |
||||
|
} |
||||
|
} |
||||
|
return this.finance.period |
||||
|
}, |
||||
|
// 方案汇总 —— 月还金额 |
||||
|
monthlyRepay() { |
||||
|
if (this.finance.loanPayMoney !== '') { |
||||
|
if (this.finance.otherPolicyMonthlyRepay !== '') { |
||||
|
if (parseFloat(this.arguments(this.finance.loanPayMoney)) - parseFloat(this.arguments(this.finance.otherPolicyMonthlyRepay)) === 0) { |
||||
|
const aa = (parseFloat(this.arguments(this.finance.loanPayMoney)) + parseFloat(this.arguments(this.finance.otherPolicyMonthlyRepay))).toFixed(2) |
||||
|
this.finance.monthlyRepay = aa + '/' + '-' |
||||
|
} else { |
||||
|
const bb = (parseFloat(this.arguments(this.finance.loanPayMoney)) + parseFloat(this.arguments(this.finance.otherPolicyMonthlyRepay))).toFixed(2) |
||||
|
this.finance.monthlyRepay = bb + '/' + this.finance.loanPayMoney |
||||
|
} |
||||
|
} else { |
||||
|
this.finance.monthlyRepay = this.finance.loanPayMoney + '/' + '-' |
||||
|
} |
||||
|
} |
||||
|
return this.finance.monthlyRepay |
||||
|
}, |
||||
|
// 方案汇总 —— 利息总额 |
||||
|
interest() { |
||||
|
if (this.finance.loanInterest !== '' && this.finance.otherPolicyInterest !== '') { |
||||
|
this.finance.interest = (parseFloat(this.arguments(this.finance.loanInterest)) + parseFloat(this.arguments(this.finance.otherPolicyInterest))).toFixed(2) |
||||
|
} else if (this.finance.loanInterest === '' && this.finance.otherPolicyInterest !== '') { |
||||
|
this.finance.interest = this.finance.otherPolicyInterest |
||||
|
} else if (this.finance.loanInterest !== '' && this.finance.otherPolicyInterest === '') { |
||||
|
this.finance.interest = this.finance.loanInterest |
||||
|
} else { |
||||
|
this.finance.interest = '' |
||||
|
} |
||||
|
return this.finance.interest |
||||
|
}, |
||||
|
// 应收明细 —— 融资首付 |
||||
|
downPayAmounts() { |
||||
|
if (this.finance.downPayAmount !== '') { |
||||
|
if (this.finance.otherPolicyAmount !== '') { |
||||
|
this.finance.downPayAmounts = (parseFloat(this.arguments(this.finance.downPayAmount)) - parseFloat(this.arguments(this.finance.otherPolicyAmount))).toFixed(2) |
||||
|
} else { |
||||
|
this.finance.downPayAmounts = this.finance.downPayAmount |
||||
|
} |
||||
|
} |
||||
|
return this.finance.downPayAmounts |
||||
|
}, |
||||
|
// 应收明细 —— 贷款保证金 |
||||
|
bondAmounts() { |
||||
|
if (this.finance.bondAmount !== '') { |
||||
|
this.finance.bondAmounts = this.finance.bondAmount |
||||
|
} |
||||
|
return this.finance.bondAmount |
||||
|
}, |
||||
|
changeDealWay(value) { |
||||
|
const choose = this.dealWay_list.filter((item) => item.dictValue === value) |
||||
|
this.finance.dealWayKey = choose[0].dictKey |
||||
|
}, |
||||
|
// 应收明细 —— 应收合计 |
||||
|
receivableTotal() { |
||||
|
if (this.finance.serviceAmount !== '') { |
||||
|
this.finance.receivableTotal = (parseFloat(this.arguments(this.finance.downPayAmounts)) + parseFloat(this.arguments(this.finance.bondAmounts)) + parseFloat(this.arguments(this.finance.depositPremium)) + parseFloat(this.arguments(this.finance.depositSettle)) + parseFloat(this.arguments(this.finance.serviceAmount)) + parseFloat(this.arguments(this.finance.proxyAccidentPremium)) + parseFloat(this.arguments(this.finance.registerAmount)) + parseFloat(this.arguments(this.finance.operationAmount)) + parseFloat(this.arguments(this.finance.vehOtherPrice)) + parseFloat(this.arguments(this.finance.otherAmount)) + parseFloat(this.arguments(this.finance.proxyPremium)) + parseFloat(this.arguments(this.finance.proxyPurchasetax))).toFixed(2) |
||||
|
} |
||||
|
return this.finance.receivableTotal |
||||
|
}, |
||||
|
// 应收明细 —— 抵顶费用合计 |
||||
|
offsetTotal() { |
||||
|
if (this.finance.offsetPremium !== '' && this.finance.offsetPurchasetax !== '') { |
||||
|
this.finance.offsetTotal = (parseFloat(this.arguments(this.finance.offsetPremium)) + parseFloat(this.arguments(this.finance.offsetPurchasetax))).toFixed(2) |
||||
|
} else if (this.finance.offsetPremium === '' && this.finance.offsetPurchasetax !== '') { |
||||
|
this.finance.offsetTotal = this.finance.offsetPurchasetax |
||||
|
} else if (this.finance.offsetPremium !== '' && this.finance.offsetPurchasetax === '') { |
||||
|
this.finance.offsetTotal = this.finance.offsetPremium |
||||
|
} else { |
||||
|
this.finance.offsetTotal = '' |
||||
|
} |
||||
|
return this.finance.offsetTotal |
||||
|
}, |
||||
|
// 应收明细 —— 实收合计 |
||||
|
realTotal() { |
||||
|
if (this.finance.offsetTotal !== '') { |
||||
|
this.finance.realTotal = (parseFloat(this.arguments(this.finance.receivableTotal)) - parseFloat(this.arguments(this.finance.offsetTotal))).toFixed(2) |
||||
|
} else { |
||||
|
this.finance.realTotal = this.finance.receivableTotal |
||||
|
} |
||||
|
return this.finance.realTotal |
||||
|
}, |
||||
|
arguments(val) { |
||||
|
if (val === '' || val === undefined) { |
||||
|
val = 0 |
||||
|
return val |
||||
|
} else { |
||||
|
return val |
||||
|
} |
||||
|
}, |
||||
|
handleReturn() { |
||||
|
this.finance = { |
||||
|
saleOrderSid: '', |
||||
|
isPack: '', |
||||
|
policyName: '', |
||||
|
mainVehicleAmount: '', |
||||
|
accessoriesAmount: '', |
||||
|
trailerAmount: '', |
||||
|
purchaseTax: '', |
||||
|
premium: '', |
||||
|
loanTotal: '', |
||||
|
|
||||
|
accessoriesAmountCb: false, |
||||
|
trailerAmountCb: false, |
||||
|
purchaseTaxCb: false, |
||||
|
premiumCb: false, |
||||
|
|
||||
|
downPayRatio: '', |
||||
|
downPayAmount: '', |
||||
|
loanAmount: '', |
||||
|
loanPeriod: '', |
||||
|
bondRatio: '', |
||||
|
bondAmount: '', |
||||
|
factoryDiscount: '', |
||||
|
factoryDiscountUse: '', |
||||
|
policyYearRatio: '', |
||||
|
loanPayMoney: '', |
||||
|
loanInterest: '', |
||||
|
otherPolicyState: false, |
||||
|
|
||||
|
otherPolicyName: '', |
||||
|
otherPolicyAmount: '', |
||||
|
otherPolicyPeriod: '', |
||||
|
|
||||
|
otherPolicyMonthlyRepay: '', |
||||
|
otherPolicyInterest: '', |
||||
|
otherPolicyYearRatio: '', |
||||
|
|
||||
|
loanDownPay: '', |
||||
|
downPayAmountsRatio: '', |
||||
|
loanAmountTotal: '', |
||||
|
period: '', |
||||
|
monthlyRepay: '', |
||||
|
interest: '', |
||||
|
returnTime: '', |
||||
|
|
||||
|
downPayAmounts: '', |
||||
|
bondAmounts: '', |
||||
|
depositPremium: '', |
||||
|
depositSettle: '', |
||||
|
serviceAmount: '', |
||||
|
proxyAccidentPremium: '', |
||||
|
registerAmount: '', |
||||
|
operationAmount: '', |
||||
|
vehOtherPrice: '', |
||||
|
otherAmount: '', |
||||
|
otherAmountRemark: '', |
||||
|
dealWay: '', |
||||
|
dealWayKey: '', |
||||
|
proxyPremium: '', |
||||
|
proxyPurchasetax: '', |
||||
|
offsetPremium: '', |
||||
|
offsetPurchasetax: '', |
||||
|
offsetTotal: '', |
||||
|
receivableTotal: '', |
||||
|
realTotal: '', |
||||
|
vehTotalPrice: '', |
||||
|
nominalPrice: '' |
||||
|
} |
||||
|
this.$refs['form_obj'].resetFields() |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.formaddcopy02 { |
||||
|
padding: 0px; |
||||
|
} |
||||
|
.span-sty { |
||||
|
width: 140px !important; |
||||
|
} |
||||
|
|
||||
|
.addinputInfo { |
||||
|
margin-left: 130px !important; |
||||
|
} |
||||
|
|
||||
|
.addinputw { |
||||
|
margin-left: 130px !important; |
||||
|
} |
||||
|
|
||||
|
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
||||
|
margin-left: 130px !important; |
||||
|
width: calc(100% - 125px); |
||||
|
} |
||||
|
|
||||
|
/deep/ .el-form-item__error { |
||||
|
margin-left: 120px !important; |
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue