From f7a5d8070bea841e453b79544c713830e7891c25 Mon Sep 17 00:00:00 2001 From: JenniferW <1627055433@qq.com> Date: Thu, 11 Dec 2025 17:52:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E5=B1=8F=E8=BF=98=E5=8E=9F=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.js | 26 ++++ src/views/login.vue | 2 +- src/views/order/intention/search.vue | 223 +++++++++++++++++---------- 3 files changed, 171 insertions(+), 80 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index 4ca2321..31ac921 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -86,6 +86,32 @@ export const constantRoutes = [ } ] }, + { + path: '/system/user-auth', + component: Layout, + hidden: true, + children: [ + { + path: 'role/:userId(\\d+)', + component: () => import('@/views/system/user/authRole.vue'), + name: 'AuthRole', + meta: { title: '分配角色', activeMenu: '/system/user' } + } + ] + }, + { + path: '/system/role-auth', + component: Layout, + hidden: true, + children: [ + { + path: 'user/:roleId(\\d+)', + component: () => import('@/views/system/role/authUser.vue'), + name: 'AuthUser', + meta: { title: '分配用户', activeMenu: '/system/role' } + } + ] + }, { path: '/system/dict/data', component: Layout, diff --git a/src/views/login.vue b/src/views/login.vue index 4bfa247..56eff37 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -105,7 +105,7 @@ diff --git a/src/views/order/intention/search.vue b/src/views/order/intention/search.vue index 23db402..f438a41 100644 --- a/src/views/order/intention/search.vue +++ b/src/views/order/intention/search.vue @@ -273,13 +273,38 @@ + +
- - - + - + + + + +
@@ -422,6 +449,7 @@ import { compare, } from "@/api/order"; import { ElMessage, ElEmpty, ElDialog } from "element-plus"; +import { Close } from "@element-plus/icons-vue"; const { proxy } = getCurrentInstance(); const { display_field } = proxy.useDict("display_field"); @@ -497,6 +525,14 @@ const selectedProductNumber = computed(() => { return first ? first.partNumber : ""; }); +// 全屏相关 +const isFullscreen = ref(false); + +// 切换全屏/还原的方法 +const toggleFullscreen = () => { + isFullscreen.value = !isFullscreen.value; +}; + // 对比相关 const compareDialogVisible = ref(false); const selectedCompareList = computed(() => @@ -2229,8 +2265,18 @@ function handleConfirm() { } .compare-table-wrap { margin-top: 16px; - overflow-x: auto; /* 允许横向滚动 */ - max-width: 100%; /* 限制最大宽度 */ + max-width: 100%; + height: 70vh; /* 固定高度,保证横向滚动条总在可视区域 */ + display: flex; + flex-direction: column; +} + +.compare-table-scroll { + flex: 1; + overflow-x: auto; + overflow-y: auto; + padding-bottom: 8px; /* 预留滚动条空间避免遮挡内容 */ + scrollbar-gutter: stable both-edges; /* 保留滚动条占位,避免跳动 */ } /* 参数对比按钮样式 - 随滚动条移动 */ .compare-btn-float { @@ -2490,10 +2536,37 @@ function handleConfirm() { color: #666; } -.compare-table-wrap { - margin-top: 16px; - max-height: 500px; - overflow-y: auto; +.compare-dialog-header { + display: flex; + align-items: center; + justify-content: space-between; + padding-right: 8px; +} + +.compare-dialog-title { + font-weight: 600; + font-size: 16px; + color: #303133; +} + +.compare-dialog-actions { + display: flex; + align-items: center; + gap: 8px; +} + +.compare-dialog-actions .el-button { + display: inline-flex; + align-items: center; + gap: 4px; +} + +.compare-dialog-actions .action-text { + margin-left: 2px; +} + +.dialog-close-btn { + color: #909399; } /* 分页和确定按钮容器 */ @@ -2566,14 +2639,6 @@ function handleConfirm() { vertical-align: middle; } -/* 参数对比弹窗支持拖拽和缩放 */ -.compare-dialog { - ::deep(.el-dialog) { - resize: both; - overflow: auto; - } -} - /* 对比表头可拖拽的鼠标样式 */ .compare-header-draggable { display: flex;