Skip to content

Commit 0c6e3a3

Browse files
author
puhui999
committed
商品管理: 打通所有接口(第一版)
1 parent 9ee35fc commit 0c6e3a3

File tree

6 files changed

+204
-68
lines changed

6 files changed

+204
-68
lines changed

src/api/mall/product/management/spu.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ import type { SpuType } from './type/spuType'
55
export const getSpuList = (params: any) => {
66
return request.get({ url: '/product/spu/page', params })
77
}
8+
// 获得spu列表tabsCount
9+
export const getTabsCount = () => {
10+
return request.get({ url: '/product/spu/tabsCount' })
11+
}
812
// 创建商品spu
913
export const createSpu = (data: SpuType) => {
1014
return request.post({ url: '/product/spu/create', data })
@@ -13,7 +17,15 @@ export const createSpu = (data: SpuType) => {
1317
export const updateSpu = (data: SpuType) => {
1418
return request.put({ url: '/product/spu/update', data })
1519
}
20+
// 更新商品spu status
21+
export const updateStatus = (data: { id: number; status: number }) => {
22+
return request.put({ url: '/product/spu/updateStatus', data })
23+
}
1624
// 获得商品spu
1725
export const getSpu = (id: number) => {
1826
return request.get({ url: `/product/spu/get-detail?id=${id}` })
1927
}
28+
// 删除商品Spu
29+
export const deleteSpu = (id: number) => {
30+
return request.delete({ url: `/product/spu/delete?id=${id}` })
31+
}

src/utils/constants.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,3 +220,20 @@ export const PayRefundStatusEnum = {
220220
name: '退款关闭'
221221
}
222222
}
223+
/**
224+
* 商品SPU枚举类
225+
*/
226+
export const ProductSpuStatusEnum = {
227+
RECYCLE: {
228+
status: -1,
229+
name: '回收站'
230+
},
231+
DISABLE: {
232+
status: 0,
233+
name: '下架'
234+
},
235+
ENABLE: {
236+
status: 1,
237+
name: '上架'
238+
}
239+
}

src/views/mall/product/management/addForm.vue

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ const getDetail = async () => {
144144
const submitForm = async () => {
145145
// 提交请求
146146
formLoading.value = true
147-
const newSkus = [...formData.value.skus] //复制一份skus保存失败时使用
147+
const newSkus = JSON.parse(JSON.stringify(formData.value.skus)) //深拷贝一份skus保存失败时使用
148148
// TODO 三个表单逐一校验,如果有一个表单校验不通过则切换到对应表单,如果有两个及以上的情况则切换到最前面的一个并弹出提示消息
149149
// 校验各表单
150150
try {
@@ -184,9 +184,12 @@ const submitForm = async () => {
184184
await managementApi.updateSpu(data)
185185
message.success(t('common.updateSuccess'))
186186
}
187+
close()
187188
} catch (e) {
188-
console.log(e)
189-
console.log(newSkus)
189+
// 如果是后端校验失败,恢复skus数据
190+
if (typeof e === 'string') {
191+
formData.value.skus = newSkus
192+
}
190193
} finally {
191194
formLoading.value = false
192195
}

src/views/mall/product/management/components/OtherSettingsForm.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ watch(
117117
(data) => {
118118
if (!data) return
119119
copyValueToTarget(formData.value, data)
120+
// TODO 如果先修改其他设置的值,再改变商品详情或是商品信息会重置其他设置页面中的相关值 下一个版本修复
120121
checkboxGroup.value = []
121122
formData.value.recommendHot ? checkboxGroup.value.push('recommendHot') : ''
122123
formData.value.recommendBenefit ? checkboxGroup.value.push('recommendBenefit') : ''

src/views/mall/product/management/components/SkuList.vue

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,6 @@ const generateTableData = (data: any[]) => {
206206
}
207207
const buildList = build(propertiesItemList)
208208
// 如果构建后的组合数跟sku数量一样的话则不用处理,添加新属性没有属性值也不做处理 (解决编辑表单时或查看详情时数据回显问题)
209-
console.log(
210-
buildList.length === formData.value.skus.length || data.some((item) => item.values.length === 0)
211-
)
212209
if (
213210
buildList.length === formData.value.skus.length ||
214211
data.some((item) => item.values.length === 0)

0 commit comments

Comments
 (0)