bmp-layout 0.0.23 → 0.0.25-beta.1

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, Teleport, Transition, provide, KeepAlive, resolveDynamicComponent, onMounted, TransitionGroup, mergeProps, isRef, onUnmounted, 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, 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";
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();
@@ -7664,7 +7755,7 @@ const useTagsViewStore = defineStore("layout-tagsView", {
7664
7755
  }
7665
7756
  this.visitedViews.push(visitedView);
7666
7757
  },
7667
- // 新增缓存
7758
+ // 新增缓存 —— 根据当前 visitedViews 重新计算需要缓存的路由 name 列表
7668
7759
  addCachedView() {
7669
7760
  var _a2;
7670
7761
  const cacheMap = /* @__PURE__ */ new Set();
@@ -7675,16 +7766,19 @@ const useTagsViewStore = defineStore("layout-tagsView", {
7675
7766
  continue;
7676
7767
  }
7677
7768
  const name = item.name;
7769
+ if (!name) {
7770
+ continue;
7771
+ }
7678
7772
  cacheMap.add(name);
7679
7773
  }
7680
7774
  if (Array.from(this.cachedViews).sort().toString() === Array.from(cacheMap).sort().toString())
7681
7775
  return;
7682
7776
  this.cachedViews = cacheMap;
7683
7777
  },
7684
- // 删除某个
7778
+ // 删除某个tag及其缓存
7685
7779
  delView(view) {
7686
7780
  this.delVisitedView(view);
7687
- this.delCachedView();
7781
+ this.addCachedView();
7688
7782
  },
7689
7783
  // 删除tag
7690
7784
  delVisitedView(view) {
@@ -7695,17 +7789,18 @@ const useTagsViewStore = defineStore("layout-tagsView", {
7695
7789
  }
7696
7790
  }
7697
7791
  },
7698
- // 删除缓存
7699
- delCachedView() {
7792
+ // 删除指定视图的缓存,未传 view 时使用 selectedTag(用于刷新场景)
7793
+ delCachedView(view) {
7700
7794
  var _a2;
7701
- if (((_a2 = this.selectedTag) == null ? void 0 : _a2.name) && this.cachedViews.has(this.selectedTag.name)) {
7702
- this.cachedViews.delete(this.selectedTag.name);
7795
+ const routeName = (view == null ? void 0 : view.name) || ((_a2 = this.selectedTag) == null ? void 0 : _a2.name);
7796
+ if (routeName && this.cachedViews.has(routeName)) {
7797
+ this.cachedViews.delete(routeName);
7703
7798
  }
7704
7799
  },
7705
7800
  // 删除所有缓存和tag
7706
7801
  delAllViews() {
7707
7802
  this.delAllVisitedViews();
7708
- this.delCachedView();
7803
+ this.addCachedView();
7709
7804
  },
7710
7805
  // 删除所有tag
7711
7806
  delAllVisitedViews() {
@@ -7905,7 +8000,7 @@ const useTagsView = () => {
7905
8000
  callback2 == null ? void 0 : callback2();
7906
8001
  };
7907
8002
  const refreshPage = async (view, callback2) => {
7908
- tagsViewStore.delCachedView();
8003
+ tagsViewStore.delCachedView(view || unref(currentRoute));
7909
8004
  const { path, query } = view || unref(currentRoute);
7910
8005
  await nextTick();
7911
8006
  replace({
@@ -7974,9 +8069,9 @@ function useScrollTo({
7974
8069
  }
7975
8070
  return { start: run, stop };
7976
8071
  }
7977
- const _hoisted_1$d = ["id"];
7978
- const _hoisted_2$b = { class: "flex-1 overflow-hidden px-20px" };
7979
- 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" };
7980
8075
  const _hoisted_4$8 = ["onClick"];
7981
8076
  const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
7982
8077
  __name: "TagsView",
@@ -8054,6 +8149,7 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8054
8149
  const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
8055
8150
  if (!wrap$)
8056
8151
  return;
8152
+ scrollStopFn == null ? void 0 : scrollStopFn();
8057
8153
  let firstTag = null;
8058
8154
  let lastTag = null;
8059
8155
  const tagList = unref(tagLinksRefs);
@@ -8062,12 +8158,22 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8062
8158
  lastTag = tagList[tagList.length - 1];
8063
8159
  }
8064
8160
  if ((firstTag == null ? void 0 : firstTag.to).fullPath === currentTag.fullPath) {
8065
- const { start } = useScrollTo({
8161
+ const { start, stop } = useScrollTo({
8066
8162
  el: wrap$,
8067
8163
  position: "scrollLeft",
8068
8164
  to: 0,
8069
8165
  duration: 500
8070
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;
8071
8177
  start();
8072
8178
  } else if ((lastTag == null ? void 0 : lastTag.to).fullPath === currentTag.fullPath) {
8073
8179
  const { start } = useScrollTo({
@@ -8078,9 +8184,7 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8078
8184
  });
8079
8185
  start();
8080
8186
  } else {
8081
- const currentIndex = tagList.findIndex(
8082
- (item) => (item == null ? void 0 : item.to).fullPath === currentTag.fullPath
8083
- );
8187
+ const currentIndex = tagList.findIndex((item) => (item == null ? void 0 : item.to).fullPath === currentTag.fullPath);
8084
8188
  const tgsRefs = document.getElementsByClassName(`${prefixCls2}__item`);
8085
8189
  const prevTag = tgsRefs[currentIndex - 1];
8086
8190
  const nextTag = tgsRefs[currentIndex + 1];
@@ -8089,20 +8193,22 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8089
8193
  const afterNextTagOffsetLeft = nextTag.offsetLeft + nextTag.offsetWidth;
8090
8194
  const beforePrevTagOffsetLeft = prevTag.offsetLeft;
8091
8195
  if (afterNextTagOffsetLeft > unref(scrollLeftNumber) + wrap$.offsetWidth) {
8092
- const { start } = useScrollTo({
8196
+ const { start, stop } = useScrollTo({
8093
8197
  el: wrap$,
8094
8198
  position: "scrollLeft",
8095
8199
  to: afterNextTagOffsetLeft - wrap$.offsetWidth,
8096
8200
  duration: 500
8097
8201
  });
8202
+ scrollStopFn = stop;
8098
8203
  start();
8099
8204
  } else if (beforePrevTagOffsetLeft < unref(scrollLeftNumber)) {
8100
- const { start } = useScrollTo({
8205
+ const { start, stop } = useScrollTo({
8101
8206
  el: wrap$,
8102
8207
  position: "scrollLeft",
8103
8208
  to: beforePrevTagOffsetLeft,
8104
8209
  duration: 500
8105
8210
  });
8211
+ scrollStopFn = stop;
8106
8212
  start();
8107
8213
  }
8108
8214
  }
@@ -8115,6 +8221,7 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8115
8221
  };
8116
8222
  const scrollbarRef = ref();
8117
8223
  const scrollLeftNumber = ref(0);
8224
+ let scrollStopFn = null;
8118
8225
  const scroll = ({ scrollLeft }) => {
8119
8226
  scrollLeftNumber.value = scrollLeft;
8120
8227
  };
@@ -8134,9 +8241,9 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8134
8241
  const _component_router_link = resolveComponent("router-link");
8135
8242
  return openBlock(), createElementBlock("div", {
8136
8243
  id: unref(prefixCls2),
8137
- class: normalizeClass([unref(prefixCls2), "relative w-full flex bg-[#dbe4f880]"])
8244
+ class: normalizeClass([unref(prefixCls2), "relative flex"])
8138
8245
  }, [
8139
- createElementVNode("div", _hoisted_2$b, [
8246
+ createElementVNode("div", _hoisted_2$a, [
8140
8247
  createVNode(unref(ElScrollbar), {
8141
8248
  ref_key: "scrollbarRef",
8142
8249
  ref: scrollbarRef,
@@ -8144,7 +8251,7 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8144
8251
  onScroll: scroll
8145
8252
  }, {
8146
8253
  default: withCtx(() => [
8147
- createElementVNode("div", _hoisted_3$a, [
8254
+ createElementVNode("div", _hoisted_3$9, [
8148
8255
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(visitedViews), (item) => {
8149
8256
  var _a2, _b, _c, _d, _e, _f;
8150
8257
  return openBlock(), createBlock(unref(_sfc_main$u), {
@@ -8204,18 +8311,22 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8204
8311
  var _a3, _b2;
8205
8312
  return [
8206
8313
  createElementVNode("div", {
8207
- class: normalizeClass(`h-full flex items-center justify-center gap-8px whitespace-nowrap ${unref(prefixCls2)}__item--label`),
8314
+ class: normalizeClass(`h-full flex items-center justify-center gap-16px whitespace-nowrap ${unref(prefixCls2)}__item--label`),
8208
8315
  onClick: navigate
8209
8316
  }, [
8210
8317
  createElementVNode("span", null, toDisplayString(unref(t2)((_a3 = item == null ? void 0 : item.meta) == null ? void 0 : _a3.title)), 1),
8211
- ((_b2 = unref(visitedViews)) == null ? void 0 : _b2.length) > 1 ? (openBlock(), createBlock(_component_Icon, {
8212
- key: 0,
8213
- class: normalizeClass(`${unref(prefixCls2)}__item--close`),
8214
- size: 8,
8215
- color: isActive(item) ? "#444444ff" : "#7b7e904ff",
8216
- icon: "svg-icon:tag-close",
8217
- onClick: withModifiers(($event) => closeSelectedTag(item), ["prevent", "stop"])
8218
- }, null, 8, ["class", "color", "onClick"])) : createCommentVNode("", true)
8318
+ ((_b2 = unref(visitedViews)) == null ? void 0 : _b2.length) > 1 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
8319
+ createVNode(_component_Icon, {
8320
+ class: normalizeClass(`${unref(prefixCls2)}__item--close`),
8321
+ size: 8,
8322
+ color: "#7b7e904ff",
8323
+ icon: "svg-icon:tag-close",
8324
+ onClick: withModifiers(($event) => closeSelectedTag(item), ["prevent", "stop"])
8325
+ }, null, 8, ["class", "onClick"]),
8326
+ createElementVNode("span", {
8327
+ class: normalizeClass(`${unref(prefixCls2)}__item--dot`)
8328
+ }, null, 2)
8329
+ ], 64)) : createCommentVNode("", true)
8219
8330
  ], 10, _hoisted_4$8)
8220
8331
  ];
8221
8332
  }),
@@ -8231,11 +8342,11 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
8231
8342
  _: 1
8232
8343
  }, 512)
8233
8344
  ])
8234
- ], 10, _hoisted_1$d);
8345
+ ], 10, _hoisted_1$c);
8235
8346
  };
8236
8347
  }
8237
8348
  });
8238
- const TagsView = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-dadb909c"]]);
8349
+ const TagsView = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-3ab01e0b"]]);
8239
8350
  const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
8240
8351
  __name: "MenuTrigger",
8241
8352
  props: {
@@ -8246,9 +8357,12 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
8246
8357
  },
8247
8358
  emits: ["click", "toggle"],
8248
8359
  setup(__props, { emit: __emit }) {
8360
+ const appStore = useAppStore();
8249
8361
  const { getPrefixCls: getPrefixCls2 } = useDesign();
8250
8362
  const prefixCls2 = getPrefixCls2("menu-trigger");
8251
8363
  const props = __props;
8364
+ const theme = computed(() => appStore.getTheme);
8365
+ const triggerIcon = computed(() => props.active ? "ant-design:close-outlined" : theme.value === "whiteLight" ? "svg-icon:menu-trigger-filled" : "svg-icon:menu-trigger");
8252
8366
  const emit = __emit;
8253
8367
  const handleClick = () => {
8254
8368
  emit("click");
@@ -8261,7 +8375,7 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
8261
8375
  onClick: handleClick
8262
8376
  }, [
8263
8377
  createVNode(_component_Icon, {
8264
- icon: props.active ? "ant-design:close-outlined" : "svg-icon:menu-trigger",
8378
+ icon: unref(triggerIcon),
8265
8379
  svgClass: "!w-full !h-full",
8266
8380
  class: normalizeClass(["!w-18px", "!h-18px", "icon-color"])
8267
8381
  }, null, 8, ["icon"])
@@ -8269,11 +8383,12 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
8269
8383
  };
8270
8384
  }
8271
8385
  });
8272
- const MenuTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-f7f5d176"]]);
8273
- const _hoisted_1$c = { class: "sidebar-inner" };
8274
- const _hoisted_2$a = ["onClick"];
8275
- const _hoisted_3$9 = ["onClick"];
8386
+ const MenuTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-aedf94f7"]]);
8387
+ const _hoisted_1$b = { class: "sidebar-inner" };
8388
+ const _hoisted_2$9 = ["onClick"];
8389
+ const _hoisted_3$8 = ["onClick"];
8276
8390
  const _hoisted_4$7 = ["onClick"];
8391
+ const _hoisted_5$6 = ["onClick"];
8277
8392
  const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel" }, {
8278
8393
  __name: "ProductServicePanel",
8279
8394
  props: {
@@ -8291,61 +8406,99 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8291
8406
  const emit = __emit;
8292
8407
  const router = useRouter();
8293
8408
  const permissionStore = usePermissionStore();
8409
+ const getMenuTitle = (item) => {
8410
+ var _a2;
8411
+ const rawTitle = ((_a2 = item.meta) == null ? void 0 : _a2.title) || item.name || "";
8412
+ return t2(rawTitle) || rawTitle;
8413
+ };
8414
+ const isVisible = (item) => {
8415
+ var _a2;
8416
+ return item.visible !== false && !((_a2 = item.meta) == null ? void 0 : _a2.hidden);
8417
+ };
8418
+ const searchInputRef = ref(null);
8294
8419
  const searchKeyword = ref("");
8295
- const activeCategory = ref(0);
8420
+ const debouncedKeyword = ref("");
8421
+ let debounceTimer = null;
8422
+ watch(searchKeyword, (val) => {
8423
+ clearTimeout(debounceTimer);
8424
+ if (!val) {
8425
+ debouncedKeyword.value = "";
8426
+ } else {
8427
+ debounceTimer = setTimeout(() => {
8428
+ debouncedKeyword.value = val;
8429
+ }, 300);
8430
+ }
8431
+ });
8432
+ const activeProductIndex = ref(0);
8433
+ const activeModuleIndex = ref(0);
8296
8434
  const routers = computed(() => permissionStore.getRoleRouters);
8435
+ const productMenuRouters = computed(() => {
8436
+ return (routers.value || []).filter((item) => item.type === 10);
8437
+ });
8297
8438
  const filteredMenus = computed(() => {
8298
- const keyword = searchKeyword.value.toLowerCase().trim();
8299
- const filterHiddenMenus = (items) => {
8300
- if (!items || !Array.isArray(items))
8301
- return [];
8302
- return items.filter((item) => !!item.visible).map((item) => ({
8303
- ...item,
8304
- children: item.children ? filterHiddenMenus(item.children) : []
8305
- }));
8306
- };
8307
- const baseMenus = filterHiddenMenus(routers.value);
8308
- if (!keyword) {
8309
- return baseMenus;
8310
- }
8311
- const filterFn = (items) => {
8312
- return items.reduce((result, item) => {
8313
- var _a2;
8314
- const title = ((_a2 = item.meta) == null ? void 0 : _a2.title) || "";
8315
- const isMatch = title.toLowerCase().includes(keyword);
8439
+ const keyword = debouncedKeyword.value.toLowerCase().trim();
8440
+ const items = productMenuRouters.value;
8441
+ if (!items || !Array.isArray(items))
8442
+ return [];
8443
+ const filterFn = (list) => {
8444
+ return list.reduce((result, item) => {
8445
+ if (!item.visible)
8446
+ return result;
8447
+ const displayTitle = getMenuTitle(item);
8448
+ const isMatch = keyword && displayTitle.toLowerCase().includes(keyword);
8316
8449
  const children = item.children ? filterFn(item.children) : [];
8317
- if (isMatch || children.length > 0) {
8450
+ if (!keyword || isMatch || children.length > 0) {
8318
8451
  result.push({
8319
8452
  ...item,
8320
- children: children.length > 0 ? children : item.children
8453
+ children: isMatch ? item.children || [] : children
8321
8454
  });
8322
8455
  }
8323
8456
  return result;
8324
8457
  }, []);
8325
8458
  };
8326
- return filterFn(baseMenus);
8459
+ return filterFn(items);
8327
8460
  });
8328
- const groupedMenus = computed(() => {
8461
+ const productList = computed(() => {
8329
8462
  return filteredMenus.value.map((menu) => {
8330
- var _a2, _b;
8463
+ var _a2;
8331
8464
  return {
8332
8465
  id: menu.id,
8333
- title: ((_a2 = menu.meta) == null ? void 0 : _a2.title) || menu.name,
8334
- icon: (_b = menu.meta) == null ? void 0 : _b.icon,
8466
+ title: getMenuTitle(menu),
8467
+ icon: (_a2 = menu.meta) == null ? void 0 : _a2.icon,
8335
8468
  path: menu.path,
8336
8469
  modulePath: menu.modulePath,
8337
- children: (menu.children || []).filter((item) => {
8338
- var _a3;
8339
- return !((_a3 = item.meta) == null ? void 0 : _a3.hidden);
8340
- })
8470
+ children: (menu.children || []).filter(isVisible)
8341
8471
  };
8342
8472
  });
8343
8473
  });
8344
- const currentCategoryMenus = computed(() => {
8345
- if (groupedMenus.value.length === 0)
8474
+ const activeProduct = computed(() => {
8475
+ if (productList.value.length === 0)
8476
+ return null;
8477
+ return productList.value[activeProductIndex.value] || null;
8478
+ });
8479
+ const activeModules = computed(() => {
8480
+ var _a2;
8481
+ return ((_a2 = activeProduct.value) == null ? void 0 : _a2.children) || [];
8482
+ });
8483
+ const activeModule = computed(() => {
8484
+ if (activeModules.value.length === 0)
8485
+ return null;
8486
+ return activeModules.value[activeModuleIndex.value] || null;
8487
+ });
8488
+ const contentGroups = computed(() => {
8489
+ if (!activeModule.value)
8346
8490
  return [];
8347
- const group = groupedMenus.value[activeCategory.value];
8348
- return (group == null ? void 0 : group.children) || [];
8491
+ const thirdMenus = (activeModule.value.children || []).filter(isVisible);
8492
+ return thirdMenus.map((third) => ({
8493
+ id: third.id,
8494
+ title: getMenuTitle(third),
8495
+ path: third.path,
8496
+ items: (third.children || []).filter(isVisible).map((fourth) => ({
8497
+ id: fourth.id,
8498
+ title: getMenuTitle(fourth),
8499
+ path: fourth.path
8500
+ }))
8501
+ }));
8349
8502
  });
8350
8503
  const joinPath = (...paths) => {
8351
8504
  return paths.filter(Boolean).reduce((result, path) => {
@@ -8359,10 +8512,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8359
8512
  const getAccessiblePath = (item, parentPath = "") => {
8360
8513
  const fullPath = joinPath(parentPath, item.path);
8361
8514
  if (item.children && item.children.length > 0) {
8362
- const visibleChildren = item.children.filter((child) => {
8363
- var _a2;
8364
- return !((_a2 = child.meta) == null ? void 0 : _a2.hidden);
8365
- });
8515
+ const visibleChildren = item.children.filter(isVisible);
8366
8516
  if (visibleChildren.length > 0) {
8367
8517
  return getAccessiblePath(visibleChildren[0], fullPath);
8368
8518
  }
@@ -8371,20 +8521,23 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8371
8521
  };
8372
8522
  const closePanel = () => {
8373
8523
  emit("update:visible", false);
8524
+ clearTimeout(debounceTimer);
8374
8525
  searchKeyword.value = "";
8375
- activeCategory.value = 0;
8526
+ debouncedKeyword.value = "";
8527
+ activeProductIndex.value = 0;
8528
+ activeModuleIndex.value = 0;
8376
8529
  };
8377
8530
  const handleSelect = (item, parentPath = "") => {
8378
- var _a2, _b;
8531
+ var _a2, _b, _c;
8379
8532
  const fullPath = getAccessiblePath(item, parentPath);
8380
8533
  if (fullPath) {
8381
8534
  const currentModuleId = permissionStore.getModuleId;
8382
- const selectedModuleId = (_a2 = groupedMenus.value[activeCategory.value]) == null ? void 0 : _a2.id;
8535
+ const selectedModuleId = (_b = (_a2 = productList.value[activeProductIndex.value]) == null ? void 0 : _a2.children[activeModuleIndex.value]) == null ? void 0 : _b.id;
8383
8536
  if (selectedModuleId === currentModuleId) {
8384
8537
  router.push(fullPath.startsWith("/") ? fullPath : `/${fullPath}`);
8385
8538
  } else {
8386
8539
  const currentOrigin = window.location.origin;
8387
- const modulePath = ((_b = groupedMenus.value[activeCategory.value]) == null ? void 0 : _b.modulePath) || "";
8540
+ const modulePath = ((_c = productList.value[activeProductIndex.value]) == null ? void 0 : _c.modulePath) || "";
8388
8541
  const moduleFullPath = joinPath(modulePath, fullPath);
8389
8542
  const targetUrl = `${currentOrigin}${moduleFullPath.startsWith("/") ? moduleFullPath : `/${moduleFullPath}`}`;
8390
8543
  window.location.href = targetUrl;
@@ -8392,15 +8545,71 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8392
8545
  closePanel();
8393
8546
  }
8394
8547
  };
8395
- const handleCategorySelect = (index) => {
8396
- activeCategory.value = index;
8548
+ const handleProductSelect = (index) => {
8549
+ activeProductIndex.value = index;
8550
+ activeModuleIndex.value = 0;
8551
+ };
8552
+ const handleModuleSelect = (index) => {
8553
+ activeModuleIndex.value = index;
8554
+ };
8555
+ const handleItemClick = (fourthItem, group) => {
8556
+ var _a2, _b;
8557
+ const parentPath = joinPath((_a2 = activeProduct.value) == null ? void 0 : _a2.path, (_b = activeModule.value) == null ? void 0 : _b.path, group.path);
8558
+ handleSelect(fourthItem, parentPath);
8397
8559
  };
8398
- watch(() => props.visible, (val) => {
8399
- if (val) {
8400
- searchKeyword.value = "";
8401
- activeCategory.value = 0;
8560
+ const handleGroupClick = (group) => {
8561
+ var _a2, _b;
8562
+ const parentPath = joinPath((_a2 = activeProduct.value) == null ? void 0 : _a2.path, (_b = activeModule.value) == null ? void 0 : _b.path);
8563
+ handleSelect({ path: group.path, children: [] }, parentPath);
8564
+ };
8565
+ const syncActiveSelection = () => {
8566
+ const currentModuleId = permissionStore.getModuleId;
8567
+ if (!currentModuleId)
8568
+ return false;
8569
+ for (let pIndex = 0; pIndex < productList.value.length; pIndex++) {
8570
+ const mIndex = productList.value[pIndex].children.findIndex(
8571
+ (mod) => mod.id === currentModuleId
8572
+ );
8573
+ if (mIndex !== -1) {
8574
+ activeProductIndex.value = pIndex;
8575
+ activeModuleIndex.value = mIndex;
8576
+ return true;
8577
+ }
8578
+ }
8579
+ return false;
8580
+ };
8581
+ watch(productList, () => {
8582
+ if (!syncActiveSelection()) {
8583
+ if (activeProductIndex.value >= productList.value.length) {
8584
+ activeProductIndex.value = 0;
8585
+ }
8586
+ activeModuleIndex.value = 0;
8402
8587
  }
8403
8588
  });
8589
+ watch(
8590
+ () => props.visible,
8591
+ (val) => {
8592
+ if (val) {
8593
+ searchKeyword.value = "";
8594
+ debouncedKeyword.value = "";
8595
+ if (!syncActiveSelection()) {
8596
+ activeProductIndex.value = 0;
8597
+ activeModuleIndex.value = 0;
8598
+ }
8599
+ nextTick(() => {
8600
+ var _a2;
8601
+ (_a2 = searchInputRef.value) == null ? void 0 : _a2.focus();
8602
+ });
8603
+ }
8604
+ }
8605
+ );
8606
+ const handleKeydown = (e2) => {
8607
+ if (e2.key === "Escape" && props.visible) {
8608
+ closePanel();
8609
+ }
8610
+ };
8611
+ onMounted(() => document.addEventListener("keydown", handleKeydown));
8612
+ onUnmounted(() => document.removeEventListener("keydown", handleKeydown));
8404
8613
  return (_ctx, _cache) => {
8405
8614
  return openBlock(), createBlock(Teleport, { to: "body" }, [
8406
8615
  createVNode(Transition, { name: "fade" }, {
@@ -8427,22 +8636,43 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8427
8636
  createElementVNode("div", {
8428
8637
  class: normalizeClass([unref(prefixCls2) + "__sidebar-title"])
8429
8638
  }, [
8430
- createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.allProducts")), 1)
8639
+ createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.productNavigation")), 1)
8431
8640
  ], 2),
8432
8641
  createVNode(unref(ElScrollbar), null, {
8433
8642
  default: withCtx(() => [
8434
- createElementVNode("div", _hoisted_1$c, [
8435
- (openBlock(true), createElementBlock(Fragment, null, renderList(groupedMenus.value, (group, index) => {
8643
+ createElementVNode("div", _hoisted_1$b, [
8644
+ (openBlock(true), createElementBlock(Fragment, null, renderList(productList.value, (product, pIndex) => {
8436
8645
  return openBlock(), createElementBlock("div", {
8437
- key: index,
8646
+ key: product.id || pIndex,
8438
8647
  class: normalizeClass([
8439
- unref(prefixCls2) + "__category",
8440
- { "is-active": activeCategory.value === index }
8648
+ unref(prefixCls2) + "__product-card",
8649
+ { "is-active": activeProductIndex.value === pIndex }
8441
8650
  ]),
8442
- onClick: ($event) => handleCategorySelect(index)
8651
+ onClick: ($event) => handleProductSelect(pIndex)
8443
8652
  }, [
8444
- createElementVNode("span", null, toDisplayString(group.title), 1)
8445
- ], 10, _hoisted_2$a);
8653
+ createElementVNode("div", {
8654
+ class: normalizeClass([unref(prefixCls2) + "__product-name"])
8655
+ }, [
8656
+ createElementVNode("span", null, toDisplayString(product.title), 1)
8657
+ ], 2),
8658
+ product.children.length > 0 ? (openBlock(), createElementBlock("div", {
8659
+ key: 0,
8660
+ class: normalizeClass([unref(prefixCls2) + "__product-modules"])
8661
+ }, [
8662
+ (openBlock(true), createElementBlock(Fragment, null, renderList(product.children, (mod, mIndex) => {
8663
+ return openBlock(), createElementBlock("span", {
8664
+ key: mod.id || mIndex,
8665
+ class: normalizeClass([
8666
+ unref(prefixCls2) + "__module-tag",
8667
+ {
8668
+ "is-active": activeProductIndex.value === pIndex && activeModuleIndex.value === mIndex
8669
+ }
8670
+ ]),
8671
+ onClick: withModifiers(($event) => (handleProductSelect(pIndex), handleModuleSelect(mIndex)), ["stop"])
8672
+ }, toDisplayString(getMenuTitle(mod)), 11, _hoisted_3$8);
8673
+ }), 128))
8674
+ ], 2)) : createCommentVNode("", true)
8675
+ ], 10, _hoisted_2$9);
8446
8676
  }), 128))
8447
8677
  ])
8448
8678
  ]),
@@ -8456,6 +8686,8 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8456
8686
  class: normalizeClass([unref(prefixCls2) + "__header"])
8457
8687
  }, [
8458
8688
  createVNode(unref(ElInput), {
8689
+ ref_key: "searchInputRef",
8690
+ ref: searchInputRef,
8459
8691
  modelValue: searchKeyword.value,
8460
8692
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchKeyword.value = $event),
8461
8693
  placeholder: unref(t2)("layout.common.searchMenu"),
@@ -8485,65 +8717,38 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8485
8717
  createElementVNode("div", {
8486
8718
  class: normalizeClass([unref(prefixCls2) + "__grid-container"])
8487
8719
  }, [
8488
- currentCategoryMenus.value.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(currentCategoryMenus.value, (secondMenu, index) => {
8489
- var _a2, _b;
8720
+ contentGroups.value.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(contentGroups.value, (group) => {
8490
8721
  return openBlock(), createElementBlock("div", {
8491
- key: index,
8492
- class: normalizeClass([unref(prefixCls2) + "__column"])
8722
+ key: group.id || group.title,
8723
+ class: normalizeClass([unref(prefixCls2) + "__group"])
8493
8724
  }, [
8494
8725
  createElementVNode("div", {
8495
- class: normalizeClass([unref(prefixCls2) + "__column-title"])
8726
+ class: normalizeClass([unref(prefixCls2) + "__group-title"])
8496
8727
  }, [
8497
- createElementVNode("span", null, toDisplayString(((_a2 = secondMenu.meta) == null ? void 0 : _a2.title) || secondMenu.name), 1)
8728
+ createElementVNode("span", null, toDisplayString(group.title), 1)
8498
8729
  ], 2),
8499
8730
  createElementVNode("div", {
8500
- class: normalizeClass([unref(prefixCls2) + "__column-list"])
8731
+ class: normalizeClass([unref(prefixCls2) + "__group-grid"])
8501
8732
  }, [
8502
- secondMenu.children && secondMenu.children.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(secondMenu.children.filter((c) => {
8503
- var _a3;
8504
- return !((_a3 = c.meta) == null ? void 0 : _a3.hidden);
8505
- }), (thirdMenu) => {
8506
- var _a3;
8733
+ group.items.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(group.items, (item) => {
8507
8734
  return openBlock(), createElementBlock("div", {
8508
- key: thirdMenu.path,
8509
- class: normalizeClass([unref(prefixCls2) + "__column-item"]),
8510
- onClick: ($event) => {
8511
- var _a4;
8512
- return handleSelect(thirdMenu, joinPath((_a4 = groupedMenus.value[activeCategory.value]) == null ? void 0 : _a4.path, secondMenu.path));
8513
- }
8735
+ key: item.id || item.path,
8736
+ class: normalizeClass([unref(prefixCls2) + "__group-item"]),
8737
+ onClick: ($event) => handleItemClick(item, group)
8514
8738
  }, [
8515
- createElementVNode("span", null, toDisplayString(((_a3 = thirdMenu.meta) == null ? void 0 : _a3.title) || thirdMenu.name), 1)
8516
- ], 10, _hoisted_3$9);
8739
+ createElementVNode("span", null, toDisplayString(item.title), 1)
8740
+ ], 10, _hoisted_4$7);
8517
8741
  }), 128)) : (openBlock(), createElementBlock("div", {
8518
8742
  key: 1,
8519
- class: normalizeClass([
8520
- unref(prefixCls2) + "__column-item",
8521
- { [unref(prefixCls2) + "__column-item--disabled"]: secondMenu.type === 1 }
8522
- ]),
8523
- onClick: ($event) => {
8524
- var _a3;
8525
- return secondMenu.type === 2 && handleSelect(secondMenu, (_a3 = groupedMenus.value[activeCategory.value]) == null ? void 0 : _a3.path);
8526
- }
8743
+ class: normalizeClass([unref(prefixCls2) + "__group-item"]),
8744
+ onClick: ($event) => handleGroupClick(group)
8527
8745
  }, [
8528
- createElementVNode("span", null, toDisplayString(secondMenu.type === 1 ? unref(t2)("layout.common.noData") || "暂无" : ((_b = secondMenu.meta) == null ? void 0 : _b.title) || secondMenu.name), 1)
8529
- ], 10, _hoisted_4$7))
8746
+ createElementVNode("span", null, toDisplayString(group.title), 1)
8747
+ ], 10, _hoisted_5$6))
8530
8748
  ], 2)
8531
8749
  ], 2);
8532
- }), 128)) : groupedMenus.value[activeCategory.value] ? (openBlock(), createElementBlock("div", {
8750
+ }), 128)) : activeProduct.value ? (openBlock(), createElementBlock("div", {
8533
8751
  key: 1,
8534
- class: normalizeClass([unref(prefixCls2) + "__column"])
8535
- }, [
8536
- createElementVNode("div", {
8537
- class: normalizeClass([unref(prefixCls2) + "__column-list"])
8538
- }, [
8539
- createElementVNode("div", {
8540
- class: normalizeClass([unref(prefixCls2) + "__column-item", unref(prefixCls2) + "__column-item--disabled"])
8541
- }, [
8542
- createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.noData") || "暂无"), 1)
8543
- ], 2)
8544
- ], 2)
8545
- ], 2)) : (openBlock(), createElementBlock("div", {
8546
- key: 2,
8547
8752
  class: normalizeClass([unref(prefixCls2) + "__empty"])
8548
8753
  }, [
8549
8754
  createVNode(unref(_sfc_main$x), {
@@ -8551,7 +8756,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8551
8756
  size: 48
8552
8757
  }),
8553
8758
  createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.noDataTitle")), 1)
8554
- ], 2))
8759
+ ], 2)) : createCommentVNode("", true)
8555
8760
  ], 2)
8556
8761
  ]),
8557
8762
  _: 1
@@ -8570,7 +8775,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
8570
8775
  };
8571
8776
  }
8572
8777
  });
8573
- const ProductServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-ab102b18"]]);
8778
+ const ProductServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-130420a1"]]);
8574
8779
  const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
8575
8780
  __name: "Logo",
8576
8781
  emits: ["logo-click"],
@@ -8579,8 +8784,7 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
8579
8784
  const { getPrefixCls: getPrefixCls2 } = useDesign();
8580
8785
  const prefixCls2 = getPrefixCls2("logo");
8581
8786
  const appStore = useAppStore();
8582
- const title = computed(() => appStore.getTitle);
8583
- const layout = computed(() => appStore.getLayout);
8787
+ computed(() => appStore.getLayout);
8584
8788
  const theme = computed(() => appStore.getTheme);
8585
8789
  const panelVisible = ref(false);
8586
8790
  const togglePanel = (isActive) => {
@@ -8612,20 +8816,11 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
8612
8816
  onClick: handleClickLogo
8613
8817
  }, [
8614
8818
  createVNode(_component_Icon, {
8615
- icon: "svg-icon:logo",
8819
+ icon: "svg-icon:inspur-xinlian",
8616
8820
  color: fontColor.value,
8617
8821
  svgClass: "!w-full !h-full",
8618
- class: normalizeClass(["!w-[var(--logo-height)]", "!h-[var(--logo-height)]"])
8619
- }, null, 8, ["color"]),
8620
- createElementVNode("div", {
8621
- class: normalizeClass([
8622
- "ml-10px text-16px font-700",
8623
- {
8624
- "text-[var(--top-header-text-color)]": ["left", "top", "topLeft"].includes(layout.value)
8625
- }
8626
- ]),
8627
- style: normalizeStyle({ color: fontColor.value })
8628
- }, toDisplayString(title.value), 7)
8822
+ class: normalizeClass(["!w-[var(--logo-width)]", "!h-[var(--logo-height)]"])
8823
+ }, null, 8, ["color"])
8629
8824
  ])
8630
8825
  ], 2),
8631
8826
  createVNode(unref(ProductServicePanel), {
@@ -8636,14 +8831,33 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
8636
8831
  };
8637
8832
  }
8638
8833
  });
8639
- const _hoisted_1$b = { class: "w-full min-w-1000px" };
8834
+ const _hoisted_1$a = { class: "w-full min-w-1000px" };
8640
8835
  const _sfc_main$p = /* @__PURE__ */ Object.assign({ name: "AppView" }, {
8641
8836
  __name: "AppView",
8642
8837
  setup(__props) {
8643
8838
  const tagsViewStore = useTagsViewStore();
8839
+ useRoute();
8644
8840
  const getCaches = computed(() => {
8645
8841
  return tagsViewStore.getCachedViews;
8646
8842
  });
8843
+ const wrapperCache = /* @__PURE__ */ new Map();
8844
+ const getWrappedComponent = (Component, routeName) => {
8845
+ if (!Component || !routeName)
8846
+ return Component;
8847
+ if (wrapperCache.has(routeName))
8848
+ return wrapperCache.get(routeName);
8849
+ const wrapper = defineComponent({
8850
+ name: routeName,
8851
+ setup(_, { slots }) {
8852
+ return () => {
8853
+ var _a2;
8854
+ return (_a2 = slots.default) == null ? void 0 : _a2.call(slots);
8855
+ };
8856
+ }
8857
+ });
8858
+ wrapperCache.set(routeName, wrapper);
8859
+ return wrapper;
8860
+ };
8647
8861
  const routerAlive = ref(true);
8648
8862
  const reload = () => {
8649
8863
  routerAlive.value = false;
@@ -8652,13 +8866,18 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ name: "AppView" }, {
8652
8866
  provide("reload", reload);
8653
8867
  return (_ctx, _cache) => {
8654
8868
  const _component_router_view = resolveComponent("router-view");
8655
- return openBlock(), createElementBlock("section", _hoisted_1$b, [
8869
+ return openBlock(), createElementBlock("section", _hoisted_1$a, [
8656
8870
  unref(routerAlive) ? (openBlock(), createBlock(_component_router_view, { key: 0 }, {
8657
8871
  default: withCtx(({ Component, route }) => [
8658
8872
  (openBlock(), createBlock(KeepAlive, { include: unref(getCaches) }, [
8659
- (openBlock(), createBlock(resolveDynamicComponent(Component), {
8660
- key: route.fullPath
8661
- }))
8873
+ (openBlock(), createBlock(resolveDynamicComponent(getWrappedComponent(Component, route.name)), {
8874
+ key: route.path
8875
+ }, {
8876
+ default: withCtx(() => [
8877
+ (openBlock(), createBlock(resolveDynamicComponent(Component)))
8878
+ ]),
8879
+ _: 2
8880
+ }, 1024))
8662
8881
  ], 1032, ["include"]))
8663
8882
  ]),
8664
8883
  _: 1
@@ -8712,7 +8931,7 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ name: "Message" }, {
8712
8931
  createVNode(_component_Icon, {
8713
8932
  color: __props.color,
8714
8933
  size: 18,
8715
- icon: "ep:bell"
8934
+ icon: "svg-icon:bell"
8716
8935
  }, null, 8, ["color"])
8717
8936
  ]),
8718
8937
  _: 1
@@ -8721,72 +8940,213 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ name: "Message" }, {
8721
8940
  };
8722
8941
  }
8723
8942
  });
8724
- const Message = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-5a726c1e"]]);
8943
+ const Message = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-fdaeb8e4"]]);
8725
8944
  const avatarImg = "data:image/gif;base64,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";
8726
- const _hoisted_1$a = { class: "flex items-center text-[var(--top-header-text-color)] mr-18px" };
8727
- const _hoisted_2$9 = { class: "pl-5px text-14px <lg:hidden" };
8728
- const _hoisted_3$8 = { class: "ml-15px" };
8945
+ 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)]" };
8946
+ const _hoisted_2$8 = { class: "pl-6px text-12px <lg:hidden" };
8947
+ const _hoisted_3$7 = { class: "ml-6px" };
8948
+ const _hoisted_4$6 = { class: "flex items-center text-[var(--top-header-text-color)] hover:text-[var(--top-header-hover-color)] mr-18px" };
8949
+ const _hoisted_5$5 = { class: "pl-5px text-12px <lg:hidden" };
8950
+ const _hoisted_6$4 = { class: "ml-6px" };
8951
+ const _hoisted_7$2 = { class: "flex items-center text-#e0e0e0" };
8952
+ const _hoisted_8$1 = { class: "flex flex-col gap-3px pl-5px text-12px <lg:hidden" };
8953
+ const _hoisted_9 = { class: "text-#fff" };
8954
+ const _hoisted_10 = { key: 0 };
8955
+ const _hoisted_11 = { class: "ml-6px" };
8729
8956
  const _sfc_main$n = /* @__PURE__ */ Object.assign({ name: "UserInfo" }, {
8730
8957
  __name: "UserInfo",
8731
- emits: ["logout-click"],
8958
+ emits: ["logout-click", "switch-company-click"],
8732
8959
  setup(__props, { emit: __emit }) {
8733
8960
  const emit = __emit;
8734
8961
  const { t: t2 } = useI18n();
8735
8962
  const userStore = useUserStore();
8963
+ const appStore = useAppStore();
8736
8964
  const { getPrefixCls: getPrefixCls2 } = useDesign();
8737
- const prefixCls2 = getPrefixCls2("user-info");
8965
+ const prefixCls2 = getPrefixCls2("info");
8738
8966
  const avatar = computed(() => userStore.user.avatar || avatarImg);
8739
8967
  const userName = computed(() => userStore.user.nickname ?? "Admin");
8968
+ const topNav = computed(() => appStore.getTopNav);
8969
+ const topNavNormal = computed(() => topNav.value === "normal");
8970
+ const topNavFloating = computed(() => topNav.value === "floating");
8971
+ const orgId = computed(() => {
8972
+ var _a2;
8973
+ return (_a2 = userStore.user) == null ? void 0 : _a2.orgId;
8974
+ });
8975
+ const orgName = computed(() => {
8976
+ var _a2;
8977
+ return (_a2 = userStore.user) == null ? void 0 : _a2.orgName;
8978
+ });
8979
+ const companyList = computed(() => userStore.getCompanyList);
8980
+ const showCompanyList = computed(() => companyList.value.length > 0);
8740
8981
  const handleLogoutClick = () => {
8741
8982
  emit("logout-click");
8742
8983
  };
8984
+ const handleSwitchCompany = (company) => {
8985
+ emit("switch-company-click", deepClone(company));
8986
+ };
8743
8987
  return (_ctx, _cache) => {
8744
8988
  const _component_Icon = resolveComponent("Icon");
8745
- return openBlock(), createBlock(unref(ElDropdown), {
8746
- class: normalizeClass(["custom-hover cursor-pointer", unref(prefixCls2)]),
8747
- trigger: "click"
8748
- }, {
8749
- dropdown: withCtx(() => [
8750
- createVNode(unref(ElDropdownMenu), null, {
8989
+ return openBlock(), createElementBlock(Fragment, null, [
8990
+ unref(topNavNormal) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
8991
+ unref(showCompanyList) && unref(orgId) ? (openBlock(), createBlock(unref(ElDropdown), {
8992
+ key: 0,
8993
+ class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-company`]),
8994
+ trigger: "click"
8995
+ }, {
8996
+ dropdown: withCtx(() => [
8997
+ createVNode(unref(ElDropdownMenu), null, {
8998
+ default: withCtx(() => [
8999
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(companyList), (company) => {
9000
+ return openBlock(), createBlock(unref(ElDropdownItem), {
9001
+ key: company.enterpriseId,
9002
+ disabled: company.enterpriseId == unref(orgId),
9003
+ onClick: ($event) => handleSwitchCompany(company)
9004
+ }, {
9005
+ default: withCtx(() => [
9006
+ createTextVNode(toDisplayString(company.enterpriseName), 1)
9007
+ ]),
9008
+ _: 2
9009
+ }, 1032, ["disabled", "onClick"]);
9010
+ }), 128))
9011
+ ]),
9012
+ _: 1
9013
+ })
9014
+ ]),
8751
9015
  default: withCtx(() => [
8752
- createVNode(unref(ElDropdownItem), { onClick: handleLogoutClick }, {
9016
+ createElementVNode("div", _hoisted_1$9, [
9017
+ createVNode(_component_Icon, {
9018
+ icon: "svg-icon:company",
9019
+ color: "var(--top-header-company-icon-color)",
9020
+ svgClass: "!w-full !h-full",
9021
+ class: normalizeClass(["!w-14px", "!h-14px"])
9022
+ }),
9023
+ createElementVNode("span", _hoisted_2$8, toDisplayString(unref(orgName)), 1),
9024
+ createElementVNode("span", _hoisted_3$7, [
9025
+ createVNode(_component_Icon, {
9026
+ icon: "ep:arrow-down",
9027
+ svgClass: "!w-full !h-full",
9028
+ class: normalizeClass(["!w-12px", "!h-12px"])
9029
+ })
9030
+ ])
9031
+ ])
9032
+ ]),
9033
+ _: 1
9034
+ }, 8, ["class"])) : createCommentVNode("", true),
9035
+ createVNode(unref(ElDropdown), {
9036
+ class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-user`]),
9037
+ trigger: "click"
9038
+ }, {
9039
+ dropdown: withCtx(() => [
9040
+ createVNode(unref(ElDropdownMenu), null, {
8753
9041
  default: withCtx(() => [
8754
- createVNode(_component_Icon, { icon: "ep:switch-button" }),
8755
- createElementVNode("div", null, toDisplayString(unref(t2)("layout.common.loginOut")), 1)
9042
+ createVNode(unref(ElDropdownItem), { onClick: handleLogoutClick }, {
9043
+ default: withCtx(() => [
9044
+ createVNode(_component_Icon, { icon: "ep:switch-button" }),
9045
+ createElementVNode("div", null, toDisplayString(unref(t2)("layout.common.loginOut")), 1)
9046
+ ]),
9047
+ _: 1
9048
+ })
8756
9049
  ]),
8757
9050
  _: 1
8758
9051
  })
8759
9052
  ]),
9053
+ default: withCtx(() => [
9054
+ createElementVNode("div", _hoisted_4$6, [
9055
+ createVNode(unref(ElAvatar), {
9056
+ src: unref(avatar),
9057
+ size: 24,
9058
+ class: "!bg-transparent"
9059
+ }, {
9060
+ default: withCtx(() => [
9061
+ createVNode(_component_Icon, {
9062
+ icon: "fa:user-circle-o",
9063
+ size: 24
9064
+ })
9065
+ ]),
9066
+ _: 1
9067
+ }, 8, ["src"]),
9068
+ createElementVNode("span", _hoisted_5$5, toDisplayString(unref(userName)), 1),
9069
+ createElementVNode("span", _hoisted_6$4, [
9070
+ createVNode(_component_Icon, {
9071
+ icon: "ep:arrow-down",
9072
+ svgClass: "!w-full !h-full",
9073
+ class: normalizeClass(["!w-12px", "!h-12px"])
9074
+ })
9075
+ ])
9076
+ ])
9077
+ ]),
8760
9078
  _: 1
8761
- })
8762
- ]),
8763
- default: withCtx(() => [
8764
- createElementVNode("div", _hoisted_1$a, [
8765
- createVNode(unref(ElAvatar), {
8766
- src: unref(avatar),
8767
- size: 32,
8768
- class: "!bg-transparent"
8769
- }, {
9079
+ }, 8, ["class"])
9080
+ ], 64)) : createCommentVNode("", true),
9081
+ unref(topNavFloating) ? (openBlock(), createBlock(unref(ElDropdown), {
9082
+ key: 1,
9083
+ class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-company-user`]),
9084
+ trigger: "click"
9085
+ }, {
9086
+ dropdown: withCtx(() => [
9087
+ createVNode(unref(ElDropdownMenu), null, {
8770
9088
  default: withCtx(() => [
8771
- createVNode(_component_Icon, {
8772
- icon: "fa:user-circle-o",
8773
- size: 24
8774
- })
9089
+ unref(showCompanyList) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref(companyList), (company) => {
9090
+ return openBlock(), createBlock(unref(ElDropdownItem), {
9091
+ key: company.enterpriseId,
9092
+ disabled: company.enterpriseId == unref(orgId),
9093
+ onClick: ($event) => handleSwitchCompany(company)
9094
+ }, {
9095
+ default: withCtx(() => [
9096
+ createTextVNode(toDisplayString(company.enterpriseName), 1)
9097
+ ]),
9098
+ _: 2
9099
+ }, 1032, ["disabled", "onClick"]);
9100
+ }), 128)) : createCommentVNode("", true),
9101
+ createVNode(unref(ElDropdownItem), {
9102
+ divided: unref(showCompanyList),
9103
+ onClick: handleLogoutClick
9104
+ }, {
9105
+ default: withCtx(() => [
9106
+ createVNode(_component_Icon, { icon: "ep:switch-button" }),
9107
+ createElementVNode("div", null, toDisplayString(unref(t2)("layout.common.loginOut")), 1)
9108
+ ]),
9109
+ _: 1
9110
+ }, 8, ["divided"])
8775
9111
  ]),
8776
9112
  _: 1
8777
- }, 8, ["src"]),
8778
- createElementVNode("span", _hoisted_2$9, toDisplayString(unref(userName)), 1),
8779
- createElementVNode("span", _hoisted_3$8, [
8780
- createVNode(_component_Icon, { icon: "ant-design:caret-down-outlined" })
9113
+ })
9114
+ ]),
9115
+ default: withCtx(() => [
9116
+ createElementVNode("div", _hoisted_7$2, [
9117
+ createVNode(unref(ElAvatar), {
9118
+ src: unref(avatar),
9119
+ size: 24,
9120
+ class: "!bg-transparent"
9121
+ }, {
9122
+ default: withCtx(() => [
9123
+ createVNode(_component_Icon, {
9124
+ icon: "fa:user-circle-o",
9125
+ size: 24
9126
+ })
9127
+ ]),
9128
+ _: 1
9129
+ }, 8, ["src"]),
9130
+ createElementVNode("div", _hoisted_8$1, [
9131
+ createElementVNode("span", _hoisted_9, toDisplayString(unref(userName)), 1),
9132
+ unref(showCompanyList) ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString(unref(orgName)), 1)) : createCommentVNode("", true)
9133
+ ]),
9134
+ createElementVNode("span", _hoisted_11, [
9135
+ createVNode(_component_Icon, {
9136
+ icon: "ep:arrow-down",
9137
+ svgClass: "!w-full !h-full",
9138
+ class: normalizeClass(["!w-12px", "!h-12px"])
9139
+ })
9140
+ ])
8781
9141
  ])
8782
- ])
8783
- ]),
8784
- _: 1
8785
- }, 8, ["class"]);
9142
+ ]),
9143
+ _: 1
9144
+ }, 8, ["class"])) : createCommentVNode("", true)
9145
+ ], 64);
8786
9146
  };
8787
9147
  }
8788
9148
  });
8789
- const UserInfo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-058b21ff"]]);
9149
+ const UserInfo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-31268ba6"]]);
8790
9150
  const filterBreadcrumb = (routes, parentPath = "") => {
8791
9151
  var _a2;
8792
9152
  const res = [];
@@ -9315,7 +9675,7 @@ const setI18nLanguage = (locale) => {
9315
9675
  const useLocale = () => {
9316
9676
  const changeLocale = async (locale) => {
9317
9677
  const globalI18n = i18n.global;
9318
- 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`);
9678
+ 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`);
9319
9679
  globalI18n.setLocaleMessage(locale, langModule.default);
9320
9680
  setI18nLanguage(locale);
9321
9681
  };
@@ -9385,9 +9745,9 @@ const _sfc_main$l = /* @__PURE__ */ Object.assign({ name: "LocaleDropdown" }, {
9385
9745
  };
9386
9746
  }
9387
9747
  });
9388
- const _hoisted_1$9 = { class: "theme-list" };
9389
- const _hoisted_2$8 = ["onClick"];
9390
- const _hoisted_3$7 = { class: "name" };
9748
+ const _hoisted_1$8 = { class: "theme-list" };
9749
+ const _hoisted_2$7 = ["onClick"];
9750
+ const _hoisted_3$6 = { class: "name" };
9391
9751
  const _sfc_main$k = {
9392
9752
  __name: "ThemeSwitch",
9393
9753
  emits: ["change"],
@@ -9426,7 +9786,7 @@ const _sfc_main$k = {
9426
9786
  return (_ctx, _cache) => {
9427
9787
  return openBlock(), createElementBlock(Fragment, null, [
9428
9788
  createElementVNode("div", null, toDisplayString(unref(t2)("layout.setting.theme")), 1),
9429
- createElementVNode("div", _hoisted_1$9, [
9789
+ createElementVNode("div", _hoisted_1$8, [
9430
9790
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(themeList), (item) => {
9431
9791
  return openBlock(), createElementBlock("div", {
9432
9792
  class: normalizeClass(["item", { "active": unref(theme) === item.key }]),
@@ -9442,8 +9802,8 @@ const _sfc_main$k = {
9442
9802
  style: normalizeStyle({ backgroundColor: item.color === "#fff" ? "#fafafa" : item.color })
9443
9803
  }, null, 4)
9444
9804
  ], 4),
9445
- createElementVNode("div", _hoisted_3$7, toDisplayString(item.name), 1)
9446
- ], 10, _hoisted_2$8);
9805
+ createElementVNode("div", _hoisted_3$6, toDisplayString(item.name), 1)
9806
+ ], 10, _hoisted_2$7);
9447
9807
  }), 128))
9448
9808
  ])
9449
9809
  ], 64);
@@ -9455,10 +9815,10 @@ const Chunjie = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAABGCAYAAADip
9455
9815
  const Duanwu = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAABGCAYAAADiplcmAAAAAXNSR0IArs4c6QAAIABJREFUeF7NvQmMZdl5Hvadu9/71tqrt+nu2ckZkZRJcZEhy4sERRHt0IKHEizGommJtAMriR3DAbLACRIYSQwESRwDCQHDiS1ZEimZFElRSixKdGxxSJOSRhqRHPZsPdPd1d21vnrb3e+Jvv/c+5bqqunmSELyemqq6tW72zn/+f/v//7lKDSvTzzjnYf7UYXqxwD1FIAOdPNHjXwSIz4YQCkLusxQphN0/FXYlodpnkBVgGc50ArQVYISMaLgHLbCFexlh4h7BdygD2VZs0vOf5hdyLyllPm+cP1TDnoTb9XnvefIP57rl1mOajiFp1xMqxRerw3bc/mAJ+7gj+b6uqrAL84RLGs2jPOLnbiuwghaf10r62d2kH8cH/xkJsPP/138xDMXymnxORV471DNhCzcdlVViPcHQAXoIoadV+j7a6igMErHKHUFR9mwoOBZLhTfL26jE11AYPuI8xSj4jWsdB5B1nOh7BOCMROCE4Mzu4f7DOKbEI+lQ/4Yrl+mObL9Y7mMb3nwHRdZlUO5DnIfcKIQs7H+I7h+Gadwck4QMC0zmVi/3zljEZ4YMHP95xSK99/84CdvKXziGe9CZX1Fa7yjyjLYgX/PEGfDCaq8kIew0xQdq49RPkFWFrAtC1prWLBhKwXfcqE1EBdjVH6BtrOKqtLIiwlCt0La6kG1gvoaZwnBA87ymYPZCNH9hOyP5/pcrfneEFahMS0TWSSe7cqi8W0fRVWg7LlwW9EDPugZH6ufvypyhCMN/psUMbIyh640/E4Lbvu0a5w1Pvq5W6p6jzr/cz/yNwHrH8plqxK6LGGJijNqvExSVFkpOkWXOcpJDl1qKGVDQcNSFrjuFcVCWXAsBw5slFWJgX0Xfe+c/LXSGuP4JjbalzBq2ye0xRk3eY8ZaQbn25zMB16J91PjD3b9bDBGkFgYZmOZKD6dppqleCiFjWAVR8UQ3uYKLNGaf7jnz4/HaBUODtNjuZrSWhYmLXW4uQbLcYxJ5punvubX18r6KXXhEz/6rALeS7XDQ6gReI+W66IqSlRZblSQ1iizKaqJhm1RIJRoCMey5Tie1lEOPEWNYcswHFT7CP0ubEXtUSHJhtgM+9hDDrsd3mMcHniqH3TuHnAd3k+vPDAE0ZBF5A5yZDpHXpUodYEqG8qCqThuThuB7SGyQ4ydFN5Ke2ZG3szzU0t4hylG2QRZVcpC5X9cpLoq4CCD192Es9YCiDVOeS0/v/6yuvjJvzyE1p3Fz5Z5bn6tNJTFCaZMlChGUyhtGzNC/dBIn4aoRwoKhYeCQlU5KodQgQ1XRaigUZYFPJ3BsTuYhtWD2bsHnNj/P3xMFtEgRqB8DPMxlK5QZMcI/T5aXhfj5BAcWWV5CG1PFlLRtmGH95rsB3keLsr07iG8wmilRuNQACkYlrJRxHdwrv9WjPsaVuTd/7RKjSgUuioKlEkmJ3JCXzSArkpROzLRnNAsQxUXsDjhtcTxb5ZoEd6AEQjRICKnENuZWDF8rw0aGZ4pz2O4josU+k0PxswrOcuZuP+jn/mJ2SkXtO09mqRZ0ovXJ444nqKjQoyLGKUuUZUTeMpHGPSQVhlC5eJgcge2jIctiyfXJbx+BEUV/6Cv+vrp8QgYxIjzWLw+M+oaSjSGgm0HKNNDrLcvIfMUsEVtcf9BU5sf/wvaTkqEdoAMBTzPRQGN1CrgUsWL1FUopyls5ch8UADMFIuVrC9U258aZ9AjySdTjAYDOJ0Q3dUV485CodS5mCYr8KGs+9/kg47V6bqRd2hsuYxHPShLXpaRe7H/czeYMj5X6GIiuVhEbc7+V5tpjXwcIygdlEojp8moMjhaoxusYVhM5bqrbhtJOsEgO4brtWRxEYSXOhVvhCYblrnf+72qssTx67ehSo1KV6LJKQxWVcGxfaT5EO3WNpTmXFlYCXoYrGnYfo0X3+AC6ol/9IwurAqpqrASdFAojcj1cVxMMUEqmoPmxK4sEQaOh4An1YgFxJTQPMjYmtFDMhpjtLsnKNjpRAj7XQSt1gzrEIhS2CzfWwBA9WDcb0xOM77EQZY1+6KwEQvV822GYHEyjU2cvb084Y1s1EIiWmP+fCIssxNrFHEK5BVsy0GFUkA1ygw9fwWjMjbCJcKoseZ2sR8folIlLMsXASiKFFWRwqGg2DaUbxuUeNZLa+GMkgEtv3gA0OkI/Wgbrh0gKVIk2QCWVcJz+7CVh3PROm6qAbzNzr3aYib89UI/94/+ghZc6DgyoMoxA9vyQhxnE8DiAwI2TUmjemZzd2L2CiJsnstGMhljdHtPAGZ3dQ1O14fth/J7HieIhyOEvS5s36sR+HwETs756TJC9WjBdh1Yjm3AL8dnvohPrHwzwXM+bC4QM4mZK7tGddSfnwvHokbh4iiSFHap5PpZRZBO7JTDsTwZfBGQWkHxR4fagWOQJsY8E7MpoODvNk2zgxIlbN+fOSUnn79Ic4zv7IkWqKocOh2j462iVDbyghyFgqMVtCpQlAOE4QVshms4zoZI1hScoPWGGlqd//hf1I7jQNtcasq4ivzOAebNZjkcrwaRIuxivGSRKVUPsQaiocYm2hgUU4y8HHkADG7eFonvb2zADzwkZQHl2JjsH0ErjfbaqmAVDsAyaXa2WDiuA9f34PKeas1l0LZR7WYOFtT+spTMJ7n+2JJZkOOJp/hVyeQRbHNi5X05Of9mDqZnRtUcOgFiTZRU34CYKuOxzW1446OZY+VfUcp4oGrsV0njLMdxmC23wRkLYqG1jB+9RF0ksPISHZdMsSNEouC7mh4gkZiVE1Ruga63SXnFQXYD7dYmqn4HlmuciJMvdfn/+BEyTyIUYt/5RYkgR5HntTSbIV+0dTPtyY9OClwu+hjnU/i2B185eFUdIvc0smkspiRot+QhaY74UBbJHM8WDeRwpRNfnAGC+L4fBfCDAIrqlXfTzHtj55sna7DBEji4V1jKskJVFqjkewWytvw625df0GSarntegzniLDOJyyu6EdNFbW0+YcS35hOW7JsRKo6zjL3r3MP+5uMp8jiVa1lZho7qYlIkyKghLGKUSlhlnie0fWRFganaQzs4ZzSlaLNj2J0t6G5DIi6Lhbry0z9K4mEmDPJwVHti8zWUTeKjnoETD86J0XmJ9TiQmxymEyQZ3VaFaZUgyVNEfoC19jp2jm/DaxP9Aukkmdlk23fQWVsx7ukJP5r3EbYjhK0a8DYTvSgIC0plbuvndqJZvXleyEAXeY6yIDA7DZicXDNnaCwCu8pogUaQZSplnE7O8sI5OX7LWHb5jwv2jYJTphkcYq4Zc1mgmGZzInGcoRIi0eAPYY+0giPsqRbeSKgBHMH1QngqkuceJ3ew2tpA3OMiu9frUVd+7sc0NQSFwWgIasxKVJsJ3jRPcc9SABFwNhqC8lZlFg4Hh4bytmz4rg/btaCCBBeCK3j97i3EaYwgClE6NTXuu/CiCH4rvAdv+2GATq+7tFKWAd4c1Nbod9k0ACiLAskkRpaktfo/sSLuB2jPRHoLQHQxvCUydAIsLwrtifPJJ5t7aMxc/bsYKnoWRQ7b80QIKSQihJpmfYKSRKIAfuMAEK8Ik6msmkSkIbGQVCkyb4rIWTUUe5miY1sY2w6s7pxEbG5PXf3kv69FfBv7LJxEYQTijEGjvXVLCy3tIGAEsEixO72D6VGMwA/QanVA9czX8fgIrb6Pvr8h9rJt+Xjx9svwui1Ea/177ZlS6PX7RjtQHmvUPgN4zaDNEeOioZhhislwjHgyfSBzcIpVrd96EG3yBpLzpv801zZi2opCNEATSNS6QD6cQlUEqQouWeUG0BJkkkvi55UCdUVeFph4QxEKA3w1inyEnr+OkV/cY6LU1V+kUNS2jtKY57XKOuWJxNPK4CsXXTfCpEwlQkq1VRBRFyk820MynqBSCulkgng8hhP4iLotTEcTFOPYBNdcGysPPwQ3Cma40LIU1tbX4XtUmXNPQrSYkZCZRV6w8AsehTlmdDxEPJmcOSX3TPWJNx6A33nT010/yfLxi9qEJFicoEpzwV/0rJp4VEMkFlkGHTNASZrAhBQWWWYzXDUGrDXLNB/CjUJJdSC1oEq60ArasuHxfTkX41cK6uqn/oqgJDKYJJSMhjipIgzyrtIMNlWO2KG5i0eL5lkWHu4EuDFKcP3V18VD4DHJcAw78LB6fhuT4QhZksCnt+E6Yn54Q7xZPtTm+gaCIKiB2OK0N6jevDdzKNQimWRUMTXU3dt3ljyQ+ZnOshdnezsLV/xDCYI5+Ozr0zzkwyHUVMNXHhyOsaPgui4GxRhWKzDeyBKRWPNF9A/k3I0rQHNiNDU1jAhNqfFQbxP9qIuW1zKpDkpLWgM5KpJuXOBkYtXDn/px3dDaRPan3TgllWh75jpSCsUtNcTq29cifOCxVewdVvjFl+/i91+9ju76OsZ7B+J9tDfXEfS74oU4vo8sTVGUdKlKOU93Yw1r/VX0ur17Aoai7JSxcPXz1S7xgts5FxWURYk7dykU977Owpb3C6KepTlOnu9+GuaNrp8eHyA4LgG3hUyV4nK7juFwWm6A3ewYVugarKfruJMkNNUhhlreDMFYj00jEMrC21cfxkPRBuIiBhy688AgHeF3Dl9GkiVCIjaMrnr40xSK0ylxvs8cC1FNpGAbd3phvOnBXmp58GxgZ1xgUlZigvga7uwinUzh9zqiOQjYS0uJNiADShWXTmK0u2088dgTpy6kk2t49sCN1V/AFg1bcXf3LjK5h/8vMcGphuJ0YS1LxLdfRdvdRsoF4JjUAhKJ/O7aJLQ08pK8iKpjUrL+Z55hwzYLZ5NVcNIKaahEqDh/f2LtMWwFfTgaYF6ccDz0RIoEMV3aqhA2m9pCPfzpDxssN2d95WeakiYoJkGvhdfiUItE0Q4Si3guyrxAMpwgn07hBj4c1xP+YzoeC1lF8Bd128KaTidTkJ1bWe3jkSsPz1D0XGUvYIgZ9ppnKDS3dHLqsyzDnf27EldYVNpnich9NcWJqTzL2Jx5/kaATxcJJIM9eNMUVriOkqaAhBaVAakCTqqJOcrYksGd8TmNB7x43rjA+WkLkXIx0FPsuwnQ9eFZNjbDFWx5PcGAHuel9loaIo0my3M8qEd+6cOnPotw/Sf14YlPMn4xPhqgzJiYQ8rWgBUSTQ3j2Ajb+HCAFk3INAHdTZqQhNSusvDI5avo03QszLI87wxszmMNwqMseMmL2Gbu3mmkeYa7B3soS7KEf3QvrtSAs6SAmElJf8hTF/EU6eFtbLQuYjzTEhLIMcJwCpHYCPqiB2wWcoXVoQ1bAympduWg5fi47uwLVnTho/KUmCAhxprUB9EaJhfED0MKxV99089F/390cChUMB+ivdITgZjP5in6pTFBvImylHS+Vhjhwvr2khAuIobFBbF0s/UfFgNOi1csqwqHx0cYTcf30N/mc98eUeEpCz+8toU/s7aBTreFT7/+Kj61exf5AxFhsjyWRIhAOz68gxWvC+1EyC2zEDXNBr/Xt0ciUWKnjhHG0yRRcOEwxrrVQlxwIZCoNmkMk+wYqTXAlegxHOkUmUszYaLUyybALD716GfevFDwRqbHIyQ0FWEoZBMIVoM68llnbMlTUCpLZhovEGV0TZnpBSDyQ5xb3ZTA0qLKmIHLU1T48vg0onMSdQBZnmEwHmIcTx6Qybx3+VPl/nv9TfyZyMfayjq6oSck0Kfu7OCf3t41GOnbeNHbSIcHoB/XCzYwRp3hJqGG+kQkEsn3MJrcpNSdvIbYlQqK3FJRIS6n8GwfvtUSwSBGoHBM8iFKleJS8BACJ0DL9XFgxUI/0B1tXFKhwh79zEdOIV4ffAVRMOg3E0jew+ZREBhQoqRLck6DjJvpJC07H07md27219AJ+UAnlkRN/xnHy9gWeYCaap7fce3NLxGwdS5FpTFNY/mKs9QEvBaQzNzVXR55ztHTdoAPtDtQmGJzZRuh46CsMlQqwc/ux/jC0YFgGJJDXIVlE1g7RVg4ZvlkhKrMEHgdggjxsCRcXud9mIg46XSq+iZntr6vxrmoKkkOXrXaIpT8Ihg9zgbwnBCuJFHX4FG4pBywCrxv4x3YYOJPmYH8F5OeXp3cxU58iKTMoR777EfuXVoPLhPmLs9AXnQPx8dD8ZjbnTYc17hCzevyoMB7DhQ++bDJ82xeoR9go7uK0FsO2Eh2F3nROk+iTp+Rc5LFE8qXnhIlX+oezCcats/EJs39cgCpQRifmWaxYBD50yzHwnzWrjSeilNcKR1cXInQ77SwEkZwbQXHtZDnY7S6m/ivv/kSriUjE1Fd4HBErS8MkiyiJIaucjgO+RnGlkyQTJiFmqijaSFms5xFZnk+eGQ5kZcSTuCrlPoLQ3GT4RTeQit5vxIh5XeT68JxXPE6eLx7ES2SWbaFnWyA65O7GOVxLRTLBPwpSvDbJ334UIPbu+JK9TbW4DE/4IT0fN/LU/ytay4+8AMucsnAMiaguVorCLHa7iPyOHhvpJtrTbDwkVqx1JZrgdgRDWI0jLh3taaR2pYskS8jIFoo4ivHCbaGY6AAnry8he31HjqM6ygN37MkvrK2so3rw2P8jzs3cczIK4k+mQSSQTXxVwfRspRJN8xPpTAwbLUc8qeGoMloPD8jMA3iNhItLr/WsCkwtRwxGfjxzgWs+l2JgUiWWy2gjaBKTIsUtyQUk9G0jXbJUsmB2c9GeG1yF+rxz/61+SJtBv5Bfa4zPs+bGe4dCN3tdtto93szv5g35dhmVa+OM3zvS2P80ttXhBaf475GMIyQBK6PlXYXXSaH1Blfc7NhJtYkCxsNIfZR0toWRcyYnGXZWlCSC+RYhQrTNMHg2st4Ok5RMeI7yvHOt1zB9toq2r4P17YQuiZVsddZRxyP8TvTGP/7nVtI6fMzZsHspNrVZ7yIZtZEnu06pjNXtMaTqHM2GtdrtojMXdOclEUujDITcuZhOY2rrW0RirNIJ2oQPv1eMsDXj19DqjMyCTUJafJHJLeDt/H45ygUy7PLfJvypL+ztFDPkhrzoSLNcHSXPAFgh6FJuZMEHnMd33EQkep+APRvjpibjW7YRj/qwBc/u3nVAlAL1uz9OsmhwR4UFFGsDR6RZCKjZo2pMc/F4xkU/OY/+QVs9wNsbGzARYYnHtrCxY3z6IQBPNdCi9lqqkCvu4HB8Aiuq/DZ4xF+9ehQGFujMczKpuY0g95oBwPlGkQlGmMhPXBxuCXEQI+iwRdNkHA2NFwYFrb9FVxubaDntuqxmc+ryQsy3g21RMHE4qrCS+PbuDU9ME9ep0ioJz73Eyb50GgmkZzv7tn46rBEVmfXLcnDaRDihMbgBSaDY8ETThTBjgI4tsnx5L/AM0GZZgYWJ54r3bWYGmgSTsXWSn1krfI5oYqr1Ecv7Ij2IFBqAKhJJG5OPTdJ5vEahFar7PpZGjVrYm41Arh+G89/8jOoVIWnn34Lej0PYenhbU9cQeg5aIU+IsdGy3MQRB2MxmO4TBbyQvwPr72EazHdYJoQTnZd39nczsJ156t9PgdzDFI/CGtE6zyXem7r6Vp03M2kU0t23GiGK2T8ajNGAVxx23i0c05iH3fjAb4+fF3KGRdxvXril39iSVNsuBY+vBng/9xLscvKsDf5ol2cHB8DroswDAVEMQJ3ruUhLjXG+SLxc5bdOv3is3zn2hzQvHSCNjoBAaABbs1r2UOpxa/BFc16Es1hkovki8GpL30Nt158Ba+9dgtPvPUxbKy2YWcK73z6EbiM5q6twK8KbPbX5XrTJEG73UZoO/jmwS7+8fAQ0xr81etNJk20R60VjHaohbX+zmkWjbHw+/xpmowz870JgzfnmV3nDPeYBeBv611Fyw1rQakwLVNM8kQy0EUjEcE8+cs/uWQL3tN18My6h39wK8Hd9HRV0RzwhtivfhLe+DTLkOsKHc/HW/o+3rvaweduDbGfZaLKXJYgLiFJAxxl9UtI16BqapGm5qTRbItqlweEboBu2EInMCn0BlTW4LIGlkZDGZPT+OizgVdAdvcAB7/xBThuhN///W+h02tj6/JlPLISYLXdQ78dilAEKCWQl6YZgsAXDejYCuPpIZ5PgZ8d7NUCMIfYc8+k1geL3klNDsyEpfFkltbGCWfxAeiRNzb2ywtPFsWTn//J2VV6jsLf2HKx5Vn4b2+lOMgf4IpnaBIJBTNTyLUxSXOR6pBECYEg2UxdIWYREipElougqV+VCTt50gYzmD/yn9Se1KBSTE4NXhs3lO/RvPSC9n10XZOIrEEGlKr+1uf/NbbsHEeDEcbDHHt7+7j4+KM4txUC4wxvffQy+u0WQtdGOwxxNBrj6rkLsNiPgaA0jbHZXcE/29/Hbwz3Z+v2DVMAZ7ml3zbR+iZ1+cJhC9Ms4/eWz39U4I2jgB/qh/jBroLt5Pjvd0q8HL+xpjjrbhhqPz48krC54weoXBvKMxNPN8is+DnMNFpgTkQ1Kp/nb7BH40YKSJx9LYPGGaAU7WLO1/VbWI3mcZUGczRyZxTU7DdkOwd45dOfhdNyEQQuktTGzRs7CFe62L6wgS1fodNaxfmNFcETDgocTad465VHoXSB8XiXtW+4srGGYQX8850dXKtyTKgzZoO/uNrn3MmDauD7LdX7OZEn523xfKKdKRQck0cDDx9aaWHdztD3Evz8QONzh/WDnGUnztBL1BLTycRkOzs2BocDSapZW2OTk1OKXGr13tzskspvJq1OJKHrabDkKTc1x66z5255AdbbazNSSI6sXb4ZOG0yz8oKO5/4NTjlCEle4eKFc9jbHyIrSxwcHuLilQu4sN6BW7ro9dtYjQLsH+5ha2sb51dWpUzw+HgHjtfDk9vn0EnGSH7rWdxaewi/unker7mVpMaRJ2jqQRqQO8MSSwRa8xhGcGaTvTDukoX+ABS7HLJU9LOoHurr1G+pt/zKx7RnKfz5Th9vDy10nAw9O8bzSYX/+S4veNJhncvZg0gkXbG9O3viQWye3zIVUKeomJkH0kxsHSI1uKLBAEbVGweBGmMuRuakc7eS2oe4ohe2TY3lAg0yO2ddeykaiVnP33oNL/3CL2PjwjYKBQR+CJ/aIq8wHY7hBT7Wt1aw3fKhlSX8ye7hLr7rqe+Aa1WYjPeRTo/gttbxPStd7Lz6ApQTYTBOkG09hC+cX8W09gYE1NWYoQGbZs4M8yjCIhS18V6ExiaNLhpnwXWe1aPMccvJ8T0LU5z1vnrrr3xMU0t8f7SGdS9F1ynQtVIMdIL/ZsfCmITFiavMVpg8wilBuxNXO9jdF799Y3tzGSjO5vTEupeHPjGLC4LUVBzMwaG5QTJ5pH0jz0fgBjX3MA+jLJqKOYhldZcFpwCu/7PPY3DrJtxWgLYkFSv4oYdCawkiDY9HWFlfw+WtCFmcY+9wiN5KF09fvgIgxa2bLyF0FJ7o9bFmFRivPoRguIuv39iB5/bwlScuY88xtPvsX91LYpGCPy0MugQvF8bXuJwNK7o88DMMc8rqJVyoQ1M1xTafSPW2X/3r+gejPi46EbouTUeGdTtG+gd1iH//ToWdzATtNlwbW7ZGaDlgbxRmCxNpk5/PbGC3tHA9zpAKlTpb9zJZh/sHIvFr66uzGgUyaBJd9VjttVwib9Z7ozDnlnZRMRhw6YoLyjYInuNILad51bkgwrvMytnkL0ah8P/z4iZ579Yu7nz+SxgcDYTYWdlcR9hqoWATF5YmkkFkGyfLwUqvDy8bY3+S4+rlC1jrtpFOD7G7cx1/anMNg/EIj7/ze5C7CtODu3j51i6uPnYR/8JyMawr+U0wtMZENUaa4yWDiczL3KuYl5qzKapK+owlRW5MEQHygtkxI7Cs4Vl0fslzccF14FklnMpCwXQbXSJVFqZ5gbgscESW88/92k/pP+320XUcdP0KLSvDeX8K2yrw9+9WuJFqfGfg4krmoQQngmHxQrK2XUfDZfmfr9GxCiR2gd/LMnxlWGJSamTiZQBHoxEcy0KnVUc/5Tk1RkcDJNMYfuCjt766qAtmP9NldB0z8ZwQCgG/7kkAmiuEJczRQJLFxNYGhDbYpVUUuPL8NXzlW6/ipVduyj0HrQjtlb45Fz0bx5aE4ySJ0e51seq5yGKNra11eKrEcP91vDso8Vt3DuE/8Xa8/6nHsTse4ZW7e7D3buNtqz5e2L6EzzrufAJrRrNxU2f8xULMQkThfsjyFHNM8rhtK4QW8Fio8N6Oi17F0k0Ho9xCVinkhY1ECqNyqUNlkM62K6iP/j9/W1+qIikobjsVIjvGtpug9wda43/aq9CtgPOVJ3bCc1z4zChWgQhNZDMLqYLjVHCrCi27QttL4bklfj9W+KcHFQ4zhYPxUIRivdOtI5xKKrXiaQzbtiULi3mbcRxL4u3VSw+hFbRM5HMxv8Ismhn7trga7hmXGow2n5mtu4YZFaRhPJSdZ38P3d/8V/i+dz+Kr702wFdfP8BIA931Fbk/UwhMM+OYjDKU6HVaaNkKvaCPhwIN+7WX8enXb6Fz6TK+44kn8F2XNlGOc+i9V3B99wDl1at4zyPn8PPTHN9ihHMxZ31h0iWjmhldM5LLfHKZAj8LDcxHgULxQysO/t1OBc+2ME18TEsbU4bQK5sBVsSVjZhJwKTgrRTTqZaMLfVffvHvak8zFhEisDXaToEte4KOl+HXjnNkQwYIA7QcDy0peC0RekpcWM9W6His+9CIFGsXeQMlBsjwv9wFXovNlBxNRlI11otCCbzQ9Pi+Sclj2n8Sx0tzSv7h8ceeMALEuESdcLQIbmas5gKmibSFt1ou8mKKjOnrqJBZNlKlMK40CqkCVwY81yqENSjXPv45JHt3sba9iqciH+9cc3CnzPDcoMIRAmFkGWZnXgOFhMEw5o883K3wnZaNr7zyGr5yZwqnHWB+CJuyAAAfiklEQVT13BZ+4Kmn8I4gw53br+NXru+je/4Crpw/h3ddWsXLgxz/ZqWFAaOdVSn1MhImryOr5EqaCGtDkZu8j/lrJhL30SBctB9ar/DdbQdp7iAtbEwrG4XDvBwbR7GB5tOiQJEr0Rbj7A8Kj/7er/8d7WgPvhfAtTQ6FAp/gq6b4ku3U9wZQ4gadnXbDGx03QQ3qxJfTSoMKmDNs/COQOGSq+DaFe5WBT5zqHErMS0NqCFuD45E/V9aW5dJ3rmzI8JBJrDTbsMPQiTxFGEYicZg3IPI//R4mQGlRtyMKzKnvYELcYGrg10MDg5hhy7On99CNwol9yGxgHEOHFcOBpaLw6rC3vU9fO3j/wKWU2KDn+12Mbi5j46e4N3nV7C55mOigZemGjtFiJwsph/g7a0SXjLAc3kXL9/chbI0Lvbb+HOPbKOrXLyaKeRba7j2rWu4cvkc3tLr4ek28Ht3j/HN849gcG5NvIoGA4nWKln/WTGTEkw08C0FVyrA+Iw09vRA2AqjkhVN80zSmRn046oCmxBQBzVUOr0Y3wLe0y3xzoAZWD7issTzqcL1RInpeMhXeIdTop1r7OU+Dkg4/hf/13+k2UvBYaWyKtF1NDaiBF27xL+9PUWsjS1lMkavpfCbeYZvJBV7dBgYVCe1tF1btEGuSUQZgoovPsQr+zuidh/qrSPLUuzv7eHCxUsymeyDxTgJ8y2Woue1RDRJKssOUANk63LHEw7S2jTB26ZTtMM2xtOBeD7tTgu+x/5brH2iipb0aDx/bQ9f+tpruPHKy/CiAI8/+RjyNMX+zl0xMM5KG1uexvvWPLylZ1bcSpDj+aGNl7WPZJqhB4V3b3nYHUzwYm5hZeMcLm700LeB48EeOi5tt4sbloMDK8Rmq4tHHn87hqOb2Ll7F+fSKa7EOfqZwqjnYnc7ROHZ8Nh2wbUE0HuWFreX8SNXuhA2xB0ngVnfDkrNJq7AMXFcVeFY29ivgINSIyewtthySoFEtfHqTeV7y9J4q0pxIU+xM8yh/tZn/wMdUB40S8oK+LrARtuFY1d49XiELLPQ9kNkjoVv2hZer7N75swkI5knFnWD7mqQdDgZyQfWog6ODg9RFIUQPtQWN2/eQBiEOH/uvIlV1PkkQsrU6XKN4py7bYuZ5g03sVwAHU5zPHl0gFVXIQjbEh7PqxQFi3PZXokjNB6h8+pN6Vj31ddfw7XrI7hbfQSRj+PBECpJcXW7i7f4LfSCDDcPJnhp4qLnlviTF0JspIe4VXXx6v4B6BG4fhvtbguJAiZuH2GwjoMsQ3djFetdhZtHQzyy8RA+9J3fj06wgTTbly42wW8/h/LOLuxvvYTCsvDsBvB/P8ogP4XCEYAeuAqhy36czPI2PcnIHDM3hVFi33WlA1FTjkFvTKkKaVbgIGnjt90Qr1omu2zm7i+YHwKDx6sELVap/Yef+oj2XRuFdqRPZqBK9FsBWn4LpR1BOzmYiPS7VYob1CaLcfZFLoF/aRJVTriki/Zwb29PzANrRvfu7mJwPMDGxibCMECapsjSDEWRC+ikluivrGJ1ZXWWgjd30+pnm5FWdVSkVilCnScZ1l+5gY1KIwgsMQ2FZWOSJHKdbpHh8NqLWGsFOK9KbAbsB5EJ+LqeOGhnE7R1jMPCxQisxQgwSErs3B1g6Lfwvnd9LzKV4Df/9fO4dOEi3vWud+CFmzdwdfs8Xrz9Kv7jH/jLOB4fI/AqfPGXfxHv3Z9gk4XZbBjS9VGutmCvbqK69DB0+zyKGzdRHRzg+Pd+F5/6DheDagJPMIyJ/LJzj+WYDj6ecmDLzxp2vXjoqVEYSDxkSY7jJMN1K8ROv4uUCUEnfdUT6JydNq4mY6iPfeJD2vNd8cfpmkRslFWFuLK5Ds8KpZZjT5f49WyykMp+wg1YiHCepuYX70awRJaK97G7uyvagvWSrOjisQSgBHaSKT6dSJHR6toa1ohHZha4EY2F+1jQTjOWhMqj0HCu7aC7dxM910e/35GmbJ7rwysS3Lz+Cq5fu47t9XW4nR5eujnA16+/is7WOUmK7R2niLohsrUWqrRAnCj82Pe8H9/1xFN4+PwFqDKRlkLHwwRrq+uoqgNkqo3BCy/Af/4G1LuewEuDF/Hop7+IddsHikIAa9kJUFoF8l6J3CoR/Ds/iSJsQ1sedHyILLBxu0jx5etfQwJWcGXC4BpBAALLFO6wMo9CQTMdE7inMVJtYdBewa1OG9M6m2o+/wscUk0NzBa6AlrM/fiJT35QLDKTPWnbaXc95eHyxXNwqgiZ1ni2inFTmq7Op3xRLJZVUmPgTYyBGoo4gjUecTzFaMge4Ub904ycO3dekP3B/j62trfR7XRnLidXO9PPpGrJmveParDMot1qSCnDVJo6V/m5JsLK/QHK576B1aJEr9tGK3LRaps0vySpcHx0jO//E9+H9WgNX/rm78DTobjS7/nCNaxHPjb/9gfx2rDA8zdfwfu/60/Co1tX1L0yX7wD1bLhXrksbRjiOMX0hWvY/eefRfg970Whh2j/9C/BiQJpK0CBrLoh8mmMo4Nj7A6HePrv/V3oCxtA4gI9C1TKGRur2cALR9dwffAKQib2uC646FmoPUlTHE8THExiTJIcmaMw6fZwvL6BfFbT0ZB3tdmYG5AFpV+b3rpllfrIz/6ItLsqVQWrsuD7LtpehIubF0RLPFcmeCHLZzmFBCYG/t/bxKQRlOXLAzdefw0s5QuCECurq4iiFm7eeE1WPz2O69dfFVfvstDFc9aRgmOqo00KWcP9N1K/yHzOeb9lndhERSXTuyiRfOMV6G++hJUowvb2Ghxbo9MKJazvua5UZHfDAKvdS+i019EpNC50LsNvh3BUgmQyhQMftt1CGDgYvvIyXvqv/le0z2/ikf/uPzVZ5EWJyYsvAs469EYbd77+PIoXX0D1L78E3DlC8KfeDftdTyCdjjH47Wvw3/4INt73NI5/62so0hj5ux5D1baR5xOkVSIN2OMixSRLkeQWhtMM4zjGZDpFnKQYOz6mK+vI1ldRsRjrjFeTxWem7mydrv7qz/2w5kT3uxEGQ9pxGw+fu4DNlVVcS3N8NWcPikVjtBiXmCv0mVJarFauP8qM5zRJEEaRYAO+fWdnB3mewfN8TCZjrK6tY3V1daGYfi5aBJgLSs8oiOVnumcYFh9asrZtk5/JSWMv68HXnkf+yqvohQG2tzaxutKFQ+/EceCzQ6BLC0vt5ICLptUKEXlt9IMI/ZAhAR9+1EagS2R3D+GHPURrK5imEzhJgv0vPgcvasF59xMoXAU1HGF6/TqyLIF9YRNYayMpE5STISqfvcz5VLYszrIqQMVMD2+aFsjLSkoskzxDnMUYjlm3UmJsR0i3V6G31oG6p8d8wZxcmjWqbJD8wgeXwwqA+tDPfEBf2loVMPTynUN0nQ08deUhvJxX+Foei/lo9LmJI8zHv4lPnDZBXNV3bt1Ef2UFkRTR3Pva272L0XAof+h0ulhZW4Xr1nGQpZhYffS8yPo0d2emZWYspoQf6xtmnmd9CyZBx4Y+PEb8jRcxvb6DwFY4t7GGzdU1tFqeCEXBZFm61iTl2LCNcRbfF5c7z1MolcN3KHAuLMVKK7KepikaLybudMXyPeM3Nel+0PQMLFRS5c02TEy718bMMpaUUxCMqx6nOfJSYzKZCr6qIgfVyjawsY6kG6GcEXuNXajnaFGRn0L9zhbNDFcYIZJb/+gv/CV98ZHzKEcTvHZziMcuXsUwCvBsHIs/a+z3mRppZqFmH6l/yLMck/FYSKkgiuRi3f7KLNBDPHH71i0ZPOINsnrslLe1fU4IrAY3GIxQ12c0NFUNKhtsaeo3TFq/aSWv5HzsBEcbrkkrk8ptwswSPWJthZGtcjhGcfM2qt0DOGWBKAjQbbewstJDGPkI6JUAcIUbsKRkn8C4ZLMXQn0SaIzHWIBL2liaLNcDJ33MTU2nBOwkIdk8Myc+ZetDMA6RI2Wra8aM8kKSaYskQQFeT6Fqt1Gtr6FYXUE5az3FEkx+mf4dM1dTrPtcVxqz0eSqzx3Ik9PaaGP1N77wEX1+M0R1lGF/X2Pj0jZ+PU2R1jH9BsCdFIs3lJO63eLxYIDxeGSyjG0HrU5HMAXNxt2dOwijUMwGV9Te7q6YEa7iyw8/IhNcMyx1F8f6IWfApXnIuepqhF7Yv7KCxVpV9tcgRc3dCKiPRQDZR8qk3bOWQloW8E987sMjFKMJnEIjIHnkuWi1Iqx1IvQ6LEqi1rDELWQXOrZ7JPYyfURMk1XiH11RP1izBnMk6QqSSOzQV7IqvhQvrCxNzgQ9SYvdiW23Zi0LSVdMWcrQ78PpdaT4hwDQCAJpaSUCSrGSVpwUPgoD60roorCVgUlGOZ0crhnheunPPqM+/MWP6atrDrzMRkuv47kyxjdT8l+naYlaFN4AbBI/DI8HGNPLkMIf0wtyfWNTwCQHczwaI2q15PfF14ApfHmGjc1NU/SzgFwbrbBsN2qVvIQ4mI1dQTHknaZwuWMOy/TiFDpJwS2c2OeBVVHcvYeaRLrvc3IKxiDYtYed6EoUiUkslt6dji2uMzWH55BtNFtYzNo9ixBz1EwSDDtO5jy3qCNbJltqLli7wU410ltdGUHhpOYVdFYgTxLkeYWitKS3aNALEXY9eOx/xbTGWUMTx0w6q8QcW4qpNE0dG+V6LipW5NEUM151ovjIDOtCX9RmcJvknb/z7Ec0J4gt9OK0hV+fZohN0eEZ0rXcaWCuMZTgg8HhgXE5a/XZ7nTkfc/zZJUQY3T7JoHFDOKiO9QIoqkHlcxtaeGz2At7HvOQn+bSUhe7MLJvhAJxDDUcQh+PoCdjaHpRaYYyz2QSWPAjAsGfKRBMJCaTWmhoCkZeCn8jt9h0InZJIFGD2GLmRGBoEpo0w4UBbvZJoVykcSLeAs1GkeQidDyxrVgTQi1hOt2Zhu2cb1salASRi6Dtww8dEQppaCJKwDUtCyhsji31oGxqptgnJAqgWm2iY6gwgvY8uc8mg93M/UJuaK1ijSLQUP/5lz+sddRB5Ck8P3JwPW6WZzPdjaU5BWCcEqUbj0ZCzQ6Ojkzvx8pQsRtbW7h144ZcdmNzSxJYjDwsGqL6hGe4uzMCY1G9CH8/F6baskKxvC5OYY3HUKMxMIpRJfxKUGQxqqySLn0SA+H31JT6lbkpPtIUDLZjriukjHwudiQ2dZmmHpTyaGrwbM0YkBGSWVP7hfvjOaTIqeZRhNpvWlgJAJ63RpS+V64tHYJsj5gJqGwm5NHkUTPU2oETXh8nkVwWYHU6sLtd2O0uLAqvpDzUDffrTC0TjV1oM11ncan/5N98VNsdF+1A4XePHdxITs+hXMYURnDuwRv1wydJIgAzarXl+/CIgeJF26+wurmBVpsxifmZZ+ZihmzvJyQLd1WDqdkJGaLPC1hsqD6dwkoSIMmg2YIg5s+pdPujOWH/cRGQTBvNUBqBYER37v4aT6apv2RnOeIfrmjH9rC5uiXFQOwNQdaRTczYScbhaq5Ni3QxZk2p9MBnjkSTNSU5VeCWjXxPhIzmxa6gJUJKbMItI0yIPZdQu+kfVtk2KpuejBEQTdzB/iBcdExV8AMxJzQh9yYmneKWUH99+Isf0SvdFtoBcG3q4NZUoe+U2C+4TcG9onD6O3MtQnV8sLcrapLqlZ7H0f6BYAkSWGubm7V3Qbq2KZKdm5BlJdBgmJMRN6MPFqFmo89mwspFzNVLr4PtfAg6qT1YmcbvWQGkCfQ0Rsm+n3GCIm3wBb0VjnolWkiSXqq6ib302mAuqCstpllCuNFbw3c+/j6hu7lNFDvrE0Sylyd7fBXcFGaaybV0nsJyCFLN6hYTwB7loSNlEOxWQ76EJqFi/TK1Qw0gpYc6m+ib3dtEEErLkiBawWQljrHjIHVclJ6PivhCmvEv7FN20hDM/Md5/pL6S7/643q730UrUrhV2Lg+BP5sMMEtK8S11BYvZPZq1PoJATNpbQqT0QiH+3vCUq5vma7xg8EAo+NjUadUy+xRce7CBZNR1ZiPeu4FJ9f1pnOXdLlaTNSvHGcCPI1SaZhLebcuu5MEncZ6EjDKrjmmcZvFCef9cOlTMEZjcBtHgtEqTeHQK8m4kskX8DiW7nMrCQOWA8dGaHmIPA+BsrHW3RLuo1SlNJnd37ttclPzkhkJcCYZ/GEKryilDtYLA0nx074Dt9eC1wsFWJaejSJQyG0g1hVSS6GgtqCJEdBoiYYwHii9DWoRagwKh43UtpAoF6ntyM957ak0HsbSomt+OSEo6gc//eN6rd9BJ9LI4ODFWOFSNcbDPReJG+DrYwv7zOZYIitmvsnsGk2i6eHuHqJ2S7yLnRs3JPDVIAfyEFSxm5vb9XGzYLh5yMZa1IphqRCoKf+rC4yl/QApcHIT3Myurijnd+EsFjndmsTixBq34A8SSYoMfqkQwkJAgomBqjQHshQqS8GW59QWpru/2RWIk2jTDbWZ+8F9PWhmMmTJVPp/G+7CxIjYd/Rgbx+u8rC9fg4bQRuryidBjsjxEDmuZG+xrYDteqI1OVIju8TILTB2ckztAqnF7DEtghFrbgFcIJW0AkhPD+FK6ui0CAdJMSbbcP8Rdj1WlpxXygZO1ocskpEL0E792V/4sA5DGz0GdIIQe0mJLnI8GgJ+y5Gqrq8MbLyezMnmJhN6hlZrsEiv4/aNGzh36aKseGqIglnCkwn6a2vSee3ujZto9Tror67Vq3gBU5zIQp4By1ogZzxErWE8JvFyy0uu4LqEkC6wXyf2mqpvYYqgygIOg1FZBi/P4HMvz6qCz41ZpDyApoZ7nBUyucwKS5NMQKEMaN213/S9MBwlzYvOczEJ0u2P/SdYHyb34ML3HPQ7K7hy/hHBF1VBD2Qo7SMZLfW0gpexolyjcDQSz0LcclCEtmARh96GrVA5FnLbRkzTYNsoGCjUkJTDHBQmCkGdamgoF2P9iD9q4owCw8zvGUF9j0VupEJDfffP/Kj2/BDtto8o8oRqJWnzcLsUm7YZeUgsC/9q38Fhk241s0OLekdLIu5kPMLK2jqGR0diMjq9Hu7cuoX1rS1MxyMhYKSLbKczq9RqPIZ7YE+Tnt+ITw0mJUNLKQRM8beY2r+YKm/MitDENBmcdK3hFyWCqkRYFQiLAiG0pLwJS8kJZm9xEkoklsgdsBCH3kfNglI4mNsQuGY3Yt4Da2LZyM2mdpGm6rJ1iphI3wvBokICUgGXRS7hb+4IdOP2HXERiUla7Q40k5QlS91C5SgULlBYQM4aEdvQ5vw9o2aotUDKxrSSQqxEE5D1pCAQxFIoxErWDVTFzEhu6glV3Gjn2o3mOEg9yLv/yV/UoFCwqXrbQ1KUWLFdXFml+swQhg5sz8Egc/FvR0Au6mrZF21Q7dHevsQGok5belPQdDAQRhVMT0NIHdpxz625ikYchIubxVhmUdhTgO4iqdZgmWZ7A7PtRePk1v4+N5CBBW6C2akqhKxyB1PbzIiwI76phmH8wQwq1ztVMHMhs5xzyl0LCrDNCjPaWXQkdRsUijKDXZbwiwIBdznSpuUCTaV4Ayy0znNjWmi66ixyyRL3bTjdLvaiCLHw/XPamrmg7JethV4goDDCIfcluZhkMmtMIZqBusuqe1yZz8lT1T0yxaNpXKdaOBbJAHNfGk+2NdR7/vEP6ZEdIvB8nFvpY5hP0CqBSxsROmWCYakRhC6sCrhZ+bgF9nA+5VWbjs3z52UV337dcBJCAVeVaAq6qswDoKpl7URv1dR6nBrGncd1FkiuxhU2uME0ODGtkgRD1CtjXo5n7tRihZd8sZiHsQizou26xzgPFZXbDHZlVG2hLRMQpFAUJdpFgaiqEFUaLeaVUjM02oifqYNuHNyKe5qzgx7tvAifCcIJhyG2X2OsFBLbQsoJsx0kvofjMJSuu9xcx3SLMFBLJlRyXpuGZmbiDSyYPzvH3gTfTK5so1XZyJ7e3+y1LBHy9oZV4UlvAvW9P/0BvZuYoMvDF7YxiaeCxlvtAJcjH/vJsQRlqGSnJAlXt5CdshMu7fedm7dw7tIlucBoeGxUfBQJjtg4d65uhgbBGAyI0bQ0r6V7POWGzedO/8NJiZ99slGLsqGbBqukKAi2TBBdd8PyMe2fA2/aDi6UQtabqkhBEgEpNY5WWCtKrOcp2kUJT/gMli0Ybcc+V1IDSpxAT4FjJTEyduepPaOKZqrEnuth4FiYsnuvVkgtG7FFvNAsu+XCYrP058PQJCs175ueowsfWIiU3ltQtExzU3tuTHbRolL6gZ//Yf2tsULX9bB+fh0ZY/X7AyhPoe8TRRc4THLJ5h7pCivnt5B22qdri9M0iGyhbnz7uWLng5mbqhn15Tq3M87z7b09zxJodJHsito4UnV/C0NFG/UrA1qDWlHG9f4XjwRb8LVVa4VKsqrbVY4oSxHFCULu3mNay4gGoGI3nXGEr0ZlOUiZ0U1vgFigKqRsYKIUpkqJudq3HfEWGm5o5hjM2LMFPLBUE7UwuSdrcOcGeWlJzcVmDi6jeILxndvohS7Uhz/zzPDZfbsT+Q7WLqyyIhAHr97ENImFrr7Y8nA7ZZgXoi4934J/5TKKpuHnTHwXp6y2ZzXryVXELAlLOKFciKA0jiVxZMULYbvsLM+maS1U3NJCtmlcIjvvIw8nDdr8+kt3VXMgNcMx0zv3Hl1TYbVb21Ie/LyEm+Zw0xhRVWLddbHiWGixmoLtByV51gw3SwhEWxCWUVvQNDC2ZBvB4AbUCbGBVINpIZ0Sy8WEKfgLTVlln1WpYWWAjQSaMSaSKkAvR/p3mw1yzZXnKYsNfqPZMZxGPRK1RCySfeRqJq+8gjQp4EKN1H/2Gx979ld2svcycrd+YR0TIt1bt6Wi2ilY/2khCFo40gWsgkyelr07dL8vtu+sl9hs7k1H96+0ECccBluCbTpNMB2NECdjWVHsBuO1PLhuhMurSkLqrufglcSV/liLnNmDaIvTQnlCjDXR1Lp00NjcRQd9zpVIPKUsYMc57GkMaxrDS3K08wzr7LXRZRZWgFbgw2cEVZqu8CCzce8xKuyTfOJ4Sr9tRjItxBYwqDTYvSOneSKBxVVBjUItkpp8Vr6YBcZaUBQZRscp4uEADkPvaYWDLIHrBZLTysNd24cXkDyzULoM39fJPqcCwEVooaH29zG6dUfAru24X1Z/7V/+9b/55d3kH7YYtNrsYuA7iMYD7N86QGp7aDse1rstDCqqNhvcpZxxfm7HMPXYnLNxS82gi5vGKGWWY0QfXthABZfsIndtpj0vYgz2j5EWUyGgclQIXBcb3TYeWrex1QowTIBrAxeer1ASpdP9ci1h7mKGEM6M4T6I2BiXlvuxSui77soryTxkEGVVVvIc9jSBO5zAGk5lQnqOje0owHanjfVuG71WhMhlVrVJuecoJLrCcVnKQhpx3xPHwYGyMCwLKdHjwqBnw+s0HonAxUZLSIGOwttaMcZxjqNJjJsHFrI8RpqkmMYZkipH6EUIWGEXcqsME5YPHBe5W8IPIomqkgY3JmkuHYuLJipzHOzcRaAtDAsC7MlPqWc+8Yx30+p+ZVqV79hueYhaESbk+dMch9y5B0DIGgPmGyiNqWiwXFi4fhhgKIylSSxhsQr99lycZdpXS2hln+FmeiGMi3DLqOlU6GNB/bRLUqTsoNdycGndh1XY+OaNTMwIc9hLlxukpXhyo4O2b6Pgl+thUtg4qughfDum5g2EZhmjGTtMOlxMR4ZwmmCN2y4FPq6u9LDd66IVuAgZzbRNf22Wzx5XjB1RMCrBYceKgmFjVGqMsky2aGJiDyM/9OXaDHTlKUbjDDmB69jkaG62clxet3AQp3h9v8Cto4lkavl1SgFbNPcJ1r1QSC4GSrK6Sw61K8eduwqROrddspu10ajlQzb9Oh5jNJ3Ad+i06+eO0733yKfe94m/csHy/M9tRPY72j6wnzDS7MhJx9wMhsXDjmXyCEuFjDvUsB82ba2lccyUN8FpjQwu1vHpunpc016Brc/snP2pR0jLQmoli7yUzCHF/dTJFVBlU5iiEI9vtvC1u/uodCHX6rRDbHciXNj0EbqGQ5mUHl7PLQwKw/QtKkezRk7wKg+qZWo07xQV/CzHSprjnFa43IpwsdvCBvdM9V3hIw7KEkPaZu6bphUSgsmc9bYl9ssCA232ByFJFqFEX1VoOQX0ZIrJpMDeNMWN4wKO4qIgC1VIBdjVbQ/wKtwdZBhOC6kMKwpuZO/LIqPn5EQh1vs9icPkpN9z3gOFjr4QywwB21NI+U5horvcTp1tpodJbNIbLO85yyre/+yf/99uzQzqWz/xjPf4xtpHNzz1Y4HnPfWtg7IzyTjxCkOpvbDBbpgjZhkzb5C9DCQHjdJoTMiIDyOrzZDxhilkwIbbE7loWYX0mOBxGTK4usSjfR5S4WCaoSoU9scZilzjoa6N736yja++sIvnXk+hbO6rFcALPZzrd7HdtbESWegFLlj2yDS1o8TFTm5jJ7fEfZ6JwiLIWhQZmguW4dUBPQF2pMvrMLP4+5TvyoDMTppjs6pwOfBxMQrEzIWeJ1zGpKow0CUOCo29shQte1QaM8IJYg+LTSfDll1IfCRNcozjDDfZr3Q8xXSaSs8Ixlb+9MV1PH97jNFoKuqfe4exMoyNXlnpT+aTJpRsrhe1oaUdtDL9QOp4TZM7ca8br+HbCpHlYFyWo1KXX4dSP1PmBx//xgc/KUTG/wsR0NGyZ+AiPQAAAABJRU5ErkJggg==";
9456
9816
  const Zhongqiu = "data:image/png;base64,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";
9457
9817
  const Yuandan = "data:image/png;base64,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";
9458
- const _hoisted_1$8 = { class: "mt-24px" };
9459
- const _hoisted_2$7 = { class: "theme-list" };
9460
- const _hoisted_3$6 = ["src"];
9461
- const _hoisted_4$6 = ["src"];
9818
+ const _hoisted_1$7 = { class: "mt-24px" };
9819
+ const _hoisted_2$6 = { class: "theme-list" };
9820
+ const _hoisted_3$5 = ["src"];
9821
+ const _hoisted_4$5 = ["src"];
9462
9822
  const _hoisted_5$4 = ["src"];
9463
9823
  const _hoisted_6$3 = { class: "theme-list" };
9464
9824
  const _hoisted_7$1 = ["src"];
@@ -9477,8 +9837,8 @@ const _sfc_main$j = {
9477
9837
  };
9478
9838
  return (_ctx, _cache) => {
9479
9839
  return openBlock(), createElementBlock(Fragment, null, [
9480
- createElementVNode("div", _hoisted_1$8, toDisplayString(unref(t2)("layout.setting.festivalTheme")), 1),
9481
- createElementVNode("div", _hoisted_2$7, [
9840
+ createElementVNode("div", _hoisted_1$7, toDisplayString(unref(t2)("layout.setting.festivalTheme")), 1),
9841
+ createElementVNode("div", _hoisted_2$6, [
9482
9842
  createElementVNode("div", {
9483
9843
  class: normalizeClass(["item", { "active": unref(theme) === "springFestival" }]),
9484
9844
  onClick: _cache[0] || (_cache[0] = ($event) => handleClick("springFestival"))
@@ -9487,7 +9847,7 @@ const _sfc_main$j = {
9487
9847
  class: "border",
9488
9848
  style: normalizeStyle({ borderColor: unref(theme) === "springFestival" ? "var(--el-color-primary)" : "#d2d5e4" })
9489
9849
  }, [
9490
- createElementVNode("img", { src: unref(Chunjie) }, null, 8, _hoisted_3$6)
9850
+ createElementVNode("img", { src: unref(Chunjie) }, null, 8, _hoisted_3$5)
9491
9851
  ], 4),
9492
9852
  _cache[4] || (_cache[4] = createElementVNode("div", { class: "name" }, "春节", -1))
9493
9853
  ], 2),
@@ -9499,7 +9859,7 @@ const _sfc_main$j = {
9499
9859
  class: "border",
9500
9860
  style: normalizeStyle({ borderColor: unref(theme) === "dragonBoatFestival" ? "var(--el-color-primary)" : "#d2d5e4" })
9501
9861
  }, [
9502
- createElementVNode("img", { src: unref(Duanwu) }, null, 8, _hoisted_4$6)
9862
+ createElementVNode("img", { src: unref(Duanwu) }, null, 8, _hoisted_4$5)
9503
9863
  ], 4),
9504
9864
  _cache[5] || (_cache[5] = createElementVNode("div", { class: "name" }, "端午", -1))
9505
9865
  ], 2),
@@ -9537,73 +9897,8 @@ const _sfc_main$j = {
9537
9897
  }
9538
9898
  };
9539
9899
  const FestivalThemeSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-868f3996"]]);
9540
- const _hoisted_1$7 = { class: "mt-24px" };
9541
- const _hoisted_2$6 = { class: "layout-list" };
9542
- const _hoisted_3$5 = ["onClick"];
9543
- const _hoisted_4$5 = { class: "name" };
9544
- const _sfc_main$i = {
9545
- __name: "LayoutSwitch",
9546
- emits: ["change"],
9547
- setup(__props, { emit: __emit }) {
9548
- const emits = __emit;
9549
- const { t: t2 } = useI18n();
9550
- const appStore = useAppStore();
9551
- const layout = computed(() => appStore.getLayout);
9552
- const layoutItems = ref([
9553
- {
9554
- key: "left",
9555
- name: "侧边导航",
9556
- icon: "svg-icon:menu-left"
9557
- },
9558
- {
9559
- key: "top",
9560
- name: "顶部导航",
9561
- icon: "svg-icon:menu-top"
9562
- },
9563
- {
9564
- key: "topLeft",
9565
- name: "混合导航",
9566
- icon: "svg-icon:menu-top-left"
9567
- }
9568
- ]);
9569
- const handleClick = (item) => {
9570
- if (layout.value === item.key)
9571
- return;
9572
- emits("change", item.key);
9573
- };
9574
- return (_ctx, _cache) => {
9575
- const _component_Icon = resolveComponent("Icon");
9576
- return openBlock(), createElementBlock(Fragment, null, [
9577
- createElementVNode("div", _hoisted_1$7, toDisplayString(unref(t2)("layout.setting.layout")), 1),
9578
- createElementVNode("div", _hoisted_2$6, [
9579
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(layoutItems), (item) => {
9580
- return openBlock(), createElementBlock("div", {
9581
- class: "item",
9582
- key: item.key,
9583
- onClick: ($event) => handleClick(item)
9584
- }, [
9585
- createElementVNode("div", {
9586
- class: "border",
9587
- style: normalizeStyle({ borderColor: unref(layout) === item.key ? "var(--el-color-primary)" : "#d2d5e4" })
9588
- }, [
9589
- createVNode(_component_Icon, {
9590
- icon: item.icon,
9591
- color: "var(--el-color-primary)",
9592
- svgClass: "!w-full !h-full",
9593
- class: "!w-full !h-70px"
9594
- }, null, 8, ["icon"])
9595
- ], 4),
9596
- createElementVNode("div", _hoisted_4$5, toDisplayString(item.name), 1)
9597
- ], 8, _hoisted_3$5);
9598
- }), 128))
9599
- ])
9600
- ], 64);
9601
- };
9602
- }
9603
- };
9604
- const LayoutSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-265f0ebb"]]);
9605
9900
  const _hoisted_1$6 = { class: "text-16px font-500 text-[var(--text-color)]" };
9606
- const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9901
+ const _sfc_main$i = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9607
9902
  __name: "Setting",
9608
9903
  props: {
9609
9904
  color: {
@@ -9626,10 +9921,11 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9626
9921
  const { copy, copied, isSupported } = useClipboard({
9627
9922
  source: `
9628
9923
  // 主题相关
9629
- theme: '${appStore.getTheme}',
9630
- // 布局相关
9631
- layout: '${appStore.getLayout}'
9632
- `
9924
+ theme: '${appStore.getTheme}'
9925
+ `
9926
+ // ,
9927
+ // // 布局相关
9928
+ // layout: '${appStore.getLayout}'
9633
9929
  });
9634
9930
  if (!isSupported) {
9635
9931
  ElMessage.error(t2("layout.setting.copyFailed"));
@@ -9652,10 +9948,6 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9652
9948
  appStore.setTheme(theme);
9653
9949
  appStore.setCssVarTheme();
9654
9950
  };
9655
- const layoutChange = async (layout) => {
9656
- await saveTheme({ theme: appStore.getTheme, layout });
9657
- appStore.setLayout(layout);
9658
- };
9659
9951
  const saveTheme = async ({ theme, layout }) => {
9660
9952
  ElMessage({
9661
9953
  type: "success",
@@ -9673,7 +9965,7 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9673
9965
  }), [
9674
9966
  createVNode(_component_Icon, {
9675
9967
  color: __props.color,
9676
- icon: "ep:setting",
9968
+ icon: "svg-icon:hexagon",
9677
9969
  size: 18
9678
9970
  }, null, 8, ["color"])
9679
9971
  ], 16),
@@ -9713,8 +10005,7 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9713
10005
  default: withCtx(() => [
9714
10006
  createElementVNode("div", null, [
9715
10007
  createVNode(ThemeSwitch, { onChange: themeChange }),
9716
- createVNode(FestivalThemeSwitch, { onChange: themeChange }),
9717
- createVNode(LayoutSwitch, { onChange: layoutChange })
10008
+ createVNode(FestivalThemeSwitch, { onChange: themeChange })
9718
10009
  ])
9719
10010
  ]),
9720
10011
  _: 1
@@ -9723,7 +10014,51 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
9723
10014
  };
9724
10015
  }
9725
10016
  });
9726
- const Setting = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-89f387dd"]]);
10017
+ const Setting = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-b213e887"]]);
10018
+ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Arrow" }, {
10019
+ __name: "Arrow",
10020
+ props: {
10021
+ color: {
10022
+ type: String,
10023
+ default: ""
10024
+ }
10025
+ },
10026
+ setup(__props) {
10027
+ const appStore = useAppStore();
10028
+ const { t: t2 } = useI18n();
10029
+ const topNav = computed(() => appStore.getTopNav);
10030
+ const topNavCollapsed = computed(() => topNav.value === "collapsed");
10031
+ const arrowIcon = computed(
10032
+ () => topNavCollapsed.value ? "svg-icon:arrow-left" : "svg-icon:arrow-right"
10033
+ );
10034
+ const handleArrowClick = () => {
10035
+ appStore.setTopNav(topNavCollapsed.value ? "floating" : "collapsed");
10036
+ };
10037
+ return (_ctx, _cache) => {
10038
+ const _component_Icon = resolveComponent("Icon");
10039
+ return openBlock(), createElementBlock("div", {
10040
+ class: "arrow",
10041
+ onClick: handleArrowClick
10042
+ }, [
10043
+ createVNode(unref(ElPopover), {
10044
+ disabled: !unref(topNavCollapsed),
10045
+ content: unref(t2)("layout.common.expandAppMenu"),
10046
+ placement: "left",
10047
+ "show-after": 100
10048
+ }, {
10049
+ reference: withCtx(() => [
10050
+ createVNode(_component_Icon, {
10051
+ color: __props.color,
10052
+ size: 11,
10053
+ icon: unref(arrowIcon)
10054
+ }, null, 8, ["color", "icon"])
10055
+ ]),
10056
+ _: 1
10057
+ }, 8, ["disabled", "content"])
10058
+ ]);
10059
+ };
10060
+ }
10061
+ });
9727
10062
  const _sfc_main$g = {
9728
10063
  __name: "index",
9729
10064
  props: {
@@ -9874,6 +10209,10 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
9874
10209
  onClearCacheLogoutClick: {
9875
10210
  type: Function,
9876
10211
  default: null
10212
+ },
10213
+ onSwitchCompanyClick: {
10214
+ type: Function,
10215
+ default: null
9877
10216
  }
9878
10217
  },
9879
10218
  setup(props, {
@@ -9881,49 +10220,67 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
9881
10220
  }) {
9882
10221
  const appStore = useAppStore();
9883
10222
  const breadcrumb = computed(() => appStore.getBreadcrumb);
9884
- computed(() => appStore.getHamburger);
9885
10223
  const search = computed(() => appStore.search);
9886
10224
  const layout = computed(() => appStore.getLayout);
9887
10225
  const locale = computed(() => appStore.getLocale);
9888
10226
  const message = computed(() => appStore.getMessage);
9889
10227
  const setting = computed(() => appStore.getSetting);
10228
+ const topNav = computed(() => appStore.getTopNav);
10229
+ const topNavNormal = computed(() => topNav.value === "normal");
10230
+ const topNavCollapsed = computed(() => topNav.value === "collapsed");
10231
+ const iconColor = computed(() => topNavNormal.value ? "var(--top-header-icon-color)" : "#dae0e9");
9890
10232
  return () => {
9891
10233
  var _a2;
9892
10234
  return createVNode("div", {
9893
10235
  "id": `${variables.namespace}-tool-header`,
9894
- "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)]"]
10236
+ "class": [prefixCls$2, "px-[var(--top-tool-p-x)] flex items-center justify-between", "dark:bg-[var(--el-bg-color)]", {
10237
+ "tool-header-normal": topNavNormal.value,
10238
+ "tool-header-floating": topNav.value === "floating",
10239
+ "tool-header-collapsed": topNav.value === "collapsed"
10240
+ }],
10241
+ "style": "transition: all var(--transition-time-02);"
9895
10242
  }, [layout.value !== "top" ? createVNode("div", {
9896
10243
  "class": "h-full flex items-center"
9897
10244
  }, [breadcrumb.value ? createVNode(Breadcrumb, {
9898
10245
  "class": "lt-md:hidden"
9899
10246
  }, null) : void 0]) : void 0, (_a2 = slots.default) == null ? void 0 : _a2.call(slots), createVNode("div", {
9900
10247
  "class": "h-full flex items-center"
9901
- }, [search.value ? createVNode(_sfc_main$g, {
10248
+ }, [!topNavCollapsed.value && createVNode(Fragment, null, [search.value ? createVNode(_sfc_main$g, {
9902
10249
  "isModal": false
10250
+ }, null) : void 0, message.value ? createVNode(Message, {
10251
+ "class": "custom-hover cursor-pointer",
10252
+ "color": iconColor.value,
10253
+ "onMessageClick": props.onMessageClick
9903
10254
  }, null) : void 0, setting.value ? createVNode(Setting, {
9904
10255
  "class": "custom-hover cursor-pointer",
9905
- "color": "var(--top-header-text-color)",
10256
+ "color": iconColor.value,
9906
10257
  "onClearCacheLogoutClick": props.onClearCacheLogoutClick
9907
10258
  }, null) : void 0, locale.value ? createVNode(_sfc_main$l, {
9908
10259
  "class": "custom-hover",
9909
10260
  "color": "var(--top-header-text-color)"
9910
- }, null) : void 0, message.value ? createVNode(Message, {
10261
+ }, null) : void 0, createVNode("div", {
10262
+ "class": `h-12px mx-10px`,
10263
+ "style": `border-left: 1px solid ${iconColor.value}`
10264
+ }, null), createVNode(UserInfo, {
10265
+ "onLogoutClick": props.onLogoutClick,
10266
+ "onSwitchCompanyClick": props.onSwitchCompanyClick
10267
+ }, null)]), !topNavNormal.value && createVNode(Fragment, null, [!topNavCollapsed.value && createVNode("div", {
10268
+ "class": `h-12px mx-10px`,
10269
+ "style": `border-left: 1px solid ${iconColor.value}`
10270
+ }, null), createVNode(_sfc_main$h, {
9911
10271
  "class": "custom-hover cursor-pointer",
9912
- "color": "var(--top-header-text-color)",
9913
- "onMessageClick": props.onMessageClick
9914
- }, null) : void 0, createVNode(UserInfo, {
9915
- "onLogoutClick": props.onLogoutClick
9916
- }, null)])]);
10272
+ "color": iconColor.value
10273
+ }, null)])])]);
9917
10274
  };
9918
10275
  }
9919
10276
  });
9920
- const ToolHeader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-0b5dffd2"]]);
10277
+ const ToolHeader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-c654093f"]]);
9921
10278
  const {
9922
10279
  getPrefixCls: getPrefixCls$1
9923
10280
  } = useDesign();
9924
10281
  const prefixCls$1 = getPrefixCls$1("layout");
9925
10282
  const scrollRef = ref();
9926
- const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick) => {
10283
+ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick, onSwitchCompanyClick) => {
9927
10284
  const appStore = useAppStore();
9928
10285
  const permissionStore = usePermissionStore();
9929
10286
  const pageLoading = computed(() => appStore.getPageLoading);
@@ -9952,28 +10309,51 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
9952
10309
  });
9953
10310
  const zIndexClass = computed(() => {
9954
10311
  return {
9955
- "z-100": theme.value === "whiteLight"
10312
+ "z-2000": theme.value === "whiteLight"
9956
10313
  };
9957
10314
  });
10315
+ const topNav = computed(() => appStore.getTopNav);
10316
+ const topNavNormal = computed(() => topNav.value === "normal");
9958
10317
  const renderLeft = () => {
9959
- return createVNode(Fragment, null, [createVNode("div", {
9960
- "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]
10318
+ return createVNode(Fragment, null, [topNavNormal.value && createVNode("div", {
10319
+ "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],
10320
+ "style": "transition: all var(--transition-time-02);"
9961
10321
  }, [logo.value ? createVNode(_sfc_main$q, {
9962
10322
  "class": [{
9963
- "w-[var(--left-menu-min-width)]": appStore.getCollapse,
9964
- "w-[var(--left-menu-max-width)]": !appStore.getCollapse
10323
+ "w-[var(--left-menu-min-width)]": collapse.value,
10324
+ "w-[var(--left-menu-max-width)]": !collapse.value
9965
10325
  }],
9966
10326
  "onLogoClick": onLogoClick
9967
10327
  }, null) : void 0, createVNode(ToolHeader, {
9968
10328
  "class": "flex-1",
9969
10329
  "onMessageClick": onMessageClick,
9970
10330
  "onLogoutClick": onLogoutClick,
9971
- "onClearCacheLogoutClick": onClearCacheLogoutClick
10331
+ "onClearCacheLogoutClick": onClearCacheLogoutClick,
10332
+ "onSwitchCompanyClick": onSwitchCompanyClick
10333
+ }, null)]), createVNode("div", {
10334
+ "class": ["w-full flex", {
10335
+ "h-[calc(100%-var(--top-header-height))]": topNavNormal.value,
10336
+ "h-full": !topNavNormal.value
10337
+ }]
10338
+ }, [createVNode("div", null, [!topNavNormal.value && createVNode(Fragment, null, [logo.value ? createVNode(_sfc_main$q, {
10339
+ "class": ["relative bg-[linear-gradient(var(--top-header-bg-color))] shadow-[0px_2px_6px_0px_rgba(197,206,225,0.35)]", zIndexClass.value, {
10340
+ "w-[var(--left-menu-min-width)]": collapse.value,
10341
+ "w-[var(--left-menu-max-width)]": !collapse.value
10342
+ }],
10343
+ "onLogoClick": onLogoClick,
10344
+ "style": "transition: all var(--transition-time-02);"
10345
+ }, null) : void 0, createVNode(ToolHeader, {
10346
+ "class": "flex-1",
10347
+ "onMessageClick": onMessageClick,
10348
+ "onLogoutClick": onLogoutClick,
10349
+ "onClearCacheLogoutClick": onClearCacheLogoutClick,
10350
+ "onSwitchCompanyClick": onSwitchCompanyClick
10351
+ }, null)]), createVNode(Menu, {
10352
+ "class": ["relative layout-border__right", festivalMenuClass.value, {
10353
+ "!h-full": topNavNormal.value,
10354
+ "h-[calc(100%-var(--top-header-height))]": !topNavNormal.value
10355
+ }]
9972
10356
  }, null)]), createVNode("div", {
9973
- "class": "h-[calc(100%-var(--top-header-height))] w-full flex"
9974
- }, [createVNode(Menu, {
9975
- "class": ["relative layout-border__right !h-full", festivalMenuClass.value]
9976
- }, null), createVNode("div", {
9977
10357
  "class": [`${prefixCls$1}-content`, "h-[100%]", {
9978
10358
  "w-[calc(100%-var(--left-menu-min-width))] left-[var(--left-menu-min-width)]": collapse.value,
9979
10359
  "w-[calc(100%-var(--left-menu-max-width))] left-[var(--left-menu-max-width)]": !collapse.value
@@ -9983,12 +10363,14 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
9983
10363
  "class": [`${prefixCls$1}-content-scrollbar`, {
9984
10364
  "!h-[calc(100%-var(--tags-view-height))] mt-[calc(var(--tags-view-height))]": tagsView.value
9985
10365
  }],
9986
- "ref": scrollRef
10366
+ "ref": scrollRef,
10367
+ "style": "transition: all var(--transition-time-02);"
9987
10368
  }, {
9988
10369
  default: () => [tagsView.value ? createVNode(TagsView, {
9989
- "class": ["layout-border__bottom absolute", "!fixed top-0 left-0 z-10", {
9990
- "w-[calc(100%-var(--left-menu-min-width))] !left-[var(--left-menu-min-width)] mt-[var(--top-header-height)]": collapse.value,
9991
- "w-[calc(100%-var(--left-menu-max-width))] !left-[var(--left-menu-max-width)] mt-[var(--top-header-height)]": !collapse.value
10370
+ "class": ["layout-border__bottom", "!fixed top-0 left-0 z-10", {
10371
+ "w-[calc(100%-var(--left-menu-min-width))] !left-[var(--left-menu-min-width)]": collapse.value,
10372
+ "w-[calc(100%-var(--left-menu-max-width))] !left-[var(--left-menu-max-width)]": !collapse.value,
10373
+ "mt-[var(--top-header-height)]": topNavNormal.value
9992
10374
  }],
9993
10375
  "style": "transition: width var(--transition-time-02), left var(--transition-time-02);"
9994
10376
  }, null) : void 0, createVNode(_sfc_main$p, null, null)]
@@ -9996,30 +10378,26 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
9996
10378
  };
9997
10379
  const renderTop = () => {
9998
10380
  return createVNode(Fragment, null, [createVNode("div", {
9999
- "class": ["relative flex items-center justify-between bg-[linear-gradient(var(--top-header-bg-color))]", {
10381
+ "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", {
10000
10382
  "layout-border__bottom": !tagsView.value
10001
10383
  }, festivalTopClass.value]
10002
10384
  }, [logo.value ? createVNode(_sfc_main$q, {
10003
10385
  "class": ["w-[var(--left-menu-max-width)]"],
10004
10386
  "onLogoClick": onLogoClick
10005
- }, null) : void 0, createVNode(Menu, {
10006
- "class": "h-[var(--top-tool-height)] flex-1 px-10px"
10387
+ }, null) : void 0, tagsView.value && createVNode(TagsView, {
10388
+ "class": ["layout-border__bottom flex-1"]
10007
10389
  }, null), createVNode(ToolHeader, {
10008
10390
  "onMessageClick": onMessageClick,
10009
10391
  "onLogoutClick": onLogoutClick,
10010
- "onClearCacheLogoutClick": onClearCacheLogoutClick
10392
+ "onClearCacheLogoutClick": onClearCacheLogoutClick,
10393
+ "onSwitchCompanyClick": onSwitchCompanyClick
10011
10394
  }, null)]), createVNode("div", {
10012
10395
  "class": [`${prefixCls$1}-content`, "w-full h-[calc(100%-var(--top-tool-height))]"]
10013
10396
  }, [withDirectives(createVNode(ElScrollbar, {
10014
- "class": [`${prefixCls$1}-content-scrollbar`, {
10015
- "!h-[calc(100%-var(--tags-view-height))] mt-[calc(var(--tags-view-height))]": tagsView.value
10016
- }],
10397
+ "class": [`${prefixCls$1}-content-scrollbar`],
10017
10398
  "ref": scrollRef
10018
10399
  }, {
10019
- default: () => [tagsView.value ? createVNode(TagsView, {
10020
- "class": ["layout-border__bottom layout-border__top relative", "!fixed w-full top-[var(--top-tool-height)] left-0"],
10021
- "style": "transition: width var(--transition-time-02), left var(--transition-time-02);"
10022
- }, null) : void 0, createVNode(_sfc_main$p, null, null)]
10400
+ default: () => [createVNode(_sfc_main$p, null, null)]
10023
10401
  }), [[resolveDirective("loading"), pageLoading.value]])])]);
10024
10402
  };
10025
10403
  const renderTopLeft = () => {
@@ -10037,7 +10415,8 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
10037
10415
  "class": "flex-1",
10038
10416
  "onMessageClick": onMessageClick,
10039
10417
  "onLogoutClick": onLogoutClick,
10040
- "onClearCacheLogoutClick": onClearCacheLogoutClick
10418
+ "onClearCacheLogoutClick": onClearCacheLogoutClick,
10419
+ "onSwitchCompanyClick": onSwitchCompanyClick
10041
10420
  }, {
10042
10421
  default: () => createVNode(Menu, {
10043
10422
  "mode": "horizontal",
@@ -10084,13 +10463,13 @@ const {
10084
10463
  } = useDesign();
10085
10464
  const prefixCls = getPrefixCls("layout");
10086
10465
  const layoutScrollRef = ref();
10087
- const renderLayout = (layout, onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick) => {
10466
+ const renderLayout = (layout, onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick, onSwitchCompanyClick) => {
10088
10467
  const {
10089
10468
  renderLeft,
10090
10469
  renderTop,
10091
10470
  renderTopLeft,
10092
10471
  scrollRef: scrollRef2
10093
- } = useRenderLayout(onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick);
10472
+ } = useRenderLayout(onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick, onSwitchCompanyClick);
10094
10473
  layoutScrollRef.value = scrollRef2.value;
10095
10474
  switch (unref(layout)) {
10096
10475
  case "left":
@@ -10103,7 +10482,7 @@ const renderLayout = (layout, onLogoClick, onMessageClick, onLogoutClick, onClea
10103
10482
  };
10104
10483
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
10105
10484
  name: "Layout",
10106
- emits: ["logo-click", "message-click", "logout-click", "clear-cache-logout-click"],
10485
+ emits: ["logo-click", "message-click", "logout-click", "clear-cache-logout-click", "switch-company-click"],
10107
10486
  setup(props, {
10108
10487
  emit
10109
10488
  }) {
@@ -10123,12 +10502,15 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
10123
10502
  const handleClearCacheLogoutClick = () => {
10124
10503
  emit("clear-cache-logout-click");
10125
10504
  };
10505
+ const handleSwitchCompanyClick = (company) => {
10506
+ emit("switch-company-click", company);
10507
+ };
10126
10508
  return () => createVNode("section", {
10127
10509
  "class": [prefixCls, `${prefixCls}__${layout.value}`, "w-[100%] h-[100%] relative", `${prefixCls}__${theme.value}`]
10128
- }, [renderLayout(layout, handleLogoClick, handleMessageClick, handleLogoutClick, handleClearCacheLogoutClick), createVNode(_sfc_main$y, null, null)]);
10510
+ }, [renderLayout(layout, handleLogoClick, handleMessageClick, handleLogoutClick, handleClearCacheLogoutClick, handleSwitchCompanyClick), createVNode(_sfc_main$y, null, null)]);
10129
10511
  }
10130
10512
  });
10131
- const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-0fb07176"]]);
10513
+ const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-6f98299c"]]);
10132
10514
  const _sfc_main$d = {
10133
10515
  __name: "ConfigGlobal",
10134
10516
  props: {
@@ -10209,7 +10591,7 @@ const _sfc_main$c = /* @__PURE__ */ Object.assign({ name: "PageCard" }, {
10209
10591
  return openBlock(), createBlock(unref(ElCard), {
10210
10592
  "body-style": __props.bodyStyle,
10211
10593
  header: __props.title,
10212
- class: normalizeClass([unref(prefixCls2), "m-16px"])
10594
+ class: normalizeClass([unref(prefixCls2), "mx-16px my-16px"])
10213
10595
  }, {
10214
10596
  default: withCtx(() => [
10215
10597
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
@@ -10219,7 +10601,7 @@ const _sfc_main$c = /* @__PURE__ */ Object.assign({ name: "PageCard" }, {
10219
10601
  };
10220
10602
  }
10221
10603
  });
10222
- const PageCard = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-eb81072a"]]);
10604
+ const PageCard = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-f55a8642"]]);
10223
10605
  const _hoisted_1$5 = { class: "ml-2px" };
10224
10606
  const _hoisted_2$5 = { class: "flex items-center" };
10225
10607
  const _sfc_main$b = /* @__PURE__ */ Object.assign({ name: "PageNavBar" }, {
@@ -10285,7 +10667,7 @@ const _sfc_main$b = /* @__PURE__ */ Object.assign({ name: "PageNavBar" }, {
10285
10667
  };
10286
10668
  }
10287
10669
  });
10288
- const PageNavBar = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-0d587176"]]);
10670
+ const PageNavBar = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-17aee006"]]);
10289
10671
  const _sfc_main$a = /* @__PURE__ */ Object.assign({ name: "Badge" }, {
10290
10672
  __name: "Badge",
10291
10673
  props: {