fix: 借贷账户管理,功能优化完善。

This commit is contained in:
tianyongbao
2026-01-30 13:33:02 +08:00
parent 6ec9ba0bc4
commit 62047916d5

View File

@@ -6,6 +6,11 @@
<el-form-item label="借贷名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入借贷名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="银行" prop="bankId">
<el-select v-model="queryParams.bankId" placeholder="请选择银行" clearable filterable>
<el-option v-for="item in bankList" :key="item.id" :label="item.bankName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="类型" prop="lendType">
<el-select v-model="queryParams.lendType" placeholder="请选择类型" clearable>
<el-option v-for="dict in lend_type" :key="dict.value" :label="dict.label" :value="dict.value" />
@@ -37,6 +42,13 @@
<el-table-column type="index" label="序号" :index="indexMethod" width="50"></el-table-column>
<el-table-column label="借贷名称" align="center" prop="name" />
<el-table-column label="编号" align="center" prop="code" />
<el-table-column label="银行" align="center" prop="bankName" />
<el-table-column label="开通日期" align="center" prop="activationDate" width="100" />
<el-table-column label="注销日期" align="center" prop="effectiveDate" width="100">
<template #default="scope">
<span>{{ parseTime(scope.row.effectiveDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="类型" align="center" prop="lendType">
<template #default="scope">
<dict-tag :options="lend_type" :value="scope.row.lendType" />
@@ -70,11 +82,22 @@
</div>
</div>
<!-- 添加或修改借贷账户信息对话框 -->
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
<el-form ref="bankcardRef" :model="form" :rules="rules" label-width="120px">
<el-dialog :title="title" v-model="open" width="880px" append-to-body>
<el-form ref="bankcardRef" :model="form" :rules="rules" :inline="true" label-width="120px">
<el-form-item label="银行" prop="bankId">
<el-select v-model="form.bankId" placeholder="请选择银行" clearable filterable @change="handleBankChange">
<el-option v-for="item in bankList" :key="item.id" :label="item.bankName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="借贷名称" prop="name">
<el-input v-model="form.name" placeholder="请输入借贷名称" />
</el-form-item>
<el-form-item label="开通日期" prop="activationDate">
<el-date-picker clearable v-model="form.activationDate" type="date" value-format="YYYY-MM-DD" placeholder="请选择开通日期" />
</el-form-item>
<el-form-item label="注销日期" prop="effectiveDate">
<el-date-picker clearable v-model="form.effectiveDate" type="date" value-format="YYYY-MM-DD" placeholder="请选择注销日期" />
</el-form-item>
<el-form-item label="账号" prop="code">
<el-input v-model="form.code" placeholder="请输入账号" />
</el-form-item>
@@ -94,7 +117,7 @@
<el-form-item label="可用额度" prop="availableLimit">
<el-input v-model="form.availableLimit" type="number" placeholder="请输入可用额度" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-form-item label="备注" style="width: 792px" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-form>
@@ -110,6 +133,7 @@
<script setup name="BankcardLend">
import { listBankcardLend, getBankcardLend, delBankcardLend, addBankcardLend, updateBankcardLend } from '@/api/invest/bankcardlend'
import { listBankBaseInfo } from '@/api/invest/bankBaseInfo'
// eslint-disable-next-line no-unused-vars
import { require } from '@/utils/require'
const { proxy } = getCurrentInstance()
@@ -124,6 +148,7 @@ const single = ref(true)
const multiple = ref(true)
const total = ref(0)
const title = ref('')
const bankList = ref([])
const operateList = ref([
{ id: 'view', icon: 'View', title: '查看', hasPermi: ['invest:bankcard:query'] },
{ id: 'edit', icon: 'Edit', title: '修改', hasPermi: ['invest:bankcard:edit'] },
@@ -136,12 +161,14 @@ const data = reactive({
pageSize: 10,
name: null,
status: null,
bankId: null,
lendType: null,
type: '3'
},
rules: {
name: [{ required: true, message: '借贷名称不能为空', trigger: 'blur' }],
code: [{ required: true, message: '账号不能为空', trigger: 'blur' }],
activationDate: [{ required: true, message: '开通日期不能为空', trigger: 'blur' }],
status: [{ required: true, message: '账户状态不能为空', trigger: 'blur' }],
lendType: [{ required: true, message: '类型不能为空', trigger: 'blur' }],
balance: [{ required: true, message: '余额不能为空', trigger: 'blur' }]
@@ -206,7 +233,8 @@ function reset() {
delFlag: null,
remark: null,
lendType: null,
status: null
status: null,
bankId: null
}
proxy.resetForm('bankcardRef')
}
@@ -262,6 +290,17 @@ function handleAdd() {
title.value = '添加借贷账户信息'
}
/** 银行选择变更 */
function handleBankChange(bankId) {
// 只在新增时自动填充名称
if (title.value === '添加借贷账户信息' && bankId) {
const selectedBank = bankList.value.find((bank) => bank.id === bankId)
if (selectedBank) {
form.value.name = selectedBank.bankName
}
}
}
/** 修改按钮操作 */
function handleUpdate(row) {
reset()
@@ -277,14 +316,23 @@ function handleUpdate(row) {
function submitForm() {
proxy.$refs.bankcardRef.validate((valid) => {
if (valid) {
if (form.value.id != null) {
updateBankcardLend(form.value).then((response) => {
// 处理空字符串将空字符串转为null
const formData = { ...form.value }
if (formData.effectiveDate === '') {
formData.effectiveDate = null
}
if (formData.activationDate === '') {
formData.activationDate = null
}
if (formData.id != null) {
updateBankcardLend(formData).then((response) => {
proxy.$modal.msgSuccess('修改成功')
open.value = false
getList()
})
} else {
addBankcardLend(form.value).then((response) => {
addBankcardLend(formData).then((response) => {
proxy.$modal.msgSuccess('新增成功')
open.value = false
getList()
@@ -320,5 +368,13 @@ function handleExport() {
)
}
/** 获取银行列表 */
function getBankList() {
listBankBaseInfo({ pageNum: 1, pageSize: 1000 }).then((response) => {
bankList.value = response.rows
})
}
getList()
getBankList()
</script>