贷款业务

20240205
yujialong 5 months ago
parent ec9e3319a0
commit faccbdd5f7
  1. 16
      src/api/api.js
  2. 96
      src/api/http.js
  3. 139
      src/mixins/tipsBefore/index.js
  4. 598
      src/pages/manage/list/business/transfer.vue
  5. 59
      src/pages/manage/list/corporateLoans/application.vue
  6. 436
      src/pages/manage/list/corporateLoans/apply/creditEvaluation/basic.vue
  7. 78
      src/pages/manage/list/corporateLoans/apply/creditEvaluation/importReport.vue
  8. 4
      src/pages/manage/list/corporateLoans/apply/index.vue
  9. 3
      src/pages/manage/list/foreignExchange/puchasing.vue
  10. 605
      src/pages/manage/list/personalLoans/detail.vue
  11. 9
      src/store/modules/system.js
  12. 522
      src/utils/utilFunction.js

@ -10,14 +10,14 @@ if (dev) {
// 本地
host = 'http://121.37.12.51/' // 中台测试服
// host = 'https://www.occupationlab.com/' // 正式服
// host = 'http://192.168.31.151:9000/' // 榕
// host = 'http://192.168.31.116:9000/' // 赓
host = 'http://192.168.31.217:9000/'
}
// 创建axios实例
const service = axios.create({
baseURL: host, // 测试
timeout: 30000 // 请求超时时间
})
let logouted = 0;
// 添加request拦截器
service.interceptors.request.use(config => {
return config
@ -34,11 +34,13 @@ service.interceptors.response.use(
},
error => {
if (error.response.status == 401) {
console.log("🚀 ~ error:", error.response.status, store.commit('user/logout'))
util.errorMsg('登录过期,请重新登录')
setTimeout(() => {
store.commit('user/logout')
}, 1500)
if (!logouted) {
util.errorMsg('登录过期,请重新登录')
setTimeout(() => {
store.commit('user/logout')
}, 1500)
logouted = 1
}
}
return Promise.reject(error.response)
}

@ -1,52 +1,78 @@
// 引入封装好的axios
// ps:如果没有封装,正常引入axios即可
import {get, post,deletes,put} from './api.js'
import { get, post, deletes, put } from './api.js'
// import axios from "./";
// /api为配置跨域的路径变量
export const getProjectBySystemId= (params) => {
return get( '/occupationlab/occupationlab/projectManage/getProjectBySystemId',params)
export const getProjectBySystemId = (params) => {
return get('/occupationlab/occupationlab/projectManage/getProjectBySystemId', params)
}
export const getProjectDetail= (params) => {
return get( '/occupationlab/occupationlab/projectManage/getProjectDetail',params)
export const getProjectDetail = (params) => {
return get('/occupationlab/occupationlab/projectManage/getProjectDetail', params)
}
export const submit= (params) => {
return post( '/bank/bank/submit',params)
export const submit = (params) => {
return post('/bank/bank/submit', params)
}
export const getSubjectInfo= (params) => {
return get( '/judgment/judgment/lcSubject/getSubjectInfo',params)
export const getSubjectInfo = (params) => {
return get('/judgment/judgment/lcSubject/getSubjectInfo', params)
}
export const getQueryCache= () => {
return get( '/bank/bank/queryCache')
export const getQueryCache = () => {
return get('/bank/bank/queryCache')
}
export const addOperation= (params) => {
return post( '/bank/bank/addOperation',params)
export const addOperation = (params) => {
return post('/bank/bank/addOperation', params)
}
export const getOperation= (params) => {
return get( '/bank/bank/getOperation',params)
export const getOperation = (params) => {
return get('/bank/bank/getOperation', params)
}
export const deleteCache= () => {
return get( '/bank/bank/deleteCache')
export const deleteCache = () => {
return get('/bank/bank/deleteCache')
}
export const exportBankExperimentReport= (params) => {
return post( '/occupationlab/occupationlab/achievement/exportBankExperimentReport',params)
export const exportBankExperimentReport = (params) => {
return post('/occupationlab/occupationlab/achievement/exportBankExperimentReport', params)
}
export const updateReport= (params) => {
return post( '/occupationlab/occupationlab/achievement/updateReport',params)
export const updateReport = (params) => {
return post('/occupationlab/occupationlab/achievement/updateReport', params)
}
// 学生查看考核状态
export const checkTest= (params) => {
return get( '/occupationlab/occupationlab/assessment/getDetailById', {...params})
export const checkTest = (params) => {
return get('/occupationlab/occupationlab/assessment/getDetailById', { ...params })
}
export const checkTest2= (params) => {
return post( '/occupationlab/occupationlab/assessment/pageStuAssessment',{
pageNum: 1,
pageSize: 10000,
...params
})
export const checkTest2 = (params) => {
return post('/occupationlab/occupationlab/assessment/pageStuAssessment', {
pageNum: 1,
pageSize: 10000,
...params
})
}
export const reportDetail = (reportId) => {
return get( '/occupationlab/occupationlab/achievement/reportDetail',{
reportId
})
return get('/occupationlab/occupationlab/achievement/reportDetail', {
reportId
})
}
export const creditEvaluationInput = data => {
return post('/judgment/bankCreditEvaluation/creditEvaluationInput', data)
}
export const loanContractDel = data => {
return post('/judgment/bankLoanContractInfo/batchDeletion', data)
}
export const loanContractFind = id => {
return post('/judgment/bankLoanContractInfo/findById?id=' + id)
}
export const loanContractList = (data) => {
return post('/judgment/bankLoanContractInfo/pagingQuery', data)
}
export const loanContractSave = (data) => {
return post('/judgment/bankLoanContractInfo/saveOrUpdate', data)
}
export const personalBasicDel = data => {
return post('/judgment/bankPersonalBasicInfo/batchDeletion', data)
}
export const personalBasicFind = id => {
return post('/judgment/bankPersonalBasicInfo/findById?id=' + id)
}
export const personalBasicList = (data) => {
return post('/judgment/bankPersonalBasicInfo/pagingQuery', data)
}
export const personalBasicSave = (data) => {
return post('/judgment/bankPersonalBasicInfo/saveOrUpdate', data)
}

@ -2,85 +2,80 @@
const obj = {
// 'consumerClient': '/counter/list/manage/consumerClient',
// 'currentAccount/openAccount': '/counter/list/manage/currentAccount',
// 'currentAccount/deposit': '/counter/list/manage/currentAccount'
'consumerClient': '客户信息 -> 个人客户信息建立',
'corporateClient': '客户信息 -> 公司客户信息建立',
'currentAccount/openAccount': '活期业务 -> 开户',
'currentAccount/deposit': '活期业务 -> 存款',
'currentAccount/withdrawal': '活期业务 -> 取款',
'currentAccount/transferAccounts': '活期业务 -> 转账',
'currentAccount/settle': '活期业务 -> 结清',
'currentAccount/Cancell': '活期业务 -> 销户',
'timeDeposit/openAccount': '整存整取 -> 开户',
'timeDeposit/deposit': '整存整取 -> 存款',
'timeDeposit/withdrawal': '整存整取 -> 取款',
'timeDeposit/deposit': '整存整取 -> 存款',
'business/openAccount': '公司业务 -> 开户'
// 'consumerClient': '/counter/list/manage/consumerClient',
// 'currentAccount/openAccount': '/counter/list/manage/currentAccount',
// 'currentAccount/deposit': '/counter/list/manage/currentAccount'
'consumerClient': '客户信息 -> 个人客户信息建立',
'corporateClient': '客户信息 -> 公司客户信息建立',
'currentAccount/openAccount': '活期业务 -> 开户',
'currentAccount/deposit': '活期业务 -> 存款',
'currentAccount/withdrawal': '活期业务 -> 取款',
'currentAccount/transferAccounts': '活期业务 -> 转账',
'currentAccount/settle': '活期业务 -> 结清',
'currentAccount/Cancell': '活期业务 -> 销户',
'timeDeposit/openAccount': '整存整取 -> 开户',
'timeDeposit/deposit': '整存整取 -> 存款',
'timeDeposit/withdrawal': '整存整取 -> 取款',
'timeDeposit/deposit': '整存整取 -> 存款',
'business/openAccount': '公司业务 -> 开户'
}
import { mapGetters } from 'vuex'
export default {
data(){
return {
unNeed: false,
isNeedBefore: false,
needBefore: false,
tipsNefore: null
}
},
created() {
// 将上次保存的这个模块的数据写上页面,因为上次退出时保存了这个模块的数据(beforeDestroy)
if(sessionStorage.getItem(this.moduleName)) {
const getBeforeData = JSON.parse(sessionStorage.getItem(this.moduleName))
for(const key in getBeforeData) {
this.form[key] = Number(getBeforeData[key])? Number(getBeforeData[key]): getBeforeData[key]
}
}
data () {
return {
unNeed: false,
isNeedBefore: false,
needBefore: false,
tipsNefore: null
}
},
created () {
// 将上次保存的这个模块的数据写上页面,因为上次退出时保存了这个模块的数据(beforeDestroy)
if (sessionStorage.getItem(this.moduleName)) {
const getBeforeData = JSON.parse(sessionStorage.getItem(this.moduleName))
for (const key in getBeforeData) {
this.form[key] = Number(getBeforeData[key]) ? Number(getBeforeData[key]) : getBeforeData[key]
}
}
// 如果所选业务需要(需求变更,不用管这个了)
if(this.inMyWork(this.moduleName)) {
if(this.needsModule(this.moduleName)) {
this.isNeedBefore = true
this.needBefore = this.needsModule(this.moduleName)
}
}else {
this.isNeedBefore = true
this.unNeed = true
return;
}
// 如果所选业务需要(需求变更,不用管这个了)
if (this.inMyWork(this.moduleName)) {
if (this.needsModule(this.moduleName)) {
this.isNeedBefore = true
this.needBefore = this.needsModule(this.moduleName)
}
} else {
this.isNeedBefore = true
this.unNeed = true
return;
}
},
methods: {
// 暴露出外面的方法,可以提交后删除调存在sessionStorage中的的数据,因为有后端缓存了。
clearSaveData() {
sessionStorage.removeItem(this.moduleName)
}
},
beforeDestroy() {
// clearInterval(this.myTipBefore)
// this.myTipBefore = null
},
methods: {
// 暴露出外面的方法,可以提交后删除调存在sessionStorage中的的数据,因为有后端缓存了。
clearSaveData () {
sessionStorage.removeItem(this.moduleName)
}
},
beforeDestroy () {
// 这个业务是我们需要的,所以我们存数据
let tmpForm = {}
for (const key in this.form) {
if (this.form[key] !== '') {
tmpForm[key] = this.form[key]
}
}
// 这个业务是我们需要的,所以我们存数据
let tmpForm = {}
for(const key in this.form) {
if(this.form[key] !== '') {
tmpForm[key] = this.form[key]
}
}
// 系统录入当前页面关闭或离开的时候,保存当前模块的数据。回来的时候这些数据还在(业务需求)。
sessionStorage.setItem(this.moduleName, JSON.stringify(tmpForm))
},
computed: {
...mapGetters({
needsModule: 'system/needsModule',
inMyWork: 'system/inMyWork'
})
},
// 系统录入当前页面关闭或离开的时候,保存当前模块的数据。回来的时候这些数据还在(业务需求)。
sessionStorage.setItem(this.moduleName, JSON.stringify(tmpForm))
},
computed: {
...mapGetters({
needsModule: 'system/needsModule',
inMyWork: 'system/inMyWork'
})
},
}

@ -1,74 +1,77 @@
//
<template>
<div class="wrap wrap2">
<MyTitle :titleArr="['公司业务', text]"/>
<!-- 开户 -->
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="2">
<el-form-item label="转出账号" prop="transoutNum">
<el-input :value="form.transoutNum" @blur="getBlurData" maxlength="20" @input="(val) => checkHanzi(val, form, 'transoutNum')" ref="transoutNum"></el-input>
</el-form-item>
<el-form-item label="凭证号码" prop="certificateNum">
<el-input :value="form.certificateNum" maxlength="20" @input="(val) => checkHanzi(val, form, 'certificateNum')" ref="certificateNum"></el-input>
</el-form-item>
<el-form-item label="签发日期" prop="signDate">
<el-date-picker
v-model.trim="form.signDate"
disabled
type="date"
placeholder="选择日期"
ref="signDate">
</el-date-picker>
</el-form-item>
<el-form-item label="钞汇标识" prop="currencyMark">
<el-select v-model.trim="form.currencyMark" disabled placeholder="请选择" ref="currencyMark">
<el-option v-for="item in getSelectList.goldLogoSelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="转入账号" prop="transinNum">
<el-input :value="form.transinNum" maxlength="20" @input="(val) => checkHanzi(val, form, 'transinNum')" ref="transinNum"></el-input>
</el-form-item>
<el-form-item label="金额" prop="money">
<el-input :value="form.money" maxlength="15" @input="val => ismoney(val, form, 'money')"></el-input>
</el-form-item>
<div class="wrap wrap2">
<MyTitle :titleArr="['公司业务', text]" />
<!-- 开户 -->
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="2">
<el-form-item label="转出账号" prop="transoutNum">
<el-input :value="form.transoutNum" @blur="getBlurData" maxlength="20"
@input="(val) => checkHanzi(val, form, 'transoutNum')" ref="transoutNum"></el-input>
</el-form-item>
<el-form-item label="凭证号码" prop="certificateNum">
<el-input :value="form.certificateNum" maxlength="20"
@input="(val) => checkHanzi(val, form, 'certificateNum')" ref="certificateNum"></el-input>
</el-form-item>
<el-form-item label="签发日期" prop="signDate">
<el-date-picker v-model.trim="form.signDate" disabled type="date" placeholder="选择日期" ref="signDate">
</el-date-picker>
</el-form-item>
<el-form-item label="钞汇标识" prop="currencyMark">
<el-select v-model.trim="form.currencyMark" disabled placeholder="请选择" ref="currencyMark">
<el-option v-for="item in getSelectList.goldLogoSelectList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="转入账号" prop="transinNum">
<el-input :value="form.transinNum" maxlength="20" @input="(val) => checkHanzi(val, form, 'transinNum')"
ref="transinNum"></el-input>
</el-form-item>
<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-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户姓名" prop="customerName">
<el-input :value="form.customerName" maxlength="20" @input="(val) => checkName(val, form, 'customerName')" ref="customerName"></el-input>
</el-form-item>
<el-form-item label="凭证类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType">
<el-option label="转账支票" :value="115"> </el-option>
<el-option label="现金支票" :value="116"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="币种" prop="currencyType">
<el-select v-model.trim="form.currencyType" disabled placeholder="请选择" ref="currencyType">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="支取方式" prop="payWay">
<el-select v-model.trim="form.payWay" disabled placeholder="请选择" ref="payWay">
<el-option label="印签" :value="114"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="转入户名" prop="transinName">
<el-input :value="form.transinName" maxlength="40" @input="(val) => checkName(val, form, 'transinName')"></el-input>
</el-form-item>
<el-form-item label="摘要" prop="abstract">
<el-input v-model.trim="form.abstract" maxlength="60"></el-input>
</el-form-item>
</el-col>
</el-form>
</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" @submitIt="submitForm2" :needAuth="needAuth" />
</div>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户姓名" prop="customerName">
<el-input :value="form.customerName" maxlength="20" @input="(val) => checkName(val, form, 'customerName')"
ref="customerName"></el-input>
</el-form-item>
<el-form-item label="凭证类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType">
<el-option label="转账支票" :value="115"> </el-option>
<el-option label="现金支票" :value="116"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="币种" prop="currencyType">
<el-select v-model.trim="form.currencyType" disabled placeholder="请选择" ref="currencyType">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="支取方式" prop="payWay">
<el-select v-model.trim="form.payWay" disabled placeholder="请选择" ref="payWay">
<el-option label="印签" :value="114"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="转入户名" prop="transinName">
<el-input :value="form.transinName" maxlength="40"
@input="(val) => checkName(val, form, 'transinName')"></el-input>
</el-form-item>
<el-form-item label="摘要" prop="abstract">
<el-input v-model.trim="form.abstract" maxlength="60"></el-input>
</el-form-item>
</el-col>
</el-form>
</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"
@submitIt="submitForm2" :needAuth="needAuth" />
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
</template>
<script>
@ -83,247 +86,248 @@ import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
export default {
name: 'index',
components:{
MyTitle,
NeedBefore,
MyDialog
},
mixins: [ TipsBefore ],
data() {
return {
moduleName: 'business/transfer',
text:'转账',/* 顶部文字 */
visible: false,
form:{
//
transoutNum: '', //
certificateNum: '', //
customerName: '', //
transinNum: '', //
transinName: '', //
money: '', //
//
currencyType: '', //
currencyMark: '', //
certificateType: '', //
signDate: '', //
payWay: '', //
abstract: '', //
},
formName:{
//
transoutNum: '转出账号', //
certificateNum: '凭证号码', //
customerName: '客户姓名', //
transinNum: '转入账号', //
transinName: '转入户名', //
money: '金额', //
//
currencyType: '币种', //
currencyMark: '钞汇标识', //
certificateType: '凭证类型', //
signDate: '签发日期', //
payWay: '支取方式', //
abstract: '摘要', //
},
rules: {
customerName: vercustomer,
transoutNum: [
{
required: true,
message: '请输入转出账号',
trigger: 'blur'
}
],
certificateNum: [
{
required: true,
message: '请输入凭证号码',
trigger: 'blur'
}
],
transinNum: [
{
required: true,
message: '请输入转入账号',
trigger: 'blur'
}
],
transinName: [
{
required: true,
message: '请输入转入户名',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
name: 'index',
components: {
MyTitle,
NeedBefore,
MyDialog
},
mixins: [TipsBefore],
data () {
return {
moduleName: 'business/transfer',
text: '转账',/* 顶部文字 */
visible: false,
form: {
//
transoutNum: '', //
certificateNum: '', //
customerName: '', //
transinNum: '', //
transinName: '', //
money: '', //
//
currencyType: '', //
currencyMark: '', //
certificateType: '', //
signDate: '', //
payWay: '', //
abstract: '', //
},
formName: {
//
transoutNum: '转出账号', //
certificateNum: '凭证号码', //
customerName: '客户姓名', //
transinNum: '转入账号', //
transinName: '转入户名', //
money: '金额', //
//
currencyType: '币种', //
currencyMark: '钞汇标识', //
certificateType: '凭证类型', //
signDate: '签发日期', //
payWay: '支取方式', //
abstract: '摘要', //
},
rules: {
customerName: vercustomer,
transoutNum: [
{
required: true,
message: '请输入转出账号',
trigger: 'blur'
}
],
certificateNum: [
{
required: true,
message: '请输入凭证号码',
trigger: 'blur'
}
],
transinNum: [
{
required: true,
message: '请输入转入账号',
trigger: 'blur'
}
],
transinName: [
{
required: true,
message: '请输入转入户名',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
},
second:[//
},
second: [//
],
visible:false,
options:[],
activeIndex:'1',
myTable: {
257: {
prop: 'transoutNum',
type: '3',
"subjectId": 85,
},
258: {
prop: 'customerName',
type: '3',
"subjectId": 7,
},
259: {
prop: 'certificateNum',
type: '3',
"subjectId": 44,
},
265: {
prop: 'transinNum',
type: '3',
"subjectId": 86,
},
266: {
prop: 'transinName',
type: '3',
"subjectId": 87,
},
267: {
prop: 'money',
type: '3',
"subjectId": 14,
},
283: {
prop: 'abstract',
type: '3',
"subjectId": 16,
}
},
myTable2: {
260: {
prop: 'certificateType', // 1
type: '1',
"subjectId": 11,
},
261: {
prop: 'signDate',
type: '1',
"subjectId": 47,
},
262: {
prop: 'currencyType', // 1
type: '1',
"subjectId": 8,
},
263: {
prop: 'currencyMark', // 1
type: '1',
"subjectId": 9,
},
264: {
prop: 'payWay', // 1
type: '1',
"subjectId": 13,
}
},
submited: 0
}
},
created() {
if(this.isNeedBefore) {
return
],
visible: false,
options: [],
activeIndex: '1',
myTable: {
257: {
prop: 'transoutNum',
type: '3',
"subjectId": 85,
},
258: {
prop: 'customerName',
type: '3',
"subjectId": 7,
},
259: {
prop: 'certificateNum',
type: '3',
"subjectId": 44,
},
265: {
prop: 'transinNum',
type: '3',
"subjectId": 86,
},
266: {
prop: 'transinName',
type: '3',
"subjectId": 87,
},
267: {
prop: 'money',
type: '3',
"subjectId": 14,
},
283: {
prop: 'abstract',
type: '3',
"subjectId": 16,
}
this.getFormData()
},
mounted() {
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId'
}),
getBlurData() {
// transoutNum: '', //
// certificateNum: '', //
// customerName: '', //
// transinNum: '', //
// transinName: '', //
// money: '', //
// //
// currencyType: 'CNY', //
// currencyMark: '', //
// certificateType: '', //
// signDate: '', //
// payWay: '', //
// abstract: '', //
if(this.form.transoutNum) {
const { currency } = this.dataFlow
this.form.currencyMark = 13
this.form.signDate = '2021-01-05'
this.form.certificateType = 115
this.form.currencyType = currency
this.form.payWay = 114
}
},
myTable2: {
260: {
prop: 'certificateType', // 1
type: '1',
"subjectId": 11,
},
getFormData(){
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,227'
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
261: {
prop: 'signDate',
type: '1',
"subjectId": 47,
},
submitForm() {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
262: {
prop: 'currencyType', // 1
type: '1',
"subjectId": 8,
},
submitForm2() {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,227'
autoPlay(parentId, this.form, this.myTable2, this.myTable)
console.log("🚀 ~ file: transfer.vue ~ line 291 ~ submitForm2 ~ parentId, this.form, this.myTable2, this.myTable", parentId, this.form, this.myTable2, this.myTable)
this.setNeedsModule(moduleName)
this.submited = 1
263: {
prop: 'currencyMark', // 1
type: '1',
"subjectId": 9,
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
}),
needAuth() {
return this.form.money >= 50000
264: {
prop: 'payWay', // 1
type: '1',
"subjectId": 13,
}
},
submited: 0
}
},
created () {
if (this.isNeedBefore) {
return
}
this.getFormData()
},
mounted () {
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId'
}),
getBlurData () {
// transoutNum: '', //
// certificateNum: '', //
// customerName: '', //
// transinNum: '', //
// transinName: '', //
// money: '', //
// //
// currencyType: 'CNY', //
// currencyMark: '', //
// certificateType: '', //
// signDate: '', //
// payWay: '', //
// abstract: '', //
if (this.form.transoutNum) {
const { currency } = this.dataFlow
this.form.currencyMark = 13
this.form.signDate = '2021-01-05'
this.form.certificateType = 115
this.form.currencyType = currency
this.form.payWay = 114
}
},
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,227'
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
},
submitForm () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
},
submitForm2 () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,227'
autoPlay(parentId, this.form, this.myTable2, this.myTable)
console.log("🚀 ~ file: transfer.vue ~ line 291 ~ submitForm2 ~ parentId, this.form, this.myTable2, this.myTable", parentId, this.form, this.myTable2, this.myTable)
this.setNeedsModule(moduleName)
this.submited = 1
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
}),
needAuth () {
return this.form.money >= 50000
}
}
};
</script>
<style lang="scss" scoped>
.wrap{
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body{
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
}
}
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
}
}
</style>

@ -4,60 +4,36 @@
<my-title :titleArr="['公司贷款', '贷款申请']" />
<div style="width: 300px;margin-bottom: 20px;">
<el-input v-model="keyword"
placeholder="请输入客户姓名"
clearable />
<el-input v-model="keyword" placeholder="请输入客户姓名" clearable />
</div>
<el-button style="margin-bottom: 20px;"
type="primary"
@click="$router.push('/counter/list/manage/corporateLoans-apply')">新建贷款申请</el-button>
<el-button style="margin-bottom: 20px;" type="primary"
@click="$router.push('/counter/list/manage/corporateLoans-apply')">新建贷款申请</el-button>
<el-table max-height="350"
ref="filterTable"
:data="tableData"
:header-cell-style="headerCellStyle"
:row-class-name="tableRowClassName">
<el-table-column prop="currency"
label="客户姓名"
align="center">
<el-table max-height="350" ref="filterTable" :data="tableData" :header-cell-style="headerCellStyle"
:row-class-name="tableRowClassName">
<el-table-column prop="currency" label="客户姓名" align="center">
</el-table-column>
<el-table-column prop="currency"
label="申请编号"
align="center">
<el-table-column prop="currency" label="申请编号" align="center">
</el-table-column>
<el-table-column prop="currency"
label="申请日期"
align="center">
<el-table-column prop="currency" label="申请日期" align="center">
</el-table-column>
<el-table-column prop="currency"
label="申请类型"
align="center">
<el-table-column prop="currency" label="申请类型" align="center">
</el-table-column>
<el-table-column prop="currency"
label="申请金额"
align="center">
<el-table-column prop="currency" label="申请金额" align="center">
</el-table-column>
<el-table-column prop="currency"
label="办理状态"
align="center">
<el-table-column prop="currency" label="办理状态" align="center">
</el-table-column>
<el-table-column label="操作"
align="center"
width="150">
<el-table-column label="操作" align="center" width="150">
<template slot-scope="scope">
<el-button @click="back(scope.row)"
size="small">详情</el-button>
<el-button @click="back(scope.row)" size="small">详情</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background
layout="total, prev, pager, next"
:current-page="page"
@current-change="handleCurrentChange"
:total="total"></el-pagination>
<el-pagination background layout="total, prev, pager, next" :current-page="page"
@current-change="handleCurrentChange" :total="total"></el-pagination>
</div>
</div>
</template>
@ -105,8 +81,9 @@ export default {
<style lang="scss" scoped>
@import '@/assets/css/tablebg.scss';
.body {
width: 100%;
padding: 24px;
width: 100%;
padding: 24px;
}
</style>

@ -7,77 +7,78 @@
<h6 class="l-title">客户信息</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="账号" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="账号" prop="applicationAccount">
<el-input v-model="form.applicationAccount" @input="val => inputListen(val, form, 'applicationAccount')"
@blur="accountBlur" />
</el-form-item>
<el-form-item label="证件类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType">
<el-option label="身份证" :value="83"> </el-option>
<el-form-item label="证件类型" prop="identificationType">
<el-select v-model.trim="form.identificationType" placeholder="请选择" disabled>
<el-option label="统一社会信用代码证" :value="82"></el-option>
</el-select>
</el-form-item>
<el-form-item label="联系电话" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="联系电话" prop="contactPhoneNumber">
<el-input v-model="form.contactPhoneNumber" />
</el-form-item>
<el-form-item label="法人姓名" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="法人姓名" prop="corporateName">
<el-input v-model="form.corporateName" />
</el-form-item>
<el-form-item label="币种" prop="customerName">
<el-select v-model.trim="form.certificateType" placeholder="请选择">
<el-option label="身份证" :value="83"> </el-option>
<el-form-item label="币种" prop="currency">
<el-select v-model.trim="form.currency" placeholder="请选择" disabled>
<el-option label='CNY人民币' :value="12"></el-option>
</el-select>
</el-form-item>
<el-form-item label="利率(%)" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="利率(%)" prop="interestRate">
<el-input v-model="form.interestRate" disabled />
</el-form-item>
<el-form-item label="支取方式" prop="customerName">
<el-select v-model.trim="form.certificateType" placeholder="请选择">
<el-option label="身份证" :value="83"> </el-option>
<el-form-item label="支取方式" prop="withdrawalMethod">
<el-select v-model.trim="form.withdrawalMethod" placeholder="请选择" disabled>
<el-option label="印鉴" :value="114"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="成立年份" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="成立年份" prop="yearOfEstablishment">
<el-input v-model="form.yearOfEstablishment" />
</el-form-item>
<el-form-item label="主营范围" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="主营范围" prop="mainBusinessScope">
<el-input v-model="form.mainBusinessScope" />
</el-form-item>
<el-form-item label="财报提交方式" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="财报提交方式" prop="financialReportSubmissionMethod">
<el-input v-model="form.financialReportSubmissionMethod" />
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-input v-model="form.customerName" />
</el-form-item>
<el-form-item label="证件号码" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="证件号码" prop="identificationNumber">
<el-input v-model="form.identificationNumber" />
</el-form-item>
<el-form-item label="注册地址" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="注册地址" prop="companyRegisteredAddress">
<el-input v-model="form.companyRegisteredAddress" />
</el-form-item>
<el-form-item label="法人证件号码" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="法人证件号码" prop="corporateIdNumber">
<el-input v-model="form.corporateIdNumber" />
</el-form-item>
<el-form-item label="账户类型" prop="customerName">
<el-select v-model.trim="form.certificateType" placeholder="请选择">
<el-option label="身份证" :value="83"> </el-option>
<el-form-item label="账户类型" prop="accountType">
<el-select v-model.trim="form.accountType" placeholder="请选择" disabled>
<el-option label="结算户" :value="97"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="计息方式" prop="customerName">
<el-select v-model.trim="form.certificateType" placeholder="请选择">
<el-option label="身份证" :value="83"> </el-option>
<el-form-item label="计息方式" prop="interestCalculationMethod">
<el-select v-model.trim="form.interestCalculationMethod" placeholder="请选择" disabled>
<el-option label="计息方式" :value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="员工人数" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="员工人数" prop="numberOfEmployees">
<el-input v-model="form.numberOfEmployees" />
</el-form-item>
<el-form-item label="注册类型" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="注册类型" prop="registrationType">
<el-input v-model="form.registrationType" />
</el-form-item>
<el-form-item label="营业执照到期日" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="营业执照到期日" prop="expirationDateOfBusinessLicense">
<el-input v-model="form.expirationDateOfBusinessLicense" />
</el-form-item>
<el-form-item label="借款人性质" prop="customerName">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="借款人性质" prop="natureOfBorrower">
<el-input v-model="form.natureOfBorrower" />
</el-form-item>
</el-col>
@ -89,305 +90,130 @@
<el-button @click="next" type="primary" class="submitBtn" v-throttle>下一步</el-button>
</div>
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
</template>
<script>
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, inputListen, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js';
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { addOperation, creditEvaluationInput } from '@/api/http'
const moduleName = 'usefulPhrases/openAccount'
const moduleName = 'creditEva/basic'
import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore'
import MyTitle from '@/components/myTitle'
export default {
name: '',
props: {},
components: {
NeedBefore,
MyTitle,
MyDialog
},
mixins: [TipsBefore],
created () {
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
}
// if(sessionStorage.getItem('nomUsefulPhrasesOpenCard2')) {
// this.idNumberJudge = true
// this.form.idNumber = this.dataFlow.idNumber || '441515199812064569'
// }
// if(sessionStorage.getItem('nomUsefulPhrasesOpenCard')) {
// this.cardNumberJudge = true
// this.form.voucherNumber = this.dataFlow.voucherNumber || '159753'
// }
if (sessionStorage.getItem('nomUsefulPhrasesOpenCard2')) {
this.idNumberJudge = true
//
const { idNumber, userName, peopleNumber, currency, goldLogo } = this.dataFlow
this.form.clientNumber = peopleNumber
this.form.idNumber = idNumber
this.form.customerName = userName
this.form.currency = currency
this.form.goldLogo = goldLogo
this.form.voucherType = 127
}
if (sessionStorage.getItem('nomUsefulPhrasesOpenCard')) {
this.cardNumberJudge = true
const { voucherNumber } = this.dataFlow
this.form.voucherNumber = voucherNumber
}
this.getFormData()
},
data () {
return {
moduleName: 'usefulPhrases/openAccount',
visible: false,
cardNumberJudge: false,
idNumberJudge: false,
moduleName,
form: {
//
// identityCard: '', //
idNumber: '',
customerName: '', //
currency: '', //
goldLogo: '', //
voucherType: '', //
monthDeposit: '', //
depositTerm: '', //
extendDepositTarget: '', //
voucherNumber: '', //
drawPassword: '', //
//
clientNumber: '', //
certificateType: 83, //
applicationAccount: '',
customerName: '',
identificationType: '',
identificationNumber: '',
contactPhoneNumber: '',
companyRegisteredAddress: '',
corporateName: '',
corporateIdNumber: '',
contactPhoneNumber: '',
currency: 12,
accountType: 97,
interestRate: 3.2,
interestCalculationMethod: 83,
withdrawalMethod: 114,
numberOfEmployees: '',
yearOfEstablishment: '',
registrationType: '',
mainBusinessScope: '',
expirationDateOfBusinessLicense: '',
financialReportSubmissionMethod: '',
natureOfBorrower: '',
},
formName: {
//
// identityCard: '', //
idNumber: '身份证',
customerName: '客户姓名', //
currency: '币种', //
goldLogo: '钞汇标识', //
voucherType: '凭证类型', //
monthDeposit: '月存金额', //
depositTerm: '存期', //
extendDepositTarget: '续存标识', //
voucherNumber: '凭证号码', //
drawPassword: '支付密码', //
//
clientNumber: '客户号', //
certificateType: '证件类型', //
applicationAccount: '账号',
customerName: '客户名称',
identificationType: '证件类型',
identificationNumber: '证件号码',
contactPhoneNumber: '联系电话',
companyRegisteredAddress: '注册地址',
corporateName: '法人姓名',
corporateIdNumber: '法人证件号码',
currency: '币种',
accountType: '账户类型',
interestRate: '利率',
interestCalculationMethod: '计息方式',
withdrawalMethod: '支取方式',
numberOfEmployees: '员工人数',
yearOfEstablishment: '成立年份',
registrationType: '注册类型',
mainBusinessScope: '主营范围',
expirationDateOfBusinessLicense: '营业执照到期日',
financialReportSubmissionMethod: '财报提交方式',
natureOfBorrower: '借款人性质',
},
rules: {
customerName: vercustomer,
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
goldLogo: [
{
required: true,
message: '请选择钞汇标识',
trigger: 'blur'
}
],
voucherType: [
{
required: true,
message: '请选择凭证类型',
trigger: 'blur'
}
],
monthDeposit: [
{
required: true,
message: '请输入月存金额',
trigger: 'blur'
}
],
depositTerm: [
applicationAccount: [
{
required: true,
message: '请选择存期',
message: '请输入账号',
trigger: 'blur'
}
],
extendDepositTarget: [
{
required: true,
message: '请选择续存标识',
trigger: 'blur'
}
],
},
myTable2: {
158: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
// 169: {
// prop: 'customerManage',//
// type: '3',
// "subjectId": 27,
// },
160: {
prop: 'clientNumber',//
type: '3',
"subjectId": 6,
}
},
myTable: {
159: {
prop: 'idNumber',//
type: '3',
},
161: {
prop: 'customerName',//
type: '3',
"subjectId": 7,
},
162: {
prop: 'currency',//
type: '1',
"subjectId": 8,
},
163: {
prop: 'goldLogo',//
type: '1',
"subjectId": 9,
},
164: {
prop: 'voucherType',//
type: '1',
"subjectId": 11,
},
166: {
prop: 'voucherNumber',//
type: '3',
"subjectId": 44,
},
167: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
},
168: {
prop: 'monthDeposit',//
type: '3',
"subjectId": 31,
},
170: {
prop: 'extendDepositTarget',//
type: '1',
"subjectId": 37,
},
},
submited: 0
}
},
mounted () {
// this.getFormData()
},
methods: {
// userName,
// peopleNumber,
// idNumber,
// currency:'CNY',
// goldLogo:'',
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
setTipsOperate: 'system/setTipsOperate',
setCreditIds: 'system/setCreditIds',
}),
getDataBlur () {
// console.log('???')
},
popUp1 (text) {
this.setTipsOperate('请刷身份证');
this.setPopId('1399')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('166')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('167')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
// blur
accountBlur (val) {
this.form.customerName = '袋鼠互联网科技有限公司'
this.form.identificationType = 82
this.form.identificationNumber = '913403005685450862'
this.form.contactPhoneNumber = '15890317718'
this.form.companyRegisteredAddress = '广东省深圳市南山区前海一号2020室'
this.form.corporateName = '丛小凤'
this.form.corporateIdNumber = '220602199202281229'
this.form.numberOfEmployees = 50
this.form.yearOfEstablishment = '2018-02-19'
this.form.registrationType = '有限公司'
this.form.mainBusinessScope = '信息技术'
this.form.expirationDateOfBusinessLicense = '2024-01-01'
this.form.financialReportSubmissionMethod = '半年'
this.form.natureOfBorrower = '企业法人'
},
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155'
const cards = {
// 1399: 'nomUsefulPhrasesOpenCard2',
// 166: 'nomUsefulPhrasesOpenCard',
// 167: 'nomUsefulPhrasesOpenPassword'
}
const callback = () => {
if (this.form.idNumber) {
this.idNumberJudge = true
}
if (this.form.voucherNumber) {
this.cardNumberJudge = true
}
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
},
next () {
this.$emit('updateStep', 1)
},
submitForm () {
},
submitForm2 () {
// let nomUsefulPhrasesOpenCard = sessionStorage.getItem('nomUsefulPhrasesOpenCard')
// let nomUsefulPhrasesOpenCard2 = sessionStorage.getItem('nomUsefulPhrasesOpenCard2')
// let nomUsefulPhrasesOpenPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155'
const cards = [
{
key: '159,13'
}
// {
// 1399: nomUsefulPhrasesOpenCard2
// },
// {
// 166: nomUsefulPhrasesOpenCard
// },
// {
// 167: nomUsefulPhrasesOpenPassword,
// "subjectId": 17,
// }
]
this.setDataFlow(this.form)
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.submited = 1
//
async next () {
const { form } = this
if (!form.applicationAccount) {
messageCard('请填写账号')
return
}
try {
const res = creditEvaluationInput(form)
// id
this.setCredit({
companyLoanId: res.companyLoanId, // tabid
creditEvaluationId: res.creditEvaluationId, // id
})
this.$emit('updateStep', 1)
} catch { (e) => { } }
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName,
inputListen: inputListen
ismoney,
checkHanzi,
checkName,
inputListen,
},
computed: {
...mapGetters({

@ -34,35 +34,95 @@
<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 v-show="showPop" width="900px" class="data-dia z500 max-h-screen 2xl:-mt-20;" ref="dataDia" v-drag>
<div class="dia-header h-1/6">
<div class="data-title">{{ popText }}</div>
<div class="close-wrap">
<img class="close" v-lazy="lazyImg[28]" alt="" @click="closePop" />
</div>
</div>
<p class="tips">- 请从物品栏选中或拖拽所需材料 -</p>
<div class="list" ref="popUp">
<div class="img-wrap" :class="{ checked: commonChecked.includes(item.id), 'img-wrap': true }"
v-for="(item, index) in receptionList" :key="item.id" @click='dislodgeItem(index)'>
<!-- <img :src="item.src" class="file" alt="" /> -->
<el-image :src="item.src" class="file" :alt="item.name" :title="item.name" fit="scale-down"></el-image>
<p class="text">{{ item.name }}</p>
</div>
</div>
</div>
</div>
</template>
<script>
import Upload from '@/components/upload';
const moduleName = 'usefulPhrases/openAccount'
import { addOperation, creditEvaluationInput } from '@/api/http'
import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore'
import MyTitle from '@/components/myTitle'
const moduleName = 'creditEva/importReport'
export default {
name: '',
props: {},
components: {
Upload
},
created () {
computed: {
popText: function () {/* 文字 */
return this.$store.state.system.popText;
},
showGoods: function () {
return this.$store.state.system.showGoods
},
//
showPop: function () {
const dataDia = this.$refs.dataDia
//
if (dataDia) {
dataDia.style.top = '68px'
dataDia.style.left = '50%'
}
this.$refs.dataDia
this.receptionList = []
this.passwordForm.passwordAgain = ''
this.passwordForm.password2 = ''
if (!this.showGoods) this.checkList = []
return this.$store.state.system.showPop;
},
},
data () {
return {
commonChecked: [],//
receptionList: [],
}
},
mounted () {
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
}),
showData (type, nbm) {/* 展示弹窗-type为弹窗标题文字 */
this.nbm = nbm
//
this.changeShowGoods(true)
if (type !== '系统') {
this.$store.commit('system/changePop', { show: true, text: type, id: this.id })
}
},
closePop () {//
// v-drag
document.onmousemove = null
document.onmouseup = null
this.receptionList = [];
this.changeShowGoods(false)
this.$store.commit('system/changePop', { show: false, text: '' })
},
uploadSuccess (file) {
this.fileId = ''
this.fileType = file.format

@ -51,7 +51,7 @@ export default {
CreditApplication,
LoanApplication1,
LoanApplication2,
MyTitle
MyTitle,
},
data () {
return {
@ -74,7 +74,7 @@ export default {
},
methods: {
handleSelect (val) {
this.curStep = 0
this.curStep = 1
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val

@ -68,9 +68,8 @@
</div>
</template>
<script>
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { myValidate, ismoney, checkName, checkHanzi, messagePassword, messageCard, inputListen } from '@/utils/utilFunction.js'
import { addOperation, getOperation } from '@/api/http';
import { addOperation, getOperation } from '@/api/http'
import { mapMutations, mapGetters } from 'vuex'
import TipsBefore from '@/mixins/tipsBefore'

@ -2,85 +2,48 @@
<template>
<div class="wrap">
<MyTitle :titleArr="['个人贷款', '新增贷款申请']" />
<el-row :gutter="20"
style="margin: 0">
<el-form ref="form"
:model="form"
label-width="120px"
:rules="rules">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<template v-if="curStep === 1 || isDetail">
<el-col :span="24">
<h6 class="l-title">基本信息</h6>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="证件类型"
prop="certificateType">
<el-select v-model.trim="form.certificateType"
placeholder="请选择"
ref="certificateType"
disabled>
<el-option label="身份证"
:value="83"> </el-option>
<el-col :span="10" :offset="1">
<el-form-item label="证件类型" prop="idType">
<el-select v-model.trim="form.idType" placeholder="请选择" disabled>
<el-option label="身份证" :value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="客户姓名"
prop="customerName">
<el-input ref="customerName"
disabled
v-model="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="出生日期"
prop="birthday">
<el-date-picker disabled
v-model.trim="form.birthday"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd">
<el-form-item label="客户姓名" prop="customerName">
<el-input disabled v-model="form.customerName" @input="(val) => checkName(val, form, 'customerName')" />
</el-form-item>
<el-form-item label="出生日期" prop="birthDate">
<el-date-picker disabled v-model.trim="form.birthDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="证件号码"
required>
<div class="idCard"
@click="popUp1('身份证扫描仪')"
v-if='!idNumberJudge'>
<el-col :span="10" :offset="1">
<el-form-item label="证件号码" required>
<div class="idCard" @click="popUp1('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input v-model="form.idNumber"
disabled
ref="idNumber"></el-input>
<el-input v-model="form.idNumber" disabled ref="idNumber" />
</div>
</el-form-item>
<el-form-item label="性别"
prop="sex">
<el-select v-model.trim="form.sex"
disabled
placeholder="请选择"
ref='sex'>
<el-option :key="1"
label="男"
:value="1">
<el-form-item label="性别" prop="gender">
<el-select v-model.trim="form.gender" disabled placeholder="请选择">
<el-option :key="1" label="男" :value="1">
</el-option>
<el-option :key="2"
label="女"
:value="2">
<el-option :key="2" label="女" :value="2">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="联系电话"
:rules="rules.phone"
prop="phone">
<el-input v-model="form.phone"
@input="(val) => phoneListen(val, form, 'phone')"
maxlength="12"
ref='phone'></el-input>
<el-form-item label="联系电话" prop="phoneNumber">
<el-input v-model="form.phoneNumber" @input="(val) => phoneListen(val, form, 'phoneNumber')"
maxlength="11" />
</el-form-item>
</el-col>
@ -88,23 +51,20 @@
<div class="line"></div>
<h6 class="l-title">收入信息</h6>
</el-col>
<el-col :span="10"
:offset="1">
<el-col :span="10" :offset="1">
<el-form-item label="岗位">
<el-input v-model="form.customerName"></el-input>
<el-input v-model="form.position" />
</el-form-item>
<el-form-item label="当前单位工作年限"
label-width="150px">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="当前单位工作年限" label-width="150px">
<el-input v-model="form.currentWorkYears" />
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-col :span="10" :offset="1">
<el-form-item label="薪酬">
<el-input v-model="form.customerName"></el-input>
<el-input v-model="form.salary" />
</el-form-item>
<el-form-item label="工龄">
<el-input v-model="form.customerName"></el-input>
<el-input v-model="form.totalWorkYears" />
</el-form-item>
</el-col>
@ -112,34 +72,29 @@
<div class="line"></div>
<h6 class="l-title">房产信息</h6>
</el-col>
<el-col :span="10"
:offset="1">
<el-col :span="10" :offset="1">
<el-form-item label="产权人">
<el-input v-model="form.customerName"></el-input>
<el-input v-model="form.propertyOwner" />
</el-form-item>
<el-form-item label="共有情况">
<el-input v-model="form.customerName"></el-input>
<el-input v-model="form.coOwnership" />
</el-form-item>
<el-form-item label="权利类型">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="权利性质">
<el-input v-model="form.propertyRightNature" />
</el-form-item>
<el-form-item label="面积">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="使用期限">
<el-input v-model="form.usagePeriodStart" />
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-col :span="10" :offset="1">
<el-form-item label="房产证号">
<el-input v-model="form.customerName"></el-input>
<el-input v-model="form.propertyCertificateNo" />
</el-form-item>
<el-form-item label="坐落">
<el-input v-model="form.customerName"></el-input>
<el-input v-model="form.location" />
</el-form-item>
<el-form-item label="权利性质">
<el-input v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="使用期限">
<el-input v-model="form.customerName"></el-input>
<el-form-item label="面积">
<el-input v-model="form.area" />
</el-form-item>
</el-col>
</template>
@ -149,100 +104,65 @@
<div class="line"></div>
<h6 class="l-title">贷款合同</h6>
</el-col>
<el-col :span="10"
:offset="1">
<el-col :span="10" :offset="1">
<el-form-item label="贷款类型">
<el-input v-model="form.customerName"></el-input>
<el-input v-model="form.customerName" />
</el-form-item>
<el-form-item label="合同金额">
<el-input v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="起息日期"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="计息方式"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="浮动比例"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="逾期利率"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="还款方式"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="还款账号"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
<el-input v-model="form.customerName" />
</el-form-item>
<el-form-item label="起息日期" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="计息方式" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="浮动比例" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="逾期利率" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="还款方式" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="还款账号" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="合同编号"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="贷款期限"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="到期日期"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="基准利率"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="执行利率"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="担保方式"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="利息总额"
prop="customerName">
<el-input ref="customerName"
v-model="form.customerName"></el-input>
<el-col :span="10" :offset="1">
<el-form-item label="合同编号" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="贷款期限" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="到期日期" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="基准利率" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="执行利率" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="担保方式" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
<el-form-item label="利息总额" prop="customerName">
<el-input ref="customerName" v-model="form.customerName"></el-input>
</el-form-item>
</el-col>
</template>
</el-form>
</el-row>
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2"
depositNumber='0816' />
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
@submitIt="submitForm2" depositNumber='0816' />
<div class="text-center">
<el-button @click="next"
type="primary"
class="submitBtn"
v-throttle>{{ curStep === 1 ? '下一步' : '提交' }}</el-button>
<el-button @click="next" type="primary" class="submitBtn" v-throttle>{{ curStep === 1 ? '下一步' : '提交'
}}</el-button>
</div>
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
@ -250,6 +170,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 } from '@/api/http'
const moduleName = 'usefulPhrases/openAccount'
import { mapMutations, mapGetters } from 'vuex'
@ -277,42 +198,43 @@ export default {
cardNumberJudge: false,
idNumberJudge: false,
form: {
//
// identityCard: '', //
idType: 83,
idNumber: '',
customerName: '', //
currency: '', //
goldLogo: '', //
voucherType: '', //
monthDeposit: '', //
depositTerm: '', //
extendDepositTarget: '', //
voucherNumber: '', //
drawPassword: '', //
//
clientNumber: '', //
certificateType: 83, //
phone: '',//
birthday: null,//
customerName: '',
gender: '',
birthDate: '',
phoneNumber: '',
position: '',
salary: '',
currentWorkYears: '',
totalWorkYears: '',
propertyOwner: '',
propertyCertificateNo: '',
coOwnership: '',
location: '',
propertyRightNature: '',
area: '',
usagePeriodStart: '',
usagePeriodEnd: '',
},
formName: {
//
// identityCard: '', //
idNumber: '身份证',
customerName: '客户姓名', //
currency: '币种', //
goldLogo: '钞汇标识', //
voucherType: '凭证类型', //
monthDeposit: '月存金额', //
depositTerm: '存期', //
extendDepositTarget: '续存标识', //
voucherNumber: '凭证号码', //
drawPassword: '支付密码', //
//
clientNumber: '客户号', //
certificateType: '证件类型', //
phone: '联系电话',
birthday: '出生日期',
idType: '证件类型',
idNumber: '证件号码',
customerName: '证件号码',
gender: '性别',
birthDate: '出生日期',
phoneNumber: '联系电话',
position: '岗位',
salary: '薪酬',
currentWorkYears: '当前单位工作年限',
totalWorkYears: '工龄',
propertyOwner: '产权人',
propertyCertificateNo: '房产证号',
coOwnership: '共有情况',
location: '坐落',
propertyRightNature: '权利性质',
area: '面积',
usagePeriodStart: '使用期限',
},
rules: {
customerName: vercustomer,
@ -323,122 +245,6 @@ export default {
trigger: 'blur'
}
],
phone: [
{
required: true,
message: '请输入联系电话',
trigger: 'blur'
},
{
pattern: mobPattern,
message: '联系电话格式有误'
}
],
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
goldLogo: [
{
required: true,
message: '请选择钞汇标识',
trigger: 'blur'
}
],
voucherType: [
{
required: true,
message: '请选择凭证类型',
trigger: 'blur'
}
],
monthDeposit: [
{
required: true,
message: '请输入月存金额',
trigger: 'blur'
}
],
depositTerm: [
{
required: true,
message: '请选择存期',
trigger: 'blur'
}
],
extendDepositTarget: [
{
required: true,
message: '请选择续存标识',
trigger: 'blur'
}
],
},
myTable2: {
158: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
// 169: {
// prop: 'customerManage',//
// type: '3',
// "subjectId": 27,
// },
160: {
prop: 'clientNumber',//
type: '3',
"subjectId": 6,
}
},
myTable: {
159: {
prop: 'idNumber',//
type: '3',
},
161: {
prop: 'customerName',//
type: '3',
"subjectId": 7,
},
162: {
prop: 'currency',//
type: '1',
"subjectId": 8,
},
163: {
prop: 'goldLogo',//
type: '1',
"subjectId": 9,
},
164: {
prop: 'voucherType',//
type: '1',
"subjectId": 11,
},
166: {
prop: 'voucherNumber',//
type: '3',
"subjectId": 44,
},
167: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
},
168: {
prop: 'monthDeposit',//
type: '3',
"subjectId": 31,
},
170: {
prop: 'extendDepositTarget',//
type: '1',
"subjectId": 37,
},
},
submited: 0,
curRoute: '',
@ -451,31 +257,31 @@ export default {
mounted () {
this.curRoute = this.$route.path
if (sessionStorage.getItem('nomPersonalLoans')) {
if (sessionStorage.getItem('nomUsefulPhrasesOpenCard2')) {
this.idNumberJudge = true
const { userName, sex, birthday, nationality, mailbox, idNumber } = this.dataFlow
this.form.idNumber = idNumber
this.form.idType = 83
this.form.userName = userName
// let sexs = null
// if (sex == ''){
// sexs = 1
// }else{
// sexs = 2
// }
this.form.sex = sex
this.form.birthday = birthday
// this.form.nationality = nationality
// this.form.mailbox = mailbox
this.form = {
idType: 83,
idNumber: '220602199202281229',
customerName: '丛小风',
gender: 2,
birthDate: '1992-02-28',
phoneNumber: '15890317718',
position: '会计主管',
salary: '80',
currentWorkYears: '5年',
totalWorkYears: '12年',
propertyOwner: '丛小风',
propertyCertificateNo: '不动产权第012000号',
coOwnership: '单独所有',
location: '前海新区深圳湾一号1612',
propertyRightNature: '出让/商品房',
area: '建筑面积: 189平方米',
usagePeriodStart: '70年,2018.3.15 至 2088.3.14 止',
usagePeriodEnd: '',
}
}
},
methods: {
// userName,
// peopleNumber,
// idNumber,
// currency:'CNY',
// goldLogo:'',
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
@ -489,107 +295,24 @@ export default {
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
next () {
async next () {
if (this.curStep < 2) {
this.curStep++
try {
const res = personalBasicSave(form)
this.curStep++
} catch { (e) => { } }
} else {
}
},
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155'
const cards = {
// 1399: 'nomUsefulPhrasesOpenCard2',
// 166: 'nomUsefulPhrasesOpenCard',
// 167: 'nomUsefulPhrasesOpenPassword'
}
const callback = () => {
if (this.form.idNumber) {
this.idNumberJudge = true
}
if (this.form.voucherNumber) {
this.cardNumberJudge = true
}
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
},
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
// let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime')
// let formList = [
// {
// "answerId":'159',
// "emptyOne": "",
// "emptyTwo": "",
// "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,59,155,159,13",
// "type": ""
// }
// ]
// let params= {
// parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155,159',
// lcJudgmentRuleReq:formList,
// projectId:+projectId,
// startTime:startTime,
// }
// addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
// }).catch((error)=>{
// })
return
}
if (!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if (!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
},
submitForm2 () {
// let nomUsefulPhrasesOpenCard = sessionStorage.getItem('nomUsefulPhrasesOpenCard')
// let nomUsefulPhrasesOpenCard2 = sessionStorage.getItem('nomUsefulPhrasesOpenCard2')
// let nomUsefulPhrasesOpenPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155'
const cards = [
{
key: '159,13'
}
// {
// 1399: nomUsefulPhrasesOpenCard2
// },
// {
// 166: nomUsefulPhrasesOpenCard
// },
// {
// 167: nomUsefulPhrasesOpenPassword,
// "subjectId": 17,
// }
]
this.setDataFlow(this.form)
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.submited = 1
},
phoneListen,
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName,
inputListen: inputListen
checkName,
},
computed: {
...mapGetters({
@ -604,18 +327,20 @@ export default {
</script>
<style lang='scss' scoped>
.wrap {
width: 100%;
height: calc(90vh - 27px);
padding: 20px;
overflow: auto;
.l-title {
margin-bottom: 15px;
font-size: 18px;
font-weight: 600;
}
.line {
margin: 20px 0;
border-bottom: 1px dashed #d7d7d7;
}
width: 100%;
height: calc(90vh - 27px);
padding: 20px;
overflow: auto;
.l-title {
margin-bottom: 15px;
font-size: 18px;
font-weight: 600;
}
.line {
margin: 20px 0;
border-bottom: 1px dashed #d7d7d7;
}
}
</style>

@ -1,7 +1,3 @@
/* 银行系统 */
/* 所有物品名字 这里能将东西查找出来并渲染上物品栏 */
const allGoods = {
469: { name: '预留印鉴卡(一)', src: require('@/assets/img/goods/预留印鉴卡.png'), id: 469 },
@ -2735,6 +2731,7 @@ export default {
// 初始化公共数据
allDataFlow: { ...allDataFlow },
isCredit: false,
creditIds: {},
},
mutations: {
// 设置tipDialog组件提示的信息。这个组件是根据UI设计的。
@ -3193,6 +3190,10 @@ export default {
setCredit (state, val) {
state.isCredit = val
},
// 缓存信用评估id
setCreditIds (state, val) {
state.creditIds = val
},
},
actions: {
},

@ -4,329 +4,329 @@ import store from '@/store'
const phoneListen = function(val, form, prop) {
if(/^[0-9]*$/.test(val)) {
form[prop] = val;
}
const phoneListen = function (val, form, prop) {
if (/^[0-9]*$/.test(val)) {
form[prop] = val;
}
}
const mailBoxListen = function(val, form, prop) {
if(/^[\u4E00-\u9FA5A-Za-z0-9_]+$/.test(val) || val==='') {
form[prop] = val;
}
const mailBoxListen = function (val, form, prop) {
if (/^[\u4E00-\u9FA5A-Za-z0-9_]+$/.test(val) || val === '') {
form[prop] = val;
}
}
// 校验中文
const checkHanzi = function(val, form, prop) {
// 检查符号
const charReg = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/im;
// 检查空格
const tmpCheck = val.substr(val.length-1, 1);
if(tmpCheck === ' ' || charReg.test(val) || /[\u4E00-\u9FA5]/i.test(val)) {
return;
}
form[prop] = val;
const checkHanzi = function (val, form, prop) {
// 检查符号
const charReg = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/im;
// 检查空格
const tmpCheck = val.substr(val.length - 1, 1);
if (tmpCheck === ' ' || charReg.test(val) || /[\u4E00-\u9FA5]/i.test(val)) {
return;
}
form[prop] = val;
}
const checkName = function(val, form, prop) {
// 检查符号
const charReg = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/im;
// // 检查数字
const charReg2 = /^[0-9]*$/;
const tmpCheck = val.substr(val.length-1, 1);
if(val.length<form[prop].length) {
form[prop] = val;
return;
}
if(charReg.test(val) || charReg2.test(tmpCheck)) {
return;
}
const checkName = function (val, form, prop) {
// 检查符号
const charReg = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/im;
// // 检查数字
const charReg2 = /^[0-9]*$/;
const tmpCheck = val.substr(val.length - 1, 1);
if (val.length < form[prop].length) {
form[prop] = val;
return;
}
if (charReg.test(val) || charReg2.test(tmpCheck)) {
return;
}
form[prop] = val;
}
// 检查证件号
const certificateNumber = function(val, form, prop) {
const charReg = /^(0|[0-9][0-9]*)$/;
if(val.length<form[prop].length) {
form[prop] = val;
return;
}
const certificateNumber = function (val, form, prop) {
const charReg = /^(0|[0-9][0-9]*)$/;
if (val.length < form[prop].length) {
form[prop] = val;
return;
}
if(charReg.test(val)) {
form[prop] = val;
}
if (charReg.test(val)) {
form[prop] = val;
}
}
// 监听年利率
const rateListen = function(val, form, prop) {
// 检查符号 允许%
// const charReg = /[`~!@#$^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥……&*()——\-+={}|《》?:“”【】、;‘',。、]/im;
const charReg =/^\\d+(\\.\\d)?\\d{0,1}%$/
// 检查空格
if(charReg.test(val) || /[\u4E00-\u9FA5]/i.test(val)) {
return;
}
form[prop] = val;
const rateListen = function (val, form, prop) {
// 检查符号 允许%
// const charReg = /[`~!@#$^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥……&*()——\-+={}|《》?:“”【】、;‘',。、]/im;
const charReg = /^\\d+(\\.\\d)?\\d{0,1}%$/
// 检查空格
if (charReg.test(val) || /[\u4E00-\u9FA5]/i.test(val)) {
return;
}
form[prop] = val;
}
// 监听数字
const inputListen = function(val, row, prop) {
// 检查空格
const tmpCheck = val.substr(val.length-1, 1);
if(tmpCheck === ' ') {
return;
}
if(val === '') {
row[prop] = val;
return;
}
row[prop] = Number(val.replace(/\D+/, ''))
const inputListen = function (val, row, prop) {
// 检查空格
const tmpCheck = val.substr(val.length - 1, 1);
if (tmpCheck === ' ') {
return;
}
if (val === '') {
row[prop] = val;
return;
}
row[prop] = Number(val.replace(/\D+/, ''))
}
// 另一个监听数字的方法,根据需求不同来选。
const inputListen2 = function(val, row, prop) {
// 检查空格
const tmpCheck = val.substr(val.length-1, 1);
if(tmpCheck === ' ') {
return;
}
// 可以删光
if(val === '') {
row[prop] = val;
return;
}
if(Number(val) || Number(val)===0) {
row[prop] = val
}
const inputListen2 = function (val, row, prop) {
// 检查空格
const tmpCheck = val.substr(val.length - 1, 1);
if (tmpCheck === ' ') {
return;
}
// 可以删光
if (val === '') {
row[prop] = val;
return;
}
if (Number(val) || Number(val) === 0) {
row[prop] = val
}
}
// 验证是否金钱
const ismoney = function(val, row, prop) {
// 检查空格
const tmpCheck = val.substr(val.length-1, 1);
if(tmpCheck === ' ') {
return;
}
if(val.length === 15) {
return
}
// const reg = /([1-9]\d{0,9}|0)(\.\d{1,2})?$/ // 不用保留
const reg2 = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; // 保留小数点后两位
if (reg2.test(Number(val)) || val==='') {
row[prop] = val
}
const ismoney = function (val, row, prop) {
// 检查空格
const tmpCheck = val.substr(val.length - 1, 1);
if (tmpCheck === ' ') {
return;
}
if (val.length === 15) {
return
}
// const reg = /([1-9]\d{0,9}|0)(\.\d{1,2})?$/ // 不用保留
const reg2 = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; // 保留小数点后两位
if (reg2.test(Number(val)) || val === '') {
row[prop] = val
}
}
// 检查某个空是否填写完成
const checkRequired = function(form, obj) {
for(const prop in obj) {
if(form[prop] === '') {
MessageBox.alert('请填写' + obj[prop], '提示', {
type: 'info',
confirmButtonText: '确定'
});
return prop
}
const checkRequired = function (form, obj) {
for (const prop in obj) {
if (form[prop] === '') {
MessageBox.alert('请填写' + obj[prop], '提示', {
type: 'info',
confirmButtonText: '确定'
});
return prop
}
return '';
}
return '';
}
// 自己封装的验证方法,配合element-ui的validate使用
const myValidate = (callback, refs) => {
return (valid, obj) => {
if (valid) {
callback()
} else {
let tmpObj = {};
for(const key in obj) {
tmpObj = obj[key][0]
break;
}
const { message, field } = tmpObj
try {
refs[field].focus();
} catch (error) {
}
Message.warning({
center: true,
message
})
}
return (valid, obj) => {
if (valid) {
callback()
} else {
let tmpObj = {};
for (const key in obj) {
tmpObj = obj[key][0]
break;
}
const { message, field } = tmpObj
try {
refs[field].focus();
} catch (error) {
}
Message.warning({
center: true,
message
})
}
}
}
// 电脑的系统录入中提交表单
const autoPlay = (parentId, form, myTable2, myTable, cards=[]) => {
let projectId = sessionStorage.getItem('projectId') || 11 // 默认11吧?
let startTime = sessionStorage.getItem('startTime')
let formList = [];
// let tmpIndex = 100;
for(const key in myTable2) {
const { prop, type, subjectId='' } = myTable2[key]
if(form[prop]){
formList.push({ "answerId": key + '', "emptyOne": '' + subjectId, "emptyTwo": form[prop], "operationIds": parentId + ',' + key, "type":type })
}
}
for(const key in myTable) {
const { prop, type, subjectId='' } = myTable[key]
formList.push({ "answerId": key + '', "emptyOne": '' + subjectId, "emptyTwo": form[prop], "operationIds": parentId + ',' + key, "type":type })
}
for(let i=0; i<cards.length; i++ ) {
formList.push({ "answerId": '', "emptyOne": '', "emptyTwo": '', "operationIds": parentId + ',' + cards[i].key, "type":"" })
}
let params= {
parentId,
lcJudgmentRuleReq:formList,
projectId: projectId,
// projectId:+projectId,
startTime:startTime,
const autoPlay = (parentId, form, myTable2, myTable, cards = []) => {
let projectId = sessionStorage.getItem('projectId') || 11 // 默认11吧?
let startTime = sessionStorage.getItem('startTime')
let formList = [];
// let tmpIndex = 100;
for (const key in myTable2) {
const { prop, type, subjectId = '' } = myTable2[key]
if (form[prop]) {
formList.push({ "answerId": key + '', "emptyOne": '' + subjectId, "emptyTwo": form[prop], "operationIds": parentId + ',' + key, "type": type })
}
addOperation(params).then((data)=>{
// Message.success({
// center: true,
// message: '提交成功'
// })
}).catch((error)=>{
this.$message({
message: '服务器繁忙,提交失败。',
center: true,
type: 'info'
});
})
}
for (const key in myTable) {
const { prop, type, subjectId = '' } = myTable[key]
formList.push({ "answerId": key + '', "emptyOne": '' + subjectId, "emptyTwo": form[prop], "operationIds": parentId + ',' + key, "type": type })
}
for (let i = 0; i < cards.length; i++) {
formList.push({ "answerId": '', "emptyOne": '', "emptyTwo": '', "operationIds": parentId + ',' + cards[i].key, "type": "" })
}
let params = {
parentId,
lcJudgmentRuleReq: formList,
projectId: projectId,
// projectId:+projectId,
startTime: startTime,
}
addOperation(params).then((data) => {
// Message.success({
// center: true,
// message: '提交成功'
// })
}).catch((error) => {
this.$message({
message: '服务器繁忙,提交失败。',
center: true,
type: 'info'
});
})
}
// 电脑录入中获取缓存信息
const autoPlay2 = (parentId=11, form, myTable2, myTable, cardArr, callback) => {
// 默认11吧?
let param= {
parentId
}
getOperation(param).then((data)=>{
if(data.status == 200) {
var list = data.data.judgmentRuleReqs
// const tmpObj = Object.assign(myTable, myTable2) ...巨坑,把后面的属性给到前面了
const tmpObj = {...myTable, ...myTable2}
for (var i = 0; i < list.length; i++) {
const { answerId, emptyTwo } = list[i]
if(!cardArr) {
if(Number(emptyTwo)) {
const tmpNumber =+emptyTwo
// console.log('kao000')
// console.log(tmpNumber)
form[tmpObj[answerId].prop] = tmpNumber
}else {
form[tmpObj[answerId].prop] = emptyTwo
}
} else {
if(cardArr[answerId]) {
try{
sessionStorage.setItem(cardArr[answerId], JSON.parse(list[i].emptyTwo))
}catch(e) {
// sessionStorage.setItem(cardArr[answerId], list[i].emptyTwo)
continue;
}
}else {
if(Number(emptyTwo)) {
form[tmpObj[answerId].prop] = +emptyTwo
}else {
form[tmpObj[answerId].prop] = emptyTwo
}
// form[tmpObj[answerId].prop] = emptyTwo
}
}
// form[tmpObj[answerId].prop] = emptyTwo
const autoPlay2 = (parentId = 11, form, myTable2, myTable, cardArr, callback) => {
// 默认11吧?
let param = {
parentId
}
getOperation(param).then((data) => {
if (data.status == 200) {
var list = data.data.judgmentRuleReqs
// const tmpObj = Object.assign(myTable, myTable2) ...巨坑,把后面的属性给到前面了
const tmpObj = { ...myTable, ...myTable2 }
for (var i = 0; i < list.length; i++) {
const { answerId, emptyTwo } = list[i]
if (!cardArr) {
if (Number(emptyTwo)) {
const tmpNumber = +emptyTwo
// console.log('kao000')
// console.log(tmpNumber)
form[tmpObj[answerId].prop] = tmpNumber
} else {
form[tmpObj[answerId].prop] = emptyTwo
}
} else {
if (cardArr[answerId]) {
try {
sessionStorage.setItem(cardArr[answerId], JSON.parse(list[i].emptyTwo))
} catch (e) {
// sessionStorage.setItem(cardArr[answerId], list[i].emptyTwo)
continue;
}
callback()
} else {
if (Number(emptyTwo)) {
form[tmpObj[answerId].prop] = +emptyTwo
} else {
form[tmpObj[answerId].prop] = emptyTwo
}
// form[tmpObj[answerId].prop] = emptyTwo
}
}
}).catch((error)=>{
})
// form[tmpObj[answerId].prop] = emptyTwo
}
callback()
}
}).catch((error) => {
})
}
const autoPlay3 = (name, allName, arr) => { // 要接收的, 所有的, 要接收的属性
for(let key of arr) {
name[key] = allName[key]
}
for (let key of arr) {
name[key] = allName[key]
}
}
// 获取当前年月日并格式化
const getNowDate = () => {
const date = new Date()
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? '0' + m : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
return y + '-' + m + '-' + d;
const date = new Date()
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? '0' + m : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
return y + '-' + m + '-' + d;
}
// 提示请刷身份证信息
const messageIdCard = (message='请刷身份证') => {
store.commit('system/setTipsOperate', message)
// Message.warning({
// center: true,
// message,
// })
const messageIdCard = (message = '请刷身份证') => {
store.commit('system/setTipsOperate', message)
// Message.warning({
// center: true,
// message,
// })
}
// 提示请刷银行卡信息
const messageCard = (message='请刷银行卡') => {
store.commit('system/setTipsOperate', message)
// Message.warning({
// center: true,
// message
// })
const messageCard = (message = '请刷银行卡') => {
store.commit('system/setTipsOperate', message)
// Message.warning({
// center: true,
// message
// })
}
// 提示请填写支取密码信息
const messagePassword = (message='请填写支取密码') => {
store.commit('system/setTipsOperate', message)
// Message.warning({
// center: true,
// message,
// })
const messagePassword = (message = '请填写支取密码') => {
store.commit('system/setTipsOperate', message)
// Message.warning({
// center: true,
// message,
// })
}
// 随机生成10位客户号
const randomPeopleNumber = () => {
const $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
const $chars2 = '1234567890'
const maxPos = $chars2.length;
let str = '';
// str += $chars.charAt(Math.floor(Math.random() * maxPos))
for (let i = 0; i <= 9; i++) {
str += $chars2.charAt(Math.floor(Math.random() * maxPos));
}
return str;
const $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
const $chars2 = '1234567890'
const maxPos = $chars2.length;
let str = '';
// str += $chars.charAt(Math.floor(Math.random() * maxPos))
for (let i = 0; i <= 9; i++) {
str += $chars2.charAt(Math.floor(Math.random() * maxPos));
}
return str;
}
export {
randomPeopleNumber,
phoneListen,
mailBoxListen,
checkRequired,
inputListen,
ismoney,
checkHanzi,
myValidate,
checkName,
rateListen,
autoPlay,
autoPlay2,
autoPlay3,
getNowDate,
inputListen2,
messageIdCard,
messageCard,
messagePassword,
certificateNumber
}
export {
randomPeopleNumber,
phoneListen,
mailBoxListen,
checkRequired,
inputListen,
ismoney,
checkHanzi,
myValidate,
checkName,
rateListen,
autoPlay,
autoPlay2,
autoPlay3,
getNowDate,
inputListen2,
messageIdCard,
messageCard,
messagePassword,
certificateNumber
}
Loading…
Cancel
Save