From d034320406a18ed996124df52cc2e8ba8cd5ea3e Mon Sep 17 00:00:00 2001 From: chenxing Date: Sun, 11 Oct 2026 10:46:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E9=AA=8C=E6=94=B6=E5=BE=AE=E8=B0=83?= =?UTF-8?q?=E8=BD=AE):=20=E7=8A=B6=E6=80=81=E5=BE=BD=E6=A0=87=E6=8F=8F?= =?UTF-8?q?=E8=BE=B9=E5=8C=96+=E6=A0=91=E5=8D=A1300px+=E6=88=AA=E6=96=AD?= =?UTF-8?q?=E9=A2=84=E7=95=99=E6=94=B6=E7=AA=84+=E5=85=A8=E5=BA=94?= =?UTF-8?q?=E7=94=A8/=E6=97=A5=E5=BF=97=E9=93=BE=E6=8E=A5=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - group-user 状态列 Tag 加 border 描边(对齐「当前生效」徽标样式,弃实心块) - 组树顶部操作钮图标 18→16px、内边距收窄,第5钮不再贴边 - main.scss UserBase 专项:tree-wrapper 左树卡统一 300px(撤 AppList 180px 局部覆写) - GroupAuth ztree 节点名预留 90→36px(子组继承复选框悬停才注入,常态不该预留),消除有空间却截断成 ... - 角色授权「全应用」徽标改描边主题色 tag-brand;AppModuleCheckTree 当前角色文字 var(--brand)、面板 min-height 320→0 - 三个日志详情弹窗「下载/在线预览」链接 #577afb/#3d5afe → var(--brand)/var(--brand-2) - 注:本机 I/O 风暴(冷读 node_modules 停顿 30-45s)致 npm run build 门禁未跑通验证,改动均为样式/props 级 --- src/assets/styles/main.scss | 6 ++++++ src/views/GroupAuth.vue | 4 +++- src/views/app/AppList.vue | 1 - src/views/group-user/group/index.vue | 10 +++++----- src/views/group-user/index.vue | 7 ++++--- src/views/oapilog/OapiLogDetailModal.vue | 4 ++-- src/views/oplog/OperationLogDetailModal.vue | 4 ++-- src/views/push/PushLogDetailModal.vue | 4 ++-- src/views/role-authz/AppModuleCheckTree.vue | 4 ++-- src/views/role-authz/RoleAuthzList.vue | 11 +++++++++-- 10 files changed, 35 insertions(+), 20 deletions(-) diff --git a/src/assets/styles/main.scss b/src/assets/styles/main.scss index 6828c3b..0a5a479 100644 --- a/src/assets/styles/main.scss +++ b/src/assets/styles/main.scss @@ -156,3 +156,9 @@ h4.subtitle { background-color: rgba(232, 104, 74, 0.08); } } + +/* UserBase 专项(不上收通道,勿写入接入规范):左侧树卡统一 300px—— + 通道默认 240 装不下组树操作钮与节点名,本端树页多、统一加宽 */ +.base-wrap-main .tree-wrapper .tree-container { + width: 300px; +} diff --git a/src/views/GroupAuth.vue b/src/views/GroupAuth.vue index 59cd682..e13e9a5 100644 --- a/src/views/GroupAuth.vue +++ b/src/views/GroupAuth.vue @@ -755,7 +755,9 @@ onMounted(async () => { } :deep(.ztree li a) { - max-width: calc(100% - 90px); + /* 子组继承复选框仅悬停时由 addHoverDom 注入(绝对定位 right:14,占位约 30px), + 常态无需预留 90px——收窄预留,消除「明明有空间却截断成 ...」 */ + max-width: calc(100% - 36px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; diff --git a/src/views/app/AppList.vue b/src/views/app/AppList.vue index 08174e5..66184ef 100644 --- a/src/views/app/AppList.vue +++ b/src/views/app/AppList.vue @@ -299,7 +299,6 @@ const goModuleManage = (row: any) => { flex-direction: column; overflow: hidden; padding: 0; - width: 180px; } .school-select { diff --git a/src/views/group-user/group/index.vue b/src/views/group-user/group/index.vue index 99bd8a0..a3711b3 100644 --- a/src/views/group-user/group/index.vue +++ b/src/views/group-user/group/index.vue @@ -352,8 +352,8 @@ onMounted(async () => { padding-bottom: 10px; li { - padding: 10px; - height: 38px; + padding: 8px; + height: 34px; border-radius: 50%; cursor: pointer; @@ -363,12 +363,12 @@ onMounted(async () => { } svg { - width: 18px; - height: 18px; + width: 16px; + height: 16px; } .ivu-icon { - font-size: 18px; + font-size: 16px; } } diff --git a/src/views/group-user/index.vue b/src/views/group-user/index.vue index 66f20e4..a9ece64 100644 --- a/src/views/group-user/index.vue +++ b/src/views/group-user/index.vue @@ -164,15 +164,16 @@ const columns = [ title: '状态', key: 'disabled', width: 130, align: 'center', render: (h: any, { row }: any) => { // Vue3 渲染函数须 import 真组件:h('Tag') 会建未知原生元素(无样式不渲染) - if (row.disabled) return h(Tag, { color: 'default' }, () => '禁用'); + // border 描边徽标(对齐 UserHome「当前生效」样式),非实心块 + if (row.disabled) return h(Tag, { color: 'default', border: true }, () => '禁用'); if (row.groupStatus === 1) { // 正常 Tag + 转出徽标(view-ui-plus Badge status 模式:圆点 + 文本) return h('div', { style: 'display:inline-flex;align-items:center;gap:6px' }, [ - h(Tag, { color: 'success' }, () => '正常'), + h(Tag, { color: 'success', border: true }, () => '正常'), h(Badge, { status: 'warning', text: '转出' }), ]); } - return h(Tag, { color: 'success' }, () => '正常'); + return h(Tag, { color: 'success', border: true }, () => '正常'); }, }, { diff --git a/src/views/oapilog/OapiLogDetailModal.vue b/src/views/oapilog/OapiLogDetailModal.vue index a032925..79af9b5 100644 --- a/src/views/oapilog/OapiLogDetailModal.vue +++ b/src/views/oapilog/OapiLogDetailModal.vue @@ -158,10 +158,10 @@ async function handlePreview() { } .download-link { - color: #577afb; + color: var(--brand); &:hover { - color: #3d5afe; + color: var(--brand-2); } } diff --git a/src/views/oplog/OperationLogDetailModal.vue b/src/views/oplog/OperationLogDetailModal.vue index fe08de8..c51e886 100644 --- a/src/views/oplog/OperationLogDetailModal.vue +++ b/src/views/oplog/OperationLogDetailModal.vue @@ -150,10 +150,10 @@ async function handlePreview() { } .download-link { - color: #577afb; + color: var(--brand); &:hover { - color: #3d5afe; + color: var(--brand-2); } } } diff --git a/src/views/push/PushLogDetailModal.vue b/src/views/push/PushLogDetailModal.vue index 0824c1f..ba21572 100644 --- a/src/views/push/PushLogDetailModal.vue +++ b/src/views/push/PushLogDetailModal.vue @@ -169,10 +169,10 @@ function formatTime(val: any): string { } .download-link { - color: #577afb; + color: var(--brand); &:hover { - color: #3d5afe; + color: var(--brand-2); } } } diff --git a/src/views/role-authz/AppModuleCheckTree.vue b/src/views/role-authz/AppModuleCheckTree.vue index 5abcbb1..03bdefe 100644 --- a/src/views/role-authz/AppModuleCheckTree.vue +++ b/src/views/role-authz/AppModuleCheckTree.vue @@ -299,7 +299,7 @@ watch( .role-authz-tree { position: relative; flex: 1; - min-height: 320px; + min-height: 0; padding: 0; background: #fff; overflow: auto; @@ -343,7 +343,7 @@ watch( } .role-name { - color: #2d8cf0; + color: var(--brand); font-weight: 600; } diff --git a/src/views/role-authz/RoleAuthzList.vue b/src/views/role-authz/RoleAuthzList.vue index d7afdd1..dd7c596 100644 --- a/src/views/role-authz/RoleAuthzList.vue +++ b/src/views/role-authz/RoleAuthzList.vue @@ -18,7 +18,7 @@ :class="['role-item', selectedRoleId === role.id ? 'active' : '']" @click="selectRole(role)">
{{ role.name }}
- 全应用 + 全应用 {{ role.appName || "-" }}
@@ -36,7 +36,7 @@
当前角色:{{ selectedRole.name }} - 全应用 + 全应用 {{ selectedRole.appName || "-" }} 已禁用 @@ -258,6 +258,13 @@ function goManage() { color: var(--brand); } +/* 主题色描边徽标(iView color 预设是写死蓝,改挂通道令牌随档变化) */ +.tag-brand { + color: var(--brand) !important; + border: 1px solid var(--brand) !important; + background: #fff; +} + .authz-app { color: #515a6e; font-size: 13px;