| | |
| | | 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', |
| | |
| | | */ |
| | | |
| | | function handleMenuClick(path: string) { |
| | | if (path.split('/').length > 1 && path.split('/')[2] == 'LC') { |
| | | const id = { ID: path.split('/')[1] }; |
| | | 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 { |
| | | go(path); |
| | | } |
| | | }); |
| | | } else if (path.split('/').length > 2 && path.split('/')[2] == 'High') { |
| | | const id = { Name: path.split('/')[1] }; |
| | | go(`/${path.split('/')[1]}/${path.split('/')[2]}/${encodeURI(JSON.stringify(id))}`); |
| | | } else { |
| | | go(path); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param menu |
| | | */ |
| | | async function beforeMenuClickFn(path: string) { |
| | | if (!isUrl(path)) { |
| | | if (!isHttpUrl(path)) { |
| | | return true; |
| | | } |
| | | openWindow(path); |
| | |
| | | padding: 10px 4px 10px 10px; |
| | | |
| | | img { |
| | | width: 150px; //@logo-width; |
| | | width: @logo-width; |
| | | height: @logo-width; |
| | | } |
| | | } |