贷款业务联调

20240205
yujialong 5 months ago
parent 2de86fced4
commit 5172cd1234
  1. 2
      src/api/api.js
  2. 3
      src/api/http.js
  3. 13
      src/pages/manage/list/corporateLoans/apply/creditApplication/index.vue
  4. 2
      src/pages/manage/list/corporateLoans/apply/creditEvaluation/rating.vue
  5. 28
      src/pages/manage/list/corporateLoans/apply/loanApplication/step1.vue
  6. 62
      src/pages/manage/list/corporateLoans/apply/loanApplication/step2.vue
  7. 119
      src/pages/manage/list/corporateLoans/detail.vue
  8. 7
      src/pages/manage/list/corporateLoans/list.js
  9. 4
      src/pages/manage/list/corporateLoans/loan.vue
  10. 104
      src/pages/manage/list/corporateLoans/management.vue
  11. 78
      src/pages/manage/list/corporateLoans/repayment.vue
  12. 232
      src/pages/manage/list/personalLoans/index.vue
  13. 7
      src/pages/manage/list/personalLoans/list.js
  14. 2
      src/pages/manage/list/personalLoans/list.vue

@ -10,7 +10,7 @@ if (dev) {
// 本地
host = 'http://121.37.12.51/' // 中台测试服
// host = 'https://www.occupationlab.com/' // 正式服
host = 'http://192.168.31.217:9000/'
host = 'http://192.168.31.51:9000/'
}
// 创建axios实例
const service = axios.create({

@ -86,6 +86,9 @@ export const badDebtRecognition = data => {
export const postLoanInvestigationInput = data => {
return post(`${host}/judgment/bankPostLoanInvestigation/postLoanInvestigationInput`, data)
}
export const addExtensionPeriod = data => {
return post(`${host}/judgment/bankCompanyLoans/addExtensionPeriod`, data)
}
export const loanContractSave = (data) => {
return post('/judgment/bankPersonalLoanContractInfo/saveOrUpdate', data)

@ -326,13 +326,18 @@ export default {
},
async submit () {
try {
const { data } = await creditApplicationInput({
const { form } = this
if (!form.matureRepayment && !form.otherRepayments) return this.$message.error('请选择还款来源!')
if (!form.paymentForMaterials && !form.payLaborCosts && !form.payExpenses && !form.otherUses) return this.$message.error('请选择贷款用途!')
await creditApplicationInput({
...this.$store.state.system.creditIds,
...this.$store.state.system.creditImportIds,
...this.form,
...form,
})
this.$message[data.status === 200 ? 'success' : 'error']('创建成功!')
setTimeout(this.$router.push('/counter/list/manage/orporateLoans-application'), 1500)
this.$message.success('保存成功!')
this.$parent.active = '3'
this.$parent.curStep = 0
} catch { (e) => { } }
},
},

@ -205,7 +205,7 @@ export default {
...this.creditIds,
...this.form,
})
this.$message[data.status === 200 ? 'success' : 'error']('创建成功!')
this.$message.success('创建成功!')
this.$parent.active = '2'
} catch { (e) => { } }
},

@ -69,7 +69,7 @@
<el-input value="3.2%" disabled />
</el-form-item>
<el-form-item label="还款方式" required>
<el-select v-model.trim="form.repaymentMethod" placeholder="请选择">
<el-select v-model.trim="form.repaymentMethodOne" placeholder="请选择">
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
@ -102,24 +102,24 @@ export default {
creditTerm: 231,
annualizedInterestRate: '',
loanApplicationAmount: '',
repaymentMethod: 235,
repaymentMethodOne: 235,
distributionMethod: 238,
},
opt1: [
{
id: 231,
id: 1,
name: '1年'
},
{
id: 232,
id: 3,
name: '3年'
},
{
id: 233,
id: 5,
name: '5年'
},
{
id: 234,
id: 10,
name: '10年'
},
],
@ -132,10 +132,10 @@ export default {
id: 236,
name: '等额本息'
},
{
id: 237,
name: '先息后本'
},
// {
// id: 237,
// name: ''
// },
],
opt3: [
{
@ -165,10 +165,10 @@ export default {
companyLoanId: this.$store.state.system.creditIds.companyLoanId,
})
// id
// this.setCreditIds({
// companyLoanId: data.companyLoanId, // tabid
// creditEvaluationId: data.creditEvaluationId, // id
// })
this.setCreditIds({
companyLoanId: data.companyLoanId, // tabid
loanId: data.loanId, // id
})
this.$emit('updateStep', 1)
} catch { (e) => { } }
},

@ -2,7 +2,7 @@
<template>
<div>
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="140px" :rules="rules">
<el-form ref="form" :model="form" label-width="140px">
<el-col :span="24">
<h6 class="l-title">客户信息</h6>
</el-col>
@ -15,25 +15,25 @@
<el-form-item label="授信金额">
<el-input v-model="form.creditAmount" disabled />
</el-form-item>
<el-form-item label="起息日期" prop="valueDate">
<el-form-item label="起息日期" prop="valueDate" required>
<el-date-picker v-model="form.valueDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" @change="maturityDateCalc"></el-date-picker>
</el-form-item>
<el-form-item label="计息方式">
<el-input value="按LPR浮动计息" disabled />
</el-form-item>
<el-form-item label="执行利率" prop="executedInterestRate">
<el-form-item label="执行利率">
<el-input value="3.2%" disabled />
</el-form-item>
<el-form-item label="担保方式">
<el-form-item label="担保方式" required>
<el-select v-model="form.guaranteeMethod" placeholder="请选择">
<el-option v-for="(item, i) in loanTerms" :key="i" :label="item.name" :value="item.id"></el-option>
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="利息总额">
<el-input v-model="form.totalInterestAmount" />
<el-input v-model="form.totalInterestAmount" disabled />
</el-form-item>
<el-form-item label="还款账号">
<el-form-item label="还款账号" required>
<el-input v-model="form.repaymentAccount" />
</el-form-item>
</el-col>
@ -43,7 +43,7 @@
</el-form-item>
<el-form-item label="授信期限">
<el-select v-model="form.creditTerm" placeholder="请选择" @change="maturityDateCalc">
<el-option v-for="(item, i) in loanTerms" :key="i" :label="item.name" :value="item.id"></el-option>
<el-option label="3年" :value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="到期日期">
@ -56,10 +56,9 @@
<el-form-item label="逾期利率" prop="overdueInterestRate">
<el-input value="10%" disabled />
</el-form-item>
<el-form-item label="还款方式" prop="repaymentMethod">
<el-select v-model="form.repaymentMethod" placeholder="请选择" disabled>
<el-option label="等额本金" :value="1"></el-option>
<el-option label="等额本息" :value="2"></el-option>
<el-form-item label="还款方式" prop="repaymentMethodTwo">
<el-select v-model.trim="form.repaymentMethodTwo" placeholder="请选择">
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="贷款金额">
@ -70,7 +69,6 @@
</el-row>
<div class="text-center m-t-20">
<el-button @click="$emit('updateStep', 0)" type="primary" class="submitBtn" v-throttle>上一步</el-button>
<el-button @click="submit" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
</div>
@ -83,15 +81,36 @@ export default {
return {
form: {
valueDate: '',
creditTerm: '',
creditTerm: 3,
guaranteeMethod: 242,
expirationDate: '',
totalInterestAmount: '',
loanAmount: '',
propertyCertificateNo: '',
repaymentMethod: '',
repaymentMethodTwo: '',
interestTotal: '',
repaymentAccount: '',
},
opt1: [
{
id: 242,
name: '质押'
},
{
id: 243,
name: '抵押'
},
],
opt2: [
{
id: 235,
name: '等额本金'
},
{
id: 236,
name: '等额本息'
},
],
}
},
mounted () {
@ -103,18 +122,21 @@ export default {
const { valueDate, creditTerm } = this.form
if (valueDate && creditTerm) {
const date = new Date(valueDate)
date.setMonth(creditTerm)
date.setFullYear(date.getFullYear() + creditTerm)
this.form.expirationDate = Util.formatDate('yyyy-MM-dd', date)
}
},
async submit () {
try {
const { data } = await loanApplicationInput({
const { form } = this
if (!form.valueDate) return this.$message.error('请选择起息日期!')
if (!form.repaymentAccount) return this.$message.error('请输入还款账号!')
await loanApplicationInput({
...this.$store.state.system.creditIds,
...this.form,
...form,
})
this.$message[data.status === 200 ? 'success' : 'error']('创建成功!')
setTimeout(this.$router.push('/counter/list/manage/orporateLoans-application'), 1500)
this.$message.success('保存成功!')
this.$router.back()
} catch { (e) => { } }
},
},

@ -9,7 +9,7 @@
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="账号">
<el-input v-model="form.applicationNumber" disabled />
<el-input v-model="form.applicationAccount" disabled />
</el-form-item>
<el-form-item label="证件类型">
<el-select v-model.trim="form.identificationType" placeholder="请选择" disabled>
@ -34,7 +34,7 @@
<el-input v-model="form.corporateName" />
</el-form-item>
<el-form-item label="信用评级">
<el-input v-model="form.creditRating" />
<el-input v-model="bankLoanApplication.creditRating" />
</el-form-item>
</el-col>
@ -44,7 +44,7 @@
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="授信金额">
<el-input v-model="form.creditAmount" disabled />
<el-input v-model="bankLoanApplication.creditAmount" disabled />
</el-form-item>
</el-col>
@ -53,13 +53,13 @@
<h6 class="l-title">贷款申请</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="授信年限" required>
<el-select v-model="form.creditTerm" placeholder="请选择">
<el-form-item label="授信年限">
<el-select v-model="bankLoanApplication.creditTerm" placeholder="请选择">
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="还款方式" required>
<el-select v-model.trim="form.repaymentMethod" placeholder="请选择">
<el-form-item label="还款方式">
<el-select v-model.trim="bankLoanApplication.repaymentMethodOne" placeholder="请选择">
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
@ -68,8 +68,8 @@
<el-form-item label="年化利率">
<el-input value="3.2%" disabled />
</el-form-item>
<el-form-item label="发放方式" required>
<el-select v-model.trim="form.distributionMethod" placeholder="请选择">
<el-form-item label="发放方式">
<el-select v-model.trim="bankLoanApplication.distributionMethod" placeholder="请选择">
<el-option v-for="(item, i) in opt3" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
@ -86,10 +86,10 @@
</el-select>
</el-form-item>
<el-form-item label="授信金额">
<el-input v-model="form.creditAmount" disabled />
<el-input v-model="bankLoanApplication.creditAmount" disabled />
</el-form-item>
<el-form-item label="起息日期" prop="valueDate">
<el-date-picker v-model="form.valueDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
<el-date-picker v-model="bankLoanApplication.valueDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="计息方式">
@ -99,29 +99,29 @@
<el-input value="3.2%" disabled />
</el-form-item>
<el-form-item label="担保方式">
<el-select v-model="form.guaranteeMethod" placeholder="请选择">
<el-option v-for="(item, i) in loanTerms" :key="i" :label="item.name" :value="item.id"></el-option>
<el-select v-model="bankLoanApplication.guaranteeMethod" placeholder="请选择">
<el-option v-for="(item, i) in opt4" :key="i" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="利息总额">
<el-input v-model="form.totalInterestAmount" />
<el-input v-model="bankLoanApplication.totalInterestAmount" />
</el-form-item>
<el-form-item label="还款账号">
<el-input v-model="form.repaymentAccount" />
<el-input v-model="bankLoanApplication.repaymentAccount" />
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="合同编号" prop="contractNo">
<el-input v-model="form.contractNo" disabled />
<el-input v-model="bankLoanApplication.contractNo" disabled />
</el-form-item>
<el-form-item label="授信期限">
<el-select v-model="form.creditTerm" placeholder="请选择">
<el-option v-for="(item, i) in loanTerms" :key="i" :label="item.name" :value="item.id"></el-option>
<el-select v-model="bankLoanApplication.creditTerm" placeholder="请选择">
<el-option label="3年" :value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="到期日期">
<el-date-picker v-model="form.expirationDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" disabled></el-date-picker>
<el-date-picker v-model="bankLoanApplication.expirationDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" disabled></el-date-picker>
</el-form-item>
<el-form-item label="基准利率" prop="baseInterestRate">
<el-input value="3.20%" disabled />
@ -129,21 +129,21 @@
<el-form-item label="逾期利率" prop="overdueInterestRate">
<el-input value="10%" disabled />
</el-form-item>
<el-form-item label="还款方式" prop="repaymentMethod">
<el-select v-model="form.repaymentMethod" placeholder="请选择" disabled>
<el-option label="等额本金" :value="1"></el-option>
<el-option label="等额本息" :value="2"></el-option>
<el-form-item label="还款方式" prop="repaymentMethodOne">
<el-select v-model="bankLoanApplication.repaymentMethodOne" placeholder="请选择" disabled>
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="贷款金额">
<el-input v-model="form.loanAmount" />
<el-input v-model="bankLoanApplication.loanAmount" />
</el-form-item>
</el-col>
</el-form>
</el-row>
<div class="text-center">
<el-button @click="showLoan" type="primary" class="submitBtn" v-throttle>放款</el-button>
<el-button v-if="!bankCompanyLoans.loanDate" @click="showLoan" type="primary" class="submitBtn"
v-throttle>放款</el-button>
<el-button @click="$router.back()" type="primary" class="submitBtn" v-throttle>关闭</el-button>
</div>
@ -190,8 +190,62 @@ export default {
financialReportSubmissionMethod: '',
natureOfBorrower: '',
},
opt1: [
{
id: 1,
name: '1年'
},
{
id: 3,
name: '3年'
},
{
id: 5,
name: '5年'
},
{
id: 10,
name: '10年'
},
],
opt2: [
{
id: 235,
name: '等额本金'
},
{
id: 236,
name: '等额本息'
},
// {
// id: 237,
// name: ''
// },
],
opt3: [
{
id: 238,
name: '一次性到账'
},
{
id: 239,
name: '随借随还'
},
],
opt4: [
{
id: 242,
name: '质押'
},
{
id: 243,
name: '抵押'
},
],
loanDate: '',
loanVisible: false,
bankCompanyLoans: {},
bankLoanApplication: {},
}
},
mounted () {
@ -203,7 +257,15 @@ export default {
if (this.id) {
//
const { data } = await companyLoanDetails(this.id)
this.form = data.bankCreditEvaluation
this.form = data.bankCreditEvaluation || {}
this.bankCompanyLoans = data.bankCompanyLoans || {}
const app = data.bankLoanApplication || {}
if (app.distributionMethod) app.distributionMethod = +app.distributionMethod
if (app.repaymentMethodOne) app.repaymentMethodOne = +app.repaymentMethodOne
if (app.creditTerm) app.creditTerm = +app.creditTerm
if (app.guaranteeMethod) app.guaranteeMethod = +app.guaranteeMethod
this.bankLoanApplication = app
}
},
//
@ -214,11 +276,10 @@ export default {
async loanSubmit () {
if (!this.loanDate) return this.$message.error('请选择放款日期!')
const { data } = await loanDisbursement({
companyLoanId: this.form.contractId,
companyLoanId: this.id,
loanDate: this.loanDate,
})
this.$message[data.status === 200 ? 'success' : 'error'](data.message)
setTimeout(this.$router.push('/counter/list/manage/personalLoans'), 1500)
},
},
}

@ -1,7 +0,0 @@
export default [
{
id: 1,
name: '维新集团',
serial: 'F10628012',
}
]

@ -12,6 +12,10 @@
<el-table-column prop="applicationNumber" label="贷款编号" align="center" />
<el-table-column prop="loanDate" label="放款日期" align="center" />
<el-table-column prop="loanAmount" label="贷款金额" align="center" />
<el-table-column prop="loanAmount" label="放款金额" align="center" />
<el-table-column prop="loanAmount" label="放款状态" align="center">
<template slot-scope="scope">{{ scope.row.loanDate ? '已放款' : '待放款' }}</template>
</el-table-column>
<el-table-column label="操作" align="center" width="150">
<template slot-scope="scope">
<el-button v-if="!scope.row.builtIn" @click="toDetail(scope.row)" size="small">详情</el-button>

@ -40,22 +40,25 @@
<el-row v-else style="width: 100%">
<el-form class="dia-form" label-width="130px" label-suffix="">
<el-col :span="12">
<el-form-item v-if="curType === 5" label="认定日期">
<p class="text">{{ today }}</p>
</el-form-item>
<el-form-item label="客户名称">
<p class="text">炳胜集团</p>
<p class="text">{{ curRow.customerName }}</p>
</el-form-item>
<el-form-item label="欠款金额">
<p class="text">炳胜集团</p>
<p class="text">{{ curRow.customerName }}</p>
</el-form-item>
<el-form-item label="催收金额">
<p class="text">炳胜集团</p>
<el-form-item v-if="curType === 4" label="催收金额">
<p class="text">{{ curRow.customerName }}</p>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="贷款编号">
<p class="text">F10666123</p>
<p class="text">{{ curRow.applicationNumber }}</p>
</el-form-item>
<el-form-item label="催收通知书编号">
<p class="text">F10666123</p>
<p class="text">A012346156281</p>
</el-form-item>
</el-col>
</el-form>
@ -76,57 +79,58 @@
<div class="data-title">贷后调查</div>
</div>
<h6>调查日期2024-04-02</h6>
<h6>调查日期{{ today }}</h6>
<el-row style="width: 100%">
<el-form label-width="130px" label-suffix="" label-position="top">
<el-col :span="24">
<el-form-item label="客户基本状态变化">
<el-input type="textarea" :rows="3" size="small" v-model="form.stateChange" />
<el-form-item label="客户基本状态变化" required>
<el-input type="textarea" :rows="3" size="small" maxlength="100" v-model="form.stateChange" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="信贷业务和还本付息情况变化">
<el-select class="w-full" v-model="form.changesInSituation" size="small" placeholder="请选择">
<el-option v-for="item in opt1" :label="item.options" :value="item.itemId" :key="item.itemId">
<el-form-item label="信贷业务和还本付息情况变化" required>
<el-select v-model="form.changesInSituation" size="small" placeholder="请选择">
<el-option v-for="(item, i) in opt1" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="偿债能力">
<el-form-item label="偿债能力" required>
<el-select v-model="form.debtPayingAbility" size="small" placeholder="请选择">
<el-option v-for="item in selects" :label="item.options" :value="item.itemId" :key="item.itemId">
<el-option v-for="(item, i) in opt3" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="担保状况不利变化">
<el-form-item label="担保状况不利变化" required>
<el-select v-model="form.adverseChanges" size="small" placeholder="请选择">
<el-option v-for="item in selects" :label="item.options" :value="item.itemId" :key="item.itemId">
<el-option v-for="(item, i) in opt1" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :offset="1" :span="11">
<el-form-item label="经营状况">
<el-form-item label="经营状况" required>
<el-select v-model="form.businessStatus" size="small" placeholder="请选择">
<el-option v-for="item in selects" :label="item.options" :value="item.itemId" :key="item.itemId">
<el-option v-for="(item, i) in opt2" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="信用状况">
<el-form-item label="信用状况" required>
<el-select v-model="form.creditStatus" size="small" placeholder="请选择">
<el-option v-for="item in selects" :label="item.options" :value="item.itemId" :key="item.itemId">
<el-option v-for="(item, i) in opt2" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="五级分类">
<el-form-item label="五级分类" required>
<el-select v-model="form.fiveLevelClassification" size="small" placeholder="请选择">
<el-option v-for="item in selects" :label="item.options" :value="item.itemId" :key="item.itemId">
<el-option v-for="(item, i) in opt4" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="结论 建议">
<el-input type="textarea" :rows="2" size="small" v-model="form.conclusionAndSuggestions">
<el-input type="textarea" :rows="3" size="small" maxlength="100"
v-model="form.conclusionAndSuggestions">
</el-input>
</el-form-item>
</el-col>
@ -146,6 +150,7 @@
import { headerCellStyle } from '@/assets/js/myConfig'
import { companyLoanList, loanCollection, nonPerformingLoans, badDebtRecognition, postLoanInvestigationInput } from '@/api/http';
import MyTitle from '@/components/myTitle'
import Util from '@/libs/util'
export default {
components: {
MyTitle,
@ -159,6 +164,7 @@ export default {
page: 1,
pageSize: 10,
total: 0,
today: Util.formatDate('yyyy-MM-dd', new Date()),
msgs: [
'向贷款人预留各渠道联系方式发送催收信息',
'确认提交吗?',
@ -174,14 +180,15 @@ export default {
postLoanVisible: false,
selects: [],
originForm: {},
form: {
stateChange: '',
changesInSituation: '',
debtPayingAbility: '',
adverseChanges: '',
businessStatus: '',
creditStatus: '',
fiveLevelClassification: '',
changesInSituation: 203,
debtPayingAbility: 1,
adverseChanges: 203,
businessStatus: 205,
creditStatus: 205,
fiveLevelClassification: 1,
conclusionAndSuggestions: '',
},
opt1: [
@ -210,16 +217,34 @@ export default {
],
opt3: [
{
id: 205,
name: ''
id: 1,
name: '能按期偿还'
},
{
id: 206,
name: ''
id: 2,
name: '不能按期偿还'
},
],
opt4: [
{
id: 207,
name: '差'
id: 1,
name: '正常贷款'
},
{
id: 2,
name: '关注贷款'
},
{
id: 3,
name: '次级贷款'
},
{
id: 4,
name: '可疑贷款'
},
{
id: 5,
name: '损失贷款'
},
],
curRow: {},
@ -234,6 +259,7 @@ export default {
},
},
mounted () {
this.originForm = JSON.parse(JSON.stringify(this.form))
this.initData()
},
methods: {
@ -263,12 +289,15 @@ export default {
},
//
postLoan (row) {
this.form = JSON.parse(JSON.stringify(this.originForm))
this.curRow = row
this.postLoanVisible = true
},
//
async postLoanSubmit () {
await postLoanInvestigationInput(this.form)
const { form } = this
if (!form.stateChange) return this.$message.error('请填写客户基本状态变化!')
await postLoanInvestigationInput(form)
this.postLoanVisible = false
},
@ -316,9 +345,6 @@ export default {
this.visible = false
}
},
extension (row) {
},
},
};
</script>

@ -15,7 +15,7 @@
<el-table-column label="操作" align="center" width="150">
<template v-if="!scope.row.builtIn" slot-scope="scope">
<el-button @click="toDetail(scope.row)" size="small">详情</el-button>
<el-button size="small" @click="extension(scope.row)">展期</el-button>
<el-button size="small" @click="showExtension(scope.row)">展期</el-button>
</template>
</el-table-column>
</el-table>
@ -24,12 +24,23 @@
<el-pagination background layout="total, prev, pager, next" :current-page="page"
@current-change="handleCurrentChange" :total="total"></el-pagination>
</div>
<el-dialog title="请选择展期期限" :visible.sync="extensionVisible" width="300px" z-index="6000" :append-to-body="true">
<el-select v-model="extensionPeriod" placeholder="请选择" size="small" style="width: 100%;">
<el-option v-for="(item, i) in extensions" :key="i" :label="item.name" :value="item.id"></el-option>
</el-select>
<span slot="footer" class="dialog-footer">
<el-button @click="extensionVisible = false">取消</el-button>
<el-button type="primary" @click="extensionSubmit">确定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { headerCellStyle } from '@/assets/js/myConfig'
import { companyLoanList } from '@/api/http';
import { companyLoanList, addExtensionPeriod } from '@/api/http';
import MyTitle from '@/components/myTitle'
export default {
name: 'index',
@ -45,6 +56,52 @@ export default {
page: 1,
pageSize: 10,
total: 0,
curRow: {},
extensionVisible: false,
extensionPeriod: 1,
extensions: [
{
id: 1,
name: '1个月'
},
{
id: 2,
name: '2个月'
},
{
id: 3,
name: '3个月'
},
{
id: 4,
name: '4个月'
},
{
id: 5,
name: '5个月'
},
{
id: 6,
name: '6个月'
},
{
id: 7,
name: '7个月'
},
{
id: 8,
name: '8个月'
},
{
id: 9,
name: '9个月'
},
{
id: 10,
name: '10个月'
},
],
}
},
watch: {
@ -81,6 +138,23 @@ export default {
toDetail (row) {
this.$router.push(`/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}`)
},
//
showExtension (row) {
this.curRow = row
this.extensionVisible = true
},
//
async extensionSubmit () {
if (!this.extensionPeriod) return this.$message.error('请选择展期期限!')
const { data } = await addExtensionPeriod({
companyLoanId: this.curRow.companyLoanId,
extensionPeriod: this.extensionPeriod,
})
this.$message.success('展期成功!')
if (data.status === 200) this.extensionVisible = false
this.getData()
},
}
};
</script>

@ -2,10 +2,7 @@
<template>
<div class="wrap">
<div class="nav">
<el-menu :default-active="activeIndex"
class="el-menu-demo"
mode="horizontal"
@select="handleSelect">
<el-menu :default-active="active" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">全部</el-menu-item>
<el-menu-item index="2">正常还款</el-menu-item>
<el-menu-item index="3">展期</el-menu-item>
@ -13,7 +10,7 @@
</div>
<MyTitle :titleArr="['个人贷款', text]" />
<list :index.sync="activeIndex" />
<list :index.sync="active" :key="active" />
</div>
</template>
@ -29,7 +26,6 @@ export default {
data () {
return {
text: '',/* 顶部文字 */
cacheVal: '',
textObj: {
'1': '全部',
'2': '正常还款',
@ -40,136 +36,134 @@ export default {
},
visible: false,
options: [],
activeIndex: '',
second: [//
],
active: '1',
}
},
methods: {
handleSelect (val) {
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val
this.active = val
},
},
created () {
if (sessionStorage.getItem('personalLoansIndex')) {
this.handleSelect(sessionStorage.getItem('personalLoansIndex'))
} else {
this.handleSelect('1')
}
},
destroyed () {
sessionStorage.setItem('personalLoansIndex', this.cacheVal)
}
};
</script>
<style lang="scss" scoped>
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
/deep/ .el-menu--horizontal > .el-menu-item.is-active {
border: 2px solid #568df2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal > .el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
.title {
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
/deep/ .el-menu--horizontal>.el-menu-item.is-active {
border: 2px solid #568df2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
}
.title {
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
.idCard {
border-radius: 5px;
background: #cfddff;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191ff;
}
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
.idCard {
border-radius: 5px;
background: #cfddff;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191ff;
}
.add {
position: relative;
&::after {
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #cfddff;
width: 88%;
height: 268px;
}
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
font-size: 22px;
}
}
.add {
position: relative;
&::after {
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #cfddff;
width: 88%;
height: 268px;
}
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
font-size: 22px;
}
}
.submitBtn {
position: relative;
width: 300px;
font-size: 18px;
height: 45px;
margin-top: 50px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%, -50%);
}
.submitBtn {
position: relative;
width: 300px;
font-size: 18px;
height: 45px;
margin-top: 50px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%, -50%);
}
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
.close {
background: #cfdeff;
color: #6191ff;
}
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close {
background: #cfdeff;
color: #6191ff;
}
.sure {
background: #6191ff;
color: #fff;
}
.sure {
background: #6191ff;
color: #fff;
}
}
}
</style>

@ -1,7 +0,0 @@
export default [
{
id: 1,
name: '刘亚东',
serial: 'F10628012',
}
]

@ -177,6 +177,8 @@ export default {
pageNum: this.page,
pageSize: this.pageSize,
customerName: this.keyword,
renewalOrNot: this.$parent.active === '3' ? 1 : '',
normalRepayment: this.$parent.active === '2' ? 1 : '',
})
this.list = data.list.records
this.total = data.list.total

Loading…
Cancel
Save