From 383df6a3b0c159525f4d61786d419a99f48fd564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E8=82=96=E7=A3=8A?= <18851179580@163.com> Date: Wed, 6 Nov 2024 14:49:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=AD=94=E6=96=B9=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/magic-cube/index.vue | 15 ++-- .../model-custom/components/index.vue | 6 +- .../model-custom/model-custom-content.vue | 7 +- .../components/custom/index.vue | 72 +++++++++++++++++++ .../components/product-list-show.vue | 6 +- .../components/tabs-content.vue | 21 ++++-- .../components/tabs-styles.vue | 23 +++--- src/components/model-data-magic/index.vue | 26 +++++-- .../model-data-magic-content.vue | 46 ++++++++---- 9 files changed, 174 insertions(+), 48 deletions(-) create mode 100644 src/components/model-data-magic/components/custom/index.vue diff --git a/src/components/common/magic-cube/index.vue b/src/components/common/magic-cube/index.vue index 72e26a99..6848c961 100644 --- a/src/components/common/magic-cube/index.vue +++ b/src/components/common/magic-cube/index.vue @@ -188,11 +188,13 @@ const onClickCubeItem = (event: any) => { let selectedItem = {} as CubeItem; //加入选中的。 if (props.type == 'data') { - console.log(props.defaultContent); selectedItem = { start: selectingItem.start, end: selectingItem.end, - data_content: cloneDeep(props.defaultContent), + data_content: { + ...cloneDeep(props.defaultContent), + width: Math.round((props.cubeWidth / densityNum.value) * (selectingItem.end.x - selectingItem.start.x + 1)) + }, data_style: cloneDeep(props.defaultStyle), }; } else { @@ -262,12 +264,12 @@ const selected_click = (index: number) => { emits('selected_click', index); }; const data_title = (item: CubeItem) => { - let title = `共有`; + let title = ''; if (item.data_content) { if (item.data_content.data_type == 'goods') { - title += `${ item.data_content.goods_list.length }个商品`; - } else { - title += `${ item.data_content.images_list.length }个图片`; + title = `共有${ item.data_content.goods_list.length }个商品`; + } else if (item.data_content.data_type == 'images') { + title = `共有${ item.data_content.images_list.length }个图片`; } } return title; @@ -324,6 +326,7 @@ const data_title = (item: CubeItem) => { } .cube-selected-text { font-size: 12px; + line-height: 16px; width: 100%; position: absolute; top: 50%; diff --git a/src/components/model-custom/components/index.vue b/src/components/model-custom/components/index.vue index 1d5128b5..e53b628d 100644 --- a/src/components/model-custom/components/index.vue +++ b/src/components/model-custom/components/index.vue @@ -389,7 +389,11 @@ const cancel = () => { //#endregion //#region 容器高度发生变化时的处理 const center_height = defineModel('height', { type: Number, default: 0 }); +const center_width = defineModel('width', { type: Number, default: 390 }); + const drag_area_height = computed(() => center_height.value + 'px'); +const drag_area_width = computed(() => center_width.value + 'px'); + const draggable_container = ref(true); let data = reactive([]); watch(() => center_height.value, () => { @@ -861,7 +865,7 @@ defineExpose({ .model-drag { overflow-y: scroll; .model-wall { - width: 39rem; + width: v-bind(drag_area_width); background-image: linear-gradient(45deg, #e5e5e5 25%, transparent 25%), linear-gradient(135deg, #e5e5e5 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e5e5e5 75%), linear-gradient(135deg, transparent 75%, #e5e5e5 75%); background-size: 32px 32px; background-position: 0 0, 16px 0, 16px -16px, 0 16px; diff --git a/src/components/model-custom/model-custom-content.vue b/src/components/model-custom/model-custom-content.vue index 3b94834e..e6ed0060 100644 --- a/src/components/model-custom/model-custom-content.vue +++ b/src/components/model-custom/model-custom-content.vue @@ -22,7 +22,7 @@
- +
-