Ver Fonte

隐藏左侧菜单

yanghao há 2 dias atrás
pai
commit
ecbddea05d

+ 2 - 1
src/layout/components/Menu/src/components/useRenderMenuItem.tsx

@@ -3,6 +3,7 @@ import { hasOneShowingChild } from '../helper'
 import { isUrl } from '@/utils/is'
 import { useRenderMenuTitle } from './useRenderMenuTitle'
 import { pathResolve } from '@/utils/routerHelper'
+import { getCurrentSource } from '@/utils/currentSource'
 
 const { renderMenuTitle } = useRenderMenuTitle()
 
@@ -10,7 +11,7 @@ export const useRenderMenuItem = () =>
   // allRouters: AppRouteRecordRaw[] = [],
   {
     const route = useRoute()
-    const currentSource = sessionStorage.getItem('LOGIN_SOURCE') || route.query.source
+    const currentSource = getCurrentSource(route.query.source)
     const renderMenuItem = (routers: AppRouteRecordRaw[], parentPath = '/') => {
       return routers
         .filter((v) => {

+ 50 - 53
src/layout/components/useRenderLayout.tsx

@@ -8,6 +8,7 @@ import AppView from './AppView.vue'
 import ToolHeader from './ToolHeader.vue'
 import { ElScrollbar } from 'element-plus'
 import { useDesign } from '@/hooks/web/useDesign'
+import { getCurrentSource } from '@/utils/currentSource'
 
 const { getPrefixCls } = useDesign()
 
@@ -16,59 +17,51 @@ const prefixCls = getPrefixCls('layout')
 const appStore = useAppStore()
 
 const pageLoading = computed(() => appStore.getPageLoading)
-
-// 标签页
 const tagsView = computed(() => appStore.getTagsView)
-
-// 菜单折叠
 const collapse = computed(() => appStore.getCollapse)
-
-// logo
 const logo = computed(() => appStore.logo)
-
-// 固定头部
 const fixedHeader = computed(() => appStore.getFixedHeader)
-
-// 是否是移动端
 const mobile = computed(() => appStore.getMobile)
-
-// 固定菜单
 const fixedMenu = computed(() => appStore.getFixedMenu)
+const hideLeftMenu = computed(() => getCurrentSource() === 'qhse')
 
 export const useRenderLayout = () => {
   const renderClassic = () => {
     return (
       <>
-        <div
-          class={[
-            'absolute top-0 left-0 h-full layout-border__right',
-            { '!fixed z-3000': mobile.value }
-          ]}
-        >
-          {logo.value ? (
-            <Logo
-              class={[
-                'bg-[var(--left-menu-bg-color)] relative',
-                {
-                  '!pl-0': mobile.value && collapse.value,
-                  'w-[var(--left-menu-min-width)]': appStore.getCollapse,
-                  'w-[var(--left-menu-max-width)]': !appStore.getCollapse
-                }
-              ]}
-              style="transition: all var(--transition-time-02);"
-            ></Logo>
-          ) : undefined}
-          <Menu class={[{ '!h-[calc(100%-var(--logo-height))]': logo.value }]}></Menu>
-        </div>
+        {!hideLeftMenu.value ? (
+          <div
+            class={[
+              'absolute top-0 left-0 h-full layout-border__right',
+              { '!fixed z-3000': mobile.value }
+            ]}
+          >
+            {logo.value ? (
+              <Logo
+                class={[
+                  'bg-[var(--left-menu-bg-color)] relative',
+                  {
+                    '!pl-0': mobile.value && collapse.value,
+                    'w-[var(--left-menu-min-width)]': appStore.getCollapse,
+                    'w-[var(--left-menu-max-width)]': !appStore.getCollapse
+                  }
+                ]}
+                style="transition: all var(--transition-time-02);"
+              ></Logo>
+            ) : undefined}
+            <Menu class={[{ '!h-[calc(100%-var(--logo-height))]': logo.value }]}></Menu>
+          </div>
+        ) : undefined}
         <div
           class={[
             `${prefixCls}-content`,
             'absolute top-0 h-[100%]',
             {
               'w-[calc(100%-var(--left-menu-min-width))] left-[var(--left-menu-min-width)]':
-                collapse.value && !mobile.value && !mobile.value,
+                !hideLeftMenu.value && collapse.value && !mobile.value,
               'w-[calc(100%-var(--left-menu-max-width))] left-[var(--left-menu-max-width)]':
-                !collapse.value && !mobile.value && !mobile.value,
+                !hideLeftMenu.value && !collapse.value && !mobile.value,
+              'w-full left-0': hideLeftMenu.value,
               'fixed !w-full !left-0': mobile.value
             }
           ]}
@@ -89,10 +82,10 @@ export const useRenderLayout = () => {
                 {
                   'fixed top-0 left-0 z-10': fixedHeader.value,
                   'w-[calc(100%-var(--left-menu-min-width))] !left-[var(--left-menu-min-width)]':
-                    collapse.value && fixedHeader.value && !mobile.value,
+                    !hideLeftMenu.value && collapse.value && fixedHeader.value && !mobile.value,
                   'w-[calc(100%-var(--left-menu-max-width))] !left-[var(--left-menu-max-width)]':
-                    !collapse.value && fixedHeader.value && !mobile.value,
-                  '!w-full !left-0': mobile.value
+                    !hideLeftMenu.value && !collapse.value && fixedHeader.value && !mobile.value,
+                  '!w-full !left-0': hideLeftMenu.value || mobile.value
                 }
               ]}
               style="transition: all var(--transition-time-02);"
@@ -127,16 +120,17 @@ export const useRenderLayout = () => {
           <ToolHeader class="flex-1"></ToolHeader>
         </div>
         <div class="absolute left-0 top-[var(--logo-height)] h-[calc(100%-var(--logo-height))] w-full flex">
-          <Menu class="relative layout-border__right !h-full"></Menu>
+          {!hideLeftMenu.value ? <Menu class="relative layout-border__right !h-full"></Menu> : undefined}
           <div
             class={[
               `${prefixCls}-content`,
               'h-[100%]',
               {
                 'w-[calc(100%-var(--left-menu-min-width))] left-[var(--left-menu-min-width)]':
-                  collapse.value,
+                  !hideLeftMenu.value && collapse.value,
                 'w-[calc(100%-var(--left-menu-max-width))] left-[var(--left-menu-max-width)]':
-                  !collapse.value
+                  !hideLeftMenu.value && !collapse.value,
+                'w-full left-0': hideLeftMenu.value
               }
             ]}
             style="transition: all var(--transition-time-02);"
@@ -158,9 +152,10 @@ export const useRenderLayout = () => {
                     {
                       '!fixed top-0 left-0 z-10': fixedHeader.value,
                       'w-[calc(100%-var(--left-menu-min-width))] !left-[var(--left-menu-min-width)] mt-[var(--logo-height)]':
-                        collapse.value && fixedHeader.value,
+                        !hideLeftMenu.value && collapse.value && fixedHeader.value,
                       'w-[calc(100%-var(--left-menu-max-width))] !left-[var(--left-menu-max-width)] mt-[var(--logo-height)]':
-                        !collapse.value && fixedHeader.value
+                        !hideLeftMenu.value && !collapse.value && fixedHeader.value,
+                      '!w-full !left-0': hideLeftMenu.value
                     }
                   ]}
                   style="transition: width var(--transition-time-02), left var(--transition-time-02);"
@@ -187,7 +182,7 @@ export const useRenderLayout = () => {
           ]}
         >
           {logo.value ? <Logo class="custom-hover"></Logo> : undefined}
-          <Menu class="h-[var(--top-tool-height)] flex-1 px-10px"></Menu>
+          {!hideLeftMenu.value ? <Menu class="h-[var(--top-tool-height)] flex-1 px-10px"></Menu> : undefined}
           <ToolHeader></ToolHeader>
         </div>
         <div class={[`${prefixCls}-content`, 'w-full h-[calc(100%-var(--top-tool-height))]']}>
@@ -229,20 +224,21 @@ export const useRenderLayout = () => {
           <ToolHeader class="flex-1"></ToolHeader>
         </div>
         <div class="absolute left-0 top-[var(--logo-height)] h-[calc(100%-var(--logo-height))] w-full flex">
-          <TabMenu></TabMenu>
+          {!hideLeftMenu.value ? <TabMenu></TabMenu> : undefined}
           <div
             class={[
               `${prefixCls}-content`,
               'h-[100%]',
               {
                 'w-[calc(100%-var(--tab-menu-min-width))] left-[var(--tab-menu-min-width)]':
-                  collapse.value && !fixedMenu.value,
+                  !hideLeftMenu.value && collapse.value && !fixedMenu.value,
                 'w-[calc(100%-var(--tab-menu-max-width))] left-[var(--tab-menu-max-width)]':
-                  !collapse.value && !fixedMenu.value,
+                  !hideLeftMenu.value && !collapse.value && !fixedMenu.value,
                 'w-[calc(100%-var(--tab-menu-min-width)-var(--left-menu-max-width))] ml-[var(--left-menu-max-width)]':
-                  collapse.value && fixedMenu.value,
+                  !hideLeftMenu.value && collapse.value && fixedMenu.value,
                 'w-[calc(100%-var(--tab-menu-max-width)-var(--left-menu-max-width))] ml-[var(--left-menu-max-width)]':
-                  !collapse.value && fixedMenu.value
+                  !hideLeftMenu.value && !collapse.value && fixedMenu.value,
+                'w-full left-0': hideLeftMenu.value
               }
             ]}
             style="transition: all var(--transition-time-02);"
@@ -264,13 +260,14 @@ export const useRenderLayout = () => {
                     {
                       '!fixed top-0 left-0 z-10': fixedHeader.value,
                       'w-[calc(100%-var(--tab-menu-min-width))] !left-[var(--tab-menu-min-width)] mt-[var(--logo-height)]':
-                        collapse.value && fixedHeader.value && !fixedMenu.value,
+                        !hideLeftMenu.value && collapse.value && fixedHeader.value && !fixedMenu.value,
                       'w-[calc(100%-var(--tab-menu-max-width))] !left-[var(--tab-menu-max-width)] mt-[var(--logo-height)]':
-                        !collapse.value && fixedHeader.value && !fixedMenu.value,
+                        !hideLeftMenu.value && !collapse.value && fixedHeader.value && !fixedMenu.value,
                       'w-[calc(100%-var(--tab-menu-min-width)-var(--left-menu-max-width))] !left-[calc(var(--tab-menu-min-width)+var(--left-menu-max-width))] mt-[var(--logo-height)]':
-                        collapse.value && fixedHeader.value && fixedMenu.value,
+                        !hideLeftMenu.value && collapse.value && fixedHeader.value && fixedMenu.value,
                       'w-[calc(100%-var(--tab-menu-max-width)-var(--left-menu-max-width))] !left-[calc(var(--tab-menu-max-width)+var(--left-menu-max-width))] mt-[var(--logo-height)]':
-                        !collapse.value && fixedHeader.value && fixedMenu.value
+                        !hideLeftMenu.value && !collapse.value && fixedHeader.value && fixedMenu.value,
+                      '!w-full !left-0': hideLeftMenu.value
                     }
                   ]}
                   style="transition: width var(--transition-time-02), left var(--transition-time-02);"

+ 13 - 0
src/utils/currentSource.ts

@@ -0,0 +1,13 @@
+export const getCurrentSource = (routeSource?: string | string[]) => {
+  const sessionSource = sessionStorage.getItem('LOGIN_SOURCE')
+
+  if (sessionSource) {
+    return sessionSource
+  }
+
+  if (Array.isArray(routeSource)) {
+    return routeSource[0]
+  }
+
+  return routeSource || ''
+}

+ 7 - 2
src/views/pms/qhse/iotmeasuredetect/IotMeasureDetectForm.vue

@@ -263,11 +263,16 @@ const submitForm = async () => {
   try {
     const data = formData.value as unknown as IotMeasureDetectVO
     if (formType.value === 'create') {
-      console.log('提交数据>>>>>>>>>>>>>>>......:', data)
+      if (data.file instanceof Array) {
+        data.file = data.file.join(',')
+      }
       await IotMeasureDetectApi.createIotMeasureDetect(data)
       message.success(t('common.createSuccess'))
     } else {
-      console.log('提交数据>>>>>>>>>>>>>>>......:', data)
+      if (data.file instanceof Array) {
+        data.file = data.file.join(',')
+      }
+
       await IotMeasureDetectApi.updateIotMeasureDetect(data)
       message.success(t('common.updateSuccess'))
     }