fix(seller): 修复商户端移动装修和PC装修组件缩放与边界溢出问题 (#IKULXP)

This commit is contained in:
pikachu1995@126.com
2026-11-12 14:28:45 +08:00
parent 52c92731c8
commit 935d56268c
8 changed files with 91 additions and 48 deletions

View File

@@ -15,6 +15,26 @@ export const forgetPasswordRouter = {
component: () => import("@/views/ForgetPassword.vue")
};
// 移动端楼层装修编辑器:全屏独立页,不在 Main(左侧菜单)布局内
export const floorDecorationRouter = {
path: "/floorList/main",
name: "main",
meta: {
title: "移动装修"
},
component: () => import("@/views/shop/wap/main.vue")
};
// PC端楼层装修编辑器:全屏独立页,不在 Main(左侧菜单)布局内
export const pcFloorDecorationRouter = {
path: "/pcFloorList/main",
name: "renovation",
meta: {
title: "PC装修"
},
component: () => import("@/views/shop/renovation.vue")
};
// 作为Main组件的子页面展示但是不在左侧菜单显示的路由写在otherRouter里
export const otherRouter = {
path: "/",
@@ -168,20 +188,6 @@ export const otherRouter = {
name: "orderVerification",
component: () => import("@/views/order/order/orderVerification.vue")
},
{
path: "/floorList/main",
title: "移动装修",
name: "main",
meta: { title: "移动装修" },
component: () => import("@/views/shop/wap/main.vue"),
},
{
path: "/pcFloorList/main",
title: "PC装修",
name: "renovation",
meta: { title: "PC装修" },
component: () => import("@/views/shop/renovation.vue"),
},
{
path: "order-complaint-detail",
title: "投诉详情",
@@ -278,6 +284,27 @@ export const otherRouter = {
name: "procurement-damage-report-operation",
component: () => import("@/views/procurement/damage-report/operation.vue")
},
{
path: "stock/outbound/list",
title: "领用出库",
name: "stockOutboundList",
meta: { title: "领用出库" },
component: () => import("@/views/stock/outbound/list.vue")
},
{
path: "stock/outbound/operation",
title: "出库单操作",
name: "stock-outbound-operation",
meta: { title: "出库单操作" },
component: () => import("@/views/stock/outbound/operation.vue")
},
{
path: "stock/flow/list",
title: "库存流水",
name: "stockFlowList",
meta: { title: "库存流水" },
component: () => import("@/views/stock/flow/list.vue")
},
{
path: "alertQuantityWarnList",
title: "预警商品",
@@ -342,4 +369,4 @@ export const page500 = {
component: () => import("@/views/error-page/500.vue")
};
// 所有上面定义的路由都要写在下面的routers里
export const routers = [loginRouter, forgetPasswordRouter, otherRouter, page500, page403];
export const routers = [loginRouter, forgetPasswordRouter, floorDecorationRouter, pcFloorDecorationRouter, otherRouter, page500, page403];

View File

@@ -10,7 +10,7 @@
/>
</el-tabs>
<div class="operation mb_10">
<el-button type="primary" @click="createTemp">添加页面</el-button>
<el-button type="primary" tag="a" :href="addHref" target="_blank" class="add-page-btn">添加页面</el-button>
</div>
<el-table v-loading="loading" :data="list" style="width: 100%">
<el-table-column prop="name" label="页面名称" min-width="180" show-overflow-tooltip>
@@ -42,7 +42,7 @@
<template v-if="row">
<a class="link-text" @click="Template(row)">编辑</a>
<span class="op-split">|</span>
<a class="link-text" @click="decorate(row)">装修</a>
<a class="link-text" :href="decorateHref(row)" target="_blank">装修</a>
<span class="op-split">|</span>
<a class="link-text" @click="confirmDel(row.id)">删除</a>
</template>
@@ -85,7 +85,7 @@
</template>
<script setup>
import { onMounted, reactive, ref } from "vue";
import { computed, onMounted, reactive, ref } from "vue";
import { useRouter } from "vue-router";
import * as API_floor from "@/api/other.js";
import { Message, Modal } from "@/utils/message";
@@ -155,27 +155,29 @@ function handleTabChange(type) {
getTemplateList();
}
function createTemp() {
router.push({
const addHref = computed(
() =>
router.resolve({
name: "renovation",
query: { pageType: searchForm.pageType },
}).href
);
function decorateHref(val) {
const data = { id: val.id, pageShow: val.pageShow, pageType: searchForm.pageType };
return router.resolve({
name: "renovation",
query: { pageType: searchForm.pageType },
});
query: data,
}).href;
}
function Template(item) {
item.status = item.pageShow;
formData.value = { ...item };
showModal.value = true;
}
function decorate(val) {
const data = { id: val.id, pageShow: val.pageShow, pageType: searchForm.pageType };
router.push({
name: "renovation",
query: data,
});
}
function changePageNum(val) {
searchForm.pageNumber = val;
@@ -248,4 +250,7 @@ function delTemplate(id) {
.page-type-tabs {
margin-bottom: 16px;
}
.add-page-btn {
text-decoration: none;
}
</style>

View File

@@ -177,6 +177,7 @@ const layoutOptions = computed(() => {
];
});
/* eslint-disable vue/no-side-effects-in-computed-properties */
const compStyle = computed(() => {
if (!props.component) return {};
if (!props.component.componentStyle) {

View File

@@ -419,8 +419,7 @@ const ALL_COMPONENT_DEFINITIONS = [
url: '',
autoPlay: false,
loop: false,
controls: true,
height: 450
controls: true
},
defaultComponentStyle: {

View File

@@ -28,12 +28,12 @@ function selected(val) {
</script>
<style scoped lang="scss">
.box {
height: calc(100vh - 120px);
width: 98%;
margin: 0 auto;
height: 100vh;
width: 100%;
margin: 0;
padding: 0 20px;
background: #fff;
border-radius: 0.4em;
background: #f5f7fa;
overflow: hidden;
box-sizing: border-box;
}
</style>

View File

@@ -254,6 +254,7 @@ function goBack() {
if (window.history.state?.back) {
router.go(-1);
} else {
window.close();
router.push("/wapList");
}
}

View File

@@ -2,6 +2,8 @@
display: flex;
gap: 12px;
height: calc(100vh - 96px);
min-width: 0;
overflow-x: auto;
.model-view-menu {
flex: 1.5;
min-width: 250px;
@@ -41,9 +43,11 @@
}
.model-config {
flex: 2.5;
min-width: 380px;
}
.model-view-content {
flex: 6;
min-width: 400px;
}
.model-item {
line-height: 1.4;

View File

@@ -10,7 +10,7 @@
/>
</el-tabs>
<div class="operation mb_10">
<el-button type="primary" @click="handleAdd()">添加页面</el-button>
<el-button type="primary" tag="a" :href="addHref" target="_blank" class="add-page-btn">添加页面</el-button>
</div>
<el-table v-loading="loading" :data="list" style="width: 100%">
<el-table-column prop="name" label="页面名称" min-width="180" show-overflow-tooltip>
@@ -35,7 +35,7 @@
<el-table-column label="操作" width="150" align="right" fixed="right">
<template #default="{ row }">
<template v-if="row">
<a class="link-text" @click="handleEdit(row)">修改</a>
<a class="link-text" :href="editHref(row)" target="_blank">修改</a>
<span class="op-split">|</span>
<a class="link-text" @click="confirmDel(row)">删除</a>
</template>
@@ -59,7 +59,7 @@
</div>
</template>
<script setup>
import { onMounted, reactive, ref } from "vue";
import { computed, onMounted, reactive, ref } from "vue";
import { useRouter } from "vue-router";
import { Message, Modal } from "@/utils/message";
import * as API_Other from "@/api/other.js";
@@ -152,8 +152,16 @@ function init() {
});
}
function handleEdit(val) {
router.push({
const addHref = computed(
() =>
router.resolve({
path: "/floorList/main",
query: { pagetype: params.pageType, mode: "add" },
}).href
);
function editHref(val) {
const { href } = router.resolve({
path: "/floorList/main",
query: {
id: val.id,
@@ -162,14 +170,9 @@ function handleEdit(val) {
pagetype: params.pageType,
},
});
return href;
}
function handleAdd() {
router.push({
path: "/floorList/main",
query: { pagetype: params.pageType },
});
}
function changePageSize(v) {
params.pageNumber = 1;
@@ -200,4 +203,7 @@ function handleDel(val) {
.page-type-tabs {
margin-bottom: 16px;
}
.add-page-btn {
text-decoration: none;
}
</style>