diff --git a/src/api/sales/category.js b/src/api/sales/category.js index 7f36ee9..d4b29ef 100644 --- a/src/api/sales/category.js +++ b/src/api/sales/category.js @@ -30,7 +30,13 @@ export const remove = (params) => { export const sort = (data) => { return request({ url: '/mall/product/admin/productCategory/updateSort', - method: 'post', + method: 'put', data, }); }; +export const transform = (data) => { + return request({ + url: `/mall/product/admin/productCategory/transfer/${data.sourceId}/${data.targetId}`, + method: 'put', + }); +}; diff --git a/src/api/sales/product.js b/src/api/sales/product.js index 9580089..18d6698 100644 --- a/src/api/sales/product.js +++ b/src/api/sales/product.js @@ -26,6 +26,13 @@ export const update = (data) => { data, }); }; +export const enable = (data) => { + return request({ + url: '/mall/product/admin/product/enable/' + data.id, + method: 'put', + data, + }); +}; export const remove = (params) => { return request({ url: '/mall/product/admin/product', diff --git a/src/components/ElEditor.vue b/src/components/ElEditor.vue index 7af2c41..d014ca6 100644 --- a/src/components/ElEditor.vue +++ b/src/components/ElEditor.vue @@ -75,8 +75,9 @@ { deep: true } ); const handleReady = () => { - unref(editor).setHTML(attrs.modelValue || ''); + unref(editor)?.setHTML(attrs.modelValue || ''); }; + watch(() => attrs.modelValue, handleReady, { immediate: true }); const handleUpdateContent = () => { content.value = unref(editor).getHTML(); }; diff --git a/src/store/modules/sales/category.js b/src/store/modules/sales/category.js index 4986845..1019c0b 100644 --- a/src/store/modules/sales/category.js +++ b/src/store/modules/sales/category.js @@ -64,10 +64,21 @@ const actions = { } return res; }, - sort: async (context, data) => { + transform: async ({ dispatch }, data) => { + let res = await api.transform(data); + if (res) { + ElMessage.success('保存成功'); + dispatch('search'); + } else { + ElMessage.error('保存失败'); + } + return res; + }, + sort: async ({ dispatch }, data) => { let res = await api.sort(data); if (res) { ElMessage.success(`移动前序号:${data.oldSort + 1};移动后序号:${data.currentSort + 1}`); + dispatch('search'); } else { ElMessage.error('保存排序失败'); } diff --git a/src/store/modules/sales/product.js b/src/store/modules/sales/product.js index 55dd755..b6420c4 100644 --- a/src/store/modules/sales/product.js +++ b/src/store/modules/sales/product.js @@ -111,6 +111,16 @@ const actions = { } return res; }, + enable: async ({ dispatch }, data) => { + let res = await api.enable(data); + if (res) { + ElMessage.success('保存成功'); + dispatch('search'); + } else { + ElMessage.error('保存失败'); + } + return res; + }, sort: async (context, data) => { let res = await api.sort(data); if (res) { diff --git a/src/views/sales/category/form.vue b/src/views/sales/category/form.vue index 9bb5912..505d440 100644 --- a/src/views/sales/category/form.vue +++ b/src/views/sales/category/form.vue @@ -76,6 +76,9 @@ Object.assign(form, res); } } + if (route.query.pid && !form.parentId) { + form.parentId = +route.query.pid; + } }; onActivated(handleLoad); /* 交互 */ diff --git a/src/views/sales/category/index.vue b/src/views/sales/category/index.vue index 0b35e23..d7573ab 100644 --- a/src/views/sales/category/index.vue +++ b/src/views/sales/category/index.vue @@ -1,38 +1,53 @@