diff --git a/apps/web-antd/src/api/order/query.ts b/apps/web-antd/src/api/order/query.ts index 295cfbf..e965cd5 100644 --- a/apps/web-antd/src/api/order/query.ts +++ b/apps/web-antd/src/api/order/query.ts @@ -18,6 +18,8 @@ export namespace OrderQueryApi { create_time: string; update_time: string; query_state: string; + agent_user_name: string; + agent_user_mobile: string; } export interface GetQueryDetailRequest { @@ -34,6 +36,8 @@ export namespace OrderQueryApi { create_time: string; update_time: string; query_state: string; + agent_user_name: string; + agent_user_mobile: string; } // 清理日志相关接口定义 diff --git a/apps/web-antd/src/views/agent/agent-list/list.vue b/apps/web-antd/src/views/agent/agent-list/list.vue index 3a214dc..adb6c43 100644 --- a/apps/web-antd/src/views/agent/agent-list/list.vue +++ b/apps/web-antd/src/views/agent/agent-list/list.vue @@ -6,21 +6,20 @@ import type { } from '#/adapter/vxe-table'; import type { AgentApi } from '#/api/agent'; -import { computed } from 'vue'; +import { computed, ref } from 'vue'; import { useRoute, useRouter } from 'vue-router'; import { Page, useVbenDrawer, useVbenModal } from '@vben/common-ui'; -import { Button, Card, Dropdown, Menu } from 'ant-design-vue'; +import { Button, Card, Dropdown, Form, Input, Menu, Modal, message } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; -import { getAgentList } from '#/api/agent'; +import { getAgentList, updateAgentMobile } from '#/api/agent'; import { useColumns, useGridFormSchema } from './data'; import CommissionModal from './modules/commission-modal.vue'; -import Form from './modules/form.vue'; +import FormDrawerContent from './modules/form.vue'; import LinkModal from './modules/link-modal.vue'; -import MobileEditModal from './modules/mobile-edit-modal.vue'; import OrderModal from './modules/order-modal.vue'; import RebateModal from './modules/rebate-modal.vue'; import DowngradeModal from './modules/downgrade-modal.vue'; @@ -32,7 +31,7 @@ const router = useRouter(); // 表单抽屉 const [FormDrawer, formDrawerApi] = useVbenDrawer({ - connectedComponent: Form, + connectedComponent: FormDrawerContent, destroyOnClose: true, }); @@ -72,11 +71,48 @@ const [WithdrawalModalComponent, withdrawalModalApi] = useVbenModal({ destroyOnClose: true, }); -// 修改手机号弹窗 -const [MobileEditModalComponent, mobileEditModalApi] = useVbenModal({ - connectedComponent: MobileEditModal, - destroyOnClose: true, -}); +// 修改手机号:本页 Modal + 表单 +const mobileEditVisible = ref(false); +const mobileEditRow = ref(null); +const mobileEditNewMobile = ref(''); +const mobileEditLoading = ref(false); + +function openMobileEdit(row: AgentApi.AgentListItem) { + mobileEditRow.value = row; + mobileEditNewMobile.value = row.mobile ?? ''; + mobileEditVisible.value = true; +} + +function closeMobileEdit() { + mobileEditVisible.value = false; + mobileEditRow.value = null; + mobileEditNewMobile.value = ''; +} + +async function submitMobileEdit() { + const row = mobileEditRow.value; + if (!row) return; + const mobile = mobileEditNewMobile.value?.trim(); + if (!mobile) { + message.warning('请输入新手机号'); + return; + } + if (!/^1[3-9]\d{9}$/.test(mobile)) { + message.warning('请输入正确的11位手机号'); + return; + } + mobileEditLoading.value = true; + try { + await updateAgentMobile({ agent_id: String(row.id), mobile }); + message.success('手机号修改成功'); + closeMobileEdit(); + onRefresh(); + } catch { + message.error('手机号修改失败'); + } finally { + mobileEditLoading.value = false; + } +} // 代理降级弹窗 const [DowngradeModalComponent, downgradeModalApi] = useVbenModal({ @@ -196,10 +232,6 @@ function onActionClick( onViewCommission(e.row); break; } - case 'edit-mobile': { - onEditMobile(e.row); - break; - } case 'edit': { onEdit(e.row); break; @@ -295,7 +327,6 @@ function onRefresh() { - @@ -320,6 +351,9 @@ function onRefresh() { + + +
+ + + + + + + +
+ + +
+
+
+
diff --git a/apps/web-antd/src/views/order/order/data.ts b/apps/web-antd/src/views/order/order/data.ts index fab7684..fc7392b 100644 --- a/apps/web-antd/src/views/order/order/data.ts +++ b/apps/web-antd/src/views/order/order/data.ts @@ -143,6 +143,21 @@ export function useColumns( export function useGridFormSchema(): VbenFormSchema[] { return [ + { + component: 'Input', + fieldName: 'query_subject_name', + label: '被查询人姓名', + }, + { + component: 'Input', + fieldName: 'query_subject_mobile', + label: '被查询人手机号', + }, + { + component: 'Input', + fieldName: 'query_subject_id_card', + label: '被查询人身份证', + }, { component: 'Input', fieldName: 'order_no', diff --git a/apps/web-antd/src/views/order/query/query-details.vue b/apps/web-antd/src/views/order/query/query-details.vue index 8c6fdb8..0b04b6d 100644 --- a/apps/web-antd/src/views/order/query/query-details.vue +++ b/apps/web-antd/src/views/order/query/query-details.vue @@ -194,6 +194,12 @@ async function handleConfirmDelete() { {{ queryDetail.update_time }} + + {{ queryDetail.agent_user_name || '--' }} + + + {{ queryDetail.agent_user_mobile || '--' }} +