diff --git a/apps/web-antd/src/views/mall/product/spu/components/spu-showcase.vue b/apps/web-antd/src/views/mall/product/spu/components/spu-showcase.vue index 6b0547c20..e1abcb255 100644 --- a/apps/web-antd/src/views/mall/product/spu/components/spu-showcase.vue +++ b/apps/web-antd/src/views/mall/product/spu/components/spu-showcase.vue @@ -26,8 +26,8 @@ const props = withDefaults(defineProps(), { const emit = defineEmits(['update:modelValue', 'change']); -const productSpus = ref([]); -const spuTableSelectRef = ref>(); +const productSpus = ref([]); // 已选择的商品列表 +const spuTableSelectRef = ref>(); // 商品选择表格组件引用 const isMultiple = computed(() => props.limit !== 1); // 是否为多选模式 /** 计算是否可以添加 */ @@ -47,12 +47,10 @@ watch( async (newValue) => { // eslint-disable-next-line unicorn/no-nested-ternary const ids = Array.isArray(newValue) ? newValue : newValue ? [newValue] : []; - if (ids.length === 0) { productSpus.value = []; return; } - // 只有商品发生变化时才重新查询 if ( productSpus.value.length === 0 || @@ -103,16 +101,16 @@ function emitSpuChange() {
+
+
@@ -140,17 +139,3 @@ function emitSpuChange() { @change="handleSpuSelected" /> - - diff --git a/apps/web-antd/src/views/mall/product/spu/components/spu-table-select.vue b/apps/web-antd/src/views/mall/product/spu/components/spu-table-select.vue index 46bfb1e92..236d4c264 100644 --- a/apps/web-antd/src/views/mall/product/spu/components/spu-table-select.vue +++ b/apps/web-antd/src/views/mall/product/spu/components/spu-table-select.vue @@ -2,6 +2,7 @@ diff --git a/apps/web-ele/src/api/mall/product/category.ts b/apps/web-ele/src/api/mall/product/category.ts index 12d7202f4..7ec8bf833 100644 --- a/apps/web-ele/src/api/mall/product/category.ts +++ b/apps/web-ele/src/api/mall/product/category.ts @@ -50,7 +50,7 @@ export function getCategoryList(params: any) { ); } -// 获得商品分类列表 +/** 获得商品分类列表 */ export function getCategorySimpleList() { return requestClient.get( '/product/category/list', diff --git a/apps/web-ele/src/views/mall/product/spu/components/index.ts b/apps/web-ele/src/views/mall/product/spu/components/index.ts index f73d34334..122cbcea0 100644 --- a/apps/web-ele/src/views/mall/product/spu/components/index.ts +++ b/apps/web-ele/src/views/mall/product/spu/components/index.ts @@ -1,4 +1,3 @@ export { default as SkuTableSelect } from './sku-table-select.vue'; export { default as SpuShowcase } from './spu-showcase.vue'; export { default as SpuTableSelect } from './spu-table-select.vue'; - diff --git a/apps/web-ele/src/views/mall/product/spu/components/sku-table-select.vue b/apps/web-ele/src/views/mall/product/spu/components/sku-table-select.vue index af6fdbc1c..11f9f887d 100644 --- a/apps/web-ele/src/views/mall/product/spu/components/sku-table-select.vue +++ b/apps/web-ele/src/views/mall/product/spu/components/sku-table-select.vue @@ -59,6 +59,15 @@ const gridColumns = computed(() => [ }, ]); +/** 处理选中 */ +function handleRadioChange() { + const selectedRow = gridApi.grid.getRadioRecord() as MallSpuApi.Sku; + if (selectedRow) { + emit('change', selectedRow); + modalApi.close(); + } +} + // TODO @芋艿:要不要直接非 pager? const [Grid, gridApi] = useVbenVxeGrid({ gridOptions: { @@ -89,15 +98,6 @@ const [Grid, gridApi] = useVbenVxeGrid({ }, }); -/** 处理选中 */ -function handleRadioChange() { - const selectedRow = gridApi.grid.getRadioRecord() as MallSpuApi.Sku; - if (selectedRow) { - emit('change', selectedRow); - modalApi.close(); - } -} - const [Modal, modalApi] = useVbenModal({ destroyOnClose: true, onOpenChange: async (isOpen: boolean) => { diff --git a/apps/web-ele/src/views/mall/product/spu/components/spu-showcase.vue b/apps/web-ele/src/views/mall/product/spu/components/spu-showcase.vue index dfa305aad..05568e5b0 100644 --- a/apps/web-ele/src/views/mall/product/spu/components/spu-showcase.vue +++ b/apps/web-ele/src/views/mall/product/spu/components/spu-showcase.vue @@ -26,8 +26,8 @@ const props = withDefaults(defineProps(), { const emit = defineEmits(['update:modelValue', 'change']); -const productSpus = ref([]); -const spuTableSelectRef = ref>(); +const productSpus = ref([]); // 已选择的商品列表 +const spuTableSelectRef = ref>(); // 商品选择表格组件引用 const isMultiple = computed(() => props.limit !== 1); // 是否为多选模式 /** 计算是否可以添加 */ @@ -101,7 +101,7 @@ function emitSpuChange() {
@@ -125,7 +125,7 @@ function emitSpuChange() {
@@ -140,17 +140,3 @@ function emitSpuChange() { @change="handleSpuSelected" /> - - diff --git a/apps/web-ele/src/views/mall/product/spu/components/spu-table-select.vue b/apps/web-ele/src/views/mall/product/spu/components/spu-table-select.vue index 76e2d9294..84a5b44c4 100644 --- a/apps/web-ele/src/views/mall/product/spu/components/spu-table-select.vue +++ b/apps/web-ele/src/views/mall/product/spu/components/spu-table-select.vue @@ -2,6 +2,7 @@ diff --git a/apps/web-ele/src/views/mall/product/spu/data.ts b/apps/web-ele/src/views/mall/product/spu/data.ts index 1037fa4f3..f667c6948 100644 --- a/apps/web-ele/src/views/mall/product/spu/data.ts +++ b/apps/web-ele/src/views/mall/product/spu/data.ts @@ -7,8 +7,6 @@ import { handleTree } from '@vben/utils'; import { getCategoryList } from '#/api/mall/product/category'; import { getRangePickerDefaultProps } from '#/utils'; -// TODO @霖:所有 mall 的 search 少了,请输入 xxx;表单也是类似 - /** 列表的搜索表单 */ export function useGridFormSchema(): VbenFormSchema[] { return [