diff --git a/apps/bdrp-admin-web/src/api.zip b/apps/bdrp-admin-web/src/api.zip new file mode 100644 index 0000000..2844662 Binary files /dev/null and b/apps/bdrp-admin-web/src/api.zip differ diff --git a/apps/bdrp-admin-web/src/api/agent/agent.ts b/apps/bdrp-admin-web/src/api/agent/agent.ts index 6404f7e..0192101 100644 --- a/apps/bdrp-admin-web/src/api/agent/agent.ts +++ b/apps/bdrp-admin-web/src/api/agent/agent.ts @@ -24,6 +24,14 @@ export namespace AgentApi { items: AgentListItem[]; } + export interface UpdateAgentRequest { + id: number; + mobile: string; + level_name: string; + region: string; + membership_expiry_time: string; + } + export interface GetAgentListParams { page: number; pageSize: number; @@ -135,6 +143,7 @@ export namespace AgentApi { agent_id?: number; status?: number; withdraw_no?: string; + withdraw_type?: number; } // 提现统计数据 @@ -272,7 +281,7 @@ export interface GetAgentLinkProductStatisticsParams {} payment_method: 'alipay' | 'appleiap' | 'other' | 'wechat'; order_no: string; platform_order_id: string; - status: 'cancelled' | 'failed' | 'pending' | 'success'; + status: 'closed' | 'failed' | 'paid' | 'pending' | 'refunded'; create_time: string; } @@ -409,6 +418,13 @@ async function getAgentList(params: AgentApi.GetAgentListParams) { }); } +/** + * 编辑代理 + */ +async function updateAgent(params: AgentApi.UpdateAgentRequest) { + return requestClient.post<{ success: boolean }>('/agent/update', params); +} + /** * 获取代理推广链接列表 */ @@ -694,6 +710,7 @@ export { getAgentLinkList, getAgentLinkProductStatistics, getAgentList, + updateAgent, getAgentMembershipConfigList, getAgentOrderStatistics, getAgentPlatformDeductionList, diff --git a/apps/bdrp-admin-web/src/api/order/order.ts b/apps/bdrp-admin-web/src/api/order/order.ts index 086817d..e614063 100644 --- a/apps/bdrp-admin-web/src/api/order/order.ts +++ b/apps/bdrp-admin-web/src/api/order/order.ts @@ -17,7 +17,6 @@ export namespace OrderApi { create_time: string; pay_time: null | string; refund_time: null | string; - is_promotion: 0 | 1; } export interface OrderList { diff --git a/apps/bdrp-admin-web/src/views.zip b/apps/bdrp-admin-web/src/views.zip new file mode 100644 index 0000000..114a83a Binary files /dev/null and b/apps/bdrp-admin-web/src/views.zip differ diff --git a/apps/bdrp-admin-web/src/views/agent/agent-commission-deduction/list.vue b/apps/bdrp-admin-web/src/views/agent/agent-commission-deduction/list.vue index 289d960..d304ed1 100644 --- a/apps/bdrp-admin-web/src/views/agent/agent-commission-deduction/list.vue +++ b/apps/bdrp-admin-web/src/views/agent/agent-commission-deduction/list.vue @@ -36,16 +36,17 @@ const [Grid] = useVbenVxeGrid({ columns: useCommissionDeductionColumns(), proxyConfig: { ajax: { - query: async ({ - form, - page, - }: { - form: Record; - page: QueryParams; - }) => { + query: async ( + { page, form }: { page: QueryParams; form?: Record }, + formValues: Record, + ) => { + const filters = + formValues && Object.keys(formValues).length > 0 + ? formValues + : (form ?? {}); return await getAgentCommissionDeductionList({ ...queryParams.value, - ...form, + ...filters, page: page.currentPage, pageSize: page.pageSize, }); diff --git a/apps/bdrp-admin-web/src/views/agent/agent-commission/list.vue b/apps/bdrp-admin-web/src/views/agent/agent-commission/list.vue index 0d9f3f1..8d1dd19 100644 --- a/apps/bdrp-admin-web/src/views/agent/agent-commission/list.vue +++ b/apps/bdrp-admin-web/src/views/agent/agent-commission/list.vue @@ -384,9 +384,13 @@ const [Grid, gridApi] = useVbenVxeGrid({ proxyConfig: { ajax: { query: async ({ page, form, sort }: any, formValues: Record) => { + const filters = + formValues && Object.keys(formValues).length > 0 + ? formValues + : (form ?? {}); return await getAgentCommissionList({ ...queryParams.value, - ...formValues, + ...filters, page: page.currentPage, pageSize: page.pageSize, }); diff --git a/apps/bdrp-admin-web/src/views/agent/agent-links/list.vue b/apps/bdrp-admin-web/src/views/agent/agent-links/list.vue index be38407..79d3a42 100644 --- a/apps/bdrp-admin-web/src/views/agent/agent-links/list.vue +++ b/apps/bdrp-admin-web/src/views/agent/agent-links/list.vue @@ -33,16 +33,17 @@ const [Grid] = useVbenVxeGrid({ columns: useLinkColumns(), proxyConfig: { ajax: { - query: async ({ - page, - form, - }: { - form: Record; - page: QueryParams; - }) => { + query: async ( + { page, form }: { page: QueryParams; form?: Record }, + formValues: Record, + ) => { + const filters = + formValues && Object.keys(formValues).length > 0 + ? formValues + : (form ?? {}); return await getAgentLinkList({ ...queryParams.value, - ...form, + ...filters, page: page.currentPage, pageSize: page.pageSize, }); diff --git a/apps/bdrp-admin-web/src/views/agent/agent-list/data.ts b/apps/bdrp-admin-web/src/views/agent/agent-list/data.ts index 04787e7..db538c6 100644 --- a/apps/bdrp-admin-web/src/views/agent/agent-list/data.ts +++ b/apps/bdrp-admin-web/src/views/agent/agent-list/data.ts @@ -11,10 +11,18 @@ export function useFormSchema(): VbenFormSchema[] { rules: 'required', }, { - component: 'Input', + component: 'Select', fieldName: 'level_name', - label: '等级名称', + label: '代理等级', rules: 'required', + componentProps: { + allowClear: false, + options: [ + { label: '普通代理', value: 'normal' }, + { label: 'VIP会员', value: 'VIP' }, + { label: 'SVIP会员', value: 'SVIP' }, + ], + }, }, { component: 'Input', @@ -28,7 +36,9 @@ export function useFormSchema(): VbenFormSchema[] { label: '会员到期时间', rules: 'required', componentProps: { + format: 'YYYY-MM-DD HH:mm:ss', showTime: true, + valueFormat: 'YYYY-MM-DD HH:mm:ss', }, }, ]; @@ -50,7 +60,7 @@ export function useGridFormSchema(): VbenFormSchema[] { { component: 'RangePicker', fieldName: 'create_time', - label: '创建时间', + label: '成为代理时间', componentProps: { showTime: true, }, @@ -72,12 +82,18 @@ export function useColumns(): VxeTableGridOptions['columns'] { }, { field: 'level_name', - title: '等级名称', + title: '代理等级', width: 120, formatter: ({ cellValue }: { cellValue: string }) => { if (cellValue === '' || cellValue === 'normal') { return '普通代理'; } + if (cellValue === 'VIP') { + return 'VIP会员'; + } + if (cellValue === 'SVIP') { + return 'SVIP会员'; + } return cellValue; }, }, diff --git a/apps/bdrp-admin-web/src/views/agent/agent-list/list.vue b/apps/bdrp-admin-web/src/views/agent/agent-list/list.vue index 4e6e12b..99c375a 100644 --- a/apps/bdrp-admin-web/src/views/agent/agent-list/list.vue +++ b/apps/bdrp-admin-web/src/views/agent/agent-list/list.vue @@ -120,7 +120,14 @@ const [Grid, gridApi] = useVbenVxeGrid({ }, proxyConfig: { ajax: { - query: async ({ page, sort }, formValues) => { + query: async ( + { page, sort, form }: { page: { currentPage: number; pageSize: number }; sort?: any; form?: Record }, + formValues: Record, + ) => { + const filters = + formValues && Object.keys(formValues).length > 0 + ? formValues + : (form ?? {}); const sortParams = sort ? { order_by: sort.field, @@ -131,7 +138,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ const res = await getAgentList({ page: page.currentPage, pageSize: page.pageSize, - ...formValues, + ...filters, ...sortParams, parent_agent_id: route.query.parent_agent_id ? Number(route.query.parent_agent_id) diff --git a/apps/bdrp-admin-web/src/views/agent/agent-list/modules/balance-modal.vue b/apps/bdrp-admin-web/src/views/agent/agent-list/modules/balance-modal.vue index f8451b7..92b1662 100644 --- a/apps/bdrp-admin-web/src/views/agent/agent-list/modules/balance-modal.vue +++ b/apps/bdrp-admin-web/src/views/agent/agent-list/modules/balance-modal.vue @@ -1,7 +1,7 @@