Browse Source

公司定制金融方案

master
yunuo970428 2 years ago
parent
commit
9556e8cef7
  1. 72
      anrui-riskcenter-ui/src/api/customizedfinancialsolutions/customizedfinancialsolutions.js
  2. 834
      anrui-riskcenter-ui/src/components/publicPage/financialscheme.vue
  3. 32
      anrui-riskcenter-ui/src/router/index.js
  4. 444
      anrui-riskcenter-ui/src/views/customizedfinancialsolutions/customizedfinancialsolutions.vue
  5. 600
      anrui-riskcenter-ui/src/views/customizedfinancialsolutions/customizedfinancialsolutionsAdd.vue
  6. 331
      anrui-riskcenter-ui/src/views/customizedfinancialsolutions/customizedfinancialsolutionsInfo.vue
  7. 202
      anrui-riskcenter-ui/src/views/customizedfinancialsolutions/relation/guacheselect.vue
  8. 213
      anrui-riskcenter-ui/src/views/customizedfinancialsolutions/relation/modelSelect.vue
  9. 262
      anrui-riskcenter-ui/src/views/customizedfinancialsolutions/relation/shangzhuangselect.vue
  10. 731
      anrui-riskcenter-ui/src/views/workFlow/publicPage/financialscheme.vue

72
anrui-riskcenter-ui/src/api/customizedfinancialsolutions/customizedfinancialsolutions.js

@ -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' }
})
}
}

834
anrui-riskcenter-ui/src/components/publicPage/financialscheme.vue

@ -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>

32
anrui-riskcenter-ui/src/router/index.js

@ -123,22 +123,22 @@ export const constantRoutes = [
}
]
},
// {
// path: '/customizedfinancialsolutions',
// component: Layout,
// redirect: '/customizedfinancialsolutions',
// meta: {
// title: '公司定制金融方案'
// },
// children: [
// {
// path: '/customizedfinancialsolutions/customizedfinancialsolutions',
// component: () => import('@/views/customizedfinancialsolutions/customizedfinancialsolutions.vue'),
// name: 'CustomizedFinancialSolutions',
// meta: { title: '公司定制金融方案', noCache: true }
// }
// ]
// },
{
path: '/customizedfinancialsolutions',
component: Layout,
redirect: '/customizedfinancialsolutions',
meta: {
title: '公司定制金融方案'
},
children: [
{
path: '/customizedfinancialsolutions/customizedfinancialsolutions',
component: () => import('@/views/customizedfinancialsolutions/customizedfinancialsolutions.vue'),
name: 'CustomizedFinancialSolutions',
meta: { title: '公司定制金融方案', noCache: true }
}
]
},
{
path: '/creditauditmanagement',
component: Layout,

444
anrui-riskcenter-ui/src/views/customizedfinancialsolutions/customizedfinancialsolutions.vue

@ -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() {
// vuewindowpostMessagehandleMessage
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>

600
anrui-riskcenter-ui/src/views/customizedfinancialsolutions/customizedfinancialsolutionsAdd.vue

@ -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>

331
anrui-riskcenter-ui/src/views/customizedfinancialsolutions/customizedfinancialsolutionsInfo.vue

@ -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>

202
anrui-riskcenter-ui/src/views/customizedfinancialsolutions/relation/guacheselect.vue

@ -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>

213
anrui-riskcenter-ui/src/views/customizedfinancialsolutions/relation/modelSelect.vue

@ -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>

262
anrui-riskcenter-ui/src/views/customizedfinancialsolutions/relation/shangzhuangselect.vue

@ -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>

731
anrui-riskcenter-ui/src/views/workFlow/publicPage/financialscheme.vue

@ -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 = '单车金融方案'
// vuedata/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…
Cancel
Save