diff --git a/.env b/.env index 6aa2094..b0b3475 100644 --- a/.env +++ b/.env @@ -1,2 +1,2 @@ VITE_BASE_URL=/api -VITE_REQUEST_TIMEOUT=10000 +VITE_REQUEST_TIMEOUT=5000 diff --git a/src/api/sales/order.js b/src/api/sales/order.js index 19c8815..1dfc663 100644 --- a/src/api/sales/order.js +++ b/src/api/sales/order.js @@ -59,6 +59,12 @@ export const close = (data) => { data, }); }; +export const searchShip = () => { + return request({ + url: '/mall/trade/admin/tradeOrder/logisticsCompany', + method: 'get', + }); +}; export const send = (data) => { return request({ url: '/mall/trade/admin/tradeOrder/delivery', diff --git a/src/router/modules/sales.js b/src/router/modules/sales.js index 1b88a18..959767f 100644 --- a/src/router/modules/sales.js +++ b/src/router/modules/sales.js @@ -15,7 +15,7 @@ export default [ component: () => import('@/views/sales/order/index.vue'), meta: { title: '订单管理', - icon: 'barcode-box-fill', + icon: 'Checked', }, children: [ { @@ -24,7 +24,7 @@ export default [ component: () => import('@/views/sales/order/detail.vue'), meta: { title: '订单详情', - icon: 'barcode-box-fill', + icon: 'Checked', hidden: true, }, }, @@ -34,7 +34,7 @@ export default [ component: () => import('@/views/sales/order/ship.vue'), meta: { title: '批量发货', - icon: 'barcode-box-fill', + icon: 'Van', hidden: true, }, }, @@ -67,7 +67,7 @@ export default [ component: () => import('@/views/sales/category/index.vue'), meta: { title: '商品分类', - icon: 'barcode-box-fill', + icon: 'TakeawayBox', }, children: [ { @@ -76,7 +76,7 @@ export default [ component: () => import('@/views/sales/category/form.vue'), meta: { title: '创建分类', - icon: 'barcode-box-fill', + icon: 'TakeawayBox', hidden: true, }, }, @@ -86,7 +86,7 @@ export default [ component: () => import('@/views/sales/category/form.vue'), meta: { title: '编辑分类', - icon: 'barcode-box-fill', + icon: 'TakeawayBox', hidden: true, }, }, @@ -98,7 +98,7 @@ export default [ component: () => import('@/views/sales/product/index.vue'), meta: { title: '商品管理', - icon: 'barcode-box-fill', + icon: 'MessageBox', }, children: [ { @@ -107,7 +107,7 @@ export default [ component: () => import('@/views/sales/product/form/index.vue'), meta: { title: '创建商品', - icon: 'barcode-box-fill', + icon: 'MessageBox', hidden: true, }, }, @@ -117,7 +117,7 @@ export default [ component: () => import('@/views/sales/product/form/index.vue'), meta: { title: '编辑商品', - icon: 'barcode-box-fill', + icon: 'MessageBox', hidden: true, }, }, diff --git a/src/store/modules/sales/orderShip.js b/src/store/modules/sales/orderShip.js index b497db8..490be5c 100644 --- a/src/store/modules/sales/orderShip.js +++ b/src/store/modules/sales/orderShip.js @@ -34,7 +34,7 @@ const actions = { load: async ({ commit }) => { commit('setOpts', { init: true, - company: [{ label: '顺丰', value: 'sf' }], + company: await api.searchShip(), }); }, save: async ({ rootState }, data) => { diff --git a/src/views/sales/order/ship.vue b/src/views/sales/order/ship.vue index a25ba1c..4f1685a 100644 --- a/src/views/sales/order/ship.vue +++ b/src/views/sales/order/ship.vue @@ -51,11 +51,6 @@ autoSearch: false, page: false, columns: [ - { - type: 'selection', - fixed: 'left', - width: 60, - }, { label: '订单编号', prop: 'orderNo', @@ -81,7 +76,13 @@ label: '配送方式', width: 120, slots: { - default: ({ row }) => , + default: ({ row }) => ( + + ), }, }, { diff --git a/src/views/sales/product/form/step2.vue b/src/views/sales/product/form/step2.vue index aa44bca..d3c6ad0 100644 --- a/src/views/sales/product/form/step2.vue +++ b/src/views/sales/product/form/step2.vue @@ -130,7 +130,16 @@ const id = route.params.id; if (id && id !== state.form.id) { state.form.id = id; - let res = await store.dispatch('productSkus/search', id); + let res = await store.dispatch('productAttrsGroup/search', id); + let arr = []; + res.forEach((item) => { + arr.push( + store.dispatch('productAttrsValue/search', item.id).then((res) => (item.values = res)) + ); + }); + await Promise.all(arr); + state.form.attrsGroupList = res; + res = await store.dispatch('productSkus/search', id); state.form.skuInfos = res.map((item) => { return { ...item, @@ -140,15 +149,6 @@ stockAfter: item.stock, }; }); - res = await store.dispatch('productAttrsGroup/search', id); - let arr = []; - res.forEach((item) => { - arr.push( - store.dispatch('productAttrsValue/search', item.id).then((res) => (item.values = res)) - ); - }); - await Promise.all(arr); - state.form.attrsGroupList = res; } }; onActivated(handleLoad); @@ -247,6 +247,7 @@ }); if (res) { sku.values = await store.dispatch('productAttrsValue/search', sku.id); + state.skuValue[index] = null; } else { proxy.$message.error('添加属性值失败'); } @@ -282,13 +283,11 @@ attributeSymbolList: item.attributeSymbolList.join(','), }; }); - await store.dispatch('productSkus/save', { id: route.params.id, data }); if (enable) { - let product = await store.dispatch('product/detail', route.params.id); - product.isEnable = true; - await store.dispatch('product/save', product); + await store.dispatch('product/enable', { id: route.params.id, isEnable: true }); } - await handleLoad(); + await store.dispatch('productSkus/save', { id: route.params.id, data }); + router.push({ name: 'ProductManagement' }); } state.loading = false; }; diff --git a/src/views/sales/product/index.vue b/src/views/sales/product/index.vue index 3b43d98..62b174a 100644 --- a/src/views/sales/product/index.vue +++ b/src/views/sales/product/index.vue @@ -32,8 +32,6 @@