Browse Source

feat: add PointRecord

main
xingyu 2 years ago
parent
commit
2176878406
  1. 14
      src/utils/dict.ts
  2. 22
      src/views/member/point/record/index.vue
  3. 82
      src/views/member/point/record/record.data.ts

14
src/utils/dict.ts

@ -127,18 +127,24 @@ export enum DICT_TYPE {
MP_AUTO_REPLY_REQUEST_MATCH = 'mp_auto_reply_request_match', // 自动回复请求匹配类型
MP_MESSAGE_TYPE = 'mp_message_type', // 消息类型
// ========== MALL - PRODUCT 模块 ==========
PRODUCT_SPU_STATUS = 'product_spu_status', // 商品 SPU 状态
// ========== MALL - 会员模块 ==========
MEMBER_POINT_BIZ_TYPE = 'member_point_biz_type', // 积分的业务类型
// ========== MALL - ORDER 模块 ==========
// ========== MALL - 商品模块 ==========
PRODUCT_UNIT = 'product_unit', // 商品单位
PRODUCT_SPU_STATUS = 'product_spu_status', // 商品状态
// ========== MALL - 交易模块 ==========
EXPRESS_CHARGE_MODE = 'trade_delivery_express_charge_mode', // 快递的计费方式
TRADE_AFTER_SALE_STATUS = 'trade_after_sale_status', // 售后 - 状态
TRADE_AFTER_SALE_WAY = 'trade_after_sale_way', // 售后 - 方式
TRADE_AFTER_SALE_TYPE = 'trade_after_sale_type', // 售后 - 类型
TRADE_ORDER_TYPE = 'trade_order_type', // 订单 - 类型
TRADE_ORDER_STATUS = 'trade_order_status', // 订单 - 状态
TRADE_ORDER_ITEM_AFTER_SALE_STATUS = 'trade_order_item_after_sale_status', // 订单项 - 售后状态
TERMINAL = 'terminal', // 终端
// ========== MALL - PROMOTION 模块 ==========
// ========== MALL - 营销模块 ==========
PROMOTION_DISCOUNT_TYPE = 'promotion_discount_type', // 优惠类型
PROMOTION_PRODUCT_SCOPE = 'promotion_product_scope', // 营销的商品范围
PROMOTION_COUPON_TEMPLATE_VALIDITY_TYPE = 'promotion_coupon_template_validity_type', // 优惠劵模板的有限期类型

22
src/views/member/point/record/index.vue

@ -1,3 +1,23 @@
<script lang="ts" setup>
defineOptions({ name: 'MemberPointConfig' })
import { columns, searchFormSchema } from './record.data'
import { BasicTable, useTable } from '@/components/Table'
import { getRecordPage } from '@/api/member/point/record'
defineOptions({ name: 'PointRecord' })
const [registerTable, { reload }] = useTable({
title: '积分记录列表',
api: getRecordPage,
columns,
formConfig: { labelWidth: 120, schemas: searchFormSchema },
useSearchForm: true,
showTableSetting: true,
showIndexColumn: false,
})
</script>
<template>
<div>
<BasicTable @register="registerTable" />
</div>
</template>

82
src/views/member/point/record/record.data.ts

@ -0,0 +1,82 @@
import type { BasicColumn, FormSchema } from '@/components/Table'
import { useRender } from '@/components/Table'
import { DICT_TYPE, getDictOptions } from '@/utils/dict'
export const columns: BasicColumn[] = [
{
title: '编号',
dataIndex: 'id',
width: 100,
},
{
title: '用户',
dataIndex: 'nickname',
width: 200,
},
{
title: '获得积分',
dataIndex: 'point',
width: 100,
customRender: ({ text }) => {
return useRender.renderTag(text, text > 0 ? 'blue' : 'red')
},
},
{
title: '总积分',
dataIndex: 'totalPoint',
width: 100,
},
{
title: '标题',
dataIndex: 'title',
width: 180,
},
{
title: '描述',
dataIndex: 'description',
width: 180,
},
{
title: '业务编码',
dataIndex: 'bizId',
width: 100,
},
{
title: '业务类型',
dataIndex: 'bizType',
width: 100,
customRender: ({ text }) => {
return useRender.renderDict(text, DICT_TYPE.MEMBER_POINT_BIZ_TYPE)
},
},
]
export const searchFormSchema: FormSchema[] = [
{
label: '用户',
field: 'nickname',
component: 'Input',
colProps: { span: 8 },
},
{
label: '业务类型',
field: 'bizType',
component: 'Select',
componentProps: {
options: getDictOptions(DICT_TYPE.MEMBER_POINT_BIZ_TYPE),
},
colProps: { span: 8 },
},
{
label: '积分标题',
field: 'title',
component: 'Input',
colProps: { span: 8 },
},
{
label: '获得时间',
field: 'createTime',
component: 'RangePicker',
colProps: { span: 8 },
},
]
Loading…
Cancel
Save