From dfd2d0218bbcea93b4bfb0e7ca7ac9b1cc1cc7da Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 27 六月 2024 16:08:28 +0800
Subject: [PATCH] 工艺路线树形增加客户编码

---
 src/layouts/default/menu/index.vue |   64 ++++++++++++++++++++++++--------
 1 files changed, 48 insertions(+), 16 deletions(-)

diff --git a/src/layouts/default/menu/index.vue b/src/layouts/default/menu/index.vue
index 1fa9d55..e7359eb 100644
--- a/src/layouts/default/menu/index.vue
+++ b/src/layouts/default/menu/index.vue
@@ -2,23 +2,24 @@
   import type { PropType, CSSProperties } from 'vue';
 
   import { computed, defineComponent, unref, toRef } from 'vue';
-  import { BasicMenu } from '/@/components/Menu';
-  import { SimpleMenu } from '/@/components/SimpleMenu';
-  import { AppLogo } from '/@/components/Application';
+  import { BasicMenu } from '@/components/Menu';
+  import { SimpleMenu } from '@/components/SimpleMenu';
+  import { AppLogo } from '@/components/Application';
 
-  import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum';
+  import { MenuModeEnum, MenuSplitTyeEnum } from '@/enums/menuEnum';
 
-  import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
-  import { ScrollContainer } from '/@/components/Container';
+  import { useMenuSetting } from '@/hooks/setting/useMenuSetting';
+  import { ScrollContainer } from '@/components/Container';
 
-  import { useGo } from '/@/hooks/web/usePage';
+  import { useGo } from '@/hooks/web/usePage';
   import { useSplitMenu } from './useLayoutMenu';
-  import { openWindow } from '/@/utils';
-  import { propTypes } from '/@/utils/propTypes';
-  import { isUrl } from '/@/utils/is';
-  import { useRootSetting } from '/@/hooks/setting/useRootSetting';
-  import { useAppInject } from '/@/hooks/web/useAppInject';
-  import { useDesign } from '/@/hooks/web/useDesign';
+  import { openWindow } from '@/utils';
+  import { propTypes } from '@/utils/propTypes';
+  import { isHttpUrl, isNullOrUnDef } from '@/utils/is';
+  import { useRootSetting } from '@/hooks/setting/useRootSetting';
+  import { useAppInject } from '@/hooks/web/useAppInject';
+  import { useDesign } from '@/hooks/web/useDesign';
+  import { getEntity } from '/@/api/tigerapi/system';
 
   export default defineComponent({
     name: 'LayoutMenu',
@@ -111,7 +112,38 @@
        */
 
       function handleMenuClick(path: string) {
-        go(path);
+        if (path.split('/').length > 2 && path.split('/')[2] == 'LC') {
+          getEntity({
+            sqlcmd: `ASSEMBLY_NAME ='${path.split('/')[1]}'`,
+            entityName: 'SYS_LOW_CODE',
+          }).then((data) => {
+            var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON);
+            let colSlots = [] as string[];
+            for (const i in searchForms) {
+              if (!isNullOrUnDef(searchForms[i]['colSlot'])) {
+                colSlots.push('form-' + searchForms[i]['colSlot']);
+              }
+            }
+
+            var _cruds = JSON.parse(data.Data.Items[0].FORM_JSON);
+            let crudColSlots = [] as string[];
+            for (const i in _cruds) {
+              if (!isNullOrUnDef(_cruds[i]['colSlot'])) {
+                crudColSlots.push(_cruds[i]['colSlot']);
+              }
+            }
+            const id = { ID: path.split('/')[1], colSlots: colSlots, crudColSlots: crudColSlots };
+            go(`/${path.split('/')[1]}/${path.split('/')[2]}/${encodeURI(JSON.stringify(id))}`);
+          });
+        } else if (
+          (path.split('/').length > 2 && path.split('/')[2] == 'High') ||
+          path.split('/')[2] == 'CP'
+        ) {
+          const id = { Name: path.split('/')[1] };
+          go(`/${path.split('/')[1]}/${path.split('/')[2]}/${encodeURI(JSON.stringify(id))}`);
+        } else {
+          go(path);
+        }
       }
 
       /**
@@ -119,7 +151,7 @@
        * @param menu
        */
       async function beforeMenuClickFn(path: string) {
-        if (!isUrl(path)) {
+        if (!isHttpUrl(path)) {
           return true;
         }
         openWindow(path);
@@ -181,7 +213,7 @@
       padding: 10px 4px 10px 10px;
 
       img {
-        width: 150px; //@logo-width;
+        width: @logo-width;
         height: @logo-width;
       }
     }

--
Gitblit v1.9.3