bmp-layout 0.0.24 → 0.0.25-beta.10
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 +1188 -398
- 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/locales/zh-TW.js +98 -0
- package/logo.svg +2 -25
- package/package.json +3 -2
- 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/chevron-left.svg +4 -0
- package/svgs/chevron-right.svg +4 -0
- package/svgs/clipboard.svg +4 -0
- package/svgs/close-square.svg +5 -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/language.svg +3 -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/zh-TW-DYC8NCr4.mjs +101 -0
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,22 +397,38 @@ 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
|
-
menuTriggerBgColor: "#2468F2"
|
|
420
|
+
menuTriggerBgColor: "#2468F2",
|
|
421
|
+
// 多页签
|
|
422
|
+
tagsViewTextColor: "#7b7e90",
|
|
423
|
+
tagsViewTextActiveColor: "#fff",
|
|
424
|
+
tagsViewBgColor: "transparent",
|
|
425
|
+
tagsViewBgHoverColor: "#dce4f5",
|
|
426
|
+
tagsViewBgActiveColor: "#3d65ff",
|
|
427
|
+
tagsViewArrowColor: "#a4aec4",
|
|
428
|
+
tagsViewArrowHoverColor: "#7d8595",
|
|
429
|
+
tagsViewArrowBgColor: "transparent",
|
|
430
|
+
tagsViewArrowBgHoverColor: "#e5eaf0",
|
|
431
|
+
tagsViewArrowBgDisabledColor: "#e5eaf080"
|
|
394
432
|
};
|
|
395
433
|
const blueLight = {
|
|
396
434
|
...baseLight,
|
|
@@ -434,15 +472,31 @@ const blueLight = {
|
|
|
434
472
|
leftMenuItemBgHoverColor: "rgba(103,153,255,0.5)",
|
|
435
473
|
// 左侧菜单文字颜色
|
|
436
474
|
leftMenuTextColor: "#fff",
|
|
475
|
+
leftMenuTextHoverColor: "#fff",
|
|
437
476
|
// 顶部菜单项移入颜色
|
|
438
477
|
topMenuItemBgActiveColor: "rgba(103,153,255,1)",
|
|
439
478
|
topMenuItemBgHoverColor: "rgba(103,153,255,0.5)",
|
|
440
479
|
// 头部背景颜色
|
|
441
480
|
topHeaderBgColor: "270deg, #29ACFE 0%, #2468F2 100%",
|
|
442
481
|
// 头部文字颜色
|
|
482
|
+
topHeaderIconColor: "#fff",
|
|
443
483
|
topHeaderTextColor: "#fff",
|
|
484
|
+
topHeaderHoverColor: "#f6f6f6",
|
|
485
|
+
topHeaderCompanyIconColor: "#fff",
|
|
486
|
+
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
444
487
|
// 菜单触发器背景颜色
|
|
445
|
-
menuTriggerBgColor: "transparent"
|
|
488
|
+
menuTriggerBgColor: "transparent",
|
|
489
|
+
// 多页签
|
|
490
|
+
tagsViewTextColor: "#fff",
|
|
491
|
+
tagsViewTextActiveColor: "#fff",
|
|
492
|
+
tagsViewBgColor: "transparent",
|
|
493
|
+
tagsViewBgHoverColor: "rgba(255,255,255,.3)",
|
|
494
|
+
tagsViewBgActiveColor: "rgba(255,255,255,.2)",
|
|
495
|
+
tagsViewArrowColor: "#fff",
|
|
496
|
+
tagsViewArrowHoverColor: "rgba(255,255,255,.8)",
|
|
497
|
+
tagsViewArrowBgColor: "rgba(255,255,255,.2)",
|
|
498
|
+
tagsViewArrowBgHoverColor: "rgba(255,255,255,.3)",
|
|
499
|
+
tagsViewArrowBgDisabledColor: "rgba(255,255,255,.5)"
|
|
446
500
|
};
|
|
447
501
|
const redLight = {
|
|
448
502
|
...baseLight,
|
|
@@ -492,9 +546,24 @@ const redLight = {
|
|
|
492
546
|
// 头部背景颜色
|
|
493
547
|
topHeaderBgColor: "0, #ea4636, #ea4636",
|
|
494
548
|
// 头部文字颜色
|
|
549
|
+
topHeaderIconColor: "#fff",
|
|
495
550
|
topHeaderTextColor: "#fff",
|
|
551
|
+
topHeaderHoverColor: "#f6f6f6",
|
|
552
|
+
topHeaderCompanyIconColor: "#fff",
|
|
553
|
+
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
496
554
|
// 菜单触发器背景颜色
|
|
497
|
-
menuTriggerBgColor: "transparent"
|
|
555
|
+
menuTriggerBgColor: "transparent",
|
|
556
|
+
// 多页签
|
|
557
|
+
tagsViewTextColor: "#fff",
|
|
558
|
+
tagsViewTextActiveColor: "#fff",
|
|
559
|
+
tagsViewBgColor: "transparent",
|
|
560
|
+
tagsViewBgHoverColor: "rgba(255,255,255,.3)",
|
|
561
|
+
tagsViewBgActiveColor: "rgba(255,255,255,.2)",
|
|
562
|
+
tagsViewArrowColor: "#fff",
|
|
563
|
+
tagsViewArrowHoverColor: "rgba(255,255,255,.8)",
|
|
564
|
+
tagsViewArrowBgColor: "rgba(255,255,255,.2)",
|
|
565
|
+
tagsViewArrowBgHoverColor: "rgba(255,255,255,.3)",
|
|
566
|
+
tagsViewArrowBgDisabledColor: "rgba(255,255,255,.5)"
|
|
498
567
|
};
|
|
499
568
|
const greenLight = {
|
|
500
569
|
...baseLight,
|
|
@@ -544,9 +613,24 @@ const greenLight = {
|
|
|
544
613
|
// 头部背景颜色
|
|
545
614
|
topHeaderBgColor: "0, #0acfa5, #0acfa5",
|
|
546
615
|
// 头部文字颜色
|
|
616
|
+
topHeaderIconColor: "#fff",
|
|
547
617
|
topHeaderTextColor: "#fff",
|
|
618
|
+
topHeaderHoverColor: "#f6f6f6",
|
|
619
|
+
topHeaderCompanyIconColor: "#fff",
|
|
620
|
+
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
548
621
|
// 菜单触发器背景颜色
|
|
549
|
-
menuTriggerBgColor: "transparent"
|
|
622
|
+
menuTriggerBgColor: "transparent",
|
|
623
|
+
// 多页签
|
|
624
|
+
tagsViewTextColor: "#fff",
|
|
625
|
+
tagsViewTextActiveColor: "#fff",
|
|
626
|
+
tagsViewBgColor: "transparent",
|
|
627
|
+
tagsViewBgHoverColor: "rgba(255,255,255,.3)",
|
|
628
|
+
tagsViewBgActiveColor: "rgba(255,255,255,.2)",
|
|
629
|
+
tagsViewArrowColor: "#fff",
|
|
630
|
+
tagsViewArrowHoverColor: "rgba(255,255,255,.8)",
|
|
631
|
+
tagsViewArrowBgColor: "rgba(255,255,255,.2)",
|
|
632
|
+
tagsViewArrowBgHoverColor: "rgba(255,255,255,.3)",
|
|
633
|
+
tagsViewArrowBgDisabledColor: "rgba(255,255,255,.5)"
|
|
550
634
|
};
|
|
551
635
|
const springFestival = {
|
|
552
636
|
...baseLight,
|
|
@@ -596,9 +680,24 @@ const springFestival = {
|
|
|
596
680
|
// 头部背景颜色
|
|
597
681
|
topHeaderBgColor: "270deg, #f25416 0%, #ef2704 100%",
|
|
598
682
|
// 头部文字颜色
|
|
683
|
+
topHeaderIconColor: "#fff",
|
|
599
684
|
topHeaderTextColor: "#fff",
|
|
685
|
+
topHeaderHoverColor: "#f6f6f6",
|
|
686
|
+
topHeaderCompanyIconColor: "#fff",
|
|
687
|
+
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
600
688
|
// 菜单触发器背景颜色
|
|
601
|
-
menuTriggerBgColor: "transparent"
|
|
689
|
+
menuTriggerBgColor: "transparent",
|
|
690
|
+
// 多页签
|
|
691
|
+
tagsViewTextColor: "#fff",
|
|
692
|
+
tagsViewTextActiveColor: "#fff",
|
|
693
|
+
tagsViewBgColor: "transparent",
|
|
694
|
+
tagsViewBgHoverColor: "rgba(255,255,255,.3)",
|
|
695
|
+
tagsViewBgActiveColor: "rgba(255,255,255,.2)",
|
|
696
|
+
tagsViewArrowColor: "#fff",
|
|
697
|
+
tagsViewArrowHoverColor: "rgba(255,255,255,.8)",
|
|
698
|
+
tagsViewArrowBgColor: "rgba(255,255,255,.2)",
|
|
699
|
+
tagsViewArrowBgHoverColor: "rgba(255,255,255,.3)",
|
|
700
|
+
tagsViewArrowBgDisabledColor: "rgba(255,255,255,.5)"
|
|
602
701
|
};
|
|
603
702
|
const dragonBoatFestival = {
|
|
604
703
|
...baseLight,
|
|
@@ -648,9 +747,24 @@ const dragonBoatFestival = {
|
|
|
648
747
|
// 头部背景颜色
|
|
649
748
|
topHeaderBgColor: "270deg, #3ac677 0%, #0dc35c 100%",
|
|
650
749
|
// 头部文字颜色
|
|
750
|
+
topHeaderIconColor: "#fff",
|
|
651
751
|
topHeaderTextColor: "#fff",
|
|
752
|
+
topHeaderHoverColor: "#f6f6f6",
|
|
753
|
+
topHeaderCompanyIconColor: "#fff",
|
|
754
|
+
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
652
755
|
// 菜单触发器背景颜色
|
|
653
|
-
menuTriggerBgColor: "transparent"
|
|
756
|
+
menuTriggerBgColor: "transparent",
|
|
757
|
+
// 多页签
|
|
758
|
+
tagsViewTextColor: "#fff",
|
|
759
|
+
tagsViewTextActiveColor: "#fff",
|
|
760
|
+
tagsViewBgColor: "transparent",
|
|
761
|
+
tagsViewBgHoverColor: "rgba(255,255,255,.3)",
|
|
762
|
+
tagsViewBgActiveColor: "rgba(255,255,255,.2)",
|
|
763
|
+
tagsViewArrowColor: "#fff",
|
|
764
|
+
tagsViewArrowHoverColor: "rgba(255,255,255,.8)",
|
|
765
|
+
tagsViewArrowBgColor: "rgba(255,255,255,.2)",
|
|
766
|
+
tagsViewArrowBgHoverColor: "rgba(255,255,255,.3)",
|
|
767
|
+
tagsViewArrowBgDisabledColor: "rgba(255,255,255,.5)"
|
|
654
768
|
};
|
|
655
769
|
const midAutumnFestival = {
|
|
656
770
|
...baseLight,
|
|
@@ -700,9 +814,24 @@ const midAutumnFestival = {
|
|
|
700
814
|
// 头部背景颜色
|
|
701
815
|
topHeaderBgColor: "270deg, #fc9b4b 0%, #fa771d 100%",
|
|
702
816
|
// 头部文字颜色
|
|
817
|
+
topHeaderIconColor: "#fff",
|
|
703
818
|
topHeaderTextColor: "#fff",
|
|
819
|
+
topHeaderHoverColor: "#f6f6f6",
|
|
820
|
+
topHeaderCompanyIconColor: "#fff",
|
|
821
|
+
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
704
822
|
// 菜单触发器背景颜色
|
|
705
|
-
menuTriggerBgColor: "transparent"
|
|
823
|
+
menuTriggerBgColor: "transparent",
|
|
824
|
+
// 多页签
|
|
825
|
+
tagsViewTextColor: "#fff",
|
|
826
|
+
tagsViewTextActiveColor: "#fff",
|
|
827
|
+
tagsViewBgColor: "transparent",
|
|
828
|
+
tagsViewBgHoverColor: "rgba(255,255,255,.3)",
|
|
829
|
+
tagsViewBgActiveColor: "rgba(255,255,255,.2)",
|
|
830
|
+
tagsViewArrowColor: "#fff",
|
|
831
|
+
tagsViewArrowHoverColor: "rgba(255,255,255,.8)",
|
|
832
|
+
tagsViewArrowBgColor: "rgba(255,255,255,.2)",
|
|
833
|
+
tagsViewArrowBgHoverColor: "rgba(255,255,255,.3)",
|
|
834
|
+
tagsViewArrowBgDisabledColor: "rgba(255,255,255,.5)"
|
|
706
835
|
};
|
|
707
836
|
const newYearsDay = {
|
|
708
837
|
...baseLight,
|
|
@@ -752,9 +881,24 @@ const newYearsDay = {
|
|
|
752
881
|
// 头部背景颜色
|
|
753
882
|
topHeaderBgColor: "270deg, #f84958 0%, #f63344 100%",
|
|
754
883
|
// 头部文字颜色
|
|
884
|
+
topHeaderIconColor: "#fff",
|
|
755
885
|
topHeaderTextColor: "#fff",
|
|
886
|
+
topHeaderHoverColor: "#f6f6f6",
|
|
887
|
+
topHeaderCompanyIconColor: "#fff",
|
|
888
|
+
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
756
889
|
// 菜单触发器背景颜色
|
|
757
|
-
menuTriggerBgColor: "transparent"
|
|
890
|
+
menuTriggerBgColor: "transparent",
|
|
891
|
+
// 多页签
|
|
892
|
+
tagsViewTextColor: "#fff",
|
|
893
|
+
tagsViewTextActiveColor: "#fff",
|
|
894
|
+
tagsViewBgColor: "transparent",
|
|
895
|
+
tagsViewBgHoverColor: "rgba(255,255,255,.3)",
|
|
896
|
+
tagsViewBgActiveColor: "rgba(255,255,255,.2)",
|
|
897
|
+
tagsViewArrowColor: "#fff",
|
|
898
|
+
tagsViewArrowHoverColor: "rgba(255,255,255,.8)",
|
|
899
|
+
tagsViewArrowBgColor: "rgba(255,255,255,.2)",
|
|
900
|
+
tagsViewArrowBgHoverColor: "rgba(255,255,255,.3)",
|
|
901
|
+
tagsViewArrowBgDisabledColor: "rgba(255,255,255,.5)"
|
|
758
902
|
};
|
|
759
903
|
const systemTheme = {
|
|
760
904
|
whiteLight,
|
|
@@ -773,7 +917,7 @@ const useAppStore = defineStore("layout-app", {
|
|
|
773
917
|
userInfo: "userInfo",
|
|
774
918
|
// 登录信息存储字段-建议每个项目换一个字段,避免与其他项目冲突
|
|
775
919
|
sizeMap: ["default", "large", "small"],
|
|
776
|
-
title: "
|
|
920
|
+
title: "浪潮信链",
|
|
777
921
|
// 标题
|
|
778
922
|
pageLoading: false,
|
|
779
923
|
// 路由跳转loading
|
|
@@ -789,7 +933,7 @@ const useAppStore = defineStore("layout-app", {
|
|
|
789
933
|
// 折叠图标
|
|
790
934
|
search: false,
|
|
791
935
|
// 搜索图标
|
|
792
|
-
locale:
|
|
936
|
+
locale: true,
|
|
793
937
|
// 多语言图标
|
|
794
938
|
setting: true,
|
|
795
939
|
// 偏好设置
|
|
@@ -803,13 +947,15 @@ const useAppStore = defineStore("layout-app", {
|
|
|
803
947
|
// 显示页脚
|
|
804
948
|
greyMode: false,
|
|
805
949
|
// 是否开始灰色模式,用于特殊悼念日
|
|
806
|
-
layout: wsCache
|
|
807
|
-
|
|
950
|
+
// layout: wsCache.get(CACHE_KEY.LAYOUT) || 'left', // layout布局
|
|
951
|
+
layout: "top",
|
|
808
952
|
currentSize: wsCache$3.get("default") || "default",
|
|
809
953
|
// 组件尺寸
|
|
810
954
|
theme: wsCache$3.get(CACHE_KEY.THEME) || "whiteLight",
|
|
811
|
-
isSetTheme: false
|
|
955
|
+
isSetTheme: false,
|
|
812
956
|
//初始化主题色
|
|
957
|
+
// topNav: wsCache.get(CACHE_KEY.TOPNAV) || 'normal', // 顶部导航栏 normal、floating、collapsed
|
|
958
|
+
topNav: "normal"
|
|
813
959
|
};
|
|
814
960
|
},
|
|
815
961
|
getters: {
|
|
@@ -875,6 +1021,9 @@ const useAppStore = defineStore("layout-app", {
|
|
|
875
1021
|
},
|
|
876
1022
|
getIsSetTheme() {
|
|
877
1023
|
return this.isSetTheme;
|
|
1024
|
+
},
|
|
1025
|
+
getTopNav() {
|
|
1026
|
+
return this.topNav;
|
|
878
1027
|
}
|
|
879
1028
|
},
|
|
880
1029
|
actions: {
|
|
@@ -936,6 +1085,10 @@ const useAppStore = defineStore("layout-app", {
|
|
|
936
1085
|
setFooter(footer) {
|
|
937
1086
|
this.footer = footer;
|
|
938
1087
|
},
|
|
1088
|
+
setTopNav(topNav) {
|
|
1089
|
+
this.topNav = topNav;
|
|
1090
|
+
wsCache$3.set(CACHE_KEY.TOPNAV, topNav);
|
|
1091
|
+
},
|
|
939
1092
|
async setUserTheme() {
|
|
940
1093
|
}
|
|
941
1094
|
},
|
|
@@ -1044,6 +1197,72 @@ const addToChildren = (routes, children, routeModule) => {
|
|
|
1044
1197
|
}
|
|
1045
1198
|
}
|
|
1046
1199
|
};
|
|
1200
|
+
function findRouterBy(routers, key, value) {
|
|
1201
|
+
var _a2;
|
|
1202
|
+
for (const router of routers) {
|
|
1203
|
+
if (router[key] === value)
|
|
1204
|
+
return router;
|
|
1205
|
+
if ((_a2 = router.children) == null ? void 0 : _a2.length) {
|
|
1206
|
+
const found = findRouterBy(router.children, key, value);
|
|
1207
|
+
if (found)
|
|
1208
|
+
return found;
|
|
1209
|
+
}
|
|
1210
|
+
}
|
|
1211
|
+
return void 0;
|
|
1212
|
+
}
|
|
1213
|
+
function buildChildPaths(router) {
|
|
1214
|
+
const parentPath = router.path ? router.path.startsWith("/") ? router.path : `/${router.path}` : "";
|
|
1215
|
+
return (router.children || []).map((child) => {
|
|
1216
|
+
const childPath = child.path ? parentPath.endsWith("/") ? child.path.startsWith("/") ? child.path.substring(1) : child.path : child.path.startsWith("/") ? child.path : `/${child.path}` : "";
|
|
1217
|
+
let fullPath = `${parentPath}${childPath}`;
|
|
1218
|
+
if (fullPath.length > 1 && fullPath.endsWith("/")) {
|
|
1219
|
+
fullPath = fullPath.slice(0, -1);
|
|
1220
|
+
}
|
|
1221
|
+
return { ...child, path: fullPath };
|
|
1222
|
+
});
|
|
1223
|
+
}
|
|
1224
|
+
function prependPathToRoutes(routes, parentPath) {
|
|
1225
|
+
if (!parentPath || !routes)
|
|
1226
|
+
return routes;
|
|
1227
|
+
const base = parentPath === "/" ? "" : parentPath.replace(/\/$/, "");
|
|
1228
|
+
return routes.map((route) => {
|
|
1229
|
+
let newPath;
|
|
1230
|
+
if (!route.path) {
|
|
1231
|
+
newPath = base || "/";
|
|
1232
|
+
} else {
|
|
1233
|
+
newPath = base + (route.path.startsWith("/") ? route.path : `/${route.path}`);
|
|
1234
|
+
}
|
|
1235
|
+
if (newPath.length > 1 && newPath.endsWith("/")) {
|
|
1236
|
+
newPath = newPath.slice(0, -1);
|
|
1237
|
+
}
|
|
1238
|
+
return {
|
|
1239
|
+
...route,
|
|
1240
|
+
path: newPath
|
|
1241
|
+
};
|
|
1242
|
+
});
|
|
1243
|
+
}
|
|
1244
|
+
function mergeExampleRoutes(targetModule, exampleRoutes, position = "start") {
|
|
1245
|
+
if (!exampleRoutes || exampleRoutes.length === 0)
|
|
1246
|
+
return;
|
|
1247
|
+
const convertRouteToMenu = (route) => {
|
|
1248
|
+
var _a2, _b, _c, _d, _e, _f;
|
|
1249
|
+
return {
|
|
1250
|
+
name: ((_a2 = route.meta) == null ? void 0 : _a2.title) || route.name || "",
|
|
1251
|
+
path: route.path,
|
|
1252
|
+
icon: ((_b = route.meta) == null ? void 0 : _b.icon) || "",
|
|
1253
|
+
visible: ((_c = route.meta) == null ? void 0 : _c.hidden) !== true,
|
|
1254
|
+
redirect: route.redirect || "",
|
|
1255
|
+
meta: {
|
|
1256
|
+
title: ((_d = route.meta) == null ? void 0 : _d.title) || route.name || "",
|
|
1257
|
+
icon: ((_e = route.meta) == null ? void 0 : _e.icon) || "",
|
|
1258
|
+
hidden: ((_f = route.meta) == null ? void 0 : _f.hidden) === true
|
|
1259
|
+
},
|
|
1260
|
+
children: (route.children || []).map(convertRouteToMenu)
|
|
1261
|
+
};
|
|
1262
|
+
};
|
|
1263
|
+
const converted = exampleRoutes.map(convertRouteToMenu);
|
|
1264
|
+
targetModule.children = position === "start" ? converted.concat(targetModule.children || []) : (targetModule.children || []).concat(converted);
|
|
1265
|
+
}
|
|
1047
1266
|
const usePermissionStore = defineStore("layout-permission", {
|
|
1048
1267
|
state: () => ({
|
|
1049
1268
|
routers: [],
|
|
@@ -1052,6 +1271,7 @@ const usePermissionStore = defineStore("layout-permission", {
|
|
|
1052
1271
|
leftMenuRouters: [],
|
|
1053
1272
|
moduleRouters: [],
|
|
1054
1273
|
moduleId: void 0,
|
|
1274
|
+
moduleName: void 0,
|
|
1055
1275
|
roleRouters: []
|
|
1056
1276
|
// 菜单数据存储到 state,确保响应式
|
|
1057
1277
|
}),
|
|
@@ -1079,6 +1299,9 @@ const usePermissionStore = defineStore("layout-permission", {
|
|
|
1079
1299
|
},
|
|
1080
1300
|
getModuleId() {
|
|
1081
1301
|
return this.moduleId;
|
|
1302
|
+
},
|
|
1303
|
+
getModuleName() {
|
|
1304
|
+
return this.moduleName;
|
|
1082
1305
|
}
|
|
1083
1306
|
},
|
|
1084
1307
|
actions: {
|
|
@@ -1101,23 +1324,22 @@ const usePermissionStore = defineStore("layout-permission", {
|
|
|
1101
1324
|
const childPath = child.path ? child.path.startsWith("/") ? child.path : `/${child.path}` : "";
|
|
1102
1325
|
return { ...child, path: `${basePath}${childPath}` };
|
|
1103
1326
|
});
|
|
1104
|
-
this.leftMenuRouters =
|
|
1105
|
-
nextTick(() => {
|
|
1106
|
-
this.leftMenuRouters = routers;
|
|
1107
|
-
});
|
|
1327
|
+
this.leftMenuRouters = routers;
|
|
1108
1328
|
},
|
|
1109
1329
|
// 处理模块对应菜单
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
const findRouter = this.getRoleRouters
|
|
1330
|
+
// 返回修改后的 exampleRoutes(已拼接模块路径前缀),供路由注册使用
|
|
1331
|
+
setModuleRouters(menuId, exampleRoutes = [], examplePosition = "start") {
|
|
1332
|
+
const findRouter = findRouterBy(this.getRoleRouters, "id", menuId);
|
|
1113
1333
|
if (findRouter) {
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
this.moduleRouters =
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1334
|
+
this.moduleId = findRouter.id;
|
|
1335
|
+
this.moduleName = findRouter.name;
|
|
1336
|
+
this.moduleRouters = buildChildPaths(findRouter);
|
|
1337
|
+
const parentPath = findRouter.path || "";
|
|
1338
|
+
const prefixedExampleRoutes = prependPathToRoutes(exampleRoutes, parentPath);
|
|
1339
|
+
mergeExampleRoutes(findRouter, prefixedExampleRoutes, examplePosition);
|
|
1340
|
+
return prefixedExampleRoutes;
|
|
1120
1341
|
}
|
|
1342
|
+
return exampleRoutes;
|
|
1121
1343
|
},
|
|
1122
1344
|
resetState() {
|
|
1123
1345
|
this.routers = [];
|
|
@@ -1126,20 +1348,23 @@ const usePermissionStore = defineStore("layout-permission", {
|
|
|
1126
1348
|
this.leftMenuRouters = [];
|
|
1127
1349
|
this.moduleRouters = [];
|
|
1128
1350
|
this.moduleId = void 0;
|
|
1351
|
+
this.moduleName = void 0;
|
|
1129
1352
|
this.roleRouters = [];
|
|
1130
1353
|
},
|
|
1131
1354
|
// 处理模块对应菜单(通过模块code)
|
|
1132
|
-
|
|
1133
|
-
|
|
1355
|
+
// 返回修改后的 exampleRoutes(已拼接模块路径前缀),供路由注册使用
|
|
1356
|
+
setModuleRoutersByCode(moduleCode, exampleRoutes = [], examplePosition = "start") {
|
|
1357
|
+
const findRouter = findRouterBy(this.getRoleRouters, "moduleCode", moduleCode);
|
|
1134
1358
|
if (findRouter) {
|
|
1135
1359
|
this.moduleId = findRouter.id;
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1360
|
+
this.moduleName = findRouter.name;
|
|
1361
|
+
this.moduleRouters = buildChildPaths(findRouter);
|
|
1362
|
+
const parentPath = findRouter.path || "";
|
|
1363
|
+
const prefixedExampleRoutes = prependPathToRoutes(exampleRoutes, parentPath);
|
|
1364
|
+
mergeExampleRoutes(findRouter, prefixedExampleRoutes, examplePosition);
|
|
1365
|
+
return prefixedExampleRoutes;
|
|
1142
1366
|
}
|
|
1367
|
+
return exampleRoutes;
|
|
1143
1368
|
}
|
|
1144
1369
|
},
|
|
1145
1370
|
persist: false
|
|
@@ -3489,8 +3714,8 @@ try {
|
|
|
3489
3714
|
}
|
|
3490
3715
|
} catch (err) {
|
|
3491
3716
|
}
|
|
3492
|
-
const _hoisted_1$
|
|
3493
|
-
const _hoisted_2$
|
|
3717
|
+
const _hoisted_1$d = ["xlink:href"];
|
|
3718
|
+
const _hoisted_2$b = ["data-icon"];
|
|
3494
3719
|
const _sfc_main$x = /* @__PURE__ */ Object.assign({ name: "Icon" }, {
|
|
3495
3720
|
__name: "Icon",
|
|
3496
3721
|
props: {
|
|
@@ -3571,7 +3796,7 @@ const _sfc_main$x = /* @__PURE__ */ Object.assign({ name: "Icon" }, {
|
|
|
3571
3796
|
key: 0,
|
|
3572
3797
|
class: normalizeClass(unref(getSvgClass))
|
|
3573
3798
|
}, [
|
|
3574
|
-
createElementVNode("use", { "xlink:href": unref(symbolId) }, null, 8, _hoisted_1$
|
|
3799
|
+
createElementVNode("use", { "xlink:href": unref(symbolId) }, null, 8, _hoisted_1$d)
|
|
3575
3800
|
], 2)) : (openBlock(), createElementBlock("span", {
|
|
3576
3801
|
key: 1,
|
|
3577
3802
|
ref_key: "elRef",
|
|
@@ -3582,7 +3807,7 @@ const _sfc_main$x = /* @__PURE__ */ Object.assign({ name: "Icon" }, {
|
|
|
3582
3807
|
createElementVNode("span", {
|
|
3583
3808
|
class: normalizeClass(unref(getSvgClass)),
|
|
3584
3809
|
"data-icon": unref(symbolId)
|
|
3585
|
-
}, null, 10, _hoisted_2$
|
|
3810
|
+
}, null, 10, _hoisted_2$b)
|
|
3586
3811
|
], 6))
|
|
3587
3812
|
]),
|
|
3588
3813
|
_: 1
|
|
@@ -3643,19 +3868,10 @@ const useRenderMenuTitle = () => {
|
|
|
3643
3868
|
title = "Please set title",
|
|
3644
3869
|
icon
|
|
3645
3870
|
} = 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", {
|
|
3871
|
+
const showIcon = computed(() => layout.value !== "top");
|
|
3872
|
+
return createVNode(Fragment, null, [showIcon.value && createVNode(_sfc_main$x, {
|
|
3873
|
+
"icon": icon ? icon : "ep:house"
|
|
3874
|
+
}, null), createVNode("span", {
|
|
3659
3875
|
"class": [`${prefixCls$5}__title`, "overflow-hidden overflow-ellipsis whitespace-nowrap text-ellipsis"]
|
|
3660
3876
|
}, [t2(title)])]);
|
|
3661
3877
|
};
|
|
@@ -3865,21 +4081,30 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
3865
4081
|
}
|
|
3866
4082
|
});
|
|
3867
4083
|
};
|
|
4084
|
+
const showCollapse = computed(() => {
|
|
4085
|
+
return layout.value == "left" || unref(layout) == "topLeft" && props.mode == "vertical";
|
|
4086
|
+
});
|
|
4087
|
+
const moduleName = computed(() => permissionStore.getModuleName);
|
|
4088
|
+
const showModuleName = computed(() => (layout.value == "left" || layout.value == "topLeft" && props.mode == "vertical") && !collapse.value);
|
|
3868
4089
|
return () => createVNode("div", {
|
|
3869
4090
|
"id": prefixCls$4,
|
|
3870
|
-
"class": [`${prefixCls$4} ${prefixCls$4}__${unref(menuMode)}`, "
|
|
4091
|
+
"class": [`${prefixCls$4} ${prefixCls$4}__${unref(menuMode)}`, "flex flex-col", {
|
|
3871
4092
|
"w-[var(--left-menu-min-width)]": unref(collapse),
|
|
3872
4093
|
"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"
|
|
4094
|
+
"bg-[linear-gradient(var(--left-menu-bg-color))]": unref(layout) == "left" || unref(layout) == "topLeft" && props.mode == "vertical",
|
|
4095
|
+
"collapse": unref(collapse),
|
|
4096
|
+
"un-collapse": !unref(collapse)
|
|
3874
4097
|
}]
|
|
3875
|
-
}, [createVNode("div", {
|
|
4098
|
+
}, [showModuleName.value && createVNode("div", {
|
|
4099
|
+
"class": "text-center text-16px font-500 p-16px pb-10px text-[var(--left-menu-text-color)]"
|
|
4100
|
+
}, [moduleName.value]), createVNode("div", {
|
|
3876
4101
|
"class": "flex-1 overflow-hidden"
|
|
3877
|
-
}, [renderMenuWrap()]),
|
|
4102
|
+
}, [renderMenuWrap()]), unref(showCollapse) ? createVNode(Collapse, {
|
|
3878
4103
|
"color": "var(--top-header-text-color)"
|
|
3879
4104
|
}, null) : void 0]);
|
|
3880
4105
|
}
|
|
3881
4106
|
});
|
|
3882
|
-
const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-
|
|
4107
|
+
const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-ca95b9cd"]]);
|
|
3883
4108
|
var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
|
|
3884
4109
|
function int2char(n2) {
|
|
3885
4110
|
return BI_RM.charAt(n2);
|
|
@@ -7535,10 +7760,15 @@ const useUserStore = defineStore("layout-user", {
|
|
|
7535
7760
|
avatar: "",
|
|
7536
7761
|
nickname: "",
|
|
7537
7762
|
deptId: 0,
|
|
7763
|
+
deptName: "",
|
|
7538
7764
|
mobile: "",
|
|
7539
7765
|
email: "",
|
|
7540
|
-
username: ""
|
|
7541
|
-
|
|
7766
|
+
username: "",
|
|
7767
|
+
orgId: "",
|
|
7768
|
+
orgName: ""
|
|
7769
|
+
},
|
|
7770
|
+
// 公司列表
|
|
7771
|
+
companyList: []
|
|
7542
7772
|
}),
|
|
7543
7773
|
getters: {
|
|
7544
7774
|
getPermissions() {
|
|
@@ -7556,6 +7786,9 @@ const useUserStore = defineStore("layout-user", {
|
|
|
7556
7786
|
getUserInfo() {
|
|
7557
7787
|
const userInfo = wsCache$1.get(CACHE_KEY.USER);
|
|
7558
7788
|
return userInfo;
|
|
7789
|
+
},
|
|
7790
|
+
getCompanyList() {
|
|
7791
|
+
return this.companyList;
|
|
7559
7792
|
}
|
|
7560
7793
|
},
|
|
7561
7794
|
actions: {
|
|
@@ -7592,6 +7825,10 @@ const useUserStore = defineStore("layout-user", {
|
|
|
7592
7825
|
userInfo.user.email = user.email;
|
|
7593
7826
|
wsCache$1.set(CACHE_KEY.USER, userInfo);
|
|
7594
7827
|
},
|
|
7828
|
+
// 更新用户企业列表信息
|
|
7829
|
+
setCompanyListAction(companyList) {
|
|
7830
|
+
this.companyList = companyList || [];
|
|
7831
|
+
},
|
|
7595
7832
|
async loginOut() {
|
|
7596
7833
|
removeToken();
|
|
7597
7834
|
deleteUserCache();
|
|
@@ -7978,9 +8215,9 @@ function useScrollTo({
|
|
|
7978
8215
|
}
|
|
7979
8216
|
return { start: run, stop };
|
|
7980
8217
|
}
|
|
7981
|
-
const _hoisted_1$
|
|
7982
|
-
const _hoisted_2$
|
|
7983
|
-
const _hoisted_3$
|
|
8218
|
+
const _hoisted_1$c = ["id"];
|
|
8219
|
+
const _hoisted_2$a = { class: "flex-1 overflow-hidden px-16px" };
|
|
8220
|
+
const _hoisted_3$9 = { class: "h-[var(--tags-view-height)] flex" };
|
|
7984
8221
|
const _hoisted_4$8 = ["onClick"];
|
|
7985
8222
|
const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
7986
8223
|
__name: "TagsView",
|
|
@@ -8058,6 +8295,7 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8058
8295
|
const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
|
|
8059
8296
|
if (!wrap$)
|
|
8060
8297
|
return;
|
|
8298
|
+
scrollStopFn == null ? void 0 : scrollStopFn();
|
|
8061
8299
|
let firstTag = null;
|
|
8062
8300
|
let lastTag = null;
|
|
8063
8301
|
const tagList = unref(tagLinksRefs);
|
|
@@ -8066,12 +8304,22 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8066
8304
|
lastTag = tagList[tagList.length - 1];
|
|
8067
8305
|
}
|
|
8068
8306
|
if ((firstTag == null ? void 0 : firstTag.to).fullPath === currentTag.fullPath) {
|
|
8069
|
-
const { start } = useScrollTo({
|
|
8307
|
+
const { start, stop } = useScrollTo({
|
|
8070
8308
|
el: wrap$,
|
|
8071
8309
|
position: "scrollLeft",
|
|
8072
8310
|
to: 0,
|
|
8073
8311
|
duration: 500
|
|
8074
8312
|
});
|
|
8313
|
+
scrollStopFn = stop;
|
|
8314
|
+
start();
|
|
8315
|
+
} else if ((lastTag == null ? void 0 : lastTag.to).fullPath === currentTag.fullPath) {
|
|
8316
|
+
const { start, stop } = useScrollTo({
|
|
8317
|
+
el: wrap$,
|
|
8318
|
+
position: "scrollLeft",
|
|
8319
|
+
to: wrap$.scrollWidth - wrap$.offsetWidth,
|
|
8320
|
+
duration: 500
|
|
8321
|
+
});
|
|
8322
|
+
scrollStopFn = stop;
|
|
8075
8323
|
start();
|
|
8076
8324
|
} else if ((lastTag == null ? void 0 : lastTag.to).fullPath === currentTag.fullPath) {
|
|
8077
8325
|
const { start } = useScrollTo({
|
|
@@ -8082,9 +8330,7 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8082
8330
|
});
|
|
8083
8331
|
start();
|
|
8084
8332
|
} else {
|
|
8085
|
-
const currentIndex = tagList.findIndex(
|
|
8086
|
-
(item) => (item == null ? void 0 : item.to).fullPath === currentTag.fullPath
|
|
8087
|
-
);
|
|
8333
|
+
const currentIndex = tagList.findIndex((item) => (item == null ? void 0 : item.to).fullPath === currentTag.fullPath);
|
|
8088
8334
|
const tgsRefs = document.getElementsByClassName(`${prefixCls2}__item`);
|
|
8089
8335
|
const prevTag = tgsRefs[currentIndex - 1];
|
|
8090
8336
|
const nextTag = tgsRefs[currentIndex + 1];
|
|
@@ -8093,20 +8339,22 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8093
8339
|
const afterNextTagOffsetLeft = nextTag.offsetLeft + nextTag.offsetWidth;
|
|
8094
8340
|
const beforePrevTagOffsetLeft = prevTag.offsetLeft;
|
|
8095
8341
|
if (afterNextTagOffsetLeft > unref(scrollLeftNumber) + wrap$.offsetWidth) {
|
|
8096
|
-
const { start } = useScrollTo({
|
|
8342
|
+
const { start, stop } = useScrollTo({
|
|
8097
8343
|
el: wrap$,
|
|
8098
8344
|
position: "scrollLeft",
|
|
8099
8345
|
to: afterNextTagOffsetLeft - wrap$.offsetWidth,
|
|
8100
8346
|
duration: 500
|
|
8101
8347
|
});
|
|
8348
|
+
scrollStopFn = stop;
|
|
8102
8349
|
start();
|
|
8103
8350
|
} else if (beforePrevTagOffsetLeft < unref(scrollLeftNumber)) {
|
|
8104
|
-
const { start } = useScrollTo({
|
|
8351
|
+
const { start, stop } = useScrollTo({
|
|
8105
8352
|
el: wrap$,
|
|
8106
8353
|
position: "scrollLeft",
|
|
8107
8354
|
to: beforePrevTagOffsetLeft,
|
|
8108
8355
|
duration: 500
|
|
8109
8356
|
});
|
|
8357
|
+
scrollStopFn = stop;
|
|
8110
8358
|
start();
|
|
8111
8359
|
}
|
|
8112
8360
|
}
|
|
@@ -8119,13 +8367,53 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8119
8367
|
};
|
|
8120
8368
|
const scrollbarRef = ref();
|
|
8121
8369
|
const scrollLeftNumber = ref(0);
|
|
8122
|
-
const
|
|
8370
|
+
const showArrows = ref(false);
|
|
8371
|
+
const disabledLeftArrow = ref(false);
|
|
8372
|
+
const disabledRightArrow = ref(false);
|
|
8373
|
+
let scrollStopFn = null;
|
|
8374
|
+
const checkArrows = () => {
|
|
8375
|
+
var _a2;
|
|
8376
|
+
const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
|
|
8377
|
+
if (!wrap$)
|
|
8378
|
+
return;
|
|
8379
|
+
const { scrollLeft, scrollWidth, offsetWidth } = wrap$;
|
|
8380
|
+
showArrows.value = scrollWidth > offsetWidth;
|
|
8381
|
+
disabledLeftArrow.value = scrollLeft <= 0;
|
|
8382
|
+
disabledRightArrow.value = scrollLeft >= scrollWidth - offsetWidth - 1;
|
|
8383
|
+
};
|
|
8384
|
+
const handleScroll = ({ scrollLeft }) => {
|
|
8123
8385
|
scrollLeftNumber.value = scrollLeft;
|
|
8386
|
+
checkArrows();
|
|
8387
|
+
};
|
|
8388
|
+
const handleScrollLeft = () => {
|
|
8389
|
+
var _a2;
|
|
8390
|
+
const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
|
|
8391
|
+
if (wrap$) {
|
|
8392
|
+
wrap$.scrollTo({
|
|
8393
|
+
left: Math.max(0, wrap$.scrollLeft - 300),
|
|
8394
|
+
behavior: "smooth"
|
|
8395
|
+
});
|
|
8396
|
+
}
|
|
8397
|
+
};
|
|
8398
|
+
const handleScrollRight = () => {
|
|
8399
|
+
var _a2;
|
|
8400
|
+
const wrap$ = (_a2 = unref(scrollbarRef)) == null ? void 0 : _a2.wrapRef;
|
|
8401
|
+
if (wrap$) {
|
|
8402
|
+
wrap$.scrollTo({
|
|
8403
|
+
left: wrap$.scrollLeft + 300,
|
|
8404
|
+
behavior: "smooth"
|
|
8405
|
+
});
|
|
8406
|
+
}
|
|
8124
8407
|
};
|
|
8125
8408
|
onBeforeMount(() => {
|
|
8126
8409
|
initTags();
|
|
8127
8410
|
addTags();
|
|
8128
8411
|
});
|
|
8412
|
+
onMounted(() => {
|
|
8413
|
+
nextTick(() => {
|
|
8414
|
+
checkArrows();
|
|
8415
|
+
});
|
|
8416
|
+
});
|
|
8129
8417
|
watch(
|
|
8130
8418
|
() => currentRoute.value,
|
|
8131
8419
|
() => {
|
|
@@ -8138,17 +8426,17 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8138
8426
|
const _component_router_link = resolveComponent("router-link");
|
|
8139
8427
|
return openBlock(), createElementBlock("div", {
|
|
8140
8428
|
id: unref(prefixCls2),
|
|
8141
|
-
class: normalizeClass([unref(prefixCls2), "relative
|
|
8429
|
+
class: normalizeClass([unref(prefixCls2), "relative flex items-center"])
|
|
8142
8430
|
}, [
|
|
8143
|
-
createElementVNode("div", _hoisted_2$
|
|
8431
|
+
createElementVNode("div", _hoisted_2$a, [
|
|
8144
8432
|
createVNode(unref(ElScrollbar), {
|
|
8145
8433
|
ref_key: "scrollbarRef",
|
|
8146
8434
|
ref: scrollbarRef,
|
|
8147
8435
|
class: "h-full",
|
|
8148
|
-
onScroll:
|
|
8436
|
+
onScroll: handleScroll
|
|
8149
8437
|
}, {
|
|
8150
8438
|
default: withCtx(() => [
|
|
8151
|
-
createElementVNode("div", _hoisted_3$
|
|
8439
|
+
createElementVNode("div", _hoisted_3$9, [
|
|
8152
8440
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(visitedViews), (item) => {
|
|
8153
8441
|
var _a2, _b, _c, _d, _e, _f;
|
|
8154
8442
|
return openBlock(), createBlock(unref(_sfc_main$u), {
|
|
@@ -8208,18 +8496,21 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8208
8496
|
var _a3, _b2;
|
|
8209
8497
|
return [
|
|
8210
8498
|
createElementVNode("div", {
|
|
8211
|
-
class: normalizeClass(`h-full flex items-center justify-center gap-
|
|
8499
|
+
class: normalizeClass(`h-full flex items-center justify-center gap-16px whitespace-nowrap ${unref(prefixCls2)}__item--label`),
|
|
8212
8500
|
onClick: navigate
|
|
8213
8501
|
}, [
|
|
8214
8502
|
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
|
-
|
|
8503
|
+
((_b2 = unref(visitedViews)) == null ? void 0 : _b2.length) > 1 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
8504
|
+
createVNode(_component_Icon, {
|
|
8505
|
+
class: normalizeClass(`${unref(prefixCls2)}__item--close`),
|
|
8506
|
+
size: 8,
|
|
8507
|
+
icon: "svg-icon:tag-close",
|
|
8508
|
+
onClick: withModifiers(($event) => closeSelectedTag(item), ["prevent", "stop"])
|
|
8509
|
+
}, null, 8, ["class", "onClick"]),
|
|
8510
|
+
createElementVNode("span", {
|
|
8511
|
+
class: normalizeClass(`${unref(prefixCls2)}__item--dot`)
|
|
8512
|
+
}, null, 2)
|
|
8513
|
+
], 64)) : createCommentVNode("", true)
|
|
8223
8514
|
], 10, _hoisted_4$8)
|
|
8224
8515
|
];
|
|
8225
8516
|
}),
|
|
@@ -8234,12 +8525,32 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8234
8525
|
]),
|
|
8235
8526
|
_: 1
|
|
8236
8527
|
}, 512)
|
|
8237
|
-
])
|
|
8238
|
-
|
|
8528
|
+
]),
|
|
8529
|
+
unref(showArrows) ? (openBlock(), createElementBlock("div", {
|
|
8530
|
+
key: 0,
|
|
8531
|
+
class: normalizeClass(`${unref(prefixCls2)}__arrow ${unref(prefixCls2)}__arrow--left ${unref(disabledLeftArrow) ? "is-disabled" : ""}`),
|
|
8532
|
+
onClick: handleScrollLeft
|
|
8533
|
+
}, [
|
|
8534
|
+
createVNode(_component_Icon, {
|
|
8535
|
+
icon: "svg-icon:chevron-left",
|
|
8536
|
+
size: 10
|
|
8537
|
+
})
|
|
8538
|
+
], 2)) : createCommentVNode("", true),
|
|
8539
|
+
unref(showArrows) ? (openBlock(), createElementBlock("div", {
|
|
8540
|
+
key: 1,
|
|
8541
|
+
class: normalizeClass(`${unref(prefixCls2)}__arrow ${unref(prefixCls2)}__arrow--right ${unref(disabledRightArrow) ? "is-disabled" : ""}`),
|
|
8542
|
+
onClick: handleScrollRight
|
|
8543
|
+
}, [
|
|
8544
|
+
createVNode(_component_Icon, {
|
|
8545
|
+
icon: "svg-icon:chevron-right",
|
|
8546
|
+
size: 10
|
|
8547
|
+
})
|
|
8548
|
+
], 2)) : createCommentVNode("", true)
|
|
8549
|
+
], 10, _hoisted_1$c);
|
|
8239
8550
|
};
|
|
8240
8551
|
}
|
|
8241
8552
|
});
|
|
8242
|
-
const TagsView = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-
|
|
8553
|
+
const TagsView = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-3fbf2f73"]]);
|
|
8243
8554
|
const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
|
|
8244
8555
|
__name: "MenuTrigger",
|
|
8245
8556
|
props: {
|
|
@@ -8250,9 +8561,12 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
|
|
|
8250
8561
|
},
|
|
8251
8562
|
emits: ["click", "toggle"],
|
|
8252
8563
|
setup(__props, { emit: __emit }) {
|
|
8564
|
+
const appStore = useAppStore();
|
|
8253
8565
|
const { getPrefixCls: getPrefixCls2 } = useDesign();
|
|
8254
8566
|
const prefixCls2 = getPrefixCls2("menu-trigger");
|
|
8255
8567
|
const props = __props;
|
|
8568
|
+
const theme = computed(() => appStore.getTheme);
|
|
8569
|
+
const triggerIcon = computed(() => props.active ? "svg-icon:close-square" : theme.value === "whiteLight" ? "svg-icon:menu-trigger-filled" : "svg-icon:menu-trigger");
|
|
8256
8570
|
const emit = __emit;
|
|
8257
8571
|
const handleClick = () => {
|
|
8258
8572
|
emit("click");
|
|
@@ -8265,21 +8579,20 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
|
|
|
8265
8579
|
onClick: handleClick
|
|
8266
8580
|
}, [
|
|
8267
8581
|
createVNode(_component_Icon, {
|
|
8268
|
-
icon:
|
|
8269
|
-
|
|
8270
|
-
|
|
8582
|
+
icon: unref(triggerIcon),
|
|
8583
|
+
class: normalizeClass(["icon-color"]),
|
|
8584
|
+
size: 18
|
|
8271
8585
|
}, null, 8, ["icon"])
|
|
8272
8586
|
], 2);
|
|
8273
8587
|
};
|
|
8274
8588
|
}
|
|
8275
8589
|
});
|
|
8276
|
-
const MenuTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-
|
|
8277
|
-
const _hoisted_1$
|
|
8278
|
-
const _hoisted_2$
|
|
8279
|
-
const _hoisted_3$
|
|
8590
|
+
const MenuTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-df837f35"]]);
|
|
8591
|
+
const _hoisted_1$b = { class: "sidebar-inner" };
|
|
8592
|
+
const _hoisted_2$9 = ["onClick"];
|
|
8593
|
+
const _hoisted_3$8 = ["onClick"];
|
|
8280
8594
|
const _hoisted_4$7 = ["onClick"];
|
|
8281
|
-
const _hoisted_5$
|
|
8282
|
-
const _hoisted_6$4 = { key: 1 };
|
|
8595
|
+
const _hoisted_5$6 = ["onClick"];
|
|
8283
8596
|
const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel" }, {
|
|
8284
8597
|
__name: "ProductServicePanel",
|
|
8285
8598
|
props: {
|
|
@@ -8320,11 +8633,16 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8320
8633
|
}, 300);
|
|
8321
8634
|
}
|
|
8322
8635
|
});
|
|
8323
|
-
const
|
|
8636
|
+
const expandedCardIndex = ref(null);
|
|
8637
|
+
const activeProductIndex = ref(0);
|
|
8638
|
+
const activeModuleIndex = ref(0);
|
|
8324
8639
|
const routers = computed(() => permissionStore.getRoleRouters);
|
|
8640
|
+
const productMenuRouters = computed(() => {
|
|
8641
|
+
return (routers.value || []).filter((item) => item.type === 10);
|
|
8642
|
+
});
|
|
8325
8643
|
const filteredMenus = computed(() => {
|
|
8326
8644
|
const keyword = debouncedKeyword.value.toLowerCase().trim();
|
|
8327
|
-
const items =
|
|
8645
|
+
const items = productMenuRouters.value;
|
|
8328
8646
|
if (!items || !Array.isArray(items))
|
|
8329
8647
|
return [];
|
|
8330
8648
|
const filterFn = (list) => {
|
|
@@ -8345,7 +8663,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8345
8663
|
};
|
|
8346
8664
|
return filterFn(items);
|
|
8347
8665
|
});
|
|
8348
|
-
const
|
|
8666
|
+
const productList = computed(() => {
|
|
8349
8667
|
return filteredMenus.value.map((menu) => {
|
|
8350
8668
|
var _a2;
|
|
8351
8669
|
return {
|
|
@@ -8358,19 +8676,43 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8358
8676
|
};
|
|
8359
8677
|
});
|
|
8360
8678
|
});
|
|
8361
|
-
const
|
|
8362
|
-
if (
|
|
8679
|
+
const activeProduct = computed(() => {
|
|
8680
|
+
if (productList.value.length === 0)
|
|
8681
|
+
return null;
|
|
8682
|
+
return productList.value[activeProductIndex.value] || null;
|
|
8683
|
+
});
|
|
8684
|
+
const activeModules = computed(() => {
|
|
8685
|
+
var _a2;
|
|
8686
|
+
return ((_a2 = activeProduct.value) == null ? void 0 : _a2.children) || [];
|
|
8687
|
+
});
|
|
8688
|
+
const activeModule = computed(() => {
|
|
8689
|
+
if (activeModules.value.length === 0)
|
|
8690
|
+
return null;
|
|
8691
|
+
return activeModules.value[activeModuleIndex.value] || null;
|
|
8692
|
+
});
|
|
8693
|
+
const contentGroups = computed(() => {
|
|
8694
|
+
if (!activeModule.value)
|
|
8363
8695
|
return [];
|
|
8364
|
-
const
|
|
8365
|
-
return (
|
|
8696
|
+
const thirdMenus = (activeModule.value.children || []).filter(isVisible);
|
|
8697
|
+
return thirdMenus.map((third) => ({
|
|
8698
|
+
id: third.id,
|
|
8699
|
+
title: getMenuTitle(third),
|
|
8700
|
+
path: third.path,
|
|
8701
|
+
items: (third.children || []).filter(isVisible).map((fourth) => ({
|
|
8702
|
+
id: fourth.id,
|
|
8703
|
+
title: getMenuTitle(fourth),
|
|
8704
|
+
path: fourth.path
|
|
8705
|
+
}))
|
|
8706
|
+
}));
|
|
8366
8707
|
});
|
|
8367
8708
|
const joinPath = (...paths) => {
|
|
8368
8709
|
return paths.filter(Boolean).reduce((result, path) => {
|
|
8369
8710
|
if (!result)
|
|
8370
8711
|
return path;
|
|
8712
|
+
if (path.startsWith("/"))
|
|
8713
|
+
return path;
|
|
8371
8714
|
const normalizedBase = result.endsWith("/") ? result.slice(0, -1) : result;
|
|
8372
|
-
|
|
8373
|
-
return `${normalizedBase}/${normalizedPath}`;
|
|
8715
|
+
return `${normalizedBase}/${path}`;
|
|
8374
8716
|
}, "");
|
|
8375
8717
|
};
|
|
8376
8718
|
const getAccessiblePath = (item, parentPath = "") => {
|
|
@@ -8388,58 +8730,89 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8388
8730
|
clearTimeout(debounceTimer);
|
|
8389
8731
|
searchKeyword.value = "";
|
|
8390
8732
|
debouncedKeyword.value = "";
|
|
8391
|
-
|
|
8733
|
+
activeProductIndex.value = 0;
|
|
8734
|
+
activeModuleIndex.value = 0;
|
|
8392
8735
|
};
|
|
8393
8736
|
const handleSelect = (item, parentPath = "") => {
|
|
8394
|
-
var _a2, _b;
|
|
8737
|
+
var _a2, _b, _c, _d;
|
|
8395
8738
|
const fullPath = getAccessiblePath(item, parentPath);
|
|
8396
8739
|
if (fullPath) {
|
|
8740
|
+
const normalizedPath = fullPath.startsWith("/") ? fullPath : `/${fullPath}`;
|
|
8397
8741
|
const currentModuleId = permissionStore.getModuleId;
|
|
8398
|
-
const selectedModuleId = (_a2 =
|
|
8742
|
+
const selectedModuleId = (_b = (_a2 = productList.value[activeProductIndex.value]) == null ? void 0 : _a2.children[activeModuleIndex.value]) == null ? void 0 : _b.id;
|
|
8399
8743
|
if (selectedModuleId === currentModuleId) {
|
|
8400
|
-
router.push(
|
|
8744
|
+
router.push(normalizedPath);
|
|
8401
8745
|
} else {
|
|
8402
8746
|
const currentOrigin = window.location.origin;
|
|
8403
|
-
const
|
|
8404
|
-
const
|
|
8405
|
-
const
|
|
8747
|
+
const rawModulePath = ((_d = (_c = productList.value[activeProductIndex.value]) == null ? void 0 : _c.children[activeModuleIndex.value]) == null ? void 0 : _d.modulePath) || "";
|
|
8748
|
+
const modulePath = rawModulePath === "/" ? "" : rawModulePath;
|
|
8749
|
+
const hasModulePrefix = modulePath && (fullPath === modulePath || fullPath.startsWith(modulePath + "/"));
|
|
8750
|
+
const finalPath = hasModulePrefix ? normalizedPath : `${modulePath}${normalizedPath}`;
|
|
8751
|
+
const targetUrl = `${currentOrigin}${finalPath.startsWith("/") ? finalPath : `/${finalPath}`}`;
|
|
8406
8752
|
window.location.href = targetUrl;
|
|
8407
8753
|
}
|
|
8408
8754
|
closePanel();
|
|
8409
8755
|
}
|
|
8410
8756
|
};
|
|
8411
|
-
const
|
|
8412
|
-
|
|
8757
|
+
const handleProductSelect = (index) => {
|
|
8758
|
+
activeProductIndex.value = index;
|
|
8759
|
+
activeModuleIndex.value = 0;
|
|
8413
8760
|
};
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
|
|
8417
|
-
|
|
8418
|
-
|
|
8419
|
-
|
|
8420
|
-
|
|
8421
|
-
|
|
8422
|
-
|
|
8423
|
-
|
|
8424
|
-
|
|
8425
|
-
|
|
8426
|
-
|
|
8427
|
-
|
|
8428
|
-
|
|
8761
|
+
const handleModuleSelect = (index) => {
|
|
8762
|
+
activeModuleIndex.value = index;
|
|
8763
|
+
};
|
|
8764
|
+
const handleItemClick = (fourthItem, group) => {
|
|
8765
|
+
var _a2, _b;
|
|
8766
|
+
const parentPath = joinPath((_a2 = activeProduct.value) == null ? void 0 : _a2.path, (_b = activeModule.value) == null ? void 0 : _b.path, group.path);
|
|
8767
|
+
handleSelect(fourthItem, parentPath);
|
|
8768
|
+
};
|
|
8769
|
+
const handleGroupClick = (group) => {
|
|
8770
|
+
var _a2, _b;
|
|
8771
|
+
const parentPath = joinPath((_a2 = activeProduct.value) == null ? void 0 : _a2.path, (_b = activeModule.value) == null ? void 0 : _b.path);
|
|
8772
|
+
handleSelect({ path: group.path, children: [] }, parentPath);
|
|
8773
|
+
};
|
|
8774
|
+
const syncActiveSelection = () => {
|
|
8775
|
+
const currentModuleId = permissionStore.getModuleId;
|
|
8776
|
+
if (!currentModuleId)
|
|
8777
|
+
return false;
|
|
8778
|
+
for (let pIndex = 0; pIndex < productList.value.length; pIndex++) {
|
|
8779
|
+
const mIndex = productList.value[pIndex].children.findIndex(
|
|
8780
|
+
(mod) => mod.id === currentModuleId
|
|
8781
|
+
);
|
|
8782
|
+
if (mIndex !== -1) {
|
|
8783
|
+
activeProductIndex.value = pIndex;
|
|
8784
|
+
activeModuleIndex.value = mIndex;
|
|
8785
|
+
return true;
|
|
8429
8786
|
}
|
|
8430
8787
|
}
|
|
8431
|
-
|
|
8432
|
-
|
|
8433
|
-
|
|
8434
|
-
|
|
8435
|
-
|
|
8436
|
-
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
(_a2 = searchInputRef.value) == null ? void 0 : _a2.focus();
|
|
8440
|
-
});
|
|
8788
|
+
return false;
|
|
8789
|
+
};
|
|
8790
|
+
watch(productList, () => {
|
|
8791
|
+
if (!syncActiveSelection()) {
|
|
8792
|
+
if (activeProductIndex.value >= productList.value.length) {
|
|
8793
|
+
activeProductIndex.value = 0;
|
|
8794
|
+
}
|
|
8795
|
+
activeModuleIndex.value = 0;
|
|
8441
8796
|
}
|
|
8442
8797
|
});
|
|
8798
|
+
watch(
|
|
8799
|
+
() => props.visible,
|
|
8800
|
+
(val) => {
|
|
8801
|
+
if (val) {
|
|
8802
|
+
searchKeyword.value = "";
|
|
8803
|
+
debouncedKeyword.value = "";
|
|
8804
|
+
if (!syncActiveSelection()) {
|
|
8805
|
+
activeProductIndex.value = 0;
|
|
8806
|
+
activeModuleIndex.value = 0;
|
|
8807
|
+
}
|
|
8808
|
+
expandedCardIndex.value = activeProductIndex.value;
|
|
8809
|
+
nextTick(() => {
|
|
8810
|
+
var _a2;
|
|
8811
|
+
(_a2 = searchInputRef.value) == null ? void 0 : _a2.focus();
|
|
8812
|
+
});
|
|
8813
|
+
}
|
|
8814
|
+
}
|
|
8815
|
+
);
|
|
8443
8816
|
const handleKeydown = (e2) => {
|
|
8444
8817
|
if (e2.key === "Escape" && props.visible) {
|
|
8445
8818
|
closePanel();
|
|
@@ -8461,7 +8834,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8461
8834
|
__props.visible ? (openBlock(), createElementBlock("div", {
|
|
8462
8835
|
key: 0,
|
|
8463
8836
|
class: normalizeClass([unref(prefixCls2)]),
|
|
8464
|
-
onClick: _cache[
|
|
8837
|
+
onClick: _cache[2] || (_cache[2] = withModifiers(() => {
|
|
8465
8838
|
}, ["stop"]))
|
|
8466
8839
|
}, [
|
|
8467
8840
|
createElementVNode("div", {
|
|
@@ -8473,22 +8846,62 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8473
8846
|
createElementVNode("div", {
|
|
8474
8847
|
class: normalizeClass([unref(prefixCls2) + "__sidebar-title"])
|
|
8475
8848
|
}, [
|
|
8476
|
-
createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.
|
|
8849
|
+
createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.productNavigation")), 1)
|
|
8477
8850
|
], 2),
|
|
8478
8851
|
createVNode(unref(ElScrollbar), null, {
|
|
8479
8852
|
default: withCtx(() => [
|
|
8480
|
-
createElementVNode("div", _hoisted_1$
|
|
8481
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
8853
|
+
createElementVNode("div", _hoisted_1$b, [
|
|
8854
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(productList.value, (product, pIndex) => {
|
|
8482
8855
|
return openBlock(), createElementBlock("div", {
|
|
8483
|
-
key:
|
|
8856
|
+
key: product.id || pIndex,
|
|
8484
8857
|
class: normalizeClass([
|
|
8485
|
-
unref(prefixCls2) + "
|
|
8486
|
-
{ "is-active":
|
|
8858
|
+
unref(prefixCls2) + "__product-card",
|
|
8859
|
+
{ "is-active": activeProductIndex.value === pIndex },
|
|
8860
|
+
{ "is-expanded": expandedCardIndex.value === pIndex }
|
|
8487
8861
|
]),
|
|
8488
|
-
onClick: ($event) =>
|
|
8862
|
+
onClick: ($event) => {
|
|
8863
|
+
handleProductSelect(pIndex);
|
|
8864
|
+
expandedCardIndex.value = expandedCardIndex.value === pIndex ? null : pIndex;
|
|
8865
|
+
}
|
|
8489
8866
|
}, [
|
|
8490
|
-
createElementVNode("
|
|
8491
|
-
|
|
8867
|
+
createElementVNode("div", {
|
|
8868
|
+
class: normalizeClass([unref(prefixCls2) + "__product-name"])
|
|
8869
|
+
}, [
|
|
8870
|
+
createVNode(unref(_sfc_main$x), {
|
|
8871
|
+
icon: product.icon ? product.icon : "svg-icon:clipboard",
|
|
8872
|
+
size: 16
|
|
8873
|
+
}, null, 8, ["icon"]),
|
|
8874
|
+
createElementVNode("span", null, toDisplayString(product.title), 1),
|
|
8875
|
+
product.children.length > 0 ? (openBlock(), createElementBlock("div", {
|
|
8876
|
+
key: 0,
|
|
8877
|
+
class: normalizeClass([unref(prefixCls2) + "__card-toggle"])
|
|
8878
|
+
}, [
|
|
8879
|
+
createVNode(unref(_sfc_main$x), {
|
|
8880
|
+
icon: expandedCardIndex.value === pIndex ? "lucide:chevron-up" : "lucide:chevron-down",
|
|
8881
|
+
size: 14
|
|
8882
|
+
}, null, 8, ["icon"])
|
|
8883
|
+
], 2)) : createCommentVNode("", true)
|
|
8884
|
+
], 2),
|
|
8885
|
+
product.children.length > 0 && expandedCardIndex.value === pIndex ? (openBlock(), createElementBlock("div", {
|
|
8886
|
+
key: 0,
|
|
8887
|
+
class: normalizeClass([unref(prefixCls2) + "__product-modules"]),
|
|
8888
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(() => {
|
|
8889
|
+
}, ["stop"]))
|
|
8890
|
+
}, [
|
|
8891
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(product.children, (mod, mIndex) => {
|
|
8892
|
+
return openBlock(), createElementBlock("span", {
|
|
8893
|
+
key: mod.id || mIndex,
|
|
8894
|
+
class: normalizeClass([
|
|
8895
|
+
unref(prefixCls2) + "__module-tag",
|
|
8896
|
+
{
|
|
8897
|
+
"is-active": activeProductIndex.value === pIndex && activeModuleIndex.value === mIndex
|
|
8898
|
+
}
|
|
8899
|
+
]),
|
|
8900
|
+
onClick: withModifiers(($event) => (handleProductSelect(pIndex), handleModuleSelect(mIndex)), ["stop"])
|
|
8901
|
+
}, toDisplayString(getMenuTitle(mod)), 11, _hoisted_3$8);
|
|
8902
|
+
}), 128))
|
|
8903
|
+
], 2)) : createCommentVNode("", true)
|
|
8904
|
+
], 10, _hoisted_2$9);
|
|
8492
8905
|
}), 128))
|
|
8493
8906
|
])
|
|
8494
8907
|
]),
|
|
@@ -8505,7 +8918,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8505
8918
|
ref_key: "searchInputRef",
|
|
8506
8919
|
ref: searchInputRef,
|
|
8507
8920
|
modelValue: searchKeyword.value,
|
|
8508
|
-
"onUpdate:modelValue": _cache[
|
|
8921
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => searchKeyword.value = $event),
|
|
8509
8922
|
placeholder: unref(t2)("layout.common.searchMenu"),
|
|
8510
8923
|
clearable: "",
|
|
8511
8924
|
size: "default"
|
|
@@ -8533,60 +8946,38 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8533
8946
|
createElementVNode("div", {
|
|
8534
8947
|
class: normalizeClass([unref(prefixCls2) + "__grid-container"])
|
|
8535
8948
|
}, [
|
|
8536
|
-
|
|
8949
|
+
contentGroups.value.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(contentGroups.value, (group) => {
|
|
8537
8950
|
return openBlock(), createElementBlock("div", {
|
|
8538
|
-
key:
|
|
8539
|
-
class: normalizeClass([unref(prefixCls2) + "
|
|
8951
|
+
key: group.id || group.title,
|
|
8952
|
+
class: normalizeClass([unref(prefixCls2) + "__group"])
|
|
8540
8953
|
}, [
|
|
8541
8954
|
createElementVNode("div", {
|
|
8542
|
-
class: normalizeClass([unref(prefixCls2) + "
|
|
8955
|
+
class: normalizeClass([unref(prefixCls2) + "__group-title"])
|
|
8543
8956
|
}, [
|
|
8544
|
-
createElementVNode("span", null, toDisplayString(
|
|
8957
|
+
createElementVNode("span", null, toDisplayString(group.title), 1)
|
|
8545
8958
|
], 2),
|
|
8546
8959
|
createElementVNode("div", {
|
|
8547
|
-
class: normalizeClass([unref(prefixCls2) + "
|
|
8960
|
+
class: normalizeClass([unref(prefixCls2) + "__group-grid"])
|
|
8548
8961
|
}, [
|
|
8549
|
-
|
|
8962
|
+
group.items.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(group.items, (item) => {
|
|
8550
8963
|
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
|
-
}
|
|
8964
|
+
key: item.id || item.path,
|
|
8965
|
+
class: normalizeClass([unref(prefixCls2) + "__group-item"]),
|
|
8966
|
+
onClick: ($event) => handleItemClick(item, group)
|
|
8557
8967
|
}, [
|
|
8558
|
-
createElementVNode("span", null, toDisplayString(
|
|
8559
|
-
], 10,
|
|
8968
|
+
createElementVNode("span", null, toDisplayString(item.title), 1)
|
|
8969
|
+
], 10, _hoisted_4$7);
|
|
8560
8970
|
}), 128)) : (openBlock(), createElementBlock("div", {
|
|
8561
8971
|
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
|
-
}
|
|
8972
|
+
class: normalizeClass([unref(prefixCls2) + "__group-item"]),
|
|
8973
|
+
onClick: ($event) => handleGroupClick(group)
|
|
8570
8974
|
}, [
|
|
8571
|
-
|
|
8572
|
-
], 10,
|
|
8975
|
+
createElementVNode("span", null, toDisplayString(group.title), 1)
|
|
8976
|
+
], 10, _hoisted_5$6))
|
|
8573
8977
|
], 2)
|
|
8574
8978
|
], 2);
|
|
8575
|
-
}), 128)) :
|
|
8979
|
+
}), 128)) : activeProduct.value ? (openBlock(), createElementBlock("div", {
|
|
8576
8980
|
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
8981
|
class: normalizeClass([unref(prefixCls2) + "__empty"])
|
|
8591
8982
|
}, [
|
|
8592
8983
|
createVNode(unref(_sfc_main$x), {
|
|
@@ -8594,7 +8985,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8594
8985
|
size: 48
|
|
8595
8986
|
}),
|
|
8596
8987
|
createElementVNode("span", null, toDisplayString(unref(t2)("layout.common.noDataTitle")), 1)
|
|
8597
|
-
], 2))
|
|
8988
|
+
], 2)) : createCommentVNode("", true)
|
|
8598
8989
|
], 2)
|
|
8599
8990
|
]),
|
|
8600
8991
|
_: 1
|
|
@@ -8613,7 +9004,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8613
9004
|
};
|
|
8614
9005
|
}
|
|
8615
9006
|
});
|
|
8616
|
-
const ProductServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-
|
|
9007
|
+
const ProductServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-f9a0a896"]]);
|
|
8617
9008
|
const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
|
|
8618
9009
|
__name: "Logo",
|
|
8619
9010
|
emits: ["logo-click"],
|
|
@@ -8622,8 +9013,7 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
|
|
|
8622
9013
|
const { getPrefixCls: getPrefixCls2 } = useDesign();
|
|
8623
9014
|
const prefixCls2 = getPrefixCls2("logo");
|
|
8624
9015
|
const appStore = useAppStore();
|
|
8625
|
-
|
|
8626
|
-
const layout = computed(() => appStore.getLayout);
|
|
9016
|
+
computed(() => appStore.getLayout);
|
|
8627
9017
|
const theme = computed(() => appStore.getTheme);
|
|
8628
9018
|
const panelVisible = ref(false);
|
|
8629
9019
|
const togglePanel = (isActive) => {
|
|
@@ -8655,20 +9045,11 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
|
|
|
8655
9045
|
onClick: handleClickLogo
|
|
8656
9046
|
}, [
|
|
8657
9047
|
createVNode(_component_Icon, {
|
|
8658
|
-
icon: "svg-icon:
|
|
9048
|
+
icon: "svg-icon:inspur-xinlian",
|
|
8659
9049
|
color: fontColor.value,
|
|
8660
9050
|
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)
|
|
9051
|
+
class: normalizeClass(["!w-[var(--logo-width)]", "!h-[var(--logo-height)]"])
|
|
9052
|
+
}, null, 8, ["color"])
|
|
8672
9053
|
])
|
|
8673
9054
|
], 2),
|
|
8674
9055
|
createVNode(unref(ProductServicePanel), {
|
|
@@ -8679,7 +9060,7 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
|
|
|
8679
9060
|
};
|
|
8680
9061
|
}
|
|
8681
9062
|
});
|
|
8682
|
-
const _hoisted_1$
|
|
9063
|
+
const _hoisted_1$a = { class: "w-full min-w-1000px h-full" };
|
|
8683
9064
|
const _sfc_main$p = /* @__PURE__ */ Object.assign({ name: "AppView" }, {
|
|
8684
9065
|
__name: "AppView",
|
|
8685
9066
|
setup(__props) {
|
|
@@ -8714,7 +9095,7 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ name: "AppView" }, {
|
|
|
8714
9095
|
provide("reload", reload);
|
|
8715
9096
|
return (_ctx, _cache) => {
|
|
8716
9097
|
const _component_router_view = resolveComponent("router-view");
|
|
8717
|
-
return openBlock(), createElementBlock("section", _hoisted_1$
|
|
9098
|
+
return openBlock(), createElementBlock("section", _hoisted_1$a, [
|
|
8718
9099
|
unref(routerAlive) ? (openBlock(), createBlock(_component_router_view, { key: 0 }, {
|
|
8719
9100
|
default: withCtx(({ Component, route }) => [
|
|
8720
9101
|
(openBlock(), createBlock(KeepAlive, { include: unref(getCaches) }, [
|
|
@@ -8779,7 +9160,7 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ name: "Message" }, {
|
|
|
8779
9160
|
createVNode(_component_Icon, {
|
|
8780
9161
|
color: __props.color,
|
|
8781
9162
|
size: 18,
|
|
8782
|
-
icon: "
|
|
9163
|
+
icon: "svg-icon:bell"
|
|
8783
9164
|
}, null, 8, ["color"])
|
|
8784
9165
|
]),
|
|
8785
9166
|
_: 1
|
|
@@ -8788,72 +9169,213 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ name: "Message" }, {
|
|
|
8788
9169
|
};
|
|
8789
9170
|
}
|
|
8790
9171
|
});
|
|
8791
|
-
const Message = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-
|
|
9172
|
+
const Message = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-fdaeb8e4"]]);
|
|
8792
9173
|
const avatarImg = "data:image/gif;base64,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";
|
|
8793
|
-
const _hoisted_1$
|
|
8794
|
-
const _hoisted_2$
|
|
8795
|
-
const _hoisted_3$
|
|
9174
|
+
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)]" };
|
|
9175
|
+
const _hoisted_2$8 = { class: "pl-6px text-12px <lg:hidden truncate max-w-120px" };
|
|
9176
|
+
const _hoisted_3$7 = { class: "ml-6px" };
|
|
9177
|
+
const _hoisted_4$6 = { class: "flex items-center text-[var(--top-header-text-color)] hover:text-[var(--top-header-hover-color)]" };
|
|
9178
|
+
const _hoisted_5$5 = { class: "pl-5px text-12px <lg:hidden truncate max-w-100px" };
|
|
9179
|
+
const _hoisted_6$4 = { class: "ml-6px" };
|
|
9180
|
+
const _hoisted_7$2 = { class: "flex items-center text-#e0e0e0" };
|
|
9181
|
+
const _hoisted_8$1 = { class: "flex flex-col gap-3px pl-5px text-12px <lg:hidden" };
|
|
9182
|
+
const _hoisted_9 = { class: "text-#fff" };
|
|
9183
|
+
const _hoisted_10 = { key: 0 };
|
|
9184
|
+
const _hoisted_11 = { class: "ml-6px" };
|
|
8796
9185
|
const _sfc_main$n = /* @__PURE__ */ Object.assign({ name: "UserInfo" }, {
|
|
8797
9186
|
__name: "UserInfo",
|
|
8798
|
-
emits: ["logout-click"],
|
|
9187
|
+
emits: ["logout-click", "switch-company-click"],
|
|
8799
9188
|
setup(__props, { emit: __emit }) {
|
|
8800
9189
|
const emit = __emit;
|
|
8801
9190
|
const { t: t2 } = useI18n();
|
|
8802
9191
|
const userStore = useUserStore();
|
|
9192
|
+
const appStore = useAppStore();
|
|
8803
9193
|
const { getPrefixCls: getPrefixCls2 } = useDesign();
|
|
8804
|
-
const prefixCls2 = getPrefixCls2("
|
|
9194
|
+
const prefixCls2 = getPrefixCls2("info");
|
|
8805
9195
|
const avatar = computed(() => userStore.user.avatar || avatarImg);
|
|
8806
9196
|
const userName = computed(() => userStore.user.nickname ?? "Admin");
|
|
9197
|
+
const topNav = computed(() => appStore.getTopNav);
|
|
9198
|
+
const topNavNormal = computed(() => topNav.value === "normal");
|
|
9199
|
+
const topNavFloating = computed(() => topNav.value === "floating");
|
|
9200
|
+
const orgId = computed(() => {
|
|
9201
|
+
var _a2;
|
|
9202
|
+
return (_a2 = userStore.user) == null ? void 0 : _a2.orgId;
|
|
9203
|
+
});
|
|
9204
|
+
const orgName = computed(() => {
|
|
9205
|
+
var _a2;
|
|
9206
|
+
return (_a2 = userStore.user) == null ? void 0 : _a2.orgName;
|
|
9207
|
+
});
|
|
9208
|
+
const companyList = computed(() => userStore.getCompanyList);
|
|
9209
|
+
const showCompanyList = computed(() => companyList.value.length > 0);
|
|
8807
9210
|
const handleLogoutClick = () => {
|
|
8808
9211
|
emit("logout-click");
|
|
8809
9212
|
};
|
|
9213
|
+
const handleSwitchCompany = (company) => {
|
|
9214
|
+
emit("switch-company-click", deepClone(company));
|
|
9215
|
+
};
|
|
8810
9216
|
return (_ctx, _cache) => {
|
|
8811
9217
|
const _component_Icon = resolveComponent("Icon");
|
|
8812
|
-
return openBlock(),
|
|
8813
|
-
|
|
8814
|
-
|
|
8815
|
-
|
|
8816
|
-
|
|
8817
|
-
|
|
9218
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
9219
|
+
unref(topNavNormal) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
9220
|
+
unref(showCompanyList) && unref(orgId) ? (openBlock(), createBlock(unref(ElDropdown), {
|
|
9221
|
+
key: 0,
|
|
9222
|
+
class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-company`]),
|
|
9223
|
+
trigger: "click"
|
|
9224
|
+
}, {
|
|
9225
|
+
dropdown: withCtx(() => [
|
|
9226
|
+
createVNode(unref(ElDropdownMenu), null, {
|
|
9227
|
+
default: withCtx(() => [
|
|
9228
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(companyList), (company) => {
|
|
9229
|
+
return openBlock(), createBlock(unref(ElDropdownItem), {
|
|
9230
|
+
key: company.enterpriseId,
|
|
9231
|
+
disabled: company.enterpriseId == unref(orgId),
|
|
9232
|
+
onClick: ($event) => handleSwitchCompany(company)
|
|
9233
|
+
}, {
|
|
9234
|
+
default: withCtx(() => [
|
|
9235
|
+
createTextVNode(toDisplayString(company.enterpriseName), 1)
|
|
9236
|
+
]),
|
|
9237
|
+
_: 2
|
|
9238
|
+
}, 1032, ["disabled", "onClick"]);
|
|
9239
|
+
}), 128))
|
|
9240
|
+
]),
|
|
9241
|
+
_: 1
|
|
9242
|
+
})
|
|
9243
|
+
]),
|
|
8818
9244
|
default: withCtx(() => [
|
|
8819
|
-
|
|
9245
|
+
createElementVNode("div", _hoisted_1$9, [
|
|
9246
|
+
createVNode(_component_Icon, {
|
|
9247
|
+
icon: "svg-icon:company",
|
|
9248
|
+
color: "var(--top-header-company-icon-color)",
|
|
9249
|
+
svgClass: "!w-full !h-full",
|
|
9250
|
+
class: normalizeClass(["!w-14px", "!h-14px"])
|
|
9251
|
+
}),
|
|
9252
|
+
createElementVNode("span", _hoisted_2$8, toDisplayString(unref(orgName)), 1),
|
|
9253
|
+
createElementVNode("span", _hoisted_3$7, [
|
|
9254
|
+
createVNode(_component_Icon, {
|
|
9255
|
+
icon: "ep:arrow-down",
|
|
9256
|
+
svgClass: "!w-full !h-full",
|
|
9257
|
+
class: normalizeClass(["!w-12px", "!h-12px"])
|
|
9258
|
+
})
|
|
9259
|
+
])
|
|
9260
|
+
])
|
|
9261
|
+
]),
|
|
9262
|
+
_: 1
|
|
9263
|
+
}, 8, ["class"])) : createCommentVNode("", true),
|
|
9264
|
+
createVNode(unref(ElDropdown), {
|
|
9265
|
+
class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-user`]),
|
|
9266
|
+
trigger: "click"
|
|
9267
|
+
}, {
|
|
9268
|
+
dropdown: withCtx(() => [
|
|
9269
|
+
createVNode(unref(ElDropdownMenu), null, {
|
|
8820
9270
|
default: withCtx(() => [
|
|
8821
|
-
createVNode(
|
|
8822
|
-
|
|
9271
|
+
createVNode(unref(ElDropdownItem), { onClick: handleLogoutClick }, {
|
|
9272
|
+
default: withCtx(() => [
|
|
9273
|
+
createVNode(_component_Icon, { icon: "ep:switch-button" }),
|
|
9274
|
+
createElementVNode("div", null, toDisplayString(unref(t2)("layout.common.loginOut")), 1)
|
|
9275
|
+
]),
|
|
9276
|
+
_: 1
|
|
9277
|
+
})
|
|
8823
9278
|
]),
|
|
8824
9279
|
_: 1
|
|
8825
9280
|
})
|
|
8826
9281
|
]),
|
|
9282
|
+
default: withCtx(() => [
|
|
9283
|
+
createElementVNode("div", _hoisted_4$6, [
|
|
9284
|
+
createVNode(unref(ElAvatar), {
|
|
9285
|
+
src: unref(avatar),
|
|
9286
|
+
size: 24,
|
|
9287
|
+
class: "!bg-transparent"
|
|
9288
|
+
}, {
|
|
9289
|
+
default: withCtx(() => [
|
|
9290
|
+
createVNode(_component_Icon, {
|
|
9291
|
+
icon: "fa:user-circle-o",
|
|
9292
|
+
size: 24
|
|
9293
|
+
})
|
|
9294
|
+
]),
|
|
9295
|
+
_: 1
|
|
9296
|
+
}, 8, ["src"]),
|
|
9297
|
+
createElementVNode("span", _hoisted_5$5, toDisplayString(unref(userName)), 1),
|
|
9298
|
+
createElementVNode("span", _hoisted_6$4, [
|
|
9299
|
+
createVNode(_component_Icon, {
|
|
9300
|
+
icon: "ep:arrow-down",
|
|
9301
|
+
svgClass: "!w-full !h-full",
|
|
9302
|
+
class: normalizeClass(["!w-12px", "!h-12px"])
|
|
9303
|
+
})
|
|
9304
|
+
])
|
|
9305
|
+
])
|
|
9306
|
+
]),
|
|
8827
9307
|
_: 1
|
|
8828
|
-
})
|
|
8829
|
-
]),
|
|
8830
|
-
|
|
8831
|
-
|
|
8832
|
-
|
|
8833
|
-
|
|
8834
|
-
|
|
8835
|
-
|
|
8836
|
-
|
|
9308
|
+
}, 8, ["class"])
|
|
9309
|
+
], 64)) : createCommentVNode("", true),
|
|
9310
|
+
unref(topNavFloating) ? (openBlock(), createBlock(unref(ElDropdown), {
|
|
9311
|
+
key: 1,
|
|
9312
|
+
class: normalizeClass(["custom-hover cursor-pointer", `${unref(prefixCls2)}-company-user`]),
|
|
9313
|
+
trigger: "click"
|
|
9314
|
+
}, {
|
|
9315
|
+
dropdown: withCtx(() => [
|
|
9316
|
+
createVNode(unref(ElDropdownMenu), null, {
|
|
8837
9317
|
default: withCtx(() => [
|
|
8838
|
-
|
|
8839
|
-
|
|
8840
|
-
|
|
8841
|
-
|
|
9318
|
+
unref(showCompanyList) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref(companyList), (company) => {
|
|
9319
|
+
return openBlock(), createBlock(unref(ElDropdownItem), {
|
|
9320
|
+
key: company.enterpriseId,
|
|
9321
|
+
disabled: company.enterpriseId == unref(orgId),
|
|
9322
|
+
onClick: ($event) => handleSwitchCompany(company)
|
|
9323
|
+
}, {
|
|
9324
|
+
default: withCtx(() => [
|
|
9325
|
+
createTextVNode(toDisplayString(company.enterpriseName), 1)
|
|
9326
|
+
]),
|
|
9327
|
+
_: 2
|
|
9328
|
+
}, 1032, ["disabled", "onClick"]);
|
|
9329
|
+
}), 128)) : createCommentVNode("", true),
|
|
9330
|
+
createVNode(unref(ElDropdownItem), {
|
|
9331
|
+
divided: unref(showCompanyList),
|
|
9332
|
+
onClick: handleLogoutClick
|
|
9333
|
+
}, {
|
|
9334
|
+
default: withCtx(() => [
|
|
9335
|
+
createVNode(_component_Icon, { icon: "ep:switch-button" }),
|
|
9336
|
+
createElementVNode("div", null, toDisplayString(unref(t2)("layout.common.loginOut")), 1)
|
|
9337
|
+
]),
|
|
9338
|
+
_: 1
|
|
9339
|
+
}, 8, ["divided"])
|
|
8842
9340
|
]),
|
|
8843
9341
|
_: 1
|
|
8844
|
-
}
|
|
8845
|
-
|
|
8846
|
-
|
|
8847
|
-
|
|
9342
|
+
})
|
|
9343
|
+
]),
|
|
9344
|
+
default: withCtx(() => [
|
|
9345
|
+
createElementVNode("div", _hoisted_7$2, [
|
|
9346
|
+
createVNode(unref(ElAvatar), {
|
|
9347
|
+
src: unref(avatar),
|
|
9348
|
+
size: 24,
|
|
9349
|
+
class: "!bg-transparent"
|
|
9350
|
+
}, {
|
|
9351
|
+
default: withCtx(() => [
|
|
9352
|
+
createVNode(_component_Icon, {
|
|
9353
|
+
icon: "fa:user-circle-o",
|
|
9354
|
+
size: 24
|
|
9355
|
+
})
|
|
9356
|
+
]),
|
|
9357
|
+
_: 1
|
|
9358
|
+
}, 8, ["src"]),
|
|
9359
|
+
createElementVNode("div", _hoisted_8$1, [
|
|
9360
|
+
createElementVNode("span", _hoisted_9, toDisplayString(unref(userName)), 1),
|
|
9361
|
+
unref(showCompanyList) ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString(unref(orgName)), 1)) : createCommentVNode("", true)
|
|
9362
|
+
]),
|
|
9363
|
+
createElementVNode("span", _hoisted_11, [
|
|
9364
|
+
createVNode(_component_Icon, {
|
|
9365
|
+
icon: "ep:arrow-down",
|
|
9366
|
+
svgClass: "!w-full !h-full",
|
|
9367
|
+
class: normalizeClass(["!w-12px", "!h-12px"])
|
|
9368
|
+
})
|
|
9369
|
+
])
|
|
8848
9370
|
])
|
|
8849
|
-
])
|
|
8850
|
-
|
|
8851
|
-
|
|
8852
|
-
|
|
9371
|
+
]),
|
|
9372
|
+
_: 1
|
|
9373
|
+
}, 8, ["class"])) : createCommentVNode("", true)
|
|
9374
|
+
], 64);
|
|
8853
9375
|
};
|
|
8854
9376
|
}
|
|
8855
9377
|
});
|
|
8856
|
-
const UserInfo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-
|
|
9378
|
+
const UserInfo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-d68b68d5"]]);
|
|
8857
9379
|
const filterBreadcrumb = (routes, parentPath = "") => {
|
|
8858
9380
|
var _a2;
|
|
8859
9381
|
const res = [];
|
|
@@ -9309,10 +9831,189 @@ var English = {
|
|
|
9309
9831
|
}
|
|
9310
9832
|
}
|
|
9311
9833
|
};
|
|
9834
|
+
var zhTw = {
|
|
9835
|
+
name: "zh-tw",
|
|
9836
|
+
el: {
|
|
9837
|
+
breadcrumb: {
|
|
9838
|
+
label: "面包屑"
|
|
9839
|
+
},
|
|
9840
|
+
colorpicker: {
|
|
9841
|
+
confirm: "確認",
|
|
9842
|
+
clear: "清空",
|
|
9843
|
+
defaultLabel: "色彩選擇器",
|
|
9844
|
+
description: "目前色彩為 {color}。按一下 Enter 以選擇新色彩。",
|
|
9845
|
+
alphaLabel: "選擇透明度的值"
|
|
9846
|
+
},
|
|
9847
|
+
datepicker: {
|
|
9848
|
+
now: "現在",
|
|
9849
|
+
today: "今天",
|
|
9850
|
+
cancel: "取消",
|
|
9851
|
+
clear: "清空",
|
|
9852
|
+
confirm: "確認",
|
|
9853
|
+
dateTablePrompt: "使用方向鍵與 Enter 鍵以選擇日期",
|
|
9854
|
+
monthTablePrompt: "使用方向鍵與 Enter 鍵以選擇月份",
|
|
9855
|
+
yearTablePrompt: "使用方向鍵與 Enter 鍵以選擇年份",
|
|
9856
|
+
selectedDate: "已選日期",
|
|
9857
|
+
selectDate: "選擇日期",
|
|
9858
|
+
selectTime: "選擇時間",
|
|
9859
|
+
startDate: "開始日期",
|
|
9860
|
+
startTime: "開始時間",
|
|
9861
|
+
endDate: "結束日期",
|
|
9862
|
+
endTime: "結束時間",
|
|
9863
|
+
prevYear: "前一年",
|
|
9864
|
+
nextYear: "後一年",
|
|
9865
|
+
prevMonth: "上個月",
|
|
9866
|
+
nextMonth: "下個月",
|
|
9867
|
+
year: "年",
|
|
9868
|
+
month1: "1 月",
|
|
9869
|
+
month2: "2 月",
|
|
9870
|
+
month3: "3 月",
|
|
9871
|
+
month4: "4 月",
|
|
9872
|
+
month5: "5 月",
|
|
9873
|
+
month6: "6 月",
|
|
9874
|
+
month7: "7 月",
|
|
9875
|
+
month8: "8 月",
|
|
9876
|
+
month9: "9 月",
|
|
9877
|
+
month10: "10 月",
|
|
9878
|
+
month11: "11 月",
|
|
9879
|
+
month12: "12 月",
|
|
9880
|
+
weeks: {
|
|
9881
|
+
sun: "日",
|
|
9882
|
+
mon: "一",
|
|
9883
|
+
tue: "二",
|
|
9884
|
+
wed: "三",
|
|
9885
|
+
thu: "四",
|
|
9886
|
+
fri: "五",
|
|
9887
|
+
sat: "六"
|
|
9888
|
+
},
|
|
9889
|
+
weeksFull: {
|
|
9890
|
+
sun: "星期日",
|
|
9891
|
+
mon: "星期一",
|
|
9892
|
+
tue: "星期二",
|
|
9893
|
+
wed: "星期三",
|
|
9894
|
+
thu: "星期四",
|
|
9895
|
+
fri: "星期五",
|
|
9896
|
+
sat: "星期六"
|
|
9897
|
+
},
|
|
9898
|
+
months: {
|
|
9899
|
+
jan: "一月",
|
|
9900
|
+
feb: "二月",
|
|
9901
|
+
mar: "三月",
|
|
9902
|
+
apr: "四月",
|
|
9903
|
+
may: "五月",
|
|
9904
|
+
jun: "六月",
|
|
9905
|
+
jul: "七月",
|
|
9906
|
+
aug: "八月",
|
|
9907
|
+
sep: "九月",
|
|
9908
|
+
oct: "十月",
|
|
9909
|
+
nov: "十一月",
|
|
9910
|
+
dec: "十二月"
|
|
9911
|
+
}
|
|
9912
|
+
},
|
|
9913
|
+
inputNumber: {
|
|
9914
|
+
decrease: "減少數值",
|
|
9915
|
+
increase: "增加數值"
|
|
9916
|
+
},
|
|
9917
|
+
select: {
|
|
9918
|
+
loading: "載入中",
|
|
9919
|
+
noMatch: "無相符資料",
|
|
9920
|
+
noData: "無資料",
|
|
9921
|
+
placeholder: "請選擇"
|
|
9922
|
+
},
|
|
9923
|
+
mention: {
|
|
9924
|
+
loading: "載入中"
|
|
9925
|
+
},
|
|
9926
|
+
dropdown: {
|
|
9927
|
+
toggleDropdown: "切換下拉選單"
|
|
9928
|
+
},
|
|
9929
|
+
cascader: {
|
|
9930
|
+
noMatch: "無相符資料",
|
|
9931
|
+
loading: "載入中",
|
|
9932
|
+
placeholder: "請選擇",
|
|
9933
|
+
noData: "無資料"
|
|
9934
|
+
},
|
|
9935
|
+
pagination: {
|
|
9936
|
+
goto: "前往",
|
|
9937
|
+
pagesize: "項/頁",
|
|
9938
|
+
total: "共 {total} 項",
|
|
9939
|
+
pageClassifier: "頁",
|
|
9940
|
+
page: "頁",
|
|
9941
|
+
prev: "上一頁",
|
|
9942
|
+
next: "下一頁",
|
|
9943
|
+
currentPage: "第 {pager} 頁",
|
|
9944
|
+
prevPages: "向前 {pager} 頁",
|
|
9945
|
+
nextPages: "向後 {pager} 頁",
|
|
9946
|
+
deprecationWarning: "偵測到已過時的使用方式,請參閱 el-pagination 說明文件以了解更多資訊"
|
|
9947
|
+
},
|
|
9948
|
+
dialog: {
|
|
9949
|
+
close: "關閉此對話框"
|
|
9950
|
+
},
|
|
9951
|
+
drawer: {
|
|
9952
|
+
close: "關閉此對話框"
|
|
9953
|
+
},
|
|
9954
|
+
messagebox: {
|
|
9955
|
+
title: "提示",
|
|
9956
|
+
confirm: "確定",
|
|
9957
|
+
cancel: "取消",
|
|
9958
|
+
error: "輸入的資料不符合規定!",
|
|
9959
|
+
close: "關閉此對話框"
|
|
9960
|
+
},
|
|
9961
|
+
upload: {
|
|
9962
|
+
deleteTip: "按 Delete 鍵以刪除",
|
|
9963
|
+
delete: "刪除",
|
|
9964
|
+
preview: "查看圖片",
|
|
9965
|
+
continue: "繼續上傳"
|
|
9966
|
+
},
|
|
9967
|
+
slider: {
|
|
9968
|
+
defaultLabel: "滑桿介於 {min} 至 {max}",
|
|
9969
|
+
defaultRangeStartLabel: "選擇起始值",
|
|
9970
|
+
defaultRangeEndLabel: "選擇結束值"
|
|
9971
|
+
},
|
|
9972
|
+
table: {
|
|
9973
|
+
emptyText: "暫無資料",
|
|
9974
|
+
confirmFilter: "篩選",
|
|
9975
|
+
resetFilter: "重置",
|
|
9976
|
+
clearFilter: "全部",
|
|
9977
|
+
sumText: "合計"
|
|
9978
|
+
},
|
|
9979
|
+
tour: {
|
|
9980
|
+
next: "下一步",
|
|
9981
|
+
previous: "上一步",
|
|
9982
|
+
finish: "結束導覽"
|
|
9983
|
+
},
|
|
9984
|
+
tree: {
|
|
9985
|
+
emptyText: "暫無資料"
|
|
9986
|
+
},
|
|
9987
|
+
transfer: {
|
|
9988
|
+
noMatch: "無相符資料",
|
|
9989
|
+
noData: "無資料",
|
|
9990
|
+
titles: ["列表 1", "列表 2"],
|
|
9991
|
+
filterPlaceholder: "請輸入搜尋內容",
|
|
9992
|
+
noCheckedFormat: "共 {total} 項",
|
|
9993
|
+
hasCheckedFormat: "已選 {checked}/{total} 項"
|
|
9994
|
+
},
|
|
9995
|
+
image: {
|
|
9996
|
+
error: "載入失敗"
|
|
9997
|
+
},
|
|
9998
|
+
pageHeader: {
|
|
9999
|
+
title: "返回"
|
|
10000
|
+
},
|
|
10001
|
+
popconfirm: {
|
|
10002
|
+
confirmButtonText: "確認",
|
|
10003
|
+
cancelButtonText: "取消"
|
|
10004
|
+
},
|
|
10005
|
+
carousel: {
|
|
10006
|
+
leftArrow: "上一張投影片",
|
|
10007
|
+
rightArrow: "下一張投影片",
|
|
10008
|
+
indicator: "投影片切換至索引 {index}"
|
|
10009
|
+
}
|
|
10010
|
+
}
|
|
10011
|
+
};
|
|
9312
10012
|
const { wsCache } = useCache();
|
|
9313
10013
|
const elLocaleMap = {
|
|
9314
10014
|
"zh-CN": zhCn,
|
|
9315
|
-
en: English
|
|
10015
|
+
en: English,
|
|
10016
|
+
"zh-TW": zhTw
|
|
9316
10017
|
};
|
|
9317
10018
|
const useLocaleStore = defineStore("layout-locales", {
|
|
9318
10019
|
state: () => {
|
|
@@ -9327,6 +10028,10 @@ const useLocaleStore = defineStore("layout-locales", {
|
|
|
9327
10028
|
lang: "zh-CN",
|
|
9328
10029
|
name: "简体中文"
|
|
9329
10030
|
},
|
|
10031
|
+
{
|
|
10032
|
+
lang: "zh-TW",
|
|
10033
|
+
name: "繁體中文"
|
|
10034
|
+
},
|
|
9330
10035
|
{
|
|
9331
10036
|
lang: "en",
|
|
9332
10037
|
name: "English"
|
|
@@ -9382,7 +10087,7 @@ const setI18nLanguage = (locale) => {
|
|
|
9382
10087
|
const useLocale = () => {
|
|
9383
10088
|
const changeLocale = async (locale) => {
|
|
9384
10089
|
const globalI18n = i18n.global;
|
|
9385
|
-
const langModule = await __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../locales/en.js": () => import("./en-
|
|
10090
|
+
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/zh-TW.js": () => import("./zh-TW-DYC8NCr4.mjs") }), `../../locales/${locale}.js`);
|
|
9386
10091
|
globalI18n.setLocaleMessage(locale, langModule.default);
|
|
9387
10092
|
setI18nLanguage(locale);
|
|
9388
10093
|
};
|
|
@@ -9390,7 +10095,7 @@ const useLocale = () => {
|
|
|
9390
10095
|
changeLocale
|
|
9391
10096
|
};
|
|
9392
10097
|
};
|
|
9393
|
-
const _sfc_main$l = /* @__PURE__ */ Object.assign({ name: "LocaleDropdown" }, {
|
|
10098
|
+
const _sfc_main$l = /* @__PURE__ */ Object.assign({ name: "LocaleDropdown", inheritAttrs: false }, {
|
|
9394
10099
|
__name: "LocaleDropdown",
|
|
9395
10100
|
props: {
|
|
9396
10101
|
color: {
|
|
@@ -9440,21 +10145,25 @@ const _sfc_main$l = /* @__PURE__ */ Object.assign({ name: "LocaleDropdown" }, {
|
|
|
9440
10145
|
})
|
|
9441
10146
|
]),
|
|
9442
10147
|
default: withCtx(() => [
|
|
9443
|
-
|
|
9444
|
-
class: normalizeClass(
|
|
9445
|
-
|
|
9446
|
-
|
|
9447
|
-
|
|
9448
|
-
|
|
10148
|
+
createElementVNode("div", {
|
|
10149
|
+
class: normalizeClass(_ctx.$attrs.class)
|
|
10150
|
+
}, [
|
|
10151
|
+
createVNode(_component_Icon, {
|
|
10152
|
+
color: __props.color,
|
|
10153
|
+
size: 18,
|
|
10154
|
+
class: "!p-0",
|
|
10155
|
+
icon: "svg-icon:language"
|
|
10156
|
+
}, null, 8, ["color"])
|
|
10157
|
+
], 2)
|
|
9449
10158
|
]),
|
|
9450
10159
|
_: 1
|
|
9451
10160
|
}, 8, ["class"]);
|
|
9452
10161
|
};
|
|
9453
10162
|
}
|
|
9454
10163
|
});
|
|
9455
|
-
const _hoisted_1$
|
|
9456
|
-
const _hoisted_2$
|
|
9457
|
-
const _hoisted_3$
|
|
10164
|
+
const _hoisted_1$8 = { class: "theme-list" };
|
|
10165
|
+
const _hoisted_2$7 = ["onClick"];
|
|
10166
|
+
const _hoisted_3$6 = { class: "name" };
|
|
9458
10167
|
const _sfc_main$k = {
|
|
9459
10168
|
__name: "ThemeSwitch",
|
|
9460
10169
|
emits: ["change"],
|
|
@@ -9493,7 +10202,7 @@ const _sfc_main$k = {
|
|
|
9493
10202
|
return (_ctx, _cache) => {
|
|
9494
10203
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
9495
10204
|
createElementVNode("div", null, toDisplayString(unref(t2)("layout.setting.theme")), 1),
|
|
9496
|
-
createElementVNode("div", _hoisted_1$
|
|
10205
|
+
createElementVNode("div", _hoisted_1$8, [
|
|
9497
10206
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(themeList), (item) => {
|
|
9498
10207
|
return openBlock(), createElementBlock("div", {
|
|
9499
10208
|
class: normalizeClass(["item", { "active": unref(theme) === item.key }]),
|
|
@@ -9509,8 +10218,8 @@ const _sfc_main$k = {
|
|
|
9509
10218
|
style: normalizeStyle({ backgroundColor: item.color === "#fff" ? "#fafafa" : item.color })
|
|
9510
10219
|
}, null, 4)
|
|
9511
10220
|
], 4),
|
|
9512
|
-
createElementVNode("div", _hoisted_3$
|
|
9513
|
-
], 10, _hoisted_2$
|
|
10221
|
+
createElementVNode("div", _hoisted_3$6, toDisplayString(item.name), 1)
|
|
10222
|
+
], 10, _hoisted_2$7);
|
|
9514
10223
|
}), 128))
|
|
9515
10224
|
])
|
|
9516
10225
|
], 64);
|
|
@@ -9522,10 +10231,10 @@ const Chunjie = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAABGCAYAAADip
|
|
|
9522
10231
|
const Duanwu = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAABGCAYAAADiplcmAAAAAXNSR0IArs4c6QAAIABJREFUeF7NvQmMZdl5Hvadu9/71tqrt+nu2ckZkZRJcZEhy4sERRHt0IKHEizGommJtAMriR3DAbLACRIYSQwESRwDCQHDiS1ZEimZFElRSixKdGxxSJOSRhqRHPZsPdPd1d21vnrb3e+Jvv/c+5bqqunmSELyemqq6tW72zn/+f/v//7lKDSvTzzjnYf7UYXqxwD1FIAOdPNHjXwSIz4YQCkLusxQphN0/FXYlodpnkBVgGc50ArQVYISMaLgHLbCFexlh4h7BdygD2VZs0vOf5hdyLyllPm+cP1TDnoTb9XnvefIP57rl1mOajiFp1xMqxRerw3bc/mAJ+7gj+b6uqrAL84RLGs2jPOLnbiuwghaf10r62d2kH8cH/xkJsPP/138xDMXymnxORV471DNhCzcdlVViPcHQAXoIoadV+j7a6igMErHKHUFR9mwoOBZLhTfL26jE11AYPuI8xSj4jWsdB5B1nOh7BOCMROCE4Mzu4f7DOKbEI+lQ/4Yrl+mObL9Y7mMb3nwHRdZlUO5DnIfcKIQs7H+I7h+Gadwck4QMC0zmVi/3zljEZ4YMHP95xSK99/84CdvKXziGe9CZX1Fa7yjyjLYgX/PEGfDCaq8kIew0xQdq49RPkFWFrAtC1prWLBhKwXfcqE1EBdjVH6BtrOKqtLIiwlCt0La6kG1gvoaZwnBA87ymYPZCNH9hOyP5/pcrfneEFahMS0TWSSe7cqi8W0fRVWg7LlwW9EDPugZH6ufvypyhCMN/psUMbIyh640/E4Lbvu0a5w1Pvq5W6p6jzr/cz/yNwHrH8plqxK6LGGJijNqvExSVFkpOkWXOcpJDl1qKGVDQcNSFrjuFcVCWXAsBw5slFWJgX0Xfe+c/LXSGuP4JjbalzBq2ye0xRk3eY8ZaQbn25zMB16J91PjD3b9bDBGkFgYZmOZKD6dppqleCiFjWAVR8UQ3uYKLNGaf7jnz4/HaBUODtNjuZrSWhYmLXW4uQbLcYxJ5punvubX18r6KXXhEz/6rALeS7XDQ6gReI+W66IqSlRZblSQ1iizKaqJhm1RIJRoCMey5Tie1lEOPEWNYcswHFT7CP0ubEXtUSHJhtgM+9hDDrsd3mMcHniqH3TuHnAd3k+vPDAE0ZBF5A5yZDpHXpUodYEqG8qCqThuThuB7SGyQ4ydFN5Ke2ZG3szzU0t4hylG2QRZVcpC5X9cpLoq4CCD192Es9YCiDVOeS0/v/6yuvjJvzyE1p3Fz5Z5bn6tNJTFCaZMlChGUyhtGzNC/dBIn4aoRwoKhYeCQlU5KodQgQ1XRaigUZYFPJ3BsTuYhtWD2bsHnNj/P3xMFtEgRqB8DPMxlK5QZMcI/T5aXhfj5BAcWWV5CG1PFlLRtmGH95rsB3keLsr07iG8wmilRuNQACkYlrJRxHdwrv9WjPsaVuTd/7RKjSgUuioKlEkmJ3JCXzSArkpROzLRnNAsQxUXsDjhtcTxb5ZoEd6AEQjRICKnENuZWDF8rw0aGZ4pz2O4josU+k0PxswrOcuZuP+jn/mJ2SkXtO09mqRZ0ovXJ444nqKjQoyLGKUuUZUTeMpHGPSQVhlC5eJgcge2jIctiyfXJbx+BEUV/6Cv+vrp8QgYxIjzWLw+M+oaSjSGgm0HKNNDrLcvIfMUsEVtcf9BU5sf/wvaTkqEdoAMBTzPRQGN1CrgUsWL1FUopyls5ch8UADMFIuVrC9U258aZ9AjySdTjAYDOJ0Q3dUV485CodS5mCYr8KGs+9/kg47V6bqRd2hsuYxHPShLXpaRe7H/czeYMj5X6GIiuVhEbc7+V5tpjXwcIygdlEojp8moMjhaoxusYVhM5bqrbhtJOsEgO4brtWRxEYSXOhVvhCYblrnf+72qssTx67ehSo1KV6LJKQxWVcGxfaT5EO3WNpTmXFlYCXoYrGnYfo0X3+AC6ol/9IwurAqpqrASdFAojcj1cVxMMUEqmoPmxK4sEQaOh4An1YgFxJTQPMjYmtFDMhpjtLsnKNjpRAj7XQSt1gzrEIhS2CzfWwBA9WDcb0xOM77EQZY1+6KwEQvV822GYHEyjU2cvb084Y1s1EIiWmP+fCIssxNrFHEK5BVsy0GFUkA1ygw9fwWjMjbCJcKoseZ2sR8folIlLMsXASiKFFWRwqGg2DaUbxuUeNZLa+GMkgEtv3gA0OkI/Wgbrh0gKVIk2QCWVcJz+7CVh3PROm6qAbzNzr3aYib89UI/94/+ghZc6DgyoMoxA9vyQhxnE8DiAwI2TUmjemZzd2L2CiJsnstGMhljdHtPAGZ3dQ1O14fth/J7HieIhyOEvS5s36sR+HwETs756TJC9WjBdh1Yjm3AL8dnvohPrHwzwXM+bC4QM4mZK7tGddSfnwvHokbh4iiSFHap5PpZRZBO7JTDsTwZfBGQWkHxR4fagWOQJsY8E7MpoODvNk2zgxIlbN+fOSUnn79Ic4zv7IkWqKocOh2j462iVDbyghyFgqMVtCpQlAOE4QVshms4zoZI1hScoPWGGlqd//hf1I7jQNtcasq4ivzOAebNZjkcrwaRIuxivGSRKVUPsQaiocYm2hgUU4y8HHkADG7eFonvb2zADzwkZQHl2JjsH0ErjfbaqmAVDsAyaXa2WDiuA9f34PKeas1l0LZR7WYOFtT+spTMJ7n+2JJZkOOJp/hVyeQRbHNi5X05Of9mDqZnRtUcOgFiTZRU34CYKuOxzW1446OZY+VfUcp4oGrsV0njLMdxmC23wRkLYqG1jB+9RF0ksPISHZdMsSNEouC7mh4gkZiVE1Ruga63SXnFQXYD7dYmqn4HlmuciJMvdfn/+BEyTyIUYt/5RYkgR5HntTSbIV+0dTPtyY9OClwu+hjnU/i2B185eFUdIvc0smkspiRot+QhaY74UBbJHM8WDeRwpRNfnAGC+L4fBfCDAIrqlXfTzHtj55sna7DBEji4V1jKskJVFqjkewWytvw625df0GSarntegzniLDOJyyu6EdNFbW0+YcS35hOW7JsRKo6zjL3r3MP+5uMp8jiVa1lZho7qYlIkyKghLGKUSlhlnie0fWRFganaQzs4ZzSlaLNj2J0t6G5DIi6Lhbry0z9K4mEmDPJwVHti8zWUTeKjnoETD86J0XmJ9TiQmxymEyQZ3VaFaZUgyVNEfoC19jp2jm/DaxP9Aukkmdlk23fQWVsx7ukJP5r3EbYjhK0a8DYTvSgIC0plbuvndqJZvXleyEAXeY6yIDA7DZicXDNnaCwCu8pogUaQZSplnE7O8sI5OX7LWHb5jwv2jYJTphkcYq4Zc1mgmGZzInGcoRIi0eAPYY+0giPsqRbeSKgBHMH1QngqkuceJ3ew2tpA3OMiu9frUVd+7sc0NQSFwWgIasxKVJsJ3jRPcc9SABFwNhqC8lZlFg4Hh4bytmz4rg/btaCCBBeCK3j97i3EaYwgClE6NTXuu/CiCH4rvAdv+2GATq+7tFKWAd4c1Nbod9k0ACiLAskkRpaktfo/sSLuB2jPRHoLQHQxvCUydAIsLwrtifPJJ5t7aMxc/bsYKnoWRQ7b80QIKSQihJpmfYKSRKIAfuMAEK8Ik6msmkSkIbGQVCkyb4rIWTUUe5miY1sY2w6s7pxEbG5PXf3kv69FfBv7LJxEYQTijEGjvXVLCy3tIGAEsEixO72D6VGMwA/QanVA9czX8fgIrb6Pvr8h9rJt+Xjx9svwui1Ea/177ZlS6PX7RjtQHmvUPgN4zaDNEeOioZhhislwjHgyfSBzcIpVrd96EG3yBpLzpv801zZi2opCNEATSNS6QD6cQlUEqQouWeUG0BJkkkvi55UCdUVeFph4QxEKA3w1inyEnr+OkV/cY6LU1V+kUNS2jtKY57XKOuWJxNPK4CsXXTfCpEwlQkq1VRBRFyk820MynqBSCulkgng8hhP4iLotTEcTFOPYBNdcGysPPwQ3Cma40LIU1tbX4XtUmXNPQrSYkZCZRV6w8AsehTlmdDxEPJmcOSX3TPWJNx6A33nT010/yfLxi9qEJFicoEpzwV/0rJp4VEMkFlkGHTNASZrAhBQWWWYzXDUGrDXLNB/CjUJJdSC1oEq60ArasuHxfTkX41cK6uqn/oqgJDKYJJSMhjipIgzyrtIMNlWO2KG5i0eL5lkWHu4EuDFKcP3V18VD4DHJcAw78LB6fhuT4QhZksCnt+E6Yn54Q7xZPtTm+gaCIKiB2OK0N6jevDdzKNQimWRUMTXU3dt3ljyQ+ZnOshdnezsLV/xDCYI5+Ozr0zzkwyHUVMNXHhyOsaPgui4GxRhWKzDeyBKRWPNF9A/k3I0rQHNiNDU1jAhNqfFQbxP9qIuW1zKpDkpLWgM5KpJuXOBkYtXDn/px3dDaRPan3TgllWh75jpSCsUtNcTq29cifOCxVewdVvjFl+/i91+9ju76OsZ7B+J9tDfXEfS74oU4vo8sTVGUdKlKOU93Yw1r/VX0ur17Aoai7JSxcPXz1S7xgts5FxWURYk7dykU977Owpb3C6KepTlOnu9+GuaNrp8eHyA4LgG3hUyV4nK7juFwWm6A3ewYVugarKfruJMkNNUhhlreDMFYj00jEMrC21cfxkPRBuIiBhy688AgHeF3Dl9GkiVCIjaMrnr40xSK0ylxvs8cC1FNpGAbd3phvOnBXmp58GxgZ1xgUlZigvga7uwinUzh9zqiOQjYS0uJNiADShWXTmK0u2088dgTpy6kk2t49sCN1V/AFg1bcXf3LjK5h/8vMcGphuJ0YS1LxLdfRdvdRsoF4JjUAhKJ/O7aJLQ08pK8iKpjUrL+Z55hwzYLZ5NVcNIKaahEqDh/f2LtMWwFfTgaYF6ccDz0RIoEMV3aqhA2m9pCPfzpDxssN2d95WeakiYoJkGvhdfiUItE0Q4Si3guyrxAMpwgn07hBj4c1xP+YzoeC1lF8Bd128KaTidTkJ1bWe3jkSsPz1D0XGUvYIgZ9ppnKDS3dHLqsyzDnf27EldYVNpnich9NcWJqTzL2Jx5/kaATxcJJIM9eNMUVriOkqaAhBaVAakCTqqJOcrYksGd8TmNB7x43rjA+WkLkXIx0FPsuwnQ9eFZNjbDFWx5PcGAHuel9loaIo0my3M8qEd+6cOnPotw/Sf14YlPMn4xPhqgzJiYQ8rWgBUSTQ3j2Ajb+HCAFk3INAHdTZqQhNSusvDI5avo03QszLI87wxszmMNwqMseMmL2Gbu3mmkeYa7B3soS7KEf3QvrtSAs6SAmElJf8hTF/EU6eFtbLQuYjzTEhLIMcJwCpHYCPqiB2wWcoXVoQ1bAympduWg5fi47uwLVnTho/KUmCAhxprUB9EaJhfED0MKxV99089F/390cChUMB+ivdITgZjP5in6pTFBvImylHS+Vhjhwvr2khAuIobFBbF0s/UfFgNOi1csqwqHx0cYTcf30N/mc98eUeEpCz+8toU/s7aBTreFT7/+Kj61exf5AxFhsjyWRIhAOz68gxWvC+1EyC2zEDXNBr/Xt0ciUWKnjhHG0yRRcOEwxrrVQlxwIZCoNmkMk+wYqTXAlegxHOkUmUszYaLUyybALD716GfevFDwRqbHIyQ0FWEoZBMIVoM68llnbMlTUCpLZhovEGV0TZnpBSDyQ5xb3ZTA0qLKmIHLU1T48vg0onMSdQBZnmEwHmIcTx6Qybx3+VPl/nv9TfyZyMfayjq6oSck0Kfu7OCf3t41GOnbeNHbSIcHoB/XCzYwRp3hJqGG+kQkEsn3MJrcpNSdvIbYlQqK3FJRIS6n8GwfvtUSwSBGoHBM8iFKleJS8BACJ0DL9XFgxUI/0B1tXFKhwh79zEdOIV4ffAVRMOg3E0jew+ZREBhQoqRLck6DjJvpJC07H07md27219AJ+UAnlkRN/xnHy9gWeYCaap7fce3NLxGwdS5FpTFNY/mKs9QEvBaQzNzVXR55ztHTdoAPtDtQmGJzZRuh46CsMlQqwc/ux/jC0YFgGJJDXIVlE1g7RVg4ZvlkhKrMEHgdggjxsCRcXud9mIg46XSq+iZntr6vxrmoKkkOXrXaIpT8Ihg9zgbwnBCuJFHX4FG4pBywCrxv4x3YYOJPmYH8F5OeXp3cxU58iKTMoR777EfuXVoPLhPmLs9AXnQPx8dD8ZjbnTYc17hCzevyoMB7DhQ++bDJ82xeoR9go7uK0FsO2Eh2F3nROk+iTp+Rc5LFE8qXnhIlX+oezCcats/EJs39cgCpQRifmWaxYBD50yzHwnzWrjSeilNcKR1cXInQ77SwEkZwbQXHtZDnY7S6m/ivv/kSriUjE1Fd4HBErS8MkiyiJIaucjgO+RnGlkyQTJiFmqijaSFms5xFZnk+eGQ5kZcSTuCrlPoLQ3GT4RTeQit5vxIh5XeT68JxXPE6eLx7ES2SWbaFnWyA65O7GOVxLRTLBPwpSvDbJ334UIPbu+JK9TbW4DE/4IT0fN/LU/ytay4+8AMucsnAMiaguVorCLHa7iPyOHhvpJtrTbDwkVqx1JZrgdgRDWI0jLh3taaR2pYskS8jIFoo4ivHCbaGY6AAnry8he31HjqM6ygN37MkvrK2so3rw2P8jzs3cczIK4k+mQSSQTXxVwfRspRJN8xPpTAwbLUc8qeGoMloPD8jMA3iNhItLr/WsCkwtRwxGfjxzgWs+l2JgUiWWy2gjaBKTIsUtyQUk9G0jXbJUsmB2c9GeG1yF+rxz/61+SJtBv5Bfa4zPs+bGe4dCN3tdtto93szv5g35dhmVa+OM3zvS2P80ttXhBaf475GMIyQBK6PlXYXXSaH1Blfc7NhJtYkCxsNIfZR0toWRcyYnGXZWlCSC+RYhQrTNMHg2st4Ok5RMeI7yvHOt1zB9toq2r4P17YQuiZVsddZRxyP8TvTGP/7nVtI6fMzZsHspNrVZ7yIZtZEnu06pjNXtMaTqHM2GtdrtojMXdOclEUujDITcuZhOY2rrW0RirNIJ2oQPv1eMsDXj19DqjMyCTUJafJHJLeDt/H45ygUy7PLfJvypL+ztFDPkhrzoSLNcHSXPAFgh6FJuZMEHnMd33EQkep+APRvjpibjW7YRj/qwBc/u3nVAlAL1uz9OsmhwR4UFFGsDR6RZCKjZo2pMc/F4xkU/OY/+QVs9wNsbGzARYYnHtrCxY3z6IQBPNdCi9lqqkCvu4HB8Aiuq/DZ4xF+9ehQGFujMczKpuY0g95oBwPlGkQlGmMhPXBxuCXEQI+iwRdNkHA2NFwYFrb9FVxubaDntuqxmc+ryQsy3g21RMHE4qrCS+PbuDU9ME9ep0ioJz73Eyb50GgmkZzv7tn46rBEVmfXLcnDaRDihMbgBSaDY8ETThTBjgI4tsnx5L/AM0GZZgYWJ54r3bWYGmgSTsXWSn1krfI5oYqr1Ecv7Ij2IFBqAKhJJG5OPTdJ5vEahFar7PpZGjVrYm41Arh+G89/8jOoVIWnn34Lej0PYenhbU9cQeg5aIU+IsdGy3MQRB2MxmO4TBbyQvwPr72EazHdYJoQTnZd39nczsJ156t9PgdzDFI/CGtE6zyXem7r6Vp03M2kU0t23GiGK2T8ajNGAVxx23i0c05iH3fjAb4+fF3KGRdxvXril39iSVNsuBY+vBng/9xLscvKsDf5ol2cHB8DroswDAVEMQJ3ruUhLjXG+SLxc5bdOv3is3zn2hzQvHSCNjoBAaABbs1r2UOpxa/BFc16Es1hkovki8GpL30Nt158Ba+9dgtPvPUxbKy2YWcK73z6EbiM5q6twK8KbPbX5XrTJEG73UZoO/jmwS7+8fAQ0xr81etNJk20R60VjHaohbX+zmkWjbHw+/xpmowz870JgzfnmV3nDPeYBeBv611Fyw1rQakwLVNM8kQy0EUjEcE8+cs/uWQL3tN18My6h39wK8Hd9HRV0RzwhtivfhLe+DTLkOsKHc/HW/o+3rvaweduDbGfZaLKXJYgLiFJAxxl9UtI16BqapGm5qTRbItqlweEboBu2EInMCn0BlTW4LIGlkZDGZPT+OizgVdAdvcAB7/xBThuhN///W+h02tj6/JlPLISYLXdQ78dilAEKCWQl6YZgsAXDejYCuPpIZ5PgZ8d7NUCMIfYc8+k1geL3klNDsyEpfFkltbGCWfxAeiRNzb2ywtPFsWTn//J2VV6jsLf2HKx5Vn4b2+lOMgf4IpnaBIJBTNTyLUxSXOR6pBECYEg2UxdIWYREipElougqV+VCTt50gYzmD/yn9Se1KBSTE4NXhs3lO/RvPSC9n10XZOIrEEGlKr+1uf/NbbsHEeDEcbDHHt7+7j4+KM4txUC4wxvffQy+u0WQtdGOwxxNBrj6rkLsNiPgaA0jbHZXcE/29/Hbwz3Z+v2DVMAZ7ml3zbR+iZ1+cJhC9Ms4/eWz39U4I2jgB/qh/jBroLt5Pjvd0q8HL+xpjjrbhhqPz48krC54weoXBvKMxNPN8is+DnMNFpgTkQ1Kp/nb7BH40YKSJx9LYPGGaAU7WLO1/VbWI3mcZUGczRyZxTU7DdkOwd45dOfhdNyEQQuktTGzRs7CFe62L6wgS1fodNaxfmNFcETDgocTad465VHoXSB8XiXtW+4srGGYQX8850dXKtyTKgzZoO/uNrn3MmDauD7LdX7OZEn523xfKKdKRQck0cDDx9aaWHdztD3Evz8QONzh/WDnGUnztBL1BLTycRkOzs2BocDSapZW2OTk1OKXGr13tzskspvJq1OJKHrabDkKTc1x66z5255AdbbazNSSI6sXb4ZOG0yz8oKO5/4NTjlCEle4eKFc9jbHyIrSxwcHuLilQu4sN6BW7ro9dtYjQLsH+5ha2sb51dWpUzw+HgHjtfDk9vn0EnGSH7rWdxaewi/unker7mVpMaRJ2jqQRqQO8MSSwRa8xhGcGaTvTDukoX+ABS7HLJU9LOoHurr1G+pt/zKx7RnKfz5Th9vDy10nAw9O8bzSYX/+S4veNJhncvZg0gkXbG9O3viQWye3zIVUKeomJkH0kxsHSI1uKLBAEbVGweBGmMuRuakc7eS2oe4ohe2TY3lAg0yO2ddeykaiVnP33oNL/3CL2PjwjYKBQR+CJ/aIq8wHY7hBT7Wt1aw3fKhlSX8ye7hLr7rqe+Aa1WYjPeRTo/gttbxPStd7Lz6ApQTYTBOkG09hC+cX8W09gYE1NWYoQGbZs4M8yjCIhS18V6ExiaNLhpnwXWe1aPMccvJ8T0LU5z1vnrrr3xMU0t8f7SGdS9F1ynQtVIMdIL/ZsfCmITFiavMVpg8wilBuxNXO9jdF799Y3tzGSjO5vTEupeHPjGLC4LUVBzMwaG5QTJ5pH0jz0fgBjX3MA+jLJqKOYhldZcFpwCu/7PPY3DrJtxWgLYkFSv4oYdCawkiDY9HWFlfw+WtCFmcY+9wiN5KF09fvgIgxa2bLyF0FJ7o9bFmFRivPoRguIuv39iB5/bwlScuY88xtPvsX91LYpGCPy0MugQvF8bXuJwNK7o88DMMc8rqJVyoQ1M1xTafSPW2X/3r+gejPi46EbouTUeGdTtG+gd1iH//ToWdzATtNlwbW7ZGaDlgbxRmCxNpk5/PbGC3tHA9zpAKlTpb9zJZh/sHIvFr66uzGgUyaBJd9VjttVwib9Z7ozDnlnZRMRhw6YoLyjYInuNILad51bkgwrvMytnkL0ah8P/z4iZ579Yu7nz+SxgcDYTYWdlcR9hqoWATF5YmkkFkGyfLwUqvDy8bY3+S4+rlC1jrtpFOD7G7cx1/anMNg/EIj7/ze5C7CtODu3j51i6uPnYR/8JyMawr+U0wtMZENUaa4yWDiczL3KuYl5qzKapK+owlRW5MEQHygtkxI7Cs4Vl0fslzccF14FklnMpCwXQbXSJVFqZ5gbgscESW88/92k/pP+320XUcdP0KLSvDeX8K2yrw9+9WuJFqfGfg4krmoQQngmHxQrK2XUfDZfmfr9GxCiR2gd/LMnxlWGJSamTiZQBHoxEcy0KnVUc/5Tk1RkcDJNMYfuCjt766qAtmP9NldB0z8ZwQCgG/7kkAmiuEJczRQJLFxNYGhDbYpVUUuPL8NXzlW6/ipVduyj0HrQjtlb45Fz0bx5aE4ySJ0e51seq5yGKNra11eKrEcP91vDso8Vt3DuE/8Xa8/6nHsTse4ZW7e7D3buNtqz5e2L6EzzrufAJrRrNxU2f8xULMQkThfsjyFHNM8rhtK4QW8Fio8N6Oi17F0k0Ho9xCVinkhY1ECqNyqUNlkM62K6iP/j9/W1+qIikobjsVIjvGtpug9wda43/aq9CtgPOVJ3bCc1z4zChWgQhNZDMLqYLjVHCrCi27QttL4bklfj9W+KcHFQ4zhYPxUIRivdOtI5xKKrXiaQzbtiULi3mbcRxL4u3VSw+hFbRM5HMxv8Ismhn7trga7hmXGow2n5mtu4YZFaRhPJSdZ38P3d/8V/i+dz+Kr702wFdfP8BIA931Fbk/UwhMM+OYjDKU6HVaaNkKvaCPhwIN+7WX8enXb6Fz6TK+44kn8F2XNlGOc+i9V3B99wDl1at4zyPn8PPTHN9ihHMxZ31h0iWjmhldM5LLfHKZAj8LDcxHgULxQysO/t1OBc+2ME18TEsbU4bQK5sBVsSVjZhJwKTgrRTTqZaMLfVffvHvak8zFhEisDXaToEte4KOl+HXjnNkQwYIA7QcDy0peC0RekpcWM9W6His+9CIFGsXeQMlBsjwv9wFXovNlBxNRlI11otCCbzQ9Pi+Sclj2n8Sx0tzSv7h8ceeMALEuESdcLQIbmas5gKmibSFt1ou8mKKjOnrqJBZNlKlMK40CqkCVwY81yqENSjXPv45JHt3sba9iqciH+9cc3CnzPDcoMIRAmFkGWZnXgOFhMEw5o883K3wnZaNr7zyGr5yZwqnHWB+CJuyAAAfiklEQVT13BZ+4Kmn8I4gw53br+NXru+je/4Crpw/h3ddWsXLgxz/ZqWFAaOdVSn1MhImryOr5EqaCGtDkZu8j/lrJhL30SBctB9ar/DdbQdp7iAtbEwrG4XDvBwbR7GB5tOiQJEr0Rbj7A8Kj/7er/8d7WgPvhfAtTQ6FAp/gq6b4ku3U9wZQ4gadnXbDGx03QQ3qxJfTSoMKmDNs/COQOGSq+DaFe5WBT5zqHErMS0NqCFuD45E/V9aW5dJ3rmzI8JBJrDTbsMPQiTxFGEYicZg3IPI//R4mQGlRtyMKzKnvYELcYGrg10MDg5hhy7On99CNwol9yGxgHEOHFcOBpaLw6rC3vU9fO3j/wKWU2KDn+12Mbi5j46e4N3nV7C55mOigZemGjtFiJwsph/g7a0SXjLAc3kXL9/chbI0Lvbb+HOPbKOrXLyaKeRba7j2rWu4cvkc3tLr4ek28Ht3j/HN849gcG5NvIoGA4nWKln/WTGTEkw08C0FVyrA+Iw09vRA2AqjkhVN80zSmRn046oCmxBQBzVUOr0Y3wLe0y3xzoAZWD7issTzqcL1RInpeMhXeIdTop1r7OU+Dkg4/hf/13+k2UvBYaWyKtF1NDaiBF27xL+9PUWsjS1lMkavpfCbeYZvJBV7dBgYVCe1tF1btEGuSUQZgoovPsQr+zuidh/qrSPLUuzv7eHCxUsymeyDxTgJ8y2Woue1RDRJKssOUANk63LHEw7S2jTB26ZTtMM2xtOBeD7tTgu+x/5brH2iipb0aDx/bQ9f+tpruPHKy/CiAI8/+RjyNMX+zl0xMM5KG1uexvvWPLylZ1bcSpDj+aGNl7WPZJqhB4V3b3nYHUzwYm5hZeMcLm700LeB48EeOi5tt4sbloMDK8Rmq4tHHn87hqOb2Ll7F+fSKa7EOfqZwqjnYnc7ROHZ8Nh2wbUE0HuWFreX8SNXuhA2xB0ngVnfDkrNJq7AMXFcVeFY29ivgINSIyewtthySoFEtfHqTeV7y9J4q0pxIU+xM8yh/tZn/wMdUB40S8oK+LrARtuFY1d49XiELLPQ9kNkjoVv2hZer7N75swkI5knFnWD7mqQdDgZyQfWog6ODg9RFIUQPtQWN2/eQBiEOH/uvIlV1PkkQsrU6XKN4py7bYuZ5g03sVwAHU5zPHl0gFVXIQjbEh7PqxQFi3PZXokjNB6h8+pN6Vj31ddfw7XrI7hbfQSRj+PBECpJcXW7i7f4LfSCDDcPJnhp4qLnlviTF0JspIe4VXXx6v4B6BG4fhvtbguJAiZuH2GwjoMsQ3djFetdhZtHQzyy8RA+9J3fj06wgTTbly42wW8/h/LOLuxvvYTCsvDsBvB/P8ogP4XCEYAeuAqhy36czPI2PcnIHDM3hVFi33WlA1FTjkFvTKkKaVbgIGnjt90Qr1omu2zm7i+YHwKDx6sELVap/Yef+oj2XRuFdqRPZqBK9FsBWn4LpR1BOzmYiPS7VYob1CaLcfZFLoF/aRJVTriki/Zwb29PzANrRvfu7mJwPMDGxibCMECapsjSDEWRC+ikluivrGJ1ZXWWgjd30+pnm5FWdVSkVilCnScZ1l+5gY1KIwgsMQ2FZWOSJHKdbpHh8NqLWGsFOK9KbAbsB5EJ+LqeOGhnE7R1jMPCxQisxQgwSErs3B1g6Lfwvnd9LzKV4Df/9fO4dOEi3vWud+CFmzdwdfs8Xrz9Kv7jH/jLOB4fI/AqfPGXfxHv3Z9gk4XZbBjS9VGutmCvbqK69DB0+zyKGzdRHRzg+Pd+F5/6DheDagJPMIyJ/LJzj+WYDj6ecmDLzxp2vXjoqVEYSDxkSY7jJMN1K8ROv4uUCUEnfdUT6JydNq4mY6iPfeJD2vNd8cfpmkRslFWFuLK5Ds8KpZZjT5f49WyykMp+wg1YiHCepuYX70awRJaK97G7uyvagvWSrOjisQSgBHaSKT6dSJHR6toa1ohHZha4EY2F+1jQTjOWhMqj0HCu7aC7dxM910e/35GmbJ7rwysS3Lz+Cq5fu47t9XW4nR5eujnA16+/is7WOUmK7R2niLohsrUWqrRAnCj82Pe8H9/1xFN4+PwFqDKRlkLHwwRrq+uoqgNkqo3BCy/Af/4G1LuewEuDF/Hop7+IddsHikIAa9kJUFoF8l6J3CoR/Ds/iSJsQ1sedHyILLBxu0jx5etfQwJWcGXC4BpBAALLFO6wMo9CQTMdE7inMVJtYdBewa1OG9M6m2o+/wscUk0NzBa6AlrM/fiJT35QLDKTPWnbaXc95eHyxXNwqgiZ1ni2inFTmq7Op3xRLJZVUmPgTYyBGoo4gjUecTzFaMge4Ub904ycO3dekP3B/j62trfR7XRnLidXO9PPpGrJmveParDMot1qSCnDVJo6V/m5JsLK/QHK576B1aJEr9tGK3LRaps0vySpcHx0jO//E9+H9WgNX/rm78DTobjS7/nCNaxHPjb/9gfx2rDA8zdfwfu/60/Co1tX1L0yX7wD1bLhXrksbRjiOMX0hWvY/eefRfg970Whh2j/9C/BiQJpK0CBrLoh8mmMo4Nj7A6HePrv/V3oCxtA4gI9C1TKGRur2cALR9dwffAKQib2uC646FmoPUlTHE8THExiTJIcmaMw6fZwvL6BfFbT0ZB3tdmYG5AFpV+b3rpllfrIz/6ItLsqVQWrsuD7LtpehIubF0RLPFcmeCHLZzmFBCYG/t/bxKQRlOXLAzdefw0s5QuCECurq4iiFm7eeE1WPz2O69dfFVfvstDFc9aRgmOqo00KWcP9N1K/yHzOeb9lndhERSXTuyiRfOMV6G++hJUowvb2Ghxbo9MKJazvua5UZHfDAKvdS+i019EpNC50LsNvh3BUgmQyhQMftt1CGDgYvvIyXvqv/le0z2/ikf/uPzVZ5EWJyYsvAs469EYbd77+PIoXX0D1L78E3DlC8KfeDftdTyCdjjH47Wvw3/4INt73NI5/62so0hj5ux5D1baR5xOkVSIN2OMixSRLkeQWhtMM4zjGZDpFnKQYOz6mK+vI1ldRsRjrjFeTxWem7mydrv7qz/2w5kT3uxEGQ9pxGw+fu4DNlVVcS3N8NWcPikVjtBiXmCv0mVJarFauP8qM5zRJEEaRYAO+fWdnB3mewfN8TCZjrK6tY3V1daGYfi5aBJgLSs8oiOVnumcYFh9asrZtk5/JSWMv68HXnkf+yqvohQG2tzaxutKFQ+/EceCzQ6BLC0vt5ICLptUKEXlt9IMI/ZAhAR9+1EagS2R3D+GHPURrK5imEzhJgv0vPgcvasF59xMoXAU1HGF6/TqyLIF9YRNYayMpE5STISqfvcz5VLYszrIqQMVMD2+aFsjLSkoskzxDnMUYjlm3UmJsR0i3V6G31oG6p8d8wZxcmjWqbJD8wgeXwwqA+tDPfEBf2loVMPTynUN0nQ08deUhvJxX+Foei/lo9LmJI8zHv4lPnDZBXNV3bt1Ef2UFkRTR3Pva272L0XAof+h0ulhZW4Xr1nGQpZhYffS8yPo0d2emZWYspoQf6xtmnmd9CyZBx4Y+PEb8jRcxvb6DwFY4t7GGzdU1tFqeCEXBZFm61iTl2LCNcRbfF5c7z1MolcN3KHAuLMVKK7KepikaLybudMXyPeM3Nel+0PQMLFRS5c02TEy718bMMpaUUxCMqx6nOfJSYzKZCr6qIgfVyjawsY6kG6GcEXuNXajnaFGRn0L9zhbNDFcYIZJb/+gv/CV98ZHzKEcTvHZziMcuXsUwCvBsHIs/a+z3mRppZqFmH6l/yLMck/FYSKkgiuRi3f7KLNBDPHH71i0ZPOINsnrslLe1fU4IrAY3GIxQ12c0NFUNKhtsaeo3TFq/aSWv5HzsBEcbrkkrk8ptwswSPWJthZGtcjhGcfM2qt0DOGWBKAjQbbewstJDGPkI6JUAcIUbsKRkn8C4ZLMXQn0SaIzHWIBL2liaLNcDJ33MTU2nBOwkIdk8Myc+ZetDMA6RI2Wra8aM8kKSaYskQQFeT6Fqt1Gtr6FYXUE5az3FEkx+mf4dM1dTrPtcVxqz0eSqzx3Ik9PaaGP1N77wEX1+M0R1lGF/X2Pj0jZ+PU2R1jH9BsCdFIs3lJO63eLxYIDxeGSyjG0HrU5HMAXNxt2dOwijUMwGV9Te7q6YEa7iyw8/IhNcMyx1F8f6IWfApXnIuepqhF7Yv7KCxVpV9tcgRc3dCKiPRQDZR8qk3bOWQloW8E987sMjFKMJnEIjIHnkuWi1Iqx1IvQ6LEqi1rDELWQXOrZ7JPYyfURMk1XiH11RP1izBnMk6QqSSOzQV7IqvhQvrCxNzgQ9SYvdiW23Zi0LSVdMWcrQ78PpdaT4hwDQCAJpaSUCSrGSVpwUPgoD60roorCVgUlGOZ0crhnheunPPqM+/MWP6atrDrzMRkuv47kyxjdT8l+naYlaFN4AbBI/DI8HGNPLkMIf0wtyfWNTwCQHczwaI2q15PfF14ApfHmGjc1NU/SzgFwbrbBsN2qVvIQ4mI1dQTHknaZwuWMOy/TiFDpJwS2c2OeBVVHcvYeaRLrvc3IKxiDYtYed6EoUiUkslt6dji2uMzWH55BtNFtYzNo9ixBz1EwSDDtO5jy3qCNbJltqLli7wU410ltdGUHhpOYVdFYgTxLkeYWitKS3aNALEXY9eOx/xbTGWUMTx0w6q8QcW4qpNE0dG+V6LipW5NEUM151ovjIDOtCX9RmcJvknb/z7Ec0J4gt9OK0hV+fZohN0eEZ0rXcaWCuMZTgg8HhgXE5a/XZ7nTkfc/zZJUQY3T7JoHFDOKiO9QIoqkHlcxtaeGz2At7HvOQn+bSUhe7MLJvhAJxDDUcQh+PoCdjaHpRaYYyz2QSWPAjAsGfKRBMJCaTWmhoCkZeCn8jt9h0InZJIFGD2GLmRGBoEpo0w4UBbvZJoVykcSLeAs1GkeQidDyxrVgTQi1hOt2Zhu2cb1salASRi6Dtww8dEQppaCJKwDUtCyhsji31oGxqptgnJAqgWm2iY6gwgvY8uc8mg93M/UJuaK1ijSLQUP/5lz+sddRB5Ck8P3JwPW6WZzPdjaU5BWCcEqUbj0ZCzQ6Ojkzvx8pQsRtbW7h144ZcdmNzSxJYjDwsGqL6hGe4uzMCY1G9CH8/F6baskKxvC5OYY3HUKMxMIpRJfxKUGQxqqySLn0SA+H31JT6lbkpPtIUDLZjriukjHwudiQ2dZmmHpTyaGrwbM0YkBGSWVP7hfvjOaTIqeZRhNpvWlgJAJ63RpS+V64tHYJsj5gJqGwm5NHkUTPU2oETXh8nkVwWYHU6sLtd2O0uLAqvpDzUDffrTC0TjV1oM11ncan/5N98VNsdF+1A4XePHdxITs+hXMYURnDuwRv1wydJIgAzarXl+/CIgeJF26+wurmBVpsxifmZZ+ZihmzvJyQLd1WDqdkJGaLPC1hsqD6dwkoSIMmg2YIg5s+pdPujOWH/cRGQTBvNUBqBYER37v4aT6apv2RnOeIfrmjH9rC5uiXFQOwNQdaRTczYScbhaq5Ni3QxZk2p9MBnjkSTNSU5VeCWjXxPhIzmxa6gJUJKbMItI0yIPZdQu+kfVtk2KpuejBEQTdzB/iBcdExV8AMxJzQh9yYmneKWUH99+Isf0SvdFtoBcG3q4NZUoe+U2C+4TcG9onD6O3MtQnV8sLcrapLqlZ7H0f6BYAkSWGubm7V3Qbq2KZKdm5BlJdBgmJMRN6MPFqFmo89mwspFzNVLr4PtfAg6qT1YmcbvWQGkCfQ0Rsm+n3GCIm3wBb0VjnolWkiSXqq6ib302mAuqCstpllCuNFbw3c+/j6hu7lNFDvrE0Sylyd7fBXcFGaaybV0nsJyCFLN6hYTwB7loSNlEOxWQ76EJqFi/TK1Qw0gpYc6m+ib3dtEEErLkiBawWQljrHjIHVclJ6PivhCmvEv7FN20hDM/Md5/pL6S7/643q730UrUrhV2Lg+BP5sMMEtK8S11BYvZPZq1PoJATNpbQqT0QiH+3vCUq5vma7xg8EAo+NjUadUy+xRce7CBZNR1ZiPeu4FJ9f1pnOXdLlaTNSvHGcCPI1SaZhLebcuu5MEncZ6EjDKrjmmcZvFCef9cOlTMEZjcBtHgtEqTeHQK8m4kskX8DiW7nMrCQOWA8dGaHmIPA+BsrHW3RLuo1SlNJnd37ttclPzkhkJcCYZ/GEKryilDtYLA0nx074Dt9eC1wsFWJaejSJQyG0g1hVSS6GgtqCJEdBoiYYwHii9DWoRagwKh43UtpAoF6ntyM957ak0HsbSomt+OSEo6gc//eN6rd9BJ9LI4ODFWOFSNcbDPReJG+DrYwv7zOZYIitmvsnsGk2i6eHuHqJ2S7yLnRs3JPDVIAfyEFSxm5vb9XGzYLh5yMZa1IphqRCoKf+rC4yl/QApcHIT3Myurijnd+EsFjndmsTixBq34A8SSYoMfqkQwkJAgomBqjQHshQqS8GW59QWpru/2RWIk2jTDbWZ+8F9PWhmMmTJVPp/G+7CxIjYd/Rgbx+u8rC9fg4bQRuryidBjsjxEDmuZG+xrYDteqI1OVIju8TILTB2ckztAqnF7DEtghFrbgFcIJW0AkhPD+FK6ui0CAdJMSbbcP8Rdj1WlpxXygZO1ocskpEL0E792V/4sA5DGz0GdIIQe0mJLnI8GgJ+y5Gqrq8MbLyezMnmJhN6hlZrsEiv4/aNGzh36aKseGqIglnCkwn6a2vSee3ujZto9Tror67Vq3gBU5zIQp4By1ogZzxErWE8JvFyy0uu4LqEkC6wXyf2mqpvYYqgygIOg1FZBi/P4HMvz6qCz41ZpDyApoZ7nBUyucwKS5NMQKEMaN213/S9MBwlzYvOczEJ0u2P/SdYHyb34ML3HPQ7K7hy/hHBF1VBD2Qo7SMZLfW0gpexolyjcDQSz0LcclCEtmARh96GrVA5FnLbRkzTYNsoGCjUkJTDHBQmCkGdamgoF2P9iD9q4owCw8zvGUF9j0VupEJDfffP/Kj2/BDtto8o8oRqJWnzcLsUm7YZeUgsC/9q38Fhk241s0OLekdLIu5kPMLK2jqGR0diMjq9Hu7cuoX1rS1MxyMhYKSLbKczq9RqPIZ7YE+Tnt+ITw0mJUNLKQRM8beY2r+YKm/MitDENBmcdK3hFyWCqkRYFQiLAiG0pLwJS8kJZm9xEkoklsgdsBCH3kfNglI4mNsQuGY3Yt4Da2LZyM2mdpGm6rJ1iphI3wvBokICUgGXRS7hb+4IdOP2HXERiUla7Q40k5QlS91C5SgULlBYQM4aEdvQ5vw9o2aotUDKxrSSQqxEE5D1pCAQxFIoxErWDVTFzEhu6glV3Gjn2o3mOEg9yLv/yV/UoFCwqXrbQ1KUWLFdXFml+swQhg5sz8Egc/FvR0Au6mrZF21Q7dHevsQGok5belPQdDAQRhVMT0NIHdpxz625ikYchIubxVhmUdhTgO4iqdZgmWZ7A7PtRePk1v4+N5CBBW6C2akqhKxyB1PbzIiwI76phmH8wQwq1ztVMHMhs5xzyl0LCrDNCjPaWXQkdRsUijKDXZbwiwIBdznSpuUCTaV4Ayy0znNjWmi66ixyyRL3bTjdLvaiCLHw/XPamrmg7JethV4goDDCIfcluZhkMmtMIZqBusuqe1yZz8lT1T0yxaNpXKdaOBbJAHNfGk+2NdR7/vEP6ZEdIvB8nFvpY5hP0CqBSxsROmWCYakRhC6sCrhZ+bgF9nA+5VWbjs3z52UV337dcBJCAVeVaAq6qswDoKpl7URv1dR6nBrGncd1FkiuxhU2uME0ODGtkgRD1CtjXo5n7tRihZd8sZiHsQizou26xzgPFZXbDHZlVG2hLRMQpFAUJdpFgaiqEFUaLeaVUjM02oifqYNuHNyKe5qzgx7tvAifCcIJhyG2X2OsFBLbQsoJsx0kvofjMJSuu9xcx3SLMFBLJlRyXpuGZmbiDSyYPzvH3gTfTK5so1XZyJ7e3+y1LBHy9oZV4UlvAvW9P/0BvZuYoMvDF7YxiaeCxlvtAJcjH/vJsQRlqGSnJAlXt5CdshMu7fedm7dw7tIlucBoeGxUfBQJjtg4d65uhgbBGAyI0bQ0r6V7POWGzedO/8NJiZ99slGLsqGbBqukKAi2TBBdd8PyMe2fA2/aDi6UQtabqkhBEgEpNY5WWCtKrOcp2kUJT/gMli0Ybcc+V1IDSpxAT4FjJTEyduepPaOKZqrEnuth4FiYsnuvVkgtG7FFvNAsu+XCYrP058PQJCs175ueowsfWIiU3ltQtExzU3tuTHbRolL6gZ//Yf2tsULX9bB+fh0ZY/X7AyhPoe8TRRc4THLJ5h7pCivnt5B22qdri9M0iGyhbnz7uWLng5mbqhn15Tq3M87z7b09zxJodJHsito4UnV/C0NFG/UrA1qDWlHG9f4XjwRb8LVVa4VKsqrbVY4oSxHFCULu3mNay4gGoGI3nXGEr0ZlOUiZ0U1vgFigKqRsYKIUpkqJudq3HfEWGm5o5hjM2LMFPLBUE7UwuSdrcOcGeWlJzcVmDi6jeILxndvohS7Uhz/zzPDZfbsT+Q7WLqyyIhAHr97ENImFrr7Y8nA7ZZgXoi4934J/5TKKpuHnTHwXp6y2ZzXryVXELAlLOKFciKA0jiVxZMULYbvsLM+maS1U3NJCtmlcIjvvIw8nDdr8+kt3VXMgNcMx0zv3Hl1TYbVb21Ie/LyEm+Zw0xhRVWLddbHiWGixmoLtByV51gw3SwhEWxCWUVvQNDC2ZBvB4AbUCbGBVINpIZ0Sy8WEKfgLTVlln1WpYWWAjQSaMSaSKkAvR/p3mw1yzZXnKYsNfqPZMZxGPRK1RCySfeRqJq+8gjQp4EKN1H/2Gx979ld2svcycrd+YR0TIt1bt6Wi2ilY/2khCFo40gWsgkyelr07dL8vtu+sl9hs7k1H96+0ECccBluCbTpNMB2NECdjWVHsBuO1PLhuhMurSkLqrufglcSV/liLnNmDaIvTQnlCjDXR1Lp00NjcRQd9zpVIPKUsYMc57GkMaxrDS3K08wzr7LXRZRZWgFbgw2cEVZqu8CCzce8xKuyTfOJ4Sr9tRjItxBYwqDTYvSOneSKBxVVBjUItkpp8Vr6YBcZaUBQZRscp4uEADkPvaYWDLIHrBZLTysNd24cXkDyzULoM39fJPqcCwEVooaH29zG6dUfAru24X1Z/7V/+9b/55d3kH7YYtNrsYuA7iMYD7N86QGp7aDse1rstDCqqNhvcpZxxfm7HMPXYnLNxS82gi5vGKGWWY0QfXthABZfsIndtpj0vYgz2j5EWUyGgclQIXBcb3TYeWrex1QowTIBrAxeer1ASpdP9ci1h7mKGEM6M4T6I2BiXlvuxSui77soryTxkEGVVVvIc9jSBO5zAGk5lQnqOje0owHanjfVuG71WhMhlVrVJuecoJLrCcVnKQhpx3xPHwYGyMCwLKdHjwqBnw+s0HonAxUZLSIGOwttaMcZxjqNJjJsHFrI8RpqkmMYZkipH6EUIWGEXcqsME5YPHBe5W8IPIomqkgY3JmkuHYuLJipzHOzcRaAtDAsC7MlPqWc+8Yx30+p+ZVqV79hueYhaESbk+dMch9y5B0DIGgPmGyiNqWiwXFi4fhhgKIylSSxhsQr99lycZdpXS2hln+FmeiGMi3DLqOlU6GNB/bRLUqTsoNdycGndh1XY+OaNTMwIc9hLlxukpXhyo4O2b6Pgl+thUtg4qughfDum5g2EZhmjGTtMOlxMR4ZwmmCN2y4FPq6u9LDd66IVuAgZzbRNf22Wzx5XjB1RMCrBYceKgmFjVGqMsky2aGJiDyM/9OXaDHTlKUbjDDmB69jkaG62clxet3AQp3h9v8Cto4lkavl1SgFbNPcJ1r1QSC4GSrK6Sw61K8eduwqROrddspu10ajlQzb9Oh5jNJ3Ad+i06+eO0733yKfe94m/csHy/M9tRPY72j6wnzDS7MhJx9wMhsXDjmXyCEuFjDvUsB82ba2lccyUN8FpjQwu1vHpunpc016Brc/snP2pR0jLQmoli7yUzCHF/dTJFVBlU5iiEI9vtvC1u/uodCHX6rRDbHciXNj0EbqGQ5mUHl7PLQwKw/QtKkezRk7wKg+qZWo07xQV/CzHSprjnFa43IpwsdvCBvdM9V3hIw7KEkPaZu6bphUSgsmc9bYl9ssCA232ByFJFqFEX1VoOQX0ZIrJpMDeNMWN4wKO4qIgC1VIBdjVbQ/wKtwdZBhOC6kMKwpuZO/LIqPn5EQh1vs9icPkpN9z3gOFjr4QywwB21NI+U5horvcTp1tpodJbNIbLO85yyre/+yf/99uzQzqWz/xjPf4xtpHNzz1Y4HnPfWtg7IzyTjxCkOpvbDBbpgjZhkzb5C9DCQHjdJoTMiIDyOrzZDxhilkwIbbE7loWYX0mOBxGTK4usSjfR5S4WCaoSoU9scZilzjoa6N736yja++sIvnXk+hbO6rFcALPZzrd7HdtbESWegFLlj2yDS1o8TFTm5jJ7fEfZ6JwiLIWhQZmguW4dUBPQF2pMvrMLP4+5TvyoDMTppjs6pwOfBxMQrEzIWeJ1zGpKow0CUOCo29shQte1QaM8IJYg+LTSfDll1IfCRNcozjDDfZr3Q8xXSaSs8Ixlb+9MV1PH97jNFoKuqfe4exMoyNXlnpT+aTJpRsrhe1oaUdtDL9QOp4TZM7ca8br+HbCpHlYFyWo1KXX4dSP1PmBx//xgc/KUTG/wsR0NGyZ+AiPQAAAABJRU5ErkJggg==";
|
|
9523
10232
|
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
10233
|
const Yuandan = "data:image/png;base64,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";
|
|
9525
|
-
const _hoisted_1$
|
|
9526
|
-
const _hoisted_2$
|
|
9527
|
-
const _hoisted_3$
|
|
9528
|
-
const _hoisted_4$
|
|
10234
|
+
const _hoisted_1$7 = { class: "mt-24px" };
|
|
10235
|
+
const _hoisted_2$6 = { class: "theme-list" };
|
|
10236
|
+
const _hoisted_3$5 = ["src"];
|
|
10237
|
+
const _hoisted_4$5 = ["src"];
|
|
9529
10238
|
const _hoisted_5$4 = ["src"];
|
|
9530
10239
|
const _hoisted_6$3 = { class: "theme-list" };
|
|
9531
10240
|
const _hoisted_7$1 = ["src"];
|
|
@@ -9544,8 +10253,8 @@ const _sfc_main$j = {
|
|
|
9544
10253
|
};
|
|
9545
10254
|
return (_ctx, _cache) => {
|
|
9546
10255
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
9547
|
-
createElementVNode("div", _hoisted_1$
|
|
9548
|
-
createElementVNode("div", _hoisted_2$
|
|
10256
|
+
createElementVNode("div", _hoisted_1$7, toDisplayString(unref(t2)("layout.setting.festivalTheme")), 1),
|
|
10257
|
+
createElementVNode("div", _hoisted_2$6, [
|
|
9549
10258
|
createElementVNode("div", {
|
|
9550
10259
|
class: normalizeClass(["item", { "active": unref(theme) === "springFestival" }]),
|
|
9551
10260
|
onClick: _cache[0] || (_cache[0] = ($event) => handleClick("springFestival"))
|
|
@@ -9554,7 +10263,7 @@ const _sfc_main$j = {
|
|
|
9554
10263
|
class: "border",
|
|
9555
10264
|
style: normalizeStyle({ borderColor: unref(theme) === "springFestival" ? "var(--el-color-primary)" : "#d2d5e4" })
|
|
9556
10265
|
}, [
|
|
9557
|
-
createElementVNode("img", { src: unref(Chunjie) }, null, 8, _hoisted_3$
|
|
10266
|
+
createElementVNode("img", { src: unref(Chunjie) }, null, 8, _hoisted_3$5)
|
|
9558
10267
|
], 4),
|
|
9559
10268
|
_cache[4] || (_cache[4] = createElementVNode("div", { class: "name" }, "春节", -1))
|
|
9560
10269
|
], 2),
|
|
@@ -9566,7 +10275,7 @@ const _sfc_main$j = {
|
|
|
9566
10275
|
class: "border",
|
|
9567
10276
|
style: normalizeStyle({ borderColor: unref(theme) === "dragonBoatFestival" ? "var(--el-color-primary)" : "#d2d5e4" })
|
|
9568
10277
|
}, [
|
|
9569
|
-
createElementVNode("img", { src: unref(Duanwu) }, null, 8, _hoisted_4$
|
|
10278
|
+
createElementVNode("img", { src: unref(Duanwu) }, null, 8, _hoisted_4$5)
|
|
9570
10279
|
], 4),
|
|
9571
10280
|
_cache[5] || (_cache[5] = createElementVNode("div", { class: "name" }, "端午", -1))
|
|
9572
10281
|
], 2),
|
|
@@ -9604,73 +10313,8 @@ const _sfc_main$j = {
|
|
|
9604
10313
|
}
|
|
9605
10314
|
};
|
|
9606
10315
|
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
10316
|
const _hoisted_1$6 = { class: "text-16px font-500 text-[var(--text-color)]" };
|
|
9673
|
-
const _sfc_main$
|
|
10317
|
+
const _sfc_main$i = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
9674
10318
|
__name: "Setting",
|
|
9675
10319
|
props: {
|
|
9676
10320
|
color: {
|
|
@@ -9693,10 +10337,11 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
|
9693
10337
|
const { copy, copied, isSupported } = useClipboard({
|
|
9694
10338
|
source: `
|
|
9695
10339
|
// 主题相关
|
|
9696
|
-
theme: '${appStore.getTheme}'
|
|
9697
|
-
|
|
9698
|
-
|
|
9699
|
-
|
|
10340
|
+
theme: '${appStore.getTheme}'
|
|
10341
|
+
`
|
|
10342
|
+
// ,
|
|
10343
|
+
// // 布局相关
|
|
10344
|
+
// layout: '${appStore.getLayout}'
|
|
9700
10345
|
});
|
|
9701
10346
|
if (!isSupported) {
|
|
9702
10347
|
ElMessage.error(t2("layout.setting.copyFailed"));
|
|
@@ -9719,10 +10364,6 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
|
9719
10364
|
appStore.setTheme(theme);
|
|
9720
10365
|
appStore.setCssVarTheme();
|
|
9721
10366
|
};
|
|
9722
|
-
const layoutChange = async (layout) => {
|
|
9723
|
-
await saveTheme({ theme: appStore.getTheme, layout });
|
|
9724
|
-
appStore.setLayout(layout);
|
|
9725
|
-
};
|
|
9726
10367
|
const saveTheme = async ({ theme, layout }) => {
|
|
9727
10368
|
ElMessage({
|
|
9728
10369
|
type: "success",
|
|
@@ -9740,7 +10381,7 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
|
9740
10381
|
}), [
|
|
9741
10382
|
createVNode(_component_Icon, {
|
|
9742
10383
|
color: __props.color,
|
|
9743
|
-
icon: "
|
|
10384
|
+
icon: "svg-icon:hexagon",
|
|
9744
10385
|
size: 18
|
|
9745
10386
|
}, null, 8, ["color"])
|
|
9746
10387
|
], 16),
|
|
@@ -9780,8 +10421,7 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
|
9780
10421
|
default: withCtx(() => [
|
|
9781
10422
|
createElementVNode("div", null, [
|
|
9782
10423
|
createVNode(ThemeSwitch, { onChange: themeChange }),
|
|
9783
|
-
createVNode(FestivalThemeSwitch, { onChange: themeChange })
|
|
9784
|
-
createVNode(LayoutSwitch, { onChange: layoutChange })
|
|
10424
|
+
createVNode(FestivalThemeSwitch, { onChange: themeChange })
|
|
9785
10425
|
])
|
|
9786
10426
|
]),
|
|
9787
10427
|
_: 1
|
|
@@ -9790,7 +10430,51 @@ const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Setting" }, {
|
|
|
9790
10430
|
};
|
|
9791
10431
|
}
|
|
9792
10432
|
});
|
|
9793
|
-
const Setting = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
10433
|
+
const Setting = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-b213e887"]]);
|
|
10434
|
+
const _sfc_main$h = /* @__PURE__ */ Object.assign({ name: "Arrow" }, {
|
|
10435
|
+
__name: "Arrow",
|
|
10436
|
+
props: {
|
|
10437
|
+
color: {
|
|
10438
|
+
type: String,
|
|
10439
|
+
default: ""
|
|
10440
|
+
}
|
|
10441
|
+
},
|
|
10442
|
+
setup(__props) {
|
|
10443
|
+
const appStore = useAppStore();
|
|
10444
|
+
const { t: t2 } = useI18n();
|
|
10445
|
+
const topNav = computed(() => appStore.getTopNav);
|
|
10446
|
+
const topNavCollapsed = computed(() => topNav.value === "collapsed");
|
|
10447
|
+
const arrowIcon = computed(
|
|
10448
|
+
() => topNavCollapsed.value ? "svg-icon:arrow-left" : "svg-icon:arrow-right"
|
|
10449
|
+
);
|
|
10450
|
+
const handleArrowClick = () => {
|
|
10451
|
+
appStore.setTopNav(topNavCollapsed.value ? "floating" : "collapsed");
|
|
10452
|
+
};
|
|
10453
|
+
return (_ctx, _cache) => {
|
|
10454
|
+
const _component_Icon = resolveComponent("Icon");
|
|
10455
|
+
return openBlock(), createElementBlock("div", {
|
|
10456
|
+
class: "arrow",
|
|
10457
|
+
onClick: handleArrowClick
|
|
10458
|
+
}, [
|
|
10459
|
+
createVNode(unref(ElPopover), {
|
|
10460
|
+
disabled: !unref(topNavCollapsed),
|
|
10461
|
+
content: unref(t2)("layout.common.expandAppMenu"),
|
|
10462
|
+
placement: "left",
|
|
10463
|
+
"show-after": 100
|
|
10464
|
+
}, {
|
|
10465
|
+
reference: withCtx(() => [
|
|
10466
|
+
createVNode(_component_Icon, {
|
|
10467
|
+
color: __props.color,
|
|
10468
|
+
size: 11,
|
|
10469
|
+
icon: unref(arrowIcon)
|
|
10470
|
+
}, null, 8, ["color", "icon"])
|
|
10471
|
+
]),
|
|
10472
|
+
_: 1
|
|
10473
|
+
}, 8, ["disabled", "content"])
|
|
10474
|
+
]);
|
|
10475
|
+
};
|
|
10476
|
+
}
|
|
10477
|
+
});
|
|
9794
10478
|
const _sfc_main$g = {
|
|
9795
10479
|
__name: "index",
|
|
9796
10480
|
props: {
|
|
@@ -9941,6 +10625,10 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
9941
10625
|
onClearCacheLogoutClick: {
|
|
9942
10626
|
type: Function,
|
|
9943
10627
|
default: null
|
|
10628
|
+
},
|
|
10629
|
+
onSwitchCompanyClick: {
|
|
10630
|
+
type: Function,
|
|
10631
|
+
default: null
|
|
9944
10632
|
}
|
|
9945
10633
|
},
|
|
9946
10634
|
setup(props, {
|
|
@@ -9948,49 +10636,73 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
9948
10636
|
}) {
|
|
9949
10637
|
const appStore = useAppStore();
|
|
9950
10638
|
const breadcrumb = computed(() => appStore.getBreadcrumb);
|
|
9951
|
-
computed(() => appStore.getHamburger);
|
|
9952
10639
|
const search = computed(() => appStore.search);
|
|
9953
10640
|
const layout = computed(() => appStore.getLayout);
|
|
9954
10641
|
const locale = computed(() => appStore.getLocale);
|
|
9955
10642
|
const message = computed(() => appStore.getMessage);
|
|
9956
10643
|
const setting = computed(() => appStore.getSetting);
|
|
10644
|
+
const topNav = computed(() => appStore.getTopNav);
|
|
10645
|
+
const topNavNormal = computed(() => topNav.value === "normal");
|
|
10646
|
+
const topNavCollapsed = computed(() => topNav.value === "collapsed");
|
|
10647
|
+
const iconColor = computed(() => topNavNormal.value ? "var(--top-header-icon-color)" : "#dae0e9");
|
|
9957
10648
|
return () => {
|
|
9958
10649
|
var _a2;
|
|
9959
10650
|
return createVNode("div", {
|
|
9960
10651
|
"id": `${variables.namespace}-tool-header`,
|
|
9961
|
-
"class": [prefixCls$2, "
|
|
10652
|
+
"class": [prefixCls$2, "px-[var(--top-tool-p-x)] flex items-center justify-between", "dark:bg-[var(--el-bg-color)]", {
|
|
10653
|
+
"tool-header-normal": topNavNormal.value,
|
|
10654
|
+
"tool-header-floating": topNav.value === "floating",
|
|
10655
|
+
"tool-header-collapsed": topNav.value === "collapsed"
|
|
10656
|
+
}],
|
|
10657
|
+
"style": "transition: all var(--transition-time-02);"
|
|
9962
10658
|
}, [layout.value !== "top" ? createVNode("div", {
|
|
9963
10659
|
"class": "h-full flex items-center"
|
|
9964
10660
|
}, [breadcrumb.value ? createVNode(Breadcrumb, {
|
|
9965
10661
|
"class": "lt-md:hidden"
|
|
9966
10662
|
}, null) : void 0]) : void 0, (_a2 = slots.default) == null ? void 0 : _a2.call(slots), createVNode("div", {
|
|
9967
10663
|
"class": "h-full flex items-center"
|
|
9968
|
-
}, [search.value ? createVNode(_sfc_main$g, {
|
|
10664
|
+
}, [!topNavCollapsed.value && createVNode(Fragment, null, [search.value ? createVNode(_sfc_main$g, {
|
|
9969
10665
|
"isModal": false
|
|
10666
|
+
}, null) : void 0, message.value ? createVNode(Message, {
|
|
10667
|
+
"class": "custom-hover cursor-pointer",
|
|
10668
|
+
"color": iconColor.value,
|
|
10669
|
+
"onMessageClick": props.onMessageClick
|
|
9970
10670
|
}, null) : void 0, setting.value ? createVNode(Setting, {
|
|
9971
10671
|
"class": "custom-hover cursor-pointer",
|
|
9972
|
-
"color":
|
|
10672
|
+
"color": iconColor.value,
|
|
9973
10673
|
"onClearCacheLogoutClick": props.onClearCacheLogoutClick
|
|
9974
10674
|
}, null) : void 0, locale.value ? createVNode(_sfc_main$l, {
|
|
9975
|
-
"class": "custom-hover",
|
|
10675
|
+
"class": "custom-hover cursor-pointer",
|
|
9976
10676
|
"color": "var(--top-header-text-color)"
|
|
9977
|
-
}, null) : void 0,
|
|
10677
|
+
}, null) : void 0, createVNode("div", {
|
|
10678
|
+
"class": `h-12px mx-10px`,
|
|
10679
|
+
"style": `border-left: 1px solid ${iconColor.value}`
|
|
10680
|
+
}, null), createVNode(UserInfo, {
|
|
10681
|
+
"onLogoutClick": props.onLogoutClick,
|
|
10682
|
+
"onSwitchCompanyClick": props.onSwitchCompanyClick
|
|
10683
|
+
}, null)]), !topNavNormal.value && createVNode(Fragment, null, [!topNavCollapsed.value && createVNode("div", {
|
|
10684
|
+
"class": `h-12px mx-10px`,
|
|
10685
|
+
"style": `border-left: 1px solid ${iconColor.value}`
|
|
10686
|
+
}, null), createVNode(_sfc_main$h, {
|
|
9978
10687
|
"class": "custom-hover cursor-pointer",
|
|
9979
|
-
"color":
|
|
9980
|
-
|
|
9981
|
-
}, null) : void 0, createVNode(UserInfo, {
|
|
9982
|
-
"onLogoutClick": props.onLogoutClick
|
|
9983
|
-
}, null)])]);
|
|
10688
|
+
"color": iconColor.value
|
|
10689
|
+
}, null)])])]);
|
|
9984
10690
|
};
|
|
9985
10691
|
}
|
|
9986
10692
|
});
|
|
9987
|
-
const ToolHeader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-
|
|
10693
|
+
const ToolHeader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-caca6e2e"]]);
|
|
9988
10694
|
const {
|
|
9989
10695
|
getPrefixCls: getPrefixCls$1
|
|
9990
10696
|
} = useDesign();
|
|
9991
10697
|
const prefixCls$1 = getPrefixCls$1("layout");
|
|
9992
10698
|
const scrollRef = ref();
|
|
9993
|
-
const useRenderLayout = (
|
|
10699
|
+
const useRenderLayout = (props, {
|
|
10700
|
+
onLogoClick,
|
|
10701
|
+
onMessageClick,
|
|
10702
|
+
onLogoutClick,
|
|
10703
|
+
onClearCacheLogoutClick,
|
|
10704
|
+
onSwitchCompanyClick
|
|
10705
|
+
}) => {
|
|
9994
10706
|
const appStore = useAppStore();
|
|
9995
10707
|
const permissionStore = usePermissionStore();
|
|
9996
10708
|
const pageLoading = computed(() => appStore.getPageLoading);
|
|
@@ -10019,28 +10731,51 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
|
|
|
10019
10731
|
});
|
|
10020
10732
|
const zIndexClass = computed(() => {
|
|
10021
10733
|
return {
|
|
10022
|
-
"z-
|
|
10734
|
+
"z-2000": theme.value === "whiteLight"
|
|
10023
10735
|
};
|
|
10024
10736
|
});
|
|
10737
|
+
const topNav = computed(() => appStore.getTopNav);
|
|
10738
|
+
const topNavNormal = computed(() => topNav.value === "normal");
|
|
10025
10739
|
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]
|
|
10740
|
+
return createVNode(Fragment, null, [topNavNormal.value && createVNode("div", {
|
|
10741
|
+
"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],
|
|
10742
|
+
"style": "transition: all var(--transition-time-02);"
|
|
10028
10743
|
}, [logo.value ? createVNode(_sfc_main$q, {
|
|
10029
10744
|
"class": [{
|
|
10030
|
-
"w-[var(--left-menu-min-width)]":
|
|
10031
|
-
"w-[var(--left-menu-max-width)]": !
|
|
10745
|
+
"w-[var(--left-menu-min-width)]": collapse.value,
|
|
10746
|
+
"w-[var(--left-menu-max-width)]": !collapse.value
|
|
10032
10747
|
}],
|
|
10033
10748
|
"onLogoClick": onLogoClick
|
|
10034
10749
|
}, null) : void 0, createVNode(ToolHeader, {
|
|
10035
10750
|
"class": "flex-1",
|
|
10036
10751
|
"onMessageClick": onMessageClick,
|
|
10037
10752
|
"onLogoutClick": onLogoutClick,
|
|
10038
|
-
"onClearCacheLogoutClick": onClearCacheLogoutClick
|
|
10753
|
+
"onClearCacheLogoutClick": onClearCacheLogoutClick,
|
|
10754
|
+
"onSwitchCompanyClick": onSwitchCompanyClick
|
|
10755
|
+
}, null)]), createVNode("div", {
|
|
10756
|
+
"class": ["w-full flex", {
|
|
10757
|
+
"h-[calc(100%-var(--top-header-height))]": topNavNormal.value,
|
|
10758
|
+
"h-full": !topNavNormal.value
|
|
10759
|
+
}]
|
|
10760
|
+
}, [createVNode("div", null, [!topNavNormal.value && createVNode(Fragment, null, [logo.value ? createVNode(_sfc_main$q, {
|
|
10761
|
+
"class": ["relative bg-[linear-gradient(var(--top-header-bg-color))] shadow-[0px_2px_6px_0px_rgba(197,206,225,0.35)]", zIndexClass.value, {
|
|
10762
|
+
"w-[var(--left-menu-min-width)]": collapse.value,
|
|
10763
|
+
"w-[var(--left-menu-max-width)]": !collapse.value
|
|
10764
|
+
}],
|
|
10765
|
+
"onLogoClick": onLogoClick,
|
|
10766
|
+
"style": "transition: all var(--transition-time-02);"
|
|
10767
|
+
}, null) : void 0, createVNode(ToolHeader, {
|
|
10768
|
+
"class": "flex-1",
|
|
10769
|
+
"onMessageClick": onMessageClick,
|
|
10770
|
+
"onLogoutClick": onLogoutClick,
|
|
10771
|
+
"onClearCacheLogoutClick": onClearCacheLogoutClick,
|
|
10772
|
+
"onSwitchCompanyClick": onSwitchCompanyClick
|
|
10773
|
+
}, null)]), createVNode(Menu, {
|
|
10774
|
+
"class": ["relative layout-border__right", festivalMenuClass.value, {
|
|
10775
|
+
"!h-full": topNavNormal.value,
|
|
10776
|
+
"h-[calc(100%-var(--top-header-height))]": !topNavNormal.value
|
|
10777
|
+
}]
|
|
10039
10778
|
}, 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
10779
|
"class": [`${prefixCls$1}-content`, "h-[100%]", {
|
|
10045
10780
|
"w-[calc(100%-var(--left-menu-min-width))] left-[var(--left-menu-min-width)]": collapse.value,
|
|
10046
10781
|
"w-[calc(100%-var(--left-menu-max-width))] left-[var(--left-menu-max-width)]": !collapse.value
|
|
@@ -10050,12 +10785,14 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
|
|
|
10050
10785
|
"class": [`${prefixCls$1}-content-scrollbar`, {
|
|
10051
10786
|
"!h-[calc(100%-var(--tags-view-height))] mt-[calc(var(--tags-view-height))]": tagsView.value
|
|
10052
10787
|
}],
|
|
10053
|
-
"ref": scrollRef
|
|
10788
|
+
"ref": scrollRef,
|
|
10789
|
+
"style": "transition: all var(--transition-time-02);"
|
|
10054
10790
|
}, {
|
|
10055
10791
|
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)]
|
|
10792
|
+
"class": ["layout-border__bottom", "!fixed top-0 left-0 z-10", {
|
|
10793
|
+
"w-[calc(100%-var(--left-menu-min-width))] !left-[var(--left-menu-min-width)]": collapse.value,
|
|
10794
|
+
"w-[calc(100%-var(--left-menu-max-width))] !left-[var(--left-menu-max-width)]": !collapse.value,
|
|
10795
|
+
"mt-[var(--top-header-height)]": topNavNormal.value
|
|
10059
10796
|
}],
|
|
10060
10797
|
"style": "transition: width var(--transition-time-02), left var(--transition-time-02);"
|
|
10061
10798
|
}, null) : void 0, createVNode(_sfc_main$p, null, null)]
|
|
@@ -10063,31 +10800,28 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
|
|
|
10063
10800
|
};
|
|
10064
10801
|
const renderTop = () => {
|
|
10065
10802
|
return createVNode(Fragment, null, [createVNode("div", {
|
|
10066
|
-
"class": ["relative flex items-center justify-between bg-[linear-gradient(var(--top-header-bg-color))]", {
|
|
10803
|
+
"class": ["relative w-full 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
10804
|
"layout-border__bottom": !tagsView.value
|
|
10068
10805
|
}, festivalTopClass.value]
|
|
10069
10806
|
}, [logo.value ? createVNode(_sfc_main$q, {
|
|
10070
|
-
"class": ["w-[var(--left-menu-max-width)]"],
|
|
10807
|
+
"class": ["shrink-0 w-[var(--left-menu-max-width)]"],
|
|
10071
10808
|
"onLogoClick": onLogoClick
|
|
10072
|
-
}, null) : void 0, createVNode(
|
|
10073
|
-
"class": "
|
|
10809
|
+
}, null) : void 0, tagsView.value && createVNode(TagsView, {
|
|
10810
|
+
"class": ["layout-border__bottom flex-1 min-w-0"]
|
|
10074
10811
|
}, null), createVNode(ToolHeader, {
|
|
10812
|
+
"class": "shrink-0 pl-20px",
|
|
10075
10813
|
"onMessageClick": onMessageClick,
|
|
10076
10814
|
"onLogoutClick": onLogoutClick,
|
|
10077
|
-
"onClearCacheLogoutClick": onClearCacheLogoutClick
|
|
10815
|
+
"onClearCacheLogoutClick": onClearCacheLogoutClick,
|
|
10816
|
+
"onSwitchCompanyClick": onSwitchCompanyClick
|
|
10078
10817
|
}, null)]), createVNode("div", {
|
|
10079
10818
|
"class": [`${prefixCls$1}-content`, "w-full h-[calc(100%-var(--top-tool-height))]"]
|
|
10080
|
-
}, [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
|
-
}],
|
|
10819
|
+
}, [props.scroll ? withDirectives(createVNode(ElScrollbar, {
|
|
10820
|
+
"class": [`${prefixCls$1}-content-scrollbar`],
|
|
10084
10821
|
"ref": scrollRef
|
|
10085
10822
|
}, {
|
|
10086
|
-
default: () => [
|
|
10087
|
-
|
|
10088
|
-
"style": "transition: width var(--transition-time-02), left var(--transition-time-02);"
|
|
10089
|
-
}, null) : void 0, createVNode(_sfc_main$p, null, null)]
|
|
10090
|
-
}), [[resolveDirective("loading"), pageLoading.value]])])]);
|
|
10823
|
+
default: () => [createVNode(_sfc_main$p, null, null)]
|
|
10824
|
+
}), [[resolveDirective("loading"), pageLoading.value]]) : createVNode(_sfc_main$p, null, null)])]);
|
|
10091
10825
|
};
|
|
10092
10826
|
const renderTopLeft = () => {
|
|
10093
10827
|
return createVNode(Fragment, null, [createVNode("div", {
|
|
@@ -10104,7 +10838,8 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
|
|
|
10104
10838
|
"class": "flex-1",
|
|
10105
10839
|
"onMessageClick": onMessageClick,
|
|
10106
10840
|
"onLogoutClick": onLogoutClick,
|
|
10107
|
-
"onClearCacheLogoutClick": onClearCacheLogoutClick
|
|
10841
|
+
"onClearCacheLogoutClick": onClearCacheLogoutClick,
|
|
10842
|
+
"onSwitchCompanyClick": onSwitchCompanyClick
|
|
10108
10843
|
}, {
|
|
10109
10844
|
default: () => createVNode(Menu, {
|
|
10110
10845
|
"mode": "horizontal",
|
|
@@ -10151,13 +10886,25 @@ const {
|
|
|
10151
10886
|
} = useDesign();
|
|
10152
10887
|
const prefixCls = getPrefixCls("layout");
|
|
10153
10888
|
const layoutScrollRef = ref();
|
|
10154
|
-
const renderLayout = (layout,
|
|
10889
|
+
const renderLayout = (layout, props, {
|
|
10890
|
+
handleLogoClick,
|
|
10891
|
+
handleMessageClick,
|
|
10892
|
+
handleLogoutClick,
|
|
10893
|
+
handleClearCacheLogoutClick,
|
|
10894
|
+
handleSwitchCompanyClick
|
|
10895
|
+
}) => {
|
|
10155
10896
|
const {
|
|
10156
10897
|
renderLeft,
|
|
10157
10898
|
renderTop,
|
|
10158
10899
|
renderTopLeft,
|
|
10159
10900
|
scrollRef: scrollRef2
|
|
10160
|
-
} = useRenderLayout(
|
|
10901
|
+
} = useRenderLayout(props, {
|
|
10902
|
+
onLogoClick: handleLogoClick,
|
|
10903
|
+
onMessageClick: handleMessageClick,
|
|
10904
|
+
onLogoutClick: handleLogoutClick,
|
|
10905
|
+
onClearCacheLogoutClick: handleClearCacheLogoutClick,
|
|
10906
|
+
onSwitchCompanyClick: handleSwitchCompanyClick
|
|
10907
|
+
});
|
|
10161
10908
|
layoutScrollRef.value = scrollRef2.value;
|
|
10162
10909
|
switch (unref(layout)) {
|
|
10163
10910
|
case "left":
|
|
@@ -10170,7 +10917,13 @@ const renderLayout = (layout, onLogoClick, onMessageClick, onLogoutClick, onClea
|
|
|
10170
10917
|
};
|
|
10171
10918
|
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
10172
10919
|
name: "Layout",
|
|
10173
|
-
|
|
10920
|
+
props: {
|
|
10921
|
+
scroll: {
|
|
10922
|
+
type: Boolean,
|
|
10923
|
+
default: true
|
|
10924
|
+
}
|
|
10925
|
+
},
|
|
10926
|
+
emits: ["logo-click", "message-click", "logout-click", "clear-cache-logout-click", "switch-company-click"],
|
|
10174
10927
|
setup(props, {
|
|
10175
10928
|
emit
|
|
10176
10929
|
}) {
|
|
@@ -10190,12 +10943,21 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
10190
10943
|
const handleClearCacheLogoutClick = () => {
|
|
10191
10944
|
emit("clear-cache-logout-click");
|
|
10192
10945
|
};
|
|
10946
|
+
const handleSwitchCompanyClick = (company) => {
|
|
10947
|
+
emit("switch-company-click", company);
|
|
10948
|
+
};
|
|
10193
10949
|
return () => createVNode("section", {
|
|
10194
10950
|
"class": [prefixCls, `${prefixCls}__${layout.value}`, "w-[100%] h-[100%] relative", `${prefixCls}__${theme.value}`]
|
|
10195
|
-
}, [renderLayout(layout,
|
|
10951
|
+
}, [renderLayout(layout, props, {
|
|
10952
|
+
handleLogoClick,
|
|
10953
|
+
handleMessageClick,
|
|
10954
|
+
handleLogoutClick,
|
|
10955
|
+
handleClearCacheLogoutClick,
|
|
10956
|
+
handleSwitchCompanyClick
|
|
10957
|
+
}), props.scroll && createVNode(_sfc_main$y, null, null)]);
|
|
10196
10958
|
}
|
|
10197
10959
|
});
|
|
10198
|
-
const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-
|
|
10960
|
+
const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-0945fd78"]]);
|
|
10199
10961
|
const _sfc_main$d = {
|
|
10200
10962
|
__name: "ConfigGlobal",
|
|
10201
10963
|
props: {
|
|
@@ -10267,6 +11029,22 @@ const _sfc_main$c = /* @__PURE__ */ Object.assign({ name: "PageCard" }, {
|
|
|
10267
11029
|
padding: "16px"
|
|
10268
11030
|
};
|
|
10269
11031
|
}
|
|
11032
|
+
},
|
|
11033
|
+
customClass: {
|
|
11034
|
+
type: String,
|
|
11035
|
+
default: ""
|
|
11036
|
+
},
|
|
11037
|
+
scroll: {
|
|
11038
|
+
type: Boolean,
|
|
11039
|
+
default: false
|
|
11040
|
+
},
|
|
11041
|
+
scrollHeight: {
|
|
11042
|
+
type: String,
|
|
11043
|
+
default: void 0
|
|
11044
|
+
},
|
|
11045
|
+
scrollMaxHeight: {
|
|
11046
|
+
type: String,
|
|
11047
|
+
default: void 0
|
|
10270
11048
|
}
|
|
10271
11049
|
},
|
|
10272
11050
|
setup(__props) {
|
|
@@ -10276,17 +11054,27 @@ const _sfc_main$c = /* @__PURE__ */ Object.assign({ name: "PageCard" }, {
|
|
|
10276
11054
|
return openBlock(), createBlock(unref(ElCard), {
|
|
10277
11055
|
"body-style": __props.bodyStyle,
|
|
10278
11056
|
header: __props.title,
|
|
10279
|
-
class: normalizeClass([unref(prefixCls2), "
|
|
11057
|
+
class: normalizeClass([unref(prefixCls2), __props.customClass, "mx-16px my-16px"])
|
|
10280
11058
|
}, {
|
|
10281
11059
|
default: withCtx(() => [
|
|
10282
|
-
|
|
11060
|
+
__props.scroll ? (openBlock(), createBlock(unref(ElScrollbar), {
|
|
11061
|
+
key: 0,
|
|
11062
|
+
height: __props.scrollHeight,
|
|
11063
|
+
"max-height": __props.scrollMaxHeight,
|
|
11064
|
+
always: ""
|
|
11065
|
+
}, {
|
|
11066
|
+
default: withCtx(() => [
|
|
11067
|
+
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
11068
|
+
]),
|
|
11069
|
+
_: 3
|
|
11070
|
+
}, 8, ["height", "max-height"])) : renderSlot(_ctx.$slots, "default", { key: 1 }, void 0, true)
|
|
10283
11071
|
]),
|
|
10284
11072
|
_: 3
|
|
10285
11073
|
}, 8, ["body-style", "header", "class"]);
|
|
10286
11074
|
};
|
|
10287
11075
|
}
|
|
10288
11076
|
});
|
|
10289
|
-
const PageCard = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-
|
|
11077
|
+
const PageCard = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-8351baee"]]);
|
|
10290
11078
|
const _hoisted_1$5 = { class: "ml-2px" };
|
|
10291
11079
|
const _hoisted_2$5 = { class: "flex items-center" };
|
|
10292
11080
|
const _sfc_main$b = /* @__PURE__ */ Object.assign({ name: "PageNavBar" }, {
|
|
@@ -12372,6 +13160,8 @@ export {
|
|
|
12372
13160
|
useAppStore as BmpUseAppStore,
|
|
12373
13161
|
useAppStoreWithOut as BmpUseAppStoreWithOut,
|
|
12374
13162
|
useLayout as BmpUseLayout,
|
|
13163
|
+
useLocaleStore as BmpUseLocaleStore,
|
|
13164
|
+
useLocaleStoreWithOut as BmpUseLocaleStoreWithOut,
|
|
12375
13165
|
usePermissionStore as BmpUsePermissionStore,
|
|
12376
13166
|
usePermissionStoreWithOut as BmpUsePermissionStoreWithOut,
|
|
12377
13167
|
useTagsViewStore as BmpUseTagsViewStore,
|