Compare commits

..

No commits in common. 'master' and '20240205' have entirely different histories.

  1. 6
      package-lock.json
  2. 1
      package.json
  3. 2
      src/api/api.js
  4. 10
      src/api/http.js
  5. 142
      src/components/case/index.vue
  6. 84
      src/components/dialog/index.vue
  7. 1
      src/layouts/header/index.vue
  8. 8
      src/pages/counter/list/index.vue
  9. 2
      src/pages/index/list/index.vue
  10. 51
      src/pages/manage/index/index.vue
  11. 116
      src/pages/manage/list/ImportantCash/controlCash/index.vue
  12. 126
      src/pages/manage/list/ImportantCash/controlCash2/index.vue
  13. 141
      src/pages/manage/list/ImportantCash/controlCash3/index.vue
  14. 13
      src/pages/manage/list/agent/electricRate.vue
  15. 8
      src/pages/manage/list/agent/telRate.vue
  16. 9
      src/pages/manage/list/agent/waterRate.vue
  17. 20
      src/pages/manage/list/corporateLoans/application.vue
  18. 164
      src/pages/manage/list/corporateLoans/apply/creditApplication/index.vue
  19. 73
      src/pages/manage/list/corporateLoans/apply/creditEvaluation/basic.vue
  20. 58
      src/pages/manage/list/corporateLoans/apply/creditEvaluation/importReport.vue
  21. 60
      src/pages/manage/list/corporateLoans/apply/creditEvaluation/preLoan.vue
  22. 93
      src/pages/manage/list/corporateLoans/apply/creditEvaluation/rating.vue
  23. 36
      src/pages/manage/list/corporateLoans/apply/index.vue
  24. 83
      src/pages/manage/list/corporateLoans/apply/loanApplication/step1.vue
  25. 153
      src/pages/manage/list/corporateLoans/apply/loanApplication/step2.vue
  26. 48
      src/pages/manage/list/corporateLoans/detail.vue
  27. 23
      src/pages/manage/list/corporateLoans/loan.vue
  28. 34
      src/pages/manage/list/corporateLoans/management.vue
  29. 35
      src/pages/manage/list/corporateLoans/repayment.vue
  30. 31
      src/pages/manage/list/foreignExchange/puchasing.vue
  31. 26
      src/pages/manage/list/foreignExchange/settlement.vue
  32. 15
      src/pages/manage/list/onlineBank/openAccount.vue
  33. 118
      src/pages/manage/list/personalLoans/detail.vue
  34. 2
      src/pages/manage/list/personalLoans/index.vue
  35. 25
      src/pages/manage/list/personalLoans/list.vue
  36. 25
      src/pages/manage/navbar/index.vue
  37. 8
      src/pages/report/index.vue
  38. 80
      src/store/modules/system.js
  39. 6
      src/store/modules/user.js
  40. 2
      src/styles/dialog.scss

6
package-lock.json generated

@ -8298,9 +8298,9 @@
}
},
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
},
"lodash._basecopy": {
"version": "3.0.1",

@ -18,7 +18,6 @@
"element-theme": "^2.0.1",
"element-ui": "^2.13.0",
"js-cookie": "^2.2.1",
"lodash": "^4.17.21",
"mavon-editor": "^2.6.17",
"postcss": "^7.0.36",
"postcss-px2rem": "^0.3.0",

@ -10,7 +10,7 @@ if (dev) {
// 本地
host = 'http://121.37.12.51/' // 中台测试服
// host = 'https://www.occupationlab.com/' // 正式服
// host = 'http://192.168.31.51:9000/'
host = 'http://192.168.31.51:9000/'
const ip = localStorage.getItem('localIp')
const ips = ['http://192.168.31.217:9000/', 'http://192.168.31.51:9000/', 'http://121.37.12.51/']
host = ips[+ip]

@ -63,14 +63,11 @@ export const creditEvaluationInput = data => {
return post(`/judgment/bankCreditEvaluation/creditEvaluationInput`, data)
}
export const creditEvaluationDetails = data => {
return get(`/judgment/bankCreditEvaluation/creditEvaluationDetails`, data)
return post(`/judgment/bankCreditEvaluation/creditEvaluationDetails`, data)
}
export const loanApplicationInput = data => {
return post(`/judgment/bankLoanApplication/loanApplicationInput`, data)
}
export const loanApplicationInterestCalculation = data => {
return post(`/judgment/bankLoanApplication/loanApplicationInterestCalculation`, data)
}
export const loanApplicationDetails = data => {
return get(`/judgment/bankLoanApplication/loanApplicationDetails`, data)
}
@ -78,7 +75,7 @@ export const creditApplicationInput = data => {
return post(`/judgment/bankCreditApplication/creditApplicationInput`, data)
}
export const creditApplicationDetails = data => {
return get(`/judgment/bankCreditApplication/creditApplicationDetails`, data)
return post(`/judgment/bankCreditApplication/creditApplicationDetails`, data)
}
export const companyLoanList = data => {
return post(`/judgment/bankCompanyLoans/companyLoanList`, data)
@ -140,6 +137,3 @@ export const batchProcessing = (data) => {
export const operationExtension = (data) => {
return post(`/judgment/bankPersonalLoanContractInfo/operationExtension?contractId=${data.id}&extensionPeriod=${data.extensionPeriod}`)
}
export const calculateTheReturnInterestSum = (data) => {
return post(`/judgment/bankPersonalLoanContractInfo/calculateTheReturnInterestSum`, data)
}

@ -229,42 +229,6 @@ export default {
submitType: false
}
},
computed: {
needSendSunc: function () {
return this.sendSync;
},
//
second: function () {
return this.num(this.seconds);
},
minute: function () {
return this.num(this.minutes);
},
activeNames () {
//
return this.requires.map(item => item.id)
},
},
watch: {
countVal: {
deep: true,
handler: function (val, oldVal) {
let vm = this;
if (vm.needSendSunc) {
vm.passToParent(val);
}
}
},
needSendSunc: {
deep: true,
handler: function (val) {
let vm = this;
if (val) {
vm.passToParent(vm.countString);
}
}
},
},
created () {
let assessmentId = this.getQueryVariable('assessmentId')
sessionStorage.setItem('assessmentId', assessmentId)
@ -288,6 +252,7 @@ export default {
});
//
this.sureSubmit(true)
} else {
}
})
}, 4000)
@ -296,27 +261,73 @@ export default {
this.popContainer = data
})
},
watch: {
countVal: {
deep: true,
handler: function (val, oldVal) {
let vm = this;
if (vm.needSendSunc) {
vm.passToParent(val);
}
}
},
needSendSunc: {
deep: true,
handler: function (val) {
let vm = this;
if (val) {
vm.passToParent(vm.countString);
}
}
},
// caseVisible(newVal) {
// if(!newVal) {
// console.log(this.$refs.scrollTag)
// }
// }
},
computed: {
needSendSunc: function () {
return this.sendSync;
},
//
second: function () {
return this.num(this.seconds);
},
minute: function () {
return this.num(this.minutes);
},
activeNames () {
//
return this.requires.map(item => item.id)
},
},
mounted () {
let token = this.getParam('token')
let cid = this.getParam('cid')
let systemId = this.getParam('systemId')
let projectId = this.getParam('projectId')
let assessmentId = this.getParam('assessmentId')
let competitionId = this.getParam('competitionId')
let stageId = this.getParam('stageId')
let teamId = this.getParam('teamId')
let classId = this.getParam('classId')
let stopTime = this.getParam('stopTime')
let mallId = this.getParam('mallId')
let timestamp = +stopTime
timestamp || sessionStorage.removeItem('timestamp')
if (token) {
let token = sessionStorage.getItem('token') || this.getQueryVariable('token')
let cid = sessionStorage.getItem('cid') || this.getQueryVariable('cid')
let systemId = sessionStorage.getItem('systemId') || this.getQueryVariable('systemId')
let projectId = this.getQueryVariable('projectId')
if (sessionStorage.getItem('projectId')) {
projectId = sessionStorage.getItem('projectId')
}
let assessmentId = sessionStorage.getItem('assessmentId') || this.getQueryVariable('assessmentId')
let competitionId = sessionStorage.getItem('competitionId') || this.getQueryVariable('competitionId')
let stageId = sessionStorage.getItem('stageId') || this.getQueryVariable('stageId')
let teamId = sessionStorage.getItem('teamId') || this.getQueryVariable('teamId')
let classId = sessionStorage.getItem('classId') || this.getQueryVariable('classId')
let stopTime = sessionStorage.getItem('stopTime') || this.getQueryVariable('stopTime')
let mallId = sessionStorage.getItem('mallId') || this.getQueryVariable('mallId')
let timestamp = +stopTime;
if (timestamp != null) {
} else {
sessionStorage.setItem('timestamp', null)
}
if (token != null) {
sessionStorage.setItem('token', token)
sessionStorage.setItem('cid', cid)
sessionStorage.setItem('systemId', systemId)
sessionStorage.setItem('timestamp', timestamp)
console.log("🚀 ~ mounted ~ projectId:", token, projectId)
sessionStorage.setItem('projectId', projectId)
sessionStorage.setItem('assessmentId', assessmentId)
sessionStorage.setItem('competitionId', competitionId)
@ -324,20 +335,21 @@ export default {
sessionStorage.setItem('teamId', teamId)
sessionStorage.setItem('classId', classId)
this.assessmentId = assessmentId
this.competitionId = competitionId
this.competitionId = JSON.parse(competitionId)
this.stageId = stageId
this.teamId = teamId
this.classId = classId
this.mallId = mallId
}
if (token) {
let tokens = sessionStorage.getItem('token')
if (tokens || token) {
this.projectPermissions = this.assessmentId ?
1 :
this.competitionId ?
2 :
0
this.assessmentId && this.projectId && this.checkVer()
if (assessmentId || this.competitionId) {
if (JSON.parse(assessmentId != null && assessmentId != '' && assessmentId != 'null' || this.competitionId)) {
this.selectProjects({
projectId
})
@ -399,11 +411,6 @@ export default {
this.toggleCase()
}
},
//
getParam (field) {
const s = sessionStorage.getItem(field)
return s !== 'null' && s !== 'undefined' && s ? s : this.getQueryVariable(field)
},
getQueryVariable (name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')
if (window.location.href.split('?')[1]) {
@ -414,6 +421,20 @@ export default {
return null
}
}
// if(sessionStorage.getItem(name)) {
// return sessionStorage.getItem(name)
// }else {
// var reg = new RegExp('(^|&)'+name+'=([^&]*)(&|$)')
// if(window.location.href.split('?')[1]){
// var r = window.location.href.split('?')[1].match(reg)
// if (r != null){
// return (r[2])
// }else{
// return null
// }
// }
// }
},
//
getData () {
@ -652,6 +673,7 @@ export default {
this.actEndTime = new Date().getTime();
let ruleReqs = sessionStorage.getItem('ruleReqs')
let startTime = sessionStorage.getItem('startTime') || this.entryTime
console.log("🚀 ~ sureSubmit ~ this.entryTime:", this.entryTime)
let ruleReqsList = JSON.parse(ruleReqs);
let lcld = []
for (var i = 0; i < this.requires.length; i++) {

@ -65,7 +65,6 @@
</template>
<script>
import { mapGetters } from 'vuex'
// objmoduleName,
const obj = {
@ -122,32 +121,7 @@ const nameMap = {
116: '现金支票'
},
currency: {
12: 'CNY人民币',
153: '美元 现汇',
163: '美元',
164: '澳大利亚元',
165: '加拿大元',
166: '港币',
167: '英镑',
168: '欧元',
169: '日元',
170: '新西兰元',
171: '新加坡元',
172: '泰国铢',
173: '韩元',
174: '新台币(不支持跨进汇款)',
175: '瑞土法郎',
176: '瑞典克朗',
177: '丹麦克朗',
178: '卢布',
179: '挪威克朗',
180: '菲律宾比索(不支持跨进汇款)',
181: '澳门元',
182: '印尼卢比 (不支持跨进汇款)',
183: '巴西里亚尔(不支持跨进汇款)',
184: '阿联酋迪拉姆(不支持跨进汇款)',
185: '印度卢比(不支持跨进汇款)',
186: '印度卢比(南非兰特)',
12: 'CNY人民币'
},
goldLogo: {
13: '钞户',
@ -317,14 +291,6 @@ const nameMap = {
148: '是',
149: '否'
},
monthlyWithholding: {
142: '是',
143: '否'
},
numType: {
144: '手机号码',
145: '座机号码'
},
buyForeignPurpose: {
187: '因私旅游',
188: '境外留学',
@ -343,17 +309,6 @@ const nameMap = {
201: '其他服务',
202: '其他经常转移',
},
fundingSource: {
154: '职工报酬和赡家款',
155: '旅游',
156: '金融和保险服务',
157: '专有权利使用费和特许费',
158: '咨询服务',
159: '其他服务',
160: '投资收益',
161: '其他经常转移',
162: '运输',
},
}
export default {
props: {
@ -380,30 +335,14 @@ export default {
moduleName: {
type: String,
default: 'spacial'
},
spare: {
type: Boolean,
default: true
},
},
data () {
return {
flow: 1, //
disForm: { //
name: '002288',
pass: '123456'
},
leftObj: {}, //
rightObj: {} //
}
},
created () {
// flow4
if (!this.needAuth) {
this.flow = 4
}
let num = 0
let num = 0;
// 1
for (const key in this.showForm) {
if (!this.showForm[key]) {
@ -444,7 +383,7 @@ export default {
return str;
}
if (this.spare) {
if (num % 2 === 1) {
//
this.leftObj['流水号'] = tmpFunc2()
@ -475,8 +414,20 @@ export default {
}
this.rightObj['会计时间'] = tmpFunc()
if (this.leftObj['支取方式'] == 114) this.leftObj['支取方式'] = '印鉴'
console.log("🚀 ~ file: index.vue ~ line 393 ~ created ~ this.rightObj", this.leftObj, this.rightObj, this.showForm, this.formName)
// 002110
},
data () {
return {
flow: 1, //
disForm: { //
name: '002288',
pass: '123456'
},
leftObj: {}, //
rightObj: {} //
}
},
methods: {
cancel () {
@ -513,10 +464,7 @@ export default {
// +
successName () {
return obj[this.moduleName] + '成功'
},
...mapGetters({
getSelectList: 'system/getSelectList'
}),
}
}
}
</script>

@ -72,6 +72,7 @@ export default {
'$route.path': {
handler (newVal) {
this.$nextTick(() => {
console.log(newVal)
if (newVal === '/index/list') {
this.$refs.exitHeader.style.backgroundColor = 'rgb(250, 250, 250)'
} else {

@ -202,7 +202,7 @@
<!-- 动画开始 -->
<div v-if="popText === '密码器'" style="width:800px;padding-right:150px;padding-top:80px">
<el-form :model="passwordForm" :rules="passwordRules" ref="form" label-width="180px"
key="passwordFormpasswordAgain" class="flex flex-col justify-center" @submit.native.prevent>
key="passwordFormpasswordAgain" class="flex flex-col justify-center">
<el-form-item class="password-wrap" label="密码" prop="passwordAgain">
<el-input v-focus v-model.trim="passwordForm.passwordAgain" maxlength="6"
onkeyup="{this.value=this.value.replace(/\D/g,'')}" autocomplete="new-password"
@ -1567,7 +1567,7 @@ export default {
},
showManage () {//
this.manageVisible = true;
this.$router.push(sessionStorage.getItem(this.isCredit ? 'creditPath' : 'computerPath') || (this.isCredit ? '/counter/list/manage/personalLoans' : '/counter/list/manage/consumerClient'))
this.$router.push(sessionStorage.getItem('computerPath') || (this.isCredit ? '/counter/list/manage/personalLoans' : '/counter/list/manage/consumerClient'))
},
popSure () {/* 弹框-确定 */
//
@ -2166,10 +2166,6 @@ export default {
}).catch((error) => {
})
} else if (this.nbm == 12) {
if (!this.receptionList.length) {
this.setTipsOperate('请选择需要导入的报表!')
return
}
this.setCreditImportIds(this.receptionList[0].id)
this.setTipsOperate('导入成功!')
}

@ -13,7 +13,7 @@
<div class="sth international cp" @click="toPart('/counter', true)">
<!-- <img width="100%" v-lazy="lazy1" alt="" @click="toPart('/counter')"> -->
<img width="100%" v-lazy="lazy2" alt="" />
<img width="100%" v-lazy="lazy2" alt="" @click="showComing" />
<!-- src="@/assets/img/integrated-counter.png" -->
<div class="name" @click="toPart('/counter', true)">信贷部</div>
</div>

@ -1,9 +1,9 @@
<template>
<!-- :style="fullScreen?'height:100vh;':'height: 80vh;'" -->
<div class="box" :class="fullScreen || isCredit ? 'h-4/5' : ''">
<!-- :style="full?'height:100vh;':'height: 80vh;'" -->
<div class="box" :class="full || isCredit ? 'h-4/5' : ''">
<div class="nav">
<!-- <div class="top" :style="fullScreen?'border-radius:0':'border-top-left-radius: 20px;'"> select-none -->
<div class="top" :style="fullScreen ? 'border-radius:0' : 'border-top-left-radius: 20px;'">
<!-- <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;'">
<p style="margin:auto">商业银行系统</p>
</div>
<!-- <div class="body2">
@ -15,10 +15,9 @@
<!-- <navbar class="body"></navbar> -->
</div>
<div class="manage-layout">
<div class="top" :style="fullScreen ? 'border-radius:0' : 'border-top-right-radius: 20px;'">
<img v-show="!fullScreen && !isCredit" src="../../../assets/svg/fullscreen.svg" alt=""
@click="handleFullscreen">
<img v-show="fullScreen" src="../../../assets/svg/shrink.svg" alt="" @click="shrink">
<div class="top" :style="full ? 'border-radius:0' : 'border-top-right-radius: 20px;'">
<img v-show="!full && !isCredit" src="../../../assets/svg/fullscreen.svg" alt="" @click="handleFullscreen">
<img v-show="full" src="../../../assets/svg/shrink.svg" alt="" @click="shrink">
<i @click="close" class="el-icon-close"></i>
</div>
<div class="manage-content">
@ -38,37 +37,41 @@ export default {
name: 'index',
data () {
return {
curRoute: ''
fullscreen: this.$store.state.system.fullScreen,// --store
}
},
components: {
navbar
},
computed: {
...mapState('system', ['fullScreen', 'isCredit'])
},
watch: {
'$route': {
handler () {
this.curRoute = this.$route.path
},
immediate: true
}
},
beforeDestroy () {
sessionStorage.setItem(this.curRoute.includes('Loans') ? 'creditPath' : 'computerPath', this.curRoute)
sessionStorage.getItem('submited') || this.$router.push('/counter/list/')
},
// beforeMount() {
// const path = sessionStorage.getItem('computerPath')
// console.log('router-view')
// console.log(path)
// this.$router.push(path)
// },
methods: {
close () {
// 退 退
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
handleFullscreen () {
this.fullscreen = true
this.$store.commit('system/changeFullscreen', true)
},
shrink () {
this.fullscreen = false
this.$store.commit('system/changeFullscreen', false)
},
},
computed: {
full: function () {
return this.$store.state.system.fullScreen
},
...mapState({
isCredit: state => state.system.isCredit
})
}
};
</script>

@ -10,19 +10,26 @@
</el-menu>
</div>
<div class="title">
<p>现金</p>
<p>现金</p>
<i class="el-icon-arrow-right"></i>
<p>现金管理</p>
<i class="el-icon-arrow-right"></i>
<p>{{ textObj[activeIndex] }}</p>
<p>{{textObj[activeIndex]}}</p>
</div>
<cash-recipients v-if="activeIndex === '1'"></cash-recipients>
<cashTransferInto v-if="activeIndex === '2'"></cashTransferInto>
<cashPaid v-if="activeIndex === '3'"></cashPaid>
<cashOut v-if="activeIndex === '4'"></cashOut>
<el-dialog style="margin-top:10vh" :visible.sync="visible" :modal="false" width="40%" :close-on-click-modal="false"
:show-close="false" custom-class="data-dia">
<cash-recipients v-if="activeIndex==='1'"></cash-recipients>
<cashTransferInto v-if="activeIndex==='2'"></cashTransferInto>
<cashPaid v-if="activeIndex==='3'"></cashPaid>
<cashOut v-if="activeIndex==='4'"></cashOut>
<el-dialog
style="margin-top:10vh"
:visible.sync="visible"
:modal="false"
width="40%"
:close-on-click-modal="false"
:show-close="false"
custom-class="data-dia"
>
<div slot="title" class="dia-header">
<div class="data-title" v-throttle>提交</div>
</div>
@ -44,29 +51,29 @@ import cashPaid from './cashPaid.vue'
import cashOut from './cashOut.vue'
export default {
name: 'index',
components: {
components:{
cashRecipients,
cashTransferInto,
cashPaid,
cashOut
},
data () {
data() {
return {
text: '',/* 顶部文字 */
text:'',/* 顶部文字 */
cacheVal: '',
textObj: {
'1': '现金领用',
'2': '现金上缴',
'3': '现金调入',
'4': '现金调出',
textObj:{
'1':'现金领用',
'2':'现金上缴',
'3':'现金调入',
'4':'现金调出',
},
form: {
form:{
},
visible: false,
options: [],
activeIndex: '',
second: [//
visible:false,
options:[],
activeIndex:'',
second:[//
],
@ -75,45 +82,42 @@ export default {
}
},
methods: {
handleSelect (val) {
handleSelect(val){
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val
},
},
created () {
if (sessionStorage.getItem('importantCashIndex')) {
created() {
if(sessionStorage.getItem('importantCashIndex')) {
this.handleSelect(sessionStorage.getItem('importantCashIndex'))
} else {
}else {
this.handleSelect('1')
}
},
destroyed () {
destroyed() {
sessionStorage.setItem('importantCashIndex', this.cacheVal)
}
};
</script>
<style lang="scss" scoped>
.wrap {
.wrap{
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav {
/deep/ .el-menu.el-menu--horizontal {
.nav{
/deep/ .el-menu.el-menu--horizontal{
border: 0;
}
/deep/ .el-menu--horizontal>.el-menu-item.is-active {
border: 2px solid #568DF2;
/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 {
/deep/ .el-menu--horizontal > .el-menu-item{
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
@ -121,8 +125,7 @@ export default {
line-height: 28px;
}
}
.title {
.title{
height: 60px;
display: flex;
align-items: center;
@ -130,13 +133,11 @@ export default {
padding-left: 0px;
margin-top: 10px;
}
.body {
.body{
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
.idCard {
.idCard{
border-radius: 5px;
background: #CFDDFF;
text-align: center;
@ -145,11 +146,9 @@ export default {
font-size: 18px;
color: #6191FF;
}
.add {
.add{
position: relative;
&::after {
&::after{
content: '';
display: block;
position: absolute;
@ -159,18 +158,16 @@ export default {
width: 88%;
height: 268px;
}
.addBtn {
.addBtn{
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
transform: translate(50%,-50%);
font-size: 22px;
}
}
}
.submitBtn {
.submitBtn{
position: relative;
width: 300px;
font-size: 18px;
@ -179,37 +176,32 @@ export default {
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%, -50%);
transform: translate(-50%,-50%);
}
.popBody {
.popBody{
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns {
.popBtns{
display: flex;
justify-content: space-between;
align-items: center;
.btn {
.btn{
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close {
.close{
background: #CFDEFF;
color: #6191FF;
}
.sure {
.sure{
background: #6191FF;
color: #fff;
}
}
}
}
</style>

@ -10,21 +10,28 @@
</el-menu>
</div>
<div class="title">
<p>现金</p>
<p>现金</p>
<i class="el-icon-arrow-right"></i>
<p>凭证管理</p>
<i class="el-icon-arrow-right"></i>
<p>{{ textObj[activeIndex] }}</p>
<p>{{textObj[activeIndex]}}</p>
</div>
<!-- 开户 -->
<cash-recipients v-if="activeIndex === '1'"></cash-recipients>
<cash-transfer-into v-if="activeIndex === '2'"></cash-transfer-into>
<cash-paid v-if="activeIndex === '3'"></cash-paid>
<cash-out v-if="activeIndex === '4'"></cash-out>
<el-dialog style="margin-top:10vh" :visible.sync="visible" :modal="false" width="40%" :close-on-click-modal="false"
:show-close="false" custom-class="data-dia">
<cash-recipients v-if="activeIndex==='1'"></cash-recipients>
<cash-transfer-into v-if="activeIndex==='2'"></cash-transfer-into>
<cash-paid v-if="activeIndex==='3'"></cash-paid>
<cash-out v-if="activeIndex==='4'"></cash-out>
<el-dialog
style="margin-top:10vh"
:visible.sync="visible"
:modal="false"
width="40%"
:close-on-click-modal="false"
:show-close="false"
custom-class="data-dia"
>
<div slot="title" class="dia-header">
<div class="data-title">提交</div>
</div>
@ -46,29 +53,29 @@ import cashPaid from './cashPaid.vue'
import cashOut from './cashOut.vue'
export default {
name: 'index',
components: {
components:{
cashRecipients,
cashTransferInto,
cashPaid,
cashOut
},
data () {
data() {
return {
text: '',/* 顶部文字 */
text:'',/* 顶部文字 */
cacheVal: '',
textObj: {
'1': '凭证领用',
'2': '凭证上缴',
'3': '凭证调入',
'4': '凭证调出',
textObj:{
'1':'凭证领用',
'2':'凭证上缴',
'3':'凭证调入',
'4':'凭证调出',
},
form: {
form:{
},
visible: false,
options: [],
activeIndex: '1',
second: [//
visible:false,
options:[],
activeIndex:'1',
second:[//
],
@ -76,18 +83,18 @@ export default {
}
},
created () {
if (sessionStorage.getItem('importantCashIndex2')) {
created() {
if(sessionStorage.getItem('importantCashIndex2')) {
this.handleSelect(sessionStorage.getItem('importantCashIndex2'))
} else {
}else {
this.handleSelect('1')
}
},
destroyed () {
destroyed() {
sessionStorage.setItem('importantCashIndex2', this.cacheVal)
},
methods: {
handleSelect (val) {
handleSelect(val){
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val
@ -99,25 +106,22 @@ export default {
</script>
<style lang="scss" scoped>
.wrap {
.wrap{
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav {
/deep/ .el-menu.el-menu--horizontal {
.nav{
/deep/ .el-menu.el-menu--horizontal{
border: 0;
}
/deep/ .el-menu--horizontal>.el-menu-item.is-active {
border: 2px solid #568DF2;
/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 {
/deep/ .el-menu--horizontal > .el-menu-item{
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
@ -125,8 +129,7 @@ export default {
line-height: 28px;
}
}
.title {
.title{
height: 60px;
display: flex;
align-items: center;
@ -134,13 +137,11 @@ export default {
padding-left: 0px;
margin-top: 10px;
}
.body {
.body{
margin-top: 50px;
overflow-x: hidden;
overflow-y: auto;
.idCard {
.idCard{
border-radius: 5px;
background: #CFDDFF;
text-align: center;
@ -149,11 +150,9 @@ export default {
font-size: 18px;
color: #6191FF;
}
.add {
.add{
position: relative;
&::after {
&::after{
content: '';
display: block;
position: absolute;
@ -163,18 +162,16 @@ export default {
width: 88%;
height: 268px;
}
.addBtn {
.addBtn{
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
transform: translate(50%,-50%);
font-size: 22px;
}
}
}
.submitBtn {
.submitBtn{
position: relative;
width: 300px;
font-size: 18px;
@ -183,45 +180,40 @@ export default {
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%, -50%);
transform: translate(-50%,-50%);
}
.popBody {
.popBody{
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns {
.popBtns{
display: flex;
justify-content: space-between;
align-items: center;
.btn {
.btn{
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close {
.close{
background: #CFDEFF;
color: #6191FF;
}
.sure {
.sure{
background: #6191FF;
color: #fff;
}
}
}
}
/deep/.el-input input {
/deep/.el-input input {
text-align: center;
}
}
/deep/ .blueText {
/deep/ .blueText{
color: blue;
}
}
</style>

@ -8,14 +8,13 @@
<i class="el-icon-arrow-right"></i>
<p>支票出售</p>
</div> -->
<my-title :titleArr="['重现金', '支票管理', '支票出售']" />
<my-title :titleArr="['重现金', '支票管理', '支票出售']"/>
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="账号" prop="username">
<el-input @blur="onBlur()" :value="form.username" @input="val => checkHanzi(val, form, 'username')"
ref="username"></el-input>
<el-input @blur="onBlur()" :value="form.username" @input="val => checkHanzi(val, form, 'username')" ref="username"></el-input>
</el-form-item>
<el-form-item label="凭证类型" prop="voucherType">
<el-select v-model.trim="form.voucherType" placeholder="请选择" ref="voucherType">
@ -32,8 +31,7 @@
</el-select>
</el-form-item>
<el-form-item label="凭证终止号" prop="endNumber">
<el-input :value="form.endNumber" @blur="getBlur()"
@input="val => certificateNumber(val, form, 'endNumber')" ref="endNumber"></el-input>
<el-input :value="form.endNumber" @blur="getBlur()" @input="val => certificateNumber(val, form, 'endNumber')" ref="endNumber"></el-input>
</el-form-item>
<el-form-item label="收费类型" prop="chargeWay2">
@ -42,35 +40,31 @@
</el-select>
</el-form-item>
<el-form-item label="手续费" prop="serviceCharge">
<el-input :value="form.serviceCharge" @input="(val) => ismoney(val, form, 'serviceCharge')"
ref="serviceCharge"></el-input>
<el-input :value="form.serviceCharge" @input="(val) => ismoney(val, form, 'serviceCharge')" ref="serviceCharge"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户名称" prop="customerName">
<el-input v-model.trim="form.customerName" ref="customerName"></el-input>
<el-input v-model.trim="form.customerName" ref="customerName" ></el-input>
</el-form-item>
<el-form-item label="凭证起始号" prop="startNumber">
<el-input :value="form.startNumber" @input="(val) => certificateNumber(val, form, 'startNumber')"
ref="startNumber"></el-input>
<el-input :value="form.startNumber" @input="(val) => certificateNumber(val, form, 'startNumber')" ref="startNumber"></el-input>
</el-form-item>
<el-form-item label="数量" prop="number">
<el-input :value="form.number" disabled @input="val => inputListen(val, form, 'number')"
ref="number"></el-input>
<el-input :value="form.number" disabled @input="val => inputListen(val, form, 'number')" ref="number" ></el-input>
</el-form-item>
<el-form-item label="工本费" prop="cost">
<el-input :value="form.cost" @input="val => ismoney(val, form, 'cost')" ref="cost"></el-input>
<el-input :value="form.cost" @input="val => ismoney(val, form, 'cost')" ref="cost" ></el-input>
</el-form-item>
<el-form-item label="摘要" prop="abstract">
<el-input v-model.trim="form.abstract"></el-input>
<el-input v-model.trim="form.abstract" ></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitIt()" type="primary" class="submitBtn">提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
@submitIt="submitForm2" />
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" />
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
</template>
@ -88,20 +82,20 @@ const moduleName = 'controlCash3/index'
export default {
name: 'index',
mixins: [TipsBefore],
components: {
mixins: [ TipsBefore ],
components:{
NeedBefore,
MyDialog,
MyTitle
},
data () {
data() {
return {
moduleName,
visible: false,
unNeed: false,
isNeedBefore: '',
needBefore: '',
form: {
form:{
//
username: '', //
startNumber: '', //
@ -115,7 +109,7 @@ export default {
cost: '', //
abstract: '' //
},
formName: {
formName:{
//
username: '账号', //
startNumber: '凭证起始号', //
@ -213,50 +207,50 @@ export default {
submited: 0
}
},
created () {
created() {
// this.handleSelect(1)
if (this.inMyWork(moduleName)) {
if (this.needsModule(moduleName) === '') {
if(this.inMyWork(moduleName)) {
if(this.needsModule(moduleName) === '') {
} else {
}else {
this.isNeedBefore = true
this.needBefore = this.needsModule(moduleName)
}
} else {
}else {
this.isNeedBefore = true
this.unNeed = true
}
},
mounted () {
mounted() {
this.$refs.username.focus()
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
onBlur () {
if (this.form.username) {
onBlur() {
if(this.form.username) {
const { collectingCompany } = this.dataFlow
this.form.customerName = collectingCompany
} else {
}else {
this.form.customerName = ''
}
},
getBlur () {
getBlur() {
const number = Number(this.form.endNumber) - Number(this.form.startNumber)
if (number < 0 || this.form.endNumber.length < this.form.startNumber.length) {
if(number<0 || this.form.endNumber.length<this.form.startNumber.length) {
this.form.number = 0
return
}
this.form.number = number
},
submitIt () {
submitIt() {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
if (this.form.number <= 0) {
if(this.form.number <= 0) {
// this.$message({
// message: ',',
// type: 'warning',
@ -265,7 +259,7 @@ export default {
this.setTipsOperate('结束号码应大于起始号码')
return
}
if (this.form.startNumber.length !== this.form.endNumber.length) {
if(this.form.startNumber.length !== this.form.endNumber.length) {
this.setTipsOperate('凭证起始号和凭证终止号长度不同,请检查')
return
}
@ -273,7 +267,7 @@ export default {
}, this.$refs));
},
submitForm2 () {
submitForm2() {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,31,520'
const cards = [
@ -298,41 +292,37 @@ export default {
</script>
<style lang="scss" scoped>
// .submitBtn{
// position: relative;
// width: 200px;
// font-size: 18px;
// height: 45px;
// margin-top: 50px;
// border-radius: 10px;
// bottom: 10px;
// left: 50%;
// transform: translate(-50%,-20%);
// }
.el-input,
.el-select {
width: 100% !important;
}
// .submitBtn{
// position: relative;
// width: 200px;
// font-size: 18px;
// height: 45px;
// margin-top: 50px;
// border-radius: 10px;
// bottom: 10px;
// left: 50%;
// transform: translate(-50%,-20%);
// }
.el-input, .el-select {
width: 100%!important;
}
.wrap {
.wrap{
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.nav {
/deep/ .el-menu.el-menu--horizontal {
.nav{
/deep/ .el-menu.el-menu--horizontal{
border: 0;
}
/deep/ .el-menu--horizontal>.el-menu-item.is-active {
border: 2px solid #568DF2;
/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 {
/deep/ .el-menu--horizontal > .el-menu-item{
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
@ -340,8 +330,7 @@ export default {
line-height: 28px;
}
}
.title {
.title{
height: 60px;
display: flex;
align-items: center;
@ -349,12 +338,10 @@ export default {
padding-left: 0px;
margin-top: 10px;
}
.body {
.body{
margin-top: 50px;
overflow: auto;
.idCard {
.idCard{
border-radius: 5px;
background: #CFDDFF;
text-align: center;
@ -363,11 +350,9 @@ export default {
font-size: 18px;
color: #6191FF;
}
.add {
.add{
position: relative;
&::after {
&::after{
content: '';
display: block;
position: absolute;
@ -377,18 +362,16 @@ export default {
width: 88%;
height: 268px;
}
.addBtn {
.addBtn{
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
transform: translate(50%,-50%);
font-size: 22px;
}
}
}
.submitBtn {
.submitBtn{
position: relative;
width: 200px;
font-size: 18px;
@ -397,11 +380,11 @@ export default {
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%, -20%);
transform: translate(-50%,-20%);
}
}
}
.el-select {
.el-select {
width: 279.17px;
}
}
</style>

@ -19,7 +19,7 @@
</div>
</el-form-item>
<el-form-item label="缴费单位" prop="paymentUnit">
<el-form-item label="缴费单位" required>
<el-input v-model="form.paymentUnit" />
</el-form-item>
</el-col>
@ -37,7 +37,7 @@
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="户号" prop="houseId">
<el-form-item label="户号" required>
<el-input v-model="form.houseId" />
</el-form-item>
</el-col>
@ -48,7 +48,7 @@
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="缴费金额" prop="paymentMoney">
<el-input v-model="form.paymentMoney" maxlength="15"
<el-input :value="form.paymentMoney" maxlength="15"
@input="val => ismoney(val, form, 'paymentMoney')"></el-input>
</el-form-item>
<el-form-item label="支取密码" required>
@ -69,7 +69,7 @@
</el-form-item>
</el-col>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2" depositNumber='0816' />
@submitIt="submitForm2" depositNumber='0816' />
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
@ -198,7 +198,7 @@ export default {
trigger: 'blur'
}
],
monthlyWithholding: [
extendDepomonthlyWithholdingsitTarget: [
{
required: true,
message: '请选择每月代扣',
@ -355,10 +355,9 @@ export default {
{ answerId: 725, emptyOne: 111, emptyTwo: form.paymentUnit, operationIds: preId + ',725', type: 3 },
{ answerId: 726, emptyOne: 112, emptyTwo: form.houseId, operationIds: preId + ',726', type: 3 },
{ answerId: 730, emptyOne: 153, emptyTwo: form.address, operationIds: preId + ',730', type: 3 },
{ answerId: 730, emptyOne: '', emptyTwo: '', operationIds: preId + ',730', type: '' },
{ answerId: 727, emptyOne: 113, emptyTwo: form.paymentMoney, operationIds: preId + ',727', type: 3 },
{ answerId: 728, emptyOne: 114, emptyTwo: form.monthlyWithholding, operationIds: preId + ',728', type: 1 },
{ answerId: 729, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',729', type: 3 },
)
let params = {
parentId: preId,

@ -25,7 +25,7 @@
<el-form-item label="缴费号码" prop="paymentNum">
<el-input v-model="form.paymentNum" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="每月代扣" prop="monthlyWithholding">
<el-form-item label="每月代扣" prop="monthlyWithholding" required>
<el-radio-group v-model.trim="form.monthlyWithholding">
<el-radio :label="142"></el-radio>
<el-radio :label="143"></el-radio>
@ -66,7 +66,7 @@
</el-form-item>
</el-col>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2" depositNumber='0816' />
@submitIt="submitForm2" depositNumber='0816' />
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
@ -191,7 +191,7 @@ export default {
trigger: 'blur'
}
],
monthlyWithholding: [
extendDepomonthlyWithholdingsitTarget: [
{
required: true,
message: '请选择每月代扣',
@ -321,7 +321,7 @@ export default {
return
}
if (!this.form.voucherNumber) {
messageCard('请填写账号')
messageCard('请填写凭证号码')
return
}

@ -49,10 +49,10 @@
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="户号" prop="houseId">
<el-form-item label="户号" required>
<el-input v-model="form.houseId" />
</el-form-item>
<el-form-item label="每月代扣" prop="monthlyWithholding">
<el-form-item label="每月代扣" prop="monthlyWithholding" required>
<el-radio-group v-model.trim="form.monthlyWithholding">
<el-radio :label="142"></el-radio>
<el-radio :label="143"></el-radio>
@ -60,7 +60,7 @@
</el-form-item>
</el-col>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2" depositNumber='0816' />
@submitIt="submitForm2" depositNumber='0816' />
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
@ -177,7 +177,7 @@ export default {
trigger: 'blur'
}
],
monthlyWithholding: [
extendDepomonthlyWithholdingsitTarget: [
{
required: true,
message: '请选择每月代扣',
@ -335,7 +335,6 @@ export default {
{ answerId: 717, emptyOne: 112, emptyTwo: form.houseId, operationIds: preId + ',717', type: 3 },
{ answerId: 718, emptyOne: 113, emptyTwo: form.paymentMoney, operationIds: preId + ',718', type: 3 },
{ answerId: 719, emptyOne: 114, emptyTwo: form.monthlyWithholding, operationIds: preId + ',719', type: 1 },
{ answerId: 720, emptyOne: 114, emptyTwo: form.drawPassword, operationIds: preId + ',720', type: 3 },
)
let params = {
parentId: preId,

@ -8,24 +8,17 @@
<el-input v-model="keyword" placeholder="请输入客户姓名" clearable />
</div>
<el-button type="primary" @click="toDetail(0)">新建贷款申请</el-button>
<el-button type="primary" @click="$router.push('/counter/list/manage/corporateLoans-apply')">新建贷款申请</el-button>
</div>
<el-table :data="list" stripe :header-cell-style="headerCellStyle">
<el-table-column prop="customerName" label="客户姓名" align="center" />
<el-table-column prop="applicationNumber" label="申请编号" align="center" />
<el-table-column prop="createTime" label="申请日期" align="center" />
<el-table-column prop="loanApplicationAmount" label="申请金额" align="center">
<template slot-scope="scope">{{ scope.row.loanApplicationAmount || '-' }}</template>
</el-table-column>
<el-table-column prop="processingStatus" label="办理状态" align="center">
<template slot-scope="scope">{{ scope.row.processingStatus || '-' }}</template>
</el-table-column>
<el-table-column prop="loanApplicationAmount" label="申请金额" align="center" />
<el-table-column label="操作" align="center" width="150">
<template slot-scope="scope">
<el-button :disabled="!!scope.row.builtIn" @click="toDetail(scope.row)" size="small">{{
scope.row.loanApplicationAmount ? '查看' : '编辑'
}}</el-button>
<el-button :disabled="!!scope.row.builtIn" @click="toDetail(scope.row)" size="small">详情</el-button>
</template>
</el-table-column>
</el-table>
@ -74,7 +67,6 @@ export default {
pageNum: this.page,
pageSize: this.pageSize,
searchContent: this.keyword,
typeId: 1,
})
this.list = data.page.records
this.total = data.page.total
@ -89,11 +81,7 @@ export default {
},
//
toDetail (row) {
// id
this.$store.commit('system/setCreditIds', (row ? {
companyLoanId: row.companyLoanId, // tabid
} : {}))
this.$router.push(row.loanApplicationAmount ? `/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}` : '/counter/list/manage/corporateLoans-apply')
this.$router.push(`/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}`)
},
},
};

@ -100,7 +100,7 @@
<h6 class="l-title">申请人特别说明选填</h6>
</el-col>
<el-col :span="24">
<el-input v-model="form.specialInstructions" type="textarea" maxlength="500" placeholder="请输入申请求"></el-input>
<el-input v-model="form.specialInstructions" type="textarea" maxlength="500" placeholder="请输入申请求"></el-input>
</el-col>
<el-col :span="24" style="margin-top: 20px">
@ -234,55 +234,19 @@
</el-row>
<div class="m-t-30 text-center">
<el-button @click="beforeSubmit" type="primary" class="submitBtn" v-throttle>提交</el-button>
</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 class="text-lg" style="color: #333">请进行授信审核</p>
</div>
<div class="popBtns">
<el-button class="close btn hover:bg-blue-100 " @click="visible = false"> </el-button>
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="submit"> </el-button>
</div>
</div>
</el-dialog>
<el-dialog :visible="successVisible" append-to-body style="z-index: 6000;" :close-on-click-modal="false"
: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" style="flex-direction: column;">
<p class="text-lg" style="margin-bottom: 10px;color: #333">授信完成</p>
<p class="text-lg" style="color: #333">可进行贷款申请</p>
</div>
<div class="popBtns">
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="toStep3"> </el-button>
<el-button @click="submit" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { inputListen } from '@/utils/utilFunction.js'
import { creditApplicationDetails, addOperation, creditApplicationInput } from '@/api/http'
import { addOperation, creditApplicationInput } from '@/api/http'
import { mapState, mapMutations } from 'vuex'
export default {
data () {
return {
form: {
applicationAccount: '6227007200580926',
applicationAccount: '913403005685450862',
customerName: '丛小凤',
identificationNumber: '220602199202281229',
contactPhoneNumber: '15890317718',
@ -327,8 +291,6 @@ export default {
name: '不良'
},
],
visible: false,
successVisible: false,
}
},
computed: {
@ -342,44 +304,22 @@ export default {
inputListen,
//
async getDetail () {
const id = this.creditIds.companyLoanId
let r
if (id) {
const res = await creditApplicationDetails({
companyLoanId: id
})
r = res.data.bankCreditApplication || {}
if (r.creditId) {
this.form.creditId = r.creditId
this.form.cooperationPeriod = r.cooperationPeriod
this.form.matureRepayment = r.matureRepayment === 'true'
this.form.otherRepaymentsCheck = !!r.otherRepayments
this.form.otherRepayments = r.otherRepayments
this.form.paymentForMaterials = r.paymentForMaterials === 'true'
this.form.payLaborCosts = r.payLaborCosts === 'true'
this.form.payExpenses = r.payExpenses === 'true'
this.form.otherUseCheck = !!r.otherUses
this.form.otherUses = r.otherUses
this.form.specialInstructions = r.specialInstructions
}
}
//
this.initCreditImportIds({
corporateIdCard: r.corporateIdCard || '',
mortgagePropertyCertificate: r.mortgagePropertyCertificate || '',
proofOfMaritalStatus: r.proofOfMaritalStatus || '',
copyOfSpouseSIdCard: r.copyOfSpouseSIdCard || '',
originalBusinessLicense: r.originalBusinessLicense || '',
accountOpeningPermit: r.accountOpeningPermit || '',
leaseContract: r.leaseContract || '',
companyArticlesOfAssociation: r.companyArticlesOfAssociation || '',
shareholderDocuments: r.shareholderDocuments || '',
financialSeal: r.financialSeal || '',
oneYearTaxPaymentCertificate: r.oneYearTaxPaymentCertificate || '',
halfYearRevenue: r.halfYearRevenue || '',
corporateFinancialStatements: r.corporateFinancialStatements || '',
loanApplicationForm: r.loanApplicationForm || '',
creditAuthorizationLetter: r.creditAuthorizationLetter || '',
corporateIdCard: '',
mortgagePropertyCertificate: '',
proofOfMaritalStatus: '',
copyOfSpouseSIdCard: '',
originalBusinessLicense: '',
accountOpeningPermit: '',
leaseContract: '',
companyArticlesOfAssociation: '',
shareholderDocuments: '',
financialSeal: '',
oneYearTaxPaymentCertificate: '',
halfYearRevenue: '',
corporateFinancialStatements: '',
loanApplicationForm: '',
creditAuthorizationLetter: '',
})
},
//
@ -387,17 +327,12 @@ export default {
this.setCreditImportIndex(i)
this.$parent.$parent.$parent.showData('导入报表', 12)
},
async beforeSubmit () {
const { form } = this
if (!form.matureRepayment && !form.otherRepaymentsCheck) return this.$message.error('请选择还款来源!')
if (form.otherRepaymentsCheck && !form.otherRepayments) return this.$message.error('请输入其他的还款来源!')
if (!form.paymentForMaterials && !form.payLaborCosts && !form.payExpenses && !form.otherUseCheck) return this.$message.error('请选择贷款用途!')
if (form.otherUseCheck && !form.otherUses) return this.$message.error('请输入其他的用途!')
this.visible = true
},
async submit () {
try {
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,
@ -407,34 +342,31 @@ export default {
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
const rule = []
form.cooperationPeriod && rule.push({ answerId: 875, emptyOne: 149, emptyTwo: form.cooperationPeriod, operationIds: preId + ',875', type: 3 })
form.matureRepayment && rule.push({ answerId: 798, emptyOne: 147, emptyTwo: 269, operationIds: preId + ',798', type: 1 })
form.otherRepayments && rule.push({ answerId: 798, emptyOne: 147, emptyTwo: 270, operationIds: preId + ',798', type: 1 })
form.paymentForMaterials && rule.push({ answerId: 833, emptyOne: 148, emptyTwo: 271, operationIds: preId + ',833', type: 1 })
form.payLaborCosts && rule.push({ answerId: 833, emptyOne: 148, emptyTwo: 272, operationIds: preId + ',833', type: 1 })
form.payExpenses && rule.push({ answerId: 833, emptyOne: 148, emptyTwo: 273, operationIds: preId + ',833', type: 1 })
form.otherUses && rule.push({ answerId: 833, emptyOne: 148, emptyTwo: 274, operationIds: preId + ',833', type: 1 })
form.matureRepayment && rule.push({ answerId: 799, emptyOne: '', emptyTwo: '', operationIds: preId + ',798,799', type: '' })
form.otherRepayments && rule.push({ answerId: 800, emptyOne: 125, emptyTwo: form.otherRepayments, operationIds: preId + ',798,800', type: 3 })
form.paymentForMaterials && rule.push({ answerId: 834, emptyOne: '', emptyTwo: '', operationIds: preId + ',833,834', type: '' })
form.payLaborCosts && rule.push({ answerId: 835, emptyOne: '', emptyTwo: '', operationIds: preId + ',833,835', type: '' })
form.payExpenses && rule.push({ answerId: 836, emptyOne: '', emptyTwo: '', operationIds: preId + ',833,836', type: '' })
form.otherUses && rule.push({ answerId: 800, emptyOne: 125, emptyTwo: form.otherUses, operationIds: preId + ',833,837', type: 3 })
form.specialInstructions && rule.push({ answerId: 802, emptyOne: 125, emptyTwo: form.specialInstructions, operationIds: preId + ',802', type: 3 })
//
const files = this.creditImportIds
files.corporateIdCard && rule.push({ answerId: 804, emptyOne: 146, emptyTwo: files.corporateIdCard, operationIds: preId + ',803,804', type: 1 })
files.mortgagePropertyCertificate && rule.push({ answerId: 805, emptyOne: 146, emptyTwo: files.mortgagePropertyCertificate, operationIds: preId + ',803,805', type: 1 })
files.proofOfMaritalStatus && rule.push({ answerId: 806, emptyOne: 146, emptyTwo: files.proofOfMaritalStatus, operationIds: preId + ',803,806', type: 1 })
files.copyOfSpouseSIdCard && rule.push({ answerId: 807, emptyOne: 146, emptyTwo: files.copyOfSpouseSIdCard, operationIds: preId + ',803,807', type: 1 })
files.originalBusinessLicense && rule.push({ answerId: 808, emptyOne: 146, emptyTwo: files.originalBusinessLicense, operationIds: preId + ',803,808', type: 1 })
files.accountOpeningPermit && rule.push({ answerId: 809, emptyOne: 146, emptyTwo: files.accountOpeningPermit, operationIds: preId + ',803,809', type: 1 })
files.leaseContract && rule.push({ answerId: 810, emptyOne: 146, emptyTwo: files.leaseContract, operationIds: preId + ',803,810', type: 1 })
files.companyArticlesOfAssociation && rule.push({ answerId: 811, emptyOne: 146, emptyTwo: files.companyArticlesOfAssociation, operationIds: preId + ',803,811', type: 1 })
files.shareholderDocuments && rule.push({ answerId: 812, emptyOne: 146, emptyTwo: files.shareholderDocuments, operationIds: preId + ',803,812', type: 1 })
files.financialSeal && rule.push({ answerId: 813, emptyOne: 146, emptyTwo: files.financialSeal, operationIds: preId + ',803,813', type: 1 })
files.oneYearTaxPaymentCertificate && rule.push({ answerId: 814, emptyOne: 146, emptyTwo: files.oneYearTaxPaymentCertificate, operationIds: preId + ',803,814', type: 1 })
files.halfYearRevenue && rule.push({ answerId: 815, emptyOne: 146, emptyTwo: files.halfYearRevenue, operationIds: preId + ',803,815', type: 1 })
files.corporateFinancialStatements && rule.push({ answerId: 817, emptyOne: 146, emptyTwo: files.corporateFinancialStatements, operationIds: preId + ',803,817', type: 1 })
files.loanApplicationForm && rule.push({ answerId: 818, emptyOne: 146, emptyTwo: files.loanApplicationForm, operationIds: preId + ',803,818', type: 1 })
files.creditAuthorizationLetter && rule.push({ answerId: 819, emptyOne: 146, emptyTwo: files.creditAuthorizationLetter, operationIds: preId + ',803,819', type: 1 })
files.corporateIdCard && rule.push({ answerId: 804, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,804', type: '' })
files.mortgagePropertyCertificate && rule.push({ answerId: 805, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,805', type: '' })
files.proofOfMaritalStatus && rule.push({ answerId: 806, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,806', type: '' })
files.copyOfSpouseSIdCard && rule.push({ answerId: 807, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,807', type: '' })
files.originalBusinessLicense && rule.push({ answerId: 808, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,808', type: '' })
files.accountOpeningPermit && rule.push({ answerId: 809, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,809', type: '' })
files.leaseContract && rule.push({ answerId: 810, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,810', type: '' })
files.companyArticlesOfAssociation && rule.push({ answerId: 811, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,811', type: '' })
files.shareholderDocuments && rule.push({ answerId: 812, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,812', type: '' })
files.financialSeal && rule.push({ answerId: 813, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,813', type: '' })
files.oneYearTaxPaymentCertificate && rule.push({ answerId: 814, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,814', type: '' })
files.halfYearRevenue && rule.push({ answerId: 815, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,815', type: '' })
files.corporateFinancialStatements && rule.push({ answerId: 817, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,817', type: '' })
files.loanApplicationForm && rule.push({ answerId: 818, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,818', type: '' })
files.creditAuthorizationLetter && rule.push({ answerId: 819, emptyOne: '', emptyTwo: '', operationIds: preId + ',803,819', type: '' })
await addOperation({
parentId: preId,
@ -443,21 +375,15 @@ export default {
startTime: sessionStorage.getItem('startTime')
})
this.successVisible = true
} catch { (e) => { } }
},
//
toStep3 () {
this.$message.success('保存成功!')
this.$parent.active = '3'
this.$parent.curStep = 0
this.$parent.tab3Disabled = false
} catch { (e) => { } }
},
},
}
</script>
<style lang='scss' scoped>
@import '@/styles/dialog.scss';
.l-title {
margin-bottom: 15px;
font-size: 18px;

@ -49,7 +49,7 @@
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName" />
</el-form-item>
<el-form-item label="代码证号" prop="identificationNumber">
<el-form-item label="证" prop="identificationNumber">
<el-input v-model="form.identificationNumber" />
</el-form-item>
<el-form-item label="注册地址" prop="companyRegisteredAddress">
@ -75,9 +75,7 @@
<el-input v-model="form.registrationType" />
</el-form-item>
<el-form-item label="营业执照到期日" prop="expirationDateOfBusinessLicense">
<el-date-picker v-model="form.expirationDateOfBusinessLicense" type="date" placeholder="选择日期"
:picker-options="pickerOptions">
</el-date-picker>
<el-input v-model="form.expirationDateOfBusinessLicense" />
</el-form-item>
<el-form-item label="借款人性质" prop="natureOfBorrower">
<el-input v-model="form.natureOfBorrower" />
@ -88,19 +86,18 @@
</el-row>
<div class="text-center m-t-20">
<el-button @click="$router.back()" v-throttle>返回</el-button>
<el-button @click="$history.back()" v-throttle>返回</el-button>
<el-button @click="next" type="primary" class="submitBtn" v-throttle>下一步</el-button>
</div>
</div>
</template>
<script>
import { inputListen } from '@/utils/utilFunction.js'
import { creditEvaluationDetails, addOperation, creditEvaluationInput } from '@/api/http'
import { mapMutations, mapState } from 'vuex'
import { addOperation, creditEvaluationInput } from '@/api/http'
import { mapMutations, mapGetters } from 'vuex'
export default {
data () {
return {
id: this.$route.query.id,
form: {
applicationAccount: '',
customerName: '',
@ -120,7 +117,7 @@ export default {
yearOfEstablishment: '',
registrationType: '',
mainBusinessScope: '',
expirationDateOfBusinessLicense: '2050-01-01',
expirationDateOfBusinessLicense: '',
financialReportSubmissionMethod: '',
natureOfBorrower: '',
},
@ -133,19 +130,11 @@ export default {
}
],
},
pickerOptions: {
disabledDate (v) {
return v.getTime() < new Date().getTime() - 86400000
},
},
submited: 0
}
},
computed: {
...mapState('system', ['creditIds']),
},
mounted () {
this.getDetail()
},
methods: {
...mapMutations({
@ -155,27 +144,10 @@ export default {
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate',
setCreditIds: 'system/setCreditIds',
setCreditImportIds: 'system/setCreditImportIds',
}),
//
async getDetail () {
const id = this.creditIds.companyLoanId
if (id) {
const res = await creditEvaluationDetails({
companyLoanId: id
})
const r = res.data.bankCreditEvaluation
r.identificationType = +r.identificationType
r.currency = 12
r.accountType = 97
r.interestRate = 3.2
r.interestCalculationMethod = 83
r.withdrawalMethod = 114
this.form = r
}
},
// blur
accountBlur () {
console.log(333, typeof this.form.applicationAccount)
if (this.form.applicationAccount === 12802851701099) {
this.form.customerName = '袋鼠互联网科技有限公司'
this.form.identificationType = 82
@ -189,7 +161,7 @@ export default {
this.form.yearOfEstablishment = '2018-02-19'
this.form.registrationType = '有限公司'
this.form.mainBusinessScope = '信息技术'
this.form.expirationDateOfBusinessLicense = '2050-01-01'
this.form.expirationDateOfBusinessLicense = '2024-01-01'
this.form.financialReportSubmissionMethod = '半年'
this.form.natureOfBorrower = '企业法人'
}
@ -205,28 +177,12 @@ export default {
})
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
const rule = [{ answerId: 769, emptyOne: 125, emptyTwo: form.applicationAccount, operationIds: preId + ',769', type: 3 }]
form.customerName && rule.push({ answerId: 880, emptyOne: 153, emptyTwo: form.customerName, operationIds: preId + ',880', type: 3 })
form.identificationNumber && rule.push({ answerId: 881, emptyOne: 153, emptyTwo: form.identificationNumber, operationIds: preId + ',881', type: 3 })
form.contactPhoneNumber && rule.push({ answerId: 882, emptyOne: 153, emptyTwo: form.contactPhoneNumber, operationIds: preId + ',882', type: 3 })
form.companyRegisteredAddress && rule.push({ answerId: 883, emptyOne: 153, emptyTwo: form.companyRegisteredAddress, operationIds: preId + ',883', type: 3 })
form.corporateName && rule.push({ answerId: 884, emptyOne: 153, emptyTwo: form.corporateName, operationIds: preId + ',884', type: 3 })
form.corporateIdNumber && rule.push({ answerId: 885, emptyOne: 153, emptyTwo: form.corporateIdNumber, operationIds: preId + ',885', type: 3 })
form.numberOfEmployees && rule.push({ answerId: 886, emptyOne: 153, emptyTwo: form.numberOfEmployees, operationIds: preId + ',886', type: 3 })
form.yearOfEstablishment && rule.push({ answerId: 887, emptyOne: 153, emptyTwo: form.yearOfEstablishment, operationIds: preId + ',887', type: 3 })
form.registrationType && rule.push({ answerId: 888, emptyOne: 153, emptyTwo: form.registrationType, operationIds: preId + ',888', type: 3 })
form.mainBusinessScope && rule.push({ answerId: 889, emptyOne: 153, emptyTwo: form.mainBusinessScope, operationIds: preId + ',889', type: 3 })
form.expirationDateOfBusinessLicense && rule.push({ answerId: 890, emptyOne: 153, emptyTwo: form.expirationDateOfBusinessLicense, operationIds: preId + ',890', type: 3 })
form.financialReportSubmissionMethod && rule.push({ answerId: 891, emptyOne: 153, emptyTwo: form.financialReportSubmissionMethod, operationIds: preId + ',891', type: 3 })
form.natureOfBorrower && rule.push({ answerId: 892, emptyOne: 153, emptyTwo: form.natureOfBorrower, operationIds: preId + ',892', type: 3 })
await addOperation({
parentId: preId,
lcJudgmentRuleReq: rule,
lcJudgmentRuleReq: [{ answerId: 769, emptyOne: 125, emptyTwo: form.applicationAccount, operationIds: preId + ',769', type: 3 },],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.setCreditImportIds()
// id
this.setCreditIds({
companyLoanId: data.companyLoanId, // tabid
@ -236,6 +192,15 @@ export default {
} catch { (e) => { } }
},
inputListen,
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList',
})
}
}
</script>

@ -26,13 +26,13 @@
</div>
<div class="text-center m-t-20">
<el-button @click="prev" type="primary" class="submitBtn" v-throttle>上一步</el-button>
<el-button @click="next(2)" type="primary" class="submitBtn" v-throttle>下一步</el-button>
<el-button @click="$emit('updateStep', 0)" type="primary" class="submitBtn" v-throttle>上一步</el-button>
<el-button @click="next" type="primary" class="submitBtn" v-throttle>下一步</el-button>
</div>
</div>
</template>
<script>
import { creditEvaluationDetails, addOperation, creditEvaluationInput } from '@/api/http'
import { addOperation, creditEvaluationInput } from '@/api/http'
import { mapMutations, mapState } from 'vuex'
export default {
@ -42,77 +42,55 @@ export default {
data () {
return {
form: {},
originForm: {},
}
},
mounted () {
this.getDetail()
},
methods: {
...mapMutations('system', ['setCreditImportIndex', 'initCreditImportIds']),
...mapMutations('system', ['setCreditImportIds', 'setCreditImportIndex', 'initCreditImportIds', 'setTipsOperate']),
//
async getDetail () {
// debugger
const id = this.creditIds.companyLoanId
if (id) {
const res = await creditEvaluationDetails({
companyLoanId: id
})
const r = res.data.bankCreditEvaluation
this.initCreditImportIds({
importBalanceSheet: r.importBalanceSheet || '',
importIncomeStatement: r.importIncomeStatement || '',
importCashFlowStatement: r.importCashFlowStatement || '',
importBalanceSheet: '',
importIncomeStatement: '',
importCashFlowStatement: '',
})
if (this.id) {
//
const { data } = await personalBasicFind(this.id)
this.basicForm = data.data
this.form = data.data.bankPersonalLoanContractInfo
}
this.originForm = JSON.stringify(this.creditImportIds)
},
//
importSth (i) {
this.setCreditImportIndex(i)
this.$parent.$parent.$parent.showData('导入报表', 12)
},
//
async prev () {
if (this.originForm !== JSON.stringify(this.creditImportIds)) {
try {
await this.$confirm(`编辑的内容未保存,是否保存并继续上一步?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
})
this.next(0)
} catch (e) { }
} else {
this.$emit('updateStep', 0)
}
},
async next (step) {
async next () {
const form = this.creditImportIds
if (step) {
if (!form.importBalanceSheet) return this.$message.error('请导入资产负债表!')
if (!form.importIncomeStatement) return this.$message.error('请导入损益表!')
if (!form.importCashFlowStatement) return this.$message.error('请导入现金流量表!')
}
try {
await creditEvaluationInput({
...this.creditIds,
...form
})
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768,876'
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [
{ answerId: 877, emptyOne: 150, emptyTwo: form.importBalanceSheet, operationIds: preId + ',877', type: 1 },
{ answerId: 878, emptyOne: 150, emptyTwo: form.importIncomeStatement, operationIds: preId + ',878', type: 1 },
{ answerId: 879, emptyOne: 150, emptyTwo: form.importCashFlowStatement, operationIds: preId + ',879', type: 1 },
{ answerId: 770, emptyOne: '', emptyTwo: '', operationIds: preId + ',770', type: '' },
{ answerId: 771, emptyOne: '', emptyTwo: '', operationIds: preId + ',771', type: '' },
{ answerId: 772, emptyOne: '', emptyTwo: '', operationIds: preId + ',772', type: '' },
],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$emit('updateStep', step)
this.$emit('updateStep', 2)
} catch { (e) => { } }
},
},

@ -74,15 +74,15 @@
</el-row>
<div class="text-center m-t-20">
<el-button @click="prev" type="primary" class="submitBtn" v-throttle>上一步</el-button>
<el-button @click="next(3)" type="primary" class="submitBtn" v-throttle>下一步</el-button>
<el-button @click="$emit('updateStep', 1)" type="primary" class="submitBtn" v-throttle>上一步</el-button>
<el-button @click="next" type="primary" class="submitBtn" v-throttle>下一步</el-button>
</div>
</div>
</template>
<script>
import { myValidate } from '@/utils/utilFunction.js';
import { creditEvaluationDetails, addOperation, creditEvaluationInput } from '@/api/http'
import { mapState } from 'vuex'
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, inputListen, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js';
import { addOperation, creditEvaluationInput } from '@/api/http'
import { mapMutations, mapGetters } from 'vuex'
export default {
data () {
return {
@ -123,7 +123,6 @@ export default {
loanRiskSituation: 204,
preLoanOtherRiskSituations: '',
},
originForm: {},
rules: {
surveyDate: [
{
@ -200,51 +199,16 @@ export default {
}
},
computed: {
...mapState('system', ['creditIds']),
// id
creditIds: function () {
return this.$store.state.system.creditIds
},
},
mounted () {
this.getDetail()
},
methods: {
//
async getDetail () {
const id = this.creditIds.companyLoanId
if (id) {
const res = await creditEvaluationDetails({
companyLoanId: id
})
const r = res.data.bankCreditEvaluation
r.externalUnfavorableGuarantee = +r.externalUnfavorableGuarantee || 204
r.tradeFinancingRecords = +r.tradeFinancingRecords || 204
r.businessStatus = +r.businessStatus || 205
r.businessInvestmentErrors = +r.businessInvestmentErrors || 204
r.badDebtReserves = +r.badDebtReserves || 204
r.enterpriseCustomerAnalysis = +r.enterpriseCustomerAnalysis || 205
r.majorLegalLitigation = +r.majorLegalLitigation || 204
r.compensationMajorAccidents = +r.compensationMajorAccidents || 204
r.loanRiskSituation = +r.loanRiskSituation || 204
this.form = r
}
this.originForm = JSON.stringify(this.form)
},
//
async prev () {
debugger
if (this.originForm !== JSON.stringify(this.form)) {
try {
await this.$confirm(`编辑的内容未保存,是否保存并继续上一步?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
})
this.next(1)
} catch (e) { }
} else {
this.$emit('updateStep', 1)
}
},
async next (step) {
async next () {
this.$refs.form.validate(myValidate(async () => {
try {
const { form } = this
@ -273,7 +237,7 @@ export default {
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$emit('updateStep', step)
this.$emit('updateStep', 3)
} catch { (e) => { } }
}, this.$refs))
},

@ -64,33 +64,21 @@
</el-row>
<div class="text-center m-t-20">
<el-button @click="prev" type="primary" class="submitBtn" v-throttle>上一步</el-button>
<el-button @click="confirmSubmit" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<el-dialog :visible="submitVisible" append-to-body :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" style="flex-direction: column;">
<p class="text-lg" style="color: #333">评估完成</p>
<p class="text-lg" style="color: #333">信用评级为AAAA可进行授信申请</p>
</div>
<div class="popBtns">
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="submit(0)"> </el-button>
<el-button @click="$emit('updateStep', 2)" type="primary" class="submitBtn" v-throttle>上一步</el-button>
<el-button @click="submit" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { creditEvaluationDetails, addOperation, creditEvaluationInput } from '@/api/http'
import { mapState } from 'vuex'
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, inputListen, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js';
import { addOperation, creditEvaluationInput } from '@/api/http'
export default {
computed: {
// id
creditIds: function () {
return this.$store.state.system.creditIds
},
},
data () {
return {
opt1: [
@ -195,7 +183,6 @@ export default {
haveAnyBadCreditRecords: 204,
gradeEvaluationOtherRiskSituations: '',
},
originForm: {},
rules: {
surveyDate: [
{
@ -205,60 +192,14 @@ export default {
}
],
},
submitVisible: false,
submited: 0
}
},
computed: {
...mapState('system', ['creditIds']),
},
mounted () {
this.getDetail()
},
methods: {
//
async getDetail () {
const id = this.creditIds.companyLoanId
if (id) {
const res = await creditEvaluationDetails({
companyLoanId: id
})
const r = res.data.bankCreditEvaluation
r.profitRecord = +r.profitRecord || 208
r.leadershipAdaptabilityAndDevelopment = +r.leadershipAdaptabilityAndDevelopment || 205
r.leadershipStyleAndConduct = +r.leadershipStyleAndConduct || 205
r.leadershipEducation = +r.leadershipEducation || 203
r.leadershipManagement = +r.leadershipManagement || 205
r.enterpriseDevelopmentCapability = +r.enterpriseDevelopmentCapability || 216
r.enterpriseDevelopmentProspects = +r.enterpriseDevelopmentProspects || 219
r.corporateReputation = +r.corporateReputation || 205
r.haveAnyBadCreditRecords = +r.haveAnyBadCreditRecords || 204
this.form = r
this.originForm = JSON.stringify(this.form)
}
},
confirmSubmit () {
this.submitVisible = true
},
//
async prev () {
debugger
if (this.originForm !== JSON.stringify(this.form)) {
try {
await this.$confirm(`编辑的内容未保存,是否保存并继续上一步?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
})
this.submit(1)
} catch (e) { }
} else {
this.$emit('updateStep', 2)
}
},
async submit (prev) {
async submit () {
try {
const { form } = this
await creditEvaluationInput({
@ -286,21 +227,13 @@ export default {
startTime: sessionStorage.getItem('startTime')
})
this.$message.success('创建成功!')
if (prev) {
//
this.$emit('updateStep', 2)
} else {
this.$parent.active = '2'
this.$parent.tab2Disabled = false
}
} catch { (e) => { } }
},
},
}
</script>
<style lang="scss" scoped>
@import '@/styles/dialog.scss';
<style lang='scss' scoped>
.l-title {
margin-bottom: 15px;
font-size: 18px;

@ -5,8 +5,8 @@
<div class="nav">
<el-menu :default-active="active" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">信用评估</el-menu-item>
<el-menu-item :disabled="tab2Disabled" index="2">授信申请</el-menu-item>
<el-menu-item :disabled="tab3Disabled" index="3">贷款申请</el-menu-item>
<el-menu-item index="2">授信申请</el-menu-item>
<el-menu-item index="3">贷款申请</el-menu-item>
</el-menu>
</div>
<MyTitle :titleArr="['公司贷款', '新建贷款申请', text]" />
@ -33,8 +33,6 @@
</template>
<script>
import { mapState } from 'vuex'
import { creditApplicationDetails, loanApplicationDetails } from '@/api/http'
import Basic from './creditEvaluation/basic.vue'
import ImportReport from './creditEvaluation/importReport.vue'
import PreLoan from './creditEvaluation/preLoan.vue'
@ -54,9 +52,6 @@ export default {
LoanApplication2,
MyTitle
},
computed: {
...mapState('system', ['creditIds']),
},
data () {
return {
text: '',
@ -64,37 +59,18 @@ export default {
'1': '信用评估',
'2': '授信申请',
'3': '贷款申请',
},
form: {
},
visible: false,
options: [],
active: '1',
steps: ['1.客户基本信息', '2.导入报表', '3.贷前调查', '4.等级评定'],
curStep: 0,
tab2Disabled: true,
tab3Disabled: true,
}
},
mounted () {
const id = this.creditIds.companyLoanId
if (id) {
this.getTab2Detail(id)
this.getTab3Detail(id)
}
},
methods: {
//
async getTab2Detail (id) {
const res = await creditApplicationDetails({
companyLoanId: id
})
this.tab2Disabled = !res.data.bankCreditApplication
},
//
async getTab3Detail (id) {
const res = await loanApplicationDetails({
companyLoanId: id
})
this.tab3Disabled = !res.data.bankLoanApplication
},
handleSelect (val) {
this.curStep = 0
this.text = this.textObj[val]

@ -26,7 +26,7 @@
<el-form-item label="客户名称">
<el-input v-model="form.customerName" disabled />
</el-form-item>
<el-form-item label="代码证号">
<el-form-item label="证">
<el-input v-model="form.corporateIdNumber" disabled />
</el-form-item>
<el-form-item label="法人姓名">
@ -42,7 +42,7 @@
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="授信金额">
<el-input v-model="form.creditAmount" disabled />
<el-input v-model="form.creditAmount" />
</el-form-item>
</el-col>
@ -57,8 +57,8 @@
</el-select>
</el-form-item>
<el-form-item label="贷款申请金额" required>
<el-input :value="form.loanApplicationAmount" placeholder="不大于授信金额"
@input="val => ismoney(val, form, 'loanApplicationAmount')" ref="loanApplicationAmount" />
<el-input v-model="form.loanApplicationAmount" placeholder="不大于授信金额"
@input="val => inputListen(val, form, 'loanApplicationAmount')" ref="loanApplicationAmount" />
</el-form-item>
<el-form-item label="发放方式" required>
<el-select v-model.trim="form.distributionMethod" placeholder="请选择">
@ -92,74 +92,42 @@
</div>
</template>
<script>
import { ismoney } from '@/utils/utilFunction.js'
import { loanApplicationDetails, addOperation, loanApplicationInput } from '@/api/http'
import { mapMutations, mapState } from 'vuex'
import { inputListen } from '@/utils/utilFunction.js'
import { addOperation, loanApplicationInput } from '@/api/http'
import { mapMutations, mapGetters } from 'vuex'
import Util from '@/libs/util'
export default {
data () {
return {
Util,
form: {
applicationNumber: '12802851701099',
applicationNumber: '913403005685450862',
customerName: '袋鼠互联网科技有限公司',
identificationType: 82,
identificationNumber: '913403005685450862',
companyRegisteredAddress: '广东省深圳市南山区前海一号2020室',
corporateName: '丛小凤',
corporateIdNumber: '913403005685450862',
corporateIdNumber: '220602199202281229',
creditRating: 'AAAA',
creditAmount: '12,000,000.00',
creditTermOne: 231,
annualizedInterestRate: '',
loanApplicationAmount: '',
repaymentMethodOne: 235,
distributionMethod: 238,
loanApplicationDate: '',
loanApplicationDate: Util.formatDate('yyyy-MM-dd', new Date()),
},
}
},
computed: {
...mapState('system', ['creditIds']),
},
mounted () {
this.getDetail()
console.log(11, this.$store.state.system)
},
methods: {
...mapMutations({
setCreditIds: 'system/setCreditIds',
}),
ismoney,
//
async getDetail () {
const id = this.creditIds.companyLoanId
if (id) {
const res = await loanApplicationDetails({
companyLoanId: id
})
const r = res.data.bankLoanApplication
if (r) {
this.form = {
applicationNumber: '12802851701099',
customerName: '袋鼠互联网科技有限公司',
identificationType: 82,
identificationNumber: '913403005685450862',
companyRegisteredAddress: r.companyRegisteredAddress,
corporateName: r.corporateName,
corporateIdNumber: r.corporateIdNumber,
creditRating: r.creditRating,
creditAmount: '12,000,000.00',
creditTermOne: +r.creditTermOne || 231,
loanApplicationAmount: r.loanApplicationAmount,
repaymentMethodOne: +r.repaymentMethodOne || 235,
distributionMethod: +r.distributionMethod || 238,
loanApplicationDate: r.loanApplicationDate,
loanId: r.loanId
}
}
}
},
inputListen,
async next () {
const { form } = this
if (!form.loanApplicationAmount) return this.$message.error('请填写贷款申请金额!')
@ -168,25 +136,19 @@ export default {
const { data } = await loanApplicationInput({
...this.$store.getters['system/commonIds'],
...form,
companyLoanId: this.creditIds.companyLoanId,
companyLoanId: this.$store.state.system.creditIds.companyLoanId,
})
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
const rule = [
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [
{ answerId: 820, emptyOne: 134, emptyTwo: form.creditTermOne, operationIds: preId + ',820', type: 1 },
{ answerId: 821, emptyOne: 125, emptyTwo: form.loanApplicationAmount, operationIds: preId + ',821', type: 3 },
{ answerId: 822, emptyOne: 135, emptyTwo: form.repaymentMethodOne, operationIds: preId + ',822', type: 1 },
{ answerId: 823, emptyOne: 136, emptyTwo: form.distributionMethod, operationIds: preId + ',823', type: 1 },
{ answerId: 845, emptyOne: 140, emptyTwo: form.loanApplicationDate, operationIds: preId + ',845', type: 3 },
]
form.companyRegisteredAddress && rule.push({ answerId: 883, emptyOne: 153, emptyTwo: form.companyRegisteredAddress, operationIds: preId + ',883', type: 3 })
form.corporateName && rule.push({ answerId: 884, emptyOne: 153, emptyTwo: form.corporateName, operationIds: preId + ',884', type: 3 })
form.corporateIdNumber && rule.push({ answerId: 885, emptyOne: 153, emptyTwo: form.corporateIdNumber, operationIds: preId + ',885', type: 3 })
form.creditRating && rule.push({ answerId: 896, emptyOne: '', emptyTwo: '', operationIds: preId + ',896', type: '' })
form.creditAmount && rule.push({ answerId: 897, emptyOne: '', emptyTwo: '', operationIds: preId + ',897', type: '' })
await addOperation({
parentId: preId,
lcJudgmentRuleReq: rule,
],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
@ -199,6 +161,15 @@ export default {
} catch { (e) => { } }
},
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
}
}
</script>
<style lang='scss' scoped>

@ -2,20 +2,20 @@
<template>
<div>
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
<el-form ref="form" :model="form" label-width="140px">
<el-col :span="24">
<h6 class="l-title">客户信息</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="贷款类型">
<el-select value="企业经营贷款" placeholder="请选择" disabled>
<el-select value="企业经营贷款" placeholder="请选择">
<el-option value="企业经营贷款"></el-option>
</el-select>
</el-form-item>
<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>
@ -25,7 +25,7 @@
<el-form-item label="执行利率">
<el-input value="3.2%" disabled />
</el-form-item>
<el-form-item label="担保方式" prop="guaranteeMethod">
<el-form-item label="担保方式" required>
<el-select v-model="form.guaranteeMethod" placeholder="请选择">
<el-option v-for="(item, i) in Util.guaranteeMethods" :key="i" :label="item.name"
:value="item.id"></el-option>
@ -34,7 +34,7 @@
<el-form-item label="利息总额">
<el-input v-model="form.totalInterestAmount" disabled />
</el-form-item>
<el-form-item label="还款账号" prop="repaymentAccount">
<el-form-item label="还款账号" required>
<el-input v-model="form.repaymentAccount" />
</el-form-item>
</el-col>
@ -47,7 +47,7 @@
<el-option v-for="(item, i) in Util.creditTerms" :key="i" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="贷款期限" prop="loanTerm" @change="interestCalc">
<el-form-item label="贷款期限" prop="loanTerm">
<el-select v-model="form.loanTerm" placeholder="请选择" @change="maturityDateCalc">
<el-option v-for="(item, i) in Util.loanTerms" :key="i" :label="item.name" :value="item.id"></el-option>
</el-select>
@ -69,63 +69,25 @@
</el-select>
</el-form-item>
<el-form-item label="贷款金额">
<el-input v-model="form.loanAmount" @input="loanAmountInput" />
<el-input v-model="form.loanAmount" />
</el-form-item>
</el-col>
</el-form>
</el-row>
<div class="text-center m-t-20">
<el-button @click="beforeSubmit" type="primary" class="submitBtn" v-throttle>提交</el-button>
<el-button @click="submit" type="primary" class="submitBtn" v-throttle>提交</el-button>
</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 class="text-lg" style="color: #333">确定提交贷款申请吗</p>
</div>
<div class="popBtns">
<el-button class="close btn hover:bg-blue-100 " @click="visible = false"> </el-button>
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="submit"> </el-button>
</div>
</div>
</el-dialog>
<el-dialog :visible="successVisible" append-to-body style="z-index: 6000;" :close-on-click-modal="false"
: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 class="text-lg" style="color: #333">贷款申请成功</p>
</div>
<div class="popBtns">
<el-button class="sure btn hover:bg-blue-700 " type="primary"
@click="$router.push('/counter/list/manage/corporateLoans-application')"> </el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { addOperation, loanApplicationInput, loanApplicationDetails, loanApplicationInterestCalculation } from '@/api/http'
import { addOperation, loanApplicationInput, loanApplicationDetails } from '@/api/http'
import Util from '@/libs/util'
import { mapMutations, mapState } from 'vuex'
export default {
data () {
return {
Util,
step1: {},
timer: null,
creditIds: this.$store.state.system.creditIds,
form: {
valueDate: '',
creditTermTwo: 231,
@ -134,68 +96,29 @@ export default {
expirationDate: '',
totalInterestAmount: '',
loanAmount: '',
propertyCertificateNo: '',
repaymentMethodTwo: '',
interestTotal: '',
repaymentAccount: '',
},
rules: {
valueDate: [
{
required: true,
message: '请选择起息日期',
trigger: 'change'
}
],
guaranteeMethod: [
{
required: true,
message: '请选择担保方式',
trigger: 'change'
}
],
repaymentAccount: [
{
required: true,
message: '请输入还款账号',
trigger: 'blur'
}
],
},
visible: false,
successVisible: false,
}
},
computed: {
...mapState('system', ['creditIds']),
},
mounted () {
this.getDetail()
},
methods: {
//
async getDetail () {
const id = this.creditIds.companyLoanId
if (id) {
if (this.creditIds.companyLoanId) {
//
const res = await loanApplicationDetails({
companyLoanId: id
companyLoanId: this.creditIds.companyLoanId
})
const r = res.data.bankLoanApplication
if (r) {
this.step1 = r
this.form = {
valueDate: r.valueDate,
creditTermTwo: +r.creditTermOne,
loanTerm: +r.loanTerm || 120,
guaranteeMethod: +r.guaranteeMethod || 242,
expirationDate: r.expirationDate,
totalInterestAmount: r.totalInterestAmount,
loanAmount: r.loanApplicationAmount,
repaymentMethodTwo: +r.repaymentMethodOne,
repaymentAccount: r.repaymentAccount,
creditAmount: r.creditAmount,
}
}
const data = res.data.bankLoanApplication
this.form.loanAmount = data.loanApplicationAmount
this.form.repaymentMethodTwo = +data.repaymentMethodOne
this.form.creditTermTwo = +data.creditTermOne
this.form.creditAmount = data.creditAmount
}
},
//
@ -206,48 +129,21 @@ export default {
date.setMonth(date.getMonth() + loanTerm)
this.form.expirationDate = Util.formatDate('yyyy-MM-dd', date)
}
this.interestCalc()
},
// input
loanAmountInput () {
clearTimeout(this.timer);
this.timer = setTimeout(() => {
this.interestCalc()
}, 500)
},
//
async interestCalc () {
const { form } = this
if (form.loanAmount && form.valueDate) {
const { data } = await loanApplicationInterestCalculation({
...this.creditIds,
...form,
})
form.totalInterestAmount = data.totalInterestAmount || ''
}
},
async beforeSubmit () {
async submit () {
try {
const { form } = this
if (!form.valueDate) return this.$message.error('请选择起息日期!')
if (new Date(form.valueDate) < new Date(this.step1.loanApplicationDate)) return this.$message.error('起息日期不得早于申请日期!')
if (!form.repaymentAccount) return this.$message.error('请输入还款账号!')
if (+form.loanAmount > 12000000) return this.$message.error('贷款金额不得大于授信金额!')
this.visible = true
} catch { (e) => { } }
},
async submit () {
try {
const { form } = this
await loanApplicationInput({
...this.creditIds,
...this.$store.state.system.creditIds,
...form,
})
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
const rule = [
{ answerId: 824, emptyOne: 137, emptyTwo: 240, operationIds: preId + ',824', type: 1 },
{ answerId: 825, emptyOne: 134, emptyTwo: form.creditTermTwo, operationIds: preId + ',825', type: 1 },
{ answerId: 825, emptyOne: 138, emptyTwo: 241, operationIds: preId + ',825', type: 1 },
{ answerId: 826, emptyOne: 125, emptyTwo: form.valueDate, operationIds: preId + ',826', type: 3 },
{ answerId: 846, emptyOne: 141, emptyTwo: Util.loanTerms.find(e => e.id === form.loanTerm).pointId, operationIds: preId + ',846', type: 1 },
{ answerId: 827, emptyOne: 125, emptyTwo: form.expirationDate, operationIds: preId + ',827', type: 3 },
@ -263,15 +159,14 @@ export default {
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.successVisible = true
this.$message.success('保存成功!')
this.$router.back()
} catch { (e) => { } }
},
},
}
</script>
<style lang='scss' scoped>
@import '@/styles/dialog.scss';
.l-title {
margin-bottom: 15px;
font-size: 18px;

@ -27,8 +27,8 @@
<el-form-item label="客户名称">
<el-input v-model="form.customerName" disabled />
</el-form-item>
<el-form-item label="代码证号">
<el-input v-model="bankLoanApplication.corporateIdNumber" disabled />
<el-form-item label="证">
<el-input v-model="form.corporateIdNumber" disabled />
</el-form-item>
<el-form-item label="法人姓名">
<el-input v-model="form.corporateName" />
@ -65,11 +65,6 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="申请日期" prop="loanApplicationDate">
<el-date-picker v-model="bankLoanApplication.loanApplicationDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" ref="loanApplicationDate">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="年化利率">
@ -118,6 +113,11 @@
<el-form-item label="还款账号">
<el-input v-model="bankLoanApplication.repaymentAccount" />
</el-form-item>
<el-form-item label="申请日期" prop="loanApplicationDate">
<el-date-picker v-model="bankLoanApplication.loanApplicationDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" ref="loanApplicationDate">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="合同编号" prop="contractNo">
@ -129,7 +129,7 @@
</el-select>
</el-form-item>
<el-form-item label="贷款期限" prop="loanTerm">
<el-select v-model="bankLoanApplication.loanTerm" placeholder="请选择">
<el-select v-model="bankLoanApplication.loanTerm" placeholder="请选择" @change="maturityDateCalc">
<el-option v-for="(item, i) in Util.loanTerms" :key="i" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
@ -143,8 +143,8 @@
<el-form-item label="逾期利率" prop="overdueInterestRate">
<el-input value="10%" disabled />
</el-form-item>
<el-form-item label="还款方式" prop="repaymentMethodTwo">
<el-select v-model="bankLoanApplication.repaymentMethodTwo" placeholder="请选择" disabled>
<el-form-item label="还款方式" prop="repaymentMethodOne">
<el-select v-model="bankLoanApplication.repaymentMethodOne" placeholder="请选择" disabled>
<el-option v-for="(item, i) in Util.repaymentMethods" :key="i" :label="item.name" :value="item.id">
</el-option>
</el-select>
@ -162,17 +162,9 @@
<el-button @click="$router.back()" type="primary" class="submitBtn" v-throttle>关闭</el-button>
</div>
<el-dialog :visible.sync="loanVisible" z-index="6000" width="500px" append-to-body :show-close="false"
custom-class="dia">
<div class="data-dia23">
<div slot="title" class="dia-header">
<div class="data-title">放款</div>
</div>
<div style="padding: 30px 0;">
<el-date-picker v-model="loanDate" type="date" placeholder="请选择放款日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
</div>
</div>
<el-dialog title="放款" :visible.sync="loanVisible" width="300px" z-index="6000" :append-to-body="true">
<el-date-picker v-model="loanDate" type="date" placeholder="请选择放款日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
style="width: 100%;"></el-date-picker>
<span slot="footer" class="dialog-footer">
<el-button @click="loanVisible = false">取消</el-button>
<el-button type="primary" @click="loanSubmit">确定</el-button>
@ -230,16 +222,12 @@ export default {
if (this.id) {
//
const { data } = await companyLoanDetails(this.id)
const eva = data.bankCreditEvaluation || {}
if (eva.identificationType) eva.identificationType = +eva.identificationType
this.form = eva || {}
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.repaymentMethodTwo) app.repaymentMethodTwo = +app.repaymentMethodTwo
if (app.creditTerm) app.creditTerm = +app.creditTerm
if (app.guaranteeMethod) app.guaranteeMethod = +app.guaranteeMethod
if (app.loanTerm) app.loanTerm = +app.loanTerm
@ -256,14 +244,11 @@ export default {
//
async loanSubmit () {
if (!this.loanDate) return this.$message.error('请选择放款日期!')
try {
const { data } = await loanDisbursement({
companyLoanId: this.id,
loanDate: this.loanDate,
})
this.$message[data.status === 200 ? 'success' : 'error'](data.message)
if (data.status === 200) {
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
await addOperation({
parentId: preId,
@ -271,17 +256,14 @@ export default {
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$message[data.status === 200 ? 'success' : 'error'](data.message)
this.loanVisible = false
this.getDetail()
}
} catch (e) { }
},
},
}
</script>
<style lang='scss' scoped>
@import '@/styles/dialog.scss';
.wrap {
width: 100%;
height: calc(100vh - 118px);

@ -10,23 +10,15 @@
<el-table :data="list" stripe :header-cell-style="headerCellStyle">
<el-table-column prop="customerName" label="客户姓名" align="center" />
<el-table-column prop="applicationNumber" label="贷款编号" align="center" />
<el-table-column prop="loanDate" label="放款日期" align="center">
<template slot-scope="scope">{{ scope.row.loanDate || '-' }}</template>
</el-table-column>
<el-table-column prop="loanAmount" label="贷款金额(万)" align="center">
<template slot-scope="scope">{{ scope.row.loanAmount || '-' }}</template>
</el-table-column>
<el-table-column prop="loanAmount" label="放款金额(万)" align="center">
<template slot-scope="scope">{{ scope.row.loanDate ? scope.row.loanAmount : '-' }}</template>
</el-table-column>
<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 :disabled="!!scope.row.builtIn" @click="toDetail(scope.row)" size="small">{{
scope.row.loanApplicationAmount ? '查看' : '编辑'
}}</el-button>
<el-button :disabled="!!scope.row.builtIn" @click="toDetail(scope.row)" size="small">详情</el-button>
</template>
</el-table-column>
</el-table>
@ -75,7 +67,6 @@ export default {
pageNum: this.page,
pageSize: this.pageSize,
searchContent: this.keyword,
typeId: 2
})
this.list = data.page.records
this.total = data.page.total
@ -90,11 +81,7 @@ export default {
},
//
toDetail (row) {
// id
this.$store.commit('system/setCreditIds', (row ? {
companyLoanId: row.companyLoanId, // tabid
} : {}))
this.$router.push(row.loanApplicationAmount ? `/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}` : '/counter/list/manage/corporateLoans-apply')
this.$router.push(`/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}`)
},
}
};

@ -1,5 +1,5 @@
<template>
<!-- 管理 -->
<!-- 管理 -->
<div class="wrap">
<my-title :titleArr="['公司贷款', '贷后管理']" />
@ -10,27 +10,13 @@
<el-table :data="list" stripe :header-cell-style="headerCellStyle">
<el-table-column prop="customerName" label="客户姓名" align="center" />
<el-table-column prop="applicationNumber" label="贷款编号" align="center" />
<el-table-column prop="loanStatus" label="贷款状态" align="center" width="100">
<template slot-scope="scope">{{ scope.row.loanStatus || '-' }}</template>
</el-table-column>
<el-table-column prop="fiveLevelClassification" label="五级分类" align="center">
<template slot-scope="scope">{{ scope.row.five || '-' }}</template>
</el-table-column>
<el-table-column prop="processingResults" label="处理结果" align="center" width="100">
<template slot-scope="scope">{{ scope.row.processingResults || '-' }}</template>
</el-table-column>
<el-table-column prop="updateTime" label="处理日期" align="center" width="160">
<template slot-scope="scope">{{ scope.row.updateTime || '-' }}</template>
</el-table-column>
<el-table-column prop="arrearsAmount" label="欠款金额" align="center" width="100">
<template slot-scope="scope">{{ scope.row.arrearsAmount || '-' }}</template>
</el-table-column>
<el-table-column prop="loanStatus" label="贷款状态" align="center" />
<el-table-column prop="updateTime" label="处理日期" align="center" />
<el-table-column label="操作" align="center" width="360">
<template v-if="!scope.row.builtIn" 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 v-if="!scope.row.nonPerformingLoan" :disabled="scope.row.fiveLevelClassification"
@click="npl(scope.row)" size="small">不良贷款</el-button>
<el-button v-if="!scope.row.nonPerformingLoan" @click="npl(scope.row)" size="small">不良贷款</el-button>
<el-button v-if="!scope.row.badDebtRecognition" @click="badDebt(scope.row)" size="small">呆账认定</el-button>
</template>
</el-table-column>
@ -283,16 +269,8 @@ export default {
pageNum: this.page,
pageSize: this.pageSize,
searchContent: this.keyword,
typeId: 4
})
const list = data.page.records
const { opt4 } = this
list.forEach(e => {
const five = e.fiveLevelClassification
e.bad = five === '4' || five === '5' //
if (five) e.five = opt4.find(n => n.id == five).name
})
this.list = list
this.list = data.page.records
this.total = data.page.total
},
initData () {
@ -319,10 +297,8 @@ export default {
async postLoanSubmit () {
const { form } = this
if (!form.stateChange) return this.$message.error('请填写客户基本状态变化!')
form.companyLoanId = this.curRow.companyLoanId
await postLoanInvestigationInput(form)
this.submitPoint(841)
this.getData()
this.postLoanVisible = false
},

@ -11,14 +11,10 @@
<el-table-column prop="customerName" label="客户姓名" align="center" />
<el-table-column prop="applicationNumber" label="贷款编号" align="center" />
<el-table-column prop="totalRepaymentAmount" label="累计还款金额(万)" align="center" />
<el-table-column prop="arrearsAmount" label="欠款金额(万)" align="center">
<template slot-scope="scope">{{ scope.row.arrearsAmount || '-' }}</template>
</el-table-column>
<el-table-column prop="arrearsAmount" label="欠款金额(万)" align="center" />
<el-table-column label="操作" align="center" width="240">
<template slot-scope="scope">
<el-button :disabled="!!scope.row.builtIn" @click="toDetail(scope.row)" size="small">{{
scope.row.loanApplicationAmount ? '查看' : '编辑'
}}</el-button>
<el-button :disabled="!!scope.row.builtIn" @click="toDetail(scope.row)" size="small">详情</el-button>
<template v-if="!scope.row.builtIn">
<el-button size="small" @click="showExtension(scope.row)">展期</el-button>
<el-button @click="repayment(scope.row)" size="small">还款计划</el-button>
@ -203,7 +199,6 @@ export default {
pageNum: this.page,
pageSize: this.pageSize,
searchContent: this.keyword,
typeId: 3
})
this.list = data.page.records
this.total = data.page.total
@ -218,11 +213,7 @@ export default {
},
//
toDetail (row) {
// id
this.$store.commit('system/setCreditIds', (row ? {
companyLoanId: row.companyLoanId, // tabid
} : {}))
this.$router.push(row.loanAmount ? `/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}` : '/counter/list/manage/corporateLoans-apply')
this.$router.push(`/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}`)
},
//
showExtension (row) {
@ -292,16 +283,6 @@ export default {
id: row.id,
status
}])
const answerId = status === '已还款' ? 900 : 901
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [{ answerId, emptyOne: '', emptyTwo: '', operationIds: preId + ',' + answerId, type: '' },],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$message.success(`${text}成功`)
this.getRepayment()
this.getData()
@ -322,16 +303,6 @@ export default {
}
})
await batchProcessingCompany(ids)
const answerId = status === '已还款' ? 898 : 899
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [{ answerId, emptyOne: '', emptyTwo: '', operationIds: preId + ',' + answerId, type: '' },],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$message.success(`${text}成功`)
this.$refs.repayments.clearSelection()
this.multipleSelection = []

@ -23,15 +23,15 @@
<p>请刷卡</p>
</div>
<div v-else>
<el-input maxlength="20" ref="voucherNumber" disabled v-model="form.voucherNumber"
<el-input maxlength="20" ref="voucherNumber" disabled :value="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
<p style="color: #8f8f8f;">可用余额人民币 3,200,000.00</p>
</div>
</el-form-item>
<el-form-item label="钞汇" prop="goldLogo">
<el-select v-model.trim="form.goldLogo" placeholder="请选择" ref="goldLogo">
<el-option v-for="item in goldLogos" :label="item.options" :value="item.itemId" :key="item.itemId">
</el-option>
<el-option v-for="item in getSelectList.banknoteRemittanceList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="购汇用途" prop="buyForeignPurpose">
@ -48,15 +48,15 @@
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="外" prop="money">
<el-input v-model="form.money" maxlength="15" @input="val => ismoney(val, form, 'money')"></el-input>
<el-form-item label="外汇金额" prop="money">
<el-input :value="form.money" maxlength="15" @input="val => ismoney(val, form, 'money')"></el-input>
</el-form-item>
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp2('密码器')">
<p>请输入密码</p>
</div>
<div v-else @click="popUp2('密码器')">
<el-input v-model="form.drawPassword" ref="drawPassword" type="password"></el-input>
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
</el-form-item>
</el-col>
@ -64,7 +64,7 @@
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2" :needAuth="needAuth" />
@submitIt="submitForm2" :needAuth="needAuth" />
</div>
</template>
<script>
@ -93,6 +93,7 @@ export default {
if (sessionStorage.getItem('foreignExchangePuchasingBankCard')) {
this.cardNumberJudge = true
const { voucherNumber, goldLogo } = this.dataFlow
this.form.goldLogo = goldLogo
this.form.voucherNumber = voucherNumber
}
@ -115,7 +116,7 @@ export default {
voucherNumber: '凭证号码',
currency: '币种',
goldLogo: '钞汇',
money: '外',
money: '外汇金额',
buyForeignPurpose: '购汇用途',
drawPassword: '支取密码',
},
@ -149,16 +150,6 @@ export default {
}
],
},
goldLogos: [
{
itemId: 150,
options: '现汇(参考牌价712.34)'
},
{
itemId: 151,
options: '现钞(参考牌价712.34)'
},
],
submited: 0
}
},
@ -222,10 +213,10 @@ export default {
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,708,753'
formList.push(
{ answerId: 755, emptyOne: '', emptyTwo: '', operationIds: preId + ',755', type: '' },
{ answerId: 756, emptyOne: 123, emptyTwo: form.currency, operationIds: preId + ',756', type: 1 },
{ answerId: 756, emptyOne: 8, emptyTwo: form.currency, operationIds: preId + ',756', type: 1 },
{ answerId: 757, emptyOne: 119, emptyTwo: form.goldLogo, operationIds: preId + ',757', type: 1 },
{ answerId: 758, emptyOne: 120, emptyTwo: form.money, operationIds: preId + ',758', type: 3 },
{ answerId: 759, emptyOne: 124, emptyTwo: form.buyForeignPurpose, operationIds: preId + ',759', type: 1 },
{ answerId: 759, emptyOne: 117, emptyTwo: form.buyForeignPurpose, operationIds: preId + ',759', type: 1 },
{ answerId: 760, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',760', type: 3 },
)
let params = {

@ -19,21 +19,20 @@
<p>请刷卡</p>
</div>
<div v-else>
<el-input maxlength="20" ref="voucherNumber" disabled v-model="form.voucherNumber"
<el-input maxlength="20" ref="voucherNumber" disabled :value="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
<p style="color: #8f8f8f;">可用余额美元 现汇 5000.00</p>
<p style="color: #8f8f8f;">可用余额人民币 3,200,000.00</p>
</div>
</el-form-item>
<el-form-item label="外币金额" prop="money">
<el-input v-model="form.money" placeholder="最多可结汇5,000.00" maxlength="15"
@input="val => ismoney(val, form, 'money')"></el-input>
<el-input :value="form.money" maxlength="15" @input="val => ismoney(val, form, 'money')"></el-input>
</el-form-item>
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp2('密码器')">
<p>请输入密码</p>
</div>
<div v-else @click="popUp2('密码器')">
<el-input v-model="form.drawPassword" ref="drawPassword" type="password"></el-input>
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
</el-form-item>
</el-col>
@ -54,7 +53,7 @@
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2" :needAuth="needAuth" />
@submitIt="submitForm2" :needAuth="needAuth" />
</div>
</template>
<script>
@ -83,7 +82,8 @@ export default {
}
if (sessionStorage.getItem('foreignExchangeSettleBankCard')) {
this.cardNumberJudge = true
const { voucherNumber } = this.dataFlow
const { currency, voucherNumber } = this.dataFlow
this.form.currency = currency
this.form.voucherNumber = voucherNumber
}
// this.getFormData()
@ -95,7 +95,7 @@ export default {
cardNumberJudge: false,
form: {
voucherNumber: '', //
currency: 153,
currency: '',
money: '',
fundingSource: '',
drawPassword: '',
@ -161,7 +161,7 @@ export default {
else if (list[i].answerId == '87') { this.form.currency = +list[i].emptyTwo } //
else if (list[i].answerId == '88') { this.form.goldLogo = +list[i].emptyTwo } //
else if (list[i].answerId == '89') { this.form.money = list[i].emptyTwo } //
else if (list[i].answerId == '90') { this.form.fundingSource = +list[i].emptyTwo } //
else if (list[i].answerId == '90') { this.form.drawWay = +list[i].emptyTwo } //
// if (list[i].answerId == '91') {sessionStorage.setItem('nomCurrentWithdrawalPassword', list[i].emptyTwo)} //
else if (list[i].answerId == '91') {
console.log(91)
@ -178,14 +178,12 @@ export default {
}).catch(() => { })
},
submitForm () {
const { form } = this
if (this.submited) return this.$message.error('已提交!')
if (!form.voucherNumber) {
if (!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if (form.money > 5000) return this.$message.warning('外币金额最多结汇5000.00,请重新输入')
if (!form.drawPassword) {
if (!this.form.drawPassword) {
messagePassword()
return
}
@ -204,7 +202,7 @@ export default {
{ answerId: 761, emptyOne: '', emptyTwo: '', operationIds: preId + ',761', type: '' },
{ answerId: 762, emptyOne: 8, emptyTwo: form.currency, operationIds: preId + ',762', type: 1 },
{ answerId: 763, emptyOne: 121, emptyTwo: form.money, operationIds: preId + ',763', type: 3 },
{ answerId: 764, emptyOne: 122, emptyTwo: form.fundingSource, operationIds: preId + ',764', type: 1 },
{ answerId: 764, emptyOne: 122, emptyTwo: form.drawWay, operationIds: preId + ',764', type: 1 },
{ answerId: 765, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',765', type: 3 },
)
let params = {

@ -78,14 +78,14 @@
</el-form-item>
</el-col>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form"
:formName="formName" :spare="false" @submitIt="submitForm2" depositNumber='0816' />
:formName="formName" @submitIt="submitForm2" depositNumber='0816' />
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2()" />
@submitIt="submitForm2()" />
</div>
</template>
@ -114,8 +114,8 @@ export default {
idNumber: '',//
clientNumber: '', //
customerName: '', //
currency: 12, //
goldLogo: 13, //
currency: '', //
goldLogo: '', //
voucherType: 15, //
voucherNumber: '', //
openOnlineBanking: '',
@ -194,10 +194,13 @@ export default {
if (sessionStorage.getItem('onlineBankIdCard')) {
this.idNumberJudge = true
const { idNumber, userName, peopleNumber } = this.dataFlow
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 = 15
}
if (sessionStorage.getItem('onlineBankBankCard')) {
this.cardNumberJudge = true
@ -298,7 +301,7 @@ export default {
{ answerId: 748, emptyOne: 11, emptyTwo: form.voucherType, operationIds: preId + ',748', type: 1 },
{ answerId: 750, emptyOne: 117, emptyTwo: form.openOnlineBanking, operationIds: preId + ',750', type: 1 },
{ answerId: 749, emptyOne: 44, emptyTwo: form.voucherNumber, operationIds: preId + ',749', type: 3 },
{ answerId: 751, emptyOne: 118, emptyTwo: form.openPhoneBanking, operationIds: preId + ',751', type: 1 },
{ answerId: 751, emptyOne: 117, emptyTwo: form.openPhoneBanking, operationIds: preId + ',751', type: 1 },
{ answerId: 752, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',752', type: 3 },
)

@ -1,10 +1,7 @@
<!-- 代收电费 -->
<template>
<div class="wrap">
<div class="flex j-between a-center">
<MyTitle :titleArr="['个人贷款', '新增贷款申请']" />
<el-button size="small" @click="$router.back()">返回</el-button>
</div>
<el-row :gutter="20" style="margin: 0">
<el-form v-if="curStep === 1 || isDetail" ref="basicForm" :model="basicForm" label-width="120px"
:rules="basicRules" :disabled="isDetail">
@ -65,9 +62,7 @@
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="薪酬">
<el-input v-model="basicForm.salary">
<template slot="append">/</template>
</el-input>
<el-input v-model="basicForm.salary" />
</el-form-item>
<el-form-item label="工龄">
<el-input v-model="basicForm.totalWorkYears" />
@ -121,11 +116,11 @@
<el-input value="个人住房贷款" disabled />
</el-form-item>
<el-form-item label="合同金额" prop="contractAmount">
<el-input v-model="form.contractAmount" @change="interestCalc" />
<el-input v-model="form.contractAmount" />
</el-form-item>
<el-form-item label="起息日期" prop="interestStartDate">
<el-date-picker v-model="form.interestStartDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" :clearable="false" @change="maturityDateCalc"></el-date-picker>
value-format="yyyy-MM-dd" @change="maturityDateCalc"></el-date-picker>
</el-form-item>
<el-form-item label="计息方式">
<el-input value="按年浮动计息" disabled />
@ -190,35 +185,19 @@
}}</el-button>
</div>
<el-dialog :visible.sync="loanVisible" z-index="6000" width="500px" append-to-body :show-close="false"
custom-class="dia">
<div class="data-dia23">
<div slot="title" class="dia-header">
<div class="data-title">放款</div>
</div>
<div style="padding: 30px 0;">
<el-dialog title="放款" :visible.sync="loanVisible" width="300px" z-index="6000" :append-to-body="true">
<el-date-picker v-model="disbursementDate" type="date" placeholder="请选择放款日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="loanVisible = false">取消</el-button>
<el-button type="primary" @click="loanSubmit">确定</el-button>
</span>
</el-dialog>
<el-dialog :visible.sync="extensionVisible" width="500px" z-index="6000" append-to-body :show-close="false"
custom-class="dia">
<div class="data-dia23">
<div slot="title" class="dia-header">
<div class="data-title">请选择展期期限</div>
</div>
<div style="padding: 30px 0;">
<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>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="extensionVisible = false">取消</el-button>
@ -230,7 +209,7 @@
<script>
import { phoneListen, myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, inputListen, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js';
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { addOperation, personalBasicSave, loanContractSave, personalBasicFind, grantALoan, operationExtension, calculateTheReturnInterestSum } from '@/api/http'
import { addOperation, personalBasicSave, loanContractSave, personalBasicFind, grantALoan, operationExtension } from '@/api/http'
import Util from '@/libs/util'
const moduleName = 'personalLoans/detail'
@ -383,6 +362,7 @@ export default {
],
},
submited: 0,
curRoute: '',
curStep: 1,
disbursementDate: '',
loanVisible: false,
@ -392,58 +372,53 @@ export default {
extensions: [
{
id: 1,
name: '1个月',
pointId: 278,
name: '1个月'
},
{
id: 2,
name: '2个月',
pointId: 279,
name: '2个月'
},
{
id: 3,
name: '3个月',
pointId: 280,
name: '3个月'
},
{
id: 4,
name: '4个月',
pointId: 281,
name: '4个月'
},
{
id: 5,
name: '5个月',
pointId: 282,
name: '5个月'
},
{
id: 6,
name: '6个月',
pointId: 283,
name: '6个月'
},
{
id: 7,
name: '7个月',
pointId: 284,
name: '7个月'
},
{
id: 8,
name: '8个月',
pointId: 285,
name: '8个月'
},
{
id: 9,
name: '9个月',
pointId: 286,
name: '9个月'
},
{
id: 10,
name: '10个月',
pointId: 287,
name: '10个月'
},
],
}
},
beforeDestroy () {
sessionStorage.setItem('computerPath', this.curRoute)
},
mounted () {
this.curRoute = this.$route.path
this.getDetail()
},
methods: {
@ -460,19 +435,8 @@ export default {
if (this.id) {
//
const { data } = await personalBasicFind(this.id)
const form = data.data
if (form.idType) form.idType = +form.idType
if (form.gender) form.gender = +form.gender
this.idNumberJudge = true
this.basicForm = form
//
const contract = data.data.bankPersonalLoanContractInfo
if (contract) {
if (contract.loanTerm) contract.loanTerm = +contract.loanTerm
this.form = contract
}
this.basicForm = data.data
if (data.data.bankPersonalLoanContractInfo) this.form = data.data.bankPersonalLoanContractInfo
} else if (sessionStorage.getItem('nomUsefulPhrasesOpenCard2')) {
//
sessionStorage.removeItem('nomUsefulPhrasesOpenCard2')
@ -502,7 +466,7 @@ export default {
popUp1 (text) {
this.setTipsOperate('请刷身份证');
this.setPopId('1399')
sessionStorage.setItem('creditPath', this.$route.fullPath)
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
//
@ -513,15 +477,6 @@ export default {
date.setMonth(date.getMonth() + loanTerm)
this.form.maturityDate = Util.formatDate('yyyy-MM-dd', date)
}
this.interestCalc()
},
//
async interestCalc () {
const { form } = this
if (form.contractAmount && form.maturityDate) {
const { data } = await calculateTheReturnInterestSum(form)
form.interestTotal = data.interestTotal || ''
}
},
//
async next () {
@ -541,11 +496,9 @@ export default {
...basicForm,
})
if (data.status === 200) {
//
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,767'
const rule = [
{ answerId: 902, emptyOne: '', emptyTwo: '', operationIds: preId + ',902', type: '' },
{ answerId: 847, emptyOne: 125, emptyTwo: basicForm.phoneNumber, operationIds: preId + ',847', type: 3 },
{ answerId: 859, emptyOne: 125, emptyTwo: basicForm.applicationDate, operationIds: preId + ',859', type: 3 },
]
@ -575,13 +528,12 @@ export default {
})
if (data.contractNo) this.form.contractNo = data.contractNo
this.curStep++
}
} catch { (e) => { } }
}, this.$refs))
} else {
//
if (!this.form.contractAmount) return this.$message.warning('请输入合同金额!')
this.$refs.form.validate(myValidate(() => {
// this.visible = true
this.saveContract()
}, this.$refs))
}
@ -597,14 +549,13 @@ export default {
...form,
})
if (data.status === 200) {
//
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,767'
const rule = [
{ answerId: 860, emptyOne: 125, emptyTwo: form.contractAmount, operationIds: preId + ',860', type: 3 },
{ answerId: 861, emptyOne: 141, emptyTwo: this.loanTerms.find(e => e.id === form.loanTerm).pointId, operationIds: preId + ',861', type: 1 },
{ answerId: 862, emptyOne: 125, emptyTwo: form.interestStartDate, operationIds: preId + ',862', type: 3 },
{ answerId: 863, emptyOne: 125, emptyTwo: form.repaymentMethod, operationIds: preId + ',863', type: 1 },
{ answerId: 863, emptyOne: 125, emptyTwo: form.repaymentMethod, operationIds: preId + ',863', type: 3 },
{ answerId: 864, emptyOne: 125, emptyTwo: form.repaymentAccount, operationIds: preId + ',864', type: 3 },
]
await addOperation({
@ -614,10 +565,7 @@ export default {
startTime: sessionStorage.getItem('startTime')
})
this.$router.push('/counter/list/manage/personalLoans')
} else {
this.$message.error(data.message)
}
data.status === 200 ? this.$router.push('/counter/list/manage/personalLoans') : this.$message.error(data.message)
} catch { (e) => { } }
},
//
@ -633,18 +581,16 @@ export default {
})
this.$message[data.status === 200 ? 'success' : 'error'](data.message)
if (data.status === 200) {
//
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,767'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [{ answerId: 865, emptyOne: 151, emptyTwo: this.disbursementDate, operationIds: preId + ',865', type: 3 }],
lcJudgmentRuleReq: [{ answerId: 865, emptyOne: '', emptyTwo: '', operationIds: preId + ',865', type: '' }],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
setTimeout(this.$router.push('/counter/list/manage/personalLoans'), 1500)
}
},
//
@ -660,18 +606,16 @@ export default {
})
this.$message[data.status === 200 ? 'success' : 'error'](data.message)
if (data.status === 200) {
//
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,767'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [{ answerId: 866, emptyOne: 152, emptyTwo: this.extensions.find(e => e.id === this.extensionPeriod).pointId, operationIds: preId + ',866', type: 1 }],
lcJudgmentRuleReq: [{ answerId: 866, emptyOne: '', emptyTwo: '', operationIds: preId + ',866', type: '' }],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
setTimeout(this.$router.push('/counter/list/manage/personalLoans'), 1500)
}
},
phoneListen,
@ -693,8 +637,6 @@ export default {
}
</script>
<style lang='scss' scoped>
@import '@/styles/dialog.scss';
.wrap {
width: 100%;
height: calc(90vh - 27px);

@ -25,7 +25,7 @@ export default {
},
data () {
return {
text: '全部',/* 顶部文字 */
text: '',/* 顶部文字 */
textObj: {
'1': '全部',
'2': '正常还款',

@ -39,8 +39,7 @@
scope.row.contractNo !== '——' ? '查看' : '编辑'
}}</el-button>
<template v-if="scope.row.personalLoanId > 0">
<el-button v-if="scope.row.disbursementDate !== '' && !scope.row.renewalOrNot"
@click="toDetail(scope.row, 2)" size="small">展期</el-button>
<el-button v-if="!scope.row.renewalOrNot" @click="toDetail(scope.row, 2)" size="small">展期</el-button>
<el-button @click="repayment(scope.row)" size="small">还款计划</el-button>
</template>
</template>
@ -107,7 +106,7 @@
import { tableRowClassName, headerCellStyle } from '@/assets/js/myConfig'
import MyDialog from '@/components/dialogTwo'
import NeedBefore from '@/components/needBefore'
import { batchProcessing, personalBasicList, repaymentPlan, addOperation } from '@/api/http';
import { batchProcessing, personalBasicList, repaymentPlan } from '@/api/http';
const moduleName = 'personalLoans/list'
import { mapMutations, mapGetters } from 'vuex'
@ -241,16 +240,6 @@ export default {
id: row.id,
status
}])
const answerId = status === '已还款' ? 905 : 906
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,767'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [{ answerId, emptyOne: '', emptyTwo: '', operationIds: preId + ',' + answerId, type: '' },],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$message.success(`${text}成功`)
this.getRepayment()
this.getData()
@ -271,16 +260,6 @@ export default {
}
})
await batchProcessing(ids)
const answerId = status === '已还款' ? 903 : 904
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,767'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [{ answerId, emptyOne: '', emptyTwo: '', operationIds: preId + ',' + answerId, type: '' },],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$message.success(`${text}成功`)
this.$refs.repayments.clearSelection()
this.multipleSelection = []

@ -35,12 +35,23 @@
<script>
import { mapState } from 'vuex'
// import bus from '@/libs/bus';
import Setting from '@/setting';
export default {
// props: {
// needIndex: {
// type: String,
// required: true
// }
// },
computed: {
...mapState('system', ['isCredit'])
...mapState({
isCredit: state => state.system.isCredit
})
},
data () {
return {
// onRoutes:'/counter/list/manage/consumerClient',
onRoutes: '',
menus: [],
defaultMenus: [
@ -249,9 +260,14 @@ export default {
]
}
},
watch: {
needIndex (newVal) {
this.onRoutes = newVal
}
},
created () {
this.menus = this.isCredit ? this.creditMenus : this.defaultMenus
let path = sessionStorage.getItem(this.isCredit ? 'creditPath' : 'computerPath')
const path = sessionStorage.getItem('computerPath')
if (path) {
this.onRoutes = path
} else {
@ -263,6 +279,11 @@ export default {
this.onRoutes = path
}
},
beforeDestroy () {
sessionStorage.setItem('computerPath', this.onRoutes)
sessionStorage.getItem('submited') || this.$router.push('/counter/list/')
},
};
</script>

@ -187,12 +187,16 @@ export default {
summarize: form.summarize
}
const expData = report.data
this.userScores = userScores
// data使
if (!expData) {
this.userScores = userScores
this.handleList(userScores)
// this.$post(this.api.editExperimentalData, {
// reportId,
// data: JSON.stringify(userScores)
// }).then(res => { }).catch(err => { })
} else {
this.handleList(JSON.parse(expData))
this.handleList(userScores)
}
this.loading = false

@ -201,7 +201,7 @@ const allDataFlow = {
isSettle: false,
// 票据号码
ticketNumber: '00242986',
corporateClient: false,
'corporateClient': false,
nowDepositNumber
}
@ -1396,7 +1396,7 @@ const myInitState = {
'业务三十四': {
id: 704,
name: '网上银行',
data: [13, 16],
data: [13, 16, 407],
needs: [],
isStamp: {
// '业务专用章': [ 411 ]
@ -1456,37 +1456,8 @@ const myInitState = {
},
'业务三十六': {
id: 844,
name: '个人贷款业务',
data: [13],
needs: [],
isStamp: {
// '业务专用章': [ 411 ]
},
backPeople: [],
// backPeople: [ ],
cultureArr: [],
moneyBox: [], // 钱箱
needBackMoney: false, // 需要钱箱取钱
peopleSign: [], // 客户签字
cultureIn: [], // 传票栏
sealBox: [], // 印章盒
currencyDetector: [], // 验钞机
printer: [], // 打印机
resource: [], // 资料
importanceArr: [], // 重要空白凭证箱
commonArr: [], // 普通凭证箱
dataFlow: {
currency: 153,
goldLogo: 150,
voucherNumber,
}
},
'业务三十七': {
id: 893,
name: '公司贷款业务',
data: [770, 771, 772, 442, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 817, 818, 819],
name: '贷款业务',
data: [13, 16, 770, 771, 772, 442, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 817, 818, 819],
needs: [],
isStamp: {
// '业务专用章': [ 411 ]
@ -1539,6 +1510,7 @@ export default {
// 下拉框的数据,在电脑中的下拉框有许多相同的,不用每次都请求服务器,可以在这里拿数据:
selectList: {
banknoteRemittanceList: [],
currencySelectList: [],
goldLogoSelectList: [],
accountQualitySelectList: [],
@ -2745,7 +2717,7 @@ export default {
'业务三十四': {
id: 704,
name: '网上银行',
data: [13, 16],
data: [13, 16, 407],
needs: [],
isStamp: {
// '业务专用章': [ 411 ]
@ -2805,37 +2777,8 @@ export default {
},
'业务三十六': {
id: 844,
name: '个人贷款业务',
data: [13],
needs: [],
isStamp: {
// '业务专用章': [ 411 ]
},
backPeople: [],
// backPeople: [ ],
cultureArr: [],
moneyBox: [], // 钱箱
needBackMoney: false, // 需要钱箱取钱
peopleSign: [], // 客户签字
cultureIn: [], // 传票栏
sealBox: [], // 印章盒
currencyDetector: [], // 验钞机
printer: [], // 打印机
resource: [], // 资料
importanceArr: [], // 重要空白凭证箱
commonArr: [], // 普通凭证箱
dataFlow: {
currency: 153,
goldLogo: 150,
voucherNumber,
}
},
'业务三十七': {
id: 893,
name: '公司贷款业务',
data: [770, 771, 772, 442, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 817, 818, 819],
name: '贷款业务',
data: [13, 16, 770, 771, 772, 442, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 817, 818, 819],
needs: [],
isStamp: {
// '业务专用章': [ 411 ]
@ -2894,24 +2837,23 @@ export default {
76: 'isTranslate',
40: 'outAccountWayList',
39: 'calculateWayList',
119: 'banknoteRemittanceList',
122: 'fundingSourceList',
123: 'allCurrencyList',
124: 'buyForeignPurposeList',
}
for (const key in mapObj) {
const name = mapObj[key]
if (!state.selectList[name] || !state.selectList[name].length) {
getSubjectInfo({
subject_id: key
}).then((data) => {
const name = mapObj[key]
if (!state.selectList[name]) state.selectList[name] = []
if (data.status == 200 && !state.selectList[name].length) {
state.selectList[name].push(...data.data.items);
}
}).catch((error) => { })
}
}
},
@ -3344,6 +3286,8 @@ export default {
setCreditImportIds (state, val) {
if (val) {
state.creditImportIds[state.creditImportIndex] = val
// state.creditImportIds.push(val)
console.log("🚀 ~ setCreditImportIds ~ state.creditImportIds[state.creditImportIndex]:", state.creditImportIds, state.creditImportIds[state.creditImportIndex])
} else {
state.creditImportIds = {}
}

@ -30,13 +30,9 @@ export default {
if (location.origin === 'http://121.37.12.51') {
href = `http://121.37.12.51/${isAdmin ? 'admin' : 'student'}/#/`
}
const { query } = router.app._route
let assessmentId = sessionStorage.getItem('assessmentId') || query.assessmentId
let competitionId = sessionStorage.getItem('competitionId') || query.competitionId
let assessmentId = sessionStorage.getItem('assessmentId')
if (assessmentId != 'null' && assessmentId != null && assessmentId != '') {
href += `ass/list`
} else if (competitionId != 'null' && competitionId != null && competitionId != '') {
href += `match/details?id=${competitionId}`
} else {
const cid = sessionStorage.getItem('cid')
href += `station/preview?courseId=${cid}&curriculumName=银行项目&mallId=${router.currentRoute.query.mallId}`

@ -49,7 +49,7 @@
text-align: center;
color: #fff;
font-size: 24px;
background: url(https://izhixinyun.com/images/dia-title.png) 0 0 / cover no-repeat;
background: url(../../../../assets/img/dia-title.png) 0 0 / cover no-repeat;
}
}
}

Loading…
Cancel
Save