bmp-layout 0.0.24 → 0.0.25-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bmp-layout.es.js +738 -365
- package/bmp-layout.umd.js +4 -4
- package/{en-BXmz6NO1.mjs → en-BLMsUBCM.mjs} +4 -3
- package/locales/en.js +6 -4
- package/locales/zh-CN.js +4 -3
- package/logo.svg +2 -25
- package/package.json +1 -1
- package/style.css +1 -1
- package/svgs/arrow-left.svg +3 -0
- package/svgs/arrow-right.svg +3 -0
- package/svgs/bar-chart.svg +5 -0
- package/svgs/bell.svg +3 -0
- package/svgs/branch.svg +4 -0
- package/svgs/clipboard.svg +4 -0
- package/svgs/company.svg +8 -0
- package/svgs/currency.svg +4 -0
- package/svgs/database.svg +4 -0
- package/svgs/document.svg +4 -0
- package/svgs/folder.svg +4 -0
- package/svgs/grid-view.svg +18 -0
- package/svgs/hexagon-node.svg +4 -0
- package/svgs/hexagon.svg +3 -0
- package/svgs/inbox.svg +4 -0
- package/svgs/inspur-xinlian.svg +7 -0
- package/svgs/list-view.svg +8 -0
- package/svgs/location.svg +4 -0
- package/svgs/logo.svg +2 -25
- package/svgs/menu-trigger-filled.svg +24 -0
- package/svgs/menu-trigger.svg +4 -3
- package/svgs/refresh.svg +3 -0
- package/svgs/secure-doc.svg +4 -0
- package/svgs/tag-close.svg +1 -1
- package/svgs/user.svg +4 -0
- package/svgs/zoom-in.svg +4 -0
- package/svgs/zoom-out.svg +3 -0
- package/{zh-CN-CY7gEVUl.mjs → zh-CN-i4M-o5m6.mjs} +4 -3
package/bmp-layout.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { openBlock, createBlock, unref, normalizeClass,
|
|
1
|
+
import { openBlock, createBlock, unref, normalizeClass, ref, computed, watch, withCtx, createElementBlock, createElementVNode, normalizeStyle, nextTick, createVNode, Fragment, resolveComponent, defineComponent, isVNode, renderList, createCommentVNode, createTextVNode, toDisplayString, renderSlot, onBeforeMount, onMounted, withModifiers, onUnmounted, Teleport, Transition, provide, KeepAlive, resolveDynamicComponent, TransitionGroup, mergeProps, isRef, withDirectives, resolveDirective, watchEffect, vShow, useSlots, useAttrs, createSlots, inject, onBeforeUnmount, reactive, onUpdated, render, useCssVars } from "vue";
|
|
2
2
|
import { createPinia, setActivePinia, defineStore } from "pinia";
|
|
3
3
|
import piniaPluginPersistedstate from "pinia-plugin-persistedstate";
|
|
4
4
|
import { cloneDeep, omit } from "lodash-es";
|
|
5
|
-
import { ElBacktop, ElIcon, ElMenuItem, ElSubMenu, ElScrollbar, ElMenu, ElDropdown, ElDropdownMenu, ElDropdownItem, ElInput, ElBadge, ElAvatar, ElBreadcrumb, ElBreadcrumbItem, ElDrawer, ElButton, ElMessage, ElConfigProvider, ElCard, ElPagination, ElDialog, ElAlert, ElAffix, ElImageViewer, ElMessageBox, ElNotification, ElUpload, ElLink, ElAutocomplete, ElButtonGroup, ElCarousel, ElCarouselItem, ElCollapse, ElCollapseItem, ElCollapseTransition, ElDivider, ElEmpty, ElOverlay, ElPageHeader, ElProgress, ElResult, ElSkeleton, ElSkeletonItem, ElSpace, ElTag, ElText, ElCascader, ElCascaderPanel, ElCheckbox, ElCheckboxButton, ElCheckboxGroup, ElColorPicker, ElDatePicker, ElForm, ElFormItem, ElInputNumber, ElInputTag, ElRadio, ElRadioButton, ElRadioGroup, ElRate, ElSelect, ElOption, ElOptionGroup, ElSelectV2, ElSlider, ElSwitch, ElTimePicker, ElTimeSelect, ElTransfer, ElTreeSelect, ElMention, ElCalendar, ElCheckTag, ElCountdown, ElDescriptions, ElDescriptionsItem, ElImage, ElStatistic, ElTable, ElTableColumn, ElTimeline, ElTimelineItem, ElTree, ElTreeV2, ElMenuItemGroup, ElTabs, ElTabPane,
|
|
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: "
|
|
400
|
+
leftMenuBgColor: "rgba(255,255,255,0.8)",
|
|
379
401
|
// 左侧菜单项选中颜色
|
|
380
402
|
leftMenuItemBgActiveColor: "rgba(36,104,242,1)",
|
|
381
403
|
// 左侧菜单项移入颜色
|
|
382
|
-
leftMenuItemBgHoverColor: "
|
|
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
|
-
|
|
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
|
|
807
|
-
|
|
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.
|
|
1112
|
-
const findRouter = this.getRoleRouters.find((router) => router.id === menuId);
|
|
1197
|
+
const findRouter = findRouterBy(this.getRoleRouters, "id", menuId);
|
|
1113
1198
|
if (findRouter) {
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
this.moduleRouters =
|
|
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
|
|
1216
|
+
const findRouter = findRouterBy(this.getRoleRouters, "moduleCode", moduleCode);
|
|
1134
1217
|
if (findRouter) {
|
|
1135
1218
|
this.moduleId = findRouter.id;
|
|
1136
|
-
|
|
1137
|
-
|
|
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$
|
|
3493
|
-
const _hoisted_2$
|
|
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$
|
|
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$
|
|
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
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
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)}`, "
|
|
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()]),
|
|
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-
|
|
3961
|
+
const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-ca95b9cd"]]);
|
|
3883
3962
|
var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
|
|
3884
3963
|
function int2char(n2) {
|
|
3885
3964
|
return BI_RM.charAt(n2);
|
|
@@ -7535,10 +7614,15 @@ const useUserStore = defineStore("layout-user", {
|
|
|
7535
7614
|
avatar: "",
|
|
7536
7615
|
nickname: "",
|
|
7537
7616
|
deptId: 0,
|
|
7617
|
+
deptName: "",
|
|
7538
7618
|
mobile: "",
|
|
7539
7619
|
email: "",
|
|
7540
|
-
username: ""
|
|
7541
|
-
|
|
7620
|
+
username: "",
|
|
7621
|
+
orgId: "",
|
|
7622
|
+
orgName: ""
|
|
7623
|
+
},
|
|
7624
|
+
// 公司列表
|
|
7625
|
+
companyList: []
|
|
7542
7626
|
}),
|
|
7543
7627
|
getters: {
|
|
7544
7628
|
getPermissions() {
|
|
@@ -7556,6 +7640,9 @@ const useUserStore = defineStore("layout-user", {
|
|
|
7556
7640
|
getUserInfo() {
|
|
7557
7641
|
const userInfo = wsCache$1.get(CACHE_KEY.USER);
|
|
7558
7642
|
return userInfo;
|
|
7643
|
+
},
|
|
7644
|
+
getCompanyList() {
|
|
7645
|
+
return this.companyList;
|
|
7559
7646
|
}
|
|
7560
7647
|
},
|
|
7561
7648
|
actions: {
|
|
@@ -7592,6 +7679,10 @@ const useUserStore = defineStore("layout-user", {
|
|
|
7592
7679
|
userInfo.user.email = user.email;
|
|
7593
7680
|
wsCache$1.set(CACHE_KEY.USER, userInfo);
|
|
7594
7681
|
},
|
|
7682
|
+
// 更新用户企业列表信息
|
|
7683
|
+
setCompanyListAction(companyList) {
|
|
7684
|
+
this.companyList = companyList || [];
|
|
7685
|
+
},
|
|
7595
7686
|
async loginOut() {
|
|
7596
7687
|
removeToken();
|
|
7597
7688
|
deleteUserCache();
|
|
@@ -7978,9 +8069,9 @@ function useScrollTo({
|
|
|
7978
8069
|
}
|
|
7979
8070
|
return { start: run, stop };
|
|
7980
8071
|
}
|
|
7981
|
-
const _hoisted_1$
|
|
7982
|
-
const _hoisted_2$
|
|
7983
|
-
const _hoisted_3$
|
|
8072
|
+
const _hoisted_1$c = ["id"];
|
|
8073
|
+
const _hoisted_2$a = { class: "flex-1 overflow-hidden px-16px" };
|
|
8074
|
+
const _hoisted_3$9 = { class: "h-[var(--tags-view-height)] flex" };
|
|
7984
8075
|
const _hoisted_4$8 = ["onClick"];
|
|
7985
8076
|
const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
7986
8077
|
__name: "TagsView",
|
|
@@ -8058,6 +8149,7 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8058
8149
|
const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
|
|
8059
8150
|
if (!wrap$)
|
|
8060
8151
|
return;
|
|
8152
|
+
scrollStopFn == null ? void 0 : scrollStopFn();
|
|
8061
8153
|
let firstTag = null;
|
|
8062
8154
|
let lastTag = null;
|
|
8063
8155
|
const tagList = unref(tagLinksRefs);
|
|
@@ -8066,12 +8158,22 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8066
8158
|
lastTag = tagList[tagList.length - 1];
|
|
8067
8159
|
}
|
|
8068
8160
|
if ((firstTag == null ? void 0 : firstTag.to).fullPath === currentTag.fullPath) {
|
|
8069
|
-
const { start } = useScrollTo({
|
|
8161
|
+
const { start, stop } = useScrollTo({
|
|
8070
8162
|
el: wrap$,
|
|
8071
8163
|
position: "scrollLeft",
|
|
8072
8164
|
to: 0,
|
|
8073
8165
|
duration: 500
|
|
8074
8166
|
});
|
|
8167
|
+
scrollStopFn = stop;
|
|
8168
|
+
start();
|
|
8169
|
+
} else if ((lastTag == null ? void 0 : lastTag.to).fullPath === currentTag.fullPath) {
|
|
8170
|
+
const { start, stop } = useScrollTo({
|
|
8171
|
+
el: wrap$,
|
|
8172
|
+
position: "scrollLeft",
|
|
8173
|
+
to: wrap$.scrollWidth - wrap$.offsetWidth,
|
|
8174
|
+
duration: 500
|
|
8175
|
+
});
|
|
8176
|
+
scrollStopFn = stop;
|
|
8075
8177
|
start();
|
|
8076
8178
|
} else if ((lastTag == null ? void 0 : lastTag.to).fullPath === currentTag.fullPath) {
|
|
8077
8179
|
const { start } = useScrollTo({
|
|
@@ -8082,9 +8184,7 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8082
8184
|
});
|
|
8083
8185
|
start();
|
|
8084
8186
|
} else {
|
|
8085
|
-
const currentIndex = tagList.findIndex(
|
|
8086
|
-
(item) => (item == null ? void 0 : item.to).fullPath === currentTag.fullPath
|
|
8087
|
-
);
|
|
8187
|
+
const currentIndex = tagList.findIndex((item) => (item == null ? void 0 : item.to).fullPath === currentTag.fullPath);
|
|
8088
8188
|
const tgsRefs = document.getElementsByClassName(`${prefixCls2}__item`);
|
|
8089
8189
|
const prevTag = tgsRefs[currentIndex - 1];
|
|
8090
8190
|
const nextTag = tgsRefs[currentIndex + 1];
|
|
@@ -8093,20 +8193,22 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8093
8193
|
const afterNextTagOffsetLeft = nextTag.offsetLeft + nextTag.offsetWidth;
|
|
8094
8194
|
const beforePrevTagOffsetLeft = prevTag.offsetLeft;
|
|
8095
8195
|
if (afterNextTagOffsetLeft > unref(scrollLeftNumber) + wrap$.offsetWidth) {
|
|
8096
|
-
const { start } = useScrollTo({
|
|
8196
|
+
const { start, stop } = useScrollTo({
|
|
8097
8197
|
el: wrap$,
|
|
8098
8198
|
position: "scrollLeft",
|
|
8099
8199
|
to: afterNextTagOffsetLeft - wrap$.offsetWidth,
|
|
8100
8200
|
duration: 500
|
|
8101
8201
|
});
|
|
8202
|
+
scrollStopFn = stop;
|
|
8102
8203
|
start();
|
|
8103
8204
|
} else if (beforePrevTagOffsetLeft < unref(scrollLeftNumber)) {
|
|
8104
|
-
const { start } = useScrollTo({
|
|
8205
|
+
const { start, stop } = useScrollTo({
|
|
8105
8206
|
el: wrap$,
|
|
8106
8207
|
position: "scrollLeft",
|
|
8107
8208
|
to: beforePrevTagOffsetLeft,
|
|
8108
8209
|
duration: 500
|
|
8109
8210
|
});
|
|
8211
|
+
scrollStopFn = stop;
|
|
8110
8212
|
start();
|
|
8111
8213
|
}
|
|
8112
8214
|
}
|
|
@@ -8119,13 +8221,51 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8119
8221
|
};
|
|
8120
8222
|
const scrollbarRef = ref();
|
|
8121
8223
|
const scrollLeftNumber = ref(0);
|
|
8122
|
-
const
|
|
8224
|
+
const showLeftArrow = ref(false);
|
|
8225
|
+
const showRightArrow = ref(false);
|
|
8226
|
+
let scrollStopFn = null;
|
|
8227
|
+
const checkArrows = () => {
|
|
8228
|
+
var _a2;
|
|
8229
|
+
const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
|
|
8230
|
+
if (!wrap$)
|
|
8231
|
+
return;
|
|
8232
|
+
const { scrollLeft, scrollWidth, offsetWidth } = wrap$;
|
|
8233
|
+
showLeftArrow.value = scrollLeft > 0;
|
|
8234
|
+
showRightArrow.value = scrollLeft < scrollWidth - offsetWidth - 1;
|
|
8235
|
+
};
|
|
8236
|
+
const handleScroll = ({ scrollLeft }) => {
|
|
8123
8237
|
scrollLeftNumber.value = scrollLeft;
|
|
8238
|
+
checkArrows();
|
|
8239
|
+
};
|
|
8240
|
+
const handleScrollLeft = () => {
|
|
8241
|
+
var _a2;
|
|
8242
|
+
const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
|
|
8243
|
+
if (wrap$) {
|
|
8244
|
+
wrap$.scrollTo({
|
|
8245
|
+
left: Math.max(0, wrap$.scrollLeft - 300),
|
|
8246
|
+
behavior: "smooth"
|
|
8247
|
+
});
|
|
8248
|
+
}
|
|
8249
|
+
};
|
|
8250
|
+
const handleScrollRight = () => {
|
|
8251
|
+
var _a2;
|
|
8252
|
+
const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
|
|
8253
|
+
if (wrap$) {
|
|
8254
|
+
wrap$.scrollTo({
|
|
8255
|
+
left: wrap$.scrollLeft + 300,
|
|
8256
|
+
behavior: "smooth"
|
|
8257
|
+
});
|
|
8258
|
+
}
|
|
8124
8259
|
};
|
|
8125
8260
|
onBeforeMount(() => {
|
|
8126
8261
|
initTags();
|
|
8127
8262
|
addTags();
|
|
8128
8263
|
});
|
|
8264
|
+
onMounted(() => {
|
|
8265
|
+
nextTick(() => {
|
|
8266
|
+
checkArrows();
|
|
8267
|
+
});
|
|
8268
|
+
});
|
|
8129
8269
|
watch(
|
|
8130
8270
|
() => currentRoute.value,
|
|
8131
8271
|
() => {
|
|
@@ -8138,17 +8278,28 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8138
8278
|
const _component_router_link = resolveComponent("router-link");
|
|
8139
8279
|
return openBlock(), createElementBlock("div", {
|
|
8140
8280
|
id: unref(prefixCls2),
|
|
8141
|
-
class: normalizeClass([unref(prefixCls2), "relative
|
|
8281
|
+
class: normalizeClass([unref(prefixCls2), "relative flex items-center"])
|
|
8142
8282
|
}, [
|
|
8143
|
-
|
|
8283
|
+
unref(showLeftArrow) ? (openBlock(), createElementBlock("div", {
|
|
8284
|
+
key: 0,
|
|
8285
|
+
class: normalizeClass(`${unref(prefixCls2)}__arrow ${unref(prefixCls2)}__arrow--left`),
|
|
8286
|
+
onClick: handleScrollLeft
|
|
8287
|
+
}, [
|
|
8288
|
+
createVNode(_component_Icon, {
|
|
8289
|
+
icon: "lucide:chevron-left",
|
|
8290
|
+
size: 16,
|
|
8291
|
+
color: "#a4aec4ff"
|
|
8292
|
+
})
|
|
8293
|
+
], 2)) : createCommentVNode("", true),
|
|
8294
|
+
createElementVNode("div", _hoisted_2$a, [
|
|
8144
8295
|
createVNode(unref(ElScrollbar), {
|
|
8145
8296
|
ref_key: "scrollbarRef",
|
|
8146
8297
|
ref: scrollbarRef,
|
|
8147
8298
|
class: "h-full",
|
|
8148
|
-
onScroll:
|
|
8299
|
+
onScroll: handleScroll
|
|
8149
8300
|
}, {
|
|
8150
8301
|
default: withCtx(() => [
|
|
8151
|
-
createElementVNode("div", _hoisted_3$
|
|
8302
|
+
createElementVNode("div", _hoisted_3$9, [
|
|
8152
8303
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(visitedViews), (item) => {
|
|
8153
8304
|
var _a2, _b, _c, _d, _e, _f;
|
|
8154
8305
|
return openBlock(), createBlock(unref(_sfc_main$u), {
|
|
@@ -8208,18 +8359,21 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8208
8359
|
var _a3, _b2;
|
|
8209
8360
|
return [
|
|
8210
8361
|
createElementVNode("div", {
|
|
8211
|
-
class: normalizeClass(`h-full flex items-center justify-center gap-
|
|
8362
|
+
class: normalizeClass(`h-full flex items-center justify-center gap-16px whitespace-nowrap ${unref(prefixCls2)}__item--label`),
|
|
8212
8363
|
onClick: navigate
|
|
8213
8364
|
}, [
|
|
8214
8365
|
createElementVNode("span", null, toDisplayString(unref(t2)((_a3 = item == null ? void 0 : item.meta) == null ? void 0 : _a3.title)), 1),
|
|
8215
|
-
((_b2 = unref(visitedViews)) == null ? void 0 : _b2.length) > 1 ? (openBlock(),
|
|
8216
|
-
|
|
8217
|
-
|
|
8218
|
-
|
|
8219
|
-
|
|
8220
|
-
|
|
8221
|
-
|
|
8222
|
-
|
|
8366
|
+
((_b2 = unref(visitedViews)) == null ? void 0 : _b2.length) > 1 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
8367
|
+
createVNode(_component_Icon, {
|
|
8368
|
+
class: normalizeClass(`${unref(prefixCls2)}__item--close`),
|
|
8369
|
+
size: 8,
|
|
8370
|
+
icon: "svg-icon:tag-close",
|
|
8371
|
+
onClick: withModifiers(($event) => closeSelectedTag(item), ["prevent", "stop"])
|
|
8372
|
+
}, null, 8, ["class", "onClick"]),
|
|
8373
|
+
createElementVNode("span", {
|
|
8374
|
+
class: normalizeClass(`${unref(prefixCls2)}__item--dot`)
|
|
8375
|
+
}, null, 2)
|
|
8376
|
+
], 64)) : createCommentVNode("", true)
|
|
8223
8377
|
], 10, _hoisted_4$8)
|
|
8224
8378
|
];
|
|
8225
8379
|
}),
|
|
@@ -8234,12 +8388,23 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8234
8388
|
]),
|
|
8235
8389
|
_: 1
|
|
8236
8390
|
}, 512)
|
|
8237
|
-
])
|
|
8238
|
-
|
|
8391
|
+
]),
|
|
8392
|
+
unref(showRightArrow) ? (openBlock(), createElementBlock("div", {
|
|
8393
|
+
key: 1,
|
|
8394
|
+
class: normalizeClass(`${unref(prefixCls2)}__arrow ${unref(prefixCls2)}__arrow--right`),
|
|
8395
|
+
onClick: handleScrollRight
|
|
8396
|
+
}, [
|
|
8397
|
+
createVNode(_component_Icon, {
|
|
8398
|
+
icon: "lucide:chevron-right",
|
|
8399
|
+
size: 16,
|
|
8400
|
+
color: "#7d8595ff"
|
|
8401
|
+
})
|
|
8402
|
+
], 2)) : createCommentVNode("", true)
|
|
8403
|
+
], 10, _hoisted_1$c);
|
|
8239
8404
|
};
|
|
8240
8405
|
}
|
|
8241
8406
|
});
|
|
8242
|
-
const TagsView = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-
|
|
8407
|
+
const TagsView = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-fb8d3778"]]);
|
|
8243
8408
|
const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
|
|
8244
8409
|
__name: "MenuTrigger",
|
|
8245
8410
|
props: {
|
|
@@ -8250,9 +8415,12 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
|
|
|
8250
8415
|
},
|
|
8251
8416
|
emits: ["click", "toggle"],
|
|
8252
8417
|
setup(__props, { emit: __emit }) {
|
|
8418
|
+
const appStore = useAppStore();
|
|
8253
8419
|
const { getPrefixCls: getPrefixCls2 } = useDesign();
|
|
8254
8420
|
const prefixCls2 = getPrefixCls2("menu-trigger");
|
|
8255
8421
|
const props = __props;
|
|
8422
|
+
const theme = computed(() => appStore.getTheme);
|
|
8423
|
+
const triggerIcon = computed(() => props.active ? "ant-design:close-outlined" : theme.value === "whiteLight" ? "svg-icon:menu-trigger-filled" : "svg-icon:menu-trigger");
|
|
8256
8424
|
const emit = __emit;
|
|
8257
8425
|
const handleClick = () => {
|
|
8258
8426
|
emit("click");
|
|
@@ -8265,7 +8433,7 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
|
|
|
8265
8433
|
onClick: handleClick
|
|
8266
8434
|
}, [
|
|
8267
8435
|
createVNode(_component_Icon, {
|
|
8268
|
-
icon:
|
|
8436
|
+
icon: unref(triggerIcon),
|
|
8269
8437
|
svgClass: "!w-full !h-full",
|
|
8270
8438
|
class: normalizeClass(["!w-18px", "!h-18px", "icon-color"])
|
|
8271
8439
|
}, null, 8, ["icon"])
|
|
@@ -8273,13 +8441,12 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
|
|
|
8273
8441
|
};
|
|
8274
8442
|
}
|
|
8275
8443
|
});
|
|
8276
|
-
const MenuTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-
|
|
8277
|
-
const _hoisted_1$
|
|
8278
|
-
const _hoisted_2$
|
|
8279
|
-
const _hoisted_3$
|
|
8444
|
+
const MenuTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-aedf94f7"]]);
|
|
8445
|
+
const _hoisted_1$b = { class: "sidebar-inner" };
|
|
8446
|
+
const _hoisted_2$9 = ["onClick"];
|
|
8447
|
+
const _hoisted_3$8 = ["onClick"];
|
|
8280
8448
|
const _hoisted_4$7 = ["onClick"];
|
|
8281
|
-
const _hoisted_5$
|
|
8282
|
-
const _hoisted_6$4 = { key: 1 };
|
|
8449
|
+
const _hoisted_5$6 = ["onClick"];
|
|
8283
8450
|
const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel" }, {
|
|
8284
8451
|
__name: "ProductServicePanel",
|
|
8285
8452
|
props: {
|
|
@@ -8320,11 +8487,15 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8320
8487
|
}, 300);
|
|
8321
8488
|
}
|
|
8322
8489
|
});
|
|
8323
|
-
const
|
|
8490
|
+
const activeProductIndex = ref(0);
|
|
8491
|
+
const activeModuleIndex = ref(0);
|
|
8324
8492
|
const routers = computed(() => permissionStore.getRoleRouters);
|
|
8493
|
+
const productMenuRouters = computed(() => {
|
|
8494
|
+
return (routers.value || []).filter((item) => item.type === 10);
|
|
8495
|
+
});
|
|
8325
8496
|
const filteredMenus = computed(() => {
|
|
8326
8497
|
const keyword = debouncedKeyword.value.toLowerCase().trim();
|
|
8327
|
-
const items =
|
|
8498
|
+
const items = productMenuRouters.value;
|
|
8328
8499
|
if (!items || !Array.isArray(items))
|
|
8329
8500
|
return [];
|
|
8330
8501
|
const filterFn = (list) => {
|
|
@@ -8345,7 +8516,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8345
8516
|
};
|
|
8346
8517
|
return filterFn(items);
|
|
8347
8518
|
});
|
|
8348
|
-
const
|
|
8519
|
+
const productList = computed(() => {
|
|
8349
8520
|
return filteredMenus.value.map((menu) => {
|
|
8350
8521
|
var _a2;
|
|
8351
8522
|
return {
|
|
@@ -8358,11 +8529,34 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8358
8529
|
};
|
|
8359
8530
|
});
|
|
8360
8531
|
});
|
|
8361
|
-
const
|
|
8362
|
-
if (
|
|
8532
|
+
const activeProduct = computed(() => {
|
|
8533
|
+
if (productList.value.length === 0)
|
|
8534
|
+
return null;
|
|
8535
|
+
return productList.value[activeProductIndex.value] || null;
|
|
8536
|
+
});
|
|
8537
|
+
const activeModules = computed(() => {
|
|
8538
|
+
var _a2;
|
|
8539
|
+
return ((_a2 = activeProduct.value) == null ? void 0 : _a2.children) || [];
|
|
8540
|
+
});
|
|
8541
|
+
const activeModule = computed(() => {
|
|
8542
|
+
if (activeModules.value.length === 0)
|
|
8543
|
+
return null;
|
|
8544
|
+
return activeModules.value[activeModuleIndex.value] || null;
|
|
8545
|
+
});
|
|
8546
|
+
const contentGroups = computed(() => {
|
|
8547
|
+
if (!activeModule.value)
|
|
8363
8548
|
return [];
|
|
8364
|
-
const
|
|
8365
|
-
return (
|
|
8549
|
+
const thirdMenus = (activeModule.value.children || []).filter(isVisible);
|
|
8550
|
+
return thirdMenus.map((third) => ({
|
|
8551
|
+
id: third.id,
|
|
8552
|
+
title: getMenuTitle(third),
|
|
8553
|
+
path: third.path,
|
|
8554
|
+
items: (third.children || []).filter(isVisible).map((fourth) => ({
|
|
8555
|
+
id: fourth.id,
|
|
8556
|
+
title: getMenuTitle(fourth),
|
|
8557
|
+
path: fourth.path
|
|
8558
|
+
}))
|
|
8559
|
+
}));
|
|
8366
8560
|
});
|
|
8367
8561
|
const joinPath = (...paths) => {
|
|
8368
8562
|
return paths.filter(Boolean).reduce((result, path) => {
|
|
@@ -8388,19 +8582,20 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8388
8582
|
clearTimeout(debounceTimer);
|
|
8389
8583
|
searchKeyword.value = "";
|
|
8390
8584
|
debouncedKeyword.value = "";
|
|
8391
|
-
|
|
8585
|
+
activeProductIndex.value = 0;
|
|
8586
|
+
activeModuleIndex.value = 0;
|
|
8392
8587
|
};
|
|
8393
8588
|
const handleSelect = (item, parentPath = "") => {
|
|
8394
|
-
var _a2, _b;
|
|
8589
|
+
var _a2, _b, _c, _d;
|
|
8395
8590
|
const fullPath = getAccessiblePath(item, parentPath);
|
|
8396
8591
|
if (fullPath) {
|
|
8397
8592
|
const currentModuleId = permissionStore.getModuleId;
|
|
8398
|
-
const selectedModuleId = (_a2 =
|
|
8593
|
+
const selectedModuleId = (_b = (_a2 = productList.value[activeProductIndex.value]) == null ? void 0 : _a2.children[activeModuleIndex.value]) == null ? void 0 : _b.id;
|
|
8399
8594
|
if (selectedModuleId === currentModuleId) {
|
|
8400
8595
|
router.push(fullPath.startsWith("/") ? fullPath : `/${fullPath}`);
|
|
8401
8596
|
} else {
|
|
8402
8597
|
const currentOrigin = window.location.origin;
|
|
8403
|
-
const modulePath = ((
|
|
8598
|
+
const modulePath = ((_d = (_c = productList.value[activeProductIndex.value]) == null ? void 0 : _c.children[activeModuleIndex.value]) == null ? void 0 : _d.modulePath) || "";
|
|
8404
8599
|
const moduleFullPath = joinPath(modulePath, fullPath);
|
|
8405
8600
|
const targetUrl = `${currentOrigin}${moduleFullPath.startsWith("/") ? moduleFullPath : `/${moduleFullPath}`}`;
|
|
8406
8601
|
window.location.href = targetUrl;
|
|
@@ -8408,38 +8603,64 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8408
8603
|
closePanel();
|
|
8409
8604
|
}
|
|
8410
8605
|
};
|
|
8411
|
-
const
|
|
8412
|
-
|
|
8606
|
+
const handleProductSelect = (index) => {
|
|
8607
|
+
activeProductIndex.value = index;
|
|
8608
|
+
activeModuleIndex.value = 0;
|
|
8413
8609
|
};
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
|
|
8417
|
-
|
|
8418
|
-
|
|
8419
|
-
|
|
8420
|
-
|
|
8421
|
-
|
|
8422
|
-
|
|
8423
|
-
|
|
8424
|
-
|
|
8425
|
-
|
|
8426
|
-
|
|
8427
|
-
|
|
8428
|
-
|
|
8610
|
+
const handleModuleSelect = (index) => {
|
|
8611
|
+
activeModuleIndex.value = index;
|
|
8612
|
+
};
|
|
8613
|
+
const handleItemClick = (fourthItem, group) => {
|
|
8614
|
+
var _a2, _b;
|
|
8615
|
+
const parentPath = joinPath((_a2 = activeProduct.value) == null ? void 0 : _a2.path, (_b = activeModule.value) == null ? void 0 : _b.path, group.path);
|
|
8616
|
+
handleSelect(fourthItem, parentPath);
|
|
8617
|
+
};
|
|
8618
|
+
const handleGroupClick = (group) => {
|
|
8619
|
+
var _a2, _b;
|
|
8620
|
+
const parentPath = joinPath((_a2 = activeProduct.value) == null ? void 0 : _a2.path, (_b = activeModule.value) == null ? void 0 : _b.path);
|
|
8621
|
+
handleSelect({ path: group.path, children: [] }, parentPath);
|
|
8622
|
+
};
|
|
8623
|
+
const syncActiveSelection = () => {
|
|
8624
|
+
const currentModuleId = permissionStore.getModuleId;
|
|
8625
|
+
if (!currentModuleId)
|
|
8626
|
+
return false;
|
|
8627
|
+
for (let pIndex = 0; pIndex < productList.value.length; pIndex++) {
|
|
8628
|
+
const mIndex = productList.value[pIndex].children.findIndex(
|
|
8629
|
+
(mod) => mod.id === currentModuleId
|
|
8630
|
+
);
|
|
8631
|
+
if (mIndex !== -1) {
|
|
8632
|
+
activeProductIndex.value = pIndex;
|
|
8633
|
+
activeModuleIndex.value = mIndex;
|
|
8634
|
+
return true;
|
|
8429
8635
|
}
|
|
8430
8636
|
}
|
|
8431
|
-
|
|
8432
|
-
|
|
8433
|
-
|
|
8434
|
-
|
|
8435
|
-
|
|
8436
|
-
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
(_a2 = searchInputRef.value) == null ? void 0 : _a2.focus();
|
|
8440
|
-
});
|
|
8637
|
+
return false;
|
|
8638
|
+
};
|
|
8639
|
+
watch(productList, () => {
|
|
8640
|
+
if (!syncActiveSelection()) {
|
|
8641
|
+
if (activeProductIndex.value >= productList.value.length) {
|
|
8642
|
+
activeProductIndex.value = 0;
|
|
8643
|
+
}
|
|
8644
|
+
activeModuleIndex.value = 0;
|
|
8441
8645
|
}
|
|
8442
8646
|
});
|
|
8647
|
+
watch(
|
|
8648
|
+
() => props.visible,
|
|
8649
|
+
(val) => {
|
|
8650
|
+
if (val) {
|
|
8651
|
+
searchKeyword.value = "";
|
|
8652
|
+
debouncedKeyword.value = "";
|
|
8653
|
+
if (!syncActiveSelection()) {
|
|
8654
|
+
activeProductIndex.value = 0;
|
|
8655
|
+
activeModuleIndex.value = 0;
|
|
8656
|
+
}
|
|
8657
|
+
nextTick(() => {
|
|
8658
|
+
var _a2;
|
|
8659
|
+
(_a2 = searchInputRef.value) == null ? void 0 : _a2.focus();
|
|
8660
|
+
});
|
|
8661
|
+
}
|
|
8662
|
+
}
|
|
8663
|
+
);
|
|
8443
8664
|
const handleKeydown = (e2) => {
|
|
8444
8665
|
if (e2.key === "Escape" && props.visible) {
|
|
8445
8666
|
closePanel();
|
|
@@ -8473,22 +8694,43 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8473
8694
|
createElementVNode("div", {
|
|
8474
8695
|
class: normalizeClass([unref(prefixCls2) + "__sidebar-title"])
|
|
8475
8696
|
}, [
|
|
8476
|
-
createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.
|
|
8697
|
+
createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.productNavigation")), 1)
|
|
8477
8698
|
], 2),
|
|
8478
8699
|
createVNode(unref(ElScrollbar), null, {
|
|
8479
8700
|
default: withCtx(() => [
|
|
8480
|
-
createElementVNode("div", _hoisted_1$
|
|
8481
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
8701
|
+
createElementVNode("div", _hoisted_1$b, [
|
|
8702
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(productList.value, (product, pIndex) => {
|
|
8482
8703
|
return openBlock(), createElementBlock("div", {
|
|
8483
|
-
key:
|
|
8704
|
+
key: product.id || pIndex,
|
|
8484
8705
|
class: normalizeClass([
|
|
8485
|
-
unref(prefixCls2) + "
|
|
8486
|
-
{ "is-active":
|
|
8706
|
+
unref(prefixCls2) + "__product-card",
|
|
8707
|
+
{ "is-active": activeProductIndex.value === pIndex }
|
|
8487
8708
|
]),
|
|
8488
|
-
onClick: ($event) =>
|
|
8709
|
+
onClick: ($event) => handleProductSelect(pIndex)
|
|
8489
8710
|
}, [
|
|
8490
|
-
createElementVNode("
|
|
8491
|
-
|
|
8711
|
+
createElementVNode("div", {
|
|
8712
|
+
class: normalizeClass([unref(prefixCls2) + "__product-name"])
|
|
8713
|
+
}, [
|
|
8714
|
+
createElementVNode("span", null, toDisplayString(product.title), 1)
|
|
8715
|
+
], 2),
|
|
8716
|
+
product.children.length > 0 ? (openBlock(), createElementBlock("div", {
|
|
8717
|
+
key: 0,
|
|
8718
|
+
class: normalizeClass([unref(prefixCls2) + "__product-modules"])
|
|
8719
|
+
}, [
|
|
8720
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(product.children, (mod, mIndex) => {
|
|
8721
|
+
return openBlock(), createElementBlock("span", {
|
|
8722
|
+
key: mod.id || mIndex,
|
|
8723
|
+
class: normalizeClass([
|
|
8724
|
+
unref(prefixCls2) + "__module-tag",
|
|
8725
|
+
{
|
|
8726
|
+
"is-active": activeProductIndex.value === pIndex && activeModuleIndex.value === mIndex
|
|
8727
|
+
}
|
|
8728
|
+
]),
|
|
8729
|
+
onClick: withModifiers(($event) => (handleProductSelect(pIndex), handleModuleSelect(mIndex)), ["stop"])
|
|
8730
|
+
}, toDisplayString(getMenuTitle(mod)), 11, _hoisted_3$8);
|
|
8731
|
+
}), 128))
|
|
8732
|
+
], 2)) : createCommentVNode("", true)
|
|
8733
|
+
], 10, _hoisted_2$9);
|
|
8492
8734
|
}), 128))
|
|
8493
8735
|
])
|
|
8494
8736
|
]),
|
|
@@ -8533,60 +8775,38 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8533
8775
|
createElementVNode("div", {
|
|
8534
8776
|
class: normalizeClass([unref(prefixCls2) + "__grid-container"])
|
|
8535
8777
|
}, [
|
|
8536
|
-
|
|
8778
|
+
contentGroups.value.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(contentGroups.value, (group) => {
|
|
8537
8779
|
return openBlock(), createElementBlock("div", {
|
|
8538
|
-
key:
|
|
8539
|
-
class: normalizeClass([unref(prefixCls2) + "
|
|
8780
|
+
key: group.id || group.title,
|
|
8781
|
+
class: normalizeClass([unref(prefixCls2) + "__group"])
|
|
8540
8782
|
}, [
|
|
8541
8783
|
createElementVNode("div", {
|
|
8542
|
-
class: normalizeClass([unref(prefixCls2) + "
|
|
8784
|
+
class: normalizeClass([unref(prefixCls2) + "__group-title"])
|
|
8543
8785
|
}, [
|
|
8544
|
-
createElementVNode("span", null, toDisplayString(
|
|
8786
|
+
createElementVNode("span", null, toDisplayString(group.title), 1)
|
|
8545
8787
|
], 2),
|
|
8546
8788
|
createElementVNode("div", {
|
|
8547
|
-
class: normalizeClass([unref(prefixCls2) + "
|
|
8789
|
+
class: normalizeClass([unref(prefixCls2) + "__group-grid"])
|
|
8548
8790
|
}, [
|
|
8549
|
-
|
|
8791
|
+
group.items.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(group.items, (item) => {
|
|
8550
8792
|
return openBlock(), createElementBlock("div", {
|
|
8551
|
-
key:
|
|
8552
|
-
class: normalizeClass([unref(prefixCls2) + "
|
|
8553
|
-
onClick: ($event) =>
|
|
8554
|
-
var _a2;
|
|
8555
|
-
return handleSelect(thirdMenu, joinPath((_a2 = groupedMenus.value[activeCategory.value]) == null ? void 0 : _a2.path, secondMenu.path));
|
|
8556
|
-
}
|
|
8793
|
+
key: item.id || item.path,
|
|
8794
|
+
class: normalizeClass([unref(prefixCls2) + "__group-item"]),
|
|
8795
|
+
onClick: ($event) => handleItemClick(item, group)
|
|
8557
8796
|
}, [
|
|
8558
|
-
createElementVNode("span", null, toDisplayString(
|
|
8559
|
-
], 10,
|
|
8797
|
+
createElementVNode("span", null, toDisplayString(item.title), 1)
|
|
8798
|
+
], 10, _hoisted_4$7);
|
|
8560
8799
|
}), 128)) : (openBlock(), createElementBlock("div", {
|
|
8561
8800
|
key: 1,
|
|
8562
|
-
class: normalizeClass([
|
|
8563
|
-
|
|
8564
|
-
{ [unref(prefixCls2) + "__column-item--disabled"]: secondMenu.type === 1 }
|
|
8565
|
-
]),
|
|
8566
|
-
onClick: ($event) => {
|
|
8567
|
-
var _a2;
|
|
8568
|
-
return secondMenu.type === 2 && handleSelect(secondMenu, (_a2 = groupedMenus.value[activeCategory.value]) == null ? void 0 : _a2.path);
|
|
8569
|
-
}
|
|
8801
|
+
class: normalizeClass([unref(prefixCls2) + "__group-item"]),
|
|
8802
|
+
onClick: ($event) => handleGroupClick(group)
|
|
8570
8803
|
}, [
|
|
8571
|
-
|
|
8572
|
-
], 10,
|
|
8804
|
+
createElementVNode("span", null, toDisplayString(group.title), 1)
|
|
8805
|
+
], 10, _hoisted_5$6))
|
|
8573
8806
|
], 2)
|
|
8574
8807
|
], 2);
|
|
8575
|
-
}), 128)) :
|
|
8808
|
+
}), 128)) : activeProduct.value ? (openBlock(), createElementBlock("div", {
|
|
8576
8809
|
key: 1,
|
|
8577
|
-
class: normalizeClass([unref(prefixCls2) + "__column"])
|
|
8578
|
-
}, [
|
|
8579
|
-
createElementVNode("div", {
|
|
8580
|
-
class: normalizeClass([unref(prefixCls2) + "__column-list"])
|
|
8581
|
-
}, [
|
|
8582
|
-
createElementVNode("div", {
|
|
8583
|
-
class: normalizeClass([unref(prefixCls2) + "__column-item", unref(prefixCls2) + "__column-item--disabled"])
|
|
8584
|
-
}, [
|
|
8585
|
-
createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.noData") || "暂无"), 1)
|
|
8586
|
-
], 2)
|
|
8587
|
-
], 2)
|
|
8588
|
-
], 2)) : (openBlock(), createElementBlock("div", {
|
|
8589
|
-
key: 2,
|
|
8590
8810
|
class: normalizeClass([unref(prefixCls2) + "__empty"])
|
|
8591
8811
|
}, [
|
|
8592
8812
|
createVNode(unref(_sfc_main$x), {
|
|
@@ -8594,7 +8814,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8594
8814
|
size: 48
|
|
8595
8815
|
}),
|
|
8596
8816
|
createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.noDataTitle")), 1)
|
|
8597
|
-
], 2))
|
|
8817
|
+
], 2)) : createCommentVNode("", true)
|
|
8598
8818
|
], 2)
|
|
8599
8819
|
]),
|
|
8600
8820
|
_: 1
|
|
@@ -8613,7 +8833,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8613
8833
|
};
|
|
8614
8834
|
}
|
|
8615
8835
|
});
|
|
8616
|
-
const ProductServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-
|
|
8836
|
+
const ProductServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-c6b549d4"]]);
|
|
8617
8837
|
const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
|
|
8618
8838
|
__name: "Logo",
|
|
8619
8839
|
emits: ["logo-click"],
|
|
@@ -8622,8 +8842,7 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
|
|
|
8622
8842
|
const { getPrefixCls: getPrefixCls2 } = useDesign();
|
|
8623
8843
|
const prefixCls2 = getPrefixCls2("logo");
|
|
8624
8844
|
const appStore = useAppStore();
|
|
8625
|
-
|
|
8626
|
-
const layout = computed(() => appStore.getLayout);
|
|
8845
|
+
computed(() => appStore.getLayout);
|
|
8627
8846
|
const theme = computed(() => appStore.getTheme);
|
|
8628
8847
|
const panelVisible = ref(false);
|
|
8629
8848
|
const togglePanel = (isActive) => {
|
|
@@ -8655,20 +8874,11 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
|
|
|
8655
8874
|
onClick: handleClickLogo
|
|
8656
8875
|
}, [
|
|
8657
8876
|
createVNode(_component_Icon, {
|
|
8658
|
-
icon: "svg-icon:
|
|
8877
|
+
icon: "svg-icon:inspur-xinlian",
|
|
8659
8878
|
color: fontColor.value,
|
|
8660
8879
|
svgClass: "!w-full !h-full",
|
|
8661
|
-
class: normalizeClass(["!w-[var(--logo-
|
|
8662
|
-
}, null, 8, ["color"])
|
|
8663
|
-
createElementVNode("div", {
|
|
8664
|
-
class: normalizeClass([
|
|
8665
|
-
"ml-10px text-16px font-700",
|
|
8666
|
-
{
|
|
8667
|
-
"text-[var(--top-header-text-color)]": ["left", "top", "topLeft"].includes(layout.value)
|
|
8668
|
-
}
|
|
8669
|
-
]),
|
|
8670
|
-
style: normalizeStyle({ color: fontColor.value })
|
|
8671
|
-
}, toDisplayString(title.value), 7)
|
|
8880
|
+
class: normalizeClass(["!w-[var(--logo-width)]", "!h-[var(--logo-height)]"])
|
|
8881
|
+
}, null, 8, ["color"])
|
|
8672
8882
|
])
|
|
8673
8883
|
], 2),
|
|
8674
8884
|
createVNode(unref(ProductServicePanel), {
|
|
@@ -8679,7 +8889,7 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
|
|
|
8679
8889
|
};
|
|
8680
8890
|
}
|
|
8681
8891
|
});
|
|
8682
|
-
const _hoisted_1$
|
|
8892
|
+
const _hoisted_1$a = { class: "w-full min-w-1000px" };
|
|
8683
8893
|
const _sfc_main$p = /* @__PURE__ */ Object.assign({ name: "AppView" }, {
|
|
8684
8894
|
__name: "AppView",
|
|
8685
8895
|
setup(__props) {
|
|
@@ -8714,7 +8924,7 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ name: "AppView" }, {
|
|
|
8714
8924
|
provide("reload", reload);
|
|
8715
8925
|
return (_ctx, _cache) => {
|
|
8716
8926
|
const _component_router_view = resolveComponent("router-view");
|
|
8717
|
-
return openBlock(), createElementBlock("section", _hoisted_1$
|
|
8927
|
+
return openBlock(), createElementBlock("section", _hoisted_1$a, [
|
|
8718
8928
|
unref(routerAlive) ? (openBlock(), createBlock(_component_router_view, { key: 0 }, {
|
|
8719
8929
|
default: withCtx(({ Component, route }) => [
|
|
8720
8930
|
(openBlock(), createBlock(KeepAlive, { include: unref(getCaches) }, [
|
|
@@ -8779,7 +8989,7 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ name: "Message" }, {
|
|
|
8779
8989
|
createVNode(_component_Icon, {
|
|
8780
8990
|
color: __props.color,
|
|
8781
8991
|
size: 18,
|
|
8782
|
-
icon: "
|
|
8992
|
+
icon: "svg-icon:bell"
|
|
8783
8993
|
}, null, 8, ["color"])
|
|
8784
8994
|
]),
|
|
8785
8995
|
_: 1
|
|
@@ -8788,72 +8998,213 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ name: "Message" }, {
|
|
|
8788
8998
|
};
|
|
8789
8999
|
}
|
|
8790
9000
|
});
|
|
8791
|
-
const Message = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-
|
|
9001
|
+
const Message = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-fdaeb8e4"]]);
|
|
8792
9002
|
const avatarImg = "data:image/gif;base64,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";
|
|
8793
|
-
const _hoisted_1$
|
|
8794
|
-
const _hoisted_2$
|
|
8795
|
-
const _hoisted_3$
|
|
9003
|
+
const _hoisted_1$9 = { class: "flex items-center px-10px py-8px text-[var(--top-header-text-color)] hover:text-[var(--top-header-hover-color)] rounded-6px bg-[var(--top-header-company-bg-color)]" };
|
|
9004
|
+
const _hoisted_2$8 = { class: "pl-6px text-12px <lg:hidden" };
|
|
9005
|
+
const _hoisted_3$7 = { class: "ml-6px" };
|
|
9006
|
+
const _hoisted_4$6 = { class: "flex items-center text-[var(--top-header-text-color)] hover:text-[var(--top-header-hover-color)] mr-18px" };
|
|
9007
|
+
const _hoisted_5$5 = { class: "pl-5px text-12px <lg:hidden" };
|
|
9008
|
+
const _hoisted_6$4 = { class: "ml-6px" };
|
|
9009
|
+
const _hoisted_7$2 = { class: "flex items-center text-#e0e0e0" };
|
|
9010
|
+
const _hoisted_8$1 = { class: "flex flex-col gap-3px pl-5px text-12px <lg:hidden" };
|
|
9011
|
+
const _hoisted_9 = { class: "text-#fff" };
|
|
9012
|
+
const _hoisted_10 = { key: 0 };
|
|
9013
|
+
const _hoisted_11 = { class: "ml-6px" };
|
|
8796
9014
|
const _sfc_main$n = /* @__PURE__ */ Object.assign({ name: "UserInfo" }, {
|
|
8797
9015
|
__name: "UserInfo",
|
|
8798
|
-
emits: ["logout-click"],
|
|
9016
|
+
emits: ["logout-click", "switch-company-click"],
|
|
8799
9017
|
setup(__props, { emit: __emit }) {
|
|
8800
9018
|
const emit = __emit;
|
|
8801
9019
|
const { t: t2 } = useI18n();
|
|
8802
9020
|
const userStore = useUserStore();
|
|
9021
|
+
const appStore = useAppStore();
|
|
8803
9022
|
const { getPrefixCls: getPrefixCls2 } = useDesign();
|
|
8804
|
-
const prefixCls2 = getPrefixCls2("
|
|
9023
|
+
const prefixCls2 = getPrefixCls2("info");
|
|
8805
9024
|
const avatar = computed(() => userStore.user.avatar || avatarImg);
|
|
8806
9025
|
const userName = computed(() => userStore.user.nickname ?? "Admin");
|
|
9026
|
+
const topNav = computed(() => appStore.getTopNav);
|
|
9027
|
+
const topNavNormal = computed(() => topNav.value === "normal");
|
|
9028
|
+
const topNavFloating = computed(() => topNav.value === "floating");
|
|
9029
|
+
const orgId = computed(() => {
|
|
9030
|
+
var _a2;
|
|
9031
|
+
return (_a2 = userStore.user) == null ? void 0 : _a2.orgId;
|
|
9032
|
+
});
|
|
9033
|
+
const orgName = computed(() => {
|
|
9034
|
+
var _a2;
|
|
9035
|
+
return (_a2 = userStore.user) == null ? void 0 : _a2.orgName;
|
|
9036
|
+
});
|
|
9037
|
+
const companyList = computed(() => userStore.getCompanyList);
|
|
9038
|
+
const showCompanyList = computed(() => companyList.value.length > 0);
|
|
8807
9039
|
const handleLogoutClick = () => {
|
|
8808
9040
|
emit("logout-click");
|
|
8809
9041
|
};
|
|
9042
|
+
const handleSwitchCompany = (company) => {
|
|
9043
|
+
emit("switch-company-click", deepClone(company));
|
|
9044
|
+
};
|
|
8810
9045
|
return (_ctx, _cache) => {
|
|
8811
9046
|
const _component_Icon = resolveComponent("Icon");
|
|
8812
|
-
return openBlock(),
|
|
8813
|
-
|
|
8814
|
-
|
|
8815
|
-
|
|
8816
|
-
|
|
8817
|
-
|
|
9047
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
9048
|
+
unref(topNavNormal) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
9049
|
+
unref(showCompanyList) && unref(orgId) ? (openBlock(), createBlock(unref(ElDropdown), {
|
|
9050
|
+
key: 0,
|
|
9051
|
+
class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-company`]),
|
|
9052
|
+
trigger: "click"
|
|
9053
|
+
}, {
|
|
9054
|
+
dropdown: withCtx(() => [
|
|
9055
|
+
createVNode(unref(ElDropdownMenu), null, {
|
|
9056
|
+
default: withCtx(() => [
|
|
9057
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(companyList), (company) => {
|
|
9058
|
+
return openBlock(), createBlock(unref(ElDropdownItem), {
|
|
9059
|
+
key: company.enterpriseId,
|
|
9060
|
+
disabled: company.enterpriseId == unref(orgId),
|
|
9061
|
+
onClick: ($event) => handleSwitchCompany(company)
|
|
9062
|
+
}, {
|
|
9063
|
+
default: withCtx(() => [
|
|
9064
|
+
createTextVNode(toDisplayString(company.enterpriseName), 1)
|
|
9065
|
+
]),
|
|
9066
|
+
_: 2
|
|
9067
|
+
}, 1032, ["disabled", "onClick"]);
|
|
9068
|
+
}), 128))
|
|
9069
|
+
]),
|
|
9070
|
+
_: 1
|
|
9071
|
+
})
|
|
9072
|
+
]),
|
|
8818
9073
|
default: withCtx(() => [
|
|
8819
|
-
|
|
9074
|
+
createElementVNode("div", _hoisted_1$9, [
|
|
9075
|
+
createVNode(_component_Icon, {
|
|
9076
|
+
icon: "svg-icon:company",
|
|
9077
|
+
color: "var(--top-header-company-icon-color)",
|
|
9078
|
+
svgClass: "!w-full !h-full",
|
|
9079
|
+
class: normalizeClass(["!w-14px", "!h-14px"])
|
|
9080
|
+
}),
|
|
9081
|
+
createElementVNode("span", _hoisted_2$8, toDisplayString(unref(orgName)), 1),
|
|
9082
|
+
createElementVNode("span", _hoisted_3$7, [
|
|
9083
|
+
createVNode(_component_Icon, {
|
|
9084
|
+
icon: "ep:arrow-down",
|
|
9085
|
+
svgClass: "!w-full !h-full",
|
|
9086
|
+
class: normalizeClass(["!w-12px", "!h-12px"])
|
|
9087
|
+
})
|
|
9088
|
+
])
|
|
9089
|
+
])
|
|
9090
|
+
]),
|
|
9091
|
+
_: 1
|
|
9092
|
+
}, 8, ["class"])) : createCommentVNode("", true),
|
|
9093
|
+
createVNode(unref(ElDropdown), {
|
|
9094
|
+
class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-user`]),
|
|
9095
|
+
trigger: "click"
|
|
9096
|
+
}, {
|
|
9097
|
+
dropdown: withCtx(() => [
|
|
9098
|
+
createVNode(unref(ElDropdownMenu), null, {
|
|
8820
9099
|
default: withCtx(() => [
|
|
8821
|
-
createVNode(
|
|
8822
|
-
|
|
9100
|
+
createVNode(unref(ElDropdownItem), { onClick: handleLogoutClick }, {
|
|
9101
|
+
default: withCtx(() => [
|
|
9102
|
+
createVNode(_component_Icon, { icon: "ep:switch-button" }),
|
|
9103
|
+
createElementVNode("div", null, toDisplayString(unref(t2)("layout.common.loginOut")), 1)
|
|
9104
|
+
]),
|
|
9105
|
+
_: 1
|
|
9106
|
+
})
|
|
8823
9107
|
]),
|
|
8824
9108
|
_: 1
|
|
8825
9109
|
})
|
|
8826
9110
|
]),
|
|
9111
|
+
default: withCtx(() => [
|
|
9112
|
+
createElementVNode("div", _hoisted_4$6, [
|
|
9113
|
+
createVNode(unref(ElAvatar), {
|
|
9114
|
+
src: unref(avatar),
|
|
9115
|
+
size: 24,
|
|
9116
|
+
class: "!bg-transparent"
|
|
9117
|
+
}, {
|
|
9118
|
+
default: withCtx(() => [
|
|
9119
|
+
createVNode(_component_Icon, {
|
|
9120
|
+
icon: "fa:user-circle-o",
|
|
9121
|
+
size: 24
|
|
9122
|
+
})
|
|
9123
|
+
]),
|
|
9124
|
+
_: 1
|
|
9125
|
+
}, 8, ["src"]),
|
|
9126
|
+
createElementVNode("span", _hoisted_5$5, toDisplayString(unref(userName)), 1),
|
|
9127
|
+
createElementVNode("span", _hoisted_6$4, [
|
|
9128
|
+
createVNode(_component_Icon, {
|
|
9129
|
+
icon: "ep:arrow-down",
|
|
9130
|
+
svgClass: "!w-full !h-full",
|
|
9131
|
+
class: normalizeClass(["!w-12px", "!h-12px"])
|
|
9132
|
+
})
|
|
9133
|
+
])
|
|
9134
|
+
])
|
|
9135
|
+
]),
|
|
8827
9136
|
_: 1
|
|
8828
|
-
})
|
|
8829
|
-
]),
|
|
8830
|
-
|
|
8831
|
-
|
|
8832
|
-
|
|
8833
|
-
|
|
8834
|
-
|
|
8835
|
-
|
|
8836
|
-
|
|
9137
|
+
}, 8, ["class"])
|
|
9138
|
+
], 64)) : createCommentVNode("", true),
|
|
9139
|
+
unref(topNavFloating) ? (openBlock(), createBlock(unref(ElDropdown), {
|
|
9140
|
+
key: 1,
|
|
9141
|
+
class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-company-user`]),
|
|
9142
|
+
trigger: "click"
|
|
9143
|
+
}, {
|
|
9144
|
+
dropdown: withCtx(() => [
|
|
9145
|
+
createVNode(unref(ElDropdownMenu), null, {
|
|
8837
9146
|
default: withCtx(() => [
|
|
8838
|
-
|
|
8839
|
-
|
|
8840
|
-
|
|
8841
|
-
|
|
9147
|
+
unref(showCompanyList) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref(companyList), (company) => {
|
|
9148
|
+
return openBlock(), createBlock(unref(ElDropdownItem), {
|
|
9149
|
+
key: company.enterpriseId,
|
|
9150
|
+
disabled: company.enterpriseId == unref(orgId),
|
|
9151
|
+
onClick: ($event) => handleSwitchCompany(company)
|
|
9152
|
+
}, {
|
|
9153
|
+
default: withCtx(() => [
|
|
9154
|
+
createTextVNode(toDisplayString(company.enterpriseName), 1)
|
|
9155
|
+
]),
|
|
9156
|
+
_: 2
|
|
9157
|
+
}, 1032, ["disabled", "onClick"]);
|
|
9158
|
+
}), 128)) : createCommentVNode("", true),
|
|
9159
|
+
createVNode(unref(ElDropdownItem), {
|
|
9160
|
+
divided: unref(showCompanyList),
|
|
9161
|
+
onClick: handleLogoutClick
|
|
9162
|
+
}, {
|
|
9163
|
+
default: withCtx(() => [
|
|
9164
|
+
createVNode(_component_Icon, { icon: "ep:switch-button" }),
|
|
9165
|
+
createElementVNode("div", null, toDisplayString(unref(t2)("layout.common.loginOut")), 1)
|
|
9166
|
+
]),
|
|
9167
|
+
_: 1
|
|
9168
|
+
}, 8, ["divided"])
|
|
8842
9169
|
]),
|
|
8843
9170
|
_: 1
|
|
8844
|
-
}
|
|
8845
|
-
|
|
8846
|
-
|
|
8847
|
-
|
|
9171
|
+
})
|
|
9172
|
+
]),
|
|
9173
|
+
default: withCtx(() => [
|
|
9174
|
+
createElementVNode("div", _hoisted_7$2, [
|
|
9175
|
+
createVNode(unref(ElAvatar), {
|
|
9176
|
+
src: unref(avatar),
|
|
9177
|
+
size: 24,
|
|
9178
|
+
class: "!bg-transparent"
|
|
9179
|
+
}, {
|
|
9180
|
+
default: withCtx(() => [
|
|
9181
|
+
createVNode(_component_Icon, {
|
|
9182
|
+
icon: "fa:user-circle-o",
|
|
9183
|
+
size: 24
|
|
9184
|
+
})
|
|
9185
|
+
]),
|
|
9186
|
+
_: 1
|
|
9187
|
+
}, 8, ["src"]),
|
|
9188
|
+
createElementVNode("div", _hoisted_8$1, [
|
|
9189
|
+
createElementVNode("span", _hoisted_9, toDisplayString(unref(userName)), 1),
|
|
9190
|
+
unref(showCompanyList) ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString(unref(orgName)), 1)) : createCommentVNode("", true)
|
|
9191
|
+
]),
|
|
9192
|
+
createElementVNode("span", _hoisted_11, [
|
|
9193
|
+
createVNode(_component_Icon, {
|
|
9194
|
+
icon: "ep:arrow-down",
|
|
9195
|
+
svgClass: "!w-full !h-full",
|
|
9196
|
+
class: normalizeClass(["!w-12px", "!h-12px"])
|
|
9197
|
+
})
|
|
9198
|
+
])
|
|
8848
9199
|
])
|
|
8849
|
-
])
|
|
8850
|
-
|
|
8851
|
-
|
|
8852
|
-
|
|
9200
|
+
]),
|
|
9201
|
+
_: 1
|
|
9202
|
+
}, 8, ["class"])) : createCommentVNode("", true)
|
|
9203
|
+
], 64);
|
|
8853
9204
|
};
|
|
8854
9205
|
}
|
|
8855
9206
|
});
|
|
8856
|
-
const UserInfo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-
|
|
9207
|
+
const UserInfo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-31268ba6"]]);
|
|
8857
9208
|
const filterBreadcrumb = (routes, parentPath = "") => {
|
|
8858
9209
|
var _a2;
|
|
8859
9210
|
const res = [];
|
|
@@ -9382,7 +9733,7 @@ const setI18nLanguage = (locale) => {
|
|
|
9382
9733
|
const useLocale = () => {
|
|
9383
9734
|
const changeLocale = async (locale) => {
|
|
9384
9735
|
const globalI18n = i18n.global;
|
|
9385
|
-
const langModule = await __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../locales/en.js": () => import("./en-
|
|
9736
|
+
const langModule = await __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../locales/en.js": () => import("./en-BLMsUBCM.mjs"), "../../locales/zh-CN.js": () => import("./zh-CN-i4M-o5m6.mjs") }), `../../locales/${locale}.js`);
|
|
9386
9737
|
globalI18n.setLocaleMessage(locale, langModule.default);
|
|
9387
9738
|
setI18nLanguage(locale);
|
|
9388
9739
|
};
|
|
@@ -9452,9 +9803,9 @@ const _sfc_main$l = /* @__PURE__ */ Object.assign({ name: "LocaleDropdown" }, {
|
|
|
9452
9803
|
};
|
|
9453
9804
|
}
|
|
9454
9805
|
});
|
|
9455
|
-
const _hoisted_1$
|
|
9456
|
-
const _hoisted_2$
|
|
9457
|
-
const _hoisted_3$
|
|
9806
|
+
const _hoisted_1$8 = { class: "theme-list" };
|
|
9807
|
+
const _hoisted_2$7 = ["onClick"];
|
|
9808
|
+
const _hoisted_3$6 = { class: "name" };
|
|
9458
9809
|
const _sfc_main$k = {
|
|
9459
9810
|
__name: "ThemeSwitch",
|
|
9460
9811
|
emits: ["change"],
|
|
@@ -9493,7 +9844,7 @@ const _sfc_main$k = {
|
|
|
9493
9844
|
return (_ctx, _cache) => {
|
|
9494
9845
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
9495
9846
|
createElementVNode("div", null, toDisplayString(unref(t2)("layout.setting.theme")), 1),
|
|
9496
|
-
createElementVNode("div", _hoisted_1$
|
|
9847
|
+
createElementVNode("div", _hoisted_1$8, [
|
|
9497
9848
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(themeList), (item) => {
|
|
9498
9849
|
return openBlock(), createElementBlock("div", {
|
|
9499
9850
|
class: normalizeClass(["item", { "active": unref(theme) === item.key }]),
|
|
@@ -9509,8 +9860,8 @@ const _sfc_main$k = {
|
|
|
9509
9860
|
style: normalizeStyle({ backgroundColor: item.color === "#fff" ? "#fafafa" : item.color })
|
|
9510
9861
|
}, null, 4)
|
|
9511
9862
|
], 4),
|
|
9512
|
-
createElementVNode("div", _hoisted_3$
|
|
9513
|
-
], 10, _hoisted_2$
|
|
9863
|
+
createElementVNode("div", _hoisted_3$6, toDisplayString(item.name), 1)
|
|
9864
|
+
], 10, _hoisted_2$7);
|
|
9514
9865
|
}), 128))
|
|
9515
9866
|
])
|
|
9516
9867
|
], 64);
|
|
@@ -9522,10 +9873,10 @@ const Chunjie = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAABGCAYAAADip
|
|
|
9522
9873
|
const Duanwu = "data:image/png;base64,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";
|
|
9523
9874
|
const Zhongqiu = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAABGCAYAAADiplcmAAAAAXNSR0IArs4c6QAAIABJREFUeF68vQeUJdd1nvudCjd2DtOTIzCYgJwBEiRAMAIUIYiiaZG0RVPB0rMlB61n2ZaDJFuyZVtaz7JF0rKegk1RFINEQiTFCIAAiUxgAiYHTJ7O8eYK5729T1X3nQCQfsvrFVaje+6tW7fqnH12+Pe/9zFkh/3VXYW5JPxZf9XaD5u+gd1etdprkg7p9CTR6ZPYRj0/9eq/zRu/3f2unGoBgwE/AN/DeD4Ys/KTvS/nLR/yfnZEicVgCfRiKaQpNkkgSbBJhI1jTPZh+dVJLNa6y+eH/Bn67oX8nrr/zk919+ru+Qe9n1pLnACeh/E9glIRv1jEq/RQvPtdFO//GxjyZ/XlRD135cZS93f3l8m35zeQROiDyfvy3HotL7sx+Rs6e56g+bU/hnYD26yTtlsQRVg539rljxtYwnDAGP50cGbq983n6OTPR+Pf3rPObtnyZXz/5s7RQ0Szs/ihj6n0EKwaI1i9jvahfaQTF/LZXPn9urLgniIf8u6BNcZgCkUIQohjbBxh00QnVmdOfuuRPTzWCZH+05IkVk8JAxWr/Mw3nLg4tSQiFPnkZgIiQrEipD/cxL+RYIjwpXJtz6dQ8PGKBUyxgjcwRPUDfw9/zTXZJBrQhRBkAqGz7B5GFor+qRfKRBKQMUoWRZSzh87e94ru3zIoXkDaqlP/g39OujCtQmGbDWzccQtHxrdrHLrWyB7rpe8d+eTMeWM/QGF2bN3zwM3e0DDFm+6g9sIz+Gmiki435fX2Eu64ntYTX+9aL90rTtbs8trP/rpygPPBFGGznTap3HCSIkLSvXpfb2Vmw0QUWwIfvOxzr7eKL1/ZMmHLQnQVobh8si///Ou9L68nqUVEWRcvIu+BW1hhEVOpEGzdRfXHfhZTqMrsZQIhGiDIVrnMfTa5JO5CKjAiOLJY5DzRiG23cGwrmwvRNgUnPKJFCr167cZf/Geigy9gGzVsq45tt1VTGJtpzG7NFwQUdtxAeM32PcVNI3eZ2V9Y+/ct5r/onRko3/cO2vteVqkyQYgJQ13VxVvvovH4V5FloCKgN2axIp36k6jEe6Wi02zNpozUpVpQV4Gv10vm5/Q9MQPyh6x6r2t2X08wZMXL+UHXCs8nq1tVXO3zsRUts6KdQ88sa20Vlh/w/W/0fvezyL15gY/n+1AoYqp9FO96kNJb3uMWgEygmgyn7vV/fslN7vJki3TJOaI1LIg28EJIWpCKKRdBkc9mmsTKteT7+vT89gtfo/2tP3ULr1nTRSjzocKWKWD5alEElQcfIq3XiU4cwU5c+AUz+wvrn7WYu9U+b72WYP1mOodf1cn2MnXjj64i3HwN0WvHSBcXSKbGnc2WBxMVKJK2fSvFG3fglUKs9UhmZ2g++wrp1HTXaDufwZR7SBdmSOJUVa38BJ64Fldb827QRBOJrU5Ti+8bPVdeXVlmb6Rf3HWdnnDqXT4qivB/5fNX9yzc/cVpSpIYjGcJxUcS4fd9bKFIWumn550/SunGW93EeaIBZOyySTWhEwrrdQmFvJkJhpoHOUeEogFpLRMGmV2dWqdJvAIEThNFx16h8dnfwYpf0Whgo5YTCjXNmVYvlan+2IeIjh4iOX0cKwMcRc+Z2X+wUYxUr1ftoXz/u2k99xTp0mImhD7Wy5yl0TFMsaymRNR/58gBomOHMrtnqNz/JsLrtrkvldXge6S1OvXHvg1RR/2G5SkolPT9zvwink1U9cpHAhWKriOfZ/kW67SKsxhGNZWYj9xHu6qfm7skmZ926cWXx+aKl5df6Pr+q56UvS/31omdgMr9hYE4ziLlPnFQJOjtp+e9P05h+y7wRdWLKRCV5cyzCoRXgVT9PPde92HK4JfduXETTOZ/EYFqiIITDLmOnCPO7oVj1P/oX0OnQyqC0WqrNg83baVw69145bIKSTJxXpWAOqJxLD7ekgiFFYEQzVB+84NErx0nXVrARjFxFBHI+pIlpZLvNIMplQk2X0N87gydA3t0AYmmEO+/8o63oh6d5xOdfo3mE8+ruRBTpFFBRx4kVSczCQoEaUxUa0DcUQ1whUOSDY6sbhEejRZMZrGsczjzyVBZVPWcv54JzRsphEsGv0tQLgl73kChAHHinFhd9yoUBmvcgrJhkUJPL+X3Pkphx/UuWhABEFNA7D4gmkI0iD5ImGkLEXP5Ea0Sus84www2hrSVCZdcp+j+9jLbmGZC8X//KxAnvtNSn8IbGKDy7kfVJejs+75ePpmahE4bq0KRRW2zv7TVmrBAujCP1z9AuGmb/raFEl6ppDbQtppqNtLFOf1bVWOhQHDNTppPfI20tqRLxO/vpeeDj2BTi63VqH32yy5MFMFSYSqptrFpTNLqkKYpQSEkUbWY4ItDpOdnx/JKdKZDTHTuXHbPpUyKBi5dhkrkV2y7O37IJX9VdfDGn5cQVBxfEWi5B10/niH1fDzPYIMCXrlC+R0PUbrlFicUfi/4YvsTJxRqJmLwK27CrYSdYjJEo2TOqGoXGQAfkgWnOk3mh2g0IufJ+2KPY+KTr1D/9G+p8yn+hPwUbryNYGwN3sAwycUzuqhpt3Sh2iR22iKKMbP/eLOVGFqEQr0wVdXO7spDpbKa16ylsHYDwZp12FaLZHYSuzCHt2o1Xt8Q6dwMyfh5kto8PY++GwEPOgeP03riGSfsnoc3OIA3PIBXLmEqvaTFAkmtSXzsJEmtjl8INaZP5+dVzSUST8t/Bi53Lq82TTk+oD5ZJhBXNSn/G8VELuXwEmc2ZPgkKjLi73geKR5eGKqzWbjrTVTvfwsmGAWvJ5tAUfVtF12IUOjEi/kVrSGrvy9zNuWbRGNk/oAIjRVB6MY35N/Z522bziuP0/raH+gCJGrrYg6u2UFx903EZ07gj63H6xtwi31hFluvO+FJEicUGmUUigpQJTLpggHoKlvRoabaS/HWu51Nl4hE1P/F0w54Kveoh+319hCs7VXpbB4+BrNzBFs3EKxejempqrC4GxeJdh54fOYci5/+gk5VUK6AqLpWSwdbBjj3JeR+nJboXvWX6/j/f98XYRXHV8yF4map3LMIskQfHklq8IsBiVcg2Lad/kcfwZTXOi2Rj4Ft0m7PUiyKCRHnUjTJKJheJxgqcrJYRXtIdCLCI88t74mQtLF4pDbAE0dVhSql9eXfIzrwrGojNR+KVUSU77mfYONmFywsLKifKpZCzLloc3EjzNLvvkNFXUwCYYlEcIk0whM1JZNfKuNVe3V2JGJIZyaxxiNYuxGSmLQ2J0bU2dNqhcKN23XZJEtLEMV4Az3qbRvxuGWWBZhRlSlCEdA5fprWV79OKjifvCwqNCxje8cIBtfQGT+BaS1S3HU/6fQp4sNPYeP2sqJX9FAip2VT8bo24H/rG6JJ48xsiMkQIVbsSLWUPJtEJGJLArXh/uAwAx/+G3gDayEQoXAqX6b11IlX2Lx1A56YUSOLZ3UmFKJ25DxZHWJWGioARjWKmI9UtWgzLjjvw0T4pAQ2ov5H/wy7NK1aV4QirdfcgktSvP5Bwq3X4I+tVVNigkDPUfMgGrr2+z+SufSiikRYPT1JbFciHmu7Ac3GcgynXnUYEqzboqrPtmrYSGyjgFwVwp1bdUBsZLFxim3Oa8hqylW9rilVnJr0JaA01L/yTZJ9r5IYn553/X3Cuz7oIO9czSsekrrXBGe4eITGp3+JdGFctUicSFhrKGQ4h7y2jFBd5puoHvnf9L74EXLkMLnTGk7eA3U0PeLUqPkISgXSsEzPO99BYfcOpy1lkXgFFhZanDyyl/5qypYbHnRhp6liRCt4/YBEFEUFnqyV6CSHwWOM8UhsSDuR75JllhKYFuH4YVqPfRzk/DRWDMLWFpzGyLGKriWilqJccf6jDN/iv7vHKrCRi7lxmL1GGcWi+8nxiEIBr1LF9A7iDfaQnDulDiUlwfZLmFKB8Nr1qgTiC3PE001otWl/93H8TRuo/Oh7VPNYr0B8dJz2d75GMjXl1O7WO+j7qU9cZUYvXeC206D+mX9G58h3HZzs8DDnf7yBS9nthF7N1/hfeV/uV8ZWBDG/VqT4nZMKeT2VAbY+fkE0RQFbrKja7nnoAYdqKjbRy8z0NItz04wf/CPuePTjGL9EOykQBCG+V8J4ZSwFFf5I0ciETtrGM5bI+lSDHvUvRGiStE3Zb5A8/odE546QCNYk/sTSPEaChHbT+Qy6Mi4b1240qfn5j1lTdLiBghfihSpiKSbFxdv6UGJ8xGlJIrzRPmi3ic9eUO0QbFpNMrOAKQT4a8cwgUf02nmS6XmCsXVEZ05SfNOtmgMQqW194wniUxfw12zHG9ygKlYGurB6m9NQ48fwRjbi9Y2RXDyEKffjDa7X/Ehw7b10Dj1F/S9+Te9H7lMRxO5M14qeuULIxCFdOfd/MSrxfOppgU6jRl/Jy8AvJxZ5FNIohPSLi5khl6nvTLDf048t91N98x0EW2Th9KkmmJ48hS0MceKVxygO3EO9KZqmB9/zGVm9mjVbtqlgpOIbEBElKW1xxNWPSOkLqxT8QIyKAmje7EnS5/+cdpxQFwW+OElh5hzBwiRWEmOCPC/LxNWf3yz865usy+i5MFNMg2oJ1Q4i7eLXZEsyCAg2ribcspb2vhOqRQrXbSKtidcakc4sUbh+U+ZATqnQBFs3428ew9YadF54mc6hMxTf9DHCG99JcnY/jSf/kHTqJCZuu7C1UMZUB/F6RzClXihWMIGo0sCZi/FjpGf3kQog1uV4CiL6gw5RhqLmNQkmkIiiqS4JcolL4ocqkP76XRjxATJz5m+9nWZ1DRdeeoINtYMkBx/XiwTb71YnPT67n6aiaVDWiMRDFpxzwkeh0os/NoZdV2B2KWZg/W7CgY3MLy7y6pOPEwytY9db30cYVEjblhMvP0ehErL5xrvwghBPIhRxOCmQ2IDAyL+hoGOjuVfig9/C1mZod1o0203i+WnKFw/jz5xVB17D4Ktoiu6xM4u/dosVAbAaRjlH0Ao8K3/LJAU+vvgCguUP9xNsWYttdYhPTxLu3Oi0ShQRvTaJVy4Q3rRNI6f47DhJO6F4/TUkEzOYgX7SpSam0Ic39D5sGtL84q/T2v+4TrAimjJZsrI0mhnG6xmCoAhxm+TCIWxrSaVcJlJkXPCJPGyVCECPy4U/WxX5+YKaitITLEUOzdhmGXsRvOC6+yje91G89bsz+y7S5vwaUceivmW1eVGT9ld/Gzt5lPJPfgLrF2n+94+Rjh+l0TfA3GA/c2cb9HmGoHeAYt8ASVjAq1pMv6GY7qWTrKU4tBnaZ0kqw5ybPMGmt/4Ohd6NVIKKuM8ce+VZ6ksLbL3xVvr6q5Q8Uf+RcyCjJou1Fk985yuUS4YHb3s7iUQZom2XjpLW/hIzX4bXFkknL6pQeKIpuo9ca3RBOqb2n+4TyHIZsZRzxDSKtHuiQVSLuFELVg8RXLOedK5G2mgTbF6jr3dOzgrOi1cMCXaucw5LO8H0FJxJytO/EvLElvi4jy2vxStWFZNPFiYxSxMq4bZdh07TAV59YxTe/Lfw+lcT7fkKrS/9W7eysweJxBdRbbYSfSz7BsvcCfe+aAiF0TPHQ85TlDSxzjfwfQpv/iiFB39uBWQWgRHFLGOQ4zdiQtNIBdSbfY149iz+9T+iC6jzxX9D55XHmBsbw3hFOot1BrwixVXrSQZGsMMjePbbJPWzdHq20bPtI4S1fcw98xn8UoGpDXdT2fAAgxsfoehXCfyQ1HpcOHWUuYmT3HDHPSStWXwvwW9O0PjWzzOz0OLr0zt56P2/xHDfKC0BvdIUf/EApvEJWIDGqTYX/IuMnjL0181KpjRPGSxTHLI1tfhvbteUipoKUXfi4AyPYHp6sSYglXGU5FcSEawfwh/pd3GX+CCC+e8/QvPYWf2iwtgg5Xfc6yDcNMAaiT4sycnDpI2merjJ2XPEh486wDaDruX3MjeiUCG8+SFMsUfNhulfjZ07R2f/10lmz+sKF8RQk6uSMxH8R5DELGt6NQcqz604YMuo06a+iIBzmU8SbLuT4gd/i1TyMg6OcpdSTSJhoKG9MMuXfvc32HX/O9m16xpsbRrT3wc9W9TXav/Rz3Fuej+dvoDRhRDf+hR6R/BGN7IwsJ54w81USlMUD/wWyfBazDX/hMLsXzB/9CBBf4mee/4NfnUbxu/V0NPzChJPEEcdDjzxF+x+2yMcefJf0qgdYPPITRSPfAYv7IVb/gEtO8z84gJj297E+OlnWbPuZsqNJ6lPn2Bheh/J1EXGzhYIoywD+Qa2Vs2H+hQCyw4NE2zZTjw1gZ2fIW62NY4Oq1X83j7CrWvxRvpcvjEDt5rffpr6wZOUt22k8o43aegpqtROzdB+/mWSc+cVTbv80BUvFjJ2EbFmFkU7rbmOcOcDdF74rGMOSXYvc+QURr5s8h2SmfsJV8YVAi7l8yvnCYYgmsOhkCIUlqBYovDor+LtfMCxk1QY8v85MEpuLqov8qlf+XsMbbmORz72M6QLF6GnD1sZIj34OJ3Hfps9fQusSoqsWZQF5eGJkPUP0lm7m+bme/CqBexrHydadTfrd3yEuL6fCxPTlJr7Gb3xw5jSegp+L7EpaqjtlLbh0Pe+yYbdu5k88XmmD3+Spfk+NlbG2Lh7B4XSQdrFjzBbE6vSIFz6Dq0G9AQRh19Lua63l/6ZSZg5l7HUrpbYWZkhs/Trt1vxslQoNmyGsEhn//eJa3UXEYhqzRdNuUzPTzwKBYmlJRb0SC5M03rmeSo//m6MxN8y6J5P+5tPEb16WBG/ZZud6e7cAjiSlZs0F+873W7CMqZvlf5Oxo/oJDqEM+NcXA5E5I7wZUGpfC6Hnlcm2RkYFQwB2eS6/SOU/+4fkVaGu0ZG1afDbvR/bhA69RqeL5GHB50aVrLB08eIv/AbRFHM7Ps+zOiixTz1Z6TNGmmxh2BgCLPhBpKNt8HQBuL2DDOz+9m0+e3EgU877jB+/kXWX/tWkqBCOSjh+yWsCYlthG87zE9OMHH6INu3eTQOf5L5s+cxfXfRl84RJIdIBm9iwb+N4uB2Cmf/EFMukJY28NqZYZZOn2dD4zijnUkCzbBeLhTdjoXFLP3bO6zm/dXZ9PHWrMcbWYVdmCeeGMdbmlV8XBMm4ulev5PCHbdgCuKHqONB41tPU3nwrVkaWMYyoPmNJ2nuPeRWoucplqB+YOYoignIneBliORqKLXkFJQbYhUUyh1Jx/FZ8SpljtwXrGj+/Prd0Wr+mqCRcj3VTquvo/TRT5CKU5sfmtbO0I/MfDixdU5uqr5FjOnUaH3uV0hO7aX8E/+BYOeDakob3/yvdJ77DH7fCF7fKHZ0M97AGryRTdigSFo7RVAewPSvo+OFHD31PbZc+3ZsUKXdnKfVXGD96ms1G+rZmLQTceSFLzBSfIkKdfx0mNjrx0hg0DlNkePUCw/TKt6IaU9SqvQy01xijT+KP3OGiVef4eyFCbb3JlQkm3rZWC0/t6zRpd+8S4VC0tgUCpoD8SU1PjyMLVWXY3oRCru4QPu57xBsv4bCndfj9VSdVvj6dyg99IBLEQrZww9Y+sJX6Jx4bcU0ZPMVxamqcPH5ugGjZY3dZWeu9r5zhFdIuCrjmX9wOVRxeSAiSTYRhjwcFd6DJ2H2rY8QvvsfX7qAMvW24mjmGlNDF4cbCE4yfYz2n/wiZmwH5Y/8X1l21KPzzJ/S+vbv41Vl4sdUMIJKD5T7NGFmF88o9sLwZtrFXs4vXmBwdBdl4wCqqcmDrB3b6Z5NuKxRi4sn9rD/uS9x3/Y2Qf8G/OZqjcyiYgX66yRLDeLSHSTVAU5P/nf6zG7WN6vYi0cwtRnSqM3RBcPGUkTZyyI4azje8NleTfAzD960v/4PrUxiKhmydhsTdxzIIeBUq40neQZ9zyWq9D05ikX8NaPYhSXS+UX8VSP6WvnR92DDgPrnvkp66pSurW7uTK6o1GzksHPm2QdCTukSitf7U7SPOo8Z90ozKQqrvPGncwESkEfi+nBoNaX7P4a3+52kAjtf/u25YIim0Iyt0xzCxkyFw2pSkj1fJH7mU4QP/0vMRkmNC+cU2l/5bdrf/zJe7xB+RZJbKf7QegdTtxf1s5oHGt6MN7KVyF4giU/jtzsahvvpOElwF+M1wYlKFItlgsYc89PnadYb9JQSpicXKKQdhvrL9FdLqk1PzFkWSg2KIy/x2otrSRYspWKRio3Y2ROzqmw5smAYKySMFC0da/jSZIn3rWpT1CyswNz/YrcVnOFqgIasallNP+xheipUP/a3NNfR/NyXiM+eU3RTIhoZKdvpZPGuW+25qnD0OMk2/nDfpSTZDJl0qjyjwP0AiVKnVDKXIxsp3PI+Cje9G1sdWDaNy1T5LtUqoJxGQSpwmbZQuDnViCN+6r8S7thMuvrhLIuZ4rXmaf3Pf0Q6fVrzPSkCBhp8YbCL4IlTXerB9I4qJmNLfVBuk4YT1NsHKVcLGLvA/KGIev9WRgubqZbWKDMqqU3xvf0nEeu9daiHqFPnyESN0zMNenxDFHXYurvCmpE6g5ODhELNw+diFHJkukUhjSkUArwo4p7+lgrwtyYDbhlIGSnkQvHL25ctc7f74Zw0N1GXq/HcIOXI/7KaLpeo/szf0mxr888+T3rhIuHtN1C4+zbN9MVnL9L++uMOWRPQVt0U962yypV51WXcLr++wxaELOxUn3wmv3nH7+w+MmCrr1+dLnrWY1ftJtx8G/7GG9R/kAxveuh5OLGH4Lb7sdvuzC6g30R68RTJvqcJ3v5hlw/KtEWeBrDz5zGzT2JGN2Crd7tssIHopS/R+ubHMYnwWF1ayReTKcKgAJAgdY5wJGxvzaT2jhEPNEg7LfxKSDpznkZjkcq6CG8hwbN3YRKfyYvnWWzHbB1ygupMf4VnT0xz21hISZx/AdeE/tgRPmeakaut4qFLqc/C6DUcbRTpv3iI3ZUWr85bhooe11ad32gWf3m7xmcO7e329DKiTWbsr/a+CkMmETo5JRGKj2qKvPWnn1UHtfjWe/A3b8Dr6dFEWPT9PUTPf18Fo9OJM4XtIgFNOXeJ4OXXz0NIp8JXspIrVkNWsiPoCrYQvvWnKdz5fg0i1DyYgER8I0EDj71M+sqTMHMBL10iNksU3vfPITcBNqX95T9UIC189Ocd7N9FFBbBTM68QDAqvMYIW7nbTXDaIvryr5McfCnjyWrEj+/7msRyo55xM2VS8yKo6pBqJBsJ61oSlBFUe4l2DGMWX4PJAjMTCQuthC0DPgVx3zR56bCcw5NNrh0M8eIWJiyRLk1j67NZLY2r99AcqMuOUxvbzsu1gInTFwlai6waqvLmwRqmFGIW/+l1Vw1aVZEI2PN6KjmXn2xtqUr3A/p+7qd0AFt//jnS6Rk3Br1VSo+8B2/VGNFLewmu20miOMZzJBcuZOFhxq/MF/tl1+/WAaItlOcsOMOy1sjlyd1weNN7KP/or5JITkZo8Rm/UTKF6Qtfh1MH1X8y8RJJMIcZG8GmBby3/RKm1IepN+l86jcwazcRPPzTjk7QrUcmTylW4/fOYeuT0HMvhBXSk8/g175J+/GXoB1rVKfaIcc/VC06oTAS7YiASnobSYOLAy4IgSNmzPTBfMFjW72X6VqTtNNhVTkzYTmOohqnl4MLsGtVFeIWti7stVizosrD6L5xlydQK9Yp9nK2uo7vvlYjjFv86B0h1fPTmMV/tuOqQtGOnMMkqzPnDFymny9T1ihBp+cjH8TrHab5qU9hF+eX4/vw7tsJrruWxmf+ksoHPoC/eg1pZGj95WdITp9aZme/3nd0Rx2iUBz+4QyMoJTdhze6ieJHPk6i6GTOIhd0tY797mPY8TNKFLatCehNobwKv2KwdzyEHbgBXwb63Fk6X/4kZnQd/o/8tCbqVgZXTJgUS4WYaB80jpB6d5Ce3Id9/q8pvGUbnZOHiF89h5elEFwBjxBlXAWYko5ES6QJadwhilyNTA6UCeQzP5SSmgB/qkhiDWvCjmNGZY8r59eCApWwzLk6bOoNnQ7t1DONk/mKlxqArI4ETI+P31tgobSFr5+AgYWz3N9fwyz+852XCYVTyy44cKHfpfb+8kDPDVUnTvEKBXp+8sN45VGa/+MPsLV5wttvXGZdxQeO0p6Zo7BrB9VHfkzBoWj/PjrPP6t1Im5ur359UX9CoxcA60r/IdPKYRFv970E9/1dbFnYTZmulFVz8RQcfBHmJkgb8yQLpzDJHN6uW0gOH4BCieJP/Efs0AYMTeyB/STPfQVbquC968N4I+uuLq/xaYL4aaIDU0TfeUKZ7MU33YXZ5NP64vOaQZawVw/BNlT9SqJRnE5LGifESaT+mzyXCHhSgKktTQbP95L0NFnq9LLW1ERtXMYSskwHIf0pHFsy7B4UjoYImuQfapeSoJc1sMX0BoSVEH++RFIJiVpLHPfW8+0Ti7x3cA6z9Cs7HaJZFga2mxJXM+KqwJytzzKJl1j8jBGmeINT47Hn0/exj2ISS+MLn8dr1ik9+hDe+g20H/saycmTjvFVKFL92M84Au/EBDRbtJ77Hlw84xDN3HpnSa3lVzJ56X7fRR9CMfQJ3vy3CW7/Ucc7FKZS1IHZi3DuJMxNkixcIJo6Srw0ie+lOln+jTeQ7H2V4L6fxL/rg4o/eGmd9IXvkhx6DhsEeHe9B2/7rV3GIwfOYmhPECRfJT1+ls43X9aoxN+yhdLDt9F4cR+dZ491FTE7B1nCYTUXmRMozyfaTzO9QlvxDe2iIVwVUcNQuFClvmaazpJlbK6HMJN1uaGGfDb0OOnBQBox6Jcot4RnkhUTZ/PjkGJDMFrCqxUhCYnLQndYUMe9Vejlr5ZWkc5exCz9i13COiHYXCU5L0UjwvvLGd0u+tBAMbdhGf/AeaZunBxKCbZUoudDH9LgNsrqAAAgAElEQVRVV/vTTxE0lvA3b6T4vvfQ+txfkc7OKL9AKpZKPyHZz0HHVSyWSWdmaX/p01jB6HN0KbcKy8rDwdN5GOoSXRlaIWZOUvwCCJX6NJlktMxO2Mw1EsnCCjUw1NHHhD7extX4I6PERxsU/8a/VwDP2sgJxfeeIH1tL1ZU/aqNmLc+6oqi3RNjowbxuX3w3Oco3ip2vYfWl54nakYqSNWH78PfUKX9F9/DTi64yU4l17NSSuk0sMvUKqAliQJZ6Hh0hmPK2+ok/ZuJDhc4Nf8a02sWKSdlbjzVS8Ea7MgwS6ZOe6nOieY0lW0bWcUYYyfOYrQoq0uORcjW9cD5ErY/IGnNYxeFZpkpVGM4M7yLbxyeEaHYrYbC3zKGqRriQ+PLPAxNN0u+YVkoLnHAlwVCEk1ykbBaofTjH1C71v7iXyrQ5W/aSPG97yY5dhpTrWKGRug8/TSFe+/TrGm6IITSWAUm/v73tPWBHt0P1PVveVY1VVq07XwKGVRRu0rezY3hspth8Nb04W/ux5NV0luEasXhA4sp0QGf4Nafhf4x0qSNFVg5bZE++zjpmcMKI9M/DHe9E29wlfN9SIlf+iLJM5/WyKP40A5MzxDtL75A0opcuLxlA9WH7yZ57Rztb7ygEiH3mVe55WZQM83ivynEK/Ujwre0TK9KWLUF/PEKdsbgddosVlLO7Uqxk1WuFd5qMWXP8TpbBw3lRom0BNUFqQlaWbBZ7E547RicK2F7LEljAruUJSm7xsuGZY4N7MIs/cvr9WXTX6F484PE554jfm2KRHgPilO8HtUtM5NZFbPaw/4+wnc9iIl8opefw98whr9uHWb1aqJnXiA5N0F4113qlfvX7lD723n6Sf0uycpywZmPNzpyPoVophzXiAU6vxoa6hnCO7cQbBvW1D3NiHShTTzfxtZigg1vo3DPT0GhQipFM6kwyGYgKWKf/SrMjLvwUarkb7kPb2St3p9nU6LH/4Bk79cwRZ/iw7uwnTLtv/6+Fn+I0AqA1/P+dxOM9NH8868q8qtuRWaSl2U+Ix/rHBQD/J6EuBNzMSmxptcSzqbKMDMZAlwrpTQrIYPDLfzqPJPRGOW5GVrnxijEEQOFK8dPAMTw1p0krxlMb5Pk1ElH4L3KEZd6MUv/6gYnFL5HeOfb8Bgknnya6LVxp9Z6i3jtGCPSfJmiWBayMMBbPUJ4581a+OJVyo4LKKusLBFASPuLXyYdn6Lw0EP4m2QJlIhffZXON7+8nMvopulfLSJVrZC6iizBI8S0ieA6PmReoJwpGvn31rWKoqbjc45xnudNKsOU3/kPCHfer06fePQ27WCjafX2bWwwL34DFmddUiwskt5wF97ImF5D2EvRNz5Ocvgp/LV9FN+9k+jVBeIXDuv9SX4lDGUibqFw7+20//pxkhMn3PhloUP384mmUE27rozdNEl9NmS6Mczq9gxFZbuU8eeW+UHuAasedk2LzroiLMzCxV5KE1LkuaJou8XD6y3gr12HZ3pJaWgBVzq/hG1LhHLpZ8zSv75Rv1YjpY0C/34IzhynsbhPyw3CN/0Y3vm9RN/+mqsR7TrkX8H2awm2b8EbEXzfedYuEeFK6NOLU3hbNhM9/l2HW5QqFB95VOntnT17ib7zDWIpVZNrSeldho3kdHNno7L/ZbjEcio/Y0/lIeklgamgh8NDpJPTy8IszrC3ZgfFh/6py1ZGU9ils9jGvAJB3sh2UinpE4He8zTe4qyCc4lv4fa34pV7MqHo0Pnm7+FVpgl2V7VavP1XR0jm6moexNyqL7Z+A4WHHiba9yrx89+7gkXd1S1DO+0EZQ/vZojCJu1xi714nrB/C6Vx18Qkf+5UM86GeFOTuD/G9Ps0pzoMHOzDc5QpN2zZuC1HpLJQtm/Ev/5+TL0Oc+eITh8jHZ+9JOYztV+90TkEchRCwod/Fi9cDQtTmFWjpL0jSP4s+eZvwfGTl+ZIjKH4I+/CHx5UvqApeBlZuKAM9nivMLGFSXUD0b5DRE8/gze6CjZuJtx1E+1nnybo7aP54nPqGOUPLZPc5RIsFxG78HhlcOS2ZZWJ6VIt0738BEHcsp30/BlN6OmKHxgheNvPOQrg1HHs9CRpo4URdV/wKDz0f0CxX8mtZt8zeEvzmm+IvCWC23aDYhVCfJ3FxGcw9gJ2+jyd56aJz9Uzge4qah4eofDeR5RolDz1uGIjl1tHLRgU8ynDv9UjSs6Qrt8Es1Pqu3h9G/H3tJfNhzxk0hPSGqlghzoUB3xmTy8yES6w+8gAIr9dEuHGRMZT8kq9FfzrdmK23+NQ37hBuudJkv1HL1EVpvZrN60IhXx+3Rr89/4yXlCk8+KfER/6Pmy/k/DGd8PTnyQ9capLMAyF+27D37xGMfjo3CRJ3VC8YZO2LUqOn8G7ZpsmxFqf+qxGAsHd9xKdPKVV642nHqfng3+HeHKCdN/zMD/rQKFL9NEKbU97UnS9qW2OXjeRZmBgHaayyvXSEJa6hIG1pvJEhcDjjW7A33Ij9A1gJUzdvAFTXoNtLsH3n1CafTQ/TTR3Fn/rMOGOAUyxhbEN0omLJAfPkZxahKww6BItKtFYbx/Fhx/BLi6SPPGNqzLQRNBzemA46GF2NEmKm7BzF5loNxlp9VE8f6WfIIJhykKoTmCiTcdailo22HWulC+OlgnvejtGWg+EoRYPIQVctTnsxBnSwyexbSlFdDWwGui1Hnu/TfacuCRJ6o2NKBrYOXUWT7ztwKNw6514O96MPfY4ycGD2Hom9cLCGh50jKvpOcLb7iTcLYzvhOTAEby1a/BWj9H6k88QXH89/k23kc4tER3YS3TkEMWb76DwtkdkZLDTU6RSvLy0RDpxmnTiHLbhHLTuQ25eCm9yzuUVJ+QvlPvxt78L/H4SqZBKYuU3eGu34m+4Dn9wxJUmSJ5BSvvTWfAGSY/vwz97XLkR6badUCpDYx7jtfAGAtKpcRqP/QmhlSqt1/12TF8fwdsfxrakQOfqQpF/Wk2baLuCp6BTLCWBMZSl/8T/x2O+v8DAmjEWbv0AXm2C0wefZfXpMwwb67RjZqtNX0WjpXh0MycOnsZ0Fo7b9Hu/QrLnqBY+yyGSm4d5EiLlIJbfV8aMjpLWF7ATC8vQbB5eKSfx+lswxQIcfRVbq1N419ucUPyPPyO49XbCe+4jjVLaf/qHRHNzeGGBwoOPEO66Lavxct3eZGCsVLMff5Xk2MvYuUmX8evtJVjVS3RuClqCBKYuA3n55BQqFH/sN2H9Tcp/cHwIV4CbZu0RJB8hhBablf+bdJZ0YoHke1/VKjiz61a89dv0M3kyS4Cn5OWvkHzv05eR/66cOTMwhPfAO6BWI3nq21r2f/mxDMF0vZFDQeoXXMnyuOQSV7yfmQtKIfMbAopjN3AxWtSUe+fkHEm9w5D1WI9hKShyzA7QGbuWZjMm8BN6kkVMuz5jPTqkh3+XZO/zMC39kRJtPZQ3BNJmIYF/xaq4hO4m8bbQ5XfcQDI/izd1QYGlwsPv05qP9qf/pzYEK/zoB7GFAs0/+QOHOMpR6aX8rg8QbL7ODYEuv4xbYX1so01yYi/xvu+Q1uYJ1q1WH6Z16qJKu3aOuVwo1l0Pj/47ZQw63K3LGXFGN8uRSQmC6wUlTmf07JN4G68j2LZb+aoK2ogFVkaUlM82SL7072Hy5MrkCHiXXU97UmTNVII1a/Df8jbSCxcUIdWl/zqHaAqp/hICs2vO4vihP/QhHIyqD71lvH7BY8Zoe70cPLxAr61hxscJ2m3aUUybEGETnOnbzI773snQQEoQXdCqdL9Ww7Q+/1Hr3fMxGLoJIzj3zCHS86/QeW0vyfRZ7EKdsKsuwI1nHsN03bU034otpY2b6UxPQ6PmwrL7H8JbPUT7M5/Sj5pVq/G37yR65imN6WWlqxyUqhSuv51gyw5M/6grxBG4T3CQhRbp5FlsZx67NEc8flabc4hgePNzy301lgdQJmVkG+n7/yOBQNkSQuhP1nZx2Sd19+8sqaPYKa4oGUwREp1oEZqVlHNy4El46g+XG7/J52VCHaDmHF7RtPJ3uPt6whtu1vyOPXJgxd5fZfwE6cxbGeTlBwpoXe24yudNSar6RcNqHygphVPrcLi4huK9b+H0wgLx8Zd50/wEfiA1Lg9gtr+XsP4qNC9iyutIe7fCzBSm/hu3WVMp4W3aChuvxw5fR1LcAOEgnm3h1Y5jz+2B069gJyez0rOr36sMTrB6vdYYaHc9CYE2bsCsGiN+6aU3fD5xGNWRlOr0HiHG9OokijaxCzOa4RQB0QJlqeiOPeUbGKmYEj573MITs5CxbqQTT/zOf4q3Zrci20qdE7+huYTfI/0fspR2dldZw8NscWZ5A9cE0fExRRtI24Uv/xbMnrviWSSrLHMoLG+h+wXVKuFbHsALCrSeehy/Lq3FXv9w3XhcR5xcVJfJyD+kupgvp8QSCrd8Gg1PzXTJh84NNzO1cTunJ86yff/z3LBzI95b/y5pp443vxfbex1peb1jx02extR/8w7Vi5rQErg69PH7KhTWbYTN9+JvfQ9xMIJvm5j5Pdg9nyM5tHcZDLr8fsXLV3pfBhSJvdf+B9lrV4BSeTsBLewxWqDzuisks686gOIAF8qkxT5NYeedf1zexOUR0rCPdMvt+MNr8dqLGoWE19yNJ/Q3Hfr8ZzmOW+ZduJaE8pNoIa925nvhCwR7vnQl6mqhHSVKEhJNEfkFCrffgTeyms7+vdhTx5c78V0NlLt8DHP+6uWUAKfVXh/znRpOmO+rEjTXES5Nsdafxwv7iEojHNl8I4upZeN3v8XWO+/F3iJYxUlsvIQJR1xTVlPCzi9gWk/+vE2mZ+gIgCEEXKnszvs3CcS9eTPmzT9Np7KDsDKKnzaw+/4b8dOPqYp6IxvpYPKr2PuuD3VktNVbcplWeWgFfl6X3bMSwomKFhmIxcD5BVfzqu0Ds54WJJi0g8mIJmbnA/gP/oJOssvo5EKhRsDdlWoa+Vu0gzMpoo3T4y8SfvcP8KIsidT1DJrWjxzUHgwOws2345eqRIcPE508Qui5xN3rHplPImcoWSnvJvwDiMjd10s8w9xglXLYS5impJWTFKIzJK0dBDOrWdq6kanrdlN65Rk2veleGNhIEgw5kFHGPe3gxTXsxBFMe/z3rJEHb7Yw5yfg+edI2x1Xr5E1mvS2rSO9+15Sf5Sg78343gDJ479M+ur+bCBz2n2u/qQsXjPyV1/1uY+X9dZyPTHdalNkVXIWr0fi1VLDVOtcxR/R5JPWhlzdGV4ZOAO3PUpwz4dI2i3tGiPFNq62Q4Qh9yGU6Kd4SWJTOu0O9tgzFL//53htCY+vnGDVsoJ/bdhAcOMt2E5KfPww9swJ/Xplub7BBEukl9MLXV2s1Mn8EF6mXLMUkvT0ciCJ2ZKE9C0UsX6Cve4CltNYfyP+oTK23MPsgx+k2Luanp5VSvgx2vpaCpalxYS0tVwkPf8CpnH4N6W7n/IqjdDHnngaOz/bNZYGs3kd5r67SdJIeyfQ/+OYs08SP/ZftFuNPFTuJOXFP2JXnQd95cOliQxi6oqDM6haBMF1pXE1nst8zcs+L7l/OU/MkrPB7resfomQLjm6YjtbqBL82K9hBzeQ1KaxZ/YTbLlb6zDUmVWhkGcR+r7cX0JaW4C9X6R49HHXB1TAIPEb8q6suf8iJBppTLtxG7beJDl5TIGhJElcr0/lYl5lkrP7yymFOSFZzlz2La4mTNI2oq+qNDzbLjC+2KHptdgcCUAn0VIbs2kY2zhP2ozxzSD+Qx8kHtrF/MIFSkGZcqmM0X4jMWlrns5rX8MsvYhpLWDan/qbNk0C7DVrlXSSPv1UFjo5OyttCfy7biVet8r1mha6+uAHMbMH6Hz+N4kaHW2Y4RjwK/C0lhyKh3fJ4SyieNpyaKFwlvaWQcg98DfSFKKm5XDJMPe3CwOzXlPLkX3mJwhlbmwb5qaH8TffibZirk1gnv8CwYO/mJFeRBhiXe1RnNCZPkdw7DsUzjxPoTXnMptdwrtMcJaHrvTgXbNTafqSCU3OHsMu5iyyrBZlWR5yj+BKz8D5ES48yoOL3PF0CT9pci98kX5sMAAz0upaen8lNMKUctLCSN9uBZuMZm8pS2/wAuYt7ycdu8XhMZlmkIJx+ZFe32lngejE5yGcwsydxTT/473WjK7FK/SQln3s0QM6UDLgUu6X9PXh3Xe7tldWDN3vwaz6ScyFx0m+9J+JO45CrmWAmZV2jVBTCiLRl8mF8gdiOd8NmERQrtOBE4rcbF2tsVkOCedCkQ+k9OOUQbv8M+mq7Xi3fwB/7Xal1KuBSDokB75BcO4A3sO/okU9cdKhXV/A7P1rzPQJwlmxxUsaSeTljXpv0jFC6jdyqn7/IGbzdSQNC/MLMH8O01lyYF9mEruzlt3rI8/xKfkmMx9yXc1M5xnfvOuCEIJGBjH9Us7pYeekF5lgPGLOpDmadWUMGmaJH5UotqP8jDvvIrn5JzJMRjiiHS090B7f8iPFXokUec1io5cxi0uY5n+4xxIWCLbe5HCJGWkw5mo+pOk412wn3TjqOrzJYBRGMet/ErP/kyTffQxW9dIeX8TTxJSocjexIq1XczKXnTJBSrNtGmTg5dqdzKcQs/PD2FRHWzcK+lxRNzJ2Dc23/COC3hECod5leFjansecegnTtwGzZpfWhMZJTPvsASpP/C4mbqpwyulqwvKONxpiZ1Vi8ubAMHZsK+lsCzszT9oZxzcdTRCLjEqJomuH4SrbZaLzCjZlo2tLBXd913bRrR5ZjPI9OQ/V9FcxGzdB0ku61IFWB+aWIJ5yfnJf2bVmlqZ1l3MkBvvwHv450uoaVzJgI0waYSLpmVlTgbBiLppz0JYuy3VYUqG415q+EYLVW4mnXtPcg2v0ZV2z0/512NUDeIMV3a7AlFZjtn4E+9SvkO7fT1oOMev6YLYFS201PcJMzjOXed2ny2K6CEPrSSXCEJaRDFqlQKGnpB48ApZJq8W82HR5eS0TNq9gZcn1fLnewBis2ga1WbjtEZrDN7k0tmTzxX7KPUj5h5UoxVctIdFFGrVIv/P7FE6/kAGdTtjyQ57B9QDPmF3VPhjdSjzdwArHkRm8wLWRzlV/9/2r36Slihl1MaPYFzQyy7/nyucTgfC3byfuVJWdRjMTiqkpbZ9o+gOsNqOVb7jy8971t8G9wjsVyXOmxsQtaEw7QVqcwC6cXw699bV6A9P6zw9ab3Q7SZQSmxbexWOq+nVhVSpEwYDS1INdG7XroxFQa/uj2G/9Kp3T551GKEuPqAppR0gellhQQEkTK5gkjMPMOdO2xAGR1EUO9GP6B4mlyVnviO5TITR2b/ow3gvPYKS5xhWUEWeLtUh4ueu/i4yDGx4keNNHSKU3Rjb6idD4ZwXxbDgqYM+AdrP1kFbQ4pzGrvnJ5HHCr/077bt1abbBFUSp0On3uaZwDG0lXohhegkvmIeSdKsTEer2GdQjy+TqUl8iF44VcGrlfYeiZl17t6/DDGxx8yk9zSWbKZqi1ob6Et4qSCfGM55Lbrzdb8lae295L+n2N2cVYm1Jumv3XZbOYWdPQ21ixaKJf9FZUnaaaf3xhy3zHejthcFh7PQJ4jk5OcUXDmVpFObmYf06gsGqbtvgb7yVdP9fKr1upWeUIZVUrrTXafp4kqKthNisdZAyUqXRWlAkjiWGNCQS7WAJx/qw264l9kqEZ1/A7N13RQ+FrvWkE6qwsoJdHkm5j+IHfp20Orr8kK4AWFv8ZQkvhUcxAtDY0GksqRazllLjAmbPF2Fpyv00FrP8hTOjupVEzgctDJMmfdjZOiaqEQw1FXLP729Zy2ojGEiHU7wFH5Ol17unrtvHULEohnSKBm+25aj+fWXsmjH80hB+WsB0YqxU1bUTZUx5YYJtXsAuCafbHcsJMumN+bYPwuabM6GQJmgRXn0KO3GQdGncCbFXwJOtI/IdH2rzmPb//GlrJ8ehPOTsW+8QcWjwxqXdfxOGt+DNzLos4dAYVGQbghBKC450k3vN4h9oGsPilQKMpNTlR+BoUV+6LGRipBeG0cqp1JcPiI1rE++8WWshgpeexjQEEe320C9daTnlTQRKNloJ7/mbeDc/pC2BcvUt9DoXBoqZ6OBpyeACfjCITX1VYhJ2BoHDN6SsL5Xaz6Vxohe/iD36PVX5SibL+2oFIXE0QlJP8Wpt/L46fp+EgF0rfZXBrK2Sjnf+X1Z0DG/qxR7twTsl0HjXM+UhqgNmYKAPMzJKcvY0ptZebuYieI9ZM0RhbCt0pKxL2OnqrYPXwXQuYuey5rf59cX327QZbn8vtm+9K0ISs9FewswcxDYXwZTxAuGaWFiahWbTbdzTrGHa/+PD1s63MNURzVEIx9JKYsWLsAefUQ6C6V2NmZtzSJ/sPFOqQo/4CLMwMbuCbOaF5N0hufOwln/UhAoMreVyFgaHsNtvhEoFs+dpzHSWIxAhGtrohGn6tEtAZUtBtISrAjCYXQ8Q3vs3QbdhyuoxNFeR4IkpkRfluwSsUZKO239LPit0fiXiyuYp3Ue7RvKVf0868doypU0mVLRfvNALjYRArr+6hVdaQXVtYPHfMg3rZQUPkR4Zxa7diXn+SDZ+uTUxMFxWuqAZ2kpSGsZIdvLMXtKJSfXJlEXvGToSBa7qx1u9BdqBM8kiFNIk1Z/FXpy41MGUzsc33Ex68yPZxjKa2lUfwps7ia2N4/ljJIs1qM9lfTWNM0vy06xjOp/9KWu23IBJayRx3WUHtSOe21gkuXhei3S8vhFYaGLbsitNCEEvmn8dEHW2hF2Uvapi51VnRNofRAYQ7qZ58y9gxvdiT3yL5LWLyxlYu/tB/Dt/wiWkTr0E3/1jpdXl2IT2rhKI9kO/A+UBHW2VN61Kl41SpIZDTIiU6Am+snJocitpkkaLBIVBVaG5v6eaJmqQfvU/YSaPKYVAyC/qbMYB8VRVbXjgWbyxLqHIWdlrUwrXzVObEWb4Wiqzw5ipLjCwW/gEMOwpEFsP22wRdJIsB5USSqFvf4VOtY+wMoRJpYYlL92LMNL27uKUI952HUYIT+/6WWxx2G0RoQBVG9OawZs9ijEjGmEmulOQbsOoPdTVZ5Hrd5qYznP/ylqJV4XYkqWNdXVlnrY27VyqY4/uhx7ZvKSMXWhipEZCO8lXFGqlLyGihanXCMRZkQqzrPCGRnul73OuTaQn0zt/Efp3E7z034gn9pPONPF7BnQDFXPf38asvYE4XsTze2DfV7Evf0l3GdDwTRBQcRne9ncwW96SEWiy3EXa1EIgq+1GRUtISNhVIKyJLmFNSQc/X2FeLRzKUx9RA3PgG6R7v0LSarr9O8SMJAGdKdnBx2X1/eEWXtFNilbEZz03bElWqzC6PMyFPsxELR/O7u0f3U5PkruRBxH/qCKFUQWSSgVfWih4Vdq1RM2b8DWdT9RUKh0zNUWTc2c2Jzp7u3Zh7/poVrjswCkxHaZ2Dq+1CIsxSXMRIySmlgiD2FHBNmQLT2FktTDt7/6yc5FXtpZyHXMlvyAebN509cwZ7PlTrjdYpaStj2gnsCRsIrHl0irYwxYNtqeNN7+A31vB3Hwz9uXvQ03OW7GptrdK8vZ/gj+4A2/Pf6dz5gXMlnfj73zAOYdSkCOJuWgWv7BGm6zZ8/th319jmudIxlbjbbge1uwkCYecg6uz6iIe3x90+3/qRAt0LWCO2xrStUAUBzQzIQpFrwiNTnIsBUGfwp54ARO1XB9OAjrzPRBJwg68gZigKJu8ZeWAWRf/RBbJYBlPQKZIkMPcxHQ9v4Sjm9Zod71InGJpVSl9M9sS7uTbxcV0Wk0KnpQn1kF2UKrLJGfFyIqAZmoig8zNLfdgb3xUx08RS2lrEEvR8Bm8WPpeCJkmVV6mEaFQUCXbW0yETDRF+/H/03mIKwG2Oj6RoJShr+GpfLO2+t3/olZELR8Cu1bLJJGnNQS+XyFJpKl7SFxcxCw1CG++Th1Ie+gY1FfoaLqoVg3j7XwLvpQ2yu5C17wXCs4UaGRmXXTgVrkbAEOsaXwKPYpEat+pXKrl/KTuuuIa8aqzxuiph02lW2+E8YSDUcrE0zmJRsxH19i6FSJ51BSOPol99s9II9nuwhDVqqQN2e9EdmiI8cK6OtdiXl6v8PkS/Z7/Y7Qfc+Od2r45mjirFWCy35fSEMVfkPxOmhI3IkLR2st7tV5iLGD1ACxlwiJvXbML7vmI6+AvzmUiwNYCLJ7Bt30kcxecdmhlZkPm3nndmRkRofirX1xhc8uXBx6pJ1TzWLdySo3z8APZ5unQXqhLXWS2A68a55RYOJJhD9TnSWyZ0K/CWEA8MaEYvLdhtevaIjvQiIOjIZVrtq6DOboK+45fwutZ47KQkqSJG7qVgedZbfBqTRFPknF+PqE5BuBQw5xdJ1s4pioYYhIEpJIJl325XEgqs6lCk5vKvKdmZj7ke9NkFuMP4vkV/Po06Zd/EytOmRxxSLxUwa+28IuOTijZVJfGz3yPLLIQK5UHXSuQhW50hlk9CptuUCQxPrwfFhqK6mp3YHWkXVJQcjGhoG9XO/oqcN3tmCPfxy5mO0xXejD3fwQrQF60iGlMwuI5jTy8wgYS6aXZ1tpLNRvOn5C+2RLVuCjFtP/851QohMyqNk43g/FdY9CirwkxGfOCVH1NTrgws7ff2VBZSY06Vihcoi0WJogTsYGDmOEK1CaV76k9ngSOle0pTUI8Vcc2xD7mBcMG74GPYTbdhDn7Cpx+FVObwsp+WMUq8bpr8TdtJy0N4/nDGN1uKe/LLTffwYr2EBNjZN+K7oSL5Dtki+t8k1aH/DkAqU3SGcf4ZYJQ0snSxmpSr+UX1jsM5sKr2G9/Uql/kkENJXSNCng9qXuesIItVx2m4yD2tD4AAAtkSURBVAeK0EpvK+uX8KQ1gq5y8bE6LpQPXTGy3FNaF7h6AU4fwiy42k6F7LraN8l4BpJDylTZMg5RLWPueDs29rEvfRUjkYOctHYryL4hfQPQOI9ZOIuR3QpNv8OGxo9h2rKBnAhE4gAxKcaSf6tZamM6f/IzulWeCIWmtERTiMRLbWgpJNV8R0DYU8YrSS/thgslZdwVQ5atcAqY6ZjWgWcxRoSiX8m6RHMKFAnfUrAIce5U+GIRCAGGJNIJtckJ7/h7xBN78Z76/MpWDVliLS75BA/9PPSvcf2cgjV4siWjGJPmBL6tuwhByDOqTYaXd8/RQdTwV+ymeO1isAWEizRfYW1Dz1dTIzvvLJ6GiROwaivIPml7v4WdG3cpfSHHrurDjK7GHxXa4mpSigSSITVlEgGYCtKmuqA5FWmPIA6CSWoQCVo4i5Xi3vqMagja8zB9ESYWcou1UtWVLRgHnmVdA0UwioEWU5nd79I22bzyF3DqrJOmsbXwwM+4eWlMwPwxPCPZ2wXNcejmwdIzXSOOaEUoMoFQ+rFtYTqf+JCUIUtssuwwJYlP6slugz2kov7LRYKKZOFcR90s05PlEtymq2Kn4wOntT9TYvvwNl+LCVNMdRVpecjtMhiU3S4/UX0ZUrY9o5jhzdIugfSVLxIeeKar91aWKxgbwn/7PySVMNmLSNIiXjjmVoaG0YsYCUNFG4iV8MTUDGN1v07pTFZTTZG2xrF7n8RbtY3Uj2B+gqRVx9u4022TOX0Wc/QVzPwEsTg6si2m5Efk+db14wmQJM51R6V1uZ+UOiTGd0nrQkFbiVoBxMIQTwQj7ybsUsQu/Gu2tESBjApwpXVwVt01M8nYazLZYwMwvE1JMUyccsmx3JJu2Ar3/TREs1A/j2nOYBYtaUPwCPEZ5N6ziENNRa4psm20XYyK6fze21eMcx6S6R2KipUKpD7SUg9+T9GFniIYmmHKqNHyt26iZmE8hXOvYMJV+OsGsReOOcdUinjFvpdKIKV8m2/BH9hI6hXcxvfRPJx/Ge+lZxQ80cnWBh6yf3eK2bAOe8uPQHmdNoFPbIT1yhiv4viZSQsvnst25HKFCeoqeiGJEH+XzuEXKpjpoyQvfYe0HuMXJCEn6foET7Z0kPuTgdKmqY6vmpOJHblGuB9ZdXs36NE1m+IL6A6NWUvHq5VFXN05uPxV53ck0glZmrGIIygCdLVD7qVaAalPGd4IYzuck7l0BpMYGJdoQzb3caGnOpkilLmAiMZQYFBGTH4iTOfj73Ai+ToPKrB0ait4fcMgNHIRjEK2SZy2/hOHw+0J5jerpOcvgOws6NexZ44ue81GNM0NN8Om27G6J6dMekDcSdQGm2ges+ez0Eph3TboHXNV67LFkYRjkpupbtJmY+K9WSWjZHtQ6D45l8h2Fr44+9zpRAShcDiLxOefw557iWDsWhjdTacVEdo2/uIFBens9DRxvYmvjPFEV6mLwJxD2+2uKFgrnmQ2fiI0uZ/kXne8ih8E4i2/L3NQKsDazZj1N6gDb8+8SHDhAjTy3Y27JEOGcOMG7E0PQ0UcS+n1sQQd2c9hCiN7kE2OZzsCie8gDmaWWBNNFwjmYtUv1L1Os/1RTfSJdy5a+nuNoIKxDK3n7FbtgtQQLXep8f0hKPdihdEjN150G8NIKtrqPlmiCQaxEgLpRikSW7fg4nnd1Mzceius2o3V7ZkLCiwlMujaFCx0f9s5tclWohcl18ohoIrkEca1lZBuTiP7eZeGtA2i1DDkRUu5o5YP20qSSCIDwSU84nYHb+o7GCklHLxTHcJQN+XVfXWgcREuvAoXjhFPT+FnhVGiAUSzWOlx2YhIWlJRJVC0y7d0J6Ty71d0Ne9HkXErukW3G0XVXufXXo/d8QheaQBOfIN47xPaWlk1jpPKS8o7zegAvPkj7o32HHSEsS5hqGyq048R7SK7AUwedwm5KFYWvvTsRHyfidekAz2UR1xj2NlXZLyXTPTH/+hZOgt3k0hI40I1hbF7NzhUrP5qRggpgjcMsn9mt8ZQ1NJ3gqQV8xmxNaOQKU0+bYA005B9s6rrobqaVGokJVUuLaCV45noatatMJd3G8zT52Jimi7tK2SRxlkNOaNwlKDar7yMlRHLG0K5DKleK9+ERrdy9GBunxuMoVuhPqG8Atn2EsmyVtZAUdoqiJqdd+nlxgy0ZmH+LEwsQa27evySab4s9e7GQ3tuZq2YHDusSy1LorGvV/kfds1biCdeJjj4GGb84sruRcvKoSsxKI+8ZQNce6tGDbpHiN/vtvDs1DAXDrg6XNmZQGgM0mtDzGP/epDtKMclnyQmKdvztLBOwCJIJp4zyX97/99PbfpfsmDoUg5AUTZWLWLrh7IwTzKpAsWKGZEfafIuIaynJkQSaRIBBGJO5P6X+wZIWCrfL/5CCD2boEeSXa4S3G3mklVMSxiaj1m+PBRyzwRChEzM4Ow+LevzBjY5H0TsoqhOJdhKzlqE0KpGQRxcvX4Ggs2ddM6nbJP58rMubpcvlQmrFjWcM0OrscK/ELRxfhw7cQHmG9lSfWNBWPH8suV9hf3o+vzgANz9ARi6B858g/T7f4knVLqrCYKY6qrQIdfDmt1auEVpldveWroYNyXCqGNqx7AzJxxdU73VDJgSky1m5vRh519oO8n8p6Dm2Wvs/wVjP/uBQjzXeR64eUUw8lmRngY3w9KLmUTJJBYE59ZsqvoXIhwiGCII8lspStne0rr1Q9ZMVBMGoqFrIPn7/mtAuBqymnUCZUXLCR2MeM/NKd3mQFdwSfbhECfQhbVWdh2qzeLF56BX9jFLdDUbiTiKQ+575H/CY+ycc5/XzXLFLPnQlJBwVht32Jdf6UILu1Lb3Um9HO19g3S+m8MsGyyLRlsfaPOJLNmUEy67iDe9PXDPh2D4VsyJL2D3POHOza+VC5OCXWth+/2w+m4oup0XmTyAOf4Eduqw9hMRTMds2IYV/0023lHFn0VK2slHNu4bxp7LAgCVGvFV5EfGedOeoPyVu3T27Sfeuy72vS8b7M0ZvTJ7fHEiN2Mi8S3GsyykS5aJzbKh2PYAUwzV15CeTbIpiiP4ekqwcRvMiGPouBbaQqGd+Q4iGNJGWDx+eV84g43/p6rzd20qiuL45zyiJCExpYG2KBRLCw7tYGNFChYHV2cd3AvFf6Krk5uDe3EVOnXVwUErIpS2qGBNAxZjfJhiWtP2yvfc+8QOWQLv5b2b8/uc7/e0MYFUqhMRwSpNzQ4JIjj3Fc564Aw7zgj9D1BueIpL5Sqo7+JM9MrrZYHqoOaP4hIFsqVAqGq+QItO9j1Ftu8d0NI19ShEh6AKuYhVtPMrAYxt0CfkXUz5vqaeUhX03FyVhonGxgjT8zA6jV3Uui2tNh5gvY+E3dfYwc9YL5HeNBqEmw9g9AbW3iC8eeEUUufPPxGOXL+DzS0TTPUVlaV/Y++eE7ZfJdLECzB3C8abHjfR+eSzmF5PcqBPXBzs7zcyBb0u1u148c7hADrX7PL70rB2z1aedP45N1mMs1+D5RDsIYRZAnKsUJKpuhYrbzoxSeRAhGUSjoYo8aI7KT6yFupiplTVtTats/RrZBFOZOaPYtxSFWRNWvQH8r1oiUZmIEvUyaGsWfZ4/4LbWjcdViB/60Llbfy6SuRF060w27omaf9pBQ6/Rgun/op4q7UlR67MBS2iylzbxWbj9EwFEjmx5arY9G0XPu9ALmxrCg9qZZhdgCut6NNd8vXP6/d1ABqOyaG96QBu6hMweRuqk/H7l0+hJ3biZCT+905677uPoLmUYiPR7H6B9cfgqP0zqI3D4nwazs3gxwFopXX04dG1+lxhqmLKGPX1/EI3HW+ZDdeyS61ndn/VU5y/NX49zNWEnF4AAAAASUVORK5CYII=";
|
|
9524
9875
|
const Yuandan = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAABGCAYAAADiplcmAAAAAXNSR0IArs4c6QAAIABJREFUeF6tfQeYXVd17n/K7Xd6H2kkjbqs6m5jYxtwIcYOBHDoSXj5gJAQ4pfKe4EAebQQQwIEFzAlYBtTbWKKqTbYuGIsq1iSZXWNykiafufWc857/9p7n3PunTuy/L6c75Nm5pZT9l57rX/9q2wL+tiOs5Jorb0TFt4CC2sBtMhbFhAE8kOOQL0U/jTfNz/5/oJVK5FIJeWLvu/D9zz4no/AVz/nvubBk9c9eS/g7/yO7yHwfXUx9Z++rroDvpLK52E5TuNthH/btg3HNndv7jz+cfWa7djItXWE14k+Ef9O9LtlqXPy/ngfQRDIPz6z+ek3eU3eN9/T7/NrgC/jrP5TtxHoy4VXtQArNgH/De9PW8B2ILizkJr5wtpnn63oKQc2Z1YucJL+DwBsqh8ufTvmBqO50ZJhwZK7NFOmvr1w9SokkimZNplgEYYGgeCEm8mX95RAiNDo340QmYFsnHneXbK1BfYZC8W8sgPLsZFva5//Aw3vWHqZ+IGZTP6UWZV5DXz+pEAH8GXOzXtKaOSfvMbFooQqek4tGGd8N/8NHwyw2a2Wrxs6/MyIRQ3h50uPB7A2heqg2TVEXTTTF5QPSwm4fntozWq4qaQeHKMp1Ko3GsCvRcJC4fC8mhYIvh7/3YOlV1ez20q3t72AUFhwbDumZZprOcu2kW9/MULB8/C51cSLEIhAKM3mGyFoEAajSeKaRQQn1DKNK69xyTVquYb3LQupDWthJROwchkkViyF3ZLHxL/dFmmh8BTx+ZQXN8/uK1xobckPvwewPvffIGvhKRaetUabDw5OpCVC82E0Q/izUZt48Gtac/geF9M8BiuACIXrznv7tm2BJkQdXI2U7bgQK2nmZ+ZoiuaWQ51Kj6eYOzmvXvnGZIgl0FpATAPfF7uhzYQfEwRlUqBNUfgw4UKLrbj4kza87w4NIrV2NWZ/9QiCYimU/o4b34Hp7/wAtcNH68ep6fmDv7R2dK15NEBw0WlBQhxENNNsRuA0ABlcuQJuMqFspzEFBkuI2dCmJDQZSnA8rrYYllA4xI9pqPpn4mUT2QwQTvpc2VBCYcEKLLHRGgnIKrdiOMW2ndNrikYwpcdBzEdMGzRqgshM1GMO9bpPcYGlzUcoXDHcZuTPDHs41DGTzdfSF50Lp78HhXvvr8N9/H5iaAFqR47J2M73fbPsbFiPWSOrLpnygRYOkMI4kUpRstAMnGlAZGnLSiAXu+v2nj7YrgJ/AsS0fTUDwZ8RblATT3PiBWr1yOrja74vKziRTEaz3bB6K6USvJp3ek1hGU3R+DE10zyl5VjIC9A800M9MM1EhAfMszYKQKQhlJmoxyHGlFgJB4GnFkYcXGsDreaiDnyq2UlfcgFS527AxGe/NOd9pdW0txD7fqg59fvKRMv5p61Dqy5pEIX4GjLiGKkHPoBRvwZiWFyJoiWUT9DW1wdHgz8RClGpesD03xQKM/GNQqE+S6EIYFsW3FQqNlP1S7ZaPr1Q8B55jvjYNBNzeh8vWigCwNMrnk8e4YLICwk1RR1uEHsYLha7rQ2BV4VTA4IadYcHP/Dg9PXAXTwEuC7S521EeesOFO5/QMmF9kQSK4bR9Y834ti7/g5BWZyHuveNBjBrXfsF4ffr3tfTbI2svkSB5nCkmtkvJUWhujVf1ndgy0qMBKe1tw9OSw7BLO2aWflqhYgWkIHUbip/F6DpyQCr97VQBBQKGwkjFA2mi55P+YU0BbWZVn5zYFVM1ARTCNBsFJl5NKUeTWo3I/gKWmgvpE4INAAVDKrMBsfAXTIEqyUPJFy0veMtKP3g1yh8/+ewHMBdOgR7sAfFR5+UsUImjQXf+zJO/O2HUdq8TU1+MomBr/8HTn7gXyj5sNtaUfrtMwA1Z6OdOJO/zbweXn1JEDrEDeux3phE9sHKZxW6TSQE5NGdCwmNIEB+cADO4oXw9xyAP3JUrwiB5DJoNMEGa/A1rjAKBTWDeP1aS/CzlmUjmaamaD45lWJJPJdmB4Wdlk0JRaNI1AOluZji9EDKrCThUkK+gfjHRuL8TTLxdmc7UpdcgOmv3I3qzt2hG8rPZ6++HKWnt6J2bFSeP7NpHbo/8QEcvebtspDa//4dmLzpdsBWpo3oo/s//g+KDz2Gia99Sx63451/BHfJQszc91OUtz+Hltdei+SyJTjxgU/o4YiRTE3Wulrmc0GiJUJhIEITJa0WROyMAZD9/athpZLwpwtAsYigMKv+8fdSGUGlgqBcBWo1oFo1oL9uXpVGUBekPROOgl5Bw+w6rotUOl1Pmun55WcrxeJpMQXPGF8kRl02vkaXtKWjHlPUKdDYfYm46JunMCtvUrmm6de+CrP3/AhBrSaLIX3VZci//Y0YfcO7Qnc1++prUN75PMrbd6qxCXwkBvqw4L++jpHL3gh/toieWz+C6f/8Lmr7DqN27ISY7L5vfQ4Tn/0iph9+DHYui6H77sD4LV/F1DfvlbtzFwxgwd234cClvx9jGBuFu1FQ5mpG6zAxhQCRyE5Fz18/ReEgiVsXCYqx2Y2LWUMXZT/D/9TZI3dNXUMhcQWkjLDwdRGKTKbBvEV3WC6W4M+jKZpeuKlOoQNjI98gFPN8VD0MtYMF0XBKAwaweruRvvIyzHz926FWcJcuQs9X/h0jl/+BCAoxQu6112LsX2+OAdQAmeVL0HvrTRi56m3igifXrUDuuldg5t6fobpjD9KXnofcq67A2Mc+jcr0NFpedx063/M/cPDatyCYnZVbSiwcxOBXPoMDV91QJ8LN9YH5yFx9YR1efWkzDSLawbB29YOjhCGccAPk6PLpdR6C3WajqgEMNYNh/8xq8RuXLyw4rqOEYp6j3FRTxIRZk0L1X6+D8PIWWdF8e4cIH+V9jlJtWHAi1PQ+RFPQ5AWwhwbR9sG/xtRnv4Tq/kOonRxD+pLzkXvTa3Di3e8Twe/593/G2KdvQ3XfAUVyUqBsC22/9wqkz96I8U/conkMrb4DIHXBRiTXr8L0HffAC0rwSkX0ferDqOw/hLHP3R7OU+6qy5G99AKc+OC/6oWnCMfIcBqtqV6R+27yvjWy6lKlKWI+u1IC+rUGWxSh0miYyQPUaxdlBmgW5GjQUGoslLo1oy9xAo2qw3MFWlOQizCoIE65A6BQ+DRTsbBB+H1ely6jT2xSz2Q2mlhlPjrnFb7GNwxzSTxjMAUxUeryi8VbKP70QQSug85/eT8mP/NFVPbsh9Pfi56bPogjb/wzKHpcCRMcG/0f+1+Yvuv7qD63T5F11DzZLNIXn4va0VFUtuyE1ZpGeWoCfrWGoW99Eac+dQtmH/9dODb9n/kITn32drnWiz3iU2SNrL60zvkwq7zuQ7EBN4NreG3+LcEhrU6VXMaWGvkKxwndJXOzIWLXLwh30eRJQvNRN9PRB5WmqM47Boon0WcOV3vMb1fiJJqiEVOcbmAVjQ14tZpyRUPXW3kaVmsLcm94NWbv+ykqh44Ivsj/4fVIrl6uVjJBtRaMxNAAOt70Wkze+jW9SCyk1q2Rc5Y3P6teSyaArjyKew/IdYfu+DxGP/YZlJ99Tv5OrVyG3OUXY+yLd+jbPo3X1Gylxh5WCYWJvpkJin9A6xCnsx35P30z/KkZBJVyePPJdatQ3bYDHsFQOiX0ao2DQNA5q4EnQShtrxp/9UMPYigkHNd5hCKdzUbmqu6BLJRmZ2Vi5jvozqlr1Ss/w+OY79H7MEIht9joxhqlp+XJBL9q1UhTqIhpgOTZG4BMCqXfPKFMDBdMuYL297wdViaDkx//bF0ktfNdb0PxRz+FXyghsXgI2ctegtKTT6OyfTeCKsctQHLdasw8vRlesSy33Pmut6J25Dim7vsZ3K4O5F5+KSa/84MIkL2QZ32a962RNUpTqHFgTEDbnRgwCN+f81qA/l9+D8Uf/hzTn74FyYvOQ/L8TSjd/wBqu/fWmSQzzgZwGkIrtC0+QEzRqNapKZRQ1B/mmcovIBQqOjs/4xkKhWiKF2M+lEZgyF/4F1qBhQNwujvFq/ALRREQZ8EgagcPi7udf+3vIX3xeTj+1x8MTQ4ns7JjF6xiGenzNsHp7oDd1YLMhecjsWQxylueRfE3T6Lw8wdROnYymnTXQet1Vwuu8AuzqHC8GwevcaWc4fvWyJqXKoLTBAZi0D+CmnNgl5okx0H/L76NmdvvROHO7yF92UVIbFqL2W/cC2/0ZBSzMIBGS4QC74ZWN6pDEzuhJlBP5CTofWRDExV/Tn5TCcX85kNiKrW5nH+jo+Y4Nlq6umWC65mf+UdWFpBtSzQyde0rgHQK1c3bUN22C0G1CnvhAIKpGXjjE0ozZDLo+NQ/Yfa7P4I3ekJMSmX7TjjJJBKLFsE/dhJBxgdyLuD5sJ08rFQC3vgkvGoV/kxRxVn4jy6v0OFz52ZetTnHOQ/1dN1XRCiUPo/GwoBJDRdDpqJutROxt7Wi9/tfxfRNN6P4w18gfc0VSKxahpkv3oGAak459Or0kqijpiISiuiBCG6Npog/qJtIIJXNKX8npvIMS1kqzKKmzccc50XbfK86v3kxo+GkU2hbuwb+oZH5xzT2jpJvxUraixfAH5+Cs2QIqVdcAmdoAcoPP4HiN7+P2oHDMR4D4mk4PR3wZ2YQaNPjtrXCckgGJmF15GC1ZdR8TFSABBAkbXjjBWF+1ZqhL+wjKJfhh9yQ5oQMfmryFPPJjxnL0CKI+dCZVeEUxcxEo18Rv1Zi5VJ0feEmjP/F/0L12V3IvPqVcAb7MX3LV+Wh4g6M+Z4RCxVEUq8aeRSeosFQiPnI5cLLNn6CQnE6TUG8USOBdpojsXSxgDTr10/Iyp73YnXnUJouMbwI3sHDUcYVn8C2hZNQeFuFz+U/Er/pJOz2FlitrQgSDPRZsDMuLE4yhbdUVVqlwklWdHXg+KhNzQrwhMSM1IRZbgJWJi1YDq4NlCvwxqcUqUju5sUokdizCdAMg2cNwiEeXYMyjda6hcyrrkTLX70DJ69/K4JKFdk3vAaW66Jwx3decLWZ4FE0AZZC8fGDwTAjFAYp1tnFAHFNEX41dh4KBFWvEb7GG+PzUCiCsXHkk+mGtyMPv9kDcfIotCpcrs2f5kUM42lcV7qpVkcrnKFBOEsWwW5tgX9qHNVDBxFMz8JKuXA622C3tchE06RYlCJq0HJZCQpTBCgkDJrNFuGfHIN3/CSCSSXIdktWxVKIo8YmxCmgRnmxhyKvTHQ1PnKG1Gia9aTQRvsn3o9gagpTH/+s3Hzu7W+Ef2pM3LAo3NtIBkXmJFITfM1uysMTU6SzkaZofEDxPk6jCaqVCmqVuFDEYbWayER/H/wTJ9HW3X3G4ydyR6FIGKGIzKKEoY0QM1c1n4Pd3iZCYff3IrF+DezODngjR+CNHoF/agL+ySkxQf70DFAtI9faAjfpArUAwXRRWVTyQY4jIQYw/tTTCbunU9zV4OQ4/L2HEEwXRDCs9jxQLMM/MQ5UKsZ+R4mfcXVo2DpZAxaskdUEmupotMkR1VmfkMLPugsG0X3X53Hyj94L/8BhUfv5P/tjCfyUH3y0ngzT54/rAWU+omXP8LuAz4ZpcRKJOvNh3g69j0LhtOahVq6gLCFlzd4J+RVlYPF1p68XmCmg++qXic2rPv40AgGvp/f16VEkJJnIhMo110u7SbVOrJDNIGDUkhHfhf1IblqPxDnrBQ+UHngY5cceh3doFMFsRT27HoCWrk4kcml1r5XTeE9cvNk0rKEBwTbBxCT8HXvkmnZ3pxBpAbVJYfaMBV6Eoo6Qiv7QwXJlU+JAkWqs83MfRenBRzD77ftCYcq/822obNuJyiNPRkqAArR0MZxFgyiJsBgJiabfXblUqcLxyTk3rjBFXqcxxwCI/voLaYpKqYxKWfEqIoKNbocVwO3tgdPaguzMLJLnbRQuofLrx6J7iZO7cW6OgSydACQCzZNn06IF6IkEpZIEC2y6mW2tCPwakEzB7u4SjVDdtQve4REEUyWgptU881BIuXd1guBXDby+eZoCYgqNVxoXiJVwYQ0vhL1kIfzn9sM/Mgqrsx2MagfHTiCYKTQVjHBIEjZAnCKYInaYtTuf9iAl2/q+96K2d7+4nvEj+/rrBURVHvudPLTPPMFKBe7SJei89V9QuPte4S/8GR1VJalVYzJJN/yjo6gSqVPVxQ56H3Gg2fhUxUIhNB8MMXPWaXPNUS6WUSkVZcKcthak165Gas1yFH+3DcWnt8p4Oz2dCKZn0K55ivRrXonSvfefdmUZTSelDFyt/NneKgJFd5Qq3e7qFI3jHTqC2tgY7JQrk4RMVnkNE+MIKj7sXE7C7NQqghs8D+l0Go6jnkW8NqYnkB0mhiFJxjEcHVMaQGsikzhitebhbFiFYHwC3u6DsGi6WnLwjxwHTO5mzBOgW42sCyvjAL4D5ZLO8VWaRIUY+OrqRMu7/gjF+3+J8lNbdNKNUSMWmDiauf5qWfH+yVOy+v0Tp2B1dqDr9k9h8kM3CdEVPzgQyfPPhn/0OCrP7xNVEDdjjkuhoKaIS652bQKgNDujzYcFN5eB7STgVUvwixUxR4yikgrnYCcXL0Rl30EZ/I633YDJ79wHb2xCBjzR2oLWVEYxymevQ3Xz9ojIa7ZodBJNqiUHK58TcEiXkeemZqAH4B04BG96RlLsxPNwqeozsNvzsIlfEgn4s2Vgegbe2CQCcVNV9nq2o11loTfzIIgrOloFU3CyA4LKQ8fE+wiPZALOupXCpPq7D6jPJlz4I8eAuIuedmDnk3JvCjC7sA6v0UAzZvdFW4VJroqkSl99BZyONhS+90MBMOH7GnWbSLrV0gJnsFep61JJNIbT3YXuO2/G5Af/FbM/+kU8xip5AcnzN4qqq4pQxAyrkFcJZHKsS9Kj0xCUKc0oTMFVaNeSsHn2rAMvqAhtXCoUUZotgjQ9V63Q9PQM164S4qm0dSfyV1+O8uZtaHVVLiiZSa8x87lOlAMEouZtZDo7lNlg0lFHm3gF3pHjiuLXNosuKr0Ne9Gg2H96BrWRY/AnppSwM51RBZGY3yfPmmltgeMQxCpoE85J3PviGDPjqr8H9tAA/NFTCA4eVQm6PK/rwqZgTE8jOHwc1uAAUCggOHFKXFgrn4SVUUBZFZ+osQ9jH6JN5gRZ1apNvfQiVLY8i2ByqmHKTBA9LlExqkFPIDFFzzdvw8QHPoniT35ZJ/0iFOdtQnCMQrG3DmzxrMwKF00xz1EqzEhOg5vMACUyjFS1BHo2fMtD6dQUiCvsbAaJZUtQ2b5LBJF21s5kUN17ANmXXiQCk3r+oEL1dAMFmKkZMG54CLcT9ABSQMKGazmw2lqEY/BOjkmSkaw4fjeVhDPYB7uvF97UNLwDh+FREMTP1KCaJoHMpEkR07RAJpdX7u4LHWaRUDiWLBTPw3v2eZXcxCOVgLN+Nfx9h8TMWH3dCMbHYCV8yegS7kN7Umola6GQLzdzyRtW5bxkyBzzE0ckAdxlS9B9920SE6ls3SHagyQRWT0OVHLTOoUpnme8pP4Q74OlgfqUcbDI30uFgqwISwhUSe5QqtoBrPYs/ICTNSXYJXnhOXAXLRATRleOPj5TCcm+JjetRSqVhs9g3vR0w13oweHqSiRE6KykA6s1B2+6jGB8SngaE0K32lvhLF4gqXlkNMlHSJ5lmMNJ4slB9u1vROHu7yOYmla4RDPA1MKZbB7EU42HURTW8CI4wwtRe+DReqq7rRXOqiVKMGaUx0GMYS8bgr/vIOylCyQH1D9xIhIIjplkyKlBloBYONkxIYhrKaPQ42H16GYVMg5PEpn7UPUllg2j++5bMfH+T6B4/wPqq9ontvM5QfxgzkBoPqKzC9DMz68pKrUyAgYOa5rc0QJhL+yDu2oY9tBCVB56FJXn9iIgS6gP4h9Gc+3WvAgpNUwm39p0fYhqT6cUmARXNWBlk6Kmg2oF3uiMaF/GQKyBPjEFtSNHhVQygNSYEuE4SY8vHET+r9+F8Rv/KWYatVZimCSfF9PZ7LB7u5F482tQvfv78I+dmPMREYJVw/C37BJMQcG3Ny6HlXKAmRlY7R0Ijh8HmDpJbUFgHjKgRlM0FhHHcGbIi0v0VK0Y+s5SXKP+Chm9iEOPQAlXuLtiGD3fuBXj//gxFH/yoLKRspzJwuWlZoEuUzNNQbs/d8Wo+7BcG4HPle6p5GEtEHQLuZJ9j0xgBtnrr0TpRz9BbXISfkmBMSa8+MdGhWGkd8DrZPKqprruoJtHlpCBL7+inl28HOIKZVC8ogckcuId0K77s7PahJgaUp1+qNU0z5F902vFRBXv+VHTiU/nW8R8xBW4/N6aR/KP/xC1+x+At3vfnPeNjrZ7u2AN9MLfukvGxV7aB3t4IYKDI7C6uhSonSnAEg2mak2smqdSFI6uv0LFmQxzEoYkYvo6LBTSYmDUjMkGNhFPEZYo19P4EYyR9Nx1C8b/98dQYkaS8AW8qiUrNXnOBuD4SXFX65KE57VXinBw0mlYRWppIxDKdNgcjFMn4bsW/NESkutXws6nUdu5E55HdzEt30+sWyUyXX7osblCQfCXzWq8UNXI3oflMoGSqkKxi8hmYKXSqO09Bm+cZkCnuYW1pCr+YcCSaA7yEH/7bsx84Q5hgMMjZK8s0Y5MRaw7HAeJP7gW/v6D8H67JZbY1EyuLNirl6rJpweYTsA9ZzUCckHkVlgAPjqqkp84FV5N4i+CKWZfdoO6FV2Rpcr/dW2CtAZQUmRqMTyTyaQfwNjR5relxiKxcpkSivd9FMWf/0qtci0UVHXpczYgOH4Ctd37IoKp6fqJXrSSLhw/CdAiaBwh9+gEcFcPwz88Am+6Bos8gGsjdeUlKD/4GyDjwF6xBHZfv1xPBJGupJgPrSlcR5E+rS2K8CEQJKdCVUwXriUJ5DJAPq8y1wuz8AtleKPTYDK+rJmwckwLiWSWRfV2whvQvPA1joUItlbZvo9UOqPjKrGBoKC2t6mJbYhixvkldT7AymfELfU27xD8YC8bFPpbqHAWIB05GrmncfMRF4pIMHSBiwiKKvRVtRi6mCfMmlLUtCDYhgQc0T5a9zGc3nvnLZi547uobt+p0t+pxskfOI64a8HhowI6mzvmDRJCXiGRQVAkglZaQuYh4cPpSsLdtAG1HbtQO1qCXapKLal73nrUWETjWHBWL0F1/wF4E5xwRXRR21BlszCHNlvoaXogDC5xEoRUUySSPdgNqyWpsqglollFUK7Bmywq3CLqWLl5UWBMq2BxBfPCfFr0gohTaI5ExejwozClKVjkE6YLEhMhtzCXdK9HfmbMaVaF6KKZXLYIwVQB/uhJWG05OGuXyQK0ursQHDumvSXOL1Um56WmNIWYOq0B4qV86nelOUwDEekfoX1aZXaUVhFtU6cHw2xNJFevQM8d/4ETb78Rtb0HwhvhJ1j25iwYgL9tJ3yi8FCFxgTBgBX9kkvmr8CJ1L69w/CyDbT6sDJJuGtWwx9jBHECODxFJwDO8iXwDhxQlVT9PfDHTyFwLXgnpuX5eK50V48U6XLVBlw5pQqCk6eUJuG1aSp6u4QsQmVWvBtZ+8yLKNUkoZb1LjIerAmVBcP4OiOkbbC7OkQYqHFUqqJOV6xWov4Vli2CniKvwfgJXV9ms8/MwhsZFeEMhSPu5Cn1KzgLCYfp6Uw1FzzEmIu3/TkRFGfDSmBqUghFMV2T0/BnygBjL9UG8yEV3mENZ1TgK+V9oQmJhMN4oVGuZZ0C09OnVkdi2WKkLr0QM1/7tgamlspY4pwmXDhdnbDHJppGSRutiJVOwqmQ6lWVU7Ly1yyDvaAX9tJ+VH79kAyiu2wpKg89BRydEhfMXtAHf/SEBqPadSWNTME4OSP0dGZ4WGk9CsXUlEQeQzetvxdWJgX/8FFxP+XBkq4QQOQo/CIzoSg8uqaUnEC+BXZft5gh0tr+5CSCiSkJhUeZU/oJRcDV78KFMbGIhBgjpSnmTRDftAnJFzDy2eygeWnLI/HKl8FjSuAeleTrbFwFb+tzIrz2ikXiQVnpLPxDo/BHx7RAxkxzI6aowxYi7armU/IQteCE6fkcAm1SXgACzAk4KqHQXgRBX5JNTuaJ/ZvBcmw4bgZWSdcD0nIM9cMfHRVvwF6+CO7Zq1B55DGkXnkNKt9/AMERCoIFq7cDwcSExh8UJhOKthFkCBZbkCR9nEwKNS92mwfNyfCQrFSJHRguQTcpQVJX19NsCLaxFO3d3y8sJ2l0Aj0mNEv6HHkRCpWpPBcp0P9RLjT5lshl68mrdEJocbuL5NO0upfYIbGdwX4krr8S3rPPwfvdlpAbcVYOw2ek9OS4LI6gUISVyyOYnJaoaiiNGqfMAZpS46mLfutMiQiFaSRiJk93cNHmw1nQr3IzY9w6b9Q7fkKBNW1kJHIoQqFbBHBl6B5ZpxMuAZeZLFDQuYk0C4sH4R87JhrDdyy4l16K2oO/gdPTg+RLL0CFLjBNAXFHcVbnJGiCi+Cuo41NLgQ/JFvbEBwdDaOJtPn2imFhAw2b66xZDp/haVLZJvxv8FQ+A5sUfyIB7+Q4glOTEiJXn/OBFE1HWUU6NQXe7HlJXae6W2G7iYhUpBni/aZpinqVoJFBDZSZdjaehcTlF6Hy419KzMXU4tA0ModDcNzRE8JokqgirmEQMBiLRaa1XQqFos58mKZl0kdCNTAzmIN4QmmOyD2VvwG0vfdP4S4fxqm/ej9a/uSNkibmMsZfraG6Y7cCYNWqivDRphKokXUrFuFSBUvE7/T5lBQMmyDNt2HVAjgbV4ungZYMqruOCDvqbd4mpoXxAGfVUngHDqrcS21uZBTFw2gDsi3wx2ZEVbtkHlkpz7XT2wV74SD8Z59TGEgfqff+KYLSLMq33Rm58RRwZky15RFUy7ICJcmWNjr09wOAgHp8MszSmjenKyDpAAAc1ElEQVTp1raQ7O+ATfKKOIHmzAB6LkDHhd0/CG/nHm3KAHvRAoAJwvSWTL8QrY3EhGXS8PePwOruEHBNrCFCoTWiqfgTENAcaJpudjFvw3geWmOEHpFJcyev8s63CX449Q8fCb2R7DVXSKicNRAy2JrHYJ2F6muh3FNWlptaipAkm5enYKjahZNLC5fgXnwBapv3wH9ur7CY3p79sFtzUnuiCK0IQ6hopXY529vhj07KCmT0kOZDkmEWL5QEGW/bLqVlQmhnwV6zHOl/uhEzb3mP0n7MH00nFU1cqyCgNeFCInCr0AlV5ZEMlxNoevsPhU9lnrdeW1iwcykkutsiSt129Xj6Sgi4cFwC0Cz8PQdD6zMn2qBPLO51Vzv83ftVphaFgjiHAqrjWfF7iDSF6R6jayOjNkOxnhFhi6KYpvBVbwlKdOs73orE4oU49Y8fD6+RueoyWX0UCkHSlN5KVZqaiP0kTypCkdYu2Quik7oPWLkUbDBtjTHvNNgNBtPTElomcRMKhc61kOhgV4eKfRwbF8AqjGathlQ2D2vlEsVMblearf5QKty5/GLUHn1SIXh6HOOTsOiyZhPyj3GWYLqEoKwKeTj57tpVyvMqzMLu74Z34qSi5nWlmVyHDGkuLUQbPSziGya9iPdCgaW5NZHeSgVO7wC8Z3erLG/jkhgKNL4AO9pg9XbC27kPdn+XJAWT72BqA7VFeOjHnSMUpm+ElLTFgKVqfWhcVMXQGVeWTcvsXAb5P3kj3N4ujH3oU0hdeLYQO0yKpUQyEMbAlc8w7syslOmxWp1cBn+SrDFpbXW5E02NbsPacmzQK3EHBwRRM9gkFC/JGWMypM8DBaIdVk8XgskC/Nkq/MNHhFvge5lzN8qKJ30cRg/nioWoYApWQEqb4JVCQK3XkpRJpTsbTKicDkMyJS67GJUHfiNRWIdCQY1hQuXULqS06WXQ20i4cMmmMt6STClhNwJCEzw7De/YcdiJFIJCWe6DR7wkPAxBEL91tsk9+7spFD0ISlW5f+awQBctxWVKmw/NYMY1QR1ZpbmKOqCpL6u70ORedSUSy9meLyflbDPf+6GopswrXgp/poDSY09JXgV9c5oT5gooTcHFZyHNjCXFmMwxGs2r39UwxA9GJp2li+AuWYzKf/1UEU5h1NQSDGH3dIsn4M/WFFlGVcz4yoY1SFQ8oZAjVtrQ0/oqJK6WLZLVy7xUPpfJQxCh6MjAas2IyfFPFRBMM+/Sl/Q7e8kQqk8+DXftSnh790sgTbGYRMu2ZMGLFmMicDIJJ6tC+0hnYGVookwqvytA3juwT6XbteTh7zk0v3qlR8MEm3wO/r7DAoTpfYgpY85IPDHHmBvjkqqSeu12xphL05RMNIXwGFFbIhF0vo4A3f/2zxJ1JChiJza25ys+8Btkr3mZVEiVHn8aDlcoU9NnZ+GK+dBBMcuS0sCw6+yLsyAKq2TSSF7xEtT2EVQeUqlvJChUoogKHw/0KVq65KG2+4CoYk6Iu3GtCHDiONG8r7rVGUaWxJbkRqRgn8WEFRXuh+R9agGmMFM7dWeBjhbFQRwfhz9B0BrAvfJy1H67Wa7HEHZNglQUBkVvC+FE88BwPAuCmIeRYzZXXnCDxd/JflJ7kF6nxj02itrDD8Nq64C3sz7loJH5tAd6BJzSY2JcCLNFlXdxhFlY2iuMmx0lFMrLqKezY0ymbl1o2ExTLGwGrvVv3q3qGKamha2b/PyXVaAlCJC77ioRkvLvtsLp6RaBYJ2ly0EUoSD3byOby87PUzRR4XXAiNpmoF9SAMPkEgoKs7HyadhteVjM2KbnAxe17XvENSSWcTatUTTwoRGkUqzM0vR03EjnMnDWrBR1S0BqyvXiQUQrYcEaoJpuE8zkj5yCP85EWRupt74epa99C4nz16N24KC4gYEwl4p8Ey1BLJSg+VBCYedaYGdJh+ck5U7S9lv5r1V+EuSW7rgblp2AR/yjDUhD3qIKOg4vFDPBTC+mCqpwuit8TDPcpDGFcT1j8Q3jlsbobwmGCY+hq7jJ7Wxah7a/ezdOve+jyL/ldeLDF378S1W5VK1J8gobeEiqHSV8ckrAFnMv2ZFOFrJjIZvNnbFQzI2PMGO6U4BTPQqFYA1n5RJYCeKODGpbdov65DkcRklLZXgs77dtpNLZ+tXPIWWtBrPN9x5EcGJMBwd1YCvmliNlwx7qgt3fKVS3f+A4vNEpOIuGYK9didojT8K9+BxUf/YrZfREU6hUR2IgAZNsN0ChYNJutlW4BGoHurJMMZC8zA56Eh0CFMs3fwn+yUl423aqx54bHFHhmrUrJXlIvI5cRjGvpADCsIKxG/o0cU1RHxCrxxEhT6HBpqnZkK52wi1Y6P7IP6B29Dim77pHuXkzBbS+9fWY+eHP4J0a16SWosOpKQg2+ReBZjb/YoTiDO2L68JZ2K9sdiYD/zDzIifFU3JXL1OmbtfesAl6Mm2q2xVWITizly6Ct3s/QGZSIWu9JnWagDYhFoViaR8sXo81ns8fQu3IBFJveh1qv34E1uJBCW7Vtu0QLSGJstQWFFbRFMQSCRUgS2Vh5/OiLcR0iIZggU+bRG8lhtKSR/lzX4B/ikKhelTMOTRT6p67VkVKyaVI5xxH8RlSJDRXniKgaUxE6Jpq/KC9ENNMXXCHdIRT+ZnEFNLcNAjQ88kPSBeVidu+Lldy2lvRcsP1mPzSN1SGs6grJdFuqClU5TaFwiTsNM8NPENBMB9jsuxAr3gDtKcSczjKLKVAiB4GqLytO1XikCJLkKQHpNlJqb4aHoJPgmgyCtQZk6Eq9TUs5jOlXTirB2EvWSRgurZjD/wj08j8/Z+jdOtXkLj6Zajc80MVUTVCYfBEzHQoTZGBnWMhETPFs8IpqKqvVlVgxAzuwizKX+E4O/B27NHWw6S9RZEyPr+zYhi1Z3ZI9Fciv0Yo5ilGjjGaelsFAzLDTvoxAivulupoJgWEjTs4sn2f/QjKO3Zj4pb/lJvMXLBJkjmKDz+O5OplqOzao22YBZcxBRJY2vvI8kHFnkdU/IsUg+jjlnHDFFFD99Jj4iqJqc52OCuWoPrEM4ojMJ142NmXFDonm17KskXwd+2LCYS+tVjvbQM0pSKeQrF+CZwVy6XexXtmG5DpQuLyC1D91SNy3epDTyi6XTwi43WoWg7xOlI0HyktFC1KKAguTRkBM8CyFHIH/p59qP7mEdjZFgSk4anBWGJo2kbp9Aa6oOSHvJFjcg8i4HxKzdIafBn345pjilg33DB0rvtcGsrbABSaD+nmYgEDX7gJ5W07Mf4Z9n+00P7Ot2Hyq3dL7oQ7PCT8hEdtEdcUFIpEAnmaj9N1uXsREkK7Kb0hGGbOZuHt2ivcv9Du529E7XHtCQzk4Z+YRVDxRFtRKMRLWbMMAXM6mUmlhV/9iKh9NbLaheaPbALuuStgr9kAFAuoPf44Etf+Pmo7dkoBTvV32yRRB7bKvFJ1oTQdjvTGkuouyYhSmsIikcb7IYmVy0rklziNXg7JQG/bNsnKtpFAMMLgGHtWBAhIiNEs06twPFjMviI4ZryDmI7BMF29Lo9QN64KlCjzYZqHmw1YdKwjJKu0hqAURplXakDokVRFUwQY/PrnUXp6i3R/Y6c28hXSK9KykLngbAE21QMj4oGkurukd6QAKAtIsaKMgbNmXG1DPkX0JI2Mo+oNxbxLAmKbJoLZXBwI9oW46Bx4W3aKW2m1JpH9yMvFJav84HnUHjqIRGs77I2rEBBUnprQnohaSyEZJL/Ub9giyi3jwrl4LZyNFwAsUHr8UaRuvBHFj39KCKgaKXNJ5lGtCkQoyEtQQKgpGG1lrINCQbJKyKucqkkl25tKKuxBTX5qDP6unQI4mQ/B1c++Fs5wj4TG/UMTqNz7JJC04JyzCt7vtonZkc7+JNrIkRgsIcleEUIVSxoXCpNUE+7OYzKvmuAN06GKmqJKRpA7An3ndozf+p/CYFLCiw89rnMWgf6bPw63pxuTX/+OrAqbmufEGPzxcamQyjIphL5/k9yrZipOBrhRexBHMEkmm1LAkpFEdochYbh2BYKJaVGj5ntWdwbuBQskf7Hyw+eRuuAcBOx2f5RthOaqppBx1clFKtalPZGsC/el58A5/yUqL3L8GJwN56L0uVulvI8mRa5Lj4OSQcEQfsJoC5oQuqQJ4UREW6RIdafkb8mk4uJlfeoxVqqPwRlejOD5/bA7s3BfvRHBoSJqW0bgP8+C5RKsAXopJK0OAe0tEv6XYuc5VfpaKLTptgrkKeKaItzSKUquCbOu9M49YWINyasahaIqq73jz/8ExcefltGUHtGxay2862ZUD47gxIduEnuWZtBpkgknFXFNW1pb/79iH+HUMZooBFWvYikTLrxdiq5muJive8/smFcTuRtWwybptP/onKQTjeK0w2Uym6OfIj9pF+7LL4Bz6RUSe7EXDaD6kwfhPfFb+CMn4EtrCWIJ4hglDEYwxCU1bim1BQksobdJcydoX5Vm4f1NT8I/PioJPk5XD4LnD4o3wdxQFD34jMwyI5Ayt3EFvMOHRBDkGhVmiJWjpnQxuQ8Lr5WmeL0sgEg7GMAZbd+ksq90Npbezsmcj+6oMh9sIJ6A29eDKn3ihmPxA9/FxJe/IZqCR+u1r5DazsI37hGfuZUBmjlJNo0WT6vyBhMjyTos6GUBDm1ndye8rbrmgeaEOOKJzfU1lLH74/eE4Np/JGL45jxBmOYe5VFoUl76hTJqe/VLkLjyasEyzMMove/D8PeNwKfrp2J/KpVVMsENxW0JkUTXNKAZEQHRGoPBMLY9YpsGpuIzN2NqGv7EDOzBPlgzJWFi2dReuttUAonM+l4AK5+Gc9Ywalu2S1hf6GxiRQqFaXann7GR3rBmr3h9lKOpian6fbyiXXvC5F0JlCnkLuaDfbiN4g8TeHVXXskbdLH0mV9i5M1/jhJROVMLrroMqdUrMP3lu2Tjt5a2tuareK4Wn/uKzrskm0itwHAyJ4PXcc5dL5VRdckk8RWigaX/7PNwCNLmPXTRkxZIYzpMZJBpfYlrLoX7mlerCu+Dh1D65OeF8JJK+FAgdHaVwRUUDm1CRFBYP0rgqfuPKhDCROCaquFlJrZlwx5eIppP8kvTCcEmVsWCz8gsMwqXDwHVouSqsn2juMJMlibgFhut3NcwBSLM+wCs0iveYCC1ZhR1NlW8I6ypjYxtW6CkzUK5VMZMPPzaZFBZqjdwz1dw+OLrwlYD7b/3cmRWrUDlru/WJ/zOlxQQP2+d/8RU9hzs4QVwlg3DXrMalTu/Cf/QccEXJHuEBo6f14AKBsLOXa8Sek9MwiHN3WT1ROMV8z7C82kNQiB75UVIvO3NkulUvv2rqNzzM1jESaIddPKl2VWAaXlcMFoojIsqDKfWIvI+74dagBQ9E4mLZVh9nbDcDLznVQ6mfIYBOX7XcqVAivR97ZntsNhpT0L0PvxSWXkeoVlXIKIRs4lQqM9EwqD4f7NHhc5KDt/niSKam0IxPcV6h+hopBpyr7sOmYvOReHHv5DEF3+2hJYNZyHZ3Ynaz36tUtaoYhmsMpnTZ6Ih+BmG4BcNSDDJvfwS0Qi1X/xKWgI5F54N73RmY9liwPXhPz8iA+/GhKL+8loK6SGYnXsaNo6TeXnJJqRu/AvBL9Uf/wKlj/670Z9hG2hjQkIh4MBRQBgDIcNpIqcSK9QzQ5xAoSgzxG/BXrkM3rN7RXNExE7kTthLh1Rsg+2Owhkn1ojSKNXzGcNBTaaEW7bzqdcUsVoFQ9I0aId4LQNPWyqWMSPZO42WydxudGHWb7JrTOmpzei8/hqkSSKx8YnpAmPK4Rvdivm0Olcd4wBMIiFzSbaVRM5MSfH9TFbVuQbRktLDwdT3VUskmSaYLSuXlZXr4dJrkEop4WOOpG5ORveO8QOz1SSp+3PWIP3JD4k7yRqT4rv/QS0241Jz4IVA1ZXxBlvweU25gt5lyXRBFjMtHgM72PiwB7rFVSX30nQZEkOtXw2P+SvkKqTHha7NOcOFFgqFRptaQxhNoX4qrVEvMGKWpGF6CVMUiohZrWcljdoIgK4P/x1SG8/Cif/5QbRsPAuZpYtR/dZ/STMUBsoESDXxBefLpwg4AKyPnC1KB/3aE1uUu8UJX7EYtaeIX7TKD7eIVM9Ds8GIpX98PASOmbZ21dis8SAdXdVgjuQO4xaJQDyncH80FhO9/0YkXvly4UGKf/Mh1LZyH1jT60PvchCaLqp7rlAFOGULLkt3rTEmX4ace1J5apVnGdxbBm/LcyrSGXPfze/O0iGpV2GPDDmnFgrTnC1uKtR3zP/Rzgx1mkKMiNlyQbbv0X0WTAmcPGG09ybPVyqUMDk5t1dV47im1q1G/xc/jVMf+wxm7vsJul5zLTJLF6F6970yKKRg/XGVxdT0kKfRj8R5lrT9TinQsbvapVCGzB6F17lwo5BUHpOCZYOZOE7yJRXP6u9C+Zld4cQSXLcP9CFJ1rDhMOaV6j3w2NNB79bjV3SRFOtXHGTvulnC5uXP3I7a409FDdKM+jH9FDS+UOn8ui5Vl1EyKccyKXo6q14amTATcBm9K0jEVp1Sd58xE5tIiIb0trBMUO0OYBZ1U1IwZj5i9Bys0pVxoKlzBmUvi0YtEWmMeH1GcbaIqSYNzOLmhKTMwN23Yfrb92H67ntURPW11yKzbDEqd92j1GnC1fz93GzuyJroTWL4DRbiLFogGIWJtrXHnlbqknGLgT5Ut+4M4wBS4WY2tmNJ3vkbUN39PGrHJ3SKodrHjEKRYpsiLRR1OCkOLEVK1Ea1dMmVJ2bDOWcd/L0HpB+F0qRR2qJRn1K1LuaCoFBNrMlAM9eV8dWCIN4F/3W1wFm8GDXS5ZI9H9tfRQsdi6J8Mpwss5AuOL7iKMx+p1qdqOeaq2dCrSFCIXczn8mI10RGWysayZstFDFZJxRzh7Tr/Tei/PQ2zEi/K2VPel5/HTLDi1D9xj0RNUlVWhe5a3Qz9MNQNtgOkP0gmOJ35Di8w8dkVVBL1J5+Fj5BmMZDnDTFswQSrbUGOlHZ8hx85j2IFlHZZF3Di9U+p9HsKPEwJlTe0K6pzsiiUHjkBZgx7dqqxZCucVGLxwB1BebNw5qmbVq+9HVi1xItwex3VrknpQbUP3AU/snxOm8hbIHZ3gJ31TLUntqqGqrxeUni6WYqceU314TUq8ZIUzRsuBrHEmZ/LLV3afSQPFWxMItx1lY2A4MW0Pq666QZSWnz9vDKmYvOQftLzkdicgq1n6kq9DM5zMZGQgeTqKJ7tmIxvId/C5+sKpNRliyQMHFYOS9srbpnCoZ79hrBEtQSKklZ7ZFKs9m9aoU0UwtVrt6qQW0mq+ssTdsFPQ5s3iqreaBXiKQwO1rkh2KgdhBSNl0vPuOChKpI9x2X5G8TKVbCyj4g9rKFKn7C7jTGyYiHAxwHyQs2inYUTMV8Tl6PVWmGWGyyx1zdlMUUh1W+8g2ah4pcT1NGH9YlhEBTrRTZaUfPYoFCQXXZsKj5N3e+Y34m/8Xfz152ETrP3QDc/0vJFzyTQ1gRjSuYgQRmILVkpYUxayZ5r/bZa1WBDDl+jX2UcCjzwaCSu34Fqs/shFfgLoVE9EogmBfSvWaFaAphKOPPbPCVft1gLX6O/bQCrkymIx4+UhdJNYKgzEjEcSjtoJufaUFRSkVhOLWjEssP2Vk3A2doEaoEzTRVTWI+LJ7mG6x3oVZhkFH2W5H2iPWrtdn34+Mv71MojIpUz6x9WbOxuxkIY160RtFGE4VCAWMnxpSF0u6W8SDkNX0XkWOqmn10dbUjE+4N1qhmtMg1uKZyDrJ9CxcAlTLslcOoPbYZmC3J687Za1F78hldmhDbIFevUqbl+aUCavuPqRLIKvdU566AqnalZ81KsIZTiDlTTa/HxAiKmji19xd/p/cFNm2XZF7VplHtBqwtgl5Aqu+4SgIWgRU4ofdX0fuVcgBpQa08A2JJ2Jkk7OVLUXlqB3xd3hf5COoKTLxJrF6Bio452e2tglPozVlSnmiOmNEwUdG68TW7UAewKle+YSoAWtSc84EUyNTcd4g14ivH9Fzg5QozBZwaPaUeMJRjfStGLM2m87H3e3p7kKWqPk1UdI4E8wUW7w72Awz/drbBe4puXwBL+jDMqD0z9CqX+2QdBetMZypwzlkDb+8+1E7NwGdRTU1tEKP++eg5ayUSzImMaQkRhhhRZcyIwWFFVqFJDcWJKCYSLiQ1pmHykFlYsalS5YC6JiWfhM1qM2n3YcFZPoxgYhbVPfvgUfgaDkabExeejepTW0UrMDKs+moU6kodm6qXpoMriGfaqlz1hkeDABeFQqCWgR4YzphB0HoFaIk3aokU9ymtKWIWs1E86sERgO6+bsngPrND9deSrS77e1X+wcJe+MzNYPU1vS8CzN9uDffQQEca7vpB+AempFbUY0ebFYtR3fqcMKrctlIJhY7t1Hz0rF2JZE7ligpOiJmLyLWL8AWvO8uOvzodUU2wNrEa5AoQNFgihseUzVact51Lws4mlcchzVVtOMPsYseMqUNA3kXl4En4xWo0jkwf3LRWireFkzAdftlVh2EHySoLSZJ5qEXRNXVTYAV4jJriPf/P4fmcIHWZ1cgVDXmK+GsxNC2aYnoGJ8kcmlOb7SFi14o7P/wg/+4Z6NF5mWcmFnL7AjAXCpiz16+C9/CTarMZ5h+sXgrv6e1wLh6Ge9UKSYwN9o+hcs9O+KUq0N8hK7ayfZ+YjHCvdSYe63yRnrNWIUlBjZF1sri1gBgCL8rNDFCYmlGb0BiBMNtZa2ygNEUcL6g9xXjYrczaTilhYFib3jj7Xi4dgJ1rR+2J7UjfsA7Z169B+an9mLz5EXhHVC9T9iZlb9AKk3fYoqG7UzK3vGOjqg10Ew5irhs6V11Ygf+XVnDWDcnKoP14AGxqFIi4m2psYfgZfT7GPU4cP1kvbfqvmPWY837vQC9ykqx7ZocAM+Yqsn6Djc+Z0m/yLJcvVom5o6dgr+wHZph3wISSGoK8i4Ch6LYe+IUxVJ47Ak/CyCaLTAuF56N33SokuI2EcSWpxmM0f3x8TJS4MDkt+SRmt0EjUMJEyiKL9j4PNYZurOq251TYuxbAYkyFArFuoewqUHl6K/zD09Ii2VnUheTZC1H46RZU95+SXuKs7i9z+0mTd9rRLpluplu/WaQRlqvfjLjp+8Dm2X2FC2U9By+/YUHFtn6AAJuMxxHuWWFcJK0hFIgKdaIEw0ab9XKMgcxm094/2IdcixGKBkQZfiF+64Dd36eA5oJe6bVA88F7sRnp3LJTRQOlBolUNFsesVONKrK3lw6jdvggqkdPKoBpkpBNPiqB5rrVYj4id1z1gorGwphT7Ta2pDA9PonqbFkJIMkz3aYhwhJqZyAVRlCmxQgOV3aCnfokFYEYog/uWYuF02EKYTBZU5S6qlMW7eexTcHa1Sg+8lthT1mm6Q70Sbdf6TPeDLPPtzqN9VDvb056teuGDj8zEnnKZ92QLHdV32lZwVsQYG2AoL6pZINrY+atUq6AbmkdmAn9nvpJjQsHtUSSWUVneLCnlb1ooer9uGkN/Mc2q1xLPs/5G+Bt3g5r1pbJFgTC6is2SE9QMACctQy1bc/pqq2IzJLJ08RWy2A/3BQ76pjJ05MRemQaSnNeSbP3t2Dy5DgqBdWlJihW4c2UYlpDlly4vZPaYzMGPG0gSffat+EOdsNZOIjyDhJvRaDIjeV0y0RhNwPhKpKXbsLMr5+QbaHY5zuxoF9qc2vU1qfZP6wJqODNTFtWsN0C7iwfrn5hLZ6VJqP/F8uQWpVXWn51AAAAAElFTkSuQmCC";
|
|
9525
|
-
const _hoisted_1$
|
|
9526
|
-
const _hoisted_2$
|
|
9527
|
-
const _hoisted_3$
|
|
9528
|
-
const _hoisted_4$
|
|
9876
|
+
const _hoisted_1$7 = { class: "mt-24px" };
|
|
9877
|
+
const _hoisted_2$6 = { class: "theme-list" };
|
|
9878
|
+
const _hoisted_3$5 = ["src"];
|
|
9879
|
+
const _hoisted_4$5 = ["src"];
|
|
9529
9880
|
const _hoisted_5$4 = ["src"];
|
|
9530
9881
|
const _hoisted_6$3 = { class: "theme-list" };
|
|
9531
9882
|
const _hoisted_7$1 = ["src"];
|
|
@@ -9544,8 +9895,8 @@ const _sfc_main$j = {
|
|
|
9544
9895
|
};
|
|
9545
9896
|
return (_ctx, _cache) => {
|
|
9546
9897
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
9547
|
-
createElementVNode("div", _hoisted_1$
|
|
9548
|
-
createElementVNode("div", _hoisted_2$
|
|
9898
|
+
createElementVNode("div", _hoisted_1$7, toDisplayString(unref(t2)("layout.setting.festivalTheme")), 1),
|
|
9899
|
+
createElementVNode("div", _hoisted_2$6, [
|
|
9549
9900
|
createElementVNode("div", {
|
|
9550
9901
|
class: normalizeClass(["item", { "active": unref(theme) === "springFestival" }]),
|
|
9551
9902
|
onClick: _cache[0] || (_cache[0] = ($event) => handleClick("springFestival"))
|
|
@@ -9554,7 +9905,7 @@ const _sfc_main$j = {
|
|
|
9554
9905
|
class: "border",
|
|
9555
9906
|
style: normalizeStyle({ borderColor: unref(theme) === "springFestival" ? "var(--el-color-primary)" : "#d2d5e4" })
|
|
9556
9907
|
}, [
|
|
9557
|
-
createElementVNode("img", { src: unref(Chunjie) }, null, 8, _hoisted_3$
|
|
9908
|
+
createElementVNode("img", { src: unref(Chunjie) }, null, 8, _hoisted_3$5)
|
|
9558
9909
|
], 4),
|
|
9559
9910
|
_cache[4] || (_cache[4] = createElementVNode("div", { class: "name" }, "春节", -1))
|
|
9560
9911
|
], 2),
|
|
@@ -9566,7 +9917,7 @@ const _sfc_main$j = {
|
|
|
9566
9917
|
class: "border",
|
|
9567
9918
|
style: normalizeStyle({ borderColor: unref(theme) === "dragonBoatFestival" ? "var(--el-color-primary)" : "#d2d5e4" })
|
|
9568
9919
|
}, [
|
|
9569
|
-
createElementVNode("img", { src: unref(Duanwu) }, null, 8, _hoisted_4$
|
|
9920
|
+
createElementVNode("img", { src: unref(Duanwu) }, null, 8, _hoisted_4$5)
|
|
9570
9921
|
], 4),
|
|
9571
9922
|
_cache[5] || (_cache[5] = createElementVNode("div", { class: "name" }, "端午", -1))
|
|
9572
9923
|
], 2),
|
|
@@ -9604,73 +9955,8 @@ const _sfc_main$j = {
|
|
|
9604
9955
|
}
|
|
9605
9956
|
};
|
|
9606
9957
|
const FestivalThemeSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-868f3996"]]);
|
|
9607
|
-
const _hoisted_1$7 = { class: "mt-24px" };
|
|
9608
|
-
const _hoisted_2$6 = { class: "layout-list" };
|
|
9609
|
-
const _hoisted_3$5 = ["onClick"];
|
|
9610
|
-
const _hoisted_4$5 = { class: "name" };
|
|
9611
|
-
const _sfc_main$i = {
|
|
9612
|
-
__name: "LayoutSwitch",
|
|
9613
|
-
emits: ["change"],
|
|
9614
|
-
setup(__props, { emit: __emit }) {
|
|
9615
|
-
const emits = __emit;
|
|
9616
|
-
const { t: t2 } = useI18n();
|
|
9617
|
-
const appStore = useAppStore();
|
|
9618
|
-
const layout = computed(() => appStore.getLayout);
|
|
9619
|
-
const layoutItems = ref([
|
|
9620
|
-
{
|
|
9621
|
-
key: "left",
|
|
9622
|
-
name: "侧边导航",
|
|
9623
|
-
icon: "svg-icon:menu-left"
|
|
9624
|
-
},
|
|
9625
|
-
{
|
|
9626
|
-
key: "top",
|
|
9627
|
-
name: "顶部导航",
|
|
9628
|
-
icon: "svg-icon:menu-top"
|
|
9629
|
-
},
|
|
9630
|
-
{
|
|
9631
|
-
key: "topLeft",
|
|
9632
|
-
name: "混合导航",
|
|
9633
|
-
icon: "svg-icon:menu-top-left"
|
|
9634
|
-
}
|
|
9635
|
-
]);
|
|
9636
|
-
const handleClick = (item) => {
|
|
9637
|
-
if (layout.value === item.key)
|
|
9638
|
-
return;
|
|
9639
|
-
emits("change", item.key);
|
|
9640
|
-
};
|
|
9641
|
-
return (_ctx, _cache) => {
|
|
9642
|
-
const _component_Icon = resolveComponent("Icon");
|
|
9643
|
-
return openBlock(), createElementBlock(Fragment, null, [
|
|
9644
|
-
createElementVNode("div", _hoisted_1$7, toDisplayString(unref(t2)("layout.setting.layout")), 1),
|
|
9645
|
-
createElementVNode("div", _hoisted_2$6, [
|
|
9646
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(layoutItems), (item) => {
|
|
9647
|
-
return openBlock(), createElementBlock("div", {
|
|
9648
|
-
class: "item",
|
|
9649
|
-
key: item.key,
|
|
9650
|
-
onClick: ($event) => handleClick(item)
|
|
9651
|
-
}, [
|
|
9652
|
-
createElementVNode("div", {
|
|
9653
|
-
class: "border",
|
|
9654
|
-
style: normalizeStyle({ borderColor: unref(layout) === item.key ? "var(--el-color-primary)" : "#d2d5e4" })
|
|
9655
|
-
}, [
|
|
9656
|
-
createVNode(_component_Icon, {
|
|
9657
|
-
icon: item.icon,
|
|
9658
|
-
color: "var(--el-color-primary)",
|
|
9659
|
-
svgClass: "!w-full !h-full",
|
|
9660
|
-
class: "!w-full !h-70px"
|
|
9661
|
-
}, null, 8, ["icon"])
|
|
9662
|
-
], 4),
|
|
9663
|
-
createElementVNode("div", _hoisted_4$5, toDisplayString(item.name), 1)
|
|
9664
|
-
], 8, _hoisted_3$5);
|
|
9665
|
-
}), 128))
|
|
9666
|
-
])
|
|
9667
|
-
], 64);
|
|
9668
|
-
};
|
|
9669
|
-
}
|
|
9670
|
-
};
|
|
9671
|
-
const LayoutSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-265f0ebb"]]);
|
|
9672
9958
|
const _hoisted_1$6 = { class: "text-16px font-500 text-[var(--text-color)]" };
|
|
9673
|
-
const _sfc_main$
|
|
9959
|
+
const _sfc_main$i = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
9674
9960
|
__name: "Setting",
|
|
9675
9961
|
props: {
|
|
9676
9962
|
color: {
|
|
@@ -9693,10 +9979,11 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
|
9693
9979
|
const { copy, copied, isSupported } = useClipboard({
|
|
9694
9980
|
source: `
|
|
9695
9981
|
// 主题相关
|
|
9696
|
-
theme: '${appStore.getTheme}'
|
|
9697
|
-
|
|
9698
|
-
|
|
9699
|
-
|
|
9982
|
+
theme: '${appStore.getTheme}'
|
|
9983
|
+
`
|
|
9984
|
+
// ,
|
|
9985
|
+
// // 布局相关
|
|
9986
|
+
// layout: '${appStore.getLayout}'
|
|
9700
9987
|
});
|
|
9701
9988
|
if (!isSupported) {
|
|
9702
9989
|
ElMessage.error(t2("layout.setting.copyFailed"));
|
|
@@ -9719,10 +10006,6 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
|
9719
10006
|
appStore.setTheme(theme);
|
|
9720
10007
|
appStore.setCssVarTheme();
|
|
9721
10008
|
};
|
|
9722
|
-
const layoutChange = async (layout) => {
|
|
9723
|
-
await saveTheme({ theme: appStore.getTheme, layout });
|
|
9724
|
-
appStore.setLayout(layout);
|
|
9725
|
-
};
|
|
9726
10009
|
const saveTheme = async ({ theme, layout }) => {
|
|
9727
10010
|
ElMessage({
|
|
9728
10011
|
type: "success",
|
|
@@ -9740,7 +10023,7 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
|
9740
10023
|
}), [
|
|
9741
10024
|
createVNode(_component_Icon, {
|
|
9742
10025
|
color: __props.color,
|
|
9743
|
-
icon: "
|
|
10026
|
+
icon: "svg-icon:hexagon",
|
|
9744
10027
|
size: 18
|
|
9745
10028
|
}, null, 8, ["color"])
|
|
9746
10029
|
], 16),
|
|
@@ -9780,8 +10063,7 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
|
9780
10063
|
default: withCtx(() => [
|
|
9781
10064
|
createElementVNode("div", null, [
|
|
9782
10065
|
createVNode(ThemeSwitch, { onChange: themeChange }),
|
|
9783
|
-
createVNode(FestivalThemeSwitch, { onChange: themeChange })
|
|
9784
|
-
createVNode(LayoutSwitch, { onChange: layoutChange })
|
|
10066
|
+
createVNode(FestivalThemeSwitch, { onChange: themeChange })
|
|
9785
10067
|
])
|
|
9786
10068
|
]),
|
|
9787
10069
|
_: 1
|
|
@@ -9790,7 +10072,51 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
|
9790
10072
|
};
|
|
9791
10073
|
}
|
|
9792
10074
|
});
|
|
9793
|
-
const Setting = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
10075
|
+
const Setting = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-b213e887"]]);
|
|
10076
|
+
const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Arrow" }, {
|
|
10077
|
+
__name: "Arrow",
|
|
10078
|
+
props: {
|
|
10079
|
+
color: {
|
|
10080
|
+
type: String,
|
|
10081
|
+
default: ""
|
|
10082
|
+
}
|
|
10083
|
+
},
|
|
10084
|
+
setup(__props) {
|
|
10085
|
+
const appStore = useAppStore();
|
|
10086
|
+
const { t: t2 } = useI18n();
|
|
10087
|
+
const topNav = computed(() => appStore.getTopNav);
|
|
10088
|
+
const topNavCollapsed = computed(() => topNav.value === "collapsed");
|
|
10089
|
+
const arrowIcon = computed(
|
|
10090
|
+
() => topNavCollapsed.value ? "svg-icon:arrow-left" : "svg-icon:arrow-right"
|
|
10091
|
+
);
|
|
10092
|
+
const handleArrowClick = () => {
|
|
10093
|
+
appStore.setTopNav(topNavCollapsed.value ? "floating" : "collapsed");
|
|
10094
|
+
};
|
|
10095
|
+
return (_ctx, _cache) => {
|
|
10096
|
+
const _component_Icon = resolveComponent("Icon");
|
|
10097
|
+
return openBlock(), createElementBlock("div", {
|
|
10098
|
+
class: "arrow",
|
|
10099
|
+
onClick: handleArrowClick
|
|
10100
|
+
}, [
|
|
10101
|
+
createVNode(unref(ElPopover), {
|
|
10102
|
+
disabled: !unref(topNavCollapsed),
|
|
10103
|
+
content: unref(t2)("layout.common.expandAppMenu"),
|
|
10104
|
+
placement: "left",
|
|
10105
|
+
"show-after": 100
|
|
10106
|
+
}, {
|
|
10107
|
+
reference: withCtx(() => [
|
|
10108
|
+
createVNode(_component_Icon, {
|
|
10109
|
+
color: __props.color,
|
|
10110
|
+
size: 11,
|
|
10111
|
+
icon: unref(arrowIcon)
|
|
10112
|
+
}, null, 8, ["color", "icon"])
|
|
10113
|
+
]),
|
|
10114
|
+
_: 1
|
|
10115
|
+
}, 8, ["disabled", "content"])
|
|
10116
|
+
]);
|
|
10117
|
+
};
|
|
10118
|
+
}
|
|
10119
|
+
});
|
|
9794
10120
|
const _sfc_main$g = {
|
|
9795
10121
|
__name: "index",
|
|
9796
10122
|
props: {
|
|
@@ -9941,6 +10267,10 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
9941
10267
|
onClearCacheLogoutClick: {
|
|
9942
10268
|
type: Function,
|
|
9943
10269
|
default: null
|
|
10270
|
+
},
|
|
10271
|
+
onSwitchCompanyClick: {
|
|
10272
|
+
type: Function,
|
|
10273
|
+
default: null
|
|
9944
10274
|
}
|
|
9945
10275
|
},
|
|
9946
10276
|
setup(props, {
|
|
@@ -9948,49 +10278,67 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
9948
10278
|
}) {
|
|
9949
10279
|
const appStore = useAppStore();
|
|
9950
10280
|
const breadcrumb = computed(() => appStore.getBreadcrumb);
|
|
9951
|
-
computed(() => appStore.getHamburger);
|
|
9952
10281
|
const search = computed(() => appStore.search);
|
|
9953
10282
|
const layout = computed(() => appStore.getLayout);
|
|
9954
10283
|
const locale = computed(() => appStore.getLocale);
|
|
9955
10284
|
const message = computed(() => appStore.getMessage);
|
|
9956
10285
|
const setting = computed(() => appStore.getSetting);
|
|
10286
|
+
const topNav = computed(() => appStore.getTopNav);
|
|
10287
|
+
const topNavNormal = computed(() => topNav.value === "normal");
|
|
10288
|
+
const topNavCollapsed = computed(() => topNav.value === "collapsed");
|
|
10289
|
+
const iconColor = computed(() => topNavNormal.value ? "var(--top-header-icon-color)" : "#dae0e9");
|
|
9957
10290
|
return () => {
|
|
9958
10291
|
var _a2;
|
|
9959
10292
|
return createVNode("div", {
|
|
9960
10293
|
"id": `${variables.namespace}-tool-header`,
|
|
9961
|
-
"class": [prefixCls$2, "
|
|
10294
|
+
"class": [prefixCls$2, "px-[var(--top-tool-p-x)] flex items-center justify-between", "dark:bg-[var(--el-bg-color)]", {
|
|
10295
|
+
"tool-header-normal": topNavNormal.value,
|
|
10296
|
+
"tool-header-floating": topNav.value === "floating",
|
|
10297
|
+
"tool-header-collapsed": topNav.value === "collapsed"
|
|
10298
|
+
}],
|
|
10299
|
+
"style": "transition: all var(--transition-time-02);"
|
|
9962
10300
|
}, [layout.value !== "top" ? createVNode("div", {
|
|
9963
10301
|
"class": "h-full flex items-center"
|
|
9964
10302
|
}, [breadcrumb.value ? createVNode(Breadcrumb, {
|
|
9965
10303
|
"class": "lt-md:hidden"
|
|
9966
10304
|
}, null) : void 0]) : void 0, (_a2 = slots.default) == null ? void 0 : _a2.call(slots), createVNode("div", {
|
|
9967
10305
|
"class": "h-full flex items-center"
|
|
9968
|
-
}, [search.value ? createVNode(_sfc_main$g, {
|
|
10306
|
+
}, [!topNavCollapsed.value && createVNode(Fragment, null, [search.value ? createVNode(_sfc_main$g, {
|
|
9969
10307
|
"isModal": false
|
|
10308
|
+
}, null) : void 0, message.value ? createVNode(Message, {
|
|
10309
|
+
"class": "custom-hover cursor-pointer",
|
|
10310
|
+
"color": iconColor.value,
|
|
10311
|
+
"onMessageClick": props.onMessageClick
|
|
9970
10312
|
}, null) : void 0, setting.value ? createVNode(Setting, {
|
|
9971
10313
|
"class": "custom-hover cursor-pointer",
|
|
9972
|
-
"color":
|
|
10314
|
+
"color": iconColor.value,
|
|
9973
10315
|
"onClearCacheLogoutClick": props.onClearCacheLogoutClick
|
|
9974
10316
|
}, null) : void 0, locale.value ? createVNode(_sfc_main$l, {
|
|
9975
10317
|
"class": "custom-hover",
|
|
9976
10318
|
"color": "var(--top-header-text-color)"
|
|
9977
|
-
}, null) : void 0,
|
|
10319
|
+
}, null) : void 0, createVNode("div", {
|
|
10320
|
+
"class": `h-12px mx-10px`,
|
|
10321
|
+
"style": `border-left: 1px solid ${iconColor.value}`
|
|
10322
|
+
}, null), createVNode(UserInfo, {
|
|
10323
|
+
"onLogoutClick": props.onLogoutClick,
|
|
10324
|
+
"onSwitchCompanyClick": props.onSwitchCompanyClick
|
|
10325
|
+
}, null)]), !topNavNormal.value && createVNode(Fragment, null, [!topNavCollapsed.value && createVNode("div", {
|
|
10326
|
+
"class": `h-12px mx-10px`,
|
|
10327
|
+
"style": `border-left: 1px solid ${iconColor.value}`
|
|
10328
|
+
}, null), createVNode(_sfc_main$h, {
|
|
9978
10329
|
"class": "custom-hover cursor-pointer",
|
|
9979
|
-
"color":
|
|
9980
|
-
|
|
9981
|
-
}, null) : void 0, createVNode(UserInfo, {
|
|
9982
|
-
"onLogoutClick": props.onLogoutClick
|
|
9983
|
-
}, null)])]);
|
|
10330
|
+
"color": iconColor.value
|
|
10331
|
+
}, null)])])]);
|
|
9984
10332
|
};
|
|
9985
10333
|
}
|
|
9986
10334
|
});
|
|
9987
|
-
const ToolHeader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-
|
|
10335
|
+
const ToolHeader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-c654093f"]]);
|
|
9988
10336
|
const {
|
|
9989
10337
|
getPrefixCls: getPrefixCls$1
|
|
9990
10338
|
} = useDesign();
|
|
9991
10339
|
const prefixCls$1 = getPrefixCls$1("layout");
|
|
9992
10340
|
const scrollRef = ref();
|
|
9993
|
-
const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick) => {
|
|
10341
|
+
const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick, onSwitchCompanyClick) => {
|
|
9994
10342
|
const appStore = useAppStore();
|
|
9995
10343
|
const permissionStore = usePermissionStore();
|
|
9996
10344
|
const pageLoading = computed(() => appStore.getPageLoading);
|
|
@@ -10019,28 +10367,51 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
|
|
|
10019
10367
|
});
|
|
10020
10368
|
const zIndexClass = computed(() => {
|
|
10021
10369
|
return {
|
|
10022
|
-
"z-
|
|
10370
|
+
"z-2000": theme.value === "whiteLight"
|
|
10023
10371
|
};
|
|
10024
10372
|
});
|
|
10373
|
+
const topNav = computed(() => appStore.getTopNav);
|
|
10374
|
+
const topNavNormal = computed(() => topNav.value === "normal");
|
|
10025
10375
|
const renderLeft = () => {
|
|
10026
|
-
return createVNode(Fragment, null, [createVNode("div", {
|
|
10027
|
-
"class": ["relative flex items-center bg-[linear-gradient(var(--top-header-bg-color))] layout-border__bottom dark:bg-[var(--el-bg-color)] shadow-[0px_2px_6px_0px_rgba(197,206,225,0.35)]", festivalTopClass.value, zIndexClass.value]
|
|
10376
|
+
return createVNode(Fragment, null, [topNavNormal.value && createVNode("div", {
|
|
10377
|
+
"class": ["relative flex items-center bg-[linear-gradient(var(--top-header-bg-color))] layout-border__bottom dark:bg-[var(--el-bg-color)] shadow-[0px_2px_6px_0px_rgba(197,206,225,0.35)]", festivalTopClass.value, zIndexClass.value],
|
|
10378
|
+
"style": "transition: all var(--transition-time-02);"
|
|
10028
10379
|
}, [logo.value ? createVNode(_sfc_main$q, {
|
|
10029
10380
|
"class": [{
|
|
10030
|
-
"w-[var(--left-menu-min-width)]":
|
|
10031
|
-
"w-[var(--left-menu-max-width)]": !
|
|
10381
|
+
"w-[var(--left-menu-min-width)]": collapse.value,
|
|
10382
|
+
"w-[var(--left-menu-max-width)]": !collapse.value
|
|
10032
10383
|
}],
|
|
10033
10384
|
"onLogoClick": onLogoClick
|
|
10034
10385
|
}, null) : void 0, createVNode(ToolHeader, {
|
|
10035
10386
|
"class": "flex-1",
|
|
10036
10387
|
"onMessageClick": onMessageClick,
|
|
10037
10388
|
"onLogoutClick": onLogoutClick,
|
|
10038
|
-
"onClearCacheLogoutClick": onClearCacheLogoutClick
|
|
10389
|
+
"onClearCacheLogoutClick": onClearCacheLogoutClick,
|
|
10390
|
+
"onSwitchCompanyClick": onSwitchCompanyClick
|
|
10391
|
+
}, null)]), createVNode("div", {
|
|
10392
|
+
"class": ["w-full flex", {
|
|
10393
|
+
"h-[calc(100%-var(--top-header-height))]": topNavNormal.value,
|
|
10394
|
+
"h-full": !topNavNormal.value
|
|
10395
|
+
}]
|
|
10396
|
+
}, [createVNode("div", null, [!topNavNormal.value && createVNode(Fragment, null, [logo.value ? createVNode(_sfc_main$q, {
|
|
10397
|
+
"class": ["relative bg-[linear-gradient(var(--top-header-bg-color))] shadow-[0px_2px_6px_0px_rgba(197,206,225,0.35)]", zIndexClass.value, {
|
|
10398
|
+
"w-[var(--left-menu-min-width)]": collapse.value,
|
|
10399
|
+
"w-[var(--left-menu-max-width)]": !collapse.value
|
|
10400
|
+
}],
|
|
10401
|
+
"onLogoClick": onLogoClick,
|
|
10402
|
+
"style": "transition: all var(--transition-time-02);"
|
|
10403
|
+
}, null) : void 0, createVNode(ToolHeader, {
|
|
10404
|
+
"class": "flex-1",
|
|
10405
|
+
"onMessageClick": onMessageClick,
|
|
10406
|
+
"onLogoutClick": onLogoutClick,
|
|
10407
|
+
"onClearCacheLogoutClick": onClearCacheLogoutClick,
|
|
10408
|
+
"onSwitchCompanyClick": onSwitchCompanyClick
|
|
10409
|
+
}, null)]), createVNode(Menu, {
|
|
10410
|
+
"class": ["relative layout-border__right", festivalMenuClass.value, {
|
|
10411
|
+
"!h-full": topNavNormal.value,
|
|
10412
|
+
"h-[calc(100%-var(--top-header-height))]": !topNavNormal.value
|
|
10413
|
+
}]
|
|
10039
10414
|
}, null)]), createVNode("div", {
|
|
10040
|
-
"class": "h-[calc(100%-var(--top-header-height))] w-full flex"
|
|
10041
|
-
}, [createVNode(Menu, {
|
|
10042
|
-
"class": ["relative layout-border__right !h-full", festivalMenuClass.value]
|
|
10043
|
-
}, null), createVNode("div", {
|
|
10044
10415
|
"class": [`${prefixCls$1}-content`, "h-[100%]", {
|
|
10045
10416
|
"w-[calc(100%-var(--left-menu-min-width))] left-[var(--left-menu-min-width)]": collapse.value,
|
|
10046
10417
|
"w-[calc(100%-var(--left-menu-max-width))] left-[var(--left-menu-max-width)]": !collapse.value
|
|
@@ -10050,12 +10421,14 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
|
|
|
10050
10421
|
"class": [`${prefixCls$1}-content-scrollbar`, {
|
|
10051
10422
|
"!h-[calc(100%-var(--tags-view-height))] mt-[calc(var(--tags-view-height))]": tagsView.value
|
|
10052
10423
|
}],
|
|
10053
|
-
"ref": scrollRef
|
|
10424
|
+
"ref": scrollRef,
|
|
10425
|
+
"style": "transition: all var(--transition-time-02);"
|
|
10054
10426
|
}, {
|
|
10055
10427
|
default: () => [tagsView.value ? createVNode(TagsView, {
|
|
10056
|
-
"class": ["layout-border__bottom
|
|
10057
|
-
"w-[calc(100%-var(--left-menu-min-width))] !left-[var(--left-menu-min-width)]
|
|
10058
|
-
"w-[calc(100%-var(--left-menu-max-width))] !left-[var(--left-menu-max-width)]
|
|
10428
|
+
"class": ["layout-border__bottom", "!fixed top-0 left-0 z-10", {
|
|
10429
|
+
"w-[calc(100%-var(--left-menu-min-width))] !left-[var(--left-menu-min-width)]": collapse.value,
|
|
10430
|
+
"w-[calc(100%-var(--left-menu-max-width))] !left-[var(--left-menu-max-width)]": !collapse.value,
|
|
10431
|
+
"mt-[var(--top-header-height)]": topNavNormal.value
|
|
10059
10432
|
}],
|
|
10060
10433
|
"style": "transition: width var(--transition-time-02), left var(--transition-time-02);"
|
|
10061
10434
|
}, null) : void 0, createVNode(_sfc_main$p, null, null)]
|
|
@@ -10063,30 +10436,26 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
|
|
|
10063
10436
|
};
|
|
10064
10437
|
const renderTop = () => {
|
|
10065
10438
|
return createVNode(Fragment, null, [createVNode("div", {
|
|
10066
|
-
"class": ["relative flex items-center justify-between bg-[linear-gradient(var(--top-header-bg-color))]", {
|
|
10439
|
+
"class": ["relative flex items-center justify-between bg-[linear-gradient(var(--top-header-bg-color))] shadow-[0px_2px_6px_0px_rgba(197,206,225,0.35)] z-100", {
|
|
10067
10440
|
"layout-border__bottom": !tagsView.value
|
|
10068
10441
|
}, festivalTopClass.value]
|
|
10069
10442
|
}, [logo.value ? createVNode(_sfc_main$q, {
|
|
10070
10443
|
"class": ["w-[var(--left-menu-max-width)]"],
|
|
10071
10444
|
"onLogoClick": onLogoClick
|
|
10072
|
-
}, null) : void 0, createVNode(
|
|
10073
|
-
"class": "
|
|
10445
|
+
}, null) : void 0, tagsView.value && createVNode(TagsView, {
|
|
10446
|
+
"class": ["layout-border__bottom flex-1"]
|
|
10074
10447
|
}, null), createVNode(ToolHeader, {
|
|
10075
10448
|
"onMessageClick": onMessageClick,
|
|
10076
10449
|
"onLogoutClick": onLogoutClick,
|
|
10077
|
-
"onClearCacheLogoutClick": onClearCacheLogoutClick
|
|
10450
|
+
"onClearCacheLogoutClick": onClearCacheLogoutClick,
|
|
10451
|
+
"onSwitchCompanyClick": onSwitchCompanyClick
|
|
10078
10452
|
}, null)]), createVNode("div", {
|
|
10079
10453
|
"class": [`${prefixCls$1}-content`, "w-full h-[calc(100%-var(--top-tool-height))]"]
|
|
10080
10454
|
}, [withDirectives(createVNode(ElScrollbar, {
|
|
10081
|
-
"class": [`${prefixCls$1}-content-scrollbar
|
|
10082
|
-
"!h-[calc(100%-var(--tags-view-height))] mt-[calc(var(--tags-view-height))]": tagsView.value
|
|
10083
|
-
}],
|
|
10455
|
+
"class": [`${prefixCls$1}-content-scrollbar`],
|
|
10084
10456
|
"ref": scrollRef
|
|
10085
10457
|
}, {
|
|
10086
|
-
default: () => [
|
|
10087
|
-
"class": ["layout-border__bottom layout-border__top relative", "!fixed w-full top-[var(--top-tool-height)] left-0"],
|
|
10088
|
-
"style": "transition: width var(--transition-time-02), left var(--transition-time-02);"
|
|
10089
|
-
}, null) : void 0, createVNode(_sfc_main$p, null, null)]
|
|
10458
|
+
default: () => [createVNode(_sfc_main$p, null, null)]
|
|
10090
10459
|
}), [[resolveDirective("loading"), pageLoading.value]])])]);
|
|
10091
10460
|
};
|
|
10092
10461
|
const renderTopLeft = () => {
|
|
@@ -10104,7 +10473,8 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
|
|
|
10104
10473
|
"class": "flex-1",
|
|
10105
10474
|
"onMessageClick": onMessageClick,
|
|
10106
10475
|
"onLogoutClick": onLogoutClick,
|
|
10107
|
-
"onClearCacheLogoutClick": onClearCacheLogoutClick
|
|
10476
|
+
"onClearCacheLogoutClick": onClearCacheLogoutClick,
|
|
10477
|
+
"onSwitchCompanyClick": onSwitchCompanyClick
|
|
10108
10478
|
}, {
|
|
10109
10479
|
default: () => createVNode(Menu, {
|
|
10110
10480
|
"mode": "horizontal",
|
|
@@ -10151,13 +10521,13 @@ const {
|
|
|
10151
10521
|
} = useDesign();
|
|
10152
10522
|
const prefixCls = getPrefixCls("layout");
|
|
10153
10523
|
const layoutScrollRef = ref();
|
|
10154
|
-
const renderLayout = (layout, onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick) => {
|
|
10524
|
+
const renderLayout = (layout, onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick, onSwitchCompanyClick) => {
|
|
10155
10525
|
const {
|
|
10156
10526
|
renderLeft,
|
|
10157
10527
|
renderTop,
|
|
10158
10528
|
renderTopLeft,
|
|
10159
10529
|
scrollRef: scrollRef2
|
|
10160
|
-
} = useRenderLayout(onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick);
|
|
10530
|
+
} = useRenderLayout(onLogoClick, onMessageClick, onLogoutClick, onClearCacheLogoutClick, onSwitchCompanyClick);
|
|
10161
10531
|
layoutScrollRef.value = scrollRef2.value;
|
|
10162
10532
|
switch (unref(layout)) {
|
|
10163
10533
|
case "left":
|
|
@@ -10170,7 +10540,7 @@ const renderLayout = (layout, onLogoClick, onMessageClick, onLogoutClick, onClea
|
|
|
10170
10540
|
};
|
|
10171
10541
|
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
10172
10542
|
name: "Layout",
|
|
10173
|
-
emits: ["logo-click", "message-click", "logout-click", "clear-cache-logout-click"],
|
|
10543
|
+
emits: ["logo-click", "message-click", "logout-click", "clear-cache-logout-click", "switch-company-click"],
|
|
10174
10544
|
setup(props, {
|
|
10175
10545
|
emit
|
|
10176
10546
|
}) {
|
|
@@ -10190,12 +10560,15 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
10190
10560
|
const handleClearCacheLogoutClick = () => {
|
|
10191
10561
|
emit("clear-cache-logout-click");
|
|
10192
10562
|
};
|
|
10563
|
+
const handleSwitchCompanyClick = (company) => {
|
|
10564
|
+
emit("switch-company-click", company);
|
|
10565
|
+
};
|
|
10193
10566
|
return () => createVNode("section", {
|
|
10194
10567
|
"class": [prefixCls, `${prefixCls}__${layout.value}`, "w-[100%] h-[100%] relative", `${prefixCls}__${theme.value}`]
|
|
10195
|
-
}, [renderLayout(layout, handleLogoClick, handleMessageClick, handleLogoutClick, handleClearCacheLogoutClick), createVNode(_sfc_main$y, null, null)]);
|
|
10568
|
+
}, [renderLayout(layout, handleLogoClick, handleMessageClick, handleLogoutClick, handleClearCacheLogoutClick, handleSwitchCompanyClick), createVNode(_sfc_main$y, null, null)]);
|
|
10196
10569
|
}
|
|
10197
10570
|
});
|
|
10198
|
-
const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-
|
|
10571
|
+
const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-6f98299c"]]);
|
|
10199
10572
|
const _sfc_main$d = {
|
|
10200
10573
|
__name: "ConfigGlobal",
|
|
10201
10574
|
props: {
|
|
@@ -10276,7 +10649,7 @@ const _sfc_main$c = /* @__PURE__ */ Object.assign({ name: "PageCard" }, {
|
|
|
10276
10649
|
return openBlock(), createBlock(unref(ElCard), {
|
|
10277
10650
|
"body-style": __props.bodyStyle,
|
|
10278
10651
|
header: __props.title,
|
|
10279
|
-
class: normalizeClass([unref(prefixCls2), "
|
|
10652
|
+
class: normalizeClass([unref(prefixCls2), "mx-16px my-16px"])
|
|
10280
10653
|
}, {
|
|
10281
10654
|
default: withCtx(() => [
|
|
10282
10655
|
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
@@ -10286,7 +10659,7 @@ const _sfc_main$c = /* @__PURE__ */ Object.assign({ name: "PageCard" }, {
|
|
|
10286
10659
|
};
|
|
10287
10660
|
}
|
|
10288
10661
|
});
|
|
10289
|
-
const PageCard = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-
|
|
10662
|
+
const PageCard = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-f55a8642"]]);
|
|
10290
10663
|
const _hoisted_1$5 = { class: "ml-2px" };
|
|
10291
10664
|
const _hoisted_2$5 = { class: "flex items-center" };
|
|
10292
10665
|
const _sfc_main$b = /* @__PURE__ */ Object.assign({ name: "PageNavBar" }, {
|