diff --git a/apps/web-antd/src/views/mall/trade/brokerage/user/data.ts b/apps/web-antd/src/views/mall/trade/brokerage/user/data.ts index 0a6c7c4fa..82c0c2853 100644 --- a/apps/web-antd/src/views/mall/trade/brokerage/user/data.ts +++ b/apps/web-antd/src/views/mall/trade/brokerage/user/data.ts @@ -150,3 +150,21 @@ export function useGridColumns( }, ]; } + +/** 创建分销员表单配置 */ +export function useCreateFormSchema(): VbenFormSchema[] { + return [ + { + fieldName: 'userId', + label: '分销员编号', + component: 'InputSearch', + rules: 'required', + }, + { + fieldName: 'bindUserId', + label: '上级推广员编号', + component: 'InputSearch', + rules: 'required', + }, + ]; +} diff --git a/apps/web-antd/src/views/mall/trade/brokerage/user/index.vue b/apps/web-antd/src/views/mall/trade/brokerage/user/index.vue index 7c8b5df4f..7a96dac79 100644 --- a/apps/web-antd/src/views/mall/trade/brokerage/user/index.vue +++ b/apps/web-antd/src/views/mall/trade/brokerage/user/index.vue @@ -15,27 +15,31 @@ import { } from '#/api/mall/trade/brokerage/user'; import { useGridColumns, useGridFormSchema } from './data'; +import CreateForm from './modules/create-form.vue'; import BrokerageOrderListModal from './modules/order-list-modal.vue'; -import BrokerageUserCreateForm from './modules/user-create-form.vue'; import BrokerageUserListModal from './modules/user-list-modal.vue'; import BrokerageUserUpdateForm from './modules/user-update-form.vue'; defineOptions({ name: 'TradeBrokerageUser' }); -const [OrderListModal, orderListModalApi] = useVbenModal({ - connectedComponent: BrokerageOrderListModal, -}); - -const [UserCreateModal, userCreateModalApi] = useVbenModal({ - connectedComponent: BrokerageUserCreateForm, -}); - -const [UserListModal, userListModalApi] = useVbenModal({ - connectedComponent: BrokerageUserListModal, +const [CreateFormModal, createFormModalApi] = useVbenModal({ + connectedComponent: CreateForm, + destroyOnClose: true, }); const [UserUpdateModal, userUpdateModalApi] = useVbenModal({ connectedComponent: BrokerageUserUpdateForm, + destroyOnClose: true, +}); + +const [OrderListModal, orderListModalApi] = useVbenModal({ + connectedComponent: BrokerageOrderListModal, + destroyOnClose: true, +}); + +const [UserListModal, userListModalApi] = useVbenModal({ + connectedComponent: BrokerageUserListModal, + destroyOnClose: true, }); /** 刷新表格 */ @@ -43,6 +47,16 @@ function handleRefresh() { gridApi.query(); } +/** 创建分销员 */ +function handleCreate() { + createFormModalApi.open(); +} + +/** 修改分销员 */ +function handleOpenUpdateForm(row: MallBrokerageUserApi.BrokerageUser) { + userUpdateModalApi.setData(row).open(); +} + /** 打开推广人列表 */ function handleOpenUserList(row: MallBrokerageUserApi.BrokerageUser) { userListModalApi.setData(row).open(); @@ -53,16 +67,6 @@ function handleOpenOrderList(row: MallBrokerageUserApi.BrokerageUser) { orderListModalApi.setData(row).open(); } -/** 打开表单:修改上级推广人 */ -function handleOpenUpdateForm(row: MallBrokerageUserApi.BrokerageUser) { - userUpdateModalApi.setData(row).open(); -} - -/** 创建分销员 */ -function handleCreate() { - userCreateModalApi.open(); -} - /** 清除上级推广人 */ async function handleClearBindUser(row: MallBrokerageUserApi.BrokerageUser) { const hideLoading = message.loading({ @@ -149,6 +153,14 @@ const [Grid, gridApi] = useVbenVxeGrid({ /> + + + + + + + + - - - - - - - - - diff --git a/apps/web-antd/src/views/mall/trade/brokerage/user/modules/create-form.vue b/apps/web-antd/src/views/mall/trade/brokerage/user/modules/create-form.vue new file mode 100644 index 000000000..3caa0718b --- /dev/null +++ b/apps/web-antd/src/views/mall/trade/brokerage/user/modules/create-form.vue @@ -0,0 +1,165 @@ + + +