import type { VbenFormSchema } from '#/adapter/form'; import type { VxeTableGridOptions } from '#/adapter/vxe-table'; import { getRebateTypeName } from '#/utils/agent'; export function useRebateColumns(): VxeTableGridOptions['columns'] { return [ { field: 'id', title: 'ID', width: 80, }, { field: 'agent_id', title: '代理ID', width: 100, }, { field: 'source_agent_id', title: '来源代理ID', width: 120, }, { field: 'order_id', title: '订单ID', width: 100, }, { field: 'rebate_type', title: '返佣类型', width: 140, formatter: ({ cellValue }: { cellValue: number }) => { return getRebateTypeName(cellValue); }, }, { field: 'amount', title: '返佣金额', width: 120, formatter: ({ cellValue }: { cellValue: number }) => `¥${cellValue.toFixed(2)}`, }, { field: 'create_time', title: '创建时间', width: 160, sortable: true, }, ] as const; } export function useRebateFormSchema(): VbenFormSchema[] { return [ { component: 'InputNumber', fieldName: 'agent_id', label: '代理ID', }, { component: 'InputNumber', fieldName: 'source_agent_id', label: '来源代理ID', }, { component: 'Select', fieldName: 'rebate_type', label: '返佣类型', componentProps: { allowClear: true, options: [ { label: '直接上级返佣', value: 1 }, { label: '钻石上级返佣', value: 2 }, { label: '黄金上级返佣', value: 3 }, ], }, }, ]; }