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