bmp-layout 0.0.24 → 0.0.25-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bmp-layout.es.js CHANGED
@@ -1,8 +1,8 @@
1
- import { openBlock, createBlock, unref, normalizeClass, nextTick, ref, computed, watch, withCtx, createElementBlock, createElementVNode, normalizeStyle, createVNode, Fragment, resolveComponent, defineComponent, isVNode, renderList, createCommentVNode, createTextVNode, toDisplayString, renderSlot, onBeforeMount, withModifiers, onMounted, onUnmounted, Teleport, Transition, provide, KeepAlive, resolveDynamicComponent, TransitionGroup, mergeProps, isRef, withDirectives, resolveDirective, watchEffect, vShow, useSlots, useAttrs, createSlots, inject, onBeforeUnmount, reactive, onUpdated, render, useCssVars } from "vue";
1
+ import { openBlock, createBlock, unref, normalizeClass, ref, computed, watch, withCtx, createElementBlock, createElementVNode, normalizeStyle, nextTick, createVNode, Fragment, resolveComponent, defineComponent, isVNode, renderList, createCommentVNode, createTextVNode, toDisplayString, renderSlot, onBeforeMount, onMounted, withModifiers, onUnmounted, Teleport, Transition, provide, KeepAlive, resolveDynamicComponent, TransitionGroup, mergeProps, isRef, withDirectives, resolveDirective, watchEffect, vShow, useSlots, useAttrs, createSlots, inject, onBeforeUnmount, reactive, onUpdated, render, useCssVars } from "vue";
2
2
  import { createPinia, setActivePinia, defineStore } from "pinia";
3
3
  import piniaPluginPersistedstate from "pinia-plugin-persistedstate";
4
4
  import { cloneDeep, omit } from "lodash-es";
5
- import { ElBacktop, ElIcon, ElMenuItem, ElSubMenu, ElScrollbar, ElMenu, ElDropdown, ElDropdownMenu, ElDropdownItem, ElInput, ElBadge, ElAvatar, ElBreadcrumb, ElBreadcrumbItem, ElDrawer, ElButton, ElMessage, ElConfigProvider, ElCard, ElPagination, ElDialog, ElAlert, ElAffix, ElImageViewer, ElMessageBox, ElNotification, ElUpload, ElLink, ElAutocomplete, ElButtonGroup, ElCarousel, ElCarouselItem, ElCollapse, ElCollapseItem, ElCollapseTransition, ElDivider, ElEmpty, ElOverlay, ElPageHeader, ElProgress, ElResult, ElSkeleton, ElSkeletonItem, ElSpace, ElTag, ElText, ElCascader, ElCascaderPanel, ElCheckbox, ElCheckboxButton, ElCheckboxGroup, ElColorPicker, ElDatePicker, ElForm, ElFormItem, ElInputNumber, ElInputTag, ElRadio, ElRadioButton, ElRadioGroup, ElRate, ElSelect, ElOption, ElOptionGroup, ElSelectV2, ElSlider, ElSwitch, ElTimePicker, ElTimeSelect, ElTransfer, ElTreeSelect, ElMention, ElCalendar, ElCheckTag, ElCountdown, ElDescriptions, ElDescriptionsItem, ElImage, ElStatistic, ElTable, ElTableColumn, ElTimeline, ElTimelineItem, ElTree, ElTreeV2, ElMenuItemGroup, ElTabs, ElTabPane, ElPopover, ElPopconfirm, ElTooltip, ElContainer, ElAside, ElFooter, ElHeader, ElMain, ElRow, ElCol, ElSplitter, ElSplitterPanel, ElSegmented, ElTour, ElTourStep, ElWatermark, ElPopper, ElAnchor, ElSteps } from "element-plus";
5
+ import { ElBacktop, ElIcon, ElMenuItem, ElSubMenu, ElScrollbar, ElMenu, ElDropdown, ElDropdownMenu, ElDropdownItem, ElInput, ElBadge, ElAvatar, ElBreadcrumb, ElBreadcrumbItem, ElDrawer, ElButton, ElMessage, ElPopover, ElConfigProvider, ElCard, ElPagination, ElDialog, ElAlert, ElAffix, ElImageViewer, ElMessageBox, ElNotification, ElUpload, ElLink, ElAutocomplete, ElButtonGroup, ElCarousel, ElCarouselItem, ElCollapse, ElCollapseItem, ElCollapseTransition, ElDivider, ElEmpty, ElOverlay, ElPageHeader, ElProgress, ElResult, ElSkeleton, ElSkeletonItem, ElSpace, ElTag, ElText, ElCascader, ElCascaderPanel, ElCheckbox, ElCheckboxButton, ElCheckboxGroup, ElColorPicker, ElDatePicker, ElForm, ElFormItem, ElInputNumber, ElInputTag, ElRadio, ElRadioButton, ElRadioGroup, ElRate, ElSelect, ElOption, ElOptionGroup, ElSelectV2, ElSlider, ElSwitch, ElTimePicker, ElTimeSelect, ElTransfer, ElTreeSelect, ElMention, ElCalendar, ElCheckTag, ElCountdown, ElDescriptions, ElDescriptionsItem, ElImage, ElStatistic, ElTable, ElTableColumn, ElTimeline, ElTimelineItem, ElTree, ElTreeV2, ElMenuItemGroup, ElTabs, ElTabPane, ElPopconfirm, ElTooltip, ElContainer, ElAside, ElFooter, ElHeader, ElMain, ElRow, ElCol, ElSplitter, ElSplitterPanel, ElSegmented, ElTour, ElTourStep, ElWatermark, ElPopper, ElAnchor, ElSteps } from "element-plus";
6
6
  import { ElAffix as ElAffix2, ElAlert as ElAlert2, ElAnchor as ElAnchor2, ElAside as ElAside2, ElAutocomplete as ElAutocomplete2, ElAvatar as ElAvatar2, ElBacktop as ElBacktop2, ElBadge as ElBadge2, ElBreadcrumb as ElBreadcrumb2, ElBreadcrumbItem as ElBreadcrumbItem2, ElButton as ElButton2, ElButtonGroup as ElButtonGroup2, ElCalendar as ElCalendar2, ElCard as ElCard2, ElCarousel as ElCarousel2, ElCarouselItem as ElCarouselItem2, ElCascader as ElCascader2, ElCascaderPanel as ElCascaderPanel2, ElCheckTag as ElCheckTag2, ElCheckbox as ElCheckbox2, ElCheckboxButton as ElCheckboxButton2, ElCheckboxGroup as ElCheckboxGroup2, ElCol as ElCol2, ElCollapse as ElCollapse2, ElCollapseItem as ElCollapseItem2, ElCollapseTransition as ElCollapseTransition2, ElColorPicker as ElColorPicker2, ElConfigProvider as ElConfigProvider2, ElContainer as ElContainer2, ElCountdown as ElCountdown2, ElDatePicker as ElDatePicker2, ElDescriptions as ElDescriptions2, ElDescriptionsItem as ElDescriptionsItem2, ElDialog as ElDialog2, ElDivider as ElDivider2, ElDrawer as ElDrawer2, ElDropdown as ElDropdown2, ElDropdownItem as ElDropdownItem2, ElDropdownMenu as ElDropdownMenu2, ElEmpty as ElEmpty2, ElFooter as ElFooter2, ElForm as ElForm2, ElFormItem as ElFormItem2, ElHeader as ElHeader2, ElIcon as ElIcon2, ElImage as ElImage2, ElImageViewer as ElImageViewer2, ElInfiniteScroll, ElInput as ElInput2, ElInputNumber as ElInputNumber2, ElInputTag as ElInputTag2, ElLink as ElLink2, ElLoading, ElMain as ElMain2, ElMention as ElMention2, ElMenu as ElMenu2, ElMenuItem as ElMenuItem2, ElMenuItemGroup as ElMenuItemGroup2, ElMessage as ElMessage2, ElMessageBox as ElMessageBox2, ElNotification as ElNotification2, ElOption as ElOption2, ElOptionGroup as ElOptionGroup2, ElOverlay as ElOverlay2, ElPageHeader as ElPageHeader2, ElPagination as ElPagination2, ElPopconfirm as ElPopconfirm2, ElPopover as ElPopover2, ElPopper as ElPopper2, ElProgress as ElProgress2, ElRadio as ElRadio2, ElRadioButton as ElRadioButton2, ElRadioGroup as ElRadioGroup2, ElRate as ElRate2, ElResult as ElResult2, ElRow as ElRow2, ElScrollbar as ElScrollbar2, ElSegmented as ElSegmented2, ElSelect as ElSelect2, ElSelectV2 as ElSelectV22, ElSkeleton as ElSkeleton2, ElSkeletonItem as ElSkeletonItem2, ElSlider as ElSlider2, ElSpace as ElSpace2, ElSplitter as ElSplitter2, ElSplitterPanel as ElSplitterPanel2, ElStatistic as ElStatistic2, ElSteps as ElSteps2, ElSubMenu as ElSubMenu2, ElSwitch as ElSwitch2, ElTabPane as ElTabPane2, ElTable as ElTable2, ElTableColumn as ElTableColumn2, ElTabs as ElTabs2, ElTag as ElTag2, ElText as ElText2, ElTimePicker as ElTimePicker2, ElTimeSelect as ElTimeSelect2, ElTimeline as ElTimeline2, ElTimelineItem as ElTimelineItem2, ElTooltip as ElTooltip2, ElTour as ElTour2, ElTourStep as ElTourStep2, ElTransfer as ElTransfer2, ElTree as ElTree2, ElTreeSelect as ElTreeSelect2, ElTreeV2 as ElTreeV22, ElUpload as ElUpload2, ElWatermark as ElWatermark2 } from "element-plus";
7
7
  import { createRouter, createWebHashHistory, useRoute, useRouter } from "vue-router";
8
8
  import { useTemplateRefsList, useClipboard, useWindowSize } from "@vueuse/core";
@@ -48,6 +48,27 @@ const generateUUID = () => {
48
48
  return (c === "x" ? random : random & 3 | 8).toString(16);
49
49
  });
50
50
  };
51
+ const deepClone = (obj) => {
52
+ if (obj === null || typeof obj !== "object") {
53
+ return obj;
54
+ }
55
+ if (obj instanceof Date) {
56
+ return new Date(obj.getTime());
57
+ }
58
+ if (obj instanceof Array) {
59
+ return obj.map((item) => deepClone(item));
60
+ }
61
+ if (typeof obj === "object") {
62
+ const clonedObj = {};
63
+ for (const key in obj) {
64
+ if (obj.hasOwnProperty(key)) {
65
+ clonedObj[key] = deepClone(obj[key]);
66
+ }
67
+ }
68
+ return clonedObj;
69
+ }
70
+ return obj;
71
+ };
51
72
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
52
73
  function getDefaultExportFromCjs(x) {
53
74
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
@@ -252,6 +273,7 @@ const CACHE_KEY = {
252
273
  LANG: "lang",
253
274
  THEME: "theme",
254
275
  LAYOUT: "layout",
276
+ TOPNAV: "TopNav",
255
277
  DICT_CACHE: "dictCache",
256
278
  // 登录表单
257
279
  LoginForm: "loginForm",
@@ -375,20 +397,25 @@ const whiteLight = {
375
397
  // 默认背景色
376
398
  bgColor: "#edf1ff",
377
399
  // 左侧菜单背景颜色
378
- leftMenuBgColor: "#fff",
400
+ leftMenuBgColor: "rgba(255,255,255,0.8)",
379
401
  // 左侧菜单项选中颜色
380
402
  leftMenuItemBgActiveColor: "rgba(36,104,242,1)",
381
403
  // 左侧菜单项移入颜色
382
- leftMenuItemBgHoverColor: "rgba(36,104,242,0.8)",
404
+ leftMenuItemBgHoverColor: "#eef4ff",
383
405
  // 左侧菜单文字颜色
384
406
  leftMenuTextColor: "#333",
407
+ leftMenuTextHoverColor: "#333",
385
408
  // 顶部菜单项移入颜色
386
409
  topMenuItemBgActiveColor: "rgba(36,104,242,1)",
387
410
  topMenuItemBgHoverColor: "rgba(36,104,242,0.8)",
388
411
  // 头部背景颜色
389
412
  topHeaderBgColor: "#fff",
390
413
  // 头部文字颜色
391
- topHeaderTextColor: "#6b778e",
414
+ topHeaderIconColor: "#3f5172",
415
+ topHeaderTextColor: "#333",
416
+ topHeaderHoverColor: "#2567f0",
417
+ topHeaderCompanyIconColor: "#88a0c3",
418
+ topHeaderCompanyBgColor: "rgba(246,248,255,1)",
392
419
  // 菜单触发器背景颜色
393
420
  menuTriggerBgColor: "#2468F2"
394
421
  };
@@ -434,13 +461,18 @@ const blueLight = {
434
461
  leftMenuItemBgHoverColor: "rgba(103,153,255,0.5)",
435
462
  // 左侧菜单文字颜色
436
463
  leftMenuTextColor: "#fff",
464
+ leftMenuTextHoverColor: "#fff",
437
465
  // 顶部菜单项移入颜色
438
466
  topMenuItemBgActiveColor: "rgba(103,153,255,1)",
439
467
  topMenuItemBgHoverColor: "rgba(103,153,255,0.5)",
440
468
  // 头部背景颜色
441
469
  topHeaderBgColor: "270deg, #29ACFE 0%, #2468F2 100%",
442
470
  // 头部文字颜色
471
+ topHeaderIconColor: "#fff",
443
472
  topHeaderTextColor: "#fff",
473
+ topHeaderHoverColor: "#f6f6f6",
474
+ topHeaderCompanyIconColor: "#fff",
475
+ topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
444
476
  // 菜单触发器背景颜色
445
477
  menuTriggerBgColor: "transparent"
446
478
  };
@@ -492,7 +524,11 @@ const redLight = {
492
524
  // 头部背景颜色
493
525
  topHeaderBgColor: "0, #ea4636, #ea4636",
494
526
  // 头部文字颜色
527
+ topHeaderIconColor: "#fff",
495
528
  topHeaderTextColor: "#fff",
529
+ topHeaderHoverColor: "#f6f6f6",
530
+ topHeaderCompanyIconColor: "#fff",
531
+ topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
496
532
  // 菜单触发器背景颜色
497
533
  menuTriggerBgColor: "transparent"
498
534
  };
@@ -544,7 +580,11 @@ const greenLight = {
544
580
  // 头部背景颜色
545
581
  topHeaderBgColor: "0, #0acfa5, #0acfa5",
546
582
  // 头部文字颜色
583
+ topHeaderIconColor: "#fff",
547
584
  topHeaderTextColor: "#fff",
585
+ topHeaderHoverColor: "#f6f6f6",
586
+ topHeaderCompanyIconColor: "#fff",
587
+ topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
548
588
  // 菜单触发器背景颜色
549
589
  menuTriggerBgColor: "transparent"
550
590
  };
@@ -596,7 +636,11 @@ const springFestival = {
596
636
  // 头部背景颜色
597
637
  topHeaderBgColor: "270deg, #f25416 0%, #ef2704 100%",
598
638
  // 头部文字颜色
639
+ topHeaderIconColor: "#fff",
599
640
  topHeaderTextColor: "#fff",
641
+ topHeaderHoverColor: "#f6f6f6",
642
+ topHeaderCompanyIconColor: "#fff",
643
+ topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
600
644
  // 菜单触发器背景颜色
601
645
  menuTriggerBgColor: "transparent"
602
646
  };
@@ -648,7 +692,11 @@ const dragonBoatFestival = {
648
692
  // 头部背景颜色
649
693
  topHeaderBgColor: "270deg, #3ac677 0%, #0dc35c 100%",
650
694
  // 头部文字颜色
695
+ topHeaderIconColor: "#fff",
651
696
  topHeaderTextColor: "#fff",
697
+ topHeaderHoverColor: "#f6f6f6",
698
+ topHeaderCompanyIconColor: "#fff",
699
+ topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
652
700
  // 菜单触发器背景颜色
653
701
  menuTriggerBgColor: "transparent"
654
702
  };
@@ -700,7 +748,11 @@ const midAutumnFestival = {
700
748
  // 头部背景颜色
701
749
  topHeaderBgColor: "270deg, #fc9b4b 0%, #fa771d 100%",
702
750
  // 头部文字颜色
751
+ topHeaderIconColor: "#fff",
703
752
  topHeaderTextColor: "#fff",
753
+ topHeaderHoverColor: "#f6f6f6",
754
+ topHeaderCompanyIconColor: "#fff",
755
+ topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
704
756
  // 菜单触发器背景颜色
705
757
  menuTriggerBgColor: "transparent"
706
758
  };
@@ -752,7 +804,11 @@ const newYearsDay = {
752
804
  // 头部背景颜色
753
805
  topHeaderBgColor: "270deg, #f84958 0%, #f63344 100%",
754
806
  // 头部文字颜色
807
+ topHeaderIconColor: "#fff",
755
808
  topHeaderTextColor: "#fff",
809
+ topHeaderHoverColor: "#f6f6f6",
810
+ topHeaderCompanyIconColor: "#fff",
811
+ topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
756
812
  // 菜单触发器背景颜色
757
813
  menuTriggerBgColor: "transparent"
758
814
  };
@@ -773,7 +829,7 @@ const useAppStore = defineStore("layout-app", {
773
829
  userInfo: "userInfo",
774
830
  // 登录信息存储字段-建议每个项目换一个字段,避免与其他项目冲突
775
831
  sizeMap: ["default", "large", "small"],
776
- title: "业务中台",
832
+ title: "浪潮信链",
777
833
  // 标题
778
834
  pageLoading: false,
779
835
  // 路由跳转loading
@@ -803,13 +859,15 @@ const useAppStore = defineStore("layout-app", {
803
859
  // 显示页脚
804
860
  greyMode: false,
805
861
  // 是否开始灰色模式,用于特殊悼念日
806
- layout: wsCache$3.get(CACHE_KEY.LAYOUT) || "left",
807
- // layout布局
862
+ // layout: wsCache.get(CACHE_KEY.LAYOUT) || 'left', // layout布局
863
+ layout: "top",
808
864
  currentSize: wsCache$3.get("default") || "default",
809
865
  // 组件尺寸
810
866
  theme: wsCache$3.get(CACHE_KEY.THEME) || "whiteLight",
811
- isSetTheme: false
867
+ isSetTheme: false,
812
868
  //初始化主题色
869
+ // topNav: wsCache.get(CACHE_KEY.TOPNAV) || 'normal', // 顶部导航栏 normal、floating、collapsed
870
+ topNav: "normal"
813
871
  };
814
872
  },
815
873
  getters: {
@@ -875,6 +933,9 @@ const useAppStore = defineStore("layout-app", {
875
933
  },
876
934
  getIsSetTheme() {
877
935
  return this.isSetTheme;
936
+ },
937
+ getTopNav() {
938
+ return this.topNav;
878
939
  }
879
940
  },
880
941
  actions: {
@@ -936,6 +997,10 @@ const useAppStore = defineStore("layout-app", {
936
997
  setFooter(footer) {
937
998
  this.footer = footer;
938
999
  },
1000
+ setTopNav(topNav) {
1001
+ this.topNav = topNav;
1002
+ wsCache$3.set(CACHE_KEY.TOPNAV, topNav);
1003
+ },
939
1004
  async setUserTheme() {
940
1005
  }
941
1006
  },
@@ -1044,6 +1109,26 @@ const addToChildren = (routes, children, routeModule) => {
1044
1109
  }
1045
1110
  }
1046
1111
  };
1112
+ function findRouterBy(routers, key, value) {
1113
+ var _a2;
1114
+ for (const router of routers) {
1115
+ if (router[key] === value)
1116
+ return router;
1117
+ if ((_a2 = router.children) == null ? void 0 : _a2.length) {
1118
+ const found = findRouterBy(router.children, key, value);
1119
+ if (found)
1120
+ return found;
1121
+ }
1122
+ }
1123
+ return void 0;
1124
+ }
1125
+ function buildChildPaths(router) {
1126
+ const parentPath = router.path ? router.path.startsWith("/") ? router.path : `/${router.path}` : "";
1127
+ return (router.children || []).map((child) => {
1128
+ const childPath = child.path ? parentPath.endsWith("/") ? child.path.startsWith("/") ? child.path.substring(1) : child.path : child.path.startsWith("/") ? child.path : `/${child.path}` : "";
1129
+ return { ...child, path: `${parentPath}${childPath}` };
1130
+ });
1131
+ }
1047
1132
  const usePermissionStore = defineStore("layout-permission", {
1048
1133
  state: () => ({
1049
1134
  routers: [],
@@ -1052,6 +1137,7 @@ const usePermissionStore = defineStore("layout-permission", {
1052
1137
  leftMenuRouters: [],
1053
1138
  moduleRouters: [],
1054
1139
  moduleId: void 0,
1140
+ moduleName: void 0,
1055
1141
  roleRouters: []
1056
1142
  // 菜单数据存储到 state,确保响应式
1057
1143
  }),
@@ -1079,6 +1165,9 @@ const usePermissionStore = defineStore("layout-permission", {
1079
1165
  },
1080
1166
  getModuleId() {
1081
1167
  return this.moduleId;
1168
+ },
1169
+ getModuleName() {
1170
+ return this.moduleName;
1082
1171
  }
1083
1172
  },
1084
1173
  actions: {
@@ -1101,22 +1190,15 @@ const usePermissionStore = defineStore("layout-permission", {
1101
1190
  const childPath = child.path ? child.path.startsWith("/") ? child.path : `/${child.path}` : "";
1102
1191
  return { ...child, path: `${basePath}${childPath}` };
1103
1192
  });
1104
- this.leftMenuRouters = [];
1105
- nextTick(() => {
1106
- this.leftMenuRouters = routers;
1107
- });
1193
+ this.leftMenuRouters = routers;
1108
1194
  },
1109
1195
  // 处理模块对应菜单
1110
1196
  setModuleRouters(menuId) {
1111
- this.moduleId = menuId;
1112
- const findRouter = this.getRoleRouters.find((router) => router.id === menuId);
1197
+ const findRouter = findRouterBy(this.getRoleRouters, "id", menuId);
1113
1198
  if (findRouter) {
1114
- const children = findRouter.children || [];
1115
- const parentPath = findRouter.path ? findRouter.path.startsWith("/") ? findRouter.path : `/${findRouter.path}` : "";
1116
- this.moduleRouters = children.map((child) => {
1117
- const childPath = child.path ? parentPath.endsWith("/") ? child.path.startsWith("/") ? child.path.substring(1) : child.path : child.path.startsWith("/") ? child.path : `/${child.path}` : "";
1118
- return { ...child, path: `${parentPath}${childPath}` };
1119
- });
1199
+ this.moduleId = findRouter.id;
1200
+ this.moduleName = findRouter.name;
1201
+ this.moduleRouters = buildChildPaths(findRouter);
1120
1202
  }
1121
1203
  },
1122
1204
  resetState() {
@@ -1126,19 +1208,16 @@ const usePermissionStore = defineStore("layout-permission", {
1126
1208
  this.leftMenuRouters = [];
1127
1209
  this.moduleRouters = [];
1128
1210
  this.moduleId = void 0;
1211
+ this.moduleName = void 0;
1129
1212
  this.roleRouters = [];
1130
1213
  },
1131
1214
  // 处理模块对应菜单(通过模块code)
1132
1215
  setModuleRoutersByCode(moduleCode) {
1133
- const findRouter = this.getRoleRouters.find((router) => router.moduleCode === moduleCode);
1216
+ const findRouter = findRouterBy(this.getRoleRouters, "moduleCode", moduleCode);
1134
1217
  if (findRouter) {
1135
1218
  this.moduleId = findRouter.id;
1136
- const children = findRouter.children || [];
1137
- const parentPath = findRouter.path ? findRouter.path.startsWith("/") ? findRouter.path : `/${findRouter.path}` : "";
1138
- this.moduleRouters = children.map((child) => {
1139
- const childPath = child.path ? parentPath.endsWith("/") ? child.path.startsWith("/") ? child.path.substring(1) : child.path : child.path.startsWith("/") ? child.path : `/${child.path}` : "";
1140
- return { ...child, path: `${parentPath}${childPath}` };
1141
- });
1219
+ this.moduleName = findRouter.name;
1220
+ this.moduleRouters = buildChildPaths(findRouter);
1142
1221
  }
1143
1222
  }
1144
1223
  },
@@ -3489,8 +3568,8 @@ try {
3489
3568
  }
3490
3569
  } catch (err) {
3491
3570
  }
3492
- const _hoisted_1$e = ["xlink:href"];
3493
- const _hoisted_2$c = ["data-icon"];
3571
+ const _hoisted_1$d = ["xlink:href"];
3572
+ const _hoisted_2$b = ["data-icon"];
3494
3573
  const _sfc_main$x = /* @__PURE__ */ Object.assign({ name: "Icon" }, {
3495
3574
  __name: "Icon",
3496
3575
  props: {
@@ -3571,7 +3650,7 @@ const _sfc_main$x = /* @__PURE__ */ Object.assign({ name: "Icon" }, {
3571
3650
  key: 0,
3572
3651
  class: normalizeClass(unref(getSvgClass))
3573
3652
  }, [
3574
- createElementVNode("use", { "xlink:href": unref(symbolId) }, null, 8, _hoisted_1$e)
3653
+ createElementVNode("use", { "xlink:href": unref(symbolId) }, null, 8, _hoisted_1$d)
3575
3654
  ], 2)) : (openBlock(), createElementBlock("span", {
3576
3655
  key: 1,
3577
3656
  ref_key: "elRef",
@@ -3582,7 +3661,7 @@ const _sfc_main$x = /* @__PURE__ */ Object.assign({ name: "Icon" }, {
3582
3661
  createElementVNode("span", {
3583
3662
  class: normalizeClass(unref(getSvgClass)),
3584
3663
  "data-icon": unref(symbolId)
3585
- }, null, 10, _hoisted_2$c)
3664
+ }, null, 10, _hoisted_2$b)
3586
3665
  ], 6))
3587
3666
  ]),
3588
3667
  _: 1
@@ -3643,19 +3722,10 @@ const useRenderMenuTitle = () => {
3643
3722
  title = "Please set title",
3644
3723
  icon
3645
3724
  } = meta;
3646
- const isIcon = computed(() => {
3647
- switch (layout.value) {
3648
- case "left":
3649
- return level == 0;
3650
- case "top":
3651
- return false;
3652
- case "topLeft":
3653
- return mode == "vertical" && level == 0;
3654
- }
3655
- });
3656
- return createVNode(Fragment, null, [isIcon.value && icon ? createVNode(_sfc_main$x, {
3657
- "icon": meta.icon
3658
- }, null) : void 0, createVNode("span", {
3725
+ const showIcon = computed(() => layout.value !== "top");
3726
+ return createVNode(Fragment, null, [showIcon.value && createVNode(_sfc_main$x, {
3727
+ "icon": icon ? icon : "ep:house"
3728
+ }, null), createVNode("span", {
3659
3729
  "class": [`${prefixCls$5}__title`, "overflow-hidden overflow-ellipsis whitespace-nowrap text-ellipsis"]
3660
3730
  }, [t2(title)])]);
3661
3731
  };
@@ -3865,21 +3935,30 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3865
3935
  }
3866
3936
  });
3867
3937
  };
3938
+ const showCollapse = computed(() => {
3939
+ return layout.value == "left" || unref(layout) == "topLeft" && props.mode == "vertical";
3940
+ });
3941
+ const moduleName = computed(() => permissionStore.getModuleName);
3942
+ const showModuleName = computed(() => (layout.value == "left" || layout.value == "topLeft" && props.mode == "vertical") && !collapse.value);
3868
3943
  return () => createVNode("div", {
3869
3944
  "id": prefixCls$4,
3870
- "class": [`${prefixCls$4} ${prefixCls$4}__${unref(menuMode)}`, "h-[100%] flex flex-col", {
3945
+ "class": [`${prefixCls$4} ${prefixCls$4}__${unref(menuMode)}`, "flex flex-col", {
3871
3946
  "w-[var(--left-menu-min-width)]": unref(collapse),
3872
3947
  "w-[var(--left-menu-max-width)]": !unref(collapse),
3873
- "bg-[linear-gradient(var(--left-menu-bg-color))]": unref(layout) == "left" || unref(layout) == "topLeft" && props.mode == "vertical"
3948
+ "bg-[linear-gradient(var(--left-menu-bg-color))]": unref(layout) == "left" || unref(layout) == "topLeft" && props.mode == "vertical",
3949
+ "collapse": unref(collapse),
3950
+ "un-collapse": !unref(collapse)
3874
3951
  }]
3875
- }, [createVNode("div", {
3952
+ }, [showModuleName.value && createVNode("div", {
3953
+ "class": "text-center text-16px font-500 p-16px pb-10px text-[var(--left-menu-text-color)]"
3954
+ }, [moduleName.value]), createVNode("div", {
3876
3955
  "class": "flex-1 overflow-hidden"
3877
- }, [renderMenuWrap()]), layout.value !== "top" ? createVNode(Collapse, {
3956
+ }, [renderMenuWrap()]), unref(showCollapse) ? createVNode(Collapse, {
3878
3957
  "color": "var(--top-header-text-color)"
3879
3958
  }, null) : void 0]);
3880
3959
  }
3881
3960
  });
3882
- const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-474ce778"]]);
3961
+ const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-ca95b9cd"]]);
3883
3962
  var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
3884
3963
  function int2char(n2) {
3885
3964
  return BI_RM.charAt(n2);
@@ -7535,10 +7614,15 @@ const useUserStore = defineStore("layout-user", {
7535
7614
  avatar: "",
7536
7615
  nickname: "",
7537
7616
  deptId: 0,
7617
+ deptName: "",
7538
7618
  mobile: "",
7539
7619
  email: "",
7540
- username: ""
7541
- }
7620
+ username: "",
7621
+ orgId: "",
7622
+ orgName: ""
7623
+ },
7624
+ // 公司列表
7625
+ companyList: []
7542
7626
  }),
7543
7627
  getters: {
7544
7628
  getPermissions() {
@@ -7556,6 +7640,9 @@ const useUserStore = defineStore("layout-user", {
7556
7640
  getUserInfo() {
7557
7641
  const userInfo = wsCache$1.get(CACHE_KEY.USER);
7558
7642
  return userInfo;
7643
+ },
7644
+ getCompanyList() {
7645
+ return this.companyList;
7559
7646
  }
7560
7647
  },
7561
7648
  actions: {
@@ -7592,6 +7679,10 @@ const useUserStore = defineStore("layout-user", {
7592
7679
  userInfo.user.email = user.email;
7593
7680
  wsCache$1.set(CACHE_KEY.USER, userInfo);
7594
7681
  },
7682
+ // 更新用户企业列表信息
7683
+ setCompanyListAction(companyList) {
7684
+ this.companyList = companyList || [];
7685
+ },
7595
7686
  async loginOut() {
7596
7687
  removeToken();
7597
7688
  deleteUserCache();
@@ -7978,9 +8069,9 @@ function useScrollTo({
7978
8069
  }
7979
8070
  return { start: run, stop };
7980
8071
  }
7981
- const _hoisted_1$d = ["id"];
7982
- const _hoisted_2$b = { class: "flex-1 overflow-hidden px-20px" };
7983
- const _hoisted_3$a = { class: "h-[var(--tags-view-height)] flex" };
8072
+ const _hoisted_1$c = ["id"];
8073
+ const _hoisted_2$a = { class: "flex-1 overflow-hidden px-16px" };
8074
+ const _hoisted_3$9 = { class: "h-[var(--tags-view-height)] flex" };
7984
8075
  const _hoisted_4$8 = ["onClick"];
7985
8076
  const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
7986
8077
  __name: "TagsView",
@@ -8058,6 +8149,7 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8058
8149
  const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
8059
8150
  if (!wrap$)
8060
8151
  return;
8152
+ scrollStopFn == null ? void 0 : scrollStopFn();
8061
8153
  let firstTag = null;
8062
8154
  let lastTag = null;
8063
8155
  const tagList = unref(tagLinksRefs);
@@ -8066,12 +8158,22 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8066
8158
  lastTag = tagList[tagList.length - 1];
8067
8159
  }
8068
8160
  if ((firstTag == null ? void 0 : firstTag.to).fullPath === currentTag.fullPath) {
8069
- const { start } = useScrollTo({
8161
+ const { start, stop } = useScrollTo({
8070
8162
  el: wrap$,
8071
8163
  position: "scrollLeft",
8072
8164
  to: 0,
8073
8165
  duration: 500
8074
8166
  });
8167
+ scrollStopFn = stop;
8168
+ start();
8169
+ } else if ((lastTag == null ? void 0 : lastTag.to).fullPath === currentTag.fullPath) {
8170
+ const { start, stop } = useScrollTo({
8171
+ el: wrap$,
8172
+ position: "scrollLeft",
8173
+ to: wrap$.scrollWidth - wrap$.offsetWidth,
8174
+ duration: 500
8175
+ });
8176
+ scrollStopFn = stop;
8075
8177
  start();
8076
8178
  } else if ((lastTag == null ? void 0 : lastTag.to).fullPath === currentTag.fullPath) {
8077
8179
  const { start } = useScrollTo({
@@ -8082,9 +8184,7 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8082
8184
  });
8083
8185
  start();
8084
8186
  } else {
8085
- const currentIndex = tagList.findIndex(
8086
- (item) => (item == null ? void 0 : item.to).fullPath === currentTag.fullPath
8087
- );
8187
+ const currentIndex = tagList.findIndex((item) => (item == null ? void 0 : item.to).fullPath === currentTag.fullPath);
8088
8188
  const tgsRefs = document.getElementsByClassName(`${prefixCls2}__item`);
8089
8189
  const prevTag = tgsRefs[currentIndex - 1];
8090
8190
  const nextTag = tgsRefs[currentIndex + 1];
@@ -8093,20 +8193,22 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8093
8193
  const afterNextTagOffsetLeft = nextTag.offsetLeft + nextTag.offsetWidth;
8094
8194
  const beforePrevTagOffsetLeft = prevTag.offsetLeft;
8095
8195
  if (afterNextTagOffsetLeft > unref(scrollLeftNumber) + wrap$.offsetWidth) {
8096
- const { start } = useScrollTo({
8196
+ const { start, stop } = useScrollTo({
8097
8197
  el: wrap$,
8098
8198
  position: "scrollLeft",
8099
8199
  to: afterNextTagOffsetLeft - wrap$.offsetWidth,
8100
8200
  duration: 500
8101
8201
  });
8202
+ scrollStopFn = stop;
8102
8203
  start();
8103
8204
  } else if (beforePrevTagOffsetLeft < unref(scrollLeftNumber)) {
8104
- const { start } = useScrollTo({
8205
+ const { start, stop } = useScrollTo({
8105
8206
  el: wrap$,
8106
8207
  position: "scrollLeft",
8107
8208
  to: beforePrevTagOffsetLeft,
8108
8209
  duration: 500
8109
8210
  });
8211
+ scrollStopFn = stop;
8110
8212
  start();
8111
8213
  }
8112
8214
  }
@@ -8119,13 +8221,51 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8119
8221
  };
8120
8222
  const scrollbarRef = ref();
8121
8223
  const scrollLeftNumber = ref(0);
8122
- const scroll = ({ scrollLeft }) => {
8224
+ const showLeftArrow = ref(false);
8225
+ const showRightArrow = ref(false);
8226
+ let scrollStopFn = null;
8227
+ const checkArrows = () => {
8228
+ var _a2;
8229
+ const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
8230
+ if (!wrap$)
8231
+ return;
8232
+ const { scrollLeft, scrollWidth, offsetWidth } = wrap$;
8233
+ showLeftArrow.value = scrollLeft > 0;
8234
+ showRightArrow.value = scrollLeft < scrollWidth - offsetWidth - 1;
8235
+ };
8236
+ const handleScroll = ({ scrollLeft }) => {
8123
8237
  scrollLeftNumber.value = scrollLeft;
8238
+ checkArrows();
8239
+ };
8240
+ const handleScrollLeft = () => {
8241
+ var _a2;
8242
+ const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
8243
+ if (wrap$) {
8244
+ wrap$.scrollTo({
8245
+ left: Math.max(0, wrap$.scrollLeft - 300),
8246
+ behavior: "smooth"
8247
+ });
8248
+ }
8249
+ };
8250
+ const handleScrollRight = () => {
8251
+ var _a2;
8252
+ const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
8253
+ if (wrap$) {
8254
+ wrap$.scrollTo({
8255
+ left: wrap$.scrollLeft + 300,
8256
+ behavior: "smooth"
8257
+ });
8258
+ }
8124
8259
  };
8125
8260
  onBeforeMount(() => {
8126
8261
  initTags();
8127
8262
  addTags();
8128
8263
  });
8264
+ onMounted(() => {
8265
+ nextTick(() => {
8266
+ checkArrows();
8267
+ });
8268
+ });
8129
8269
  watch(
8130
8270
  () => currentRoute.value,
8131
8271
  () => {
@@ -8138,17 +8278,28 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8138
8278
  const _component_router_link = resolveComponent("router-link");
8139
8279
  return openBlock(), createElementBlock("div", {
8140
8280
  id: unref(prefixCls2),
8141
- class: normalizeClass([unref(prefixCls2), "relative w-full flex bg-[#dbe4f880]"])
8281
+ class: normalizeClass([unref(prefixCls2), "relative flex items-center"])
8142
8282
  }, [
8143
- createElementVNode("div", _hoisted_2$b, [
8283
+ unref(showLeftArrow) ? (openBlock(), createElementBlock("div", {
8284
+ key: 0,
8285
+ class: normalizeClass(`${unref(prefixCls2)}__arrow ${unref(prefixCls2)}__arrow--left`),
8286
+ onClick: handleScrollLeft
8287
+ }, [
8288
+ createVNode(_component_Icon, {
8289
+ icon: "lucide:chevron-left",
8290
+ size: 16,
8291
+ color: "#a4aec4ff"
8292
+ })
8293
+ ], 2)) : createCommentVNode("", true),
8294
+ createElementVNode("div", _hoisted_2$a, [
8144
8295
  createVNode(unref(ElScrollbar), {
8145
8296
  ref_key: "scrollbarRef",
8146
8297
  ref: scrollbarRef,
8147
8298
  class: "h-full",
8148
- onScroll: scroll
8299
+ onScroll: handleScroll
8149
8300
  }, {
8150
8301
  default: withCtx(() => [
8151
- createElementVNode("div", _hoisted_3$a, [
8302
+ createElementVNode("div", _hoisted_3$9, [
8152
8303
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(visitedViews), (item) => {
8153
8304
  var _a2, _b, _c, _d, _e, _f;
8154
8305
  return openBlock(), createBlock(unref(_sfc_main$u), {
@@ -8208,18 +8359,21 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8208
8359
  var _a3, _b2;
8209
8360
  return [
8210
8361
  createElementVNode("div", {
8211
- class: normalizeClass(`h-full flex items-center justify-center gap-8px whitespace-nowrap ${unref(prefixCls2)}__item--label`),
8362
+ class: normalizeClass(`h-full flex items-center justify-center gap-16px whitespace-nowrap ${unref(prefixCls2)}__item--label`),
8212
8363
  onClick: navigate
8213
8364
  }, [
8214
8365
  createElementVNode("span", null, toDisplayString(unref(t2)((_a3 = item == null ? void 0 : item.meta) == null ? void 0 : _a3.title)), 1),
8215
- ((_b2 = unref(visitedViews)) == null ? void 0 : _b2.length) > 1 ? (openBlock(), createBlock(_component_Icon, {
8216
- key: 0,
8217
- class: normalizeClass(`${unref(prefixCls2)}__item--close`),
8218
- size: 8,
8219
- color: isActive(item) ? "#444444ff" : "#7b7e904ff",
8220
- icon: "svg-icon:tag-close",
8221
- onClick: withModifiers(($event) => closeSelectedTag(item), ["prevent", "stop"])
8222
- }, null, 8, ["class", "color", "onClick"])) : createCommentVNode("", true)
8366
+ ((_b2 = unref(visitedViews)) == null ? void 0 : _b2.length) > 1 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
8367
+ createVNode(_component_Icon, {
8368
+ class: normalizeClass(`${unref(prefixCls2)}__item--close`),
8369
+ size: 8,
8370
+ icon: "svg-icon:tag-close",
8371
+ onClick: withModifiers(($event) => closeSelectedTag(item), ["prevent", "stop"])
8372
+ }, null, 8, ["class", "onClick"]),
8373
+ createElementVNode("span", {
8374
+ class: normalizeClass(`${unref(prefixCls2)}__item--dot`)
8375
+ }, null, 2)
8376
+ ], 64)) : createCommentVNode("", true)
8223
8377
  ], 10, _hoisted_4$8)
8224
8378
  ];
8225
8379
  }),
@@ -8234,12 +8388,23 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8234
8388
  ]),
8235
8389
  _: 1
8236
8390
  }, 512)
8237
- ])
8238
- ], 10, _hoisted_1$d);
8391
+ ]),
8392
+ unref(showRightArrow) ? (openBlock(), createElementBlock("div", {
8393
+ key: 1,
8394
+ class: normalizeClass(`${unref(prefixCls2)}__arrow ${unref(prefixCls2)}__arrow--right`),
8395
+ onClick: handleScrollRight
8396
+ }, [
8397
+ createVNode(_component_Icon, {
8398
+ icon: "lucide:chevron-right",
8399
+ size: 16,
8400
+ color: "#7d8595ff"
8401
+ })
8402
+ ], 2)) : createCommentVNode("", true)
8403
+ ], 10, _hoisted_1$c);
8239
8404
  };
8240
8405
  }
8241
8406
  });
8242
- const TagsView = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-dadb909c"]]);
8407
+ const TagsView = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-fb8d3778"]]);
8243
8408
  const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
8244
8409
  __name: "MenuTrigger",
8245
8410
  props: {
@@ -8250,9 +8415,12 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
8250
8415
  },
8251
8416
  emits: ["click", "toggle"],
8252
8417
  setup(__props, { emit: __emit }) {
8418
+ const appStore = useAppStore();
8253
8419
  const { getPrefixCls: getPrefixCls2 } = useDesign();
8254
8420
  const prefixCls2 = getPrefixCls2("menu-trigger");
8255
8421
  const props = __props;
8422
+ const theme = computed(() => appStore.getTheme);
8423
+ const triggerIcon = computed(() => props.active ? "ant-design:close-outlined" : theme.value === "whiteLight" ? "svg-icon:menu-trigger-filled" : "svg-icon:menu-trigger");
8256
8424
  const emit = __emit;
8257
8425
  const handleClick = () => {
8258
8426
  emit("click");
@@ -8265,7 +8433,7 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
8265
8433
  onClick: handleClick
8266
8434
  }, [
8267
8435
  createVNode(_component_Icon, {
8268
- icon: props.active ? "ant-design:close-outlined" : "svg-icon:menu-trigger",
8436
+ icon: unref(triggerIcon),
8269
8437
  svgClass: "!w-full !h-full",
8270
8438
  class: normalizeClass(["!w-18px", "!h-18px", "icon-color"])
8271
8439
  }, null, 8, ["icon"])
@@ -8273,13 +8441,12 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
8273
8441
  };
8274
8442
  }
8275
8443
  });
8276
- const MenuTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-f7f5d176"]]);
8277
- const _hoisted_1$c = { class: "sidebar-inner" };
8278
- const _hoisted_2$a = ["onClick"];
8279
- const _hoisted_3$9 = ["onClick"];
8444
+ const MenuTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-aedf94f7"]]);
8445
+ const _hoisted_1$b = { class: "sidebar-inner" };
8446
+ const _hoisted_2$9 = ["onClick"];
8447
+ const _hoisted_3$8 = ["onClick"];
8280
8448
  const _hoisted_4$7 = ["onClick"];
8281
- const _hoisted_5$5 = { key: 0 };
8282
- const _hoisted_6$4 = { key: 1 };
8449
+ const _hoisted_5$6 = ["onClick"];
8283
8450
  const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel" }, {
8284
8451
  __name: "ProductServicePanel",
8285
8452
  props: {
@@ -8320,11 +8487,15 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8320
8487
  }, 300);
8321
8488
  }
8322
8489
  });
8323
- const activeCategory = ref(0);
8490
+ const activeProductIndex = ref(0);
8491
+ const activeModuleIndex = ref(0);
8324
8492
  const routers = computed(() => permissionStore.getRoleRouters);
8493
+ const productMenuRouters = computed(() => {
8494
+ return (routers.value || []).filter((item) => item.type === 10);
8495
+ });
8325
8496
  const filteredMenus = computed(() => {
8326
8497
  const keyword = debouncedKeyword.value.toLowerCase().trim();
8327
- const items = routers.value;
8498
+ const items = productMenuRouters.value;
8328
8499
  if (!items || !Array.isArray(items))
8329
8500
  return [];
8330
8501
  const filterFn = (list) => {
@@ -8345,7 +8516,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8345
8516
  };
8346
8517
  return filterFn(items);
8347
8518
  });
8348
- const groupedMenus = computed(() => {
8519
+ const productList = computed(() => {
8349
8520
  return filteredMenus.value.map((menu) => {
8350
8521
  var _a2;
8351
8522
  return {
@@ -8358,11 +8529,34 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8358
8529
  };
8359
8530
  });
8360
8531
  });
8361
- const currentCategoryMenus = computed(() => {
8362
- if (groupedMenus.value.length === 0)
8532
+ const activeProduct = computed(() => {
8533
+ if (productList.value.length === 0)
8534
+ return null;
8535
+ return productList.value[activeProductIndex.value] || null;
8536
+ });
8537
+ const activeModules = computed(() => {
8538
+ var _a2;
8539
+ return ((_a2 = activeProduct.value) == null ? void 0 : _a2.children) || [];
8540
+ });
8541
+ const activeModule = computed(() => {
8542
+ if (activeModules.value.length === 0)
8543
+ return null;
8544
+ return activeModules.value[activeModuleIndex.value] || null;
8545
+ });
8546
+ const contentGroups = computed(() => {
8547
+ if (!activeModule.value)
8363
8548
  return [];
8364
- const group = groupedMenus.value[activeCategory.value];
8365
- return (group == null ? void 0 : group.children) || [];
8549
+ const thirdMenus = (activeModule.value.children || []).filter(isVisible);
8550
+ return thirdMenus.map((third) => ({
8551
+ id: third.id,
8552
+ title: getMenuTitle(third),
8553
+ path: third.path,
8554
+ items: (third.children || []).filter(isVisible).map((fourth) => ({
8555
+ id: fourth.id,
8556
+ title: getMenuTitle(fourth),
8557
+ path: fourth.path
8558
+ }))
8559
+ }));
8366
8560
  });
8367
8561
  const joinPath = (...paths) => {
8368
8562
  return paths.filter(Boolean).reduce((result, path) => {
@@ -8388,19 +8582,20 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8388
8582
  clearTimeout(debounceTimer);
8389
8583
  searchKeyword.value = "";
8390
8584
  debouncedKeyword.value = "";
8391
- activeCategory.value = 0;
8585
+ activeProductIndex.value = 0;
8586
+ activeModuleIndex.value = 0;
8392
8587
  };
8393
8588
  const handleSelect = (item, parentPath = "") => {
8394
- var _a2, _b;
8589
+ var _a2, _b, _c, _d;
8395
8590
  const fullPath = getAccessiblePath(item, parentPath);
8396
8591
  if (fullPath) {
8397
8592
  const currentModuleId = permissionStore.getModuleId;
8398
- const selectedModuleId = (_a2 = groupedMenus.value[activeCategory.value]) == null ? void 0 : _a2.id;
8593
+ const selectedModuleId = (_b = (_a2 = productList.value[activeProductIndex.value]) == null ? void 0 : _a2.children[activeModuleIndex.value]) == null ? void 0 : _b.id;
8399
8594
  if (selectedModuleId === currentModuleId) {
8400
8595
  router.push(fullPath.startsWith("/") ? fullPath : `/${fullPath}`);
8401
8596
  } else {
8402
8597
  const currentOrigin = window.location.origin;
8403
- const modulePath = ((_b = groupedMenus.value[activeCategory.value]) == null ? void 0 : _b.modulePath) || "";
8598
+ const modulePath = ((_d = (_c = productList.value[activeProductIndex.value]) == null ? void 0 : _c.children[activeModuleIndex.value]) == null ? void 0 : _d.modulePath) || "";
8404
8599
  const moduleFullPath = joinPath(modulePath, fullPath);
8405
8600
  const targetUrl = `${currentOrigin}${moduleFullPath.startsWith("/") ? moduleFullPath : `/${moduleFullPath}`}`;
8406
8601
  window.location.href = targetUrl;
@@ -8408,38 +8603,64 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8408
8603
  closePanel();
8409
8604
  }
8410
8605
  };
8411
- const handleCategorySelect = (index) => {
8412
- activeCategory.value = index;
8606
+ const handleProductSelect = (index) => {
8607
+ activeProductIndex.value = index;
8608
+ activeModuleIndex.value = 0;
8413
8609
  };
8414
- watch(groupedMenus, () => {
8415
- var _a2;
8416
- if (activeCategory.value >= groupedMenus.value.length) {
8417
- activeCategory.value = 0;
8418
- }
8419
- if (groupedMenus.value.length > 0) {
8420
- const currentGroup = groupedMenus.value[activeCategory.value];
8421
- if (!((_a2 = currentGroup == null ? void 0 : currentGroup.children) == null ? void 0 : _a2.length)) {
8422
- const firstWithChildren = groupedMenus.value.findIndex((g) => {
8423
- var _a3;
8424
- return ((_a3 = g.children) == null ? void 0 : _a3.length) > 0;
8425
- });
8426
- if (firstWithChildren !== -1) {
8427
- activeCategory.value = firstWithChildren;
8428
- }
8610
+ const handleModuleSelect = (index) => {
8611
+ activeModuleIndex.value = index;
8612
+ };
8613
+ const handleItemClick = (fourthItem, group) => {
8614
+ var _a2, _b;
8615
+ const parentPath = joinPath((_a2 = activeProduct.value) == null ? void 0 : _a2.path, (_b = activeModule.value) == null ? void 0 : _b.path, group.path);
8616
+ handleSelect(fourthItem, parentPath);
8617
+ };
8618
+ const handleGroupClick = (group) => {
8619
+ var _a2, _b;
8620
+ const parentPath = joinPath((_a2 = activeProduct.value) == null ? void 0 : _a2.path, (_b = activeModule.value) == null ? void 0 : _b.path);
8621
+ handleSelect({ path: group.path, children: [] }, parentPath);
8622
+ };
8623
+ const syncActiveSelection = () => {
8624
+ const currentModuleId = permissionStore.getModuleId;
8625
+ if (!currentModuleId)
8626
+ return false;
8627
+ for (let pIndex = 0; pIndex < productList.value.length; pIndex++) {
8628
+ const mIndex = productList.value[pIndex].children.findIndex(
8629
+ (mod) => mod.id === currentModuleId
8630
+ );
8631
+ if (mIndex !== -1) {
8632
+ activeProductIndex.value = pIndex;
8633
+ activeModuleIndex.value = mIndex;
8634
+ return true;
8429
8635
  }
8430
8636
  }
8431
- });
8432
- watch(() => props.visible, (val) => {
8433
- if (val) {
8434
- searchKeyword.value = "";
8435
- debouncedKeyword.value = "";
8436
- activeCategory.value = 0;
8437
- nextTick(() => {
8438
- var _a2;
8439
- (_a2 = searchInputRef.value) == null ? void 0 : _a2.focus();
8440
- });
8637
+ return false;
8638
+ };
8639
+ watch(productList, () => {
8640
+ if (!syncActiveSelection()) {
8641
+ if (activeProductIndex.value >= productList.value.length) {
8642
+ activeProductIndex.value = 0;
8643
+ }
8644
+ activeModuleIndex.value = 0;
8441
8645
  }
8442
8646
  });
8647
+ watch(
8648
+ () => props.visible,
8649
+ (val) => {
8650
+ if (val) {
8651
+ searchKeyword.value = "";
8652
+ debouncedKeyword.value = "";
8653
+ if (!syncActiveSelection()) {
8654
+ activeProductIndex.value = 0;
8655
+ activeModuleIndex.value = 0;
8656
+ }
8657
+ nextTick(() => {
8658
+ var _a2;
8659
+ (_a2 = searchInputRef.value) == null ? void 0 : _a2.focus();
8660
+ });
8661
+ }
8662
+ }
8663
+ );
8443
8664
  const handleKeydown = (e2) => {
8444
8665
  if (e2.key === "Escape" && props.visible) {
8445
8666
  closePanel();
@@ -8473,22 +8694,43 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8473
8694
  createElementVNode("div", {
8474
8695
  class: normalizeClass([unref(prefixCls2) + "__sidebar-title"])
8475
8696
  }, [
8476
- createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.allProducts")), 1)
8697
+ createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.productNavigation")), 1)
8477
8698
  ], 2),
8478
8699
  createVNode(unref(ElScrollbar), null, {
8479
8700
  default: withCtx(() => [
8480
- createElementVNode("div", _hoisted_1$c, [
8481
- (openBlock(true), createElementBlock(Fragment, null, renderList(groupedMenus.value, (group, index) => {
8701
+ createElementVNode("div", _hoisted_1$b, [
8702
+ (openBlock(true), createElementBlock(Fragment, null, renderList(productList.value, (product, pIndex) => {
8482
8703
  return openBlock(), createElementBlock("div", {
8483
- key: group.id || index,
8704
+ key: product.id || pIndex,
8484
8705
  class: normalizeClass([
8485
- unref(prefixCls2) + "__category",
8486
- { "is-active": activeCategory.value === index }
8706
+ unref(prefixCls2) + "__product-card",
8707
+ { "is-active": activeProductIndex.value === pIndex }
8487
8708
  ]),
8488
- onClick: ($event) => handleCategorySelect(index)
8709
+ onClick: ($event) => handleProductSelect(pIndex)
8489
8710
  }, [
8490
- createElementVNode("span", null, toDisplayString(group.title), 1)
8491
- ], 10, _hoisted_2$a);
8711
+ createElementVNode("div", {
8712
+ class: normalizeClass([unref(prefixCls2) + "__product-name"])
8713
+ }, [
8714
+ createElementVNode("span", null, toDisplayString(product.title), 1)
8715
+ ], 2),
8716
+ product.children.length > 0 ? (openBlock(), createElementBlock("div", {
8717
+ key: 0,
8718
+ class: normalizeClass([unref(prefixCls2) + "__product-modules"])
8719
+ }, [
8720
+ (openBlock(true), createElementBlock(Fragment, null, renderList(product.children, (mod, mIndex) => {
8721
+ return openBlock(), createElementBlock("span", {
8722
+ key: mod.id || mIndex,
8723
+ class: normalizeClass([
8724
+ unref(prefixCls2) + "__module-tag",
8725
+ {
8726
+ "is-active": activeProductIndex.value === pIndex && activeModuleIndex.value === mIndex
8727
+ }
8728
+ ]),
8729
+ onClick: withModifiers(($event) => (handleProductSelect(pIndex), handleModuleSelect(mIndex)), ["stop"])
8730
+ }, toDisplayString(getMenuTitle(mod)), 11, _hoisted_3$8);
8731
+ }), 128))
8732
+ ], 2)) : createCommentVNode("", true)
8733
+ ], 10, _hoisted_2$9);
8492
8734
  }), 128))
8493
8735
  ])
8494
8736
  ]),
@@ -8533,60 +8775,38 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8533
8775
  createElementVNode("div", {
8534
8776
  class: normalizeClass([unref(prefixCls2) + "__grid-container"])
8535
8777
  }, [
8536
- currentCategoryMenus.value.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(currentCategoryMenus.value, (secondMenu) => {
8778
+ contentGroups.value.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(contentGroups.value, (group) => {
8537
8779
  return openBlock(), createElementBlock("div", {
8538
- key: secondMenu.id || secondMenu.path,
8539
- class: normalizeClass([unref(prefixCls2) + "__column"])
8780
+ key: group.id || group.title,
8781
+ class: normalizeClass([unref(prefixCls2) + "__group"])
8540
8782
  }, [
8541
8783
  createElementVNode("div", {
8542
- class: normalizeClass([unref(prefixCls2) + "__column-title"])
8784
+ class: normalizeClass([unref(prefixCls2) + "__group-title"])
8543
8785
  }, [
8544
- createElementVNode("span", null, toDisplayString(getMenuTitle(secondMenu)), 1)
8786
+ createElementVNode("span", null, toDisplayString(group.title), 1)
8545
8787
  ], 2),
8546
8788
  createElementVNode("div", {
8547
- class: normalizeClass([unref(prefixCls2) + "__column-list"])
8789
+ class: normalizeClass([unref(prefixCls2) + "__group-grid"])
8548
8790
  }, [
8549
- secondMenu.children && secondMenu.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(secondMenu.children.filter(isVisible), (thirdMenu) => {
8791
+ group.items.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(group.items, (item) => {
8550
8792
  return openBlock(), createElementBlock("div", {
8551
- key: thirdMenu.path,
8552
- class: normalizeClass([unref(prefixCls2) + "__column-item"]),
8553
- onClick: ($event) => {
8554
- var _a2;
8555
- return handleSelect(thirdMenu, joinPath((_a2 = groupedMenus.value[activeCategory.value]) == null ? void 0 : _a2.path, secondMenu.path));
8556
- }
8793
+ key: item.id || item.path,
8794
+ class: normalizeClass([unref(prefixCls2) + "__group-item"]),
8795
+ onClick: ($event) => handleItemClick(item, group)
8557
8796
  }, [
8558
- createElementVNode("span", null, toDisplayString(getMenuTitle(thirdMenu)), 1)
8559
- ], 10, _hoisted_3$9);
8797
+ createElementVNode("span", null, toDisplayString(item.title), 1)
8798
+ ], 10, _hoisted_4$7);
8560
8799
  }), 128)) : (openBlock(), createElementBlock("div", {
8561
8800
  key: 1,
8562
- class: normalizeClass([
8563
- unref(prefixCls2) + "__column-item",
8564
- { [unref(prefixCls2) + "__column-item--disabled"]: secondMenu.type === 1 }
8565
- ]),
8566
- onClick: ($event) => {
8567
- var _a2;
8568
- return secondMenu.type === 2 && handleSelect(secondMenu, (_a2 = groupedMenus.value[activeCategory.value]) == null ? void 0 : _a2.path);
8569
- }
8801
+ class: normalizeClass([unref(prefixCls2) + "__group-item"]),
8802
+ onClick: ($event) => handleGroupClick(group)
8570
8803
  }, [
8571
- secondMenu.type === 1 ? (openBlock(), createElementBlock("span", _hoisted_5$5, toDisplayString(unref(t2)("layout.common.noData") || "暂无"), 1)) : (openBlock(), createElementBlock("span", _hoisted_6$4, toDisplayString(getMenuTitle(secondMenu)), 1))
8572
- ], 10, _hoisted_4$7))
8804
+ createElementVNode("span", null, toDisplayString(group.title), 1)
8805
+ ], 10, _hoisted_5$6))
8573
8806
  ], 2)
8574
8807
  ], 2);
8575
- }), 128)) : groupedMenus.value[activeCategory.value] ? (openBlock(), createElementBlock("div", {
8808
+ }), 128)) : activeProduct.value ? (openBlock(), createElementBlock("div", {
8576
8809
  key: 1,
8577
- class: normalizeClass([unref(prefixCls2) + "__column"])
8578
- }, [
8579
- createElementVNode("div", {
8580
- class: normalizeClass([unref(prefixCls2) + "__column-list"])
8581
- }, [
8582
- createElementVNode("div", {
8583
- class: normalizeClass([unref(prefixCls2) + "__column-item", unref(prefixCls2) + "__column-item--disabled"])
8584
- }, [
8585
- createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.noData") || "暂无"), 1)
8586
- ], 2)
8587
- ], 2)
8588
- ], 2)) : (openBlock(), createElementBlock("div", {
8589
- key: 2,
8590
8810
  class: normalizeClass([unref(prefixCls2) + "__empty"])
8591
8811
  }, [
8592
8812
  createVNode(unref(_sfc_main$x), {
@@ -8594,7 +8814,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8594
8814
  size: 48
8595
8815
  }),
8596
8816
  createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.noDataTitle")), 1)
8597
- ], 2))
8817
+ ], 2)) : createCommentVNode("", true)
8598
8818
  ], 2)
8599
8819
  ]),
8600
8820
  _: 1
@@ -8613,7 +8833,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8613
8833
  };
8614
8834
  }
8615
8835
  });
8616
- const ProductServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-909615b6"]]);
8836
+ const ProductServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-c6b549d4"]]);
8617
8837
  const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
8618
8838
  __name: "Logo",
8619
8839
  emits: ["logo-click"],
@@ -8622,8 +8842,7 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
8622
8842
  const { getPrefixCls: getPrefixCls2 } = useDesign();
8623
8843
  const prefixCls2 = getPrefixCls2("logo");
8624
8844
  const appStore = useAppStore();
8625
- const title = computed(() => appStore.getTitle);
8626
- const layout = computed(() => appStore.getLayout);
8845
+ computed(() => appStore.getLayout);
8627
8846
  const theme = computed(() => appStore.getTheme);
8628
8847
  const panelVisible = ref(false);
8629
8848
  const togglePanel = (isActive) => {
@@ -8655,20 +8874,11 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
8655
8874
  onClick: handleClickLogo
8656
8875
  }, [
8657
8876
  createVNode(_component_Icon, {
8658
- icon: "svg-icon:logo",
8877
+ icon: "svg-icon:inspur-xinlian",
8659
8878
  color: fontColor.value,
8660
8879
  svgClass: "!w-full !h-full",
8661
- class: normalizeClass(["!w-[var(--logo-height)]", "!h-[var(--logo-height)]"])
8662
- }, null, 8, ["color"]),
8663
- createElementVNode("div", {
8664
- class: normalizeClass([
8665
- "ml-10px text-16px font-700",
8666
- {
8667
- "text-[var(--top-header-text-color)]": ["left", "top", "topLeft"].includes(layout.value)
8668
- }
8669
- ]),
8670
- style: normalizeStyle({ color: fontColor.value })
8671
- }, toDisplayString(title.value), 7)
8880
+ class: normalizeClass(["!w-[var(--logo-width)]", "!h-[var(--logo-height)]"])
8881
+ }, null, 8, ["color"])
8672
8882
  ])
8673
8883
  ], 2),
8674
8884
  createVNode(unref(ProductServicePanel), {
@@ -8679,7 +8889,7 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
8679
8889
  };
8680
8890
  }
8681
8891
  });
8682
- const _hoisted_1$b = { class: "w-full min-w-1000px" };
8892
+ const _hoisted_1$a = { class: "w-full min-w-1000px" };
8683
8893
  const _sfc_main$p = /* @__PURE__ */ Object.assign({ name: "AppView" }, {
8684
8894
  __name: "AppView",
8685
8895
  setup(__props) {
@@ -8714,7 +8924,7 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ name: "AppView" }, {
8714
8924
  provide("reload", reload);
8715
8925
  return (_ctx, _cache) => {
8716
8926
  const _component_router_view = resolveComponent("router-view");
8717
- return openBlock(), createElementBlock("section", _hoisted_1$b, [
8927
+ return openBlock(), createElementBlock("section", _hoisted_1$a, [
8718
8928
  unref(routerAlive) ? (openBlock(), createBlock(_component_router_view, { key: 0 }, {
8719
8929
  default: withCtx(({ Component, route }) => [
8720
8930
  (openBlock(), createBlock(KeepAlive, { include: unref(getCaches) }, [
@@ -8779,7 +8989,7 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ name: "Message" }, {
8779
8989
  createVNode(_component_Icon, {
8780
8990
  color: __props.color,
8781
8991
  size: 18,
8782
- icon: "ep:bell"
8992
+ icon: "svg-icon:bell"
8783
8993
  }, null, 8, ["color"])
8784
8994
  ]),
8785
8995
  _: 1
@@ -8788,72 +8998,213 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ name: "Message" }, {
8788
8998
  };
8789
8999
  }
8790
9000
  });
8791
- const Message = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-5a726c1e"]]);
9001
+ const Message = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-fdaeb8e4"]]);
8792
9002
  const avatarImg = "data:image/gif;base64,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";
8793
- const _hoisted_1$a = { class: "flex items-center text-[var(--top-header-text-color)] mr-18px" };
8794
- const _hoisted_2$9 = { class: "pl-5px text-14px <lg:hidden" };
8795
- const _hoisted_3$8 = { class: "ml-15px" };
9003
+ const _hoisted_1$9 = { class: "flex items-center px-10px py-8px text-[var(--top-header-text-color)] hover:text-[var(--top-header-hover-color)] rounded-6px bg-[var(--top-header-company-bg-color)]" };
9004
+ const _hoisted_2$8 = { class: "pl-6px text-12px <lg:hidden" };
9005
+ const _hoisted_3$7 = { class: "ml-6px" };
9006
+ const _hoisted_4$6 = { class: "flex items-center text-[var(--top-header-text-color)] hover:text-[var(--top-header-hover-color)] mr-18px" };
9007
+ const _hoisted_5$5 = { class: "pl-5px text-12px <lg:hidden" };
9008
+ const _hoisted_6$4 = { class: "ml-6px" };
9009
+ const _hoisted_7$2 = { class: "flex items-center text-#e0e0e0" };
9010
+ const _hoisted_8$1 = { class: "flex flex-col gap-3px pl-5px text-12px <lg:hidden" };
9011
+ const _hoisted_9 = { class: "text-#fff" };
9012
+ const _hoisted_10 = { key: 0 };
9013
+ const _hoisted_11 = { class: "ml-6px" };
8796
9014
  const _sfc_main$n = /* @__PURE__ */ Object.assign({ name: "UserInfo" }, {
8797
9015
  __name: "UserInfo",
8798
- emits: ["logout-click"],
9016
+ emits: ["logout-click", "switch-company-click"],
8799
9017
  setup(__props, { emit: __emit }) {
8800
9018
  const emit = __emit;
8801
9019
  const { t: t2 } = useI18n();
8802
9020
  const userStore = useUserStore();
9021
+ const appStore = useAppStore();
8803
9022
  const { getPrefixCls: getPrefixCls2 } = useDesign();
8804
- const prefixCls2 = getPrefixCls2("user-info");
9023
+ const prefixCls2 = getPrefixCls2("info");
8805
9024
  const avatar = computed(() => userStore.user.avatar || avatarImg);
8806
9025
  const userName = computed(() => userStore.user.nickname ?? "Admin");
9026
+ const topNav = computed(() => appStore.getTopNav);
9027
+ const topNavNormal = computed(() => topNav.value === "normal");
9028
+ const topNavFloating = computed(() => topNav.value === "floating");
9029
+ const orgId = computed(() => {
9030
+ var _a2;
9031
+ return (_a2 = userStore.user) == null ? void 0 : _a2.orgId;
9032
+ });
9033
+ const orgName = computed(() => {
9034
+ var _a2;
9035
+ return (_a2 = userStore.user) == null ? void 0 : _a2.orgName;
9036
+ });
9037
+ const companyList = computed(() => userStore.getCompanyList);
9038
+ const showCompanyList = computed(() => companyList.value.length > 0);
8807
9039
  const handleLogoutClick = () => {
8808
9040
  emit("logout-click");
8809
9041
  };
9042
+ const handleSwitchCompany = (company) => {
9043
+ emit("switch-company-click", deepClone(company));
9044
+ };
8810
9045
  return (_ctx, _cache) => {
8811
9046
  const _component_Icon = resolveComponent("Icon");
8812
- return openBlock(), createBlock(unref(ElDropdown), {
8813
- class: normalizeClass(["custom-hover cursor-pointer", unref(prefixCls2)]),
8814
- trigger: "click"
8815
- }, {
8816
- dropdown: withCtx(() => [
8817
- createVNode(unref(ElDropdownMenu), null, {
9047
+ return openBlock(), createElementBlock(Fragment, null, [
9048
+ unref(topNavNormal) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
9049
+ unref(showCompanyList) && unref(orgId) ? (openBlock(), createBlock(unref(ElDropdown), {
9050
+ key: 0,
9051
+ class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-company`]),
9052
+ trigger: "click"
9053
+ }, {
9054
+ dropdown: withCtx(() => [
9055
+ createVNode(unref(ElDropdownMenu), null, {
9056
+ default: withCtx(() => [
9057
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(companyList), (company) => {
9058
+ return openBlock(), createBlock(unref(ElDropdownItem), {
9059
+ key: company.enterpriseId,
9060
+ disabled: company.enterpriseId == unref(orgId),
9061
+ onClick: ($event) => handleSwitchCompany(company)
9062
+ }, {
9063
+ default: withCtx(() => [
9064
+ createTextVNode(toDisplayString(company.enterpriseName), 1)
9065
+ ]),
9066
+ _: 2
9067
+ }, 1032, ["disabled", "onClick"]);
9068
+ }), 128))
9069
+ ]),
9070
+ _: 1
9071
+ })
9072
+ ]),
8818
9073
  default: withCtx(() => [
8819
- createVNode(unref(ElDropdownItem), { onClick: handleLogoutClick }, {
9074
+ createElementVNode("div", _hoisted_1$9, [
9075
+ createVNode(_component_Icon, {
9076
+ icon: "svg-icon:company",
9077
+ color: "var(--top-header-company-icon-color)",
9078
+ svgClass: "!w-full !h-full",
9079
+ class: normalizeClass(["!w-14px", "!h-14px"])
9080
+ }),
9081
+ createElementVNode("span", _hoisted_2$8, toDisplayString(unref(orgName)), 1),
9082
+ createElementVNode("span", _hoisted_3$7, [
9083
+ createVNode(_component_Icon, {
9084
+ icon: "ep:arrow-down",
9085
+ svgClass: "!w-full !h-full",
9086
+ class: normalizeClass(["!w-12px", "!h-12px"])
9087
+ })
9088
+ ])
9089
+ ])
9090
+ ]),
9091
+ _: 1
9092
+ }, 8, ["class"])) : createCommentVNode("", true),
9093
+ createVNode(unref(ElDropdown), {
9094
+ class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-user`]),
9095
+ trigger: "click"
9096
+ }, {
9097
+ dropdown: withCtx(() => [
9098
+ createVNode(unref(ElDropdownMenu), null, {
8820
9099
  default: withCtx(() => [
8821
- createVNode(_component_Icon, { icon: "ep:switch-button" }),
8822
- createElementVNode("div", null, toDisplayString(unref(t2)("layout.common.loginOut")), 1)
9100
+ createVNode(unref(ElDropdownItem), { onClick: handleLogoutClick }, {
9101
+ default: withCtx(() => [
9102
+ createVNode(_component_Icon, { icon: "ep:switch-button" }),
9103
+ createElementVNode("div", null, toDisplayString(unref(t2)("layout.common.loginOut")), 1)
9104
+ ]),
9105
+ _: 1
9106
+ })
8823
9107
  ]),
8824
9108
  _: 1
8825
9109
  })
8826
9110
  ]),
9111
+ default: withCtx(() => [
9112
+ createElementVNode("div", _hoisted_4$6, [
9113
+ createVNode(unref(ElAvatar), {
9114
+ src: unref(avatar),
9115
+ size: 24,
9116
+ class: "!bg-transparent"
9117
+ }, {
9118
+ default: withCtx(() => [
9119
+ createVNode(_component_Icon, {
9120
+ icon: "fa:user-circle-o",
9121
+ size: 24
9122
+ })
9123
+ ]),
9124
+ _: 1
9125
+ }, 8, ["src"]),
9126
+ createElementVNode("span", _hoisted_5$5, toDisplayString(unref(userName)), 1),
9127
+ createElementVNode("span", _hoisted_6$4, [
9128
+ createVNode(_component_Icon, {
9129
+ icon: "ep:arrow-down",
9130
+ svgClass: "!w-full !h-full",
9131
+ class: normalizeClass(["!w-12px", "!h-12px"])
9132
+ })
9133
+ ])
9134
+ ])
9135
+ ]),
8827
9136
  _: 1
8828
- })
8829
- ]),
8830
- default: withCtx(() => [
8831
- createElementVNode("div", _hoisted_1$a, [
8832
- createVNode(unref(ElAvatar), {
8833
- src: unref(avatar),
8834
- size: 32,
8835
- class: "!bg-transparent"
8836
- }, {
9137
+ }, 8, ["class"])
9138
+ ], 64)) : createCommentVNode("", true),
9139
+ unref(topNavFloating) ? (openBlock(), createBlock(unref(ElDropdown), {
9140
+ key: 1,
9141
+ class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-company-user`]),
9142
+ trigger: "click"
9143
+ }, {
9144
+ dropdown: withCtx(() => [
9145
+ createVNode(unref(ElDropdownMenu), null, {
8837
9146
  default: withCtx(() => [
8838
- createVNode(_component_Icon, {
8839
- icon: "fa:user-circle-o",
8840
- size: 24
8841
- })
9147
+ unref(showCompanyList) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref(companyList), (company) => {
9148
+ return openBlock(), createBlock(unref(ElDropdownItem), {
9149
+ key: company.enterpriseId,
9150
+ disabled: company.enterpriseId == unref(orgId),
9151
+ onClick: ($event) => handleSwitchCompany(company)
9152
+ }, {
9153
+ default: withCtx(() => [
9154
+ createTextVNode(toDisplayString(company.enterpriseName), 1)
9155
+ ]),
9156
+ _: 2
9157
+ }, 1032, ["disabled", "onClick"]);
9158
+ }), 128)) : createCommentVNode("", true),
9159
+ createVNode(unref(ElDropdownItem), {
9160
+ divided: unref(showCompanyList),
9161
+ onClick: handleLogoutClick
9162
+ }, {
9163
+ default: withCtx(() => [
9164
+ createVNode(_component_Icon, { icon: "ep:switch-button" }),
9165
+ createElementVNode("div", null, toDisplayString(unref(t2)("layout.common.loginOut")), 1)
9166
+ ]),
9167
+ _: 1
9168
+ }, 8, ["divided"])
8842
9169
  ]),
8843
9170
  _: 1
8844
- }, 8, ["src"]),
8845
- createElementVNode("span", _hoisted_2$9, toDisplayString(unref(userName)), 1),
8846
- createElementVNode("span", _hoisted_3$8, [
8847
- createVNode(_component_Icon, { icon: "ant-design:caret-down-outlined" })
9171
+ })
9172
+ ]),
9173
+ default: withCtx(() => [
9174
+ createElementVNode("div", _hoisted_7$2, [
9175
+ createVNode(unref(ElAvatar), {
9176
+ src: unref(avatar),
9177
+ size: 24,
9178
+ class: "!bg-transparent"
9179
+ }, {
9180
+ default: withCtx(() => [
9181
+ createVNode(_component_Icon, {
9182
+ icon: "fa:user-circle-o",
9183
+ size: 24
9184
+ })
9185
+ ]),
9186
+ _: 1
9187
+ }, 8, ["src"]),
9188
+ createElementVNode("div", _hoisted_8$1, [
9189
+ createElementVNode("span", _hoisted_9, toDisplayString(unref(userName)), 1),
9190
+ unref(showCompanyList) ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString(unref(orgName)), 1)) : createCommentVNode("", true)
9191
+ ]),
9192
+ createElementVNode("span", _hoisted_11, [
9193
+ createVNode(_component_Icon, {
9194
+ icon: "ep:arrow-down",
9195
+ svgClass: "!w-full !h-full",
9196
+ class: normalizeClass(["!w-12px", "!h-12px"])
9197
+ })
9198
+ ])
8848
9199
  ])
8849
- ])
8850
- ]),
8851
- _: 1
8852
- }, 8, ["class"]);
9200
+ ]),
9201
+ _: 1
9202
+ }, 8, ["class"])) : createCommentVNode("", true)
9203
+ ], 64);
8853
9204
  };
8854
9205
  }
8855
9206
  });
8856
- const UserInfo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-058b21ff"]]);
9207
+ const UserInfo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-31268ba6"]]);
8857
9208
  const filterBreadcrumb = (routes, parentPath = "") => {
8858
9209
  var _a2;
8859
9210
  const res = [];
@@ -9382,7 +9733,7 @@ const setI18nLanguage = (locale) => {
9382
9733
  const useLocale = () => {
9383
9734
  const changeLocale = async (locale) => {
9384
9735
  const globalI18n = i18n.global;
9385
- const langModule = await __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../locales/en.js": () => import("./en-BXmz6NO1.mjs"), "../../locales/zh-CN.js": () => import("./zh-CN-CY7gEVUl.mjs") }), `../../locales/${locale}.js`);
9736
+ const langModule = await __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../locales/en.js": () => import("./en-BLMsUBCM.mjs"), "../../locales/zh-CN.js": () => import("./zh-CN-i4M-o5m6.mjs") }), `../../locales/${locale}.js`);
9386
9737
  globalI18n.setLocaleMessage(locale, langModule.default);
9387
9738
  setI18nLanguage(locale);
9388
9739
  };
@@ -9452,9 +9803,9 @@ const _sfc_main$l = /* @__PURE__ */ Object.assign({ name: "LocaleDropdown" }, {
9452
9803
  };
9453
9804
  }
9454
9805
  });
9455
- const _hoisted_1$9 = { class: "theme-list" };
9456
- const _hoisted_2$8 = ["onClick"];
9457
- const _hoisted_3$7 = { class: "name" };
9806
+ const _hoisted_1$8 = { class: "theme-list" };
9807
+ const _hoisted_2$7 = ["onClick"];
9808
+ const _hoisted_3$6 = { class: "name" };
9458
9809
  const _sfc_main$k = {
9459
9810
  __name: "ThemeSwitch",
9460
9811
  emits: ["change"],
@@ -9493,7 +9844,7 @@ const _sfc_main$k = {
9493
9844
  return (_ctx, _cache) => {
9494
9845
  return openBlock(), createElementBlock(Fragment, null, [
9495
9846
  createElementVNode("div", null, toDisplayString(unref(t2)("layout.setting.theme")), 1),
9496
- createElementVNode("div", _hoisted_1$9, [
9847
+ createElementVNode("div", _hoisted_1$8, [
9497
9848
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(themeList), (item) => {
9498
9849
  return openBlock(), createElementBlock("div", {
9499
9850
  class: normalizeClass(["item", { "active": unref(theme) === item.key }]),
@@ -9509,8 +9860,8 @@ const _sfc_main$k = {
9509
9860
  style: normalizeStyle({ backgroundColor: item.color === "#fff" ? "#fafafa" : item.color })
9510
9861
  }, null, 4)
9511
9862
  ], 4),
9512
- createElementVNode("div", _hoisted_3$7, toDisplayString(item.name), 1)
9513
- ], 10, _hoisted_2$8);
9863
+ createElementVNode("div", _hoisted_3$6, toDisplayString(item.name), 1)
9864
+ ], 10, _hoisted_2$7);
9514
9865
  }), 128))
9515
9866
  ])
9516
9867
  ], 64);
@@ -9522,10 +9873,10 @@ const Chunjie = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAABGCAYAAADip
9522
9873
  const Duanwu = "data:image/png;base64,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";
9523
9874
  const Zhongqiu = "data:image/png;base64,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";
9524
9875
  const Yuandan = "data:image/png;base64,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";
9525
- const _hoisted_1$8 = { class: "mt-24px" };
9526
- const _hoisted_2$7 = { class: "theme-list" };
9527
- const _hoisted_3$6 = ["src"];
9528
- const _hoisted_4$6 = ["src"];
9876
+ const _hoisted_1$7 = { class: "mt-24px" };
9877
+ const _hoisted_2$6 = { class: "theme-list" };
9878
+ const _hoisted_3$5 = ["src"];
9879
+ const _hoisted_4$5 = ["src"];
9529
9880
  const _hoisted_5$4 = ["src"];
9530
9881
  const _hoisted_6$3 = { class: "theme-list" };
9531
9882
  const _hoisted_7$1 = ["src"];
@@ -9544,8 +9895,8 @@ const _sfc_main$j = {
9544
9895
  };
9545
9896
  return (_ctx, _cache) => {
9546
9897
  return openBlock(), createElementBlock(Fragment, null, [
9547
- createElementVNode("div", _hoisted_1$8, toDisplayString(unref(t2)("layout.setting.festivalTheme")), 1),
9548
- createElementVNode("div", _hoisted_2$7, [
9898
+ createElementVNode("div", _hoisted_1$7, toDisplayString(unref(t2)("layout.setting.festivalTheme")), 1),
9899
+ createElementVNode("div", _hoisted_2$6, [
9549
9900
  createElementVNode("div", {
9550
9901
  class: normalizeClass(["item", { "active": unref(theme) === "springFestival" }]),
9551
9902
  onClick: _cache[0] || (_cache[0] = ($event) => handleClick("springFestival"))
@@ -9554,7 +9905,7 @@ const _sfc_main$j = {
9554
9905
  class: "border",
9555
9906
  style: normalizeStyle({ borderColor: unref(theme) === "springFestival" ? "var(--el-color-primary)" : "#d2d5e4" })
9556
9907
  }, [
9557
- createElementVNode("img", { src: unref(Chunjie) }, null, 8, _hoisted_3$6)
9908
+ createElementVNode("img", { src: unref(Chunjie) }, null, 8, _hoisted_3$5)
9558
9909
  ], 4),
9559
9910
  _cache[4] || (_cache[4] = createElementVNode("div", { class: "name" }, "春节", -1))
9560
9911
  ], 2),
@@ -9566,7 +9917,7 @@ const _sfc_main$j = {
9566
9917
  class: "border",
9567
9918
  style: normalizeStyle({ borderColor: unref(theme) === "dragonBoatFestival" ? "var(--el-color-primary)" : "#d2d5e4" })
9568
9919
  }, [
9569
- createElementVNode("img", { src: unref(Duanwu) }, null, 8, _hoisted_4$6)
9920
+ createElementVNode("img", { src: unref(Duanwu) }, null, 8, _hoisted_4$5)
9570
9921
  ], 4),
9571
9922
  _cache[5] || (_cache[5] = createElementVNode("div", { class: "name" }, "端午", -1))
9572
9923
  ], 2),
@@ -9604,73 +9955,8 @@ const _sfc_main$j = {
9604
9955
  }
9605
9956
  };
9606
9957
  const FestivalThemeSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-868f3996"]]);
9607
- const _hoisted_1$7 = { class: "mt-24px" };
9608
- const _hoisted_2$6 = { class: "layout-list" };
9609
- const _hoisted_3$5 = ["onClick"];
9610
- const _hoisted_4$5 = { class: "name" };
9611
- const _sfc_main$i = {
9612
- __name: "LayoutSwitch",
9613
- emits: ["change"],
9614
- setup(__props, { emit: __emit }) {
9615
- const emits = __emit;
9616
- const { t: t2 } = useI18n();
9617
- const appStore = useAppStore();
9618
- const layout = computed(() => appStore.getLayout);
9619
- const layoutItems = ref([
9620
- {
9621
- key: "left",
9622
- name: "侧边导航",
9623
- icon: "svg-icon:menu-left"
9624
- },
9625
- {
9626
- key: "top",
9627
- name: "顶部导航",
9628
- icon: "svg-icon:menu-top"
9629
- },
9630
- {
9631
- key: "topLeft",
9632
- name: "混合导航",
9633
- icon: "svg-icon:menu-top-left"
9634
- }
9635
- ]);
9636
- const handleClick = (item) => {
9637
- if (layout.value === item.key)
9638
- return;
9639
- emits("change", item.key);
9640
- };
9641
- return (_ctx, _cache) => {
9642
- const _component_Icon = resolveComponent("Icon");
9643
- return openBlock(), createElementBlock(Fragment, null, [
9644
- createElementVNode("div", _hoisted_1$7, toDisplayString(unref(t2)("layout.setting.layout")), 1),
9645
- createElementVNode("div", _hoisted_2$6, [
9646
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(layoutItems), (item) => {
9647
- return openBlock(), createElementBlock("div", {
9648
- class: "item",
9649
- key: item.key,
9650
- onClick: ($event) => handleClick(item)
9651
- }, [
9652
- createElementVNode("div", {
9653
- class: "border",
9654
- style: normalizeStyle({ borderColor: unref(layout) === item.key ? "var(--el-color-primary)" : "#d2d5e4" })
9655
- }, [
9656
- createVNode(_component_Icon, {
9657
- icon: item.icon,
9658
- color: "var(--el-color-primary)",
9659
- svgClass: "!w-full !h-full",
9660
- class: "!w-full !h-70px"
9661
- }, null, 8, ["icon"])
9662
- ], 4),
9663
- createElementVNode("div", _hoisted_4$5, toDisplayString(item.name), 1)
9664
- ], 8, _hoisted_3$5);
9665
- }), 128))
9666
- ])
9667
- ], 64);
9668
- };
9669
- }
9670
- };
9671
- const LayoutSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-265f0ebb"]]);
9672
9958
  const _hoisted_1$6 = { class: "text-16px font-500 text-[var(--text-color)]" };
9673
- const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9959
+ const _sfc_main$i = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9674
9960
  __name: "Setting",
9675
9961
  props: {
9676
9962
  color: {
@@ -9693,10 +9979,11 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9693
9979
  const { copy, copied, isSupported } = useClipboard({
9694
9980
  source: `
9695
9981
  // 主题相关
9696
- theme: '${appStore.getTheme}',
9697
- // 布局相关
9698
- layout: '${appStore.getLayout}'
9699
- `
9982
+ theme: '${appStore.getTheme}'
9983
+ `
9984
+ // ,
9985
+ // // 布局相关
9986
+ // layout: '${appStore.getLayout}'
9700
9987
  });
9701
9988
  if (!isSupported) {
9702
9989
  ElMessage.error(t2("layout.setting.copyFailed"));
@@ -9719,10 +10006,6 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9719
10006
  appStore.setTheme(theme);
9720
10007
  appStore.setCssVarTheme();
9721
10008
  };
9722
- const layoutChange = async (layout) => {
9723
- await saveTheme({ theme: appStore.getTheme, layout });
9724
- appStore.setLayout(layout);
9725
- };
9726
10009
  const saveTheme = async ({ theme, layout }) => {
9727
10010
  ElMessage({
9728
10011
  type: "success",
@@ -9740,7 +10023,7 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9740
10023
  }), [
9741
10024
  createVNode(_component_Icon, {
9742
10025
  color: __props.color,
9743
- icon: "ep:setting",
10026
+ icon: "svg-icon:hexagon",
9744
10027
  size: 18
9745
10028
  }, null, 8, ["color"])
9746
10029
  ], 16),
@@ -9780,8 +10063,7 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9780
10063
  default: withCtx(() => [
9781
10064
  createElementVNode("div", null, [
9782
10065
  createVNode(ThemeSwitch, { onChange: themeChange }),
9783
- createVNode(FestivalThemeSwitch, { onChange: themeChange }),
9784
- createVNode(LayoutSwitch, { onChange: layoutChange })
10066
+ createVNode(FestivalThemeSwitch, { onChange: themeChange })
9785
10067
  ])
9786
10068
  ]),
9787
10069
  _: 1
@@ -9790,7 +10072,51 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9790
10072
  };
9791
10073
  }
9792
10074
  });
9793
- const Setting = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-89f387dd"]]);
10075
+ const Setting = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-b213e887"]]);
10076
+ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Arrow" }, {
10077
+ __name: "Arrow",
10078
+ props: {
10079
+ color: {
10080
+ type: String,
10081
+ default: ""
10082
+ }
10083
+ },
10084
+ setup(__props) {
10085
+ const appStore = useAppStore();
10086
+ const { t: t2 } = useI18n();
10087
+ const topNav = computed(() => appStore.getTopNav);
10088
+ const topNavCollapsed = computed(() => topNav.value === "collapsed");
10089
+ const arrowIcon = computed(
10090
+ () => topNavCollapsed.value ? "svg-icon:arrow-left" : "svg-icon:arrow-right"
10091
+ );
10092
+ const handleArrowClick = () => {
10093
+ appStore.setTopNav(topNavCollapsed.value ? "floating" : "collapsed");
10094
+ };
10095
+ return (_ctx, _cache) => {
10096
+ const _component_Icon = resolveComponent("Icon");
10097
+ return openBlock(), createElementBlock("div", {
10098
+ class: "arrow",
10099
+ onClick: handleArrowClick
10100
+ }, [
10101
+ createVNode(unref(ElPopover), {
10102
+ disabled: !unref(topNavCollapsed),
10103
+ content: unref(t2)("layout.common.expandAppMenu"),
10104
+ placement: "left",
10105
+ "show-after": 100
10106
+ }, {
10107
+ reference: withCtx(() => [
10108
+ createVNode(_component_Icon, {
10109
+ color: __props.color,
10110
+ size: 11,
10111
+ icon: unref(arrowIcon)
10112
+ }, null, 8, ["color", "icon"])
10113
+ ]),
10114
+ _: 1
10115
+ }, 8, ["disabled", "content"])
10116
+ ]);
10117
+ };
10118
+ }
10119
+ });
9794
10120
  const _sfc_main$g = {
9795
10121
  __name: "index",
9796
10122
  props: {
@@ -9941,6 +10267,10 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
9941
10267
  onClearCacheLogoutClick: {
9942
10268
  type: Function,
9943
10269
  default: null
10270
+ },
10271
+ onSwitchCompanyClick: {
10272
+ type: Function,
10273
+ default: null
9944
10274
  }
9945
10275
  },
9946
10276
  setup(props, {
@@ -9948,49 +10278,67 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
9948
10278
  }) {
9949
10279
  const appStore = useAppStore();
9950
10280
  const breadcrumb = computed(() => appStore.getBreadcrumb);
9951
- computed(() => appStore.getHamburger);
9952
10281
  const search = computed(() => appStore.search);
9953
10282
  const layout = computed(() => appStore.getLayout);
9954
10283
  const locale = computed(() => appStore.getLocale);
9955
10284
  const message = computed(() => appStore.getMessage);
9956
10285
  const setting = computed(() => appStore.getSetting);
10286
+ const topNav = computed(() => appStore.getTopNav);
10287
+ const topNavNormal = computed(() => topNav.value === "normal");
10288
+ const topNavCollapsed = computed(() => topNav.value === "collapsed");
10289
+ const iconColor = computed(() => topNavNormal.value ? "var(--top-header-icon-color)" : "#dae0e9");
9957
10290
  return () => {
9958
10291
  var _a2;
9959
10292
  return createVNode("div", {
9960
10293
  "id": `${variables.namespace}-tool-header`,
9961
- "class": [prefixCls$2, "h-[var(--top-tool-height)] relative px-[var(--top-tool-p-x)] flex items-center justify-between", "dark:bg-[var(--el-bg-color)]"]
10294
+ "class": [prefixCls$2, "px-[var(--top-tool-p-x)] flex items-center justify-between", "dark:bg-[var(--el-bg-color)]", {
10295
+ "tool-header-normal": topNavNormal.value,
10296
+ "tool-header-floating": topNav.value === "floating",
10297
+ "tool-header-collapsed": topNav.value === "collapsed"
10298
+ }],
10299
+ "style": "transition: all var(--transition-time-02);"
9962
10300
  }, [layout.value !== "top" ? createVNode("div", {
9963
10301
  "class": "h-full flex items-center"
9964
10302
  }, [breadcrumb.value ? createVNode(Breadcrumb, {
9965
10303
  "class": "lt-md:hidden"
9966
10304
  }, null) : void 0]) : void 0, (_a2 = slots.default) == null ? void 0 : _a2.call(slots), createVNode("div", {
9967
10305
  "class": "h-full flex items-center"
9968
- }, [search.value ? createVNode(_sfc_main$g, {
10306
+ }, [!topNavCollapsed.value && createVNode(Fragment, null, [search.value ? createVNode(_sfc_main$g, {
9969
10307
  "isModal": false
10308
+ }, null) : void 0, message.value ? createVNode(Message, {
10309
+ "class": "custom-hover cursor-pointer",
10310
+ "color": iconColor.value,
10311
+ "onMessageClick": props.onMessageClick
9970
10312
  }, null) : void 0, setting.value ? createVNode(Setting, {
9971
10313
  "class": "custom-hover cursor-pointer",
9972
- "color": "var(--top-header-text-color)",
10314
+ "color": iconColor.value,
9973
10315
  "onClearCacheLogoutClick": props.onClearCacheLogoutClick
9974
10316
  }, null) : void 0, locale.value ? createVNode(_sfc_main$l, {
9975
10317
  "class": "custom-hover",
9976
10318
  "color": "var(--top-header-text-color)"
9977
- }, null) : void 0, message.value ? createVNode(Message, {
10319
+ }, null) : void 0, createVNode("div", {
10320
+ "class": `h-12px mx-10px`,
10321
+ "style": `border-left: 1px solid ${iconColor.value}`
10322
+ }, null), createVNode(UserInfo, {
10323
+ "onLogoutClick": props.onLogoutClick,
10324
+ "onSwitchCompanyClick": props.onSwitchCompanyClick
10325
+ }, null)]), !topNavNormal.value && createVNode(Fragment, null, [!topNavCollapsed.value && createVNode("div", {
10326
+ "class": `h-12px mx-10px`,
10327
+ "style": `border-left: 1px solid ${iconColor.value}`
10328
+ }, null), createVNode(_sfc_main$h, {
9978
10329
  "class": "custom-hover cursor-pointer",
9979
- "color": "var(--top-header-text-color)",
9980
- "onMessageClick": props.onMessageClick
9981
- }, null) : void 0, createVNode(UserInfo, {
9982
- "onLogoutClick": props.onLogoutClick
9983
- }, null)])]);
10330
+ "color": iconColor.value
10331
+ }, null)])])]);
9984
10332
  };
9985
10333
  }
9986
10334
  });
9987
- const ToolHeader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-0b5dffd2"]]);
10335
+ const ToolHeader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-c654093f"]]);
9988
10336
  const {
9989
10337
  getPrefixCls: getPrefixCls$1
9990
10338
  } = useDesign();
9991
10339
  const prefixCls$1 = getPrefixCls$1("layout");
9992
10340
  const scrollRef = ref();
9993
- const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick) => {
10341
+ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick, onSwitchCompanyClick) => {
9994
10342
  const appStore = useAppStore();
9995
10343
  const permissionStore = usePermissionStore();
9996
10344
  const pageLoading = computed(() => appStore.getPageLoading);
@@ -10019,28 +10367,51 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
10019
10367
  });
10020
10368
  const zIndexClass = computed(() => {
10021
10369
  return {
10022
- "z-100": theme.value === "whiteLight"
10370
+ "z-2000": theme.value === "whiteLight"
10023
10371
  };
10024
10372
  });
10373
+ const topNav = computed(() => appStore.getTopNav);
10374
+ const topNavNormal = computed(() => topNav.value === "normal");
10025
10375
  const renderLeft = () => {
10026
- return createVNode(Fragment, null, [createVNode("div", {
10027
- "class": ["relative flex items-center bg-[linear-gradient(var(--top-header-bg-color))] layout-border__bottom dark:bg-[var(--el-bg-color)] shadow-[0px_2px_6px_0px_rgba(197,206,225,0.35)]", festivalTopClass.value, zIndexClass.value]
10376
+ return createVNode(Fragment, null, [topNavNormal.value && createVNode("div", {
10377
+ "class": ["relative flex items-center bg-[linear-gradient(var(--top-header-bg-color))] layout-border__bottom dark:bg-[var(--el-bg-color)] shadow-[0px_2px_6px_0px_rgba(197,206,225,0.35)]", festivalTopClass.value, zIndexClass.value],
10378
+ "style": "transition: all var(--transition-time-02);"
10028
10379
  }, [logo.value ? createVNode(_sfc_main$q, {
10029
10380
  "class": [{
10030
- "w-[var(--left-menu-min-width)]": appStore.getCollapse,
10031
- "w-[var(--left-menu-max-width)]": !appStore.getCollapse
10381
+ "w-[var(--left-menu-min-width)]": collapse.value,
10382
+ "w-[var(--left-menu-max-width)]": !collapse.value
10032
10383
  }],
10033
10384
  "onLogoClick": onLogoClick
10034
10385
  }, null) : void 0, createVNode(ToolHeader, {
10035
10386
  "class": "flex-1",
10036
10387
  "onMessageClick": onMessageClick,
10037
10388
  "onLogoutClick": onLogoutClick,
10038
- "onClearCacheLogoutClick": onClearCacheLogoutClick
10389
+ "onClearCacheLogoutClick": onClearCacheLogoutClick,
10390
+ "onSwitchCompanyClick": onSwitchCompanyClick
10391
+ }, null)]), createVNode("div", {
10392
+ "class": ["w-full flex", {
10393
+ "h-[calc(100%-var(--top-header-height))]": topNavNormal.value,
10394
+ "h-full": !topNavNormal.value
10395
+ }]
10396
+ }, [createVNode("div", null, [!topNavNormal.value && createVNode(Fragment, null, [logo.value ? createVNode(_sfc_main$q, {
10397
+ "class": ["relative bg-[linear-gradient(var(--top-header-bg-color))] shadow-[0px_2px_6px_0px_rgba(197,206,225,0.35)]", zIndexClass.value, {
10398
+ "w-[var(--left-menu-min-width)]": collapse.value,
10399
+ "w-[var(--left-menu-max-width)]": !collapse.value
10400
+ }],
10401
+ "onLogoClick": onLogoClick,
10402
+ "style": "transition: all var(--transition-time-02);"
10403
+ }, null) : void 0, createVNode(ToolHeader, {
10404
+ "class": "flex-1",
10405
+ "onMessageClick": onMessageClick,
10406
+ "onLogoutClick": onLogoutClick,
10407
+ "onClearCacheLogoutClick": onClearCacheLogoutClick,
10408
+ "onSwitchCompanyClick": onSwitchCompanyClick
10409
+ }, null)]), createVNode(Menu, {
10410
+ "class": ["relative layout-border__right", festivalMenuClass.value, {
10411
+ "!h-full": topNavNormal.value,
10412
+ "h-[calc(100%-var(--top-header-height))]": !topNavNormal.value
10413
+ }]
10039
10414
  }, null)]), createVNode("div", {
10040
- "class": "h-[calc(100%-var(--top-header-height))] w-full flex"
10041
- }, [createVNode(Menu, {
10042
- "class": ["relative layout-border__right !h-full", festivalMenuClass.value]
10043
- }, null), createVNode("div", {
10044
10415
  "class": [`${prefixCls$1}-content`, "h-[100%]", {
10045
10416
  "w-[calc(100%-var(--left-menu-min-width))] left-[var(--left-menu-min-width)]": collapse.value,
10046
10417
  "w-[calc(100%-var(--left-menu-max-width))] left-[var(--left-menu-max-width)]": !collapse.value
@@ -10050,12 +10421,14 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
10050
10421
  "class": [`${prefixCls$1}-content-scrollbar`, {
10051
10422
  "!h-[calc(100%-var(--tags-view-height))] mt-[calc(var(--tags-view-height))]": tagsView.value
10052
10423
  }],
10053
- "ref": scrollRef
10424
+ "ref": scrollRef,
10425
+ "style": "transition: all var(--transition-time-02);"
10054
10426
  }, {
10055
10427
  default: () => [tagsView.value ? createVNode(TagsView, {
10056
- "class": ["layout-border__bottom absolute", "!fixed top-0 left-0 z-10", {
10057
- "w-[calc(100%-var(--left-menu-min-width))] !left-[var(--left-menu-min-width)] mt-[var(--top-header-height)]": collapse.value,
10058
- "w-[calc(100%-var(--left-menu-max-width))] !left-[var(--left-menu-max-width)] mt-[var(--top-header-height)]": !collapse.value
10428
+ "class": ["layout-border__bottom", "!fixed top-0 left-0 z-10", {
10429
+ "w-[calc(100%-var(--left-menu-min-width))] !left-[var(--left-menu-min-width)]": collapse.value,
10430
+ "w-[calc(100%-var(--left-menu-max-width))] !left-[var(--left-menu-max-width)]": !collapse.value,
10431
+ "mt-[var(--top-header-height)]": topNavNormal.value
10059
10432
  }],
10060
10433
  "style": "transition: width var(--transition-time-02), left var(--transition-time-02);"
10061
10434
  }, null) : void 0, createVNode(_sfc_main$p, null, null)]
@@ -10063,30 +10436,26 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
10063
10436
  };
10064
10437
  const renderTop = () => {
10065
10438
  return createVNode(Fragment, null, [createVNode("div", {
10066
- "class": ["relative flex items-center justify-between bg-[linear-gradient(var(--top-header-bg-color))]", {
10439
+ "class": ["relative flex items-center justify-between bg-[linear-gradient(var(--top-header-bg-color))] shadow-[0px_2px_6px_0px_rgba(197,206,225,0.35)] z-100", {
10067
10440
  "layout-border__bottom": !tagsView.value
10068
10441
  }, festivalTopClass.value]
10069
10442
  }, [logo.value ? createVNode(_sfc_main$q, {
10070
10443
  "class": ["w-[var(--left-menu-max-width)]"],
10071
10444
  "onLogoClick": onLogoClick
10072
- }, null) : void 0, createVNode(Menu, {
10073
- "class": "h-[var(--top-tool-height)] flex-1 px-10px"
10445
+ }, null) : void 0, tagsView.value && createVNode(TagsView, {
10446
+ "class": ["layout-border__bottom flex-1"]
10074
10447
  }, null), createVNode(ToolHeader, {
10075
10448
  "onMessageClick": onMessageClick,
10076
10449
  "onLogoutClick": onLogoutClick,
10077
- "onClearCacheLogoutClick": onClearCacheLogoutClick
10450
+ "onClearCacheLogoutClick": onClearCacheLogoutClick,
10451
+ "onSwitchCompanyClick": onSwitchCompanyClick
10078
10452
  }, null)]), createVNode("div", {
10079
10453
  "class": [`${prefixCls$1}-content`, "w-full h-[calc(100%-var(--top-tool-height))]"]
10080
10454
  }, [withDirectives(createVNode(ElScrollbar, {
10081
- "class": [`${prefixCls$1}-content-scrollbar`, {
10082
- "!h-[calc(100%-var(--tags-view-height))] mt-[calc(var(--tags-view-height))]": tagsView.value
10083
- }],
10455
+ "class": [`${prefixCls$1}-content-scrollbar`],
10084
10456
  "ref": scrollRef
10085
10457
  }, {
10086
- default: () => [tagsView.value ? createVNode(TagsView, {
10087
- "class": ["layout-border__bottom layout-border__top relative", "!fixed w-full top-[var(--top-tool-height)] left-0"],
10088
- "style": "transition: width var(--transition-time-02), left var(--transition-time-02);"
10089
- }, null) : void 0, createVNode(_sfc_main$p, null, null)]
10458
+ default: () => [createVNode(_sfc_main$p, null, null)]
10090
10459
  }), [[resolveDirective("loading"), pageLoading.value]])])]);
10091
10460
  };
10092
10461
  const renderTopLeft = () => {
@@ -10104,7 +10473,8 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
10104
10473
  "class": "flex-1",
10105
10474
  "onMessageClick": onMessageClick,
10106
10475
  "onLogoutClick": onLogoutClick,
10107
- "onClearCacheLogoutClick": onClearCacheLogoutClick
10476
+ "onClearCacheLogoutClick": onClearCacheLogoutClick,
10477
+ "onSwitchCompanyClick": onSwitchCompanyClick
10108
10478
  }, {
10109
10479
  default: () => createVNode(Menu, {
10110
10480
  "mode": "horizontal",
@@ -10151,13 +10521,13 @@ const {
10151
10521
  } = useDesign();
10152
10522
  const prefixCls = getPrefixCls("layout");
10153
10523
  const layoutScrollRef = ref();
10154
- const renderLayout = (layout, onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick) => {
10524
+ const renderLayout = (layout, onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick, onSwitchCompanyClick) => {
10155
10525
  const {
10156
10526
  renderLeft,
10157
10527
  renderTop,
10158
10528
  renderTopLeft,
10159
10529
  scrollRef: scrollRef2
10160
- } = useRenderLayout(onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick);
10530
+ } = useRenderLayout(onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick, onSwitchCompanyClick);
10161
10531
  layoutScrollRef.value = scrollRef2.value;
10162
10532
  switch (unref(layout)) {
10163
10533
  case "left":
@@ -10170,7 +10540,7 @@ const renderLayout = (layout, onLogoClick, onMessageClick, onLogoutClick, onClea
10170
10540
  };
10171
10541
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
10172
10542
  name: "Layout",
10173
- emits: ["logo-click", "message-click", "logout-click", "clear-cache-logout-click"],
10543
+ emits: ["logo-click", "message-click", "logout-click", "clear-cache-logout-click", "switch-company-click"],
10174
10544
  setup(props, {
10175
10545
  emit
10176
10546
  }) {
@@ -10190,12 +10560,15 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
10190
10560
  const handleClearCacheLogoutClick = () => {
10191
10561
  emit("clear-cache-logout-click");
10192
10562
  };
10563
+ const handleSwitchCompanyClick = (company) => {
10564
+ emit("switch-company-click", company);
10565
+ };
10193
10566
  return () => createVNode("section", {
10194
10567
  "class": [prefixCls, `${prefixCls}__${layout.value}`, "w-[100%] h-[100%] relative", `${prefixCls}__${theme.value}`]
10195
- }, [renderLayout(layout, handleLogoClick, handleMessageClick, handleLogoutClick, handleClearCacheLogoutClick), createVNode(_sfc_main$y, null, null)]);
10568
+ }, [renderLayout(layout, handleLogoClick, handleMessageClick, handleLogoutClick, handleClearCacheLogoutClick, handleSwitchCompanyClick), createVNode(_sfc_main$y, null, null)]);
10196
10569
  }
10197
10570
  });
10198
- const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-0fb07176"]]);
10571
+ const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-6f98299c"]]);
10199
10572
  const _sfc_main$d = {
10200
10573
  __name: "ConfigGlobal",
10201
10574
  props: {
@@ -10276,7 +10649,7 @@ const _sfc_main$c = /* @__PURE__ */ Object.assign({ name: "PageCard" }, {
10276
10649
  return openBlock(), createBlock(unref(ElCard), {
10277
10650
  "body-style": __props.bodyStyle,
10278
10651
  header: __props.title,
10279
- class: normalizeClass([unref(prefixCls2), "m-16px"])
10652
+ class: normalizeClass([unref(prefixCls2), "mx-16px my-16px"])
10280
10653
  }, {
10281
10654
  default: withCtx(() => [
10282
10655
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
@@ -10286,7 +10659,7 @@ const _sfc_main$c = /* @__PURE__ */ Object.assign({ name: "PageCard" }, {
10286
10659
  };
10287
10660
  }
10288
10661
  });
10289
- const PageCard = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-eb81072a"]]);
10662
+ const PageCard = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-f55a8642"]]);
10290
10663
  const _hoisted_1$5 = { class: "ml-2px" };
10291
10664
  const _hoisted_2$5 = { class: "flex items-center" };
10292
10665
  const _sfc_main$b = /* @__PURE__ */ Object.assign({ name: "PageNavBar" }, {