From 370b26066c560f15f6a84caca2be149e48e86556 Mon Sep 17 00:00:00 2001
From: 田源 <tianyuan@vci-tech.com>
Date: 星期二, 07 一月 2025 15:52:05 +0800
Subject: [PATCH] 系统菜单 默认显示&&系统配置、对象建模按钮权限以及按钮图标

---
 Source/plt-web/plt-web-ui/src/page/index/sidebar/sidebarItem.vue |   52 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 38 insertions(+), 14 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/page/index/sidebar/sidebarItem.vue b/Source/plt-web/plt-web-ui/src/page/index/sidebar/sidebarItem.vue
index 90eadcd..d90ab50 100644
--- a/Source/plt-web/plt-web-ui/src/page/index/sidebar/sidebarItem.vue
+++ b/Source/plt-web/plt-web-ui/src/page/index/sidebar/sidebarItem.vue
@@ -6,19 +6,32 @@
                     :class="{'is-active':vaildActive(item)}"
                     :index="item[pathKey]"
                     @click="open(item)">
-        <i :class="item[iconKey]"></i>
-        <span slot="title"
-              :alt="item[pathKey]">{{ generateTitle(item) }}</span>
+        <div style="display: flex">
+          <icon-show v-if="item[iconKey]" :name="item[iconKey]" :style="{ height: iconSize, width: iconSize }"
+                     class="iconShowSpan"></icon-show>
+          <div v-else :style="{ height: iconSize, width: iconSize }" class="iconShow iconShowSpan">
+            <i :style="{ fontSize: iconSize, width: iconSize,marginTop: '3px'}" class="el-icon-setting"></i>
+          </div>
+          <span slot="title"
+                style="margin-left: 8px"
+                :alt="item[pathKey]"
+                :class="{'el-menu--display':collapse && first}">{{ generateTitle(item) }}</span>
+        </div>
       </el-menu-item>
       <el-submenu v-else-if="!validatenull(item[childrenKey])&&vaildRoles(item)"
                   :key="item[labelKey]"
                   :index="item[pathKey]">
         <template slot="title">
-        <div style="display: flex">
-          <icon-show :name="item[iconKey]" class="iconShowSpan" :style="{ height: iconSize, width: iconSize }"></icon-show>
-          <span slot="title"
-                :class="{'el-menu--display':collapse && first}">{{ generateTitle(item) }}</span>
-        </div>
+          <div style="display: flex">
+            <icon-show v-if="item[iconKey]" :name="item[iconKey]" :style="{ height: iconSize, width: iconSize }"
+                       class="iconShowSpan"></icon-show>
+            <div v-else :style="{ height: iconSize, width: iconSize }" class="iconShow iconShowSpan">
+              <i :style="{ fontSize: iconSize, width: iconSize,marginTop: '3px'}" class="el-icon-setting"></i>
+            </div>
+            <span slot="title"
+                  style="margin-left: 8px"
+                  :class="{'el-menu--display':collapse && first}">{{ generateTitle(item) }}</span>
+          </div>
         </template>
         <template v-for="(child,cindex) in item[childrenKey]">
           <el-menu-item v-if="validatenull(child[childrenKey])"
@@ -27,8 +40,12 @@
                         :index="child[pathKey],cindex"
                         @click="open(child)">
             <div style="display: flex">
-              <icon-show :name="child[iconKey]" class="iconShowSpan" :style="{ height: iconSize, width: iconSize }"></icon-show>
-              <span slot="title">{{ generateTitle(child) }}</span>
+              <icon-show v-if="child[iconKey]" :name="child[iconKey]" :style="{ height: iconSize, width: iconSize }"
+                         class="iconShowSpan"></icon-show>
+              <div v-else :style="{ height: iconSize, width: iconSize }" class="iconShow iconShowSpan">
+                <i :style="{ fontSize: iconSize, width: iconSize,marginTop: '3px'}" class="el-icon-setting"></i>
+              </div>
+              <span slot="title" style="margin-left: 8px">{{ generateTitle(child) }}</span>
             </div>
           </el-menu-item>
           <sidebar-item v-else
@@ -134,7 +151,8 @@
     open(item) {
       const query = {
         ...item.query,
-        id:item.id
+        id:item.id,
+        name:item.name
       }
       if (this.screen <= 1) this.$store.commit("SET_COLLAPSE");
       if (this.validIsOpen(item)) {
@@ -159,12 +177,18 @@
   outline: 0;
   background-color: #060708;
 }
-
 .iconShowSpan{
   display: inline-block;
+  color: rgba(255, 255, 255, 0.7);
+}
+.el-menu-item .iconShowSpan,.el-submenu__title .iconShowSpan{
   margin-top: -2px;
-  margin-right: 10px;
-  color: #eeeeea;
+}
+.el-submenu__title:hover .iconShowSpan{
+  color: #ffffff;
+}
+.el-submenu__title:hover .iconShowSpan svg{
+  fill: #ffffff;
 }
 </style>
 

--
Gitblit v1.9.3