This commit is contained in:
2026-06-08 17:15:08 +08:00
parent 8a35a78ff0
commit d0caafca06
2 changed files with 55 additions and 31 deletions

View File

@ -193,7 +193,7 @@
<!-- 账户信息 -->
<div class="form-section">
<div class="section-title">账户信息</div>
<el-form label-width="120px" label-position="left">
<el-form :model="rightClickMarketForm" label-width="120px" label-position="left">
<el-form-item label="账户名">
<el-input v-model="rightClickMarketForm.username" disabled />
</el-form-item>
@ -206,9 +206,9 @@
<!-- 金额信息根据角色显示不同字段 -->
<div class="form-section">
<div class="section-title">取款金额</div>
<el-form label-width="140px" label-position="left">
<el-form ref="withdrawFormRef" :model="rightClickMarketForm" :rules="rightClickMarketFormRules" label-width="140px" label-position="left">
<!-- 手续费佣金 -->
<el-form-item label="手续费佣金">
<el-form-item label="手续费佣金" prop="withdraw_fee_handle">
<el-input
v-model="rightClickMarketForm.withdraw_fee_handle"
type="number"
@ -220,7 +220,7 @@
</el-form-item>
<!-- 点差佣金 -->
<el-form-item label="点差佣金">
<el-form-item label="点差佣金" prop="withdraw_point_diff">
<el-input
v-model="rightClickMarketForm.withdraw_point_diff"
type="number"
@ -235,6 +235,7 @@
<el-form-item
v-if="[1, 2, 3].includes(currentRow?.role_id * 1)"
label="服务费"
prop="withdraw_service_fee"
>
<el-input
v-model="rightClickMarketForm.withdraw_service_fee"
@ -247,7 +248,7 @@
</el-form-item>
<!-- 风险金仅平台 -->
<el-form-item v-if="currentRow?.role_id === 1" label="风险金">
<el-form-item v-if="currentRow?.role_id === 1" label="风险金" prop="withdraw_risk_fee">
<el-input
v-model="rightClickMarketForm.withdraw_risk_fee"
type="number"
@ -262,6 +263,7 @@
<el-form-item
v-if="[3, 4].includes(currentRow?.role_id * 1)"
label="盈利"
prop="withdraw_head_fee"
>
<el-input
v-model="rightClickMarketForm.withdraw_head_fee"
@ -279,20 +281,17 @@
<template #append>USD</template>
</el-input>
</el-form-item>
</el-form>
</div>
<!-- 必填信息 -->
<div class="form-section">
<div class="section-title">必填信息</div>
<el-form label-width="120px" label-position="left">
<el-form-item label="钱包地址" required>
<!-- 钱包地址 -->
<el-form-item label="钱包地址" prop="withdraw_address">
<el-input
v-model="rightClickMarketForm.withdraw_address"
placeholder="请输入钱包地址"
/>
</el-form-item>
<el-form-item label="取款渠道" required>
<!-- 取款渠道 -->
<el-form-item label="取款渠道" prop="channel_id">
<el-select
v-model="rightClickMarketForm.channel_id"
placeholder="请选择取款渠道"
@ -535,6 +534,7 @@ const rightClickDialogTitleEnum = {
const rightClickMarketForm = ref<any>({})
const rightClickMarketFormRules = ref<Record<string, any>>(accountFormItemRules)
const rightClickMarketFormItemOptions = ref(accountFormItemList)
const withdrawFormRef = ref()
//
const calculateAmountNew = () => {
@ -675,8 +675,9 @@ const handleRightClickDialogSubmit = () => {
})
break
case 'deposit':
// handleWithdrawSubmit
handleWithdrawSubmit()
break
return
case 'withdraw':
ElMessage.warning('暂无此功能')
break
@ -710,17 +711,16 @@ const fetchWithdrawChannel = async () => {
//
const handleWithdrawSubmit = async () => {
const form = rightClickMarketForm.value
//
if (!withdrawFormRef.value) return
try {
await withdrawFormRef.value.validate()
} catch (error) {
console.log('表单验证失败')
return
}
//
if (!form.withdraw_address) {
ElMessage.warning('请输入钱包地址')
return
}
if (!form.channel_id) {
ElMessage.warning('请选择取款渠道')
return
}
const form = rightClickMarketForm.value
//
const params = {

View File

@ -261,15 +261,39 @@ export const getWithdrawFormRules = (roleId: number) => {
const rules: Record<string, any[]> = {
withdraw_address: [{ required: true, message: '请输入钱包地址', trigger: ['blur', 'change'] }],
channel_id: [{ required: true, message: '请选择取款渠道', trigger: ['change'] }],
withdraw_fee_handle: [
{ required: false, message: '请输入手续费佣金', trigger: ['blur', 'change'] },
{ pattern: /^\d+(\.\d{0,2})?$/, message: '请输入正确的金额格式', trigger: ['blur', 'change'] }
],
withdraw_point_diff: [
{ required: false, message: '请输入点差佣金', trigger: ['blur', 'change'] },
{ pattern: /^\d+(\.\d{0,2})?$/, message: '请输入正确的金额格式', trigger: ['blur', 'change'] }
],
}
// 添加各角色的验证规则
const config = getWithdrawFormConfig(roleId)
config.forEach((item) => {
if (item.required) {
rules[item.prop] = [{ required: true, message: `请输入${item.label}`, trigger: ['blur', 'change'] }]
}
})
// 服务费(平台、承包商、特殊做市商)
if ([1, 2, 3].includes(roleId)) {
rules.withdraw_service_fee = [
{ required: false, message: '请输入服务费', trigger: ['blur', 'change'] },
{ pattern: /^\d+(\.\d{0,2})?$/, message: '请输入正确的金额格式', trigger: ['blur', 'change'] }
]
}
// 风险金(仅平台)
if (roleId === 1) {
rules.withdraw_risk_fee = [
{ required: false, message: '请输入风险金', trigger: ['blur', 'change'] },
{ pattern: /^\d+(\.\d{0,2})?$/, message: '请输入正确的金额格式', trigger: ['blur', 'change'] }
]
}
// 盈利(特殊做市商、普通做市商)
if ([3, 4].includes(roleId)) {
rules.withdraw_head_fee = [
{ required: false, message: '请输入盈利', trigger: ['blur', 'change'] },
{ pattern: /^\d+(\.\d{0,2})?$/, message: '请输入正确的金额格式', trigger: ['blur', 'change'] }
]
}
return rules
}