style(settings): 边栏设置 pane 列宽与样式微调——未设宽列补 width/minWidth(名称120/图标70/地址220/打开方式100),地址列 tooltip 超长省略,操作列固定右侧,工具栏加分隔线收紧间距;Header「边栏设置」菜单改跳 /settings?pane=sidebar 并移除 test 残留按钮与旧 MenuBarModal 挂载(组件文件保留)(任务D)

This commit is contained in:
chenxing
2026-10-02 08:44:06 +08:00
parent 41f4dade91
commit 7e239a0c73
2 changed files with 19 additions and 15 deletions
+6 -9
View File
@@ -2,9 +2,6 @@
<header :class="headerClass">
<img v-if="!!logoUrl" :src="baseUrl + '/image/default-logo.png'" v-real-img="logoUrl" class="logo-box" alt="" />
<ul class="operate-container fix">
<!-- <li>
<Button @click="settingsMenu">test</Button>
</li> -->
<li v-if="isWidgetIconShow" :class="{ active: isWidgetShow }">
<div class="icon-box" v-wave @click="toggleWidgetShow">
<SvgIcon name="header-4" color="#333333" />
@@ -103,7 +100,9 @@
<img :src="requireImg('userinfo/icon3.png')" alt="" />
<span>设置LOGO</span>
</li>
<li @click="settingsMenu" v-if="!!store.getIsAdmin">
<!-- 边栏设置已迁设置中心(/settings?pane=sidebar,2026-09-30 二轮迁入真实管理),
此处仅跳转不再开旧 MenuBarModal(组件保留未挂载) -->
<li @click="linkSidebarSetting" v-if="!!store.getIsAdmin">
<img :src="requireImg('userinfo/icon6.png')" alt="" />
<span>边栏设置</span>
</li>
@@ -225,7 +224,6 @@
<!-- 审批直批弹窗(B3 §2)已抽共享组件(消息对接 2026-09-30),供 /msg 页复用;Header 内已无直批入口 -->
<MsgApprovalModal ref="refMsgApproval" />
<MenuBarModal ref="refMenuBarModal" />
<StatsBarModal ref="refStatsBarModal" />
<TeacherCopilotModal ref="refTeacherCopilotModal" />
</template>
@@ -240,7 +238,6 @@ import { storeToRefs } from "pinia";
import { useRoute, useRouter } from "vue-router";
import { requireImg } from "@/utils/hook/useImg";
import ContextMenu from "@/components/ContextMenu.vue";
import MenuBarModal from "@/components/MenuBarModal.vue";
import StatsBarModal from "@/components/StatsBarModal.vue";
import TeacherCopilotModal from "@/components/TeacherCopilotModal.vue";
import BaseApi from "@/api/BaseApi";
@@ -264,7 +261,6 @@ const baseUrl = computed(() => $conf.fileHost);
const { unreadCount } = storeToRefs(store);
const refSearchInput = ref<any>();
const refMenuBarModal = ref<any>();
const refStatsBarModal = ref<any>();
const refTeacherCopilotModal = ref<any>();
@@ -473,9 +469,10 @@ async function settingsWallpaper() {
isWallpaperShow.value = true;
}
async function settingsMenu() {
/** 边栏设置入口改跳设置中心 pane(原 settingsMenu 开旧 MenuBarModal 的能力已于 2026-09-30 迁入 Settings.vue sidebar pane) */
function linkSidebarSetting() {
isUserInfoShow.value = false;
refMenuBarModal.value.show();
router.push("/settings?pane=sidebar");
}
async function settingsStats() {
+13 -6
View File
@@ -927,11 +927,12 @@ const sidebarAllChecked = computed(() => sidebarForm.roleIds.length == RoleTypeD
const sidebarIndeterminate = computed(() => sidebarForm.roleIds.length > 0 && sidebarForm.roleIds.length < RoleTypeDict.length);
const sidebarColumns = ref([
{ title: "名称", key: "name" },
{ title: "图标", slot: "icon" },
{ title: "名称", key: "name", minWidth: 120 },
{ title: "图标", slot: "icon", width: 70, align: "center" },
{ title: "角色", width: 150, slot: "roleIds" },
{ title: "地址", key: "url", width: 150, tooltip: true },
{ title: "打开方式", key: "linkType" },
// 地址可能很长:minWidth 保证基础宽度 + tooltip 超长省略号悬浮全显(不撑爆表格)
{ title: "地址", key: "url", minWidth: 220, tooltip: true },
{ title: "打开方式", key: "linkType", width: 100, align: "center" },
{
title: "系统页面",
key: "isNative",
@@ -946,6 +947,7 @@ const sidebarColumns = ref([
{
title: "操作",
width: 110,
fixed: "right",
align: "center",
render: (h: any, params: any) => {
const disabled = !params.row.isEdit,
@@ -1600,9 +1602,14 @@ function openBackend() {
}
}
/* 边栏管理(2026-09-30 二轮自 MenuBarModal 迁入) */
/* 边栏管理(2026-09-30 二轮自 MenuBarModal 迁入;列宽微调 2026-10-02 任务D) */
.side-toolbar {
padding: 2px 0 10px;
/* 与下方表格以细分隔线区隔(同 sec-card 内表单分行的 #eef0f3 口径),间距收紧 */
display: flex;
align-items: center;
padding: 4px 0 10px;
border-bottom: 1px solid #eef0f3;
margin-bottom: 8px;
}
.sidebar-table {
width: 100%;