import {
|
getCityCodeList,
|
getAreaCodeList
|
} from '@/api/product'
|
import { MessageBox,Message } from 'element-ui'
|
import { setStorage, getStorage, removeStorage } from "@/utils/storage";
|
export default {
|
tabInfo(state,target,self){
|
const applyInfo = self.$store.state.product.applyInfo
|
const { flowno } = applyInfo
|
switch (state) {
|
case '借款人信息':
|
self.$router.replace({path:`/${target}/borrower`})
|
break;
|
case '共借人信息':
|
self.$router.replace({path:`/${target}/coBorrower`})
|
break;
|
case '担保人信息':
|
self.$router.replace({path:`/${target}/guarantor`})
|
break;
|
case '卖方信息':
|
self.$router.replace({path:`/${target}/seller`})
|
break;
|
case '买方信息':
|
self.$router.replace({path:`/${target}/buyer`})
|
break;
|
case '物业信息':
|
self.$router.replace({path:`/${target}/property`})
|
break;
|
case '借款企业信息':
|
self.$router.replace({path:`/${target}/loanEnterprise`})
|
break;
|
case '应收账款信息':
|
self.$router.replace({path:`/${target}/receivables`})
|
break;
|
case '再保理信息':
|
self.$router.replace({path:`/${target}/reFactoring`})
|
break;
|
case '准入项目信息':
|
self.$router.replace({path:`/${target}/commission`})
|
break;
|
case '票据信息':
|
self.$router.replace({path:`/${target}/bill`})
|
break;
|
case '贷款申请信息':
|
self.$router.replace({path:`/${target}/loan`})
|
break;
|
case '主/共借人征信信息':
|
self.$router.replace({path:`/${target}/credit`})
|
break;
|
case '预收客户息费':
|
self.$router.replace({path:`/preChargeCustomerInterest`})
|
break;
|
case '预收商户贴息':
|
self.$router.replace({path:`/preChargeMerchantDiscount`})
|
break;
|
case '本金回款信息':
|
self.$router.replace({path:`/${target}/receivable`})
|
break;
|
case '息费结算信息':
|
self.$router.replace({path:`/${target}/interestSettle`})
|
break;
|
case '还款信息':
|
self.$router.replace({path:`/${target}/repayment`})
|
break;
|
case '回款信息':
|
self.$router.replace({path:`/${target}/moneyBack`})
|
break;
|
case '审批意见':
|
flowno == 'ZBDEntInfoAlterFlow'
|
? self.$router.replace({path:'/ZBDEntInfoAlterFlow/opinion'})
|
: self.$router.replace({path:'/opinion'})
|
break;
|
case '影像资料信息':
|
self.$router.replace({path:'/imageData'})
|
break;
|
case '电子合同信息':
|
self.$router.replace({path:'/contract'})
|
break;
|
case '风控审批信息':
|
self.$router.replace({path:'/riskApproval'})
|
break;
|
case '历史审批意见':
|
self.$router.replace({path:'/historicalOpinions'})
|
break;
|
case '历史贷款信息':
|
self.$router.replace({path:'/historicalLoan'})
|
break;
|
case '流程流转记录':
|
self.$router.replace({path:'/flowRecord'})
|
break;
|
default:
|
break;
|
}
|
},
|
eachRoute(path,that){
|
switch (path) {
|
case "borrower":
|
that.eachArr('借款人信息')
|
break;
|
case "coBorrower":
|
that.eachArr('共借人信息')
|
break;
|
case "guarantor":
|
that.eachArr('担保人信息')
|
break;
|
case "seller":
|
that.eachArr('卖方信息')
|
break;
|
case "buyer":
|
that.eachArr('买方信息')
|
break;
|
case "property":
|
that.eachArr('物业信息')
|
break;
|
case "loanEnterprise":
|
that.eachArr('借款企业信息')
|
break;
|
case "receivables":
|
that.eachArr('应收账款信息')
|
break;
|
case "reFactoring":
|
that.eachArr('再保理信息')
|
break;
|
case "commission":
|
that.eachArr('准入项目信息')
|
break;
|
case "bill":
|
that.eachArr('票据信息')
|
break;
|
case "loan":
|
that.eachArr('贷款申请信息')
|
break;
|
case "imageData":
|
that.eachArr('影像资料信息')
|
break;
|
case "credit":
|
that.eachArr('主/共借人征信信息')
|
break;
|
case "preChargeCustomerInterest":
|
that.eachArr('预收客户息费')
|
break;
|
case "preChargeMerchantDiscount":
|
that.eachArr('预收商户贴息')
|
break;
|
case "receivable":
|
that.eachArr('本金回款信息')
|
break;
|
case "interestSettle":
|
that.eachArr('息费结算信息')
|
break;
|
case "repayment":
|
that.eachArr('还款信息')
|
break;
|
case "moneyBack":
|
that.eachArr('回款信息')
|
break;
|
case "contract":
|
that.eachArr('电子合同信息')
|
break;
|
case "opinion":
|
that.eachArr('审批意见')
|
break;
|
case "riskApproval":
|
that.eachArr('风控审批信息')
|
break;
|
case "historicalOpinions":
|
that.eachArr('历史审批意见')
|
break;
|
case "historicalLoan":
|
that.eachArr('历史贷款信息')
|
break;
|
case "flowRecord":
|
that.eachArr('流程流转记录')
|
break;
|
default:
|
break;
|
}
|
},
|
// 点击下一步进行校验
|
validateForm(array){
|
let flag = true
|
for (let i = 0; i < array.length; i++) {
|
array[i].validate(valid => {
|
if (!valid) {
|
flag = false
|
}
|
});
|
if(!flag){
|
Message.warning('当前页面存在必填项未录入或数据录入错误,请检查!')
|
return { flag:flag,index:i };
|
}
|
}
|
return { flag:flag }
|
},
|
// 规则校验
|
validate(code){
|
// 中文名称校验
|
if(code=='name'){
|
return {
|
pattern: /^[\u4e00-\u9fa5]{2,50}$/,
|
message: `格式不正确`,
|
trigger: 'blur'
|
}
|
}
|
// 手机号码校验
|
if(code=='phone'){
|
return {
|
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
|
message: `格式不正确`,
|
trigger: 'blur'
|
}
|
}
|
// 身份证号码校验
|
if(code=='identity'){
|
return {
|
pattern: /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/,
|
message: `格式不正确`,
|
trigger: 'blur'
|
}
|
}
|
// 电话格式
|
if(code=='telephone'){
|
return {
|
pattern: /^[0-9]([-0-9]+)$/,
|
message: `格式不正确`,
|
trigger: 'blur'
|
}
|
}
|
// 金额校验
|
if(code=='amount'){
|
return {
|
pattern: /^(([1-9][0-9]{0,2}(,\d{3})*)|0)(\.\d{1,2})?$/,
|
message: `格式不正确`,
|
trigger: 'blur'
|
}
|
}
|
// 纯数字校验
|
if(code=='number'){
|
return {
|
pattern: /^\d+$/,
|
message: `格式不正确`,
|
trigger: 'blur'
|
}
|
}
|
// 银行卡号校验
|
if(code=='bankNo'){
|
return {
|
pattern: /^[0-9]{16,19}$/,
|
message: `格式不正确`,
|
trigger: 'blur'
|
}
|
}
|
// 银行户名校验
|
if(code=='bankName'){
|
return {
|
pattern: /^[\u4E00-\u9FA5]{1,100}$/,
|
message: `格式不正确`,
|
trigger: 'blur'
|
}
|
}
|
// 邮箱校验
|
if(code=='email'){
|
return {
|
pattern: /^[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/,
|
message: `格式不正确`,
|
trigger: 'blur'
|
}
|
}
|
},
|
// 自定义身份证校验
|
checkCertid(certtype,value,callback){
|
if(!(/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(value))&&certtype=='01'){
|
callback(new Error('证件号码格式不正确'));
|
}else{
|
if(value.length>50&&certtype!='01'){
|
callback(new Error('证件号码格式不正确'));
|
}else{
|
callback()
|
}
|
}
|
},
|
// 根据市获取区枚举值
|
getcity(val,key,form,callback){
|
if(val){
|
getAreaCodeList({codeNo:'AreaCode',itmeNo:val}).then(res=>{
|
callback(res.result)
|
switch (key) {
|
case 'companycountyList':
|
form.companycounty = ''
|
callback(res.result)
|
break;
|
case 'familycountyList':
|
form.familycounty = ''
|
callback(res.result)
|
break;
|
case 'kosekicountyList':
|
form.kosekicounty = ''
|
callback(res.result)
|
break;
|
case 'housecountyList':
|
form.housecounty = ''
|
callback(res.result)
|
break;
|
case 'registerareList':
|
form.registerare = ''
|
callback(res.result)
|
break;
|
case 'corporatecountyList':
|
form.corporatecounty = ''
|
callback(res.result)
|
break;
|
case 'cpncountyList':
|
form.cpnDist = ''
|
callback(res.result)
|
break;
|
default:
|
break;
|
}
|
})
|
}
|
},
|
// 根据省获取市枚举值
|
getprovince(val,key,form,callback){
|
if(val){
|
getCityCodeList({codeNo:'AreaCode',itmeNo:val}).then(res=>{
|
switch (key) {
|
case 'companycityList':
|
form.companycity = ''
|
form.companycounty = ''
|
callback(res.result)
|
break;
|
case 'familycityList':
|
form.familycity = ''
|
form.familycounty = ''
|
callback(res.result)
|
break;
|
case 'kosekicityList':
|
form.kosekicity = ''
|
form.kosekicounty = ''
|
callback(res.result)
|
break;
|
case 'housecityList':
|
form.housecity = ''
|
form.housecounty = ''
|
callback(res.result)
|
break;
|
case 'registercityList':
|
form.registercity = ''
|
form.registerare = ''
|
callback(res.result)
|
break;
|
case 'putoutbankcityList':
|
form.putoutbankcity = ''
|
callback(res.result)
|
break;
|
case 'corporatecityList':
|
form.corporatecity = ''
|
callback(res.result)
|
break;
|
case 'cpncityList':
|
form.cpnCity = ''
|
form.cpnDist = ''
|
callback(res.result)
|
break;
|
default:
|
break;
|
}
|
})
|
}
|
},
|
// 获取区枚举值
|
qryAreaCodeList(code){
|
return new Promise(resolve=>{
|
getAreaCodeList({codeNo:'AreaCode',itmeNo:code}).then(res=>{
|
resolve(res.result)
|
})
|
})
|
},
|
// 获取市枚举值
|
qryCityCodeList(code){
|
return new Promise(resolve=>{
|
getCityCodeList({codeNo:'AreaCode',itmeNo:code}).then(res=>{
|
resolve(res.result)
|
})
|
})
|
},
|
// 比较表单数据是否发生变化
|
compareFormData(oldData,newData,next){
|
for (let i = 0; i < newData.length; i++) {
|
for (const key in newData[i]) {
|
if (oldData[i].hasOwnProperty(key)) {
|
const flag = typeof newData[i][key] === 'object'
|
? JSON.stringify(newData[i][key]) != JSON.stringify(oldData[i][key])
|
: newData[i][key] != oldData[i][key]
|
if (flag) {
|
// 页面有数据未保存
|
MessageBox.confirm("当前有数据未保存, 是否放弃保存?", "提示", {
|
confirmButtonText: '是',
|
cancelButtonText: '否',
|
closeOnClickModal:false,
|
center: true
|
})
|
.then(() => {
|
next();
|
})
|
.catch(() => {});
|
return false;
|
}
|
}
|
}
|
}
|
return true
|
},
|
// 保存标记字段
|
saveField(applyInfo,name,formData){
|
let object = {};
|
if(getStorage(`${applyInfo.serialNo}`)){
|
object = JSON.parse(getStorage(`${applyInfo.serialNo}`))
|
}
|
object[name] = formData
|
setStorage(`${applyInfo.serialNo}`,object)
|
},
|
comfirm(title,content,callback) {
|
MessageBox.confirm(content, title, {
|
confirmButtonText: '是',
|
cancelButtonText: '否',
|
closeOnClickModal:false,
|
cancelButtonClass:'cancelButton',
|
center: true
|
}).then(() => {
|
callback();
|
}).catch(() => {});
|
},
|
alert(title,content,func){
|
MessageBox.alert(content, title, {
|
confirmButtonText: '确定',
|
center: true,
|
callback: action => {
|
func()
|
}
|
});
|
}
|
}
|