Skip to content

Commit a533095

Browse files
author
puhui999
committed
Merge remote-tracking branch 'yudao/dev' into dev-to-dev
2 parents 2e96b1c + 4571f89 commit a533095

File tree

17 files changed

+145
-475
lines changed

17 files changed

+145
-475
lines changed

src/api/point/config/index.ts

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,12 @@ export interface ConfigVO {
88
tradeGivePoint: number
99
}
1010

11-
// 查询积分设置列表
12-
export const getConfigPage = async (params) => {
13-
return await request.get({ url: `/point/config/page`, params })
14-
}
15-
1611
// 查询积分设置详情
17-
export const getConfig = async (id: number) => {
18-
return await request.get({ url: `/point/config/get?id=` + id })
19-
}
20-
21-
// 新增积分设置
22-
export const createConfig = async (data: ConfigVO) => {
23-
return await request.post({ url: `/point/config/create`, data })
24-
}
25-
26-
// 修改积分设置
27-
export const updateConfig = async (data: ConfigVO) => {
28-
return await request.put({ url: `/point/config/update`, data })
29-
}
30-
31-
// 删除积分设置
32-
export const deleteConfig = async (id: number) => {
33-
return await request.delete({ url: `/point/config/delete?id=` + id })
12+
export const getConfig = async () => {
13+
return await request.get({ url: `/point/config/get` })
3414
}
3515

36-
// 导出积分设置 Excel
37-
export const exportConfig = async (params) => {
38-
return await request.download({ url: `/point/config/export-excel`, params })
16+
// 新增修改积分设置
17+
export const saveConfig = async (data: ConfigVO) => {
18+
return await request.put({ url: `/point/config/save`, data })
3919
}

src/utils/dict.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,8 @@ export enum DICT_TYPE {
146146
MP_MESSAGE_TYPE = 'mp_message_type', // 消息类型
147147

148148
// ========== MALL - 会员模块 ==========
149-
// 积分模块 TODO 芋艿:改成 member_ 前缀;包括枚举和值;
150-
POINT_BIZ_TYPE = 'point_biz_type',
151-
POINT_STATUS = 'point_status',
149+
MEMBER_POINT_BIZ_TYPE = 'member_point_biz_type', // 积分的业务类型
150+
MEMBER_POINT_STATUS = 'member_point_status', // 积分的状态
152151

153152
// ========== MALL - 商品模块 ==========
154153
PRODUCT_UNIT = 'product_unit', // 商品单位

src/views/mall/product/spu/components/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import SkuList from './SkuList.vue'
77

88
import { Spu } from '@/api/mall/product/spu'
99

10+
// TODO @puhui999:Properties 改成 Property 更合适?
1011
interface Properties {
1112
id: number
1213
name: string
@@ -30,8 +31,10 @@ interface RuleConfig {
3031
}
3132

3233
/**
33-
* 商品通用函数
34+
* 获得商品的规格列表
35+
*
3436
* @param spu
37+
* @return Property 规格列表
3538
*/
3639
const getPropertyList = (spu: Spu): Properties[] => {
3740
// 直接拿返回的 skus 属性逆向生成出 propertyList

src/views/mall/product/spu/index.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,7 @@ const categoryList = ref() // 分类树
437437
const categoryString = (categoryId) => {
438438
return treeToString(categoryList.value, categoryId)
439439
}
440+
440441
/**
441442
* 校验所选是否为二级及以下节点
442443
*/
@@ -446,6 +447,7 @@ const nodeClick = () => {
446447
message.warning('必须选择二级及以下节点!!')
447448
}
448449
}
450+
449451
/** 初始化 **/
450452
onMounted(async () => {
451453
await getTabsCount()

src/views/mall/promotion/components/SpuSelect.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,6 @@ const imagePreview = (imgUrl: string) => {
256256
257257
const categoryList = ref() // 分类树
258258
259-
// TODO @puhui999:商品搜索的时候,可以通过一级搜二级;所以这个校验可以去掉哈;也就是说,只允许挂在二级,但是一级可搜索到
260259
/** 初始化 **/
261260
onMounted(async () => {
262261
await getList()

src/views/mall/promotion/components/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ type SpuProperty<T> = {
77
spuDetail: T
88
propertyList: Properties[]
99
}
10+
1011
/**
1112
* 提供商品活动商品选择通用组件
1213
*/

src/views/mall/promotion/seckill/activity/index.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,16 @@ const openForm = (type: string, id?: number) => {
8989
const handleDelete = (id: number) => {
9090
tableMethods.delList(id, false)
9191
}
92+
93+
// TODO @puhui:是不是直接叫 configList 就好啦
9294
const seckillConfigAllSimple = ref([]) // 时段配置精简列表
9395
const convertSeckillConfigNames = computed(
9496
() => (row) =>
9597
seckillConfigAllSimple.value
9698
?.filter((item) => row.configIds.includes(item.id))
9799
?.map((config) => config.name)
98100
)
101+
99102
const expandChange = (row, expandedRows) => {
100103
// TODO puhui:等 CRUD 完事后弄
101104
console.log(row, expandedRows)

src/views/mall/promotion/seckill/activity/seckillActivity.data.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ const crudSchemas = reactive<CrudSchema[]>([
219219
},
220220
{
221221
label: '状态',
222-
field: 'status', // TODO @puhui999:状态在 table 格式化不对;建表插入的数据状态值不对,改为 0 或 1 就好了
222+
field: 'status',
223223
dictType: DICT_TYPE.COMMON_STATUS,
224224
dictClass: 'number',
225225
isForm: false,
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
<template>
2+
<ContentWrap>
3+
<el-form
4+
ref="formRef"
5+
:model="formData"
6+
:rules="formRules"
7+
label-width="120px"
8+
v-loading="formLoading"
9+
>
10+
<el-form-item label="hideId" v-show="false">
11+
<el-input v-model="formData.id" />
12+
</el-form-item>
13+
<!-- TODO @xiaqing:展示给用户的字段名,可以和 crmeb 保持一直,然后每一个表单都有类似 crmeb 的 tip;例如说:积分抵用比例(1积分抵多少金额)单位:元 -->
14+
<el-form-item label="积分抵扣" prop="tradeDeductEnable">
15+
<el-switch v-model="formData.tradeDeductEnable" />
16+
</el-form-item>
17+
<!-- TODO @xiaqing:用户看到的是元,最多 2 位;分是后端的存储哈 -->
18+
<el-form-item label="抵扣单位(分)" prop="tradeDeductUnitPrice">
19+
<el-input-number
20+
v-model="formData.tradeDeductUnitPrice"
21+
placeholder="请输入抵扣单位(分)"
22+
style="width: 300px"
23+
/>
24+
</el-form-item>
25+
<el-form-item label="积分抵扣最大值" prop="tradeDeductMaxPrice">
26+
<el-input-number
27+
v-model="formData.tradeDeductMaxPrice"
28+
placeholder="请输入积分抵扣最大值"
29+
style="width: 300px"
30+
/>
31+
</el-form-item>
32+
<el-form-item label="1 元赠送多少分" prop="tradeGivePoint">
33+
<el-input-number
34+
v-model="formData.tradeGivePoint"
35+
placeholder="请输入 1 元赠送多少积分"
36+
style="width: 300px"
37+
/>
38+
</el-form-item>
39+
<el-form-item>
40+
<el-button type="primary" @click="onSubmit">提交</el-button>
41+
</el-form-item>
42+
</el-form>
43+
</ContentWrap>
44+
</template>
45+
<script lang="ts" setup>
46+
import * as ConfigApi from '@/api/point/config'
47+
48+
const { t } = useI18n() // 国际化
49+
const message = useMessage() // 消息弹窗
50+
51+
const dialogVisible = ref(false) // 弹窗的是否展示
52+
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
53+
const formData = ref({
54+
id: undefined,
55+
tradeDeductEnable: undefined,
56+
tradeDeductUnitPrice: undefined,
57+
tradeDeductMaxPrice: undefined,
58+
tradeGivePoint: undefined
59+
})
60+
const formRules = reactive({})
61+
const formRef = ref() // 表单 Ref
62+
63+
/** 修改积分配置 */
64+
const onSubmit = async () => {
65+
// 校验表单
66+
if (!formRef) return
67+
const valid = await formRef.value.validate()
68+
if (!valid) return
69+
// 提交请求
70+
formLoading.value = true
71+
try {
72+
const data = formData.value as unknown as ConfigApi.ConfigVO
73+
await ConfigApi.saveConfig(data)
74+
message.success(t('common.updateSuccess'))
75+
dialogVisible.value = false
76+
} finally {
77+
formLoading.value = false
78+
}
79+
}
80+
81+
/** 获得积分配置 */
82+
const getConfig = async () => {
83+
try {
84+
const data = await ConfigApi.getConfig()
85+
formData.value = data
86+
} finally {
87+
}
88+
}
89+
90+
onMounted(() => {
91+
getConfig()
92+
})
93+
</script>

src/views/point/record/RecordForm.vue renamed to src/views/member/point/record/RecordForm.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<el-form-item label="业务类型" prop="bizType">
1414
<el-select v-model="formData.bizType" placeholder="请选择业务类型">
1515
<el-option
16-
v-for="dict in getStrDictOptions(DICT_TYPE.POINT_BIZ_TYPE)"
16+
v-for="dict in getStrDictOptions(DICT_TYPE.MEMBER_POINT_BIZ_TYPE)"
1717
:key="dict.value"
1818
:label="dict.label"
1919
:value="dict.value"
@@ -41,7 +41,7 @@
4141
<el-form-item label="积分状态" prop="status">
4242
<el-select v-model="formData.status" placeholder="积分状态">
4343
<el-option
44-
v-for="dict in getIntDictOptions(DICT_TYPE.POINT_STATUS)"
44+
v-for="dict in getIntDictOptions(DICT_TYPE.MEMBER_POINT_STATUS)"
4545
:key="dict.value"
4646
:label="dict.label"
4747
:value="dict.value"
@@ -157,6 +157,7 @@ const submitForm = async () => {
157157
}
158158
}
159159
160+
// TODO @xiaqing:不需要更新操作哇?
160161
/** 重置表单 */
161162
const resetForm = () => {
162163
formData.value = {

0 commit comments

Comments
 (0)