diff --git a/src/api/point/config/index.ts b/src/api/member/point/config/index.ts
similarity index 72%
rename from src/api/point/config/index.ts
rename to src/api/member/point/config/index.ts
index 00adc3f126bdf915840a1e9c9da60c3a79fe52c4..9a3c4c48abbc34d66491b62fa3e61e21434b5186 100644
--- a/src/api/point/config/index.ts
+++ b/src/api/member/point/config/index.ts
@@ -10,10 +10,10 @@ export interface ConfigVO {
// 查询积分设置详情
export const getConfig = async () => {
- return await request.get({ url: `/point/config/get` })
+ return await request.get({ url: `/member/point/config/get` })
}
// 新增修改积分设置
export const saveConfig = async (data: ConfigVO) => {
- return await request.put({ url: `/point/config/save`, data })
+ return await request.put({ url: `/member/point/config/save`, data })
}
diff --git a/src/api/point/record/index.ts b/src/api/member/point/record/index.ts
similarity index 30%
rename from src/api/point/record/index.ts
rename to src/api/member/point/record/index.ts
index 15eaff354f09d5eaa7f9da9bfa64e8a9f9872b0f..1c60f7546bd7b329aa65d1f0dd127cc1eedc73a4 100644
--- a/src/api/point/record/index.ts
+++ b/src/api/member/point/record/index.ts
@@ -4,7 +4,6 @@ export interface RecordVO {
id: number
bizId: string
bizType: string
- type: string
title: string
description: string
point: number
@@ -18,30 +17,5 @@ export interface RecordVO {
// 查询用户积分记录列表
export const getRecordPage = async (params) => {
- return await request.get({ url: `/point/record/page`, params })
-}
-
-// 查询用户积分记录详情
-export const getRecord = async (id: number) => {
- return await request.get({ url: `/point/record/get?id=` + id })
-}
-
-// 新增用户积分记录
-export const createRecord = async (data: RecordVO) => {
- return await request.post({ url: `/point/record/create`, data })
-}
-
-// 修改用户积分记录
-export const updateRecord = async (data: RecordVO) => {
- return await request.put({ url: `/point/record/update`, data })
-}
-
-// 删除用户积分记录
-export const deleteRecord = async (id: number) => {
- return await request.delete({ url: `/point/record/delete?id=` + id })
-}
-
-// 导出用户积分记录 Excel
-export const exportRecord = async (params) => {
- return await request.download({ url: `/point/record/export-excel`, params })
+ return await request.get({ url: `/member/point/record/page`, params })
}
diff --git a/src/api/point/signInConfig/index.ts b/src/api/member/signin/config/index.ts
similarity index 44%
rename from src/api/point/signInConfig/index.ts
rename to src/api/member/signin/config/index.ts
index 3786c06ee6d6849480f07b6c0873bb061b8b459b..833c2e1640182472ff2e13cac3458eb1a91ab86d 100644
--- a/src/api/point/signInConfig/index.ts
+++ b/src/api/member/signin/config/index.ts
@@ -2,36 +2,32 @@ import request from '@/config/axios'
export interface SignInConfigVO {
id: number
- day: number
- point: number
+ day: number | null
+ point: number | null
+ enable: boolean | null
}
// 查询积分签到规则列表
-export const getSignInConfigPage = async (params) => {
- return await request.get({ url: `/point/sign-in-config/page`, params })
+export const getSignInConfigList = async () => {
+ return await request.get({ url: `/member/point/sign-in-config/list` })
}
// 查询积分签到规则详情
export const getSignInConfig = async (id: number) => {
- return await request.get({ url: `/point/sign-in-config/get?id=` + id })
+ return await request.get({ url: `/member/point/sign-in-config/get?id=` + id })
}
// 新增积分签到规则
export const createSignInConfig = async (data: SignInConfigVO) => {
- return await request.post({ url: `/point/sign-in-config/create`, data })
+ return await request.post({ url: `/member/point/sign-in-config/create`, data })
}
// 修改积分签到规则
export const updateSignInConfig = async (data: SignInConfigVO) => {
- return await request.put({ url: `/point/sign-in-config/update`, data })
+ return await request.put({ url: `/member/point/sign-in-config/update`, data })
}
// 删除积分签到规则
export const deleteSignInConfig = async (id: number) => {
- return await request.delete({ url: `/point/sign-in-config/delete?id=` + id })
-}
-
-// 导出积分签到规则 Excel
-export const exportSignInConfig = async (params) => {
- return await request.download({ url: `/point/sign-in-config/export-excel`, params })
+ return await request.delete({ url: `/member/point/sign-in-config/delete?id=` + id })
}
diff --git a/src/api/member/signin/record/index.ts b/src/api/member/signin/record/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..94df2029936825862370a65d5d75ca5beac4d3f7
--- /dev/null
+++ b/src/api/member/signin/record/index.ts
@@ -0,0 +1,13 @@
+import request from '@/config/axios'
+
+export interface SignInRecordVO {
+ id: number
+ userId: number
+ day: number
+ point: number
+}
+
+// 查询用户签到积分列表
+export const getSignInRecordPage = async (params) => {
+ return await request.get({ url: `/member/point/sign-in-record/page`, params })
+}
diff --git a/src/api/member/tag/index.ts b/src/api/member/tag/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..04d0536c88026c2ad74dff9559c1c66a4bbdd965
--- /dev/null
+++ b/src/api/member/tag/index.ts
@@ -0,0 +1,31 @@
+import request from '@/config/axios'
+
+export interface TagVO {
+ id: number
+ name: string
+}
+
+// 查询会员标签列表
+export const getMemberTagPage = async (params) => {
+ return await request.get({ url: `/member/tag/page`, params })
+}
+
+// 查询会员标签详情
+export const getMemberTag = async (id: number) => {
+ return await request.get({ url: `/member/tag/get?id=` + id })
+}
+
+// 新增会员标签
+export const createMemberTag = async (data: TagVO) => {
+ return await request.post({ url: `/member/tag/create`, data })
+}
+
+// 修改会员标签
+export const updateMemberTag = async (data: TagVO) => {
+ return await request.put({ url: `/member/tag/update`, data })
+}
+
+// 删除会员标签
+export const deleteMemberTag = async (id: number) => {
+ return await request.delete({ url: `/member/tag/delete?id=` + id })
+}
diff --git a/src/api/point/signInRecord/index.ts b/src/api/point/signInRecord/index.ts
deleted file mode 100644
index 0f9b9f6472beb9daf8fb28e5311d537e491e2aa0..0000000000000000000000000000000000000000
--- a/src/api/point/signInRecord/index.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import request from '@/config/axios'
-
-export interface SignInRecordVO {
- id: number
- userId: number
- day: number
- point: number
-}
-
-// 查询用户签到积分列表
-export const getSignInRecordPage = async (params) => {
- return await request.get({ url: `/point/sign-in-record/page`, params })
-}
-
-// 查询用户签到积分详情
-export const getSignInRecord = async (id: number) => {
- return await request.get({ url: `/point/sign-in-record/get?id=` + id })
-}
-
-// 新增用户签到积分
-export const createSignInRecord = async (data: SignInRecordVO) => {
- return await request.post({ url: `/point/sign-in-record/create`, data })
-}
-
-// 修改用户签到积分
-export const updateSignInRecord = async (data: SignInRecordVO) => {
- return await request.put({ url: `/point/sign-in-record/update`, data })
-}
-
-// 删除用户签到积分
-export const deleteSignInRecord = async (id: number) => {
- return await request.delete({ url: `/point/sign-in-record/delete?id=` + id })
-}
-
-// 导出用户签到积分 Excel
-export const exportSignInRecord = async (params) => {
- return await request.download({ url: `/point/sign-in-record/export-excel`, params })
-}
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index 6ca4871628351ec8c23da56edbc00e61c2c06ed0..52045c9a2b4a12c91851b211f62902a83bfac326 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -142,7 +142,6 @@ export enum DICT_TYPE {
// ========== MALL - 会员模块 ==========
MEMBER_POINT_BIZ_TYPE = 'member_point_biz_type', // 积分的业务类型
- MEMBER_POINT_STATUS = 'member_point_status', // 积分的状态
// ========== MALL - 商品模块 ==========
PRODUCT_UNIT = 'product_unit', // 商品单位
diff --git a/src/views/member/point/config/index.vue b/src/views/member/point/config/index.vue
index 0fd1484f15a94d3faee681c6c957661be1048c6a..27c52085f5a0ff45fcc034598df61bf8018a6ff1 100644
--- a/src/views/member/point/config/index.vue
+++ b/src/views/member/point/config/index.vue
@@ -10,26 +10,36 @@
-
-
-
+
+
-
-
+
+ 下单积分是否抵用订单金额
+
+
-
+
+
+ 积分抵用比例(1 积分抵多少金额),单位:元
+
+
+
-
+
+ 单次下单积分使用上限,0 不限制
+
+
- 提交
+
+ 下单支付金额按比例赠送积分(实际支付 1 元赠送多少积分)
+
+
+
+ 保存
+
+
diff --git a/src/views/member/point/record/RecordForm.vue b/src/views/member/point/record/RecordForm.vue
deleted file mode 100644
index a75eb9a5b4b0889425c0ae84101deac12c76f813..0000000000000000000000000000000000000000
--- a/src/views/member/point/record/RecordForm.vue
+++ /dev/null
@@ -1,180 +0,0 @@
-
-
-
-
diff --git a/src/views/member/point/record/index.vue b/src/views/member/point/record/index.vue
index 517410f705329c4f3f5ed7ad5a4d28a21c5b1da9..a21cd85c361147a49635d9432f62cd7a6d4b9399 100644
--- a/src/views/member/point/record/index.vue
+++ b/src/views/member/point/record/index.vue
@@ -8,10 +8,10 @@
:inline="true"
label-width="68px"
>
-
+
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
+
+
+ 搜索
+
+
+
+ 重置
+
@@ -78,53 +68,32 @@
-
-
-
-
-
+
-
-
-
-
-
-
+
+
-
+
+ +{{ scope.row.point }}
+
+ {{ scope.row.point }}
-
+
+
+
+
+
-
+
-
-
diff --git a/src/views/member/tag/index.vue b/src/views/member/tag/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..05a886a73851fcd5269f9f22f9c682260c4a0f32
--- /dev/null
+++ b/src/views/member/tag/index.vue
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/member/user/UserForm.vue b/src/views/member/user/UserForm.vue
index a6d025824843ba8bc0cb9c658931ced37b018a7d..c10d3fea5d9db7b0ef73654f1c37a61823ba18bf 100644
--- a/src/views/member/user/UserForm.vue
+++ b/src/views/member/user/UserForm.vue
@@ -57,6 +57,9 @@
:render-after-expand="true"
/>
+
+
+
@@ -72,6 +75,7 @@ import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import * as UserApi from '@/api/member/user'
import * as AreaApi from '@/api/system/area'
import { defaultProps } from '@/utils/tree'
+import MemberTagSelect from '@/views/member/tag/components/MemberTagSelect.vue'
const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗
@@ -90,7 +94,8 @@ const formData = ref({
sex: undefined,
areaId: undefined,
birthday: undefined,
- mark: undefined
+ mark: undefined,
+ tagIds: []
})
const formRules = reactive({
mobile: [{ required: true, message: '手机号不能为空', trigger: 'blur' }],
@@ -163,7 +168,8 @@ const resetForm = () => {
areaId: undefined,
birthday: undefined,
mark: undefined,
- createTime: undefined
+ createTime: undefined,
+ tagIds: []
}
formRef.value?.resetFields()
}
diff --git a/src/views/member/user/index.vue b/src/views/member/user/index.vue
index 925eca04fc70fcbecf691b0d4407e67e24686ebc..0389de37e02850cf8757d6314895ff695e9fc9bb 100644
--- a/src/views/member/user/index.vue
+++ b/src/views/member/user/index.vue
@@ -48,6 +48,9 @@
class="!w-240px"
/>
+
+
+
搜索
重置
@@ -69,6 +72,16 @@
+
+
+ {{ tagName }}
+
+
@@ -119,6 +132,7 @@ import { dateFormatter } from '@/utils/formatTime'
import * as UserApi from '@/api/member/user'
import UserForm from './UserForm.vue'
import { DICT_TYPE } from '@/utils/dict'
+import MemberTagSelect from '@/views/member/tag/components/MemberTagSelect.vue'
defineOptions({ name: 'MemberUser' })
@@ -134,7 +148,8 @@ const queryParams = reactive({
nickname: null,
mobile: null,
loginDate: [],
- createTime: []
+ createTime: [],
+ tagIds: []
})
const queryFormRef = ref() // 搜索的表单
const exportLoading = ref(false) // 导出的加载中