新增历史贷款合同选择弹窗

This commit is contained in:
wkc
2026-04-30 09:18:27 +08:00
parent 289937f264
commit 801310ee10

View File

@@ -0,0 +1,78 @@
<template>
<el-dialog title="历史贷款合同选择" :visible.sync="dialogVisible" width="80%" append-to-body
:close-on-click-modal="false" @close="handleClose">
<el-table :data="contracts" v-loading="loading" @row-click="handleRowClick">
<el-table-column label="选择" align="center" width="70">
<template slot-scope="scope">
<el-radio v-model="selectedContract" :label="scope.row" type="radio">&nbsp;</el-radio>
</template>
</el-table-column>
<el-table-column label="客户内码" prop="cust_isn" align="center" :show-overflow-tooltip="true"/>
<el-table-column label="历史贷款合同号" prop="loan_contract_history" align="center" :show-overflow-tooltip="true"/>
<el-table-column label="历史贷款担保方式" prop="guar_type_history" align="center"/>
<el-table-column label="历史贷款产品代码" prop="product_code_history" align="center"/>
<el-table-column label="历史贷款利率" prop="loan_rate_history" align="center"/>
<el-table-column label="历史贷款金额" prop="loan_amount_history" align="center"/>
<el-table-column label="历史贷款签订时间" prop="loan_sign_date_history" align="center" width="150"/>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmSelect"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</div>
</el-dialog>
</template>
<script>
export default {
name: "HistoryContractSelector",
props: {
visible: {
type: Boolean,
default: false
},
contracts: {
type: Array,
default: () => []
},
loading: {
type: Boolean,
default: false
}
},
data() {
return {
selectedContract: null
}
},
computed: {
dialogVisible: {
get() {
return this.visible
},
set(val) {
this.$emit('update:visible', val)
}
}
},
methods: {
handleRowClick(row) {
this.selectedContract = row
},
confirmSelect() {
if (!this.selectedContract) {
this.$modal.msgWarning("请选择历史贷款合同")
return
}
if (!this.selectedContract.loan_rate_history) {
this.$modal.msgWarning("历史贷款利率不能为空")
return
}
this.$emit('select', this.selectedContract)
this.dialogVisible = false
},
handleClose() {
this.selectedContract = null
}
}
}
</script>