公司贷款(未完成)

20240205
yujialong 10 months ago
parent e8e11376be
commit 18533d3fc7
  1. 4
      src/App.vue
  2. 5
      src/pages/manage/index/index.vue
  3. 112
      src/pages/manage/list/corporateLoans/application.vue
  4. 589
      src/pages/manage/list/corporateLoans/detail.vue
  5. 7
      src/pages/manage/list/corporateLoans/list.js
  6. 113
      src/pages/manage/list/corporateLoans/loan.vue
  7. 334
      src/pages/manage/list/corporateLoans/management.vue
  8. 126
      src/pages/manage/list/corporateLoans/repayment.vue
  9. 2
      src/pages/manage/list/personalLoans/list.vue
  10. 17
      src/pages/manage/navbar/index.vue
  11. 28
      src/router/modules/counter.js
  12. 55
      src/styles/dialog.scss

@ -36,9 +36,7 @@ export default {
if (this.$route.fullPath.includes('/counter/list/manage')) { if (this.$route.fullPath.includes('/counter/list/manage')) {
sessionStorage.setItem('computerPath', this.$route.fullPath) sessionStorage.setItem('computerPath', this.$route.fullPath)
} }
util.local.set(Setting.storeKey, this.$store.state)
util.local.get(Setting.tokenKey) && util.local.set(Setting.storeKey, this.$store.state)
sessionStorage.setItem('systemData', this.$store.system.state)
}) })
}, },
data () { data () {

@ -1,7 +1,7 @@
<template> <template>
<!-- :style="full?'height:100vh;':'height: 80vh;'" --> <!-- :style="full?'height:100vh;':'height: 80vh;'" -->
<div class="box" <div class="box"
:class="full? 'h-4/5': ''"> :class="full || isCredit? 'h-4/5': ''">
<div class="nav"> <div class="nav">
<!-- <div class="top" :style="full?'border-radius:0':'border-top-left-radius: 20px;'"> select-none --> <!-- <div class="top" :style="full?'border-radius:0':'border-top-left-radius: 20px;'"> select-none -->
<div class="top" <div class="top"
@ -19,7 +19,7 @@
<div class="manage-layout"> <div class="manage-layout">
<div class="top" <div class="top"
:style="full?'border-radius:0':'border-top-right-radius: 20px;'"> :style="full?'border-radius:0':'border-top-right-radius: 20px;'">
<img v-show="!full" <img v-show="!full && !isCredit"
src="../../../assets/svg/fullscreen.svg" src="../../../assets/svg/fullscreen.svg"
alt="" alt=""
@click="handleFullscreen"> @click="handleFullscreen">
@ -47,6 +47,7 @@ export default {
data () { data () {
return { return {
fullscreen: this.$store.state.system.fullScreen,// --store fullscreen: this.$store.state.system.fullScreen,// --store
isCredit: state => state.system.isCredit
} }
}, },
components: { components: {

@ -0,0 +1,112 @@
<template>
<!-- 贷款申请 -->
<div class="body">
<my-title :titleArr="['公司贷款', '贷款申请']" />
<div style="width: 300px;margin-bottom: 20px;">
<el-input v-model="keyword"
placeholder="请输入客户姓名"
clearable />
</div>
<el-button style="margin-bottom: 20px;"
type="primary"
@click="$router.push('/counter/list/manage/personalLoans-detail')">新建贷款申请</el-button>
<el-table max-height="350"
ref="filterTable"
:data="tableData"
:header-cell-style="headerCellStyle"
:row-class-name="tableRowClassName">
<el-table-column prop="currency"
label="客户姓名"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="申请编号"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="申请日期"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="申请类型"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="申请金额"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="办理状态"
align="center">
</el-table-column>
<el-table-column label="操作"
align="center"
width="150">
<template slot-scope="scope">
<el-button @click="back(scope.row)"
size="small">详情</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background
layout="total, prev, pager, next"
:current-page="page"
@current-change="handleCurrentChange"
:total="total"></el-pagination>
</div>
</div>
</template>
<script>
import { tableRowClassName, headerCellStyle } from '@/assets/js/myConfig'
import { myValidate, checkHanzi, inputListen } from '@/utils/utilFunction.js'
import { mapState, mapMutations, mapGetters } from 'vuex'
import { addOperation, getOperation } from '@/api/http';
import MyTitle from '@/components/myTitle'
export default {
name: 'index',
components: {
MyTitle,
},
data () {
return {
headerCellStyle: headerCellStyle,
moduleName: 'tallerCash',
text: '柜员现金轧账',/* 顶部文字 */
visible: false,
page: 1,
pageSize: 10,
total: 0,
visible: false,
submited: 0
}
},
mounted () {
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
handleCurrentChange (val) {
this.page = val;
},
tableRowClassName: tableRowClassName,
checkHanzi: checkHanzi,
inputListen
},
};
</script>
<style lang="scss" scoped>
@import '@/assets/css/tablebg.scss';
.body {
width: 100%;
padding: 24px;
}
</style>

@ -0,0 +1,589 @@
<!-- 代收电费 -->
<template>
<div class="wrap">
<MyTitle :titleArr="['公司贷款', '贷款详情']" />
<el-row :gutter="20"
style="margin: 0">
<el-form ref="form"
:model="form"
label-width="120px"
disabled
:rules="rules">
<el-col :span="24">
<h6 class="l-title">信用评估</h6>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="账号"
prop="customerName">
<el-input ref="customerName"
disabled
:value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="证件类型"
prop="customerName">
<el-input ref="customerName"
disabled
:value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="注册地址"
prop="customerName">
<el-input ref="customerName"
disabled
:value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="法人证件号码"
prop="customerName">
<el-input ref="customerName"
disabled
:value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="客户名称"
prop="customerName">
<el-input ref="customerName"
disabled
:value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="证件号码"
required>
<el-input :value="form.mailbox"
@input="val => mailBoxListen(val, form, 'mailbox')"
maxlength="30"
ref="mailbox"></el-input>
</el-form-item>
<el-form-item label="法人姓名"
prop="customerName">
<el-input ref="customerName"
disabled
:value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="信用评级"
prop="customerName">
<el-input ref="customerName"
disabled
:value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<div class="line"></div>
<h6 class="l-title">授信</h6>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="授信金额"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<div class="line"></div>
<h6 class="l-title">贷款申请</h6>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="授信年限"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="还款方式"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="年化利率"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="发放方式"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<div class="line"></div>
<h6 class="l-title">贷款合同录入</h6>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="贷款类型"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="授信金额"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="起息日期"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="计息方式"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="执行利率"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="担保方式"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="利息总额"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="还款账号"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="合同编号"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="授信期限"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="到期日期"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="基准利率"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="逾期利率"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="还款方式"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
<el-form-item label="贷款申请金额"
prop="customerName">
<el-input ref="customerName"
:value="form.customerName"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2"
depositNumber='0816' />
<el-button @click="submitForm"
type="primary"
class="submitBtn"
v-throttle>下一步</el-button>
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
</template>
<script>
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, inputListen, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js';
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
const moduleName = 'usefulPhrases/openAccount'
import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore'
import MyTitle from '@/components/myTitle'
export default {
name: '',
props: {},
components: {
NeedBefore,
MyTitle,
MyDialog
},
mixins: [TipsBefore],
created () {
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
}
// if(sessionStorage.getItem('nomUsefulPhrasesOpenCard2')) {
// this.idNumberJudge = true
// this.form.idNumber = this.dataFlow.idNumber || '441515199812064569'
// }
// if(sessionStorage.getItem('nomUsefulPhrasesOpenCard')) {
// this.cardNumberJudge = true
// this.form.voucherNumber = this.dataFlow.voucherNumber || '159753'
// }
if (sessionStorage.getItem('nomUsefulPhrasesOpenCard2')) {
this.idNumberJudge = true
//
const { idNumber, userName, peopleNumber, currency, goldLogo } = this.dataFlow
this.form.clientNumber = peopleNumber
this.form.idNumber = idNumber
this.form.customerName = userName
this.form.currency = currency
this.form.goldLogo = goldLogo
this.form.voucherType = 127
}
if (sessionStorage.getItem('nomUsefulPhrasesOpenCard')) {
this.cardNumberJudge = true
const { voucherNumber } = this.dataFlow
this.form.voucherNumber = voucherNumber
}
this.getFormData()
},
data () {
return {
moduleName: 'usefulPhrases/openAccount',
visible: false,
cardNumberJudge: false,
idNumberJudge: false,
form: {
//
// identityCard: '', //
idNumber: '',
customerName: '', //
currency: '', //
goldLogo: '', //
voucherType: '', //
monthDeposit: '', //
depositTerm: '', //
extendDepositTarget: '', //
voucherNumber: '', //
drawPassword: '', //
//
clientNumber: '', //
certificateType: 83, //
},
formName: {
//
// identityCard: '', //
idNumber: '身份证',
customerName: '客户姓名', //
currency: '币种', //
goldLogo: '钞汇标识', //
voucherType: '凭证类型', //
monthDeposit: '月存金额', //
depositTerm: '存期', //
extendDepositTarget: '续存标识', //
voucherNumber: '凭证号码', //
drawPassword: '支付密码', //
//
clientNumber: '客户号', //
certificateType: '证件类型', //
},
rules: {
customerName: vercustomer,
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
goldLogo: [
{
required: true,
message: '请选择钞汇标识',
trigger: 'blur'
}
],
voucherType: [
{
required: true,
message: '请选择凭证类型',
trigger: 'blur'
}
],
monthDeposit: [
{
required: true,
message: '请输入月存金额',
trigger: 'blur'
}
],
depositTerm: [
{
required: true,
message: '请选择存期',
trigger: 'blur'
}
],
extendDepositTarget: [
{
required: true,
message: '请选择续存标识',
trigger: 'blur'
}
],
},
myTable2: {
158: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
// 169: {
// prop: 'customerManage',//
// type: '3',
// "subjectId": 27,
// },
160: {
prop: 'clientNumber',//
type: '3',
"subjectId": 6,
}
},
myTable: {
159: {
prop: 'idNumber',//
type: '3',
},
161: {
prop: 'customerName',//
type: '3',
"subjectId": 7,
},
162: {
prop: 'currency',//
type: '1',
"subjectId": 8,
},
163: {
prop: 'goldLogo',//
type: '1',
"subjectId": 9,
},
164: {
prop: 'voucherType',//
type: '1',
"subjectId": 11,
},
166: {
prop: 'voucherNumber',//
type: '3',
"subjectId": 44,
},
167: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
},
168: {
prop: 'monthDeposit',//
type: '3',
"subjectId": 31,
},
170: {
prop: 'extendDepositTarget',//
type: '1',
"subjectId": 37,
},
},
submited: 0
}
},
mounted () {
},
methods: {
// userName,
// peopleNumber,
// idNumber,
// currency:'CNY',
// goldLogo:'',
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getDataBlur () {
// console.log('???')
},
popUp1 (text) {
this.setTipsOperate('请刷身份证');
this.setPopId('1399')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('166')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('167')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155'
const cards = {
// 1399: 'nomUsefulPhrasesOpenCard2',
// 166: 'nomUsefulPhrasesOpenCard',
// 167: 'nomUsefulPhrasesOpenPassword'
}
const callback = () => {
if (this.form.idNumber) {
this.idNumberJudge = true
}
if (this.form.voucherNumber) {
this.cardNumberJudge = true
}
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
},
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
// let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime')
// let formList = [
// {
// "answerId":'159',
// "emptyOne": "",
// "emptyTwo": "",
// "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,59,155,159,13",
// "type": ""
// }
// ]
// let params= {
// parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155,159',
// lcJudgmentRuleReq:formList,
// projectId:+projectId,
// startTime:startTime,
// }
// addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
// }).catch((error)=>{
// })
return
}
if (!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if (!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
},
submitForm2 () {
// let nomUsefulPhrasesOpenCard = sessionStorage.getItem('nomUsefulPhrasesOpenCard')
// let nomUsefulPhrasesOpenCard2 = sessionStorage.getItem('nomUsefulPhrasesOpenCard2')
// let nomUsefulPhrasesOpenPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155'
const cards = [
{
key: '159,13'
}
// {
// 1399: nomUsefulPhrasesOpenCard2
// },
// {
// 166: nomUsefulPhrasesOpenCard
// },
// {
// 167: nomUsefulPhrasesOpenPassword,
// "subjectId": 17,
// }
]
this.setDataFlow(this.form)
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.submited = 1
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName,
inputListen: inputListen
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
}
}
</script>
<style lang='scss' scoped>
.wrap {
width: 100%;
height: calc(90vh - 70px);
padding: 20px;
overflow: auto;
.l-title {
margin-bottom: 15px;
font-size: 18px;
font-weight: 600;
}
.line {
margin: 20px 0;
border-bottom: 1px dashed #d7d7d7;
}
}
</style>

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

@ -0,0 +1,113 @@
<template>
<!-- 贷款申请 -->
<div class="body">
<my-title :titleArr="['公司贷款', '贷款放款']" />
<div style="width: 300px;margin-bottom: 20px;">
<el-input v-model="keyword"
placeholder="请输入客户姓名"
clearable />
</div>
<el-table max-height="350"
ref="filterTable"
:data="list"
:header-cell-style="headerCellStyle"
:row-class-name="tableRowClassName">
<el-table-column prop="currency"
label="客户姓名"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="贷款编号"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="放款日期"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="贷款金额"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="放款金额"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="放款状态"
align="center">
</el-table-column>
<el-table-column label="操作"
align="center"
width="150">
<template slot-scope="scope">
<el-button @click="toDetail(scope.row)"
size="small">查看</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background
layout="total, prev, pager, next"
:current-page="page"
@current-change="handleCurrentChange"
:total="total"></el-pagination>
</div>
</div>
</template>
<script>
import { tableRowClassName, headerCellStyle } from '@/assets/js/myConfig'
import { myValidate, checkHanzi, inputListen } from '@/utils/utilFunction.js'
import { mapState, mapMutations, mapGetters } from 'vuex'
import { addOperation, getOperation } from '@/api/http';
import MyTitle from '@/components/myTitle'
import list from './list'
export default {
name: 'index',
components: {
MyTitle,
},
data () {
return {
list,
headerCellStyle: headerCellStyle,
moduleName: 'tallerCash',
text: '柜员现金轧账',/* 顶部文字 */
visible: false,
page: 1,
pageSize: 10,
total: 0,
visible: false,
submited: 0
}
},
mounted () {
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
handleCurrentChange (val) {
this.page = val;
},
toDetail (row) {
this.$router.push(`/counter/list/manage/corporateLoans-detail`)
},
tableRowClassName: tableRowClassName,
checkHanzi: checkHanzi,
inputListen
},
};
</script>
<style lang="scss" scoped>
@import '@/assets/css/tablebg.scss';
.body {
width: 100%;
padding: 24px;
}
</style>

@ -0,0 +1,334 @@
<template>
<!-- 贷款申请 -->
<div class="body">
<my-title :titleArr="['公司贷款', '贷后管理']" />
<div style="width: 300px;margin-bottom: 20px;">
<el-input v-model="keyword"
placeholder="请输入客户姓名"
clearable />
</div>
<el-table max-height="350"
ref="filterTable"
:data="list"
:header-cell-style="headerCellStyle"
:row-class-name="tableRowClassName">
<el-table-column prop="currency"
label="客户姓名"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="贷款编号"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="贷款状态"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="五级分类"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="处理结果"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="还款状态"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="欠款金额"
align="center">
</el-table-column>
<el-table-column label="操作"
align="center"
width="360">
<template slot-scope="scope">
<el-button @click="collection(scope.row)"
size="small">催收</el-button>
<el-button @click="postLoan(scope.row)"
size="small">贷后调查</el-button>
<el-button @click="npl(scope.row)"
size="small">不良贷款</el-button>
<el-button @click="badDebt(scope.row)"
size="small">呆账认定</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background
layout="total, prev, pager, next"
:current-page="page"
@current-change="handleCurrentChange"
:total="total"></el-pagination>
</div>
<el-dialog :visible="visible"
append-to-body
style="z-index: 6000;"
:close-on-click-modal="true"
:show-close="false"
custom-class="dia">
<div class="data-dia23">
<div slot="title"
class="dia-header">
<div class="data-title">不良贷款</div>
</div>
<div class="popBody">
<p v-if="curMsg >= 0"
class="text-lg"
style="color: #333">{{ msgs[curMsg] }}</p>
<el-row v-else
style="width: 100%">
<el-form class="dia-form"
label-width="130px"
label-suffix=":">
<el-col :span="12">
<el-form-item label="客户名称">
<p class="text">炳胜集团</p>
</el-form-item>
<el-form-item label="欠款金额">
<p class="text">炳胜集团</p>
</el-form-item>
<el-form-item label="催收金额">
<p class="text">炳胜集团</p>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="贷款编号">
<p class="text">F10666123</p>
</el-form-item>
<el-form-item label="催收通知书编号">
<p class="text">F10666123</p>
</el-form-item>
</el-col>
</el-form>
</el-row>
</div>
<div class="popBtns">
<el-button v-if="curMsg < 2"
class="close btn hover:bg-blue-100 "
@click="visible = false"> </el-button>
<el-button class="sure btn hover:bg-blue-700 "
type="primary"
@click="msgSubmit"> </el-button>
</div>
</div>
</el-dialog>
<el-dialog :visible="formVisible"
append-to-body
style="z-index: 6000;"
:close-on-click-modal="true"
:show-close="false"
custom-class="dia">
<div class="data-dia23">
<div slot="title"
class="dia-header">
<div class="data-title">贷后调查</div>
</div>
<h6>调查日期2024-04-02</h6>
<el-row style="width: 100%">
<el-form class="dia-form"
label-width="130px"
label-suffix=":"
label-position="top">
<el-col :span="24">
<el-form-item label="客户基本状态变化">
<el-input type="textarea"
:rows="2"
v-model="textarea">
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="信贷业务和还本付息情况变化">
<el-select v-model="form.goldLogo"
placeholder="请选择">
<el-option v-for="item in selects"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="偿债能力">
<el-select v-model="form.goldLogo"
placeholder="请选择">
<el-option v-for="item in selects"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="担保状况不利变化">
<el-select v-model="form.goldLogo"
placeholder="请选择">
<el-option v-for="item in selects"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经营状况">
<el-select v-model="form.goldLogo"
placeholder="请选择">
<el-option v-for="item in selects"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="信用状况">
<el-select v-model="form.goldLogo"
placeholder="请选择">
<el-option v-for="item in selects"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="五级分类">
<el-select v-model="form.goldLogo"
placeholder="请选择">
<el-option v-for="item in selects"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="结论 建议">
<el-input type="textarea"
:rows="2"
v-model="textarea">
</el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
</div>
<div class="popBtns">
<el-button class="close btn hover:bg-blue-100 "
@click="formVisible = false"> </el-button>
<el-button class="sure btn hover:bg-blue-700 "
type="primary"
@click="msgSubmit"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { tableRowClassName, headerCellStyle } from '@/assets/js/myConfig'
import { myValidate, checkHanzi, inputListen } from '@/utils/utilFunction.js'
import { mapState, mapMutations, mapGetters } from 'vuex'
import { addOperation, getOperation } from '@/api/http';
import MyTitle from '@/components/myTitle'
import list from './list'
export default {
name: 'index',
components: {
MyTitle,
},
data () {
return {
list,
headerCellStyle: headerCellStyle,
moduleName: 'tallerCash',
text: '柜员现金轧账',/* 顶部文字 */
visible: false,
page: 1,
pageSize: 10,
total: 0,
submited: 0,
msgs: [
'向贷款人预留各渠道联系方式发送催收信息',
'确认提交吗?',
'已成功向贷款人发起催收提醒!',
'贷后调查提交成功!',
'不良贷款提交成功!',
'呆账认定提交成功!',
],
curMsg: 0,
curType: 3,
curRow: {},
formVisible: false,
selects: [],
form: {},
}
},
mounted () {
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
handleCurrentChange (val) {
this.page = val;
},
//
collection (row) {
this.visible = true
this.curMsg = 0
},
//
postLoan (row) {
this.formVisible = true
},
//
npl (row) {
this.curType = 4
this.curRow = row
this.visible = true
this.curMsg = -2
},
//
badDebt (row) {
this.curType = 5
this.curRow = row
this.visible = true
this.curMsg = -1
},
msgSubmit () {
if (!this.curMsg) {
this.curMsg = 2
} else if (this.curMsg < 0) {
this.curMsg = 1
} else if (this.curMsg === 1) {
this.curMsg = this.curType
} else {
this.visible = false
}
},
extension (row) {
},
tableRowClassName: tableRowClassName,
checkHanzi: checkHanzi,
inputListen
},
};
</script>
<style lang="scss" scoped>
@import '@/assets/css/tablebg.scss';
@import '@/styles/dialog.scss';
.body {
width: 100%;
padding: 24px;
}
</style>

@ -0,0 +1,126 @@
<template>
<!-- 贷款申请 -->
<div class="body">
<my-title :titleArr="['公司贷款', '贷款还款']" />
<div style="width: 300px;margin-bottom: 20px;">
<el-input v-model="keyword"
placeholder="请输入客户姓名"
clearable />
</div>
<el-table max-height="350"
ref="filterTable"
:data="list"
:header-cell-style="headerCellStyle"
:row-class-name="tableRowClassName">
<el-table-column prop="currency"
label="客户姓名"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="贷款编号"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="应还款日期"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="实际还款日期"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="本次还款金额"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="累计还款金额"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="欠款金额"
align="center">
</el-table-column>
<el-table-column prop="currency"
label="还款状态"
align="center">
</el-table-column>
<el-table-column label="操作"
align="center"
width="150">
<template slot-scope="scope">
<el-button @click="toDetail(scope.row)"
size="small">详情</el-button>
<el-button @click="extension(scope.row)"
size="small">展期</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background
layout="total, prev, pager, next"
:current-page="page"
@current-change="handleCurrentChange"
:total="total"></el-pagination>
</div>
</div>
</template>
<script>
import { tableRowClassName, headerCellStyle } from '@/assets/js/myConfig'
import { myValidate, checkHanzi, inputListen } from '@/utils/utilFunction.js'
import { mapState, mapMutations, mapGetters } from 'vuex'
import { addOperation, getOperation } from '@/api/http';
import MyTitle from '@/components/myTitle'
import list from './list'
export default {
name: 'index',
components: {
MyTitle,
},
data () {
return {
list,
headerCellStyle: headerCellStyle,
moduleName: 'tallerCash',
text: '柜员现金轧账',/* 顶部文字 */
visible: false,
page: 1,
pageSize: 10,
total: 0,
visible: false,
submited: 0
}
},
mounted () {
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
handleCurrentChange (val) {
this.page = val;
},
toDetail (row) {
this.$router.push(`/counter/list/manage/corporateLoans-detail`)
},
extension (row) {
},
tableRowClassName: tableRowClassName,
checkHanzi: checkHanzi,
inputListen
},
};
</script>
<style lang="scss" scoped>
@import '@/assets/css/tablebg.scss';
.body {
width: 100%;
padding: 24px;
}
</style>

@ -8,7 +8,7 @@
<el-button style="margin-bottom: 20px;" <el-button style="margin-bottom: 20px;"
type="primary" type="primary"
@click="$router.push('/counter/list/manage/personalLoansDetail')">新建贷款申请</el-button> @click="$router.push('/counter/list/manage/personalLoans-detail')">新建贷款申请</el-button>
<el-table ref="filterTable" <el-table ref="filterTable"
:data="list" :data="list"

@ -253,9 +253,24 @@ export default {
}, },
{ {
icon: 'menu-icon icon-index', icon: 'menu-icon icon-index',
index: '/counter/list/manage/onlineBank', index: '/index/list1',
title: '公司贷款', title: '公司贷款',
logo: require('@/assets/img/systemInput/公司贷款.svg'), logo: require('@/assets/img/systemInput/公司贷款.svg'),
children: [
{
index: '/counter/list/manage/corporateLoans-application',
title: '贷款申请',
}, {
index: '/counter/list/manage/corporateLoans-loan',
title: '贷款放款',
}, {
index: '/counter/list/manage/corporateLoans-repayment',
title: '贷款还款',
}, {
index: '/counter/list/manage/corporateLoans-management',
title: '贷后管理',
},
]
}, },
] ]
} }

@ -205,10 +205,36 @@ export default {
}, },
// 个人贷款详情 // 个人贷款详情
{ {
path: `personalLoansDetail`, path: `personalLoans-detail`,
component: () => import('@/pages/manage/list/personalLoans/detail'), component: () => import('@/pages/manage/list/personalLoans/detail'),
meta: { title: '个人贷款' }, meta: { title: '个人贷款' },
}, },
{
name: `${pre}corporateLoans`,
path: `corporateLoans-application`,
component: () => import('@/pages/manage/list/corporateLoans/application'),
meta: { title: '公司贷款贷款申请' },
},
{
path: `corporateLoans-loan`,
component: () => import('@/pages/manage/list/corporateLoans/loan'),
meta: { title: '公司贷款贷款放款' },
},
{
path: `corporateLoans-detail`,
component: () => import('@/pages/manage/list/corporateLoans/detail'),
meta: { title: '公司贷款贷款详情' },
},
{
path: `corporateLoans-repayment`,
component: () => import('@/pages/manage/list/corporateLoans/repayment'),
meta: { title: '公司贷款贷款放款' },
},
{
path: `corporateLoans-management`,
component: () => import('@/pages/manage/list/corporateLoans/management'),
meta: { title: '公司贷款贷后管理' },
},
] ]
} }

@ -0,0 +1,55 @@
/deep/.dia {
-webkit-box-shadow: 0;
box-shadow: 0 0 0 0 !important;
border: 0 !important;
border-radius: 1.5rem;
.el-dialog__header {
display: none;
}
.el-dialog__body {
padding-top: 0;
}
.dia-form {
.text {
text-align: left;
}
}
.popBtns {
display: flex;
justify-content: center;
align-items: center;
& > .btn {
width: 180px;
font-size: 18px;
}
}
}
.data-dia23 {
min-width: 40%;
background-color: white;
z-index: 9999;
.popBody {
// width: 100%;
min-height: 30vh;
padding-top: 50px;
padding-bottom: 20px;
display: flex;
align-items: center;
/deep/ .el-form {
height: 100%;
}
}
.dia-header {
height: 100%;
// position: relative;
.data-title {
width: 300px;
margin: 0 auto;
line-height: 72px;
text-align: center;
color: #fff;
font-size: 24px;
background: url(../../../../assets/img/dia-title.png) 0 0 / cover no-repeat;
}
}
}
Loading…
Cancel
Save