- 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 级
This commit is contained in:
@@ -156,3 +156,9 @@ h4.subtitle {
|
|||||||
background-color: rgba(232, 104, 74, 0.08);
|
background-color: rgba(232, 104, 74, 0.08);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* UserBase 专项(不上收通道,勿写入接入规范):左侧树卡统一 300px——
|
||||||
|
通道默认 240 装不下组树操作钮与节点名,本端树页多、统一加宽 */
|
||||||
|
.base-wrap-main .tree-wrapper .tree-container {
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
|||||||
@@ -755,7 +755,9 @@ onMounted(async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ztree li a) {
|
:deep(.ztree li a) {
|
||||||
max-width: calc(100% - 90px);
|
/* 子组继承复选框仅悬停时由 addHoverDom 注入(绝对定位 right:14,占位约 30px),
|
||||||
|
常态无需预留 90px——收窄预留,消除「明明有空间却截断成 ...」 */
|
||||||
|
max-width: calc(100% - 36px);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|||||||
@@ -299,7 +299,6 @@ const goModuleManage = (row: any) => {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
width: 180px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.school-select {
|
.school-select {
|
||||||
|
|||||||
@@ -352,8 +352,8 @@ onMounted(async () => {
|
|||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
|
|
||||||
li {
|
li {
|
||||||
padding: 10px;
|
padding: 8px;
|
||||||
height: 38px;
|
height: 34px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
@@ -363,12 +363,12 @@ onMounted(async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
width: 18px;
|
width: 16px;
|
||||||
height: 18px;
|
height: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ivu-icon {
|
.ivu-icon {
|
||||||
font-size: 18px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -164,15 +164,16 @@ const columns = [
|
|||||||
title: '状态', key: 'disabled', width: 130, align: 'center',
|
title: '状态', key: 'disabled', width: 130, align: 'center',
|
||||||
render: (h: any, { row }: any) => {
|
render: (h: any, { row }: any) => {
|
||||||
// Vue3 渲染函数须 import 真组件:h('Tag') 会建未知原生元素(无样式不渲染)
|
// 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) {
|
if (row.groupStatus === 1) {
|
||||||
// 正常 Tag + 转出徽标(view-ui-plus Badge status 模式:圆点 + 文本)
|
// 正常 Tag + 转出徽标(view-ui-plus Badge status 模式:圆点 + 文本)
|
||||||
return h('div', { style: 'display:inline-flex;align-items:center;gap:6px' }, [
|
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: '转出' }),
|
h(Badge, { status: 'warning', text: '转出' }),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
return h(Tag, { color: 'success' }, () => '正常');
|
return h(Tag, { color: 'success', border: true }, () => '正常');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -158,10 +158,10 @@ async function handlePreview() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.download-link {
|
.download-link {
|
||||||
color: #577afb;
|
color: var(--brand);
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: #3d5afe;
|
color: var(--brand-2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -150,10 +150,10 @@ async function handlePreview() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.download-link {
|
.download-link {
|
||||||
color: #577afb;
|
color: var(--brand);
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: #3d5afe;
|
color: var(--brand-2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,10 +169,10 @@ function formatTime(val: any): string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.download-link {
|
.download-link {
|
||||||
color: #577afb;
|
color: var(--brand);
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: #3d5afe;
|
color: var(--brand-2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ watch(
|
|||||||
.role-authz-tree {
|
.role-authz-tree {
|
||||||
position: relative;
|
position: relative;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
min-height: 320px;
|
min-height: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
@@ -343,7 +343,7 @@ watch(
|
|||||||
}
|
}
|
||||||
|
|
||||||
.role-name {
|
.role-name {
|
||||||
color: #2d8cf0;
|
color: var(--brand);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
:class="['role-item', selectedRoleId === role.id ? 'active' : '']" @click="selectRole(role)">
|
:class="['role-item', selectedRoleId === role.id ? 'active' : '']" @click="selectRole(role)">
|
||||||
<div class="role-name">{{ role.name }}</div>
|
<div class="role-name">{{ role.name }}</div>
|
||||||
<div class="role-app">
|
<div class="role-app">
|
||||||
<Tag v-if="role.allAppFlag" color="blue" size="small">全应用</Tag>
|
<Tag v-if="role.allAppFlag" class="tag-brand" border size="small">全应用</Tag>
|
||||||
<span v-else>{{ role.appName || "-" }}</span>
|
<span v-else>{{ role.appName || "-" }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
<div class="authz-bar">
|
<div class="authz-bar">
|
||||||
<span class="authz-title">当前角色:<b>{{ selectedRole.name }}</b></span>
|
<span class="authz-title">当前角色:<b>{{ selectedRole.name }}</b></span>
|
||||||
<span class="authz-app">
|
<span class="authz-app">
|
||||||
<Tag v-if="selectedRole.allAppFlag" color="blue">全应用</Tag>
|
<Tag v-if="selectedRole.allAppFlag" class="tag-brand" border>全应用</Tag>
|
||||||
<span v-else>{{ selectedRole.appName || "-" }}</span>
|
<span v-else>{{ selectedRole.appName || "-" }}</span>
|
||||||
</span>
|
</span>
|
||||||
<Tag v-if="selectedRole.disabled" color="red">已禁用</Tag>
|
<Tag v-if="selectedRole.disabled" color="red">已禁用</Tag>
|
||||||
@@ -258,6 +258,13 @@ function goManage() {
|
|||||||
color: var(--brand);
|
color: var(--brand);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 主题色描边徽标(iView color 预设是写死蓝,改挂通道令牌随档变化) */
|
||||||
|
.tag-brand {
|
||||||
|
color: var(--brand) !important;
|
||||||
|
border: 1px solid var(--brand) !important;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
.authz-app {
|
.authz-app {
|
||||||
color: #515a6e;
|
color: #515a6e;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
|
|||||||
Reference in New Issue
Block a user