From 6ba64586e89f2402c83d29bcf0930eea19708f5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=96=87=E5=8F=AF?= <1041367524@qq.com> Date: Mon, 30 May 2022 17:45:27 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B9=BF=E5=91=8A=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/operation/advertise/index.js | 13 + src/components/ElUploadImage.vue | 10 +- src/components/TableList.vue | 1 + .../modules/operation/advertise/advertise.js | 54 +++- src/views/operation/advertise/form.vue | 249 ++++++++++-------- src/views/operation/advertise/index.vue | 4 +- src/views/sales/product/picker.vue | 19 +- 7 files changed, 209 insertions(+), 141 deletions(-) diff --git a/src/api/operation/advertise/index.js b/src/api/operation/advertise/index.js index 39ba3e5..8dde6a8 100644 --- a/src/api/operation/advertise/index.js +++ b/src/api/operation/advertise/index.js @@ -26,3 +26,16 @@ export const update = (data) => { data, }); }; +export const sort = (data) => { + return request({ + url: '/mall/marketing/advertisement/updateSort', + method: 'put', + data, + }); +}; +export const remove = (id) => { + return request({ + url: '/mall/marketing/advertisement/' + id, + method: 'delete', + }); +}; diff --git a/src/components/ElUploadImage.vue b/src/components/ElUploadImage.vue index d74f52b..042de75 100644 --- a/src/components/ElUploadImage.vue +++ b/src/components/ElUploadImage.vue @@ -1,7 +1,7 @@ diff --git a/src/views/operation/advertise/index.vue b/src/views/operation/advertise/index.vue index 1c8f0bd..3cdc593 100644 --- a/src/views/operation/advertise/index.vue +++ b/src/views/operation/advertise/index.vue @@ -101,7 +101,7 @@ }; const handleEnable = async (row) => { loading.value = true; - await store.dispatch('advertise/enable', { id: row.id, isEnable: !row.isEnable }); + await store.dispatch('advertise/enable', row); loading.value = false; }; const config = reactive({ @@ -166,7 +166,7 @@ { label: '操作', fixed: 'right', - width: 180, + width: 120, slots: { default: ({ row }) => (
diff --git a/src/views/sales/product/picker.vue b/src/views/sales/product/picker.vue index b2304c9..83262b2 100644 --- a/src/views/sales/product/picker.vue +++ b/src/views/sales/product/picker.vue @@ -6,6 +6,7 @@ :code="code" :config="config" :data="list" + :highlight-current-row="props.single" :operation="['search']" :reset="handleReset" :total="total" @@ -47,6 +48,10 @@ type: Array, default: () => [], }, + single: { + type: Boolean, + default: false, + }, }); const emits = defineEmits(['pick']); const store = useStore(); @@ -100,7 +105,7 @@ }; // 确定 const handlePick = async () => { - emits('pick', [...unref(refsTable).selection]); + emits('pick', props.single ? unref(refsTable).checked : [...unref(refsTable).selection]); handleClose(); }; defineExpose({ @@ -111,11 +116,6 @@ /* 列表配置 */ const config = reactive({ columns: [ - { - type: 'selection', - width: 60, - selectable: (row) => !props.ids.includes(row.id), - }, { label: '编号', prop: 'id', @@ -140,6 +140,13 @@ }, ], }); + if (!props.single) { + config.columns.unshift({ + type: 'selection', + width: 60, + selectable: (row) => !props.ids.includes(row.id), + }); + }