Bladeren bron

feat(setting): 根据用户类型控制高级设置选项卡显示

- 添加 isHLM 计算属性判断 HLM 用户
- 高级设置选项卡仅对 HLM 用户显示
- 更新高级设置选项卡图标为 icon1/icon1a
- 确保用户信息加载完成后再初始化配置
- 在用户信息存储中暴露 isHLM 属性
panqiuyao 3 weken geleden
bovenliggende
commit
859947e29c
2 gewijzigde bestanden met toevoegingen van 14 en 3 verwijderingen
  1. 6 0
      frontend/src/stores/modules/user.ts
  2. 8 3
      frontend/src/views/Setting/index.vue

+ 6 - 0
frontend/src/stores/modules/user.ts

@@ -27,6 +27,11 @@ export const useUserInfo = defineStore('userInfo', () => {
     return supportCameraCounts.value > 1 ? 'multi' : 'single'
   })
 
+  // HLM用户判断
+  const isHLM = computed(() => {
+    return userInfo.value?.brand_company_code === '1300'
+  })
+
   // 定时检查相关
   let checkInterval: NodeJS.Timeout | null = null; // 定时器
   const CHECK_INTERVAL = 10 * 60 * 1000; // 10分钟检查一次
@@ -242,6 +247,7 @@ export const useUserInfo = defineStore('userInfo', () => {
     supportCameraCounts,
     isMultiCameraMode,
     cameraMode,
+    isHLM,
     updateUserInfo,
     updateLoginShow,
     loginAction,

+ 8 - 3
frontend/src/views/Setting/index.vue

@@ -25,9 +25,9 @@
         <img src="@/assets/images/setting/icon4a.png" class="nav-icon" v-else/>
         <span>左右脚程序设置</span>
       </div>
-      <div class="nav-item"  :class="{'active': activeIndex === 5}" @click="toggleTab(5)" v-log="{ describe: { action: '点击切换设置Tab', tab: '高级设置' } }">
-        <img src="@/assets/images/setting/icon4.png" class="nav-icon" v-if="activeIndex !== 5"/>
-        <img src="@/assets/images/setting/icon4a.png" class="nav-icon" v-else/>
+      <div class="nav-item" v-if="userInfoStore.isHLM" :class="{'active': activeIndex === 5}" @click="toggleTab(5)" v-log="{ describe: { action: '点击切换设置Tab', tab: '高级设置' } }">
+        <img src="@/assets/images/setting/icon1.png" class="nav-icon" v-if="activeIndex !== 5"/>
+        <img src="@/assets/images/setting/icon1a.png" class="nav-icon" v-else/>
         <span>高级设置</span>
       </div>
     </nav>
@@ -536,6 +536,11 @@ const getConfig =  async (typeValue)=>{
  * 组件挂载时初始化activeIndex。
  */
 onMounted(async () => {
+  // 确保用户信息已加载,特别是 brand_company_code 字段
+  if (!userInfoStore.userInfo?.brand_company_code) {
+    await userInfoStore.getInfo();
+  }
+
   getConfig()
 
   let  type = 0 ;