Compare commits
No commits in common. 'master' and '20220808' have entirely different histories.
@ -1,32 +0,0 @@ |
|||||||
diff.astextplain.textconv=astextplain |
|
||||||
filter.lfs.clean=git-lfs clean -- %f |
|
||||||
filter.lfs.smudge=git-lfs smudge -- %f |
|
||||||
filter.lfs.process=git-lfs filter-process |
|
||||||
filter.lfs.required=true |
|
||||||
http.sslbackend=openssl |
|
||||||
http.sslcainfo=C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt |
|
||||||
core.autocrlf=true |
|
||||||
core.fscache=true |
|
||||||
core.symlinks=false |
|
||||||
pull.rebase=false |
|
||||||
credential.https://dev.azure.com.usehttppath=true |
|
||||||
init.defaultbranch=master |
|
||||||
filter.lfs.smudge=git-lfs smudge -- %f |
|
||||||
filter.lfs.process=git-lfs filter-process |
|
||||||
filter.lfs.required=true |
|
||||||
filter.lfs.clean=git-lfs clean -- %f |
|
||||||
credential.http://121.37.12.51:13000.provider=generic |
|
||||||
user.email=728837162@qq.com |
|
||||||
user.name=wangchenguang |
|
||||||
user.password=huoran.123 |
|
||||||
credential.helper=wincred |
|
||||||
core.repositoryformatversion=0 |
|
||||||
core.filemode=false |
|
||||||
core.bare=false |
|
||||||
core.logallrefupdates=true |
|
||||||
core.symlinks=false |
|
||||||
core.ignorecase=true |
|
||||||
remote.origin.url=http://121.37.12.51:13000/huoran/FE_bankTeaching |
|
||||||
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* |
|
||||||
branch.master.remote=origin |
|
||||||
branch.master.merge=refs/heads/master |
|
Before Width: | Height: | Size: 561 B |
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 175 KiB |
Before Width: | Height: | Size: 190 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 211 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 138 B |
Before Width: | Height: | Size: 221 B |
Before Width: | Height: | Size: 239 B |
Before Width: | Height: | Size: 292 B |
Before Width: | Height: | Size: 376 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
@ -1,67 +0,0 @@ |
|||||||
<template> |
|
||||||
<!-- 面包屑 --> |
|
||||||
<div class="breadcrumb"> |
|
||||||
<el-breadcrumb separator=">"> |
|
||||||
<template v-for="(item, index) in pages"> |
|
||||||
<el-breadcrumb-item v-if="index != pages.length - 1" |
|
||||||
:key="index"> |
|
||||||
<span @click="toPath">{{item}}</span> |
|
||||||
</el-breadcrumb-item> |
|
||||||
<el-breadcrumb-item v-else |
|
||||||
:key="index"> |
|
||||||
{{item}} |
|
||||||
</el-breadcrumb-item> |
|
||||||
</template> |
|
||||||
</el-breadcrumb> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script> |
|
||||||
export default { |
|
||||||
props: { |
|
||||||
data: { |
|
||||||
type: String, |
|
||||||
required: true |
|
||||||
}, |
|
||||||
route: { |
|
||||||
type: String, |
|
||||||
default: '/' |
|
||||||
}, |
|
||||||
query: { |
|
||||||
type: Object |
|
||||||
} |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
pages: this.data.split('/') |
|
||||||
}; |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
update (data) { |
|
||||||
this.pages = data.split('/') |
|
||||||
}, |
|
||||||
toPath () { |
|
||||||
this.$router.push('/index') |
|
||||||
} |
|
||||||
} |
|
||||||
}; |
|
||||||
</script> |
|
||||||
<style lang="scss" scoped> |
|
||||||
.breadcrumb { |
|
||||||
margin: 4px 0 16px; |
|
||||||
/deep/.el-breadcrumb__item { |
|
||||||
&:first-child { |
|
||||||
span { |
|
||||||
font-weight: 400; |
|
||||||
color: #007eff; |
|
||||||
cursor: pointer; |
|
||||||
} |
|
||||||
} |
|
||||||
&:last-child { |
|
||||||
.is-link { |
|
||||||
color: #0b1d30; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
</style> |
|
@ -1,15 +0,0 @@ |
|||||||
/** |
|
||||||
* 阿里云oss配置 |
|
||||||
* */ |
|
||||||
|
|
||||||
export default { |
|
||||||
// oss账号信息
|
|
||||||
config: { |
|
||||||
region: 'oss-cn-shenzhen', |
|
||||||
accessKeyId: 'LTAI4FzqQHnk4rozqLZ8jCNj', |
|
||||||
accessKeySecret: 'mveW7B1OyFoKUkHm8WsxmrjHmkJWHq', |
|
||||||
bucket: 'huoran' |
|
||||||
}, |
|
||||||
// 上传成功url前置部分(成功回调没有返回url)
|
|
||||||
preUrl: 'https://huoran.oss-cn-shenzhen.aliyuncs.com/' |
|
||||||
} |
|
@ -1,150 +0,0 @@ |
|||||||
<template> |
|
||||||
<el-upload :disabled="uploading" |
|
||||||
:before-upload="beforeUpload" |
|
||||||
:on-remove="onRemove" |
|
||||||
:on-error="uploadError" |
|
||||||
:limit="limit" |
|
||||||
action="" |
|
||||||
:on-exceed="handleExceed" |
|
||||||
:show-file-list="showFiles" |
|
||||||
:file-list="fileList" |
|
||||||
:http-request="handleRequest" |
|
||||||
name="file"> |
|
||||||
<slot name="trigger"> |
|
||||||
<el-button size="small" |
|
||||||
:loading="uploading">{{ uploading ? '正在上传' : '上传文件' }}</el-button> |
|
||||||
</slot> |
|
||||||
<div slot="tip" |
|
||||||
class="el-upload__tip"> |
|
||||||
<el-progress v-if="uploading" |
|
||||||
class="upload-progress" |
|
||||||
:stroke-width="3" |
|
||||||
:percentage="uploadProgress"></el-progress> |
|
||||||
<slot name="tip"> |
|
||||||
<p>支持扩展名:.rar .zip .doc .docx .pdf .jpg...</p> |
|
||||||
</slot> |
|
||||||
</div> |
|
||||||
</el-upload> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script> |
|
||||||
import OSS from 'ali-oss' |
|
||||||
import OssConfig from './config.js' |
|
||||||
import Util from '@/libs/util' |
|
||||||
export default { |
|
||||||
props: { |
|
||||||
// 最大允许上传个数 |
|
||||||
limit: { |
|
||||||
type: Number, |
|
||||||
default: 1 |
|
||||||
}, |
|
||||||
// 单个文件最大大小(单位: Mb) |
|
||||||
maxSize: { |
|
||||||
type: Number, |
|
||||||
default: 10 |
|
||||||
}, |
|
||||||
// 是否显示已上传文件列表 |
|
||||||
showFileList: { |
|
||||||
type: Boolean, |
|
||||||
default: true |
|
||||||
}, |
|
||||||
// 已上传文件列表 |
|
||||||
fileList: { |
|
||||||
type: Array, |
|
||||||
default: () => [] |
|
||||||
}, |
|
||||||
// 是否要更新fileList(如果要使用自己的fileList,则这个值传false,一般情况不用给这个值) |
|
||||||
changeFileList: { |
|
||||||
type: Boolean, |
|
||||||
default: true |
|
||||||
}, |
|
||||||
// 已上传文件列表 |
|
||||||
onRemove: { |
|
||||||
type: Function, |
|
||||||
default: new Function() |
|
||||||
}, |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
client: null, |
|
||||||
uploading: false, |
|
||||||
uploadProgress: 0, |
|
||||||
showFiles: this.showFileList |
|
||||||
}; |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
this.initOss() |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
// 初始化oss |
|
||||||
initOss () { |
|
||||||
this.client = new OSS(OssConfig.config) |
|
||||||
}, |
|
||||||
// 附件上传前 |
|
||||||
beforeUpload (file) { |
|
||||||
const oversize = file.size / 1024 / 1024 < this.maxSize |
|
||||||
if (!oversize) Util.warningMsg(`请上传小于${this.maxSize}MB的附件!`) |
|
||||||
if (oversize) { |
|
||||||
this.$emit('beforeUpload', file) |
|
||||||
return true |
|
||||||
} else { |
|
||||||
return false |
|
||||||
} |
|
||||||
}, |
|
||||||
// 自定义进度条 |
|
||||||
handleProgress (progress) { |
|
||||||
this.uploadProgress = Number((progress * 100).toFixed(2)) |
|
||||||
}, |
|
||||||
// 自定义上传 |
|
||||||
async handleRequest ({ file }) { |
|
||||||
try { |
|
||||||
this.uploadProgress = 0 |
|
||||||
this.uploading = true |
|
||||||
this.showFiles = false |
|
||||||
// 上传到阿里云oss |
|
||||||
const { name } = await this.client.multipartUpload(Date.now() + '.' + Util.getFileExt(file.name), file, { |
|
||||||
progress: this.handleProgress |
|
||||||
}); |
|
||||||
|
|
||||||
this.uploading = false |
|
||||||
const url = OssConfig.preUrl + name |
|
||||||
this.changeFileList && this.$emit('update:fileList', [ |
|
||||||
...this.fileList, |
|
||||||
{ |
|
||||||
name: name, |
|
||||||
url |
|
||||||
} |
|
||||||
]) |
|
||||||
|
|
||||||
this.showFiles = true |
|
||||||
this.$emit('onSuccess', { |
|
||||||
format: Util.getFileExt(file.name), |
|
||||||
name: file.name, |
|
||||||
url, |
|
||||||
size: file.size, |
|
||||||
}) |
|
||||||
} catch (error) { } |
|
||||||
}, |
|
||||||
uploadError (err, file, fileList) { |
|
||||||
this.$message({ |
|
||||||
message: "上传出错,请重试!", |
|
||||||
type: "error", |
|
||||||
center: true |
|
||||||
}) |
|
||||||
}, |
|
||||||
beforeRemove (file, fileList) { |
|
||||||
return this.$confirm(`确定移除 ${file.name}?`); |
|
||||||
}, |
|
||||||
handleExceed (files, fileList) { |
|
||||||
Util.warningMsg(`当前限制选择 ${this.limit} 个文件,如需更换,请删除上一个文件再重新选择!`); |
|
||||||
}, |
|
||||||
} |
|
||||||
}; |
|
||||||
</script> |
|
||||||
<style lang="scss" scoped> |
|
||||||
/deep/.upload-progress { |
|
||||||
max-width: 300px; |
|
||||||
margin: 10px 0; |
|
||||||
white-space: nowrap; |
|
||||||
} |
|
||||||
</style> |
|
@ -1,37 +0,0 @@ |
|||||||
// 阿里云oss上传
|
|
||||||
|
|
||||||
import OSS from 'ali-oss' |
|
||||||
import OssConfig from './config' |
|
||||||
import Util from '@/libs/util' |
|
||||||
|
|
||||||
let client = null |
|
||||||
// 初始化oss
|
|
||||||
const initOss = () => { |
|
||||||
if (!client) client = new OSS(OssConfig.config) |
|
||||||
} |
|
||||||
|
|
||||||
export default { |
|
||||||
// 上传文件
|
|
||||||
upload(file) { |
|
||||||
initOss() |
|
||||||
return new Promise(async (resolve, reject) => { |
|
||||||
try { |
|
||||||
// 上传到阿里云oss
|
|
||||||
const res = await client.multipartUpload(Date.now() + '.' + Util.getFileExt(file.name), file); |
|
||||||
resolve({ |
|
||||||
format: Util.getFileExt(file.name), |
|
||||||
name: file.name, |
|
||||||
url: OssConfig.preUrl + res.name, |
|
||||||
size: file.size, |
|
||||||
}) |
|
||||||
} catch (error) { |
|
||||||
reject() |
|
||||||
} |
|
||||||
}) |
|
||||||
}, |
|
||||||
// 删除文件(传完整url,不是没有https的name,因为很多接口没有存name,只存url,所以统一使用url)
|
|
||||||
async del(url) { |
|
||||||
initOss() |
|
||||||
await client.delete(url.replace(OssConfig.preUrl, '')); |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,9 @@ |
|||||||
|
diff a/src/main.js b/src/main.js (rejected hunks) |
||||||
|
@@ -42,6 +42,7 @@ |
||||||
|
} |
||||||
|
}) |
||||||
|
} |
||||||
|
+}); |
||||||
|
|
||||||
|
|
||||||
|
Vue.use(plugins); |
@ -1,207 +0,0 @@ |
|||||||
<template> |
|
||||||
<!-- 零存整取 --> |
|
||||||
<div class="wrap wrap2"> |
|
||||||
<div class="nav"> |
|
||||||
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"> |
|
||||||
<el-menu-item index="1">代收水费</el-menu-item> |
|
||||||
<el-menu-item index="2">代收电费</el-menu-item> |
|
||||||
<el-menu-item index="3">代收电话费</el-menu-item> |
|
||||||
|
|
||||||
</el-menu> |
|
||||||
</div> |
|
||||||
<MyTitle :titleArr="['代理业务', text]" /> |
|
||||||
|
|
||||||
<!-- 代收水费 --> |
|
||||||
<waterRate v-if="activeIndex === '1'"></waterRate> |
|
||||||
<!-- 代收电费 --> |
|
||||||
<electricRate v-if="activeIndex === '2'"></electricRate> |
|
||||||
<!-- 代收电话费 --> |
|
||||||
<telRate v-if="activeIndex === '3'"></telRate> |
|
||||||
|
|
||||||
<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> |
|
||||||
<div class="popBody"> |
|
||||||
<h2>本业务需要授权</h2> |
|
||||||
</div> |
|
||||||
<div class="popBtns"> |
|
||||||
<el-button class="close btn" @click="visible = false">取 消</el-button> |
|
||||||
<el-button class="sure btn" type="primary" @click="visible = false">确 定</el-button> |
|
||||||
</div> |
|
||||||
</el-dialog> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script> |
|
||||||
import waterRate from './waterRate.vue' |
|
||||||
import electricRate from './electricRate.vue' |
|
||||||
import telRate from './telRate.vue' |
|
||||||
import MyTitle from '@/components/myTitle' |
|
||||||
export default { |
|
||||||
name: 'index', |
|
||||||
components: { |
|
||||||
waterRate, |
|
||||||
electricRate, |
|
||||||
telRate, |
|
||||||
MyTitle |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
text: '',/* 顶部文字 */ |
|
||||||
cacheVal: '', |
|
||||||
textObj: { |
|
||||||
'1': '代收水费', |
|
||||||
'2': '代收电费', |
|
||||||
'3': '代收电话费', |
|
||||||
}, |
|
||||||
form: { |
|
||||||
|
|
||||||
}, |
|
||||||
visible: false, |
|
||||||
options: [], |
|
||||||
activeIndex: '1', |
|
||||||
second: [// 二级卡数组 |
|
||||||
|
|
||||||
], |
|
||||||
} |
|
||||||
}, |
|
||||||
created () { |
|
||||||
if (sessionStorage.getItem('agentIndex')) { |
|
||||||
this.handleSelect(sessionStorage.getItem('agentIndex')) |
|
||||||
} else { |
|
||||||
this.handleSelect('1') |
|
||||||
} |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
handleSelect (val) { |
|
||||||
this.text = this.textObj[val] |
|
||||||
this.activeIndex = val |
|
||||||
this.cacheVal = val |
|
||||||
}, |
|
||||||
}, |
|
||||||
destroyed () { |
|
||||||
sessionStorage.setItem('agentIndex', this.cacheVal) |
|
||||||
} |
|
||||||
}; |
|
||||||
</script> |
|
||||||
|
|
||||||
<style lang="scss" scoped> |
|
||||||
.wrap { |
|
||||||
width: 100%; |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
overflow: hidden; |
|
||||||
padding: 24px 0 24px 24px; |
|
||||||
|
|
||||||
.nav { |
|
||||||
/deep/ .el-menu.el-menu--horizontal { |
|
||||||
border: 0; |
|
||||||
} |
|
||||||
|
|
||||||
/deep/ .el-menu--horizontal>.el-menu-item.is-active { |
|
||||||
border: 2px solid #568df2; |
|
||||||
border-radius: 10px; |
|
||||||
color: #000; |
|
||||||
} |
|
||||||
|
|
||||||
/deep/ .el-menu--horizontal>.el-menu-item { |
|
||||||
border: 2px solid transparent; |
|
||||||
border-radius: 10px; |
|
||||||
margin-right: 10px; |
|
||||||
height: 30px; |
|
||||||
line-height: 28px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.title { |
|
||||||
height: 60px; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
font-size: 20px; |
|
||||||
padding-left: 0px; |
|
||||||
margin-top: 10px; |
|
||||||
} |
|
||||||
|
|
||||||
.body { |
|
||||||
margin-top: 50px; |
|
||||||
overflow: auto; |
|
||||||
|
|
||||||
.idCard { |
|
||||||
border-radius: 5px; |
|
||||||
background: #cfddff; |
|
||||||
text-align: center; |
|
||||||
height: 40px; |
|
||||||
line-height: 40px; |
|
||||||
font-size: 18px; |
|
||||||
color: #6191ff; |
|
||||||
} |
|
||||||
|
|
||||||
.add { |
|
||||||
position: relative; |
|
||||||
|
|
||||||
&::after { |
|
||||||
content: ''; |
|
||||||
display: block; |
|
||||||
position: absolute; |
|
||||||
right: 3%; |
|
||||||
top: -4%; |
|
||||||
border: 1px dashed #cfddff; |
|
||||||
width: 88%; |
|
||||||
height: 268px; |
|
||||||
} |
|
||||||
|
|
||||||
.addBtn { |
|
||||||
position: absolute; |
|
||||||
left: 0; |
|
||||||
top: 50%; |
|
||||||
transform: translate(50%, -50%); |
|
||||||
font-size: 22px; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.submitBtn { |
|
||||||
position: relative; |
|
||||||
width: 300px; |
|
||||||
font-size: 18px; |
|
||||||
height: 45px; |
|
||||||
margin-top: 50px; |
|
||||||
border-radius: 10px; |
|
||||||
bottom: 10px; |
|
||||||
left: 50%; |
|
||||||
transform: translate(-50%, -50%); |
|
||||||
} |
|
||||||
|
|
||||||
.popBody { |
|
||||||
min-height: 200px; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
|
|
||||||
.popBtns { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
.btn { |
|
||||||
width: 180px; |
|
||||||
border-radius: 10px; |
|
||||||
font-size: 18px; |
|
||||||
} |
|
||||||
|
|
||||||
.close { |
|
||||||
background: #cfdeff; |
|
||||||
color: #6191ff; |
|
||||||
} |
|
||||||
|
|
||||||
.sure { |
|
||||||
background: #6191ff; |
|
||||||
color: #fff; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
</style> |
|
@ -1,396 +0,0 @@ |
|||||||
<!-- 代收电费 --> |
|
||||||
<template> |
|
||||||
<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="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-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="账号" required> |
|
||||||
<div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')"> |
|
||||||
<p>请刷卡</p> |
|
||||||
</div> |
|
||||||
<div v-else> |
|
||||||
<el-input maxlength="20" ref="voucherNumber" disabled :value="form.voucherNumber" |
|
||||||
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
|
|
||||||
<el-form-item label="缴费单位" prop="paymentUnit"> |
|
||||||
<el-input v-model="form.paymentUnit" /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<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 :value="form.idNumber" disabled ref="idNumber"></el-input> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="客户姓名" prop="customerName"> |
|
||||||
<el-input ref="customerName" disabled :value="form.customerName" |
|
||||||
@input="(val) => checkName(val, form, 'customerName')"></el-input> |
|
||||||
</el-form-item> |
|
||||||
|
|
||||||
<el-form-item label="户号" prop="houseId"> |
|
||||||
<el-input v-model="form.houseId" /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="21" :offset="1"> |
|
||||||
<el-form-item label="住址信息" prop="address"> |
|
||||||
<el-input type="textarea" :rows="3" placeholder="请输入住址信息" v-model.trim="form.address"></el-input> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="缴费金额" prop="paymentMoney"> |
|
||||||
<el-input v-model="form.paymentMoney" maxlength="15" |
|
||||||
@input="val => ismoney(val, form, 'paymentMoney')"></el-input> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="支取密码" required> |
|
||||||
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')"> |
|
||||||
<p>请输入密码</p> |
|
||||||
</div> |
|
||||||
<div v-else @click="popUp3('密码器')"> |
|
||||||
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<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> |
|
||||||
</el-radio-group> |
|
||||||
</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' /> |
|
||||||
</el-form> |
|
||||||
</el-row> |
|
||||||
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button> |
|
||||||
</div> |
|
||||||
</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, getOperation } from '@/api/http'; |
|
||||||
|
|
||||||
const moduleName = 'agent/electricRate' |
|
||||||
import { mapMutations, mapGetters } from 'vuex' |
|
||||||
import NeedBefore from '@/components/needBefore' |
|
||||||
import MyDialog from '@/components/dialog' |
|
||||||
import TipsBefore from '@/mixins/tipsBefore' |
|
||||||
export default { |
|
||||||
name: '', |
|
||||||
props: {}, |
|
||||||
components: { |
|
||||||
NeedBefore, |
|
||||||
MyDialog |
|
||||||
}, |
|
||||||
mixins: [TipsBefore], |
|
||||||
created () { |
|
||||||
if (sessionStorage.getItem('electricRatePassword')) { |
|
||||||
this.form.drawPassword = sessionStorage.getItem('electricRatePassword') |
|
||||||
} |
|
||||||
|
|
||||||
if (sessionStorage.getItem('electricRateIdCard')) { |
|
||||||
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('electricRateBankCard')) { |
|
||||||
this.cardNumberJudge = true |
|
||||||
const { voucherNumber } = this.dataFlow |
|
||||||
this.form.voucherNumber = voucherNumber |
|
||||||
} |
|
||||||
|
|
||||||
// this.getFormData() |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
moduleName, |
|
||||||
visible: false, |
|
||||||
cardNumberJudge: false, |
|
||||||
idNumberJudge: false, |
|
||||||
form: { |
|
||||||
certificateType: 83, |
|
||||||
idNumber: '', |
|
||||||
voucherNumber: '', |
|
||||||
customerName: '', |
|
||||||
paymentUnit: '', |
|
||||||
houseId: '', |
|
||||||
address: '', |
|
||||||
paymentMoney: '', |
|
||||||
monthlyWithholding: '', |
|
||||||
drawPassword: '', |
|
||||||
}, |
|
||||||
formName: { |
|
||||||
certificateType: '证件类型', |
|
||||||
idNumber: '证件号码', |
|
||||||
voucherNumber: '账号', |
|
||||||
customerName: '客户姓名', |
|
||||||
paymentUnit: '缴费单位', |
|
||||||
houseId: '户号', |
|
||||||
address: '住址信息', |
|
||||||
paymentMoney: '缴费金额', |
|
||||||
monthlyWithholding: '每月代扣', |
|
||||||
drawPassword: '支付密码', |
|
||||||
}, |
|
||||||
rules: { |
|
||||||
customerName: vercustomer, |
|
||||||
idNumber: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入证件号码', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
voucherNumber: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入账号', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
customerName: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入客户姓名', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
paymentUnit: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入缴费单位', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
houseId: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入户号', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
address: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入住址信息', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
paymentMoney: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入缴费金额', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
monthlyWithholding: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择每月代扣', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
}, |
|
||||||
myTable2: { |
|
||||||
158: { |
|
||||||
prop: 'certificateType',//证件类型 |
|
||||||
type: '1', |
|
||||||
"subjectId": 19, |
|
||||||
}, |
|
||||||
// 169: { |
|
||||||
// prop: 'customerManage',//客户经理 |
|
||||||
// type: '3', |
|
||||||
// "subjectId": 27, |
|
||||||
// }, |
|
||||||
160: { |
|
||||||
prop: 'clientNumber',//客户号 |
|
||||||
type: '3', |
|
||||||
"subjectId": 6, |
|
||||||
} |
|
||||||
}, |
|
||||||
myTable: { |
|
||||||
159: { |
|
||||||
prop: 'idNumber',// 身份证号码 |
|
||||||
type: '3', |
|
||||||
}, |
|
||||||
161: { |
|
||||||
prop: 'customerName',//客户姓名 |
|
||||||
type: '3', |
|
||||||
"subjectId": 7, |
|
||||||
}, |
|
||||||
162: { |
|
||||||
prop: 'currency',//币种 |
|
||||||
type: '1', |
|
||||||
"subjectId": 8, |
|
||||||
}, |
|
||||||
163: { |
|
||||||
prop: 'goldLogo',//钞汇标识 |
|
||||||
type: '1', |
|
||||||
"subjectId": 9, |
|
||||||
}, |
|
||||||
164: { |
|
||||||
prop: 'voucherType',//凭证类型 |
|
||||||
type: '1', |
|
||||||
"subjectId": 11, |
|
||||||
}, |
|
||||||
166: { |
|
||||||
prop: 'voucherNumber',//凭证号码 |
|
||||||
type: '3', |
|
||||||
"subjectId": 44, |
|
||||||
}, |
|
||||||
167: { |
|
||||||
prop: 'drawPassword', |
|
||||||
type: '3', |
|
||||||
"subjectId": 17, |
|
||||||
}, |
|
||||||
168: { |
|
||||||
prop: 'monthDeposit',//月存金额 |
|
||||||
type: '3', |
|
||||||
"subjectId": 31, |
|
||||||
}, |
|
||||||
170: { |
|
||||||
prop: 'extendDepositTarget',//续存标识 |
|
||||||
type: '1', |
|
||||||
"subjectId": 37, |
|
||||||
}, |
|
||||||
}, |
|
||||||
submited: 0 |
|
||||||
} |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
|
|
||||||
}, |
|
||||||
methods: { |
|
||||||
...mapMutations({ |
|
||||||
changeShowGoods: 'system/changeShowGoods', |
|
||||||
setDataFlow: 'system/setDataFlow', |
|
||||||
setNeedsModule: 'system/setNeedsModule', |
|
||||||
setPopId: 'system/setPopId', |
|
||||||
setTipsOperate: 'system/setTipsOperate' |
|
||||||
}), |
|
||||||
popUp1 (text) { |
|
||||||
this.setTipsOperate('请刷身份证'); |
|
||||||
this.setPopId('722') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
popUp2 (text) { |
|
||||||
this.setTipsOperate('请刷银行卡'); |
|
||||||
this.setPopId('724') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
popUp3 (text) { |
|
||||||
this.setTipsOperate('请在密码器输入密码'); |
|
||||||
this.setPopId('729') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
getFormData () { |
|
||||||
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155' |
|
||||||
const cards = { |
|
||||||
// 1399: 'nomUsefulPhrasesOpenCard2', |
|
||||||
// 166: 'nomUsefulPhrasesOpenCard', |
|
||||||
// 167: 'nomUsefulPhrasesOpenPassword' |
|
||||||
} |
|
||||||
const callback = () => { |
|
||||||
if (this.form.idNumber) { |
|
||||||
this.idNumberJudge = true |
|
||||||
} |
|
||||||
if (this.form.voucherNumber) { |
|
||||||
this.cardNumberJudge = true |
|
||||||
} |
|
||||||
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) { |
|
||||||
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword') |
|
||||||
} |
|
||||||
} |
|
||||||
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback) |
|
||||||
}, |
|
||||||
submitForm () { |
|
||||||
if (this.submited) return this.$message.error('已提交!') |
|
||||||
if (!this.form.idNumber) { |
|
||||||
messageIdCard() |
|
||||||
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 projectId = sessionStorage.getItem('projectId') |
|
||||||
let startTime = sessionStorage.getItem('startTime') |
|
||||||
let formList = []; |
|
||||||
const { form } = this |
|
||||||
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,706,710' |
|
||||||
formList.push( |
|
||||||
{ answerId: 721, emptyOne: 19, emptyTwo: form.certificateType, operationIds: preId + ',721', type: 1 }, |
|
||||||
{ answerId: 722, emptyOne: '', emptyTwo: '', operationIds: preId + ',722', type: '' }, |
|
||||||
{ answerId: 724, emptyOne: 84, emptyTwo: form.voucherNumber, operationIds: preId + ',724', type: 3 }, |
|
||||||
{ answerId: 723, emptyOne: 7, emptyTwo: form.customerName, operationIds: preId + ',723', type: 3 }, |
|
||||||
|
|
||||||
{ 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: 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, |
|
||||||
lcJudgmentRuleReq: formList, |
|
||||||
projectId: +projectId, |
|
||||||
startTime: startTime, |
|
||||||
} |
|
||||||
addOperation(params).then((data) => { |
|
||||||
this.setDataFlow({ ...this.form }) |
|
||||||
this.submited = 1 |
|
||||||
}).catch((error) => { |
|
||||||
this.$message({ |
|
||||||
message: '服务器繁忙,提交失败。', |
|
||||||
center: true, |
|
||||||
type: 'info' |
|
||||||
}); |
|
||||||
}) |
|
||||||
}, |
|
||||||
ismoney, |
|
||||||
checkHanzi, |
|
||||||
checkName, |
|
||||||
inputListen, |
|
||||||
}, |
|
||||||
computed: { |
|
||||||
...mapGetters({ |
|
||||||
dataFlow: 'system/dataFlow', |
|
||||||
needsModule: 'system/needsModule', |
|
||||||
idCardNumber: 'system/idCardNumber', |
|
||||||
inMyWork: 'system/inMyWork', |
|
||||||
getSelectList: 'system/getSelectList' |
|
||||||
}) |
|
||||||
} |
|
||||||
} |
|
||||||
</script> |
|
||||||
<style lang='scss' scoped></style> |
|
@ -1,388 +0,0 @@ |
|||||||
<!-- 代收电话费 --> |
|
||||||
<template> |
|
||||||
<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="1"> |
|
||||||
<el-form-item label="证件类型" prop="certificateType"> |
|
||||||
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType"> |
|
||||||
<el-option label="身份证" :value="83"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="账号" required> |
|
||||||
<div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')"> |
|
||||||
<p>请刷卡</p> |
|
||||||
</div> |
|
||||||
<div v-else> |
|
||||||
<el-input maxlength="20" ref="voucherNumber" disabled :value="form.voucherNumber" |
|
||||||
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
|
|
||||||
<el-form-item label="缴费单位" prop="paymentUnit"> |
|
||||||
<el-input v-model="form.paymentUnit" /> |
|
||||||
</el-form-item> |
|
||||||
<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-radio-group v-model.trim="form.monthlyWithholding"> |
|
||||||
<el-radio :label="142">是</el-radio> |
|
||||||
<el-radio :label="143">否</el-radio> |
|
||||||
</el-radio-group> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<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 :value="form.idNumber" disabled ref="idNumber"></el-input> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="客户姓名" prop="customerName"> |
|
||||||
<el-input ref="customerName" disabled :value="form.customerName" |
|
||||||
@input="(val) => checkName(val, form, 'customerName')"></el-input> |
|
||||||
</el-form-item> |
|
||||||
|
|
||||||
<el-form-item label="号码类型" prop="numType"> |
|
||||||
<el-select v-model.trim="form.numType" placeholder="请选择"> |
|
||||||
<el-option label="手机号码" :value="144"></el-option> |
|
||||||
<el-option label="座机号码" :value="145"></el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="缴费金额" prop="paymentMoney"> |
|
||||||
<el-input :value="form.paymentMoney" maxlength="15" |
|
||||||
@input="val => ismoney(val, form, 'paymentMoney')"></el-input> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="支取密码" required> |
|
||||||
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')"> |
|
||||||
<p>请输入密码</p> |
|
||||||
</div> |
|
||||||
<div v-else @click="popUp3('密码器')"> |
|
||||||
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input> |
|
||||||
</div> |
|
||||||
</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' /> |
|
||||||
</el-form> |
|
||||||
</el-row> |
|
||||||
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button> |
|
||||||
</div> |
|
||||||
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> --> |
|
||||||
</template> |
|
||||||
<script> |
|
||||||
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, inputListen, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js'; |
|
||||||
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js' |
|
||||||
import { addOperation, getOperation } from '@/api/http'; |
|
||||||
|
|
||||||
const moduleName = 'agent/telRate' |
|
||||||
import { mapMutations, mapGetters } from 'vuex' |
|
||||||
import NeedBefore from '@/components/needBefore' |
|
||||||
import MyDialog from '@/components/dialog' |
|
||||||
import TipsBefore from '@/mixins/tipsBefore' |
|
||||||
export default { |
|
||||||
name: '', |
|
||||||
props: {}, |
|
||||||
components: { |
|
||||||
NeedBefore, |
|
||||||
MyDialog |
|
||||||
}, |
|
||||||
mixins: [TipsBefore], |
|
||||||
created () { |
|
||||||
if (sessionStorage.getItem('telRatePassword')) { |
|
||||||
this.form.drawPassword = sessionStorage.getItem('telRatePassword') |
|
||||||
} |
|
||||||
|
|
||||||
if (sessionStorage.getItem('telRateIdCard')) { |
|
||||||
this.idNumberJudge = true |
|
||||||
const { idNumber, userName } = this.dataFlow |
|
||||||
this.form.idNumber = idNumber |
|
||||||
this.form.customerName = userName |
|
||||||
} |
|
||||||
if (sessionStorage.getItem('telRateBankCard')) { |
|
||||||
this.cardNumberJudge = true |
|
||||||
const { voucherNumber } = this.dataFlow |
|
||||||
this.form.voucherNumber = voucherNumber |
|
||||||
} |
|
||||||
|
|
||||||
// this.getFormData() |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
moduleName, |
|
||||||
visible: false, |
|
||||||
cardNumberJudge: false, |
|
||||||
idNumberJudge: false, |
|
||||||
form: { |
|
||||||
certificateType: 83, |
|
||||||
idNumber: '', |
|
||||||
voucherNumber: '', |
|
||||||
customerName: '', |
|
||||||
paymentUnit: '', |
|
||||||
numType: '', |
|
||||||
paymentNum: '', |
|
||||||
paymentMoney: '', |
|
||||||
monthlyWithholding: '', |
|
||||||
drawPassword: '', |
|
||||||
}, |
|
||||||
formName: { |
|
||||||
certificateType: '证件类型', |
|
||||||
idNumber: '证件号码', |
|
||||||
voucherNumber: '账号', |
|
||||||
customerName: '客户姓名', |
|
||||||
paymentUnit: '缴费单位', |
|
||||||
numType: '号码类型', |
|
||||||
paymentNum: '缴费号码', |
|
||||||
paymentMoney: '缴费金额', |
|
||||||
monthlyWithholding: '每月代扣', |
|
||||||
drawPassword: '支付密码', |
|
||||||
}, |
|
||||||
rules: { |
|
||||||
customerName: vercustomer, |
|
||||||
idNumber: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入证件号码', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
voucherNumber: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入账号', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
customerName: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入客户姓名', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
paymentUnit: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入缴费单位', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
numType: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择号码类型', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
paymentNum: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入缴费号码', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
paymentMoney: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入缴费金额', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
monthlyWithholding: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择每月代扣', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
}, |
|
||||||
myTable2: { |
|
||||||
158: { |
|
||||||
prop: 'certificateType',//证件类型 |
|
||||||
type: '1', |
|
||||||
"subjectId": 19, |
|
||||||
}, |
|
||||||
// 169: { |
|
||||||
// prop: 'customerManage',//客户经理 |
|
||||||
// type: '3', |
|
||||||
// "subjectId": 27, |
|
||||||
// }, |
|
||||||
160: { |
|
||||||
prop: 'clientNumber',//客户号 |
|
||||||
type: '3', |
|
||||||
"subjectId": 6, |
|
||||||
} |
|
||||||
}, |
|
||||||
myTable: { |
|
||||||
159: { |
|
||||||
prop: 'idNumber',// 身份证号码 |
|
||||||
type: '3', |
|
||||||
}, |
|
||||||
161: { |
|
||||||
prop: 'customerName',//客户姓名 |
|
||||||
type: '3', |
|
||||||
"subjectId": 7, |
|
||||||
}, |
|
||||||
162: { |
|
||||||
prop: 'currency',//币种 |
|
||||||
type: '1', |
|
||||||
"subjectId": 8, |
|
||||||
}, |
|
||||||
163: { |
|
||||||
prop: 'goldLogo',//钞汇标识 |
|
||||||
type: '1', |
|
||||||
"subjectId": 9, |
|
||||||
}, |
|
||||||
164: { |
|
||||||
prop: 'voucherType',//凭证类型 |
|
||||||
type: '1', |
|
||||||
"subjectId": 11, |
|
||||||
}, |
|
||||||
166: { |
|
||||||
prop: 'voucherNumber',//凭证号码 |
|
||||||
type: '3', |
|
||||||
"subjectId": 44, |
|
||||||
}, |
|
||||||
167: { |
|
||||||
prop: 'drawPassword', |
|
||||||
type: '3', |
|
||||||
"subjectId": 17, |
|
||||||
}, |
|
||||||
168: { |
|
||||||
prop: 'monthDeposit',//月存金额 |
|
||||||
type: '3', |
|
||||||
"subjectId": 31, |
|
||||||
}, |
|
||||||
170: { |
|
||||||
prop: 'extendDepositTarget',//续存标识 |
|
||||||
type: '1', |
|
||||||
"subjectId": 37, |
|
||||||
}, |
|
||||||
}, |
|
||||||
submited: 0 |
|
||||||
} |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
|
|
||||||
}, |
|
||||||
methods: { |
|
||||||
...mapMutations({ |
|
||||||
changeShowGoods: 'system/changeShowGoods', |
|
||||||
setDataFlow: 'system/setDataFlow', |
|
||||||
setNeedsModule: 'system/setNeedsModule', |
|
||||||
setPopId: 'system/setPopId', |
|
||||||
setTipsOperate: 'system/setTipsOperate' |
|
||||||
}), |
|
||||||
popUp1 (text) { |
|
||||||
this.setTipsOperate('请刷身份证'); |
|
||||||
this.setPopId('732') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
popUp2 (text) { |
|
||||||
this.setTipsOperate('请刷银行卡'); |
|
||||||
this.setPopId('733') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
popUp3 (text) { |
|
||||||
this.setTipsOperate('请在密码器输入密码'); |
|
||||||
this.setPopId('740') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
getFormData () { |
|
||||||
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155' |
|
||||||
const cards = { |
|
||||||
// 1399: 'nomUsefulPhrasesOpenCard2', |
|
||||||
// 166: 'nomUsefulPhrasesOpenCard', |
|
||||||
// 167: 'nomUsefulPhrasesOpenPassword' |
|
||||||
} |
|
||||||
const callback = () => { |
|
||||||
if (this.form.idNumber) { |
|
||||||
this.idNumberJudge = true |
|
||||||
} |
|
||||||
if (this.form.voucherNumber) { |
|
||||||
this.cardNumberJudge = true |
|
||||||
} |
|
||||||
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) { |
|
||||||
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword') |
|
||||||
} |
|
||||||
} |
|
||||||
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback) |
|
||||||
}, |
|
||||||
submitForm () { |
|
||||||
if (this.submited) return this.$message.error('已提交!') |
|
||||||
if (!this.form.idNumber) { |
|
||||||
messageIdCard() |
|
||||||
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 projectId = sessionStorage.getItem('projectId') |
|
||||||
let startTime = sessionStorage.getItem('startTime') |
|
||||||
let formList = []; |
|
||||||
const { form } = this |
|
||||||
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,706,711' |
|
||||||
formList.push( |
|
||||||
{ answerId: 731, emptyOne: 19, emptyTwo: form.certificateType, operationIds: preId + ',731', type: 1 }, |
|
||||||
{ answerId: 732, emptyOne: '', emptyTwo: '', operationIds: preId + ',732', type: '' }, |
|
||||||
{ answerId: 734, emptyOne: 84, emptyTwo: form.voucherNumber, operationIds: preId + ',734', type: 3 }, |
|
||||||
{ answerId: 733, emptyOne: 7, emptyTwo: form.customerName, operationIds: preId + ',733', type: 3 }, |
|
||||||
{ answerId: 735, emptyOne: 111, emptyTwo: form.paymentUnit, operationIds: preId + ',735', type: 3 }, |
|
||||||
{ answerId: 736, emptyOne: 115, emptyTwo: form.numType, operationIds: preId + ',736', type: 1 }, |
|
||||||
{ answerId: 737, emptyOne: 116, emptyTwo: form.paymentNum, operationIds: preId + ',737', type: 3 }, |
|
||||||
{ answerId: 738, emptyOne: 113, emptyTwo: form.paymentMoney, operationIds: preId + ',738', type: 3 }, |
|
||||||
{ answerId: 739, emptyOne: 114, emptyTwo: form.monthlyWithholding, operationIds: preId + ',739', type: 1 }, |
|
||||||
{ answerId: 740, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',740', type: 3 }, |
|
||||||
) |
|
||||||
let params = { |
|
||||||
parentId: preId, |
|
||||||
lcJudgmentRuleReq: formList, |
|
||||||
projectId: +projectId, |
|
||||||
startTime: startTime, |
|
||||||
} |
|
||||||
addOperation(params).then((data) => { |
|
||||||
this.setDataFlow({ ...this.form }) |
|
||||||
this.submited = 1 |
|
||||||
}).catch((error) => { |
|
||||||
this.$message({ |
|
||||||
message: '服务器繁忙,提交失败。', |
|
||||||
center: true, |
|
||||||
type: 'info' |
|
||||||
}); |
|
||||||
}) |
|
||||||
}, |
|
||||||
ismoney, |
|
||||||
checkHanzi, |
|
||||||
checkName, |
|
||||||
inputListen, |
|
||||||
}, |
|
||||||
computed: { |
|
||||||
...mapGetters({ |
|
||||||
dataFlow: 'system/dataFlow', |
|
||||||
needsModule: 'system/needsModule', |
|
||||||
idCardNumber: 'system/idCardNumber', |
|
||||||
inMyWork: 'system/inMyWork', |
|
||||||
getSelectList: 'system/getSelectList' |
|
||||||
}) |
|
||||||
} |
|
||||||
} |
|
||||||
</script> |
|
||||||
<style lang='scss' scoped></style> |
|
@ -1,373 +0,0 @@ |
|||||||
<!-- 代收水费 --> |
|
||||||
<template> |
|
||||||
<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="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-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="账号" required> |
|
||||||
<div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')"> |
|
||||||
<p>请刷卡</p> |
|
||||||
</div> |
|
||||||
<div v-else> |
|
||||||
<el-input maxlength="20" ref="voucherNumber" disabled :value="form.voucherNumber" |
|
||||||
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
|
|
||||||
<el-form-item label="缴费单位" prop="paymentUnit"> |
|
||||||
<el-input v-model="form.paymentUnit" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="缴费金额" prop="paymentMoney"> |
|
||||||
<el-input :value="form.paymentMoney" maxlength="15" |
|
||||||
@input="val => ismoney(val, form, 'paymentMoney')"></el-input> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="支取密码" required> |
|
||||||
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')"> |
|
||||||
<p>请输入密码</p> |
|
||||||
</div> |
|
||||||
<div v-else @click="popUp3('密码器')"> |
|
||||||
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<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 :value="form.idNumber" disabled ref="idNumber"></el-input> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="客户姓名" prop="customerName"> |
|
||||||
<el-input ref="customerName" disabled :value="form.customerName" |
|
||||||
@input="(val) => checkName(val, form, 'customerName')"></el-input> |
|
||||||
</el-form-item> |
|
||||||
|
|
||||||
<el-form-item label="户号" prop="houseId"> |
|
||||||
<el-input v-model="form.houseId" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="每月代扣" prop="monthlyWithholding"> |
|
||||||
<el-radio-group v-model.trim="form.monthlyWithholding"> |
|
||||||
<el-radio :label="142">是</el-radio> |
|
||||||
<el-radio :label="143">否</el-radio> |
|
||||||
</el-radio-group> |
|
||||||
</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' /> |
|
||||||
</el-form> |
|
||||||
</el-row> |
|
||||||
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button> |
|
||||||
</div> |
|
||||||
</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, getOperation } from '@/api/http'; |
|
||||||
import { mapMutations, mapGetters } from 'vuex' |
|
||||||
import NeedBefore from '@/components/needBefore' |
|
||||||
import MyDialog from '@/components/dialog' |
|
||||||
import TipsBefore from '@/mixins/tipsBefore' |
|
||||||
|
|
||||||
const moduleName = 'agent/waterRate' |
|
||||||
export default { |
|
||||||
name: '', |
|
||||||
props: {}, |
|
||||||
components: { |
|
||||||
NeedBefore, |
|
||||||
MyDialog |
|
||||||
}, |
|
||||||
mixins: [TipsBefore], |
|
||||||
created () { |
|
||||||
if (sessionStorage.getItem('waterRatePassword')) { |
|
||||||
this.form.drawPassword = sessionStorage.getItem('waterRatePassword') |
|
||||||
} |
|
||||||
|
|
||||||
if (sessionStorage.getItem('waterRateIdCard')) { |
|
||||||
this.idNumberJudge = true |
|
||||||
const { idNumber } = this.dataFlow |
|
||||||
this.form.idNumber = idNumber |
|
||||||
} |
|
||||||
if (sessionStorage.getItem('waterRateBankCard')) { |
|
||||||
this.cardNumberJudge = true |
|
||||||
const { voucherNumber, userName } = this.dataFlow |
|
||||||
this.form.voucherNumber = voucherNumber |
|
||||||
this.form.customerName = userName |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
// this.getFormData() |
|
||||||
|
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
moduleName, |
|
||||||
visible: false, |
|
||||||
cardNumberJudge: false, |
|
||||||
idNumberJudge: false, |
|
||||||
form: { |
|
||||||
certificateType: 83, |
|
||||||
idNumber: '', |
|
||||||
voucherNumber: '', |
|
||||||
customerName: '', |
|
||||||
paymentUnit: '', |
|
||||||
houseId: '', |
|
||||||
paymentMoney: '', |
|
||||||
monthlyWithholding: '', |
|
||||||
drawPassword: '', |
|
||||||
}, |
|
||||||
formName: { |
|
||||||
certificateType: '证件类型', |
|
||||||
idNumber: '证件号码', |
|
||||||
voucherNumber: '账号', |
|
||||||
customerName: '客户姓名', |
|
||||||
paymentUnit: '缴费单位', |
|
||||||
houseId: '户号', |
|
||||||
paymentMoney: '缴费金额', |
|
||||||
monthlyWithholding: '每月代扣', |
|
||||||
drawPassword: '支付密码', |
|
||||||
}, |
|
||||||
rules: { |
|
||||||
customerName: vercustomer, |
|
||||||
idNumber: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入证件号码', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
voucherNumber: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入账号', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
customerName: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入客户姓名', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
paymentUnit: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入缴费单位', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
houseId: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入户号', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
paymentMoney: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入缴费金额', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
monthlyWithholding: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择每月代扣', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
}, |
|
||||||
myTable2: { |
|
||||||
158: { |
|
||||||
prop: 'certificateType',//证件类型 |
|
||||||
type: '1', |
|
||||||
"subjectId": 19, |
|
||||||
}, |
|
||||||
// 169: { |
|
||||||
// prop: 'customerManage',//客户经理 |
|
||||||
// type: '3', |
|
||||||
// "subjectId": 27, |
|
||||||
// }, |
|
||||||
160: { |
|
||||||
prop: 'clientNumber',//客户号 |
|
||||||
type: '3', |
|
||||||
"subjectId": 6, |
|
||||||
} |
|
||||||
}, |
|
||||||
myTable: { |
|
||||||
159: { |
|
||||||
prop: 'idNumber',// 身份证号码 |
|
||||||
type: '3', |
|
||||||
}, |
|
||||||
161: { |
|
||||||
prop: 'customerName',//客户姓名 |
|
||||||
type: '3', |
|
||||||
"subjectId": 7, |
|
||||||
}, |
|
||||||
162: { |
|
||||||
prop: 'currency',//币种 |
|
||||||
type: '1', |
|
||||||
"subjectId": 8, |
|
||||||
}, |
|
||||||
163: { |
|
||||||
prop: 'goldLogo',//钞汇标识 |
|
||||||
type: '1', |
|
||||||
"subjectId": 9, |
|
||||||
}, |
|
||||||
164: { |
|
||||||
prop: 'voucherType',//凭证类型 |
|
||||||
type: '1', |
|
||||||
"subjectId": 11, |
|
||||||
}, |
|
||||||
166: { |
|
||||||
prop: 'voucherNumber',//凭证号码 |
|
||||||
type: '3', |
|
||||||
"subjectId": 44, |
|
||||||
}, |
|
||||||
167: { |
|
||||||
prop: 'drawPassword', |
|
||||||
type: '3', |
|
||||||
"subjectId": 17, |
|
||||||
}, |
|
||||||
168: { |
|
||||||
prop: 'monthDeposit',//月存金额 |
|
||||||
type: '3', |
|
||||||
"subjectId": 31, |
|
||||||
}, |
|
||||||
170: { |
|
||||||
prop: 'extendDepositTarget',//续存标识 |
|
||||||
type: '1', |
|
||||||
"subjectId": 37, |
|
||||||
}, |
|
||||||
}, |
|
||||||
submited: 0 |
|
||||||
} |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
|
|
||||||
}, |
|
||||||
methods: { |
|
||||||
...mapMutations({ |
|
||||||
changeShowGoods: 'system/changeShowGoods', |
|
||||||
setDataFlow: 'system/setDataFlow', |
|
||||||
setNeedsModule: 'system/setNeedsModule', |
|
||||||
setPopId: 'system/setPopId', |
|
||||||
setTipsOperate: 'system/setTipsOperate' |
|
||||||
}), |
|
||||||
popUp1 (text) { |
|
||||||
this.setTipsOperate('请刷身份证'); |
|
||||||
this.setPopId('713') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
popUp2 (text) { |
|
||||||
this.setTipsOperate('请刷银行卡'); |
|
||||||
this.setPopId('715') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
popUp3 (text) { |
|
||||||
this.setTipsOperate('请在密码器输入密码'); |
|
||||||
this.setPopId('720') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
getFormData () { |
|
||||||
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155' |
|
||||||
const cards = { |
|
||||||
// 1399: 'nomUsefulPhrasesOpenCard2', |
|
||||||
// 166: 'nomUsefulPhrasesOpenCard', |
|
||||||
// 167: 'nomUsefulPhrasesOpenPassword' |
|
||||||
} |
|
||||||
const callback = () => { |
|
||||||
if (this.form.idNumber) { |
|
||||||
this.idNumberJudge = true |
|
||||||
} |
|
||||||
if (this.form.voucherNumber) { |
|
||||||
this.cardNumberJudge = true |
|
||||||
} |
|
||||||
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) { |
|
||||||
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword') |
|
||||||
} |
|
||||||
} |
|
||||||
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback) |
|
||||||
}, |
|
||||||
submitForm () { |
|
||||||
if (this.submited) return this.$message.error('已提交!') |
|
||||||
if (!this.form.idNumber) { |
|
||||||
messageIdCard() |
|
||||||
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 projectId = sessionStorage.getItem('projectId') |
|
||||||
let startTime = sessionStorage.getItem('startTime') |
|
||||||
let formList = []; |
|
||||||
const { form } = this |
|
||||||
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,706,709' |
|
||||||
formList.push( |
|
||||||
{ answerId: 712, emptyOne: 19, emptyTwo: form.certificateType, operationIds: preId + ',712', type: 1 }, |
|
||||||
{ answerId: 713, emptyOne: '', emptyTwo: '', operationIds: preId + ',713', type: '' }, |
|
||||||
{ answerId: 715, emptyOne: 84, emptyTwo: form.voucherNumber, operationIds: preId + ',715', type: 3 }, |
|
||||||
{ answerId: 714, emptyOne: 7, emptyTwo: form.customerName, operationIds: preId + ',714', type: 3 }, |
|
||||||
{ answerId: 716, emptyOne: 111, emptyTwo: form.paymentUnit, operationIds: preId + ',716', type: 3 }, |
|
||||||
{ 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, |
|
||||||
lcJudgmentRuleReq: formList, |
|
||||||
projectId: +projectId, |
|
||||||
startTime: startTime, |
|
||||||
} |
|
||||||
addOperation(params).then((data) => { |
|
||||||
this.setDataFlow({ ...this.form }) |
|
||||||
this.submited = 1 |
|
||||||
}).catch((error) => { |
|
||||||
this.$message({ |
|
||||||
message: '服务器繁忙,提交失败。', |
|
||||||
center: true, |
|
||||||
type: 'info' |
|
||||||
}); |
|
||||||
}) |
|
||||||
}, |
|
||||||
ismoney, |
|
||||||
checkHanzi, |
|
||||||
checkName, |
|
||||||
inputListen, |
|
||||||
}, |
|
||||||
computed: { |
|
||||||
...mapGetters({ |
|
||||||
dataFlow: 'system/dataFlow', |
|
||||||
needsModule: 'system/needsModule', |
|
||||||
idCardNumber: 'system/idCardNumber', |
|
||||||
inMyWork: 'system/inMyWork', |
|
||||||
getSelectList: 'system/getSelectList' |
|
||||||
}) |
|
||||||
} |
|
||||||
} |
|
||||||
</script> |
|
||||||
<style lang='scss' scoped></style> |
|
@ -1,111 +0,0 @@ |
|||||||
<template> |
|
||||||
<!-- 贷款申请 --> |
|
||||||
<div class="wrap"> |
|
||||||
<my-title :titleArr="['公司贷款', '贷款申请']" /> |
|
||||||
|
|
||||||
<div class="flex j-between m-b-20"> |
|
||||||
<div style="width: 300px;"> |
|
||||||
<el-input v-model="keyword" placeholder="请输入客户姓名" clearable /> |
|
||||||
</div> |
|
||||||
|
|
||||||
<el-button type="primary" @click="toDetail(0)">新建贷款申请</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 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> |
|
||||||
</template> |
|
||||||
</el-table-column> |
|
||||||
</el-table> |
|
||||||
|
|
||||||
<div class="pagination"> |
|
||||||
<el-pagination background layout="total, prev, pager, next" :current-page="page" |
|
||||||
@current-change="handleCurrentChange" :total="total"></el-pagination> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script> |
|
||||||
import { headerCellStyle } from '@/assets/js/myConfig' |
|
||||||
import { companyLoanList } from '@/api/http'; |
|
||||||
import MyTitle from '@/components/myTitle' |
|
||||||
export default { |
|
||||||
components: { |
|
||||||
MyTitle, |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
headerCellStyle, |
|
||||||
searchTimer: null, |
|
||||||
keyword: '', |
|
||||||
list: [], |
|
||||||
page: 1, |
|
||||||
pageSize: 10, |
|
||||||
total: 0, |
|
||||||
} |
|
||||||
}, |
|
||||||
watch: { |
|
||||||
keyword: function (val) { |
|
||||||
clearTimeout(this.searchTimer); |
|
||||||
this.searchTimer = setTimeout(() => { |
|
||||||
this.initData() |
|
||||||
}, 500) |
|
||||||
}, |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
this.initData() |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
async getData () { |
|
||||||
const { data } = await companyLoanList({ |
|
||||||
...this.$store.getters['system/commonIds'], |
|
||||||
pageNum: this.page, |
|
||||||
pageSize: this.pageSize, |
|
||||||
searchContent: this.keyword, |
|
||||||
typeId: 1, |
|
||||||
}) |
|
||||||
this.list = data.page.records |
|
||||||
this.total = data.page.total |
|
||||||
}, |
|
||||||
initData () { |
|
||||||
this.page = 1 |
|
||||||
this.getData() |
|
||||||
}, |
|
||||||
handleCurrentChange (val) { |
|
||||||
this.page = val |
|
||||||
this.getData() |
|
||||||
}, |
|
||||||
// 详情 |
|
||||||
toDetail (row) { |
|
||||||
// 缓存信用评估几个id |
|
||||||
this.$store.commit('system/setCreditIds', (row ? { |
|
||||||
companyLoanId: row.companyLoanId, // 顶部三个tab切换的公共id |
|
||||||
} : {})) |
|
||||||
this.$router.push(row.loanApplicationAmount ? `/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}` : '/counter/list/manage/corporateLoans-apply') |
|
||||||
}, |
|
||||||
}, |
|
||||||
}; |
|
||||||
</script> |
|
||||||
|
|
||||||
<style lang="scss" scoped> |
|
||||||
@import '@/assets/css/tablebg.scss'; |
|
||||||
|
|
||||||
.wrap { |
|
||||||
width: 100%; |
|
||||||
max-height: calc(100vh - 118px); |
|
||||||
padding: 24px; |
|
||||||
overflow: auto; |
|
||||||
} |
|
||||||
</style> |
|
@ -1,480 +0,0 @@ |
|||||||
<!-- 信用评估 --> |
|
||||||
<template> |
|
||||||
<div> |
|
||||||
<el-row :gutter="20" style="margin: 0"> |
|
||||||
<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-input v-model="form.applicationAccount" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="证件号码"> |
|
||||||
<el-input v-model="form.identificationNumber" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="抵押房产地址"> |
|
||||||
<el-input v-model="form.propertyAddress" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="婚姻状况"> |
|
||||||
<el-radio-group v-model="form.maritalStatus" disabled> |
|
||||||
<el-radio label="未婚"></el-radio> |
|
||||||
<el-radio label="已婚"></el-radio> |
|
||||||
<el-radio label="离异"></el-radio> |
|
||||||
</el-radio-group> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="在袋鼠互联网科技有限公司购买社保" label-width="280px"> |
|
||||||
<el-radio-group v-model="form.socialSecurity" disabled> |
|
||||||
<el-radio label="是"></el-radio> |
|
||||||
<el-radio label="否"></el-radio> |
|
||||||
</el-radio-group> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="客户名称"> |
|
||||||
<el-input v-model="form.customerName" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="联系电话"> |
|
||||||
<el-input v-model="form.contactPhoneNumber" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="与袋鼠互联网科技有限公司合作年限" label-width="280px"> |
|
||||||
<el-input v-model="form.cooperationPeriod" @input="val => inputListen(val, form, 'cooperationPeriod')" |
|
||||||
ref="cooperationPeriod"> |
|
||||||
<template slot="append">年</template> |
|
||||||
</el-input> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="在袋鼠互联网科技有限公司签订劳动合同" label-width="300px"> |
|
||||||
<el-radio-group v-model="form.laborContract" disabled> |
|
||||||
<el-radio label="是"></el-radio> |
|
||||||
<el-radio label="否"></el-radio> |
|
||||||
</el-radio-group> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="住址情况"> |
|
||||||
<el-radio-group v-model="form.addressSituation" disabled> |
|
||||||
<el-radio label="购置"></el-radio> |
|
||||||
<el-radio label="按揭中"></el-radio> |
|
||||||
<el-radio label="租住"></el-radio> |
|
||||||
</el-radio-group> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
|
|
||||||
<el-col :span="24" style="margin-top: 20px"> |
|
||||||
<h6 class="l-title">还款来源</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="24"> |
|
||||||
<el-form-item> |
|
||||||
<div class="flex"> |
|
||||||
<span class="req">*</span> |
|
||||||
<el-checkbox v-model="form.matureRepayment">自行筹款,到期还款</el-checkbox> |
|
||||||
<div class="inline-flex m-l-40"> |
|
||||||
<el-checkbox v-model="form.otherRepaymentsCheck">其他:</el-checkbox> |
|
||||||
<el-input v-if="form.otherRepaymentsCheck" v-model="form.otherRepayments" size="small" maxlength="50" |
|
||||||
placeholder="请输入"></el-input> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
|
|
||||||
|
|
||||||
<el-col :span="24" style="margin-top: 20px"> |
|
||||||
<h6 class="l-title">用途</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="24"> |
|
||||||
<el-form-item> |
|
||||||
<div class="flex"> |
|
||||||
<span class="req">*</span> |
|
||||||
<el-checkbox v-model="form.paymentForMaterials">支付材料款</el-checkbox> |
|
||||||
<el-checkbox v-model="form.payLaborCosts">支付人工费</el-checkbox> |
|
||||||
<el-checkbox v-model="form.payExpenses">支付研发费</el-checkbox> |
|
||||||
<div class="inline-flex m-l-40"> |
|
||||||
<el-checkbox v-model="form.otherUseCheck">其他:</el-checkbox> |
|
||||||
<el-input v-if="form.otherUseCheck" v-model="form.otherUses" size="small" maxlength="50" |
|
||||||
placeholder="请输入"></el-input> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
|
|
||||||
|
|
||||||
<el-col :span="24" style="margin-top: 20px"> |
|
||||||
<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-col> |
|
||||||
|
|
||||||
<el-col :span="24" style="margin-top: 20px"> |
|
||||||
<h6 class="l-title">附件 请上传</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="24"> |
|
||||||
<div class="files"> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.corporateIdCard ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('corporateIdCard')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
法人身份证 |
|
||||||
<span v-if="creditImportIds.corporateIdCard" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.mortgagePropertyCertificate ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('mortgagePropertyCertificate')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
抵押物房产证 |
|
||||||
<span v-if="creditImportIds.mortgagePropertyCertificate" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.proofOfMaritalStatus ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('proofOfMaritalStatus')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
实际控制人婚姻情况证明(结/离婚证) |
|
||||||
<span v-if="creditImportIds.proofOfMaritalStatus" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.copyOfSpouseSIdCard ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('copyOfSpouseSIdCard')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
实际控制人配偶身份证复印件 |
|
||||||
<span v-if="creditImportIds.copyOfSpouseSIdCard" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.originalBusinessLicense ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('originalBusinessLicense')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
营业执照正本 |
|
||||||
<span v-if="creditImportIds.originalBusinessLicense" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.accountOpeningPermit ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('accountOpeningPermit')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
开户许可证(基本存款账户信息) |
|
||||||
<span v-if="creditImportIds.accountOpeningPermit" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.leaseContract ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('leaseContract')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
企业注册地址租赁合同或对应房产证 |
|
||||||
<span v-if="creditImportIds.leaseContract" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.companyArticlesOfAssociation ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('companyArticlesOfAssociation')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
公司章程 |
|
||||||
<span v-if="creditImportIds.companyArticlesOfAssociation" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.shareholderDocuments ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('shareholderDocuments')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
公司股东证件复印件 |
|
||||||
<span v-if="creditImportIds.shareholderDocuments" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.financialSeal ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('financialSeal')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
公章私章财务章 |
|
||||||
<span v-if="creditImportIds.financialSeal" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.oneYearTaxPaymentCertificate ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('oneYearTaxPaymentCertificate')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
公司近一年纳税证明 |
|
||||||
<span v-if="creditImportIds.oneYearTaxPaymentCertificate" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.halfYearRevenue ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('halfYearRevenue')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
公司近半年流水 |
|
||||||
<span v-if="creditImportIds.halfYearRevenue" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.corporateFinancialStatements ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('corporateFinancialStatements')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
企业财务报表 |
|
||||||
<span v-if="creditImportIds.corporateFinancialStatements" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.loanApplicationForm ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('loanApplicationForm')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
贷款申请书 |
|
||||||
<span v-if="creditImportIds.loanApplicationForm" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<div class="item"> |
|
||||||
<el-button :type="creditImportIds.creditAuthorizationLetter ? '' : 'primary'" size="small" plain |
|
||||||
@click="importSth('creditAuthorizationLetter')">上传</el-button> |
|
||||||
<p class="text"> |
|
||||||
征信授权书 |
|
||||||
<span v-if="creditImportIds.creditAuthorizationLetter" class="text-danger">(已导入)</span> |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</el-col> |
|
||||||
</el-form> |
|
||||||
</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> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</el-dialog> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
<script> |
|
||||||
import { inputListen } from '@/utils/utilFunction.js' |
|
||||||
import { creditApplicationDetails, addOperation, creditApplicationInput } from '@/api/http' |
|
||||||
import { mapState, mapMutations } from 'vuex' |
|
||||||
export default { |
|
||||||
data () { |
|
||||||
return { |
|
||||||
form: { |
|
||||||
applicationAccount: '6227007200580926', |
|
||||||
customerName: '丛小凤', |
|
||||||
identificationNumber: '220602199202281229', |
|
||||||
contactPhoneNumber: '15890317718', |
|
||||||
propertyAddress: '广东省深圳市南山区前海一号2020室', |
|
||||||
cooperationPeriod: '6', |
|
||||||
maritalStatus: '未婚', |
|
||||||
laborContract: '是', |
|
||||||
socialSecurity: '是', |
|
||||||
addressSituation: '购置', |
|
||||||
|
|
||||||
matureRepayment: false, |
|
||||||
otherRepaymentsCheck: false, |
|
||||||
otherRepayments: '', |
|
||||||
paymentForMaterials: false, |
|
||||||
payLaborCosts: false, |
|
||||||
payExpenses: false, |
|
||||||
otherUseCheck: false, |
|
||||||
otherUses: '', |
|
||||||
specialInstructions: '', |
|
||||||
}, |
|
||||||
opt1: [ |
|
||||||
{ |
|
||||||
id: 203, |
|
||||||
name: '有' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 204, |
|
||||||
name: '无' |
|
||||||
}, |
|
||||||
], |
|
||||||
opt2: [ |
|
||||||
{ |
|
||||||
id: 205, |
|
||||||
name: '优' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 206, |
|
||||||
name: '良' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 207, |
|
||||||
name: '不良' |
|
||||||
}, |
|
||||||
], |
|
||||||
visible: false, |
|
||||||
successVisible: false, |
|
||||||
} |
|
||||||
}, |
|
||||||
computed: { |
|
||||||
...mapState('system', ['creditImportIds', 'creditIds']), |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
this.getDetail() |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
...mapMutations('system', ['setCreditImportIndex', 'initCreditImportIds']), |
|
||||||
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 || '', |
|
||||||
}) |
|
||||||
}, |
|
||||||
// 导入 |
|
||||||
importSth (i) { |
|
||||||
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 |
|
||||||
// 判分 |
|
||||||
await creditApplicationInput({ |
|
||||||
...this.$store.state.system.creditIds, |
|
||||||
...this.$store.state.system.creditImportIds, |
|
||||||
...form, |
|
||||||
}) |
|
||||||
|
|
||||||
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.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 }) |
|
||||||
|
|
||||||
await addOperation({ |
|
||||||
parentId: preId, |
|
||||||
lcJudgmentRuleReq: rule, |
|
||||||
projectId: +sessionStorage.getItem('projectId'), |
|
||||||
startTime: sessionStorage.getItem('startTime') |
|
||||||
}) |
|
||||||
|
|
||||||
this.successVisible = true |
|
||||||
} catch { (e) => { } } |
|
||||||
}, |
|
||||||
// 跳转到第三步 |
|
||||||
toStep3 () { |
|
||||||
this.$parent.active = '3' |
|
||||||
this.$parent.curStep = 0 |
|
||||||
this.$parent.tab3Disabled = false |
|
||||||
}, |
|
||||||
}, |
|
||||||
} |
|
||||||
</script> |
|
||||||
<style lang='scss' scoped> |
|
||||||
@import '@/styles/dialog.scss'; |
|
||||||
|
|
||||||
.l-title { |
|
||||||
margin-bottom: 15px; |
|
||||||
font-size: 18px; |
|
||||||
font-weight: 600; |
|
||||||
} |
|
||||||
|
|
||||||
.files { |
|
||||||
.item { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
margin-bottom: 20px; |
|
||||||
} |
|
||||||
|
|
||||||
.text { |
|
||||||
margin-left: 10px; |
|
||||||
font-size: 14px; |
|
||||||
color: #818181; |
|
||||||
} |
|
||||||
} |
|
||||||
</style> |
|
@ -1,253 +0,0 @@ |
|||||||
<!-- 信用评估 --> |
|
||||||
<template> |
|
||||||
<div> |
|
||||||
<el-row :gutter="20" style="margin: 0"> |
|
||||||
<el-form ref="form" :model="form" label-width="140px" :rules="rules"> |
|
||||||
<el-col :span="24"> |
|
||||||
<h6 class="l-title">客户信息</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<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="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="contactPhoneNumber"> |
|
||||||
<el-input v-model="form.contactPhoneNumber" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="法人姓名" prop="corporateName"> |
|
||||||
<el-input v-model="form.corporateName" /> |
|
||||||
</el-form-item> |
|
||||||
<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="interestRate"> |
|
||||||
<el-input v-model="form.interestRate" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<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="yearOfEstablishment"> |
|
||||||
<el-input v-model="form.yearOfEstablishment" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="主营范围" prop="mainBusinessScope"> |
|
||||||
<el-input v-model="form.mainBusinessScope" /> |
|
||||||
</el-form-item> |
|
||||||
<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-form-item> |
|
||||||
<el-form-item label="代码证号" prop="identificationNumber"> |
|
||||||
<el-input v-model="form.identificationNumber" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="注册地址" prop="companyRegisteredAddress"> |
|
||||||
<el-input v-model="form.companyRegisteredAddress" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="法人证件号码" prop="corporateIdNumber"> |
|
||||||
<el-input v-model="form.corporateIdNumber" /> |
|
||||||
</el-form-item> |
|
||||||
<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="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="numberOfEmployees"> |
|
||||||
<el-input v-model="form.numberOfEmployees" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="注册类型" prop="registrationType"> |
|
||||||
<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-form-item> |
|
||||||
<el-form-item label="借款人性质" prop="natureOfBorrower"> |
|
||||||
<el-input v-model="form.natureOfBorrower" /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
|
|
||||||
</el-form> |
|
||||||
</el-row> |
|
||||||
|
|
||||||
<div class="text-center m-t-20"> |
|
||||||
<el-button @click="$router.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' |
|
||||||
export default { |
|
||||||
data () { |
|
||||||
return { |
|
||||||
id: this.$route.query.id, |
|
||||||
form: { |
|
||||||
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: '2050-01-01', |
|
||||||
financialReportSubmissionMethod: '', |
|
||||||
natureOfBorrower: '', |
|
||||||
}, |
|
||||||
rules: { |
|
||||||
applicationAccount: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入账号', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
}, |
|
||||||
pickerOptions: { |
|
||||||
disabledDate (v) { |
|
||||||
return v.getTime() < new Date().getTime() - 86400000 |
|
||||||
}, |
|
||||||
}, |
|
||||||
submited: 0 |
|
||||||
} |
|
||||||
}, |
|
||||||
computed: { |
|
||||||
...mapState('system', ['creditIds']), |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
this.getDetail() |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
...mapMutations({ |
|
||||||
changeShowGoods: 'system/changeShowGoods', |
|
||||||
setDataFlow: 'system/setDataFlow', |
|
||||||
setNeedsModule: 'system/setNeedsModule', |
|
||||||
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 () { |
|
||||||
if (this.form.applicationAccount === 12802851701099) { |
|
||||||
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 = '2050-01-01' |
|
||||||
this.form.financialReportSubmissionMethod = '半年' |
|
||||||
this.form.natureOfBorrower = '企业法人' |
|
||||||
} |
|
||||||
}, |
|
||||||
// 下一步 |
|
||||||
async next () { |
|
||||||
const { form } = this |
|
||||||
if (!form.applicationAccount) return this.$message.error('请填写账号!') |
|
||||||
try { |
|
||||||
const { data } = await creditEvaluationInput({ |
|
||||||
...this.$store.getters['system/commonIds'], |
|
||||||
...form, |
|
||||||
}) |
|
||||||
|
|
||||||
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, |
|
||||||
projectId: +sessionStorage.getItem('projectId'), |
|
||||||
startTime: sessionStorage.getItem('startTime') |
|
||||||
}) |
|
||||||
this.setCreditImportIds() |
|
||||||
// 缓存信用评估几个id |
|
||||||
this.setCreditIds({ |
|
||||||
companyLoanId: data.companyLoanId, // 顶部三个tab切换的公共id |
|
||||||
creditEvaluationId: data.creditEvaluationId, // 信用评估的id |
|
||||||
}) |
|
||||||
this.$emit('updateStep', 1) |
|
||||||
} catch { (e) => { } } |
|
||||||
}, |
|
||||||
inputListen, |
|
||||||
} |
|
||||||
} |
|
||||||
</script> |
|
||||||
<style lang='scss' scoped> |
|
||||||
.l-title { |
|
||||||
margin-bottom: 15px; |
|
||||||
font-size: 18px; |
|
||||||
font-weight: 600; |
|
||||||
} |
|
||||||
|
|
||||||
.line { |
|
||||||
margin: 20px 0; |
|
||||||
border-bottom: 1px dashed #d7d7d7; |
|
||||||
} |
|
||||||
</style> |
|
@ -1,139 +0,0 @@ |
|||||||
<!-- 导入报表 --> |
|
||||||
<template> |
|
||||||
<div> |
|
||||||
<div class="upload-wrap"> |
|
||||||
<div> |
|
||||||
<el-button :type="creditImportIds.importBalanceSheet ? '' : 'primary'" |
|
||||||
@click="importSth('importBalanceSheet')">点击导入资产负债表</el-button> |
|
||||||
<p v-if="creditImportIds.importBalanceSheet" class="already">已导入</p> |
|
||||||
</div> |
|
||||||
|
|
||||||
<img class="icon" src="@/assets/img/arrow-right.png" alt=""> |
|
||||||
|
|
||||||
<div> |
|
||||||
<el-button :type="creditImportIds.importIncomeStatement ? '' : 'primary'" |
|
||||||
@click="importSth('importIncomeStatement')">点击导入损益表</el-button> |
|
||||||
<p v-if="creditImportIds.importIncomeStatement" class="already">已导入</p> |
|
||||||
</div> |
|
||||||
|
|
||||||
<img class="icon" src="@/assets/img/arrow-right.png" alt=""> |
|
||||||
|
|
||||||
<div> |
|
||||||
<el-button :type="creditImportIds.importCashFlowStatement ? '' : 'primary'" |
|
||||||
@click="importSth('importCashFlowStatement')">点击导入现金流量表</el-button> |
|
||||||
<p v-if="creditImportIds.importCashFlowStatement" class="already">已导入</p> |
|
||||||
</div> |
|
||||||
</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> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
<script> |
|
||||||
import { creditEvaluationDetails, addOperation, creditEvaluationInput } from '@/api/http' |
|
||||||
import { mapMutations, mapState } from 'vuex' |
|
||||||
|
|
||||||
export default { |
|
||||||
computed: { |
|
||||||
...mapState('system', ['creditImportIds', 'creditIds']), |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
form: {}, |
|
||||||
originForm: {}, |
|
||||||
} |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
this.getDetail() |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
...mapMutations('system', ['setCreditImportIndex', 'initCreditImportIds']), |
|
||||||
// 查询详情 |
|
||||||
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 || '', |
|
||||||
}) |
|
||||||
} |
|
||||||
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) { |
|
||||||
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' |
|
||||||
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 }, |
|
||||||
], |
|
||||||
projectId: +sessionStorage.getItem('projectId'), |
|
||||||
startTime: sessionStorage.getItem('startTime') |
|
||||||
}) |
|
||||||
this.$emit('updateStep', step) |
|
||||||
} catch { (e) => { } } |
|
||||||
}, |
|
||||||
}, |
|
||||||
} |
|
||||||
</script> |
|
||||||
<style lang='scss' scoped> |
|
||||||
.upload-wrap { |
|
||||||
display: flex; |
|
||||||
justify-content: center; |
|
||||||
align-items: center; |
|
||||||
min-height: 300px; |
|
||||||
|
|
||||||
.already { |
|
||||||
margin-top: 8px; |
|
||||||
font-size: 14px; |
|
||||||
text-align: center; |
|
||||||
color: #606060; |
|
||||||
} |
|
||||||
|
|
||||||
.icon { |
|
||||||
margin: 0 40px; |
|
||||||
} |
|
||||||
} |
|
||||||
</style> |
|
@ -1,294 +0,0 @@ |
|||||||
<!-- 贷前调查 --> |
|
||||||
<template> |
|
||||||
<div> |
|
||||||
<el-row :gutter="20" style="margin: 0"> |
|
||||||
<el-form ref="form" :model="form" label-width="200px" :rules="rules"> |
|
||||||
<el-col :span="24"> |
|
||||||
<h6 class="l-title">贷前调查</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10"> |
|
||||||
<el-form-item label="调查日期" prop="surveyDate"> |
|
||||||
<el-date-picker v-model="form.surveyDate" ref="surveyDate" type="date" placeholder="请选择调查日期" |
|
||||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd"></el-date-picker> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="贸易融资记录" prop="tradeFinancingRecords"> |
|
||||||
<el-select v-model="form.tradeFinancingRecords" placeholder="请选择" ref="tradeFinancingRecords" |
|
||||||
style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="三年内较大经营投资失误" prop="businessInvestmentErrors"> |
|
||||||
<el-select v-model="form.businessInvestmentErrors" placeholder="请选择" ref="businessInvestmentErrors" |
|
||||||
style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业与客户管理分析" prop="enterpriseCustomerAnalysis"> |
|
||||||
<el-select v-model="form.enterpriseCustomerAnalysis" placeholder="请选择" ref="enterpriseCustomerAnalysis" |
|
||||||
style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="重大事故赔偿" prop="compensationMajorAccidents"> |
|
||||||
<el-select v-model="form.compensationMajorAccidents" placeholder="请选择" ref="compensationMajorAccidents" |
|
||||||
style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="对外不利担保" prop="externalUnfavorableGuarantee"> |
|
||||||
<el-select v-model="form.externalUnfavorableGuarantee" placeholder="请选择" ref="externalUnfavorableGuarantee" |
|
||||||
style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="经营状况" prop="businessStatus"> |
|
||||||
<el-select v-model="form.businessStatus" placeholder="请选择" ref="businessStatus" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="坏账准备金提取" prop="badDebtReserves"> |
|
||||||
<el-select v-model="form.badDebtReserves" placeholder="请选择" ref="badDebtReserves" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="重大法律诉讼" prop="majorLegalLitigation"> |
|
||||||
<el-select v-model="form.majorLegalLitigation" placeholder="请选择" ref="majorLegalLitigation" |
|
||||||
style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="贷款风险情况" prop="loanRiskSituation"> |
|
||||||
<el-select v-model="form.loanRiskSituation" placeholder="请选择" ref="loanRiskSituation" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="24"> |
|
||||||
<el-form-item label="其他风险情况" prop="preLoanOtherRiskSituations"> |
|
||||||
<el-input v-model="form.preLoanOtherRiskSituations" type="textarea" maxlength="100"></el-input> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
</el-form> |
|
||||||
</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> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
<script> |
|
||||||
import { myValidate } from '@/utils/utilFunction.js'; |
|
||||||
import { creditEvaluationDetails, addOperation, creditEvaluationInput } from '@/api/http' |
|
||||||
import { mapState } from 'vuex' |
|
||||||
export default { |
|
||||||
data () { |
|
||||||
return { |
|
||||||
opt1: [ |
|
||||||
{ |
|
||||||
id: 203, |
|
||||||
name: '有' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 204, |
|
||||||
name: '无' |
|
||||||
}, |
|
||||||
], |
|
||||||
opt2: [ |
|
||||||
{ |
|
||||||
id: 205, |
|
||||||
name: '优' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 206, |
|
||||||
name: '良' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 207, |
|
||||||
name: '不良' |
|
||||||
}, |
|
||||||
], |
|
||||||
form: { |
|
||||||
surveyDate: '', |
|
||||||
externalUnfavorableGuarantee: 204, |
|
||||||
tradeFinancingRecords: 204, |
|
||||||
businessStatus: 205, |
|
||||||
businessInvestmentErrors: 204, |
|
||||||
badDebtReserves: 204, |
|
||||||
enterpriseCustomerAnalysis: 205, |
|
||||||
majorLegalLitigation: 204, |
|
||||||
compensationMajorAccidents: 204, |
|
||||||
loanRiskSituation: 204, |
|
||||||
preLoanOtherRiskSituations: '', |
|
||||||
}, |
|
||||||
originForm: {}, |
|
||||||
rules: { |
|
||||||
surveyDate: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择调查日期', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
externalUnfavorableGuarantee: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择对外不利担保', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
tradeFinancingRecords: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择贸易融资记录', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
businessStatus: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择经营状况', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
businessInvestmentErrors: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择三年内较大经营投资失误', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
badDebtReserves: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择坏账准备金提取', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
enterpriseCustomerAnalysis: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择企业与客户管理分析', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
majorLegalLitigation: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择重大法律诉讼', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
compensationMajorAccidents: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择重大事故赔偿', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
loanRiskSituation: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择贷款风险情况', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
}, |
|
||||||
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.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) { |
|
||||||
this.$refs.form.validate(myValidate(async () => { |
|
||||||
try { |
|
||||||
const { form } = this |
|
||||||
await creditEvaluationInput({ |
|
||||||
...this.creditIds, |
|
||||||
...form, |
|
||||||
}) |
|
||||||
|
|
||||||
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768' |
|
||||||
const rule = [ |
|
||||||
{ answerId: 773, emptyOne: 125, emptyTwo: form.surveyDate, operationIds: preId + ',773', type: 3 }, |
|
||||||
{ answerId: 774, emptyOne: 126, emptyTwo: form.externalUnfavorableGuarantee, operationIds: preId + ',774', type: 1 }, |
|
||||||
{ answerId: 775, emptyOne: 126, emptyTwo: form.tradeFinancingRecords, operationIds: preId + ',775', type: 1 }, |
|
||||||
{ answerId: 776, emptyOne: 127, emptyTwo: form.businessStatus, operationIds: preId + ',776', type: 1 }, |
|
||||||
{ answerId: 777, emptyOne: 126, emptyTwo: form.businessInvestmentErrors, operationIds: preId + ',777', type: 1 }, |
|
||||||
{ answerId: 778, emptyOne: 126, emptyTwo: form.badDebtReserves, operationIds: preId + ',778', type: 1 }, |
|
||||||
{ answerId: 779, emptyOne: 127, emptyTwo: form.enterpriseCustomerAnalysis, operationIds: preId + ',779', type: 1 }, |
|
||||||
{ answerId: 780, emptyOne: 126, emptyTwo: form.majorLegalLitigation, operationIds: preId + ',780', type: 1 }, |
|
||||||
{ answerId: 781, emptyOne: 126, emptyTwo: form.compensationMajorAccidents, operationIds: preId + ',781', type: 1 }, |
|
||||||
{ answerId: 782, emptyOne: 126, emptyTwo: form.loanRiskSituation, operationIds: preId + ',782', type: 1 }, |
|
||||||
] |
|
||||||
form.preLoanOtherRiskSituations && rule.push({ answerId: 783, emptyOne: 125, emptyTwo: form.preLoanOtherRiskSituations, operationIds: preId + ',783', type: 3 },) |
|
||||||
await addOperation({ |
|
||||||
parentId: preId, |
|
||||||
lcJudgmentRuleReq: rule, |
|
||||||
projectId: +sessionStorage.getItem('projectId'), |
|
||||||
startTime: sessionStorage.getItem('startTime') |
|
||||||
}) |
|
||||||
this.$emit('updateStep', step) |
|
||||||
} catch { (e) => { } } |
|
||||||
}, this.$refs)) |
|
||||||
}, |
|
||||||
}, |
|
||||||
} |
|
||||||
</script> |
|
||||||
<style lang='scss' scoped> |
|
||||||
.l-title { |
|
||||||
margin-bottom: 15px; |
|
||||||
font-size: 18px; |
|
||||||
font-weight: 600; |
|
||||||
} |
|
||||||
|
|
||||||
.line { |
|
||||||
margin: 20px 0; |
|
||||||
border-bottom: 1px dashed #d7d7d7; |
|
||||||
} |
|
||||||
</style> |
|
@ -1,314 +0,0 @@ |
|||||||
<!-- 等级评定 --> |
|
||||||
<template> |
|
||||||
<div> |
|
||||||
<el-row :gutter="20" style="margin: 0"> |
|
||||||
<el-form ref="form" :model="form" label-width="160px" :rules="rules"> |
|
||||||
<el-col :span="24"> |
|
||||||
<h6 class="l-title">等级评定</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="12"> |
|
||||||
<el-form-item label="盈利记录" required> |
|
||||||
<el-select v-model="form.profitRecord" placeholder="请选择" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt3" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="领导作风品行" required> |
|
||||||
<el-select v-model="form.leadershipStyleAndConduct" placeholder="请选择" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="领导经营管理" required> |
|
||||||
<el-select v-model="form.leadershipManagement" placeholder="请选择" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业发展前景" required> |
|
||||||
<el-select v-model="form.enterpriseDevelopmentProspects" placeholder="请选择" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt5" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="有无不良信用记录" required> |
|
||||||
<el-select v-model="form.haveAnyBadCreditRecords" placeholder="请选择" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="领导应变开拓" required> |
|
||||||
<el-select v-model="form.leadershipAdaptabilityAndDevelopment" placeholder="请选择" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="领导才干教育" required> |
|
||||||
<el-select v-model="form.leadershipEducation" placeholder="请选择" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业开发能力" required> |
|
||||||
<el-select v-model="form.enterpriseDevelopmentCapability" placeholder="请选择" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt4" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业信誉" required> |
|
||||||
<el-select v-model="form.corporateReputation" placeholder="请选择" style="width: 100%"> |
|
||||||
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="24"> |
|
||||||
<el-form-item label="其他风险情况"> |
|
||||||
<el-input v-model="form.gradeEvaluationOtherRiskSituations" type="textarea" maxlength="100"></el-input> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
</el-form> |
|
||||||
</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> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</el-dialog> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
<script> |
|
||||||
import { creditEvaluationDetails, addOperation, creditEvaluationInput } from '@/api/http' |
|
||||||
import { mapState } from 'vuex' |
|
||||||
export default { |
|
||||||
data () { |
|
||||||
return { |
|
||||||
opt1: [ |
|
||||||
{ |
|
||||||
id: 203, |
|
||||||
name: '有' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 204, |
|
||||||
name: '无' |
|
||||||
}, |
|
||||||
], |
|
||||||
opt2: [ |
|
||||||
{ |
|
||||||
id: 205, |
|
||||||
name: '优' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 206, |
|
||||||
name: '良' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 207, |
|
||||||
name: '不良' |
|
||||||
}, |
|
||||||
], |
|
||||||
opt3: [ |
|
||||||
{ |
|
||||||
id: 208, |
|
||||||
name: '本年盈利' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 209, |
|
||||||
name: '连续两年盈利' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 210, |
|
||||||
name: '连续三年盈利' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 211, |
|
||||||
name: '连续五年盈利' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 212, |
|
||||||
name: '本年亏损' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 213, |
|
||||||
name: '连续两年亏损' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 214, |
|
||||||
name: '连续三年亏损' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 215, |
|
||||||
name: '连续五年亏损' |
|
||||||
}, |
|
||||||
], |
|
||||||
opt4: [ |
|
||||||
{ |
|
||||||
id: 216, |
|
||||||
name: '业内优秀' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 217, |
|
||||||
name: '业内平均水平' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 218, |
|
||||||
name: '业内平均水平以下' |
|
||||||
}, |
|
||||||
], |
|
||||||
opt5: [ |
|
||||||
{ |
|
||||||
id: 219, |
|
||||||
name: '很有发展潜力' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 220, |
|
||||||
name: '待考察' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 221, |
|
||||||
name: '前景一般' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 222, |
|
||||||
name: '前景堪忧' |
|
||||||
}, |
|
||||||
], |
|
||||||
form: { |
|
||||||
profitRecord: 208, |
|
||||||
leadershipAdaptabilityAndDevelopment: 205, |
|
||||||
leadershipStyleAndConduct: 205, |
|
||||||
leadershipEducation: 203, |
|
||||||
leadershipManagement: 205, |
|
||||||
enterpriseDevelopmentCapability: 216, |
|
||||||
enterpriseDevelopmentProspects: 219, |
|
||||||
corporateReputation: 205, |
|
||||||
haveAnyBadCreditRecords: 204, |
|
||||||
gradeEvaluationOtherRiskSituations: '', |
|
||||||
}, |
|
||||||
originForm: {}, |
|
||||||
rules: { |
|
||||||
surveyDate: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择调查日期', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
}, |
|
||||||
|
|
||||||
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) { |
|
||||||
try { |
|
||||||
const { form } = this |
|
||||||
await creditEvaluationInput({ |
|
||||||
...this.creditIds, |
|
||||||
...form, |
|
||||||
}) |
|
||||||
|
|
||||||
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768' |
|
||||||
const rule = [ |
|
||||||
{ answerId: 784, emptyOne: 128, emptyTwo: form.profitRecord, operationIds: preId + ',784', type: 1 }, |
|
||||||
{ answerId: 785, emptyOne: 127, emptyTwo: form.leadershipAdaptabilityAndDevelopment, operationIds: preId + ',785', type: 1 }, |
|
||||||
{ answerId: 786, emptyOne: 127, emptyTwo: form.leadershipStyleAndConduct, operationIds: preId + ',786', type: 1 }, |
|
||||||
{ answerId: 787, emptyOne: 126, emptyTwo: form.leadershipEducation, operationIds: preId + ',787', type: 1 }, |
|
||||||
{ answerId: 788, emptyOne: 127, emptyTwo: form.leadershipManagement, operationIds: preId + ',788', type: 1 }, |
|
||||||
{ answerId: 789, emptyOne: 129, emptyTwo: form.enterpriseDevelopmentCapability, operationIds: preId + ',789', type: 1 }, |
|
||||||
{ answerId: 790, emptyOne: 130, emptyTwo: form.enterpriseDevelopmentProspects, operationIds: preId + ',790', type: 1 }, |
|
||||||
{ answerId: 791, emptyOne: 127, emptyTwo: form.corporateReputation, operationIds: preId + ',791', type: 1 }, |
|
||||||
{ answerId: 792, emptyOne: 126, emptyTwo: form.haveAnyBadCreditRecords, operationIds: preId + ',792', type: 1 }, |
|
||||||
] |
|
||||||
form.gradeEvaluationOtherRiskSituations && rule.push({ answerId: 793, emptyOne: 125, emptyTwo: form.gradeEvaluationOtherRiskSituations, operationIds: preId + ',793', type: 3 },) |
|
||||||
await addOperation({ |
|
||||||
parentId: preId, |
|
||||||
lcJudgmentRuleReq: rule, |
|
||||||
projectId: +sessionStorage.getItem('projectId'), |
|
||||||
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'; |
|
||||||
|
|
||||||
.l-title { |
|
||||||
margin-bottom: 15px; |
|
||||||
font-size: 18px; |
|
||||||
font-weight: 600; |
|
||||||
} |
|
||||||
|
|
||||||
.line { |
|
||||||
margin: 20px 0; |
|
||||||
border-bottom: 1px dashed #d7d7d7; |
|
||||||
} |
|
||||||
</style> |
|
@ -1,257 +0,0 @@ |
|||||||
<!-- 新建贷款申请 --> |
|
||||||
<template> |
|
||||||
<div class="wrap"> |
|
||||||
<div> |
|
||||||
<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> |
|
||||||
</div> |
|
||||||
<MyTitle :titleArr="['公司贷款', '新建贷款申请', text]" /> |
|
||||||
|
|
||||||
<ul v-if="active === '1'" class="steps"> |
|
||||||
<li v-for="(step, i) in steps" :key="i" :class="{ active: curStep === i }">{{ step }}</li> |
|
||||||
</ul> |
|
||||||
|
|
||||||
<div class="form-wrap"> |
|
||||||
<template v-if="active === '1'"> |
|
||||||
<Basic v-if="!curStep" :key="0" @updateStep="updateStep" /> |
|
||||||
<ImportReport v-else-if="curStep === 1" :key="1" @updateStep="updateStep" /> |
|
||||||
<PreLoan v-else-if="curStep === 2" :key="2" @updateStep="updateStep" /> |
|
||||||
<Rating v-else-if="curStep === 3" :key="3" @updateStep="updateStep" /> |
|
||||||
</template> |
|
||||||
<CreditApplication v-if="active === '2'" /> |
|
||||||
<template v-if="active === '3'"> |
|
||||||
<LoanApplication1 v-if="!curStep" @updateStep="updateStep" /> |
|
||||||
<LoanApplication2 v-else-if="curStep === 1" @updateStep="updateStep" /> |
|
||||||
</template> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</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' |
|
||||||
import Rating from './creditEvaluation/rating.vue' |
|
||||||
import CreditApplication from './creditApplication' |
|
||||||
import LoanApplication1 from './loanApplication/step1.vue' |
|
||||||
import LoanApplication2 from './loanApplication/step2.vue' |
|
||||||
import MyTitle from '@/components/myTitle' |
|
||||||
export default { |
|
||||||
components: { |
|
||||||
Basic, |
|
||||||
ImportReport, |
|
||||||
PreLoan, |
|
||||||
Rating, |
|
||||||
CreditApplication, |
|
||||||
LoanApplication1, |
|
||||||
LoanApplication2, |
|
||||||
MyTitle |
|
||||||
}, |
|
||||||
computed: { |
|
||||||
...mapState('system', ['creditIds']), |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
text: '', |
|
||||||
textObj: { |
|
||||||
'1': '信用评估', |
|
||||||
'2': '授信申请', |
|
||||||
'3': '贷款申请', |
|
||||||
}, |
|
||||||
visible: false, |
|
||||||
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] |
|
||||||
this.active = val |
|
||||||
}, |
|
||||||
updateStep (step) { |
|
||||||
this.curStep = step |
|
||||||
}, |
|
||||||
}, |
|
||||||
}; |
|
||||||
</script> |
|
||||||
|
|
||||||
<style lang="scss" scoped> |
|
||||||
.wrap { |
|
||||||
width: 100%; |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
height: calc(100vh - 118px); |
|
||||||
padding: 20px; |
|
||||||
overflow: auto; |
|
||||||
|
|
||||||
.nav { |
|
||||||
/deep/ .el-menu.el-menu--horizontal { |
|
||||||
border: 0; |
|
||||||
} |
|
||||||
|
|
||||||
/deep/ .el-menu--horizontal>.el-menu-item.is-active { |
|
||||||
border: 2px solid #568df2; |
|
||||||
border-radius: 10px; |
|
||||||
color: #000; |
|
||||||
} |
|
||||||
|
|
||||||
/deep/ .el-menu--horizontal>.el-menu-item { |
|
||||||
border: 2px solid transparent; |
|
||||||
border-radius: 10px; |
|
||||||
margin-right: 10px; |
|
||||||
height: 30px; |
|
||||||
line-height: 28px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.title { |
|
||||||
height: 60px; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
font-size: 20px; |
|
||||||
padding-left: 0px; |
|
||||||
margin-top: 10px; |
|
||||||
} |
|
||||||
|
|
||||||
.body { |
|
||||||
margin-top: 50px; |
|
||||||
overflow-y: auto; |
|
||||||
overflow-x: hidden; |
|
||||||
|
|
||||||
.idCard { |
|
||||||
border-radius: 5px; |
|
||||||
background: #cfddff; |
|
||||||
text-align: center; |
|
||||||
height: 40px; |
|
||||||
line-height: 40px; |
|
||||||
font-size: 18px; |
|
||||||
color: #6191ff; |
|
||||||
} |
|
||||||
|
|
||||||
.add { |
|
||||||
position: relative; |
|
||||||
|
|
||||||
&::after { |
|
||||||
content: ''; |
|
||||||
display: block; |
|
||||||
position: absolute; |
|
||||||
right: 3%; |
|
||||||
top: -4%; |
|
||||||
border: 1px dashed #cfddff; |
|
||||||
width: 88%; |
|
||||||
height: 268px; |
|
||||||
} |
|
||||||
|
|
||||||
.addBtn { |
|
||||||
position: absolute; |
|
||||||
left: 0; |
|
||||||
top: 50%; |
|
||||||
transform: translate(50%, -50%); |
|
||||||
font-size: 22px; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.popBody { |
|
||||||
min-height: 200px; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
|
|
||||||
.popBtns { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
.btn { |
|
||||||
width: 180px; |
|
||||||
border-radius: 10px; |
|
||||||
font-size: 18px; |
|
||||||
} |
|
||||||
|
|
||||||
.close { |
|
||||||
background: #cfdeff; |
|
||||||
color: #6191ff; |
|
||||||
} |
|
||||||
|
|
||||||
.sure { |
|
||||||
background: #6191ff; |
|
||||||
color: #fff; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.steps { |
|
||||||
display: flex; |
|
||||||
justify-content: center; |
|
||||||
margin-bottom: 20px; |
|
||||||
|
|
||||||
li { |
|
||||||
position: relative; |
|
||||||
width: 160px; |
|
||||||
padding: 6px 0; |
|
||||||
margin-right: 25px; |
|
||||||
text-align: center; |
|
||||||
font-size: 16px; |
|
||||||
color: #fff; |
|
||||||
background-color: #a7bdf5; |
|
||||||
|
|
||||||
&:after { |
|
||||||
content: ''; |
|
||||||
position: absolute; |
|
||||||
top: 0; |
|
||||||
right: -24px; |
|
||||||
border: 18px solid transparent; |
|
||||||
border-right-width: 12px; |
|
||||||
border-left: 12px solid #a7bdf5; |
|
||||||
} |
|
||||||
|
|
||||||
&.active { |
|
||||||
background-color: #5786fc; |
|
||||||
|
|
||||||
&:after { |
|
||||||
border-left-color: #5786fc; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.form-wrap { |
|
||||||
height: calc(100vh - 340px); |
|
||||||
overflow: auto; |
|
||||||
} |
|
||||||
</style> |
|
@ -1,215 +0,0 @@ |
|||||||
<!-- 贷款申请第一步 --> |
|
||||||
<template> |
|
||||||
<div> |
|
||||||
<el-row :gutter="20" style="margin: 0"> |
|
||||||
<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-input v-model="form.applicationNumber" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="证件类型"> |
|
||||||
<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="注册地址"> |
|
||||||
<el-input v-model="form.companyRegisteredAddress" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="法人证件号码"> |
|
||||||
<el-input v-model="form.corporateIdNumber" /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="客户名称"> |
|
||||||
<el-input v-model="form.customerName" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="代码证号"> |
|
||||||
<el-input v-model="form.corporateIdNumber" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="法人姓名"> |
|
||||||
<el-input v-model="form.corporateName" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="信用评级"> |
|
||||||
<el-input v-model="form.creditRating" /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
|
|
||||||
<el-col :span="24"> |
|
||||||
<h6 class="l-title">授信</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="授信金额"> |
|
||||||
<el-input v-model="form.creditAmount" disabled /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
|
|
||||||
<el-col :span="24"> |
|
||||||
<h6 class="l-title">贷款申请</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="授信年限" required> |
|
||||||
<el-select v-model="form.creditTermOne" placeholder="请选择"> |
|
||||||
<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="贷款申请金额" required> |
|
||||||
<el-input :value="form.loanApplicationAmount" placeholder="不大于授信金额" |
|
||||||
@input="val => ismoney(val, form, 'loanApplicationAmount')" ref="loanApplicationAmount" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="发放方式" required> |
|
||||||
<el-select v-model.trim="form.distributionMethod" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in Util.distributionMethods" :key="i" :label="item.name" :value="item.id"> |
|
||||||
</el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="年化利率"> |
|
||||||
<el-input value="3.2%" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="还款方式" required> |
|
||||||
<el-select v-model.trim="form.repaymentMethodOne" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in Util.repaymentMethods" :key="i" :label="item.name" :value="item.id"> |
|
||||||
</el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="申请日期" prop="loanApplicationDate" required> |
|
||||||
<el-date-picker v-model="form.loanApplicationDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" |
|
||||||
value-format="yyyy-MM-dd" ref="loanApplicationDate"> |
|
||||||
</el-date-picker> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
</el-form> |
|
||||||
</el-row> |
|
||||||
|
|
||||||
<div class="text-center m-t-20"> |
|
||||||
<el-button @click="next" type="primary" class="submitBtn" v-throttle>下一步</el-button> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
<script> |
|
||||||
import { ismoney } from '@/utils/utilFunction.js' |
|
||||||
import { loanApplicationDetails, addOperation, loanApplicationInput } from '@/api/http' |
|
||||||
import { mapMutations, mapState } from 'vuex' |
|
||||||
import Util from '@/libs/util' |
|
||||||
export default { |
|
||||||
data () { |
|
||||||
return { |
|
||||||
Util, |
|
||||||
form: { |
|
||||||
applicationNumber: '12802851701099', |
|
||||||
customerName: '袋鼠互联网科技有限公司', |
|
||||||
identificationType: 82, |
|
||||||
identificationNumber: '913403005685450862', |
|
||||||
companyRegisteredAddress: '广东省深圳市南山区前海一号2020室', |
|
||||||
corporateName: '丛小凤', |
|
||||||
corporateIdNumber: '913403005685450862', |
|
||||||
creditRating: 'AAAA', |
|
||||||
|
|
||||||
creditAmount: '12,000,000.00', |
|
||||||
creditTermOne: 231, |
|
||||||
loanApplicationAmount: '', |
|
||||||
repaymentMethodOne: 235, |
|
||||||
distributionMethod: 238, |
|
||||||
loanApplicationDate: '', |
|
||||||
}, |
|
||||||
} |
|
||||||
}, |
|
||||||
computed: { |
|
||||||
...mapState('system', ['creditIds']), |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
this.getDetail() |
|
||||||
}, |
|
||||||
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 |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
}, |
|
||||||
async next () { |
|
||||||
const { form } = this |
|
||||||
if (!form.loanApplicationAmount) return this.$message.error('请填写贷款申请金额!') |
|
||||||
if (+form.loanApplicationAmount > 12000000) return this.$message.error('贷款申请金额应不大于授信金额!') // 贷款申请金额不能大于授信金额(写死一千二百万) |
|
||||||
try { |
|
||||||
const { data } = await loanApplicationInput({ |
|
||||||
...this.$store.getters['system/commonIds'], |
|
||||||
...form, |
|
||||||
companyLoanId: this.creditIds.companyLoanId, |
|
||||||
}) |
|
||||||
|
|
||||||
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768' |
|
||||||
const rule = [ |
|
||||||
{ 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') |
|
||||||
}) |
|
||||||
// 缓存信用评估几个id |
|
||||||
this.setCreditIds({ |
|
||||||
companyLoanId: data.companyLoanId, // 顶部三个tab切换的公共id |
|
||||||
loanId: data.loanId, // 贷款申请的id |
|
||||||
}) |
|
||||||
this.$emit('updateStep', 1) |
|
||||||
} catch { (e) => { } } |
|
||||||
}, |
|
||||||
}, |
|
||||||
} |
|
||||||
</script> |
|
||||||
<style lang='scss' scoped> |
|
||||||
.l-title { |
|
||||||
margin-bottom: 15px; |
|
||||||
font-size: 18px; |
|
||||||
font-weight: 600; |
|
||||||
} |
|
||||||
|
|
||||||
.line { |
|
||||||
margin: 20px 0; |
|
||||||
border-bottom: 1px dashed #d7d7d7; |
|
||||||
} |
|
||||||
</style> |
|
@ -1,285 +0,0 @@ |
|||||||
<!-- 信用评估 --> |
|
||||||
<template> |
|
||||||
<div> |
|
||||||
<el-row :gutter="20" style="margin: 0"> |
|
||||||
<el-form ref="form" :model="form" :rules="rules" 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-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-date-picker v-model="form.valueDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" |
|
||||||
value-format="yyyy-MM-dd" @change="maturityDateCalc"></el-date-picker> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="计息方式"> |
|
||||||
<el-input value="按LPR浮动计息" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="执行利率"> |
|
||||||
<el-input value="3.2%" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="担保方式" prop="guaranteeMethod"> |
|
||||||
<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> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="利息总额"> |
|
||||||
<el-input v-model="form.totalInterestAmount" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="还款账号" prop="repaymentAccount"> |
|
||||||
<el-input v-model="form.repaymentAccount" /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="合同编号" prop="contractNo"> |
|
||||||
<el-input v-model="form.contractNo" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="授信期限"> |
|
||||||
<el-select v-model="form.creditTermTwo" placeholder="请选择"> |
|
||||||
<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-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> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="到期日期"> |
|
||||||
<el-date-picker v-model="form.expirationDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" |
|
||||||
value-format="yyyy-MM-dd" disabled></el-date-picker> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="基准利率" prop="baseInterestRate"> |
|
||||||
<el-input value="3.20%" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="逾期利率" prop="overdueInterestRate"> |
|
||||||
<el-input value="10%" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="还款方式" prop="repaymentMethodTwo"> |
|
||||||
<el-select v-model.trim="form.repaymentMethodTwo" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in Util.repaymentMethods" :key="i" :label="item.name" :value="item.id"> |
|
||||||
</el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="贷款金额"> |
|
||||||
<el-input v-model="form.loanAmount" @input="loanAmountInput" /> |
|
||||||
</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> |
|
||||||
</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 Util from '@/libs/util' |
|
||||||
import { mapMutations, mapState } from 'vuex' |
|
||||||
export default { |
|
||||||
data () { |
|
||||||
return { |
|
||||||
Util, |
|
||||||
step1: {}, |
|
||||||
timer: null, |
|
||||||
form: { |
|
||||||
valueDate: '', |
|
||||||
creditTermTwo: 231, |
|
||||||
loanTerm: 120, |
|
||||||
guaranteeMethod: 242, |
|
||||||
expirationDate: '', |
|
||||||
totalInterestAmount: '', |
|
||||||
loanAmount: '', |
|
||||||
repaymentMethodTwo: '', |
|
||||||
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) { |
|
||||||
// 第一步填写的贷款金额和还款方式要在这个第二步回显,并且修改后不会影响第一步 |
|
||||||
const res = await loanApplicationDetails({ |
|
||||||
companyLoanId: id |
|
||||||
}) |
|
||||||
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, |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
}, |
|
||||||
// 到期日期计算 |
|
||||||
maturityDateCalc () { |
|
||||||
const { valueDate, loanTerm } = this.form |
|
||||||
if (valueDate && loanTerm) { |
|
||||||
const date = new Date(valueDate) |
|
||||||
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 () { |
|
||||||
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, |
|
||||||
...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: 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 }, |
|
||||||
{ answerId: 828, emptyOne: 139, emptyTwo: form.guaranteeMethod, operationIds: preId + ',828', type: 1 }, |
|
||||||
{ answerId: 822, emptyOne: 135, emptyTwo: form.repaymentMethodTwo, operationIds: preId + ',822', type: 1 }, |
|
||||||
{ answerId: 832, emptyOne: 125, emptyTwo: form.repaymentAccount, operationIds: preId + ',832', type: 1 }, |
|
||||||
] |
|
||||||
|
|
||||||
form.loanAmount && rule.push({ answerId: 831, emptyOne: 125, emptyTwo: form.loanAmount, operationIds: preId + ',831', type: 1 }) |
|
||||||
await addOperation({ |
|
||||||
parentId: preId, |
|
||||||
lcJudgmentRuleReq: rule, |
|
||||||
projectId: +sessionStorage.getItem('projectId'), |
|
||||||
startTime: sessionStorage.getItem('startTime') |
|
||||||
}) |
|
||||||
this.successVisible = true |
|
||||||
} catch { (e) => { } } |
|
||||||
}, |
|
||||||
}, |
|
||||||
} |
|
||||||
</script> |
|
||||||
<style lang='scss' scoped> |
|
||||||
@import '@/styles/dialog.scss'; |
|
||||||
|
|
||||||
.l-title { |
|
||||||
margin-bottom: 15px; |
|
||||||
font-size: 18px; |
|
||||||
font-weight: 600; |
|
||||||
} |
|
||||||
|
|
||||||
.line { |
|
||||||
margin: 20px 0; |
|
||||||
border-bottom: 1px dashed #d7d7d7; |
|
||||||
} |
|
||||||
</style> |
|
@ -1,302 +0,0 @@ |
|||||||
<!-- 公司贷款详情 --> |
|
||||||
<template> |
|
||||||
<div class="wrap"> |
|
||||||
<MyTitle :titleArr="['公司贷款', '贷款详情']" /> |
|
||||||
<el-row :gutter="20" style="margin: 0"> |
|
||||||
<el-form ref="form" :model="form" label-width="120px" disabled> |
|
||||||
<el-col :span="24"> |
|
||||||
<h6 class="l-title">信用评估</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="账号"> |
|
||||||
<el-input v-model="form.applicationAccount" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="证件类型"> |
|
||||||
<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="注册地址"> |
|
||||||
<el-input v-model="form.companyRegisteredAddress" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="法人证件号码"> |
|
||||||
<el-input v-model="form.corporateIdNumber" /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<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> |
|
||||||
<el-form-item label="法人姓名"> |
|
||||||
<el-input v-model="form.corporateName" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="信用评级"> |
|
||||||
<el-input v-model="bankLoanApplication.creditRating" /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
|
|
||||||
<el-col :span="24"> |
|
||||||
<div class="line"></div> |
|
||||||
<h6 class="l-title">授信</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="授信金额"> |
|
||||||
<el-input v-model="bankLoanApplication.creditAmount" disabled /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
|
|
||||||
<el-col :span="24"> |
|
||||||
<div class="line"></div> |
|
||||||
<h6 class="l-title">贷款申请</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="授信年限"> |
|
||||||
<el-select v-model="bankLoanApplication.creditTermOne" placeholder="请选择"> |
|
||||||
<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="还款方式"> |
|
||||||
<el-select v-model.trim="bankLoanApplication.repaymentMethodOne" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in Util.repaymentMethods" :key="i" :label="item.name" :value="item.id"> |
|
||||||
</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="年化利率"> |
|
||||||
<el-input value="3.2%" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="发放方式"> |
|
||||||
<el-select v-model.trim="bankLoanApplication.distributionMethod" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in Util.distributionMethods" :key="i" :label="item.name" :value="item.id"> |
|
||||||
</el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
|
|
||||||
<el-col :span="24"> |
|
||||||
<div class="line"></div> |
|
||||||
<h6 class="l-title">贷款合同录入</h6> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="贷款类型"> |
|
||||||
<el-select value="企业经营贷款" placeholder="请选择"> |
|
||||||
<el-option value="企业经营贷款"></el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="授信金额"> |
|
||||||
<el-input v-model="bankLoanApplication.creditAmount" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="起息日期" prop="valueDate"> |
|
||||||
<el-date-picker v-model="bankLoanApplication.valueDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" |
|
||||||
value-format="yyyy-MM-dd"></el-date-picker> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="计息方式"> |
|
||||||
<el-input value="按LPR浮动计息" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="执行利率" prop="executedInterestRate"> |
|
||||||
<el-input value="3.2%" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="担保方式"> |
|
||||||
<el-select v-model="bankLoanApplication.guaranteeMethod" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in Util.guaranteeMethods" :key="i" :label="item.name" |
|
||||||
:value="item.id"></el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="利息总额"> |
|
||||||
<el-input v-model="bankLoanApplication.totalInterestAmount" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="还款账号"> |
|
||||||
<el-input v-model="bankLoanApplication.repaymentAccount" /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="合同编号" prop="contractNo"> |
|
||||||
<el-input v-model="bankLoanApplication.contractNumber" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="授信期限"> |
|
||||||
<el-select v-model="bankLoanApplication.creditTermTwo" placeholder="请选择"> |
|
||||||
<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"> |
|
||||||
<el-select v-model="bankLoanApplication.loanTerm" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in Util.loanTerms" :key="i" :label="item.name" :value="item.id"></el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="到期日期"> |
|
||||||
<el-date-picker v-model="bankLoanApplication.expirationDate" type="date" placeholder="选择日期" |
|
||||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" disabled></el-date-picker> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="基准利率" prop="baseInterestRate"> |
|
||||||
<el-input value="3.20%" disabled /> |
|
||||||
</el-form-item> |
|
||||||
<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-option v-for="(item, i) in Util.repaymentMethods" :key="i" :label="item.name" :value="item.id"> |
|
||||||
</el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="贷款金额"> |
|
||||||
<el-input v-model="bankLoanApplication.loanAmount" /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
</el-form> |
|
||||||
</el-row> |
|
||||||
|
|
||||||
<div class="text-center"> |
|
||||||
<el-button v-if="!bankCompanyLoans.loanDate" @click="showLoan" type="primary" class="submitBtn" |
|
||||||
v-throttle>放款</el-button> |
|
||||||
<el-button @click="$router.back()" type="primary" class="submitBtn" v-throttle>关闭</el-button> |
|
||||||
</div> |
|
||||||
|
|
||||||
<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> |
|
||||||
<span slot="footer" class="dialog-footer"> |
|
||||||
<el-button @click="loanVisible = false">取消</el-button> |
|
||||||
<el-button type="primary" @click="loanSubmit">确定</el-button> |
|
||||||
</span> |
|
||||||
</el-dialog> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
<script> |
|
||||||
import { loanDisbursement, companyLoanDetails, addOperation } from '@/api/http' |
|
||||||
import MyTitle from '@/components/myTitle' |
|
||||||
import Util from '@/libs/util' |
|
||||||
export default { |
|
||||||
components: { |
|
||||||
MyTitle, |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
Util, |
|
||||||
id: this.$route.query.id, |
|
||||||
form: { |
|
||||||
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: '', |
|
||||||
}, |
|
||||||
loanDate: '', |
|
||||||
loanVisible: false, |
|
||||||
bankCompanyLoans: {}, |
|
||||||
bankLoanApplication: {}, |
|
||||||
} |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
this.getDetail() |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
// 查询详情 |
|
||||||
async getDetail () { |
|
||||||
if (this.id) { |
|
||||||
// 查看及展期 |
|
||||||
const { data } = await companyLoanDetails(this.id) |
|
||||||
|
|
||||||
const eva = data.bankCreditEvaluation || {} |
|
||||||
if (eva.identificationType) eva.identificationType = +eva.identificationType |
|
||||||
this.form = eva || {} |
|
||||||
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 |
|
||||||
if (app.creditTermOne) app.creditTermOne = +app.creditTermOne |
|
||||||
if (app.creditTermTwo) app.creditTermTwo = +app.creditTermTwo |
|
||||||
|
|
||||||
this.bankLoanApplication = app |
|
||||||
} |
|
||||||
}, |
|
||||||
// 展示放款弹框 |
|
||||||
showLoan () { |
|
||||||
this.loanVisible = true |
|
||||||
}, |
|
||||||
// 放款 |
|
||||||
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, |
|
||||||
lcJudgmentRuleReq: [{ answerId: 838, emptyOne: '', emptyTwo: '', operationIds: preId + ',838', type: '' },], |
|
||||||
projectId: +sessionStorage.getItem('projectId'), |
|
||||||
startTime: sessionStorage.getItem('startTime') |
|
||||||
}) |
|
||||||
this.loanVisible = false |
|
||||||
this.getDetail() |
|
||||||
} |
|
||||||
} catch (e) { } |
|
||||||
}, |
|
||||||
}, |
|
||||||
} |
|
||||||
</script> |
|
||||||
<style lang='scss' scoped> |
|
||||||
@import '@/styles/dialog.scss'; |
|
||||||
|
|
||||||
.wrap { |
|
||||||
width: 100%; |
|
||||||
height: calc(100vh - 118px); |
|
||||||
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,112 +0,0 @@ |
|||||||
<template> |
|
||||||
<!-- 贷款放款 --> |
|
||||||
<div class="wrap"> |
|
||||||
<my-title :titleArr="['公司贷款', '贷款放款']" /> |
|
||||||
|
|
||||||
<div style="width: 300px;margin-bottom: 20px;"> |
|
||||||
<el-input v-model="keyword" placeholder="请输入客户姓名" clearable /> |
|
||||||
</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="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="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> |
|
||||||
</template> |
|
||||||
</el-table-column> |
|
||||||
</el-table> |
|
||||||
|
|
||||||
<div class="pagination"> |
|
||||||
<el-pagination background layout="total, prev, pager, next" :current-page="page" |
|
||||||
@current-change="handleCurrentChange" :total="total"></el-pagination> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script> |
|
||||||
import { headerCellStyle } from '@/assets/js/myConfig' |
|
||||||
import { companyLoanList } from '@/api/http'; |
|
||||||
import MyTitle from '@/components/myTitle' |
|
||||||
export default { |
|
||||||
components: { |
|
||||||
MyTitle, |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
headerCellStyle, |
|
||||||
searchTimer: null, |
|
||||||
keyword: '', |
|
||||||
list: [], |
|
||||||
page: 1, |
|
||||||
pageSize: 10, |
|
||||||
total: 0, |
|
||||||
} |
|
||||||
}, |
|
||||||
watch: { |
|
||||||
keyword: function (val) { |
|
||||||
clearTimeout(this.searchTimer); |
|
||||||
this.searchTimer = setTimeout(() => { |
|
||||||
this.initData() |
|
||||||
}, 500) |
|
||||||
}, |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
this.initData() |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
async getData () { |
|
||||||
const { data } = await companyLoanList({ |
|
||||||
...this.$store.getters['system/commonIds'], |
|
||||||
pageNum: this.page, |
|
||||||
pageSize: this.pageSize, |
|
||||||
searchContent: this.keyword, |
|
||||||
typeId: 2 |
|
||||||
}) |
|
||||||
this.list = data.page.records |
|
||||||
this.total = data.page.total |
|
||||||
}, |
|
||||||
initData () { |
|
||||||
this.page = 1 |
|
||||||
this.getData() |
|
||||||
}, |
|
||||||
handleCurrentChange (val) { |
|
||||||
this.page = val |
|
||||||
this.getData() |
|
||||||
}, |
|
||||||
// 详情 |
|
||||||
toDetail (row) { |
|
||||||
// 缓存信用评估几个id |
|
||||||
this.$store.commit('system/setCreditIds', (row ? { |
|
||||||
companyLoanId: row.companyLoanId, // 顶部三个tab切换的公共id |
|
||||||
} : {})) |
|
||||||
this.$router.push(row.loanApplicationAmount ? `/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}` : '/counter/list/manage/corporateLoans-apply') |
|
||||||
}, |
|
||||||
} |
|
||||||
}; |
|
||||||
</script> |
|
||||||
|
|
||||||
<style lang="scss" scoped> |
|
||||||
@import '@/assets/css/tablebg.scss'; |
|
||||||
|
|
||||||
.wrap { |
|
||||||
width: 100%; |
|
||||||
max-height: calc(100vh - 118px); |
|
||||||
padding: 24px; |
|
||||||
overflow: auto; |
|
||||||
} |
|
||||||
</style> |
|
@ -1,405 +0,0 @@ |
|||||||
<template> |
|
||||||
<!-- 贷后管理 --> |
|
||||||
<div class="wrap"> |
|
||||||
<my-title :titleArr="['公司贷款', '贷后管理']" /> |
|
||||||
|
|
||||||
<div style="width: 300px;margin-bottom: 20px;"> |
|
||||||
<el-input v-model="keyword" placeholder="请输入客户姓名" clearable /> |
|
||||||
</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="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 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.badDebtRecognition" @click="badDebt(scope.row)" size="small">呆账认定</el-button> |
|
||||||
</template> |
|
||||||
</el-table-column> |
|
||||||
</el-table> |
|
||||||
|
|
||||||
<div class="pagination"> |
|
||||||
<el-pagination background layout="total, prev, pager, next" :current-page="page" |
|
||||||
@current-change="handleCurrentChange" :total="total"></el-pagination> |
|
||||||
</div> |
|
||||||
|
|
||||||
<el-dialog :visible="visible" append-to-body style="z-index: 6000;" :close-on-click-modal="true" :show-close="false" |
|
||||||
custom-class="dia"> |
|
||||||
<div class="data-dia23"> |
|
||||||
<div slot="title" class="dia-header"> |
|
||||||
<div class="data-title">提示</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="popBody"> |
|
||||||
<p v-if="curMsg >= 0" class="text-lg" style="color: #333">{{ msgs[curMsg] }}</p> |
|
||||||
|
|
||||||
<el-row v-else style="width: 100%"> |
|
||||||
<el-form class="dia-form" label-width="130px" label-suffix=":"> |
|
||||||
<el-col :span="12"> |
|
||||||
<el-form-item v-if="curType === 5" label="认定日期"> |
|
||||||
<p class="text">{{ today }}</p> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="客户名称"> |
|
||||||
<p class="text">{{ curRow.customerName }}</p> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="欠款金额"> |
|
||||||
<p class="text">{{ curRow.arrearsAmount || 0 }}</p> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item v-if="curType === 4" label="催收金额"> |
|
||||||
<p class="text">{{ curRow.arrearsAmount || 0 }}</p> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="12"> |
|
||||||
<el-form-item label="贷款编号"> |
|
||||||
<p class="text">{{ curRow.applicationNumber }}</p> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="催收通知书编号"> |
|
||||||
<p class="text">A012346156281</p> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
</el-form> |
|
||||||
</el-row> |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="popBtns"> |
|
||||||
<el-button v-if="curMsg < 2" class="close btn hover:bg-blue-100 " @click="visible = false">取 消</el-button> |
|
||||||
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="msgSubmit">确 定</el-button> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</el-dialog> |
|
||||||
|
|
||||||
<el-dialog :visible="postLoanVisible" append-to-body style="z-index: 6000;" :close-on-click-modal="true" |
|
||||||
:show-close="false" custom-class="dia postLoanDia"> |
|
||||||
<div class="data-dia23"> |
|
||||||
<div slot="title" class="dia-header"> |
|
||||||
<div class="data-title">贷后调查</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<h6>调查日期:{{ today }}</h6> |
|
||||||
<el-row style="width: 100%"> |
|
||||||
<el-form label-width="130px" label-suffix=":" label-position="top"> |
|
||||||
<el-col :span="24"> |
|
||||||
<el-form-item label="客户基本状态变化" required> |
|
||||||
<el-input type="textarea" :rows="3" size="small" maxlength="100" v-model="form.stateChange" /> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="12"> |
|
||||||
<el-form-item label="信贷业务和还本付息情况变化" required> |
|
||||||
<el-select v-model="form.changesInSituation" size="small" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in opt1" :label="item.name" :value="item.id" :key="i"> |
|
||||||
</el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="偿债能力" required> |
|
||||||
<el-select v-model="form.debtPayingAbility" size="small" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in opt3" :label="item.name" :value="item.id" :key="i"> |
|
||||||
</el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="担保状况不利变化" required> |
|
||||||
<el-select v-model="form.adverseChanges" size="small" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in opt1" :label="item.name" :value="item.id" :key="i"> |
|
||||||
</el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :offset="1" :span="11"> |
|
||||||
<el-form-item label="经营状况" required> |
|
||||||
<el-select v-model="form.businessStatus" size="small" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in opt2" :label="item.name" :value="item.id" :key="i"> |
|
||||||
</el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="信用状况" required> |
|
||||||
<el-select v-model="form.creditStatus" size="small" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in opt2" :label="item.name" :value="item.id" :key="i"> |
|
||||||
</el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="五级分类" required> |
|
||||||
<el-select v-model="form.fiveLevelClassification" size="small" placeholder="请选择"> |
|
||||||
<el-option v-for="(item, i) in opt4" :label="item.name" :value="item.id" :key="i"> |
|
||||||
</el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="24"> |
|
||||||
<el-form-item label="结论 建议"> |
|
||||||
<el-input type="textarea" :rows="3" size="small" maxlength="100" |
|
||||||
v-model="form.conclusionAndSuggestions"> |
|
||||||
</el-input> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
</el-form> |
|
||||||
</el-row> |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="popBtns"> |
|
||||||
<el-button class="close btn hover:bg-blue-100 " @click="postLoanVisible = false">取 消</el-button> |
|
||||||
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="postLoanSubmit">确 定</el-button> |
|
||||||
</div> |
|
||||||
</el-dialog> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script> |
|
||||||
import { headerCellStyle } from '@/assets/js/myConfig' |
|
||||||
import { companyLoanList, loanCollection, nonPerformingLoans, badDebtRecognition, postLoanInvestigationInput, addOperation } from '@/api/http'; |
|
||||||
import MyTitle from '@/components/myTitle' |
|
||||||
import Util from '@/libs/util' |
|
||||||
export default { |
|
||||||
components: { |
|
||||||
MyTitle, |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
headerCellStyle, |
|
||||||
searchTimer: null, |
|
||||||
keyword: '', |
|
||||||
list: [], |
|
||||||
page: 1, |
|
||||||
pageSize: 10, |
|
||||||
total: 0, |
|
||||||
today: Util.formatDate('yyyy-MM-dd', new Date()), |
|
||||||
msgs: [ |
|
||||||
'向贷款人预留各渠道联系方式发送催收信息', |
|
||||||
'确认提交吗?', |
|
||||||
'已成功向贷款人发起催收提醒!', |
|
||||||
'贷后调查提交成功!', |
|
||||||
'不良贷款提交成功!', |
|
||||||
'呆账认定提交成功!', |
|
||||||
], |
|
||||||
visible: false, |
|
||||||
curMsg: 0, |
|
||||||
curType: 3, |
|
||||||
curRow: {}, |
|
||||||
|
|
||||||
postLoanVisible: false, |
|
||||||
selects: [], |
|
||||||
originForm: {}, |
|
||||||
form: { |
|
||||||
stateChange: '', |
|
||||||
changesInSituation: 203, |
|
||||||
debtPayingAbility: 1, |
|
||||||
adverseChanges: 203, |
|
||||||
businessStatus: 205, |
|
||||||
creditStatus: 205, |
|
||||||
fiveLevelClassification: 1, |
|
||||||
conclusionAndSuggestions: '', |
|
||||||
}, |
|
||||||
opt1: [ |
|
||||||
{ |
|
||||||
id: 203, |
|
||||||
name: '有' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 204, |
|
||||||
name: '无' |
|
||||||
}, |
|
||||||
], |
|
||||||
opt2: [ |
|
||||||
{ |
|
||||||
id: 205, |
|
||||||
name: '优' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 206, |
|
||||||
name: '良' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 207, |
|
||||||
name: '差' |
|
||||||
}, |
|
||||||
], |
|
||||||
opt3: [ |
|
||||||
{ |
|
||||||
id: 1, |
|
||||||
name: '能按期偿还' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 2, |
|
||||||
name: '不能按期偿还' |
|
||||||
}, |
|
||||||
], |
|
||||||
opt4: [ |
|
||||||
{ |
|
||||||
id: 1, |
|
||||||
name: '正常贷款' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 2, |
|
||||||
name: '关注贷款' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 3, |
|
||||||
name: '次级贷款' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 4, |
|
||||||
name: '可疑贷款' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 5, |
|
||||||
name: '损失贷款' |
|
||||||
}, |
|
||||||
], |
|
||||||
curRow: {}, |
|
||||||
} |
|
||||||
}, |
|
||||||
watch: { |
|
||||||
keyword: function (val) { |
|
||||||
clearTimeout(this.searchTimer); |
|
||||||
this.searchTimer = setTimeout(() => { |
|
||||||
this.initData() |
|
||||||
}, 500) |
|
||||||
}, |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
this.originForm = JSON.parse(JSON.stringify(this.form)) |
|
||||||
this.initData() |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
async getData () { |
|
||||||
const { data } = await companyLoanList({ |
|
||||||
...this.$store.getters['system/commonIds'], |
|
||||||
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.total = data.page.total |
|
||||||
}, |
|
||||||
initData () { |
|
||||||
this.page = 1 |
|
||||||
this.getData() |
|
||||||
}, |
|
||||||
handleCurrentChange (val) { |
|
||||||
this.page = val |
|
||||||
this.getData() |
|
||||||
}, |
|
||||||
// 催收 |
|
||||||
collection (row) { |
|
||||||
this.curRow = row |
|
||||||
this.visible = true |
|
||||||
this.curMsg = 0 |
|
||||||
}, |
|
||||||
// 贷后调查 |
|
||||||
postLoan (row) { |
|
||||||
this.form = JSON.parse(JSON.stringify(this.originForm)) |
|
||||||
this.curRow = row |
|
||||||
this.postLoanVisible = true |
|
||||||
}, |
|
||||||
// 贷后调查提交 |
|
||||||
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 |
|
||||||
}, |
|
||||||
|
|
||||||
// 不良贷款 |
|
||||||
npl (row) { |
|
||||||
this.curRow = row |
|
||||||
this.curType = 4 |
|
||||||
this.curRow = row |
|
||||||
this.visible = true |
|
||||||
this.curMsg = -2 |
|
||||||
}, |
|
||||||
// 呆账认定 |
|
||||||
badDebt (row) { |
|
||||||
this.curRow = row |
|
||||||
this.curType = 5 |
|
||||||
this.curRow = row |
|
||||||
this.visible = true |
|
||||||
this.curMsg = -1 |
|
||||||
}, |
|
||||||
async msgSubmit () { |
|
||||||
if (!this.curMsg) { |
|
||||||
// 催收提交 |
|
||||||
await loanCollection({ |
|
||||||
companyLoanId: this.curRow.companyLoanId |
|
||||||
}) |
|
||||||
this.getData() |
|
||||||
this.curMsg = 2 |
|
||||||
this.submitPoint(840) |
|
||||||
} else if (this.curMsg < 0) { |
|
||||||
this.curMsg = 1 |
|
||||||
} else if (this.curMsg === 1) { |
|
||||||
this.curMsg = this.curType |
|
||||||
if (this.curType === 4) { |
|
||||||
// 不良贷款提交 |
|
||||||
await nonPerformingLoans({ |
|
||||||
companyLoanId: this.curRow.companyLoanId |
|
||||||
}) |
|
||||||
this.submitPoint(842) |
|
||||||
} else { |
|
||||||
// 呆账认定提交 |
|
||||||
await badDebtRecognition({ |
|
||||||
companyLoanId: this.curRow.companyLoanId |
|
||||||
}) |
|
||||||
this.submitPoint(843) |
|
||||||
} |
|
||||||
this.getData() |
|
||||||
} else { |
|
||||||
this.visible = false |
|
||||||
} |
|
||||||
}, |
|
||||||
async submitPoint (id) { |
|
||||||
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768' |
|
||||||
await addOperation({ |
|
||||||
parentId: preId, |
|
||||||
lcJudgmentRuleReq: [{ answerId: id, emptyOne: '', emptyTwo: '', operationIds: `${preId},${id}`, type: '' },], |
|
||||||
projectId: +sessionStorage.getItem('projectId'), |
|
||||||
startTime: sessionStorage.getItem('startTime') |
|
||||||
}) |
|
||||||
}, |
|
||||||
}, |
|
||||||
}; |
|
||||||
</script> |
|
||||||
|
|
||||||
<style lang="scss" scoped> |
|
||||||
@import '@/assets/css/tablebg.scss'; |
|
||||||
@import '@/styles/dialog.scss'; |
|
||||||
|
|
||||||
.wrap { |
|
||||||
width: 100%; |
|
||||||
max-height: calc(100vh - 118px); |
|
||||||
padding: 24px; |
|
||||||
overflow: auto; |
|
||||||
} |
|
||||||
|
|
||||||
/deep/.postLoanDia { |
|
||||||
.el-form-item__label { |
|
||||||
padding-bottom: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
</style> |
|
@ -1,358 +0,0 @@ |
|||||||
<template> |
|
||||||
<!-- 贷款还款 --> |
|
||||||
<div class="wrap"> |
|
||||||
<my-title :titleArr="['公司贷款', '贷款还款']" /> |
|
||||||
|
|
||||||
<div style="width: 300px;margin-bottom: 20px;"> |
|
||||||
<el-input v-model="keyword" placeholder="请输入客户姓名" clearable /> |
|
||||||
</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="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 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> |
|
||||||
<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> |
|
||||||
</template> |
|
||||||
</template> |
|
||||||
</el-table-column> |
|
||||||
</el-table> |
|
||||||
|
|
||||||
<div class="pagination"> |
|
||||||
<el-pagination background layout="total, prev, pager, next" :current-page="page" |
|
||||||
@current-change="handleCurrentChange" :total="total"></el-pagination> |
|
||||||
</div> |
|
||||||
|
|
||||||
<el-dialog title="请选择展期期限" :visible.sync="extensionVisible" width="300px" z-index="6000" :append-to-body="true"> |
|
||||||
<el-select v-model="extensionPeriod" placeholder="请选择" size="small" style="width: 100%;"> |
|
||||||
<el-option v-for="(item, i) in extensions" :key="i" :label="item.name" :value="item.id"></el-option> |
|
||||||
</el-select> |
|
||||||
|
|
||||||
<span slot="footer" class="dialog-footer"> |
|
||||||
<el-button @click="extensionVisible = false">取消</el-button> |
|
||||||
<el-button type="primary" @click="extensionSubmit">确定</el-button> |
|
||||||
</span> |
|
||||||
</el-dialog> |
|
||||||
|
|
||||||
<el-dialog title="还款计划" :visible.sync="repaymentVisible" width="1000px" z-index="6000" :append-to-body="true"> |
|
||||||
<div class="flex j-between a-center m-b-20"> |
|
||||||
<el-form class="filter-form" label-width="90px" inline> |
|
||||||
<el-form-item label="还款周期"> |
|
||||||
<el-date-picker placeholder="请选择还款周期" v-model="date" align="right" unlink-panels type="daterange" |
|
||||||
size="small" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" |
|
||||||
clearable></el-date-picker> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="还款状态"> |
|
||||||
<el-select v-model="form.status" placeholder="请选择" size="small" clearable @change="initRepayment"> |
|
||||||
<el-option value="待还款"></el-option> |
|
||||||
<el-option value="已还款"></el-option> |
|
||||||
<el-option value="逾期"></el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
</el-form> |
|
||||||
<div> |
|
||||||
<el-button @click="batchRepayment('已还款')" size="small" type="primary">批量还款</el-button> |
|
||||||
<el-button @click="batchRepayment('逾期')" size="small" type="primary">批量逾期</el-button> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
<el-table ref="repayments" :data="repayments" stripe header-align="center" |
|
||||||
@selection-change="handleSelectionChangeRepayment" row-key="id"> |
|
||||||
<el-table-column type="selection" width="55" align="center" :reserve-selection="true" |
|
||||||
:selectable="checkAble"></el-table-column> |
|
||||||
<el-table-column type="index" width="60" label="序号" align="center"></el-table-column> |
|
||||||
<el-table-column prop="contractAmount" label="还款周期" align="center"> |
|
||||||
<template slot-scope="scope"> |
|
||||||
{{ scope.row.periodStart + '~' + scope.row.periodEnd }} |
|
||||||
</template> |
|
||||||
</el-table-column> |
|
||||||
<el-table-column prop="amountDue" label="应还款" align="center"></el-table-column> |
|
||||||
<el-table-column prop="status" label="还款状态" align="center"> |
|
||||||
<template slot-scope="scope"> |
|
||||||
<p :class="{ 'text-red': scope.row.status === '逾期' }">{{ scope.row.status }}</p> |
|
||||||
</template> |
|
||||||
</el-table-column> |
|
||||||
<el-table-column label="操作" align="center" width="150"> |
|
||||||
<template v-if="scope.row.status !== '已还款'" slot-scope="scope"> |
|
||||||
<el-button @click="handleRepayment(scope.row, '已还款')" size="small">还款</el-button> |
|
||||||
<el-button @click="handleRepayment(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="pageRepayment" |
|
||||||
@current-change="handleCurrentChangePayment" :total="totalRepayment"></el-pagination> |
|
||||||
</div> |
|
||||||
</el-dialog> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script> |
|
||||||
import { headerCellStyle } from '@/assets/js/myConfig' |
|
||||||
import { companyLoanList, addExtensionPeriod, repaymentPlanCompany, batchProcessingCompany, addOperation } from '@/api/http'; |
|
||||||
import MyTitle from '@/components/myTitle' |
|
||||||
export default { |
|
||||||
name: 'index', |
|
||||||
components: { |
|
||||||
MyTitle, |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
headerCellStyle, |
|
||||||
searchTimer: null, |
|
||||||
keyword: '', |
|
||||||
list: [], |
|
||||||
page: 1, |
|
||||||
pageSize: 10, |
|
||||||
total: 0, |
|
||||||
|
|
||||||
curRow: {}, |
|
||||||
extensionVisible: false, |
|
||||||
extensionPeriod: 1, |
|
||||||
extensions: [ |
|
||||||
{ |
|
||||||
id: 1, |
|
||||||
name: '1个月' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 2, |
|
||||||
name: '2个月' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 3, |
|
||||||
name: '3个月' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 4, |
|
||||||
name: '4个月' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 5, |
|
||||||
name: '5个月' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 6, |
|
||||||
name: '6个月' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 7, |
|
||||||
name: '7个月' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 8, |
|
||||||
name: '8个月' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 9, |
|
||||||
name: '9个月' |
|
||||||
}, |
|
||||||
{ |
|
||||||
id: 10, |
|
||||||
name: '10个月' |
|
||||||
}, |
|
||||||
], |
|
||||||
|
|
||||||
repaymentVisible: false, |
|
||||||
repayments: [], |
|
||||||
pageRepayment: 1, |
|
||||||
pageSizeRepayment: 10, |
|
||||||
totalRepayment: 0, |
|
||||||
multipleSelection: [], |
|
||||||
date: [], |
|
||||||
form: { |
|
||||||
periodEnd: '', |
|
||||||
periodStart: '', |
|
||||||
status: '', |
|
||||||
}, |
|
||||||
curRow: {}, |
|
||||||
} |
|
||||||
}, |
|
||||||
watch: { |
|
||||||
keyword: function (val) { |
|
||||||
clearTimeout(this.searchTimer); |
|
||||||
this.searchTimer = setTimeout(() => { |
|
||||||
this.initData() |
|
||||||
}, 500) |
|
||||||
}, |
|
||||||
date: function (val) { |
|
||||||
if (val) { |
|
||||||
this.form.periodStart = val[0] |
|
||||||
this.form.periodEnd = val[1] |
|
||||||
} else { |
|
||||||
this.form.periodStart = '' |
|
||||||
this.form.periodEnd = '' |
|
||||||
} |
|
||||||
this.initRepayment(); |
|
||||||
}, |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
this.initData() |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
async getData () { |
|
||||||
const { data } = await companyLoanList({ |
|
||||||
...this.$store.getters['system/commonIds'], |
|
||||||
pageNum: this.page, |
|
||||||
pageSize: this.pageSize, |
|
||||||
searchContent: this.keyword, |
|
||||||
typeId: 3 |
|
||||||
}) |
|
||||||
this.list = data.page.records |
|
||||||
this.total = data.page.total |
|
||||||
}, |
|
||||||
initData () { |
|
||||||
this.page = 1 |
|
||||||
this.getData() |
|
||||||
}, |
|
||||||
handleCurrentChange (val) { |
|
||||||
this.page = val |
|
||||||
this.getData() |
|
||||||
}, |
|
||||||
// 详情 |
|
||||||
toDetail (row) { |
|
||||||
// 缓存信用评估几个id |
|
||||||
this.$store.commit('system/setCreditIds', (row ? { |
|
||||||
companyLoanId: row.companyLoanId, // 顶部三个tab切换的公共id |
|
||||||
} : {})) |
|
||||||
this.$router.push(row.loanAmount ? `/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}` : '/counter/list/manage/corporateLoans-apply') |
|
||||||
}, |
|
||||||
// 展示展期弹框 |
|
||||||
showExtension (row) { |
|
||||||
this.curRow = row |
|
||||||
this.extensionVisible = true |
|
||||||
}, |
|
||||||
// 展期 |
|
||||||
async extensionSubmit () { |
|
||||||
if (!this.extensionPeriod) return this.$message.error('请选择展期期限!') |
|
||||||
const { data } = await addExtensionPeriod({ |
|
||||||
companyLoanId: this.curRow.companyLoanId, |
|
||||||
extensionPeriod: this.extensionPeriod, |
|
||||||
}) |
|
||||||
this.$message.success('展期成功!') |
|
||||||
if (data.status === 200) this.extensionVisible = false |
|
||||||
|
|
||||||
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768' |
|
||||||
await addOperation({ |
|
||||||
parentId: preId, |
|
||||||
lcJudgmentRuleReq: [{ answerId: 839, emptyOne: '', emptyTwo: '', operationIds: preId + ',839', type: '' },], |
|
||||||
projectId: +sessionStorage.getItem('projectId'), |
|
||||||
startTime: sessionStorage.getItem('startTime') |
|
||||||
}) |
|
||||||
this.getData() |
|
||||||
}, |
|
||||||
|
|
||||||
|
|
||||||
// 展示还款计划 |
|
||||||
async repayment (row) { |
|
||||||
this.curRow = row |
|
||||||
this.repaymentVisible = true |
|
||||||
this.getRepayment() |
|
||||||
}, |
|
||||||
// 展示还款计划 |
|
||||||
async getRepayment (row) { |
|
||||||
const { data } = await repaymentPlanCompany({ |
|
||||||
pageNum: this.pageRepayment, |
|
||||||
pageSize: this.pageSizeRepayment, |
|
||||||
...this.form, |
|
||||||
companyLoanId: this.curRow.companyLoanId, |
|
||||||
}) |
|
||||||
this.repayments = data.list.records |
|
||||||
this.totalRepayment = data.list.total |
|
||||||
}, |
|
||||||
initRepayment () { |
|
||||||
this.pageRepayment = 1 |
|
||||||
this.getRepayment() |
|
||||||
}, |
|
||||||
handleCurrentChangePayment (val) { |
|
||||||
this.pageRepayment = val |
|
||||||
this.getRepayment() |
|
||||||
}, |
|
||||||
handleSelectionChangeRepayment (val) { |
|
||||||
this.multipleSelection = val |
|
||||||
}, |
|
||||||
// 还款计划多选框禁用条件 |
|
||||||
checkAble (row) { |
|
||||||
return row.status === '待还款' |
|
||||||
}, |
|
||||||
// 还款/逾期 |
|
||||||
handleRepayment (row, status) { |
|
||||||
const text = status === '已还款' ? '还款' : '逾期' |
|
||||||
this.$confirm(`确定要${text}吗?`, "提示", { |
|
||||||
type: "warning" |
|
||||||
}).then(async () => { |
|
||||||
await batchProcessingCompany([{ |
|
||||||
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() |
|
||||||
}).catch(() => { }) |
|
||||||
}, |
|
||||||
// 批量还款/逾期 |
|
||||||
batchRepayment (status) { |
|
||||||
const list = this.multipleSelection |
|
||||||
if (list.length) { |
|
||||||
const text = status === '已还款' ? '还款' : '逾期' |
|
||||||
this.$confirm(`确定要${text}吗?`, "提示", { |
|
||||||
type: "warning" |
|
||||||
}).then(async () => { |
|
||||||
const ids = list.map(e => { |
|
||||||
return { |
|
||||||
id: e.id, |
|
||||||
status |
|
||||||
} |
|
||||||
}) |
|
||||||
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 = [] |
|
||||||
this.getRepayment() |
|
||||||
this.getData() |
|
||||||
}).catch(() => { }) |
|
||||||
} else { |
|
||||||
this.$message.error(`请选择数据!`) |
|
||||||
} |
|
||||||
}, |
|
||||||
} |
|
||||||
}; |
|
||||||
</script> |
|
||||||
|
|
||||||
<style lang="scss" scoped> |
|
||||||
@import '@/assets/css/tablebg.scss'; |
|
||||||
|
|
||||||
.wrap { |
|
||||||
width: 100%; |
|
||||||
max-height: calc(100vh - 118px); |
|
||||||
padding: 24px; |
|
||||||
overflow: auto; |
|
||||||
} |
|
||||||
</style> |
|
@ -1,193 +0,0 @@ |
|||||||
<template> |
|
||||||
<!-- 外汇业务 --> |
|
||||||
<div class="wrap wrap2"> |
|
||||||
<div class="nav"> |
|
||||||
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"> |
|
||||||
<el-menu-item index="1">购汇</el-menu-item> |
|
||||||
<el-menu-item index="2">结汇</el-menu-item> |
|
||||||
|
|
||||||
</el-menu> |
|
||||||
</div> |
|
||||||
<MyTitle :titleArr="['外汇业务', text]" /> |
|
||||||
|
|
||||||
<!-- 购汇 --> |
|
||||||
<puchasing v-if="activeIndex === '1'"></puchasing> |
|
||||||
<!-- 结汇 --> |
|
||||||
<settlement v-if="activeIndex === '2'"></settlement> |
|
||||||
|
|
||||||
<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> |
|
||||||
<div class="popBody"> |
|
||||||
<h2>本业务需要授权</h2> |
|
||||||
</div> |
|
||||||
<div class="popBtns"> |
|
||||||
<el-button class="close btn" @click="visible = false">取 消</el-button> |
|
||||||
<el-button class="sure btn" type="primary" @click="visible = false">确 定</el-button> |
|
||||||
</div> |
|
||||||
</el-dialog> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script> |
|
||||||
import puchasing from './puchasing.vue' |
|
||||||
import settlement from './settlement.vue' |
|
||||||
import MyTitle from '@/components/myTitle' |
|
||||||
export default { |
|
||||||
name: 'index', |
|
||||||
components: { |
|
||||||
puchasing, |
|
||||||
settlement, |
|
||||||
MyTitle |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
text: '',/* 顶部文字 */ |
|
||||||
cacheVal: '', |
|
||||||
textObj: { |
|
||||||
'1': '购汇', |
|
||||||
'2': '结汇', |
|
||||||
}, |
|
||||||
visible: false, |
|
||||||
activeIndex: '1', |
|
||||||
} |
|
||||||
}, |
|
||||||
created () { |
|
||||||
if (sessionStorage.getItem('foreignExchangeIndex')) { |
|
||||||
this.handleSelect(sessionStorage.getItem('foreignExchangeIndex')) |
|
||||||
} else { |
|
||||||
this.handleSelect('1') |
|
||||||
} |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
handleSelect (val) { |
|
||||||
this.text = this.textObj[val] |
|
||||||
this.activeIndex = val |
|
||||||
this.cacheVal = val |
|
||||||
}, |
|
||||||
}, |
|
||||||
destroyed () { |
|
||||||
sessionStorage.setItem('foreignExchangeIndex', this.cacheVal) |
|
||||||
} |
|
||||||
}; |
|
||||||
</script> |
|
||||||
|
|
||||||
<style lang="scss" scoped> |
|
||||||
.wrap { |
|
||||||
width: 100%; |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
overflow: hidden; |
|
||||||
padding: 24px 0 24px 24px; |
|
||||||
|
|
||||||
.nav { |
|
||||||
/deep/ .el-menu.el-menu--horizontal { |
|
||||||
border: 0; |
|
||||||
} |
|
||||||
|
|
||||||
/deep/ .el-menu--horizontal>.el-menu-item.is-active { |
|
||||||
border: 2px solid #568df2; |
|
||||||
border-radius: 10px; |
|
||||||
color: #000; |
|
||||||
} |
|
||||||
|
|
||||||
/deep/ .el-menu--horizontal>.el-menu-item { |
|
||||||
border: 2px solid transparent; |
|
||||||
border-radius: 10px; |
|
||||||
margin-right: 10px; |
|
||||||
height: 30px; |
|
||||||
line-height: 28px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.title { |
|
||||||
height: 60px; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
font-size: 20px; |
|
||||||
padding-left: 0px; |
|
||||||
margin-top: 10px; |
|
||||||
} |
|
||||||
|
|
||||||
.body { |
|
||||||
overflow: auto; |
|
||||||
|
|
||||||
.idCard { |
|
||||||
border-radius: 5px; |
|
||||||
background: #cfddff; |
|
||||||
text-align: center; |
|
||||||
height: 40px; |
|
||||||
line-height: 40px; |
|
||||||
font-size: 18px; |
|
||||||
color: #6191ff; |
|
||||||
} |
|
||||||
|
|
||||||
.add { |
|
||||||
position: relative; |
|
||||||
|
|
||||||
&::after { |
|
||||||
content: ''; |
|
||||||
display: block; |
|
||||||
position: absolute; |
|
||||||
right: 3%; |
|
||||||
top: -4%; |
|
||||||
border: 1px dashed #cfddff; |
|
||||||
width: 88%; |
|
||||||
height: 268px; |
|
||||||
} |
|
||||||
|
|
||||||
.addBtn { |
|
||||||
position: absolute; |
|
||||||
left: 0; |
|
||||||
top: 50%; |
|
||||||
transform: translate(50%, -50%); |
|
||||||
font-size: 22px; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.submitBtn { |
|
||||||
position: relative; |
|
||||||
width: 300px; |
|
||||||
font-size: 18px; |
|
||||||
height: 45px; |
|
||||||
margin-top: 50px; |
|
||||||
border-radius: 10px; |
|
||||||
bottom: 10px; |
|
||||||
left: 50%; |
|
||||||
transform: translate(-50%, -50%); |
|
||||||
} |
|
||||||
|
|
||||||
.popBody { |
|
||||||
min-height: 200px; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
|
|
||||||
.popBtns { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
.btn { |
|
||||||
width: 180px; |
|
||||||
border-radius: 10px; |
|
||||||
font-size: 18px; |
|
||||||
} |
|
||||||
|
|
||||||
.close { |
|
||||||
background: #cfdeff; |
|
||||||
color: #6191ff; |
|
||||||
} |
|
||||||
|
|
||||||
.sure { |
|
||||||
background: #6191ff; |
|
||||||
color: #fff; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
</style> |
|
@ -1,311 +0,0 @@ |
|||||||
<!-- 外汇业务-购汇 --> |
|
||||||
<template> |
|
||||||
<div class="body"> |
|
||||||
<el-row :gutter="20" style="margin: 0"> |
|
||||||
<div class="texts"> |
|
||||||
<p class="text"> |
|
||||||
<span>购汇人姓名:</span> |
|
||||||
丛小凤 |
|
||||||
</p> |
|
||||||
<p class="text"> |
|
||||||
<span>本年额度:</span> |
|
||||||
已用 等值80.00美元 |
|
||||||
</p> |
|
||||||
<p class="text"> |
|
||||||
<span></span> |
|
||||||
剩余 等值49,200.00美元 |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<el-form ref="form" :rules="rules" :model="form" label-width="120px"> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="凭证号码" required> |
|
||||||
<div v-if='!cardNumberJudge' class="idCard" @click="popUp1('刷卡器')"> |
|
||||||
<p>请刷卡</p> |
|
||||||
</div> |
|
||||||
<div v-else> |
|
||||||
<el-input maxlength="20" ref="voucherNumber" disabled v-model="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-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="购汇用途" prop="buyForeignPurpose"> |
|
||||||
<el-select v-model.trim="form.buyForeignPurpose" placeholder="请选择"> |
|
||||||
<el-option v-for="item in getSelectList.buyForeignPurposeList" :label="item.options" :value="item.itemId" |
|
||||||
:key="item.itemId"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="币种" prop="currency"> |
|
||||||
<el-select v-model.trim="form.currency" placeholder="请选择" ref="currency"> |
|
||||||
<el-option v-for="item in getSelectList.allCurrencyList" :label="item.options" :value="item.itemId" |
|
||||||
: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> |
|
||||||
<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> |
|
||||||
</div> |
|
||||||
</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" |
|
||||||
:spare="false" @submitIt="submitForm2" :needAuth="needAuth" /> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
<script> |
|
||||||
import { myValidate, ismoney, checkName, checkHanzi, messagePassword, messageCard, inputListen } from '@/utils/utilFunction.js' |
|
||||||
import { addOperation, getOperation } from '@/api/http' |
|
||||||
import { mapMutations, mapGetters } from 'vuex' |
|
||||||
import TipsBefore from '@/mixins/tipsBefore' |
|
||||||
|
|
||||||
const moduleName = 'foreignExchange/puchasing' |
|
||||||
import MyDialog from '@/components/dialog' |
|
||||||
import NeedBefore from '@/components/needBefore' |
|
||||||
export default { |
|
||||||
name: '', |
|
||||||
props: { |
|
||||||
depositFinish: Boolean |
|
||||||
}, |
|
||||||
mixins: [TipsBefore], |
|
||||||
components: { |
|
||||||
MyDialog, |
|
||||||
NeedBefore |
|
||||||
}, |
|
||||||
created () { |
|
||||||
if (sessionStorage.getItem('foreignExchangePuchasingPassword')) { |
|
||||||
this.form.drawPassword = sessionStorage.getItem('foreignExchangePuchasingPassword') |
|
||||||
} |
|
||||||
if (sessionStorage.getItem('foreignExchangePuchasingBankCard')) { |
|
||||||
this.cardNumberJudge = true |
|
||||||
const { voucherNumber, goldLogo } = this.dataFlow |
|
||||||
this.form.voucherNumber = voucherNumber |
|
||||||
} |
|
||||||
|
|
||||||
// this.getFormData() |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
moduleName, |
|
||||||
visible: false, |
|
||||||
cardNumberJudge: false, |
|
||||||
form: { |
|
||||||
voucherNumber: '', // 凭证号码 |
|
||||||
currency: '', |
|
||||||
goldLogo: '', |
|
||||||
money: '', |
|
||||||
buyForeignPurpose: '', |
|
||||||
drawPassword: '', |
|
||||||
}, |
|
||||||
formName: { |
|
||||||
voucherNumber: '凭证号码', |
|
||||||
currency: '币种', |
|
||||||
goldLogo: '钞汇', |
|
||||||
money: '外币', |
|
||||||
buyForeignPurpose: '购汇用途', |
|
||||||
drawPassword: '支取密码', |
|
||||||
}, |
|
||||||
rules: { |
|
||||||
currency: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择币种', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
goldLogo: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择钞汇标识', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
money: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入外汇金额', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
buyForeignPurpose: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择购汇用途', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
}, |
|
||||||
goldLogos: [ |
|
||||||
{ |
|
||||||
itemId: 150, |
|
||||||
options: '现汇(参考牌价712.34)' |
|
||||||
}, |
|
||||||
{ |
|
||||||
itemId: 151, |
|
||||||
options: '现钞(参考牌价712.34)' |
|
||||||
}, |
|
||||||
], |
|
||||||
submited: 0 |
|
||||||
} |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
...mapMutations({ |
|
||||||
changeShowGoods: 'system/changeShowGoods', |
|
||||||
setDataFlow: 'system/setDataFlow', |
|
||||||
setNeedsModule: 'system/setNeedsModule', |
|
||||||
setPopId: 'system/setPopId', |
|
||||||
setTipsOperate: 'system/setTipsOperate' |
|
||||||
}), |
|
||||||
getFormData () { |
|
||||||
let param = { |
|
||||||
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,64' |
|
||||||
} |
|
||||||
getOperation(param).then((data) => { |
|
||||||
console.log(data) |
|
||||||
if (data.status == 200) { |
|
||||||
var list = data.data.judgmentRuleReqs |
|
||||||
for (var i = 0; i < list.length; i++) { |
|
||||||
if (list[i].answerId == '85') { |
|
||||||
this.cardNumberJudge = true |
|
||||||
} //卡号 |
|
||||||
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.buyForeignPurpose = +list[i].emptyTwo } //支取方式 |
|
||||||
else if (list[i].answerId == '91') { |
|
||||||
if (sessionStorage.getItem('nomCurrentWithdrawalPassword')) { |
|
||||||
this.form.drawPassword = sessionStorage.getItem('nomCurrentWithdrawalPassword') |
|
||||||
} else { |
|
||||||
this.form.drawPassword = list[i].emptyTwo |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
}).catch((error) => { |
|
||||||
}) |
|
||||||
}, |
|
||||||
submitForm () { |
|
||||||
if (this.submited) return this.$message.error('已提交!') |
|
||||||
if (!this.form.voucherNumber) { |
|
||||||
messageCard('请填写凭证号码') |
|
||||||
return |
|
||||||
} |
|
||||||
if (!this.form.drawPassword) { |
|
||||||
messagePassword() |
|
||||||
return |
|
||||||
} |
|
||||||
this.$refs.form.validate(myValidate(() => { |
|
||||||
this.visible = true; |
|
||||||
}, this.$refs)); |
|
||||||
}, |
|
||||||
submitForm2 () { |
|
||||||
let projectId = sessionStorage.getItem('projectId') |
|
||||||
let startTime = sessionStorage.getItem('startTime') |
|
||||||
let formList = []; |
|
||||||
const { form } = this |
|
||||||
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: 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: 760, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',760', type: 3 }, |
|
||||||
) |
|
||||||
let params = { |
|
||||||
parentId: preId, |
|
||||||
lcJudgmentRuleReq: formList, |
|
||||||
projectId: +projectId, |
|
||||||
startTime: startTime, |
|
||||||
} |
|
||||||
addOperation(params).then((data) => { |
|
||||||
this.setDataFlow({ ...this.form }) |
|
||||||
this.submited = 1 |
|
||||||
}).catch((error) => { |
|
||||||
this.$message({ |
|
||||||
message: '服务器繁忙,提交失败。', |
|
||||||
center: true, |
|
||||||
type: 'info' |
|
||||||
}); |
|
||||||
}) |
|
||||||
}, |
|
||||||
popUp1 (text) { |
|
||||||
this.setTipsOperate('请刷银行卡'); |
|
||||||
this.setPopId('755') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
popUp2 (text) { |
|
||||||
this.setTipsOperate('请在密码器输入密码'); |
|
||||||
this.setPopId('760') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
ismoney, |
|
||||||
checkName, |
|
||||||
checkHanzi, |
|
||||||
inputListen, |
|
||||||
}, |
|
||||||
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 .body { |
|
||||||
margin-top: 0; |
|
||||||
overflow: auto; |
|
||||||
|
|
||||||
.idCard { |
|
||||||
border-radius: 5px; |
|
||||||
background: #cfddff; |
|
||||||
text-align: center; |
|
||||||
height: 40px; |
|
||||||
line-height: 40px; |
|
||||||
font-size: 18px; |
|
||||||
color: #6191ff; |
|
||||||
cursor: pointer; |
|
||||||
} |
|
||||||
|
|
||||||
.texts { |
|
||||||
margin: 30px 0 30px 80px; |
|
||||||
font-size: 14px; |
|
||||||
color: #666; |
|
||||||
|
|
||||||
.text { |
|
||||||
line-height: 1.6; |
|
||||||
} |
|
||||||
|
|
||||||
span { |
|
||||||
display: inline-block; |
|
||||||
width: 90px; |
|
||||||
text-align: right; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
</style> |
|
@ -1,289 +0,0 @@ |
|||||||
<!-- 外汇业务-结汇 --> |
|
||||||
<template> |
|
||||||
<div class="body"> |
|
||||||
<el-row :gutter="20" style="margin: 0"> |
|
||||||
<div class="texts"> |
|
||||||
<p class="text"> |
|
||||||
<span>本年额度:</span> |
|
||||||
已用 等值0.00美元 |
|
||||||
</p> |
|
||||||
<p class="text"> |
|
||||||
<span></span> |
|
||||||
剩余 等值50,000.00美元 |
|
||||||
</p> |
|
||||||
</div> |
|
||||||
<el-form ref="form" :rules="rules" :model="form" label-width="120px"> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="凭证号码" required> |
|
||||||
<div v-if='!cardNumberJudge' class="idCard" @click="popUp1('刷卡器')"> |
|
||||||
<p>请刷卡</p> |
|
||||||
</div> |
|
||||||
<div v-else> |
|
||||||
<el-input maxlength="20" ref="voucherNumber" disabled v-model="form.voucherNumber" |
|
||||||
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input> |
|
||||||
<p style="color: #8f8f8f;">可用余额:美元 现汇 5000.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-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> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="币种" prop="currency"> |
|
||||||
<el-select v-model.trim="form.currency" placeholder="请选择" disabled> |
|
||||||
<el-option :value="153" label="美元 现汇"></el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="资金来源" prop="fundingSource"> |
|
||||||
<el-select v-model.trim="form.fundingSource" placeholder="请选择"> |
|
||||||
<el-option v-for="item in getSelectList.fundingSourceList" :label="item.options" :value="item.itemId" |
|
||||||
:key="item.itemId"> </el-option> |
|
||||||
</el-select> |
|
||||||
</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" |
|
||||||
:spare="false" @submitIt="submitForm2" :needAuth="needAuth" /> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
<script> |
|
||||||
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js' |
|
||||||
import { myValidate, ismoney, checkName, checkHanzi, messagePassword, messageCard } from '@/utils/utilFunction.js' |
|
||||||
import { addOperation, getOperation } from '@/api/http'; |
|
||||||
import { mapMutations, mapGetters } from 'vuex' |
|
||||||
import TipsBefore from '@/mixins/tipsBefore' |
|
||||||
|
|
||||||
const moduleName = 'foreignExchange/settlement' |
|
||||||
import MyDialog from '@/components/dialog' |
|
||||||
import NeedBefore from '@/components/needBefore' |
|
||||||
export default { |
|
||||||
name: '', |
|
||||||
props: { |
|
||||||
depositFinish: Boolean |
|
||||||
}, |
|
||||||
mixins: [TipsBefore], |
|
||||||
components: { |
|
||||||
MyDialog, |
|
||||||
NeedBefore |
|
||||||
}, |
|
||||||
created () { |
|
||||||
if (sessionStorage.getItem('foreignExchangSettlePassword')) { |
|
||||||
this.form.drawPassword = sessionStorage.getItem('foreignExchangSettlePassword') |
|
||||||
} |
|
||||||
if (sessionStorage.getItem('foreignExchangeSettleBankCard')) { |
|
||||||
this.cardNumberJudge = true |
|
||||||
const { voucherNumber } = this.dataFlow |
|
||||||
this.form.voucherNumber = voucherNumber |
|
||||||
} |
|
||||||
// this.getFormData() |
|
||||||
}, |
|
||||||
data () { |
|
||||||
return { |
|
||||||
moduleName, |
|
||||||
visible: false, |
|
||||||
cardNumberJudge: false, |
|
||||||
form: { |
|
||||||
voucherNumber: '', // 凭证号码 |
|
||||||
currency: 153, |
|
||||||
money: '', |
|
||||||
fundingSource: '', |
|
||||||
drawPassword: '', |
|
||||||
}, |
|
||||||
formName: { |
|
||||||
voucherNumber: '凭证号码', |
|
||||||
currency: '币种', |
|
||||||
money: '外币金额', |
|
||||||
fundingSource: '资金来源', |
|
||||||
drawPassword: '支取密码', |
|
||||||
}, |
|
||||||
rules: { |
|
||||||
currency: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择币种', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
money: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请输入外币金额', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
fundingSource: [ |
|
||||||
{ |
|
||||||
required: true, |
|
||||||
message: '请选择资金来源', |
|
||||||
trigger: 'change' |
|
||||||
} |
|
||||||
], |
|
||||||
}, |
|
||||||
submited: 0 |
|
||||||
} |
|
||||||
}, |
|
||||||
mounted () { |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
...mapMutations({ |
|
||||||
changeShowGoods: 'system/changeShowGoods', |
|
||||||
setDataFlow: 'system/setDataFlow', |
|
||||||
setNeedsModule: 'system/setNeedsModule', |
|
||||||
setPopId: 'system/setPopId', |
|
||||||
setTipsOperate: 'system/setTipsOperate' |
|
||||||
}), |
|
||||||
getFormData () { |
|
||||||
let param = { |
|
||||||
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,64' |
|
||||||
} |
|
||||||
getOperation(param).then((data) => { |
|
||||||
console.log(data) |
|
||||||
if (data.status == 200) { |
|
||||||
var list = data.data.judgmentRuleReqs |
|
||||||
for (var i = 0; i < list.length; i++) { |
|
||||||
if (list[i].answerId == '85') { |
|
||||||
// sessionStorage.setItem('nomCurrentWithdrawalCard', list[i].emptyTwo) |
|
||||||
this.form.cardNumber = list[i].emptyTwo |
|
||||||
this.cardNumberJudge = true |
|
||||||
} //卡号 |
|
||||||
else if (list[i].answerId == '86') { this.form.userName = list[i].emptyTwo } //客户姓名 |
|
||||||
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 } //支取方式 |
|
||||||
// if (list[i].answerId == '91') {sessionStorage.setItem('nomCurrentWithdrawalPassword', list[i].emptyTwo)} //支取密码 |
|
||||||
else if (list[i].answerId == '91') { |
|
||||||
console.log(91) |
|
||||||
if (sessionStorage.getItem('nomCurrentWithdrawalPassword')) { |
|
||||||
this.form.drawPassword = sessionStorage.getItem('nomCurrentWithdrawalPassword') |
|
||||||
} else { |
|
||||||
this.form.drawPassword = list[i].emptyTwo |
|
||||||
} |
|
||||||
} |
|
||||||
else if (list[i].answerId == '92') { this.form.serviceCharge = list[i].emptyTwo } //手续费 |
|
||||||
else if (list[i].answerId == '93') { this.form.remark = list[i].emptyTwo } //摘要 |
|
||||||
} |
|
||||||
} |
|
||||||
}).catch(() => { }) |
|
||||||
}, |
|
||||||
submitForm () { |
|
||||||
const { form } = this |
|
||||||
if (this.submited) return this.$message.error('已提交!') |
|
||||||
if (!form.voucherNumber) { |
|
||||||
messageCard('请填写凭证号码') |
|
||||||
return |
|
||||||
} |
|
||||||
if (form.money > 5000) return this.$message.warning('外币金额最多结汇5000.00,请重新输入') |
|
||||||
if (!form.drawPassword) { |
|
||||||
messagePassword() |
|
||||||
return |
|
||||||
} |
|
||||||
this.$refs.form.validate(myValidate(() => { |
|
||||||
this.visible = true; |
|
||||||
}, this.$refs)); |
|
||||||
}, |
|
||||||
submitForm2 () { |
|
||||||
let projectId = sessionStorage.getItem('projectId') |
|
||||||
let startTime = sessionStorage.getItem('startTime') |
|
||||||
let formList = []; |
|
||||||
|
|
||||||
const { form } = this |
|
||||||
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,708,754' |
|
||||||
formList.push( |
|
||||||
{ 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: 765, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',765', type: 3 }, |
|
||||||
) |
|
||||||
let params = { |
|
||||||
parentId: preId, |
|
||||||
lcJudgmentRuleReq: formList, |
|
||||||
projectId: +projectId, |
|
||||||
startTime: startTime, |
|
||||||
} |
|
||||||
addOperation(params).then((data) => { |
|
||||||
this.setDataFlow({ ...this.form }) |
|
||||||
this.submited = 1 |
|
||||||
}).catch((error) => { |
|
||||||
this.$message({ |
|
||||||
message: '服务器繁忙,提交失败。', |
|
||||||
center: true, |
|
||||||
type: 'info' |
|
||||||
}); |
|
||||||
}) |
|
||||||
}, |
|
||||||
popUp1 (text) { |
|
||||||
this.setTipsOperate('请刷银行卡'); |
|
||||||
this.setPopId('761') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
popUp2 (text) { |
|
||||||
this.setTipsOperate('请在密码器输入密码'); |
|
||||||
this.setPopId('765') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
ismoney, |
|
||||||
checkName, |
|
||||||
checkHanzi, |
|
||||||
}, |
|
||||||
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 .body { |
|
||||||
margin-top: 0; |
|
||||||
overflow: auto; |
|
||||||
|
|
||||||
.idCard { |
|
||||||
border-radius: 5px; |
|
||||||
background: #cfddff; |
|
||||||
text-align: center; |
|
||||||
height: 40px; |
|
||||||
line-height: 40px; |
|
||||||
font-size: 18px; |
|
||||||
color: #6191ff; |
|
||||||
cursor: pointer; |
|
||||||
} |
|
||||||
|
|
||||||
.texts { |
|
||||||
margin: 30px 0 30px 80px; |
|
||||||
font-size: 14px; |
|
||||||
color: #666; |
|
||||||
|
|
||||||
.text { |
|
||||||
line-height: 1.6; |
|
||||||
} |
|
||||||
|
|
||||||
span { |
|
||||||
display: inline-block; |
|
||||||
width: 90px; |
|
||||||
text-align: right; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
</style> |
|
@ -1,367 +0,0 @@ |
|||||||
<!-- 网上银行开户 --> |
|
||||||
<template> |
|
||||||
<div class="wrap wrap2"> |
|
||||||
<MyTitle :titleArr="['网上银行', '开户']" /> |
|
||||||
|
|
||||||
<div class="body"> |
|
||||||
<el-row :gutter="20"> |
|
||||||
<el-form ref="form" :model="form" label-width="120px" :rules="rules"> |
|
||||||
<el-col :span="10" :offset="1"> |
|
||||||
<el-form-item label="证件类型"> |
|
||||||
<el-select v-model.trim="form.certificateType" placeholder="请选择"> |
|
||||||
<el-option label="身份证" :value="83"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="客户号"> |
|
||||||
<el-input ref="clientNumber" disabled maxlength="20" :value="form.clientNumber" |
|
||||||
@input="(val) => checkHanzi(val, form, 'clientNumber')"></el-input> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="币种" prop="currency"> |
|
||||||
<el-select v-model.trim="form.currency" placeholder="请选择" disabled ref="currency"> |
|
||||||
<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="voucherType"> |
|
||||||
<el-select v-model.trim="form.voucherType" placeholder="请选择" disabled ref="voucherType"> |
|
||||||
<el-option label="IC卡" :value="15"> </el-option> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="开通网上银行" prop="openOnlineBanking"> |
|
||||||
<el-radio-group v-model.trim="form.openOnlineBanking"> |
|
||||||
<el-radio :label="146">是</el-radio> |
|
||||||
<el-radio :label="147">否</el-radio> |
|
||||||
</el-radio-group> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="支取密码" required> |
|
||||||
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')"> |
|
||||||
<p>请输入密码</p> |
|
||||||
</div> |
|
||||||
<div v-else @click="popUp3('密码器')"> |
|
||||||
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
</el-col> |
|
||||||
<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 :value="form.idNumber" disabled ref="idNumber"></el-input> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="客户姓名" prop="customerName"> |
|
||||||
<el-input ref="customerName" disabled :value="form.customerName" |
|
||||||
@input="(val) => checkName(val, form, 'customerName')"></el-input> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="钞汇标识" prop="goldLogo"> |
|
||||||
<el-select v-model.trim="form.goldLogo" placeholder="请选择" disabled ref="goldLogo"> |
|
||||||
<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="凭证号码" required> |
|
||||||
<div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')"> |
|
||||||
<p>请刷卡</p> |
|
||||||
</div> |
|
||||||
<div v-else> |
|
||||||
<el-input maxlength="20" ref="voucherNumber" disabled :value="form.voucherNumber" |
|
||||||
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input> |
|
||||||
</div> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="开通手机银行" prop="openPhoneBanking"> |
|
||||||
<el-radio-group v-model.trim="form.openPhoneBanking"> |
|
||||||
<el-radio :label="148">是</el-radio> |
|
||||||
<el-radio :label="149">否</el-radio> |
|
||||||
</el-radio-group> |
|
||||||
</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' /> |
|
||||||
</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()" /> |
|
||||||
</div> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script> |
|
||||||
import { mapState, mapMutations, mapGetters } from 'vuex' |
|
||||||
import { vername, vermob } from '@/utils/verify.js' |
|
||||||
import { addOperation, getOperation } from '@/api/http'; |
|
||||||
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js' |
|
||||||
import { phoneListen, mailBoxListen, checkHanzi, inputListen, myValidate, checkName, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js' |
|
||||||
|
|
||||||
import MyTitle from '@/components/myTitle' |
|
||||||
import TipsBefore from '@/mixins/tipsBefore' |
|
||||||
import MyDialog from '@/components/dialog' |
|
||||||
import NeedBefore from '@/components/needBefore' |
|
||||||
|
|
||||||
const moduleName = 'onlineBank/openAccount' |
|
||||||
export default { |
|
||||||
data () { |
|
||||||
return { |
|
||||||
moduleName, |
|
||||||
idNumberJudge: false, |
|
||||||
visible: false,// 表单 |
|
||||||
cardNumberJudge: false, |
|
||||||
form: { |
|
||||||
certificateType: 83, // 证件类型 |
|
||||||
idNumber: '',//证件号码 |
|
||||||
clientNumber: '', // 客户号 |
|
||||||
customerName: '', // 客户姓名 |
|
||||||
currency: 12, // 币种 |
|
||||||
goldLogo: 13, // 钞汇标识 |
|
||||||
voucherType: 15, // 凭证类型 |
|
||||||
voucherNumber: '', // 凭证号码 |
|
||||||
openOnlineBanking: '', |
|
||||||
openPhoneBanking: '', |
|
||||||
drawPassword: '', // 支付密码 |
|
||||||
}, |
|
||||||
formName: { |
|
||||||
certificateType: '证件类型', |
|
||||||
idNumber: '证件号码', |
|
||||||
clientNumber: '客户号', |
|
||||||
customerName: '客户姓名', |
|
||||||
currency: '币种', |
|
||||||
goldLogo: '钞汇标识', |
|
||||||
voucherType: '凭证类型', |
|
||||||
voucherNumber: '凭证号码', |
|
||||||
openOnlineBanking: '开通网上银行', |
|
||||||
openPhoneBanking: '开通手机银行', |
|
||||||
drawPassword: '支付密码', |
|
||||||
}, |
|
||||||
rules: { |
|
||||||
customerName: vercustomer, |
|
||||||
currency: [{ |
|
||||||
required: true, |
|
||||||
message: '请选择币种', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
goldLogo: [{ |
|
||||||
required: true, |
|
||||||
message: '请选择钞汇标识', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
voucherType: [{ |
|
||||||
required: true, |
|
||||||
message: '请选择凭证类型', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
openOnlineBanking: [{ |
|
||||||
required: true, |
|
||||||
message: '请选择开通网上银行', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
openPhoneBanking: [{ |
|
||||||
required: true, |
|
||||||
message: '请选择开通手机银行', |
|
||||||
trigger: 'blur' |
|
||||||
} |
|
||||||
], |
|
||||||
}, |
|
||||||
|
|
||||||
authorization: false,// 切授权 |
|
||||||
success: false,// 切成功 |
|
||||||
papers: [ |
|
||||||
{ name: '身份证', id: 1 } |
|
||||||
], |
|
||||||
options: [], |
|
||||||
gender: [ |
|
||||||
{ name: '男', id: 1 }, |
|
||||||
{ name: '女', id: 2 }, |
|
||||||
], |
|
||||||
submited: 0 |
|
||||||
} |
|
||||||
}, |
|
||||||
components: { |
|
||||||
MyTitle, |
|
||||||
MyDialog, |
|
||||||
NeedBefore |
|
||||||
}, |
|
||||||
created () { |
|
||||||
if (sessionStorage.getItem('onlineBankPassword')) { |
|
||||||
this.form.drawPassword = sessionStorage.getItem('onlineBankPassword') |
|
||||||
} |
|
||||||
|
|
||||||
if (sessionStorage.getItem('onlineBankIdCard')) { |
|
||||||
this.idNumberJudge = true |
|
||||||
const { idNumber, userName, peopleNumber } = this.dataFlow |
|
||||||
this.form.clientNumber = peopleNumber |
|
||||||
this.form.idNumber = idNumber |
|
||||||
this.form.customerName = userName |
|
||||||
} |
|
||||||
if (sessionStorage.getItem('onlineBankBankCard')) { |
|
||||||
this.cardNumberJudge = true |
|
||||||
const { voucherNumber } = this.dataFlow |
|
||||||
this.form.voucherNumber = voucherNumber |
|
||||||
} |
|
||||||
// this.getFormData() |
|
||||||
}, |
|
||||||
mixins: [TipsBefore], |
|
||||||
mounted () { |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
// 授权提交后 |
|
||||||
submitIt () { |
|
||||||
|
|
||||||
// console.log(this.dataFlow) |
|
||||||
}, |
|
||||||
getFormData () { |
|
||||||
let param = { |
|
||||||
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,707,741' |
|
||||||
} |
|
||||||
getOperation(param).then((data) => { |
|
||||||
if (data.status == 200) { |
|
||||||
var list = data.data.judgmentRuleReqs |
|
||||||
for (var i = 0; i < list.length; i++) { |
|
||||||
if (list[i].answerId == '40') { this.form.idType = +list[i].emptyTwo } |
|
||||||
// if (list[i].answerId == '41') {sessionStorage.setItem('nomClientIdentity', list[i].emptyTwo)} |
|
||||||
if (list[i].answerId == '41' && list[i].emptyTwo) { |
|
||||||
this.idNumberJudge = true |
|
||||||
this.form.idNumber = list[i].emptyTwo |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
}).catch((error) => { }) |
|
||||||
|
|
||||||
}, |
|
||||||
...mapMutations({ |
|
||||||
changeShowGoods: 'system/changeShowGoods', |
|
||||||
setDataFlow: 'system/setDataFlow', |
|
||||||
setNeedsModule: 'system/setNeedsModule', |
|
||||||
setPopId: 'system/setPopId', |
|
||||||
setTipsOperate: 'system/setTipsOperate' |
|
||||||
}), |
|
||||||
popUp1 (text) { // 身份证扫描仪 |
|
||||||
this.setTipsOperate('请刷身份证'); |
|
||||||
this.setPopId('743') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
popUp2 (text) { |
|
||||||
this.setTipsOperate('请刷银行卡'); |
|
||||||
this.setPopId('749') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
popUp3 (text) { |
|
||||||
this.setTipsOperate('请在密码器输入密码'); |
|
||||||
this.setPopId('752') |
|
||||||
sessionStorage.setItem('computerPath', this.$route.fullPath) |
|
||||||
this.$router.push('/counter/list/') |
|
||||||
}, |
|
||||||
//提交个人用户信息 |
|
||||||
submitForm () { |
|
||||||
if (this.submited) return this.$message.error('已提交!') |
|
||||||
let nomClientIdentity = sessionStorage.getItem('nomClientIdentity') |
|
||||||
let consumerClientDragList = JSON.parse(nomClientIdentity); |
|
||||||
let nomClientIdentitys = JSON.parse(nomClientIdentity); |
|
||||||
if (!this.form.idNumber) { |
|
||||||
messageIdCard() |
|
||||||
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 projectId = sessionStorage.getItem('projectId') |
|
||||||
let startTime = sessionStorage.getItem('startTime') |
|
||||||
|
|
||||||
let formList = []; |
|
||||||
const { form } = this |
|
||||||
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,707,741' |
|
||||||
formList.push( |
|
||||||
{ answerId: 742, emptyOne: 19, emptyTwo: form.certificateType, operationIds: preId + ',742', type: 1 }, |
|
||||||
{ answerId: 743, emptyOne: '', emptyTwo: '', operationIds: preId + ',743', type: '' }, |
|
||||||
{ answerId: 744, emptyOne: 6, emptyTwo: form.clientNumber, operationIds: preId + ',744', type: 3 }, |
|
||||||
{ answerId: 745, emptyOne: 7, emptyTwo: form.customerName, operationIds: preId + ',745', type: 3 }, |
|
||||||
{ answerId: 746, emptyOne: 8, emptyTwo: form.currency, operationIds: preId + ',746', type: 1 }, |
|
||||||
{ answerId: 747, emptyOne: 9, emptyTwo: form.goldLogo, operationIds: preId + ',747', type: 1 }, |
|
||||||
{ 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: 752, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',752', type: 3 }, |
|
||||||
) |
|
||||||
|
|
||||||
let params = { |
|
||||||
parentId: preId, |
|
||||||
lcJudgmentRuleReq: formList, |
|
||||||
projectId: +projectId, |
|
||||||
startTime |
|
||||||
} |
|
||||||
addOperation(params).then((data) => { |
|
||||||
this.setDataFlow({ ...this.form }) |
|
||||||
this.submited = 1 |
|
||||||
}).catch((error) => { |
|
||||||
this.setTipsOperate('服务器繁忙哦,提交失败。') |
|
||||||
}) |
|
||||||
|
|
||||||
}, |
|
||||||
|
|
||||||
|
|
||||||
throttle (fn, wait = 1000) {// 节流函数 |
|
||||||
var timer = null; |
|
||||||
return function () { |
|
||||||
var context = this; |
|
||||||
var args = fn; |
|
||||||
if (!timer) { |
|
||||||
timer = setTimeout(function () { |
|
||||||
fn.apply(context, fn); |
|
||||||
timer = null; |
|
||||||
}, wait) |
|
||||||
} |
|
||||||
} |
|
||||||
}, |
|
||||||
checkHanzi, |
|
||||||
phoneListen, |
|
||||||
mailBoxListen, |
|
||||||
checkName, |
|
||||||
inputListen, |
|
||||||
}, |
|
||||||
computed: { |
|
||||||
...mapGetters({ |
|
||||||
dataFlow: 'system/dataFlow', |
|
||||||
inMyWork: 'system/inMyWork', |
|
||||||
needsModule: 'system/needsModule', |
|
||||||
popId: 'system/popId', |
|
||||||
getSelectList: 'system/getSelectList', |
|
||||||
}) |
|
||||||
} |
|
||||||
}; |
|
||||||
</script> |
|
||||||
|
|
||||||
<style lang="scss" scoped> |
|
||||||
.wrap { |
|
||||||
width: 100%; |
|
||||||
height: 100%; |
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
overflow: auto; |
|
||||||
padding: 24px 0 24px 24px; |
|
||||||
|
|
||||||
.body { |
|
||||||
margin-top: 50px; |
|
||||||
overflow-y: auto; |
|
||||||
overflow-x: hidden; |
|
||||||
} |
|
||||||
} |
|
||||||
</style> |
|