From 0b644a172204d1219f69c30eeb8117f64da180ce Mon Sep 17 00:00:00 2001 From: "pikachu1995@126.com" Date: Tue, 13 Oct 2026 11:07:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(manager):=20=E7=A7=BB=E5=8A=A8=E7=AB=AF?= =?UTF-8?q?=E8=A3=85=E4=BF=AE=E7=BC=96=E8=BE=91=E5=99=A8=20CRMEB=20?= =?UTF-8?q?=E5=8C=96=E8=BF=AD=E4=BB=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 轮播图:双 tab 面板(内容/样式)、轮播风格(通栏/卡片)、指示器样式/位置/色调、渐变背景、边距圆角 - 图片魔方:9 种风格收进样式 tab,拖入默认左一右二,内容 tab 固定槽位配置,新增颜色/边距/圆角设置 - 宫格导航:双 tab 面板,菜单管理 + 颜色/边距/圆角设置 - 编辑器整体:灰底卡片模块化、顶栏页面名称编辑、画布操作条/名称标签外置、组件列表三列通高卡片 - 预览模板同步应用各组件样式字段 --- .../wap/config-panel/PanelAdCube.vue | 353 ++++++++++++ .../wap/config-panel/PanelCarousel.vue | 503 ++++++++++++++++++ .../wap/config-panel/PanelMenu.vue | 367 +++++++++++++ .../page-decoration/wap/config-panel/index.js | 20 + .../src/views/page-decoration/wap/config.js | 2 +- .../views/page-decoration/wap/decorate.vue | 1 + .../src/views/page-decoration/wap/index.vue | 10 +- .../src/views/page-decoration/wap/style.scss | 2 +- .../page-decoration/wap/template/cubeStyle.js | 28 + .../wap/template/tpl_banner.vue | 143 ++++- .../wap/template/tpl_flex_five.vue | 28 +- .../wap/template/tpl_flex_four.vue | 27 +- .../wap/template/tpl_flex_three.vue | 24 +- .../wap/template/tpl_flex_two.vue | 26 +- .../wap/template/tpl_left_one_right_two.vue | 26 +- .../wap/template/tpl_left_two_right_one.vue | 26 +- .../page-decoration/wap/template/tpl_menu.vue | 45 +- .../wap/template/tpl_text_picture.vue | 32 +- .../wap/template/tpl_top_one_bottom_two.vue | 31 +- .../wap/template/tpl_top_two_bottom_one.vue | 27 +- 20 files changed, 1642 insertions(+), 79 deletions(-) create mode 100644 manager/src/views/page-decoration/wap/config-panel/PanelAdCube.vue create mode 100644 manager/src/views/page-decoration/wap/config-panel/PanelCarousel.vue create mode 100644 manager/src/views/page-decoration/wap/config-panel/PanelMenu.vue create mode 100644 manager/src/views/page-decoration/wap/template/cubeStyle.js diff --git a/manager/src/views/page-decoration/wap/config-panel/PanelAdCube.vue b/manager/src/views/page-decoration/wap/config-panel/PanelAdCube.vue new file mode 100644 index 000000000..768664c2c --- /dev/null +++ b/manager/src/views/page-decoration/wap/config-panel/PanelAdCube.vue @@ -0,0 +1,353 @@ + + + + + diff --git a/manager/src/views/page-decoration/wap/config-panel/PanelCarousel.vue b/manager/src/views/page-decoration/wap/config-panel/PanelCarousel.vue new file mode 100644 index 000000000..b788185e6 --- /dev/null +++ b/manager/src/views/page-decoration/wap/config-panel/PanelCarousel.vue @@ -0,0 +1,503 @@ + + + + + diff --git a/manager/src/views/page-decoration/wap/config-panel/PanelMenu.vue b/manager/src/views/page-decoration/wap/config-panel/PanelMenu.vue new file mode 100644 index 000000000..b105bbdbf --- /dev/null +++ b/manager/src/views/page-decoration/wap/config-panel/PanelMenu.vue @@ -0,0 +1,367 @@ + + + + + diff --git a/manager/src/views/page-decoration/wap/config-panel/index.js b/manager/src/views/page-decoration/wap/config-panel/index.js index 7e79a774f..df99000af 100644 --- a/manager/src/views/page-decoration/wap/config-panel/index.js +++ b/manager/src/views/page-decoration/wap/config-panel/index.js @@ -8,6 +8,23 @@ import PanelCoupon from "./PanelCoupon.vue"; import PanelArticle from "./PanelArticle.vue"; import PanelShop from "./PanelShop.vue"; import PanelFlexOne from "./PanelFlexOne.vue"; +import PanelCarousel from "./PanelCarousel.vue"; +import PanelAdCube from "./PanelAdCube.vue"; +import PanelMenu from "./PanelMenu.vue"; + +// 图片魔方及其全部可选风格共用 PanelAdCube +const adCubeTypes = [ + "tpl_ad_list", + "leftOneRightTwo", + "leftTwoRightOne", + "flexThree", + "flexTwo", + "topOneBottomTwo", + "topTwoBottomOne", + "flexFive", + "flexFour", + "textPicture", +]; export default { blank: PanelBlank, @@ -18,4 +35,7 @@ export default { article: PanelArticle, shop: PanelShop, flexOne: PanelFlexOne, + carousel: PanelCarousel, + menu: PanelMenu, + ...Object.fromEntries(adCubeTypes.map((t) => [t, PanelAdCube])), }; diff --git a/manager/src/views/page-decoration/wap/config.js b/manager/src/views/page-decoration/wap/config.js index c4842dc5f..b55083451 100644 --- a/manager/src/views/page-decoration/wap/config.js +++ b/manager/src/views/page-decoration/wap/config.js @@ -419,7 +419,7 @@ export const modelData = [ { type: "tpl_ad_list", - name: "广告魔方", + name: "图片魔方", icon: "Grid", group: "base", img: "md-image", diff --git a/manager/src/views/page-decoration/wap/decorate.vue b/manager/src/views/page-decoration/wap/decorate.vue index de748552b..4f1fe71df 100644 --- a/manager/src/views/page-decoration/wap/decorate.vue +++ b/manager/src/views/page-decoration/wap/decorate.vue @@ -32,6 +32,7 @@ v-if="panelComponent" :is="panelComponent" :res="res" + @handleDrawer="$emit('handleDrawer', $event)" />