This commit is contained in:
2025-05-21 13:17:53 +08:00
parent 62b0ad1288
commit 2255649566
5 changed files with 88 additions and 24 deletions

View File

@@ -204,6 +204,14 @@ const admin = {
method: Method.POST, method: Method.POST,
}); });
}, },
getWithdrawalPlatform2: async () => {
const {data} = await request({
url: '/admin/withdrawal/getPlatform',
method: Method.POST,
});
data.shift();
return {data};
},
getWithdrawalList: async (data) => { getWithdrawalList: async (data) => {
return request({ return request({
url: '/admin/withdrawal/getList', url: '/admin/withdrawal/getList',
@@ -545,6 +553,20 @@ const admin = {
data: {id}, data: {id},
}); });
}, },
getWithdrawalInfo: async (id) => {
return request({
url: '/admin/Withdrawal/getInfo',
method: Method.POST,
data: {id},
});
},
getWithdrawalSetRatio: async (data) => {
return request({
url: '/admin/Withdrawal/setRatio',
method: Method.POST,
data: data,
});
},
} }
export default admin; export default admin;

View File

@@ -1,12 +1,43 @@
<script setup> <script setup>
import {ref} from "vue"; import {reactive, ref, watch} from "vue";
import XSelect from '../../../../../components/XSelect/index.vue'; import XSelect from '../../../../../components/XSelect/index.vue';
import Api from "../../../../../api/index.js"; import Api from "../../../../../api/index.js";
import {Message} from "@arco-design/web-vue";
const {id} = defineProps({
id: {
type: Number,
default: null,
}
});
const emits = defineEmits(['success']);
const visible = ref(false); const visible = ref(false);
const form = reactive({
id: null,
realname: null,
account: null,
id_card: null,
ratio: null,
mobile: null,
type: null,
});
const success = () => { watch(
() => visible.value,
(val) => {
if (val) Api.admin.getWithdrawalInfo(id).then(({data}) => {
Object.assign(form, data);
form.ratio = Number(data.ratio);
});
},
{deep: true}
)
const success = async () => {
const {msg} = await Api.admin.getWithdrawalSetRatio(form);
Message.success(msg);
visible.value = false;
emits('success');
} }
</script> </script>
@@ -21,22 +52,27 @@ const success = () => {
v-model:visible="visible"> v-model:visible="visible">
<a-form layout="vertical"> <a-form layout="vertical">
<a-form-item label="提现方式"> <a-form-item label="提现方式">
<XSelect :api="Api.system.getSelect" placeholder="请选择提现方式"></XSelect> <XSelect
v-model:model-value="form.type"
:init="true"
:api="Api.admin.getWithdrawalPlatform2"
placeholder="请选择提现方式">
</XSelect>
</a-form-item> </a-form-item>
<a-form-item label="卡号"> <a-form-item label="卡号">
<a-input placeholder="请输入卡号"></a-input> <a-input v-model:model-value="form.account" placeholder="请输入卡号"></a-input>
</a-form-item> </a-form-item>
<a-form-item label="姓名"> <a-form-item label="姓名">
<a-input placeholder="请输入姓名"></a-input> <a-input v-model:model-value="form.realname" placeholder="请输入姓名"></a-input>
</a-form-item> </a-form-item>
<a-form-item label="身份证号"> <a-form-item label="身份证号">
<a-input placeholder="请输入身份证号"></a-input> <a-input v-model:model-value="form.id_card" placeholder="请输入身份证号"></a-input>
</a-form-item> </a-form-item>
<a-form-item label="手机号"> <a-form-item label="手机号">
<a-input placeholder="请输入手机号"></a-input> <a-input v-model:model-value="form.mobile" placeholder="请输入手机号"></a-input>
</a-form-item> </a-form-item>
<a-form-item label="费率"> <a-form-item label="费率">
<a-input-number placeholder="请输入费率"> <a-input-number v-model:model-value="form.ratio" placeholder="请输入费率" :precision="2" :max="100">
<template #suffix>%</template> <template #suffix>%</template>
</a-input-number> </a-input-number>
</a-form-item> </a-form-item>

View File

@@ -12,40 +12,39 @@ const columns = [
}, },
{ {
title: '身份', title: '身份',
dataIndex: 'key', dataIndex: 'person_type_text',
}, },
{ {
title: '身份ID', title: '身份ID',
dataIndex: 'key', dataIndex: 'person_code',
}, },
{ {
title: '提现方式', title: '提现方式',
dataIndex: 'key', dataIndex: 'platform_type_text',
}, },
{ {
title: '卡号', title: '卡号',
dataIndex: 'key', dataIndex: 'account',
slotName: 'key',
}, },
{ {
title: '姓名', title: '姓名',
dataIndex: 'key', dataIndex: 'realname',
}, },
{ {
title: '身份证', title: '身份证',
dataIndex: 'key', dataIndex: 'id_card',
}, },
{ {
title: '电话', title: '电话',
dataIndex: 'key', dataIndex: 'mobile',
}, },
{ {
title: '费率', title: '费率',
dataIndex: 'key', dataIndex: 'ratio',
}, },
{ {
title: '添加日期', title: '添加日期',
dataIndex: 'key', dataIndex: 'createtime',
}, },
{ {
title: '操作', title: '操作',
@@ -104,7 +103,7 @@ const vo = reactive({
total: 0, total: 0,
}); });
const {loading, pagination, initFetchData} = useTableQuery({ const {loading, pagination, initFetchData, fetchData} = useTableQuery({
parameter: po, parameter: po,
api: Api.admin.getWithdrawalList, api: Api.admin.getWithdrawalList,
callback: (data) => { callback: (data) => {
@@ -129,8 +128,8 @@ const {loading, pagination, initFetchData} = useTableQuery({
:loading="loading" :loading="loading"
:columns="columns" :columns="columns"
class="flex-grow"> class="flex-grow">
<template v-slot:action> <template v-slot:action="{record}">
<EditWithdrawalModal></EditWithdrawalModal> <EditWithdrawalModal :id="record.id" @success="fetchData"></EditWithdrawalModal>
</template> </template>
</a-table> </a-table>
</a-card> </a-card>

View File

@@ -3,7 +3,7 @@ import {reactive, ref} from "vue";
import Api from "../../../../../api/index.js"; import Api from "../../../../../api/index.js";
import {Message} from "@arco-design/web-vue"; import {Message} from "@arco-design/web-vue";
const {id, api} = defineProps({ const {id, api, disabled} = defineProps({
id: { id: {
type: Number, type: Number,
default: 0 default: 0
@@ -11,6 +11,10 @@ const {id, api} = defineProps({
api: { api: {
type: Function, type: Function,
default: Api.admin.refuseTask default: Api.admin.refuseTask
},
disabled: {
type: Boolean,
default: false,
} }
}); });
const emits = defineEmits(['success']); const emits = defineEmits(['success']);
@@ -30,7 +34,7 @@ const success = async () => {
</script> </script>
<template> <template>
<a-link :hoverable="false" status="danger" @click="visible=true">拒绝</a-link> <a-link :hoverable="false" status="danger" @click="visible=true" :disabled="disabled">拒绝</a-link>
<a-modal <a-modal
title-align="start" title-align="start"

View File

@@ -120,9 +120,12 @@ const refuseTaskChildren = async (id) => {
<div class="flex items-center gap-[20px] justify-between"> <div class="flex items-center gap-[20px] justify-between">
<PreviewTaskModal :id="record.id" @success="fetchData"></PreviewTaskModal> <PreviewTaskModal :id="record.id" @success="fetchData"></PreviewTaskModal>
<a-popconfirm content="确定通过?" @ok="passTaskChildren(record.id)"> <a-popconfirm content="确定通过?" @ok="passTaskChildren(record.id)">
<a-link :hoverable="false" status="success">通过</a-link> <a-link :disabled="record.check_status === 1 || record.check_status === -2" :hoverable="false"
status="success">通过
</a-link>
</a-popconfirm> </a-popconfirm>
<RejectTaskModal <RejectTaskModal
:disabled="record.check_status === 1 || record.check_status === -2"
:api="Api.admin.refuseTaskChildren" :api="Api.admin.refuseTaskChildren"
:id="record.id" :id="record.id"
@success="fetchData"> @success="fetchData">