bmp-layout 0.0.25-beta.1 → 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 +542 -67
- package/bmp-layout.umd.js +3 -3
- package/locales/zh-TW.js +98 -0
- package/package.json +3 -2
- package/style.css +1 -1
- package/svgs/chevron-left.svg +4 -0
- package/svgs/chevron-right.svg +4 -0
- package/svgs/close-square.svg +5 -0
- package/svgs/language.svg +3 -0
- package/svgs/tag-close.svg +1 -1
- package/zh-TW-DYC8NCr4.mjs +101 -0
package/bmp-layout.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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,
|
|
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";
|
|
@@ -417,7 +417,18 @@ const whiteLight = {
|
|
|
417
417
|
topHeaderCompanyIconColor: "#88a0c3",
|
|
418
418
|
topHeaderCompanyBgColor: "rgba(246,248,255,1)",
|
|
419
419
|
// 菜单触发器背景颜色
|
|
420
|
-
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"
|
|
421
432
|
};
|
|
422
433
|
const blueLight = {
|
|
423
434
|
...baseLight,
|
|
@@ -474,7 +485,18 @@ const blueLight = {
|
|
|
474
485
|
topHeaderCompanyIconColor: "#fff",
|
|
475
486
|
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
476
487
|
// 菜单触发器背景颜色
|
|
477
|
-
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)"
|
|
478
500
|
};
|
|
479
501
|
const redLight = {
|
|
480
502
|
...baseLight,
|
|
@@ -530,7 +552,18 @@ const redLight = {
|
|
|
530
552
|
topHeaderCompanyIconColor: "#fff",
|
|
531
553
|
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
532
554
|
// 菜单触发器背景颜色
|
|
533
|
-
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)"
|
|
534
567
|
};
|
|
535
568
|
const greenLight = {
|
|
536
569
|
...baseLight,
|
|
@@ -586,7 +619,18 @@ const greenLight = {
|
|
|
586
619
|
topHeaderCompanyIconColor: "#fff",
|
|
587
620
|
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
588
621
|
// 菜单触发器背景颜色
|
|
589
|
-
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)"
|
|
590
634
|
};
|
|
591
635
|
const springFestival = {
|
|
592
636
|
...baseLight,
|
|
@@ -642,7 +686,18 @@ const springFestival = {
|
|
|
642
686
|
topHeaderCompanyIconColor: "#fff",
|
|
643
687
|
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
644
688
|
// 菜单触发器背景颜色
|
|
645
|
-
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)"
|
|
646
701
|
};
|
|
647
702
|
const dragonBoatFestival = {
|
|
648
703
|
...baseLight,
|
|
@@ -698,7 +753,18 @@ const dragonBoatFestival = {
|
|
|
698
753
|
topHeaderCompanyIconColor: "#fff",
|
|
699
754
|
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
700
755
|
// 菜单触发器背景颜色
|
|
701
|
-
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)"
|
|
702
768
|
};
|
|
703
769
|
const midAutumnFestival = {
|
|
704
770
|
...baseLight,
|
|
@@ -754,7 +820,18 @@ const midAutumnFestival = {
|
|
|
754
820
|
topHeaderCompanyIconColor: "#fff",
|
|
755
821
|
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
756
822
|
// 菜单触发器背景颜色
|
|
757
|
-
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)"
|
|
758
835
|
};
|
|
759
836
|
const newYearsDay = {
|
|
760
837
|
...baseLight,
|
|
@@ -810,7 +887,18 @@ const newYearsDay = {
|
|
|
810
887
|
topHeaderCompanyIconColor: "#fff",
|
|
811
888
|
topHeaderCompanyBgColor: "rgba(246,248,255,.3)",
|
|
812
889
|
// 菜单触发器背景颜色
|
|
813
|
-
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)"
|
|
814
902
|
};
|
|
815
903
|
const systemTheme = {
|
|
816
904
|
whiteLight,
|
|
@@ -845,7 +933,7 @@ const useAppStore = defineStore("layout-app", {
|
|
|
845
933
|
// 折叠图标
|
|
846
934
|
search: false,
|
|
847
935
|
// 搜索图标
|
|
848
|
-
locale:
|
|
936
|
+
locale: true,
|
|
849
937
|
// 多语言图标
|
|
850
938
|
setting: true,
|
|
851
939
|
// 偏好设置
|
|
@@ -1126,9 +1214,55 @@ function buildChildPaths(router) {
|
|
|
1126
1214
|
const parentPath = router.path ? router.path.startsWith("/") ? router.path : `/${router.path}` : "";
|
|
1127
1215
|
return (router.children || []).map((child) => {
|
|
1128
1216
|
const childPath = child.path ? parentPath.endsWith("/") ? child.path.startsWith("/") ? child.path.substring(1) : child.path : child.path.startsWith("/") ? child.path : `/${child.path}` : "";
|
|
1129
|
-
|
|
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
|
+
};
|
|
1130
1242
|
});
|
|
1131
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
|
+
}
|
|
1132
1266
|
const usePermissionStore = defineStore("layout-permission", {
|
|
1133
1267
|
state: () => ({
|
|
1134
1268
|
routers: [],
|
|
@@ -1193,13 +1327,19 @@ const usePermissionStore = defineStore("layout-permission", {
|
|
|
1193
1327
|
this.leftMenuRouters = routers;
|
|
1194
1328
|
},
|
|
1195
1329
|
// 处理模块对应菜单
|
|
1196
|
-
|
|
1330
|
+
// 返回修改后的 exampleRoutes(已拼接模块路径前缀),供路由注册使用
|
|
1331
|
+
setModuleRouters(menuId, exampleRoutes = [], examplePosition = "start") {
|
|
1197
1332
|
const findRouter = findRouterBy(this.getRoleRouters, "id", menuId);
|
|
1198
1333
|
if (findRouter) {
|
|
1199
1334
|
this.moduleId = findRouter.id;
|
|
1200
1335
|
this.moduleName = findRouter.name;
|
|
1201
1336
|
this.moduleRouters = buildChildPaths(findRouter);
|
|
1337
|
+
const parentPath = findRouter.path || "";
|
|
1338
|
+
const prefixedExampleRoutes = prependPathToRoutes(exampleRoutes, parentPath);
|
|
1339
|
+
mergeExampleRoutes(findRouter, prefixedExampleRoutes, examplePosition);
|
|
1340
|
+
return prefixedExampleRoutes;
|
|
1202
1341
|
}
|
|
1342
|
+
return exampleRoutes;
|
|
1203
1343
|
},
|
|
1204
1344
|
resetState() {
|
|
1205
1345
|
this.routers = [];
|
|
@@ -1212,13 +1352,19 @@ const usePermissionStore = defineStore("layout-permission", {
|
|
|
1212
1352
|
this.roleRouters = [];
|
|
1213
1353
|
},
|
|
1214
1354
|
// 处理模块对应菜单(通过模块code)
|
|
1215
|
-
|
|
1355
|
+
// 返回修改后的 exampleRoutes(已拼接模块路径前缀),供路由注册使用
|
|
1356
|
+
setModuleRoutersByCode(moduleCode, exampleRoutes = [], examplePosition = "start") {
|
|
1216
1357
|
const findRouter = findRouterBy(this.getRoleRouters, "moduleCode", moduleCode);
|
|
1217
1358
|
if (findRouter) {
|
|
1218
1359
|
this.moduleId = findRouter.id;
|
|
1219
1360
|
this.moduleName = findRouter.name;
|
|
1220
1361
|
this.moduleRouters = buildChildPaths(findRouter);
|
|
1362
|
+
const parentPath = findRouter.path || "";
|
|
1363
|
+
const prefixedExampleRoutes = prependPathToRoutes(exampleRoutes, parentPath);
|
|
1364
|
+
mergeExampleRoutes(findRouter, prefixedExampleRoutes, examplePosition);
|
|
1365
|
+
return prefixedExampleRoutes;
|
|
1221
1366
|
}
|
|
1367
|
+
return exampleRoutes;
|
|
1222
1368
|
}
|
|
1223
1369
|
},
|
|
1224
1370
|
persist: false
|
|
@@ -8221,14 +8367,53 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8221
8367
|
};
|
|
8222
8368
|
const scrollbarRef = ref();
|
|
8223
8369
|
const scrollLeftNumber = ref(0);
|
|
8370
|
+
const showArrows = ref(false);
|
|
8371
|
+
const disabledLeftArrow = ref(false);
|
|
8372
|
+
const disabledRightArrow = ref(false);
|
|
8224
8373
|
let scrollStopFn = null;
|
|
8225
|
-
const
|
|
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 }) => {
|
|
8226
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
|
+
}
|
|
8227
8407
|
};
|
|
8228
8408
|
onBeforeMount(() => {
|
|
8229
8409
|
initTags();
|
|
8230
8410
|
addTags();
|
|
8231
8411
|
});
|
|
8412
|
+
onMounted(() => {
|
|
8413
|
+
nextTick(() => {
|
|
8414
|
+
checkArrows();
|
|
8415
|
+
});
|
|
8416
|
+
});
|
|
8232
8417
|
watch(
|
|
8233
8418
|
() => currentRoute.value,
|
|
8234
8419
|
() => {
|
|
@@ -8241,14 +8426,14 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8241
8426
|
const _component_router_link = resolveComponent("router-link");
|
|
8242
8427
|
return openBlock(), createElementBlock("div", {
|
|
8243
8428
|
id: unref(prefixCls2),
|
|
8244
|
-
class: normalizeClass([unref(prefixCls2), "relative flex"])
|
|
8429
|
+
class: normalizeClass([unref(prefixCls2), "relative flex items-center"])
|
|
8245
8430
|
}, [
|
|
8246
8431
|
createElementVNode("div", _hoisted_2$a, [
|
|
8247
8432
|
createVNode(unref(ElScrollbar), {
|
|
8248
8433
|
ref_key: "scrollbarRef",
|
|
8249
8434
|
ref: scrollbarRef,
|
|
8250
8435
|
class: "h-full",
|
|
8251
|
-
onScroll:
|
|
8436
|
+
onScroll: handleScroll
|
|
8252
8437
|
}, {
|
|
8253
8438
|
default: withCtx(() => [
|
|
8254
8439
|
createElementVNode("div", _hoisted_3$9, [
|
|
@@ -8319,7 +8504,6 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8319
8504
|
createVNode(_component_Icon, {
|
|
8320
8505
|
class: normalizeClass(`${unref(prefixCls2)}__item--close`),
|
|
8321
8506
|
size: 8,
|
|
8322
|
-
color: "#7b7e904ff",
|
|
8323
8507
|
icon: "svg-icon:tag-close",
|
|
8324
8508
|
onClick: withModifiers(($event) => closeSelectedTag(item), ["prevent", "stop"])
|
|
8325
8509
|
}, null, 8, ["class", "onClick"]),
|
|
@@ -8341,12 +8525,32 @@ const _sfc_main$t = /* @__PURE__ */ Object.assign({ name: "TagsView" }, {
|
|
|
8341
8525
|
]),
|
|
8342
8526
|
_: 1
|
|
8343
8527
|
}, 512)
|
|
8344
|
-
])
|
|
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)
|
|
8345
8549
|
], 10, _hoisted_1$c);
|
|
8346
8550
|
};
|
|
8347
8551
|
}
|
|
8348
8552
|
});
|
|
8349
|
-
const TagsView = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-
|
|
8553
|
+
const TagsView = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-3fbf2f73"]]);
|
|
8350
8554
|
const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
|
|
8351
8555
|
__name: "MenuTrigger",
|
|
8352
8556
|
props: {
|
|
@@ -8362,7 +8566,7 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
|
|
|
8362
8566
|
const prefixCls2 = getPrefixCls2("menu-trigger");
|
|
8363
8567
|
const props = __props;
|
|
8364
8568
|
const theme = computed(() => appStore.getTheme);
|
|
8365
|
-
const triggerIcon = computed(() => props.active ? "
|
|
8569
|
+
const triggerIcon = computed(() => props.active ? "svg-icon:close-square" : theme.value === "whiteLight" ? "svg-icon:menu-trigger-filled" : "svg-icon:menu-trigger");
|
|
8366
8570
|
const emit = __emit;
|
|
8367
8571
|
const handleClick = () => {
|
|
8368
8572
|
emit("click");
|
|
@@ -8376,14 +8580,14 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({ name: "MenuTrigger" }, {
|
|
|
8376
8580
|
}, [
|
|
8377
8581
|
createVNode(_component_Icon, {
|
|
8378
8582
|
icon: unref(triggerIcon),
|
|
8379
|
-
|
|
8380
|
-
|
|
8583
|
+
class: normalizeClass(["icon-color"]),
|
|
8584
|
+
size: 18
|
|
8381
8585
|
}, null, 8, ["icon"])
|
|
8382
8586
|
], 2);
|
|
8383
8587
|
};
|
|
8384
8588
|
}
|
|
8385
8589
|
});
|
|
8386
|
-
const MenuTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-
|
|
8590
|
+
const MenuTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-df837f35"]]);
|
|
8387
8591
|
const _hoisted_1$b = { class: "sidebar-inner" };
|
|
8388
8592
|
const _hoisted_2$9 = ["onClick"];
|
|
8389
8593
|
const _hoisted_3$8 = ["onClick"];
|
|
@@ -8429,6 +8633,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8429
8633
|
}, 300);
|
|
8430
8634
|
}
|
|
8431
8635
|
});
|
|
8636
|
+
const expandedCardIndex = ref(null);
|
|
8432
8637
|
const activeProductIndex = ref(0);
|
|
8433
8638
|
const activeModuleIndex = ref(0);
|
|
8434
8639
|
const routers = computed(() => permissionStore.getRoleRouters);
|
|
@@ -8504,9 +8709,10 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8504
8709
|
return paths.filter(Boolean).reduce((result, path) => {
|
|
8505
8710
|
if (!result)
|
|
8506
8711
|
return path;
|
|
8712
|
+
if (path.startsWith("/"))
|
|
8713
|
+
return path;
|
|
8507
8714
|
const normalizedBase = result.endsWith("/") ? result.slice(0, -1) : result;
|
|
8508
|
-
|
|
8509
|
-
return `${normalizedBase}/${normalizedPath}`;
|
|
8715
|
+
return `${normalizedBase}/${path}`;
|
|
8510
8716
|
}, "");
|
|
8511
8717
|
};
|
|
8512
8718
|
const getAccessiblePath = (item, parentPath = "") => {
|
|
@@ -8528,18 +8734,21 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8528
8734
|
activeModuleIndex.value = 0;
|
|
8529
8735
|
};
|
|
8530
8736
|
const handleSelect = (item, parentPath = "") => {
|
|
8531
|
-
var _a2, _b, _c;
|
|
8737
|
+
var _a2, _b, _c, _d;
|
|
8532
8738
|
const fullPath = getAccessiblePath(item, parentPath);
|
|
8533
8739
|
if (fullPath) {
|
|
8740
|
+
const normalizedPath = fullPath.startsWith("/") ? fullPath : `/${fullPath}`;
|
|
8534
8741
|
const currentModuleId = permissionStore.getModuleId;
|
|
8535
8742
|
const selectedModuleId = (_b = (_a2 = productList.value[activeProductIndex.value]) == null ? void 0 : _a2.children[activeModuleIndex.value]) == null ? void 0 : _b.id;
|
|
8536
8743
|
if (selectedModuleId === currentModuleId) {
|
|
8537
|
-
router.push(
|
|
8744
|
+
router.push(normalizedPath);
|
|
8538
8745
|
} else {
|
|
8539
8746
|
const currentOrigin = window.location.origin;
|
|
8540
|
-
const
|
|
8541
|
-
const
|
|
8542
|
-
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}`}`;
|
|
8543
8752
|
window.location.href = targetUrl;
|
|
8544
8753
|
}
|
|
8545
8754
|
closePanel();
|
|
@@ -8596,6 +8805,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8596
8805
|
activeProductIndex.value = 0;
|
|
8597
8806
|
activeModuleIndex.value = 0;
|
|
8598
8807
|
}
|
|
8808
|
+
expandedCardIndex.value = activeProductIndex.value;
|
|
8599
8809
|
nextTick(() => {
|
|
8600
8810
|
var _a2;
|
|
8601
8811
|
(_a2 = searchInputRef.value) == null ? void 0 : _a2.focus();
|
|
@@ -8624,7 +8834,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8624
8834
|
__props.visible ? (openBlock(), createElementBlock("div", {
|
|
8625
8835
|
key: 0,
|
|
8626
8836
|
class: normalizeClass([unref(prefixCls2)]),
|
|
8627
|
-
onClick: _cache[
|
|
8837
|
+
onClick: _cache[2] || (_cache[2] = withModifiers(() => {
|
|
8628
8838
|
}, ["stop"]))
|
|
8629
8839
|
}, [
|
|
8630
8840
|
createElementVNode("div", {
|
|
@@ -8646,18 +8856,37 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8646
8856
|
key: product.id || pIndex,
|
|
8647
8857
|
class: normalizeClass([
|
|
8648
8858
|
unref(prefixCls2) + "__product-card",
|
|
8649
|
-
{ "is-active": activeProductIndex.value === pIndex }
|
|
8859
|
+
{ "is-active": activeProductIndex.value === pIndex },
|
|
8860
|
+
{ "is-expanded": expandedCardIndex.value === pIndex }
|
|
8650
8861
|
]),
|
|
8651
|
-
onClick: ($event) =>
|
|
8862
|
+
onClick: ($event) => {
|
|
8863
|
+
handleProductSelect(pIndex);
|
|
8864
|
+
expandedCardIndex.value = expandedCardIndex.value === pIndex ? null : pIndex;
|
|
8865
|
+
}
|
|
8652
8866
|
}, [
|
|
8653
8867
|
createElementVNode("div", {
|
|
8654
8868
|
class: normalizeClass([unref(prefixCls2) + "__product-name"])
|
|
8655
8869
|
}, [
|
|
8656
|
-
|
|
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)
|
|
8657
8884
|
], 2),
|
|
8658
|
-
product.children.length > 0 ? (openBlock(), createElementBlock("div", {
|
|
8885
|
+
product.children.length > 0 && expandedCardIndex.value === pIndex ? (openBlock(), createElementBlock("div", {
|
|
8659
8886
|
key: 0,
|
|
8660
|
-
class: normalizeClass([unref(prefixCls2) + "__product-modules"])
|
|
8887
|
+
class: normalizeClass([unref(prefixCls2) + "__product-modules"]),
|
|
8888
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(() => {
|
|
8889
|
+
}, ["stop"]))
|
|
8661
8890
|
}, [
|
|
8662
8891
|
(openBlock(true), createElementBlock(Fragment, null, renderList(product.children, (mod, mIndex) => {
|
|
8663
8892
|
return openBlock(), createElementBlock("span", {
|
|
@@ -8689,7 +8918,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8689
8918
|
ref_key: "searchInputRef",
|
|
8690
8919
|
ref: searchInputRef,
|
|
8691
8920
|
modelValue: searchKeyword.value,
|
|
8692
|
-
"onUpdate:modelValue": _cache[
|
|
8921
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => searchKeyword.value = $event),
|
|
8693
8922
|
placeholder: unref(t2)("layout.common.searchMenu"),
|
|
8694
8923
|
clearable: "",
|
|
8695
8924
|
size: "default"
|
|
@@ -8775,7 +9004,7 @@ const _sfc_main$r = /* @__PURE__ */ Object.assign({ name: "ProductServicePanel"
|
|
|
8775
9004
|
};
|
|
8776
9005
|
}
|
|
8777
9006
|
});
|
|
8778
|
-
const ProductServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-
|
|
9007
|
+
const ProductServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-f9a0a896"]]);
|
|
8779
9008
|
const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
|
|
8780
9009
|
__name: "Logo",
|
|
8781
9010
|
emits: ["logo-click"],
|
|
@@ -8831,7 +9060,7 @@ const _sfc_main$q = /* @__PURE__ */ Object.assign({ name: "Logo" }, {
|
|
|
8831
9060
|
};
|
|
8832
9061
|
}
|
|
8833
9062
|
});
|
|
8834
|
-
const _hoisted_1$a = { class: "w-full min-w-1000px" };
|
|
9063
|
+
const _hoisted_1$a = { class: "w-full min-w-1000px h-full" };
|
|
8835
9064
|
const _sfc_main$p = /* @__PURE__ */ Object.assign({ name: "AppView" }, {
|
|
8836
9065
|
__name: "AppView",
|
|
8837
9066
|
setup(__props) {
|
|
@@ -8943,10 +9172,10 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ name: "Message" }, {
|
|
|
8943
9172
|
const Message = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-fdaeb8e4"]]);
|
|
8944
9173
|
const avatarImg = "data:image/gif;base64,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";
|
|
8945
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)]" };
|
|
8946
|
-
const _hoisted_2$8 = { class: "pl-6px text-12px <lg:hidden" };
|
|
9175
|
+
const _hoisted_2$8 = { class: "pl-6px text-12px <lg:hidden truncate max-w-120px" };
|
|
8947
9176
|
const _hoisted_3$7 = { class: "ml-6px" };
|
|
8948
|
-
const _hoisted_4$6 = { class: "flex items-center text-[var(--top-header-text-color)] hover:text-[var(--top-header-hover-color)]
|
|
8949
|
-
const _hoisted_5$5 = { class: "pl-5px text-12px <lg:hidden" };
|
|
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" };
|
|
8950
9179
|
const _hoisted_6$4 = { class: "ml-6px" };
|
|
8951
9180
|
const _hoisted_7$2 = { class: "flex items-center text-#e0e0e0" };
|
|
8952
9181
|
const _hoisted_8$1 = { class: "flex flex-col gap-3px pl-5px text-12px <lg:hidden" };
|
|
@@ -9146,7 +9375,7 @@ const _sfc_main$n = /* @__PURE__ */ Object.assign({ name: "UserInfo" }, {
|
|
|
9146
9375
|
};
|
|
9147
9376
|
}
|
|
9148
9377
|
});
|
|
9149
|
-
const UserInfo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-
|
|
9378
|
+
const UserInfo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-d68b68d5"]]);
|
|
9150
9379
|
const filterBreadcrumb = (routes, parentPath = "") => {
|
|
9151
9380
|
var _a2;
|
|
9152
9381
|
const res = [];
|
|
@@ -9602,10 +9831,189 @@ var English = {
|
|
|
9602
9831
|
}
|
|
9603
9832
|
}
|
|
9604
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
|
+
};
|
|
9605
10012
|
const { wsCache } = useCache();
|
|
9606
10013
|
const elLocaleMap = {
|
|
9607
10014
|
"zh-CN": zhCn,
|
|
9608
|
-
en: English
|
|
10015
|
+
en: English,
|
|
10016
|
+
"zh-TW": zhTw
|
|
9609
10017
|
};
|
|
9610
10018
|
const useLocaleStore = defineStore("layout-locales", {
|
|
9611
10019
|
state: () => {
|
|
@@ -9620,6 +10028,10 @@ const useLocaleStore = defineStore("layout-locales", {
|
|
|
9620
10028
|
lang: "zh-CN",
|
|
9621
10029
|
name: "简体中文"
|
|
9622
10030
|
},
|
|
10031
|
+
{
|
|
10032
|
+
lang: "zh-TW",
|
|
10033
|
+
name: "繁體中文"
|
|
10034
|
+
},
|
|
9623
10035
|
{
|
|
9624
10036
|
lang: "en",
|
|
9625
10037
|
name: "English"
|
|
@@ -9675,7 +10087,7 @@ const setI18nLanguage = (locale) => {
|
|
|
9675
10087
|
const useLocale = () => {
|
|
9676
10088
|
const changeLocale = async (locale) => {
|
|
9677
10089
|
const globalI18n = i18n.global;
|
|
9678
|
-
const langModule = await __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../locales/en.js": () => import("./en-BLMsUBCM.mjs"), "../../locales/zh-CN.js": () => import("./zh-CN-i4M-o5m6.mjs") }), `../../locales/${locale}.js`);
|
|
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`);
|
|
9679
10091
|
globalI18n.setLocaleMessage(locale, langModule.default);
|
|
9680
10092
|
setI18nLanguage(locale);
|
|
9681
10093
|
};
|
|
@@ -9683,7 +10095,7 @@ const useLocale = () => {
|
|
|
9683
10095
|
changeLocale
|
|
9684
10096
|
};
|
|
9685
10097
|
};
|
|
9686
|
-
const _sfc_main$l = /* @__PURE__ */ Object.assign({ name: "LocaleDropdown" }, {
|
|
10098
|
+
const _sfc_main$l = /* @__PURE__ */ Object.assign({ name: "LocaleDropdown", inheritAttrs: false }, {
|
|
9687
10099
|
__name: "LocaleDropdown",
|
|
9688
10100
|
props: {
|
|
9689
10101
|
color: {
|
|
@@ -9733,12 +10145,16 @@ const _sfc_main$l = /* @__PURE__ */ Object.assign({ name: "LocaleDropdown" }, {
|
|
|
9733
10145
|
})
|
|
9734
10146
|
]),
|
|
9735
10147
|
default: withCtx(() => [
|
|
9736
|
-
|
|
9737
|
-
class: normalizeClass(
|
|
9738
|
-
|
|
9739
|
-
|
|
9740
|
-
|
|
9741
|
-
|
|
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)
|
|
9742
10158
|
]),
|
|
9743
10159
|
_: 1
|
|
9744
10160
|
}, 8, ["class"]);
|
|
@@ -10256,7 +10672,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
10256
10672
|
"color": iconColor.value,
|
|
10257
10673
|
"onClearCacheLogoutClick": props.onClearCacheLogoutClick
|
|
10258
10674
|
}, null) : void 0, locale.value ? createVNode(_sfc_main$l, {
|
|
10259
|
-
"class": "custom-hover",
|
|
10675
|
+
"class": "custom-hover cursor-pointer",
|
|
10260
10676
|
"color": "var(--top-header-text-color)"
|
|
10261
10677
|
}, null) : void 0, createVNode("div", {
|
|
10262
10678
|
"class": `h-12px mx-10px`,
|
|
@@ -10274,13 +10690,19 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
10274
10690
|
};
|
|
10275
10691
|
}
|
|
10276
10692
|
});
|
|
10277
|
-
const ToolHeader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-
|
|
10693
|
+
const ToolHeader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-caca6e2e"]]);
|
|
10278
10694
|
const {
|
|
10279
10695
|
getPrefixCls: getPrefixCls$1
|
|
10280
10696
|
} = useDesign();
|
|
10281
10697
|
const prefixCls$1 = getPrefixCls$1("layout");
|
|
10282
10698
|
const scrollRef = ref();
|
|
10283
|
-
const useRenderLayout = (
|
|
10699
|
+
const useRenderLayout = (props, {
|
|
10700
|
+
onLogoClick,
|
|
10701
|
+
onMessageClick,
|
|
10702
|
+
onLogoutClick,
|
|
10703
|
+
onClearCacheLogoutClick,
|
|
10704
|
+
onSwitchCompanyClick
|
|
10705
|
+
}) => {
|
|
10284
10706
|
const appStore = useAppStore();
|
|
10285
10707
|
const permissionStore = usePermissionStore();
|
|
10286
10708
|
const pageLoading = computed(() => appStore.getPageLoading);
|
|
@@ -10378,27 +10800,28 @@ const useRenderLayout = (onLogoClick, onMessageClick, onLogoutClick, onClearCach
|
|
|
10378
10800
|
};
|
|
10379
10801
|
const renderTop = () => {
|
|
10380
10802
|
return createVNode(Fragment, null, [createVNode("div", {
|
|
10381
|
-
"class": ["relative flex items-center justify-between bg-[linear-gradient(var(--top-header-bg-color))] shadow-[0px_2px_6px_0px_rgba(197,206,225,0.35)] z-100", {
|
|
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", {
|
|
10382
10804
|
"layout-border__bottom": !tagsView.value
|
|
10383
10805
|
}, festivalTopClass.value]
|
|
10384
10806
|
}, [logo.value ? createVNode(_sfc_main$q, {
|
|
10385
|
-
"class": ["w-[var(--left-menu-max-width)]"],
|
|
10807
|
+
"class": ["shrink-0 w-[var(--left-menu-max-width)]"],
|
|
10386
10808
|
"onLogoClick": onLogoClick
|
|
10387
10809
|
}, null) : void 0, tagsView.value && createVNode(TagsView, {
|
|
10388
|
-
"class": ["layout-border__bottom flex-1"]
|
|
10810
|
+
"class": ["layout-border__bottom flex-1 min-w-0"]
|
|
10389
10811
|
}, null), createVNode(ToolHeader, {
|
|
10812
|
+
"class": "shrink-0 pl-20px",
|
|
10390
10813
|
"onMessageClick": onMessageClick,
|
|
10391
10814
|
"onLogoutClick": onLogoutClick,
|
|
10392
10815
|
"onClearCacheLogoutClick": onClearCacheLogoutClick,
|
|
10393
10816
|
"onSwitchCompanyClick": onSwitchCompanyClick
|
|
10394
10817
|
}, null)]), createVNode("div", {
|
|
10395
10818
|
"class": [`${prefixCls$1}-content`, "w-full h-[calc(100%-var(--top-tool-height))]"]
|
|
10396
|
-
}, [withDirectives(createVNode(ElScrollbar, {
|
|
10819
|
+
}, [props.scroll ? withDirectives(createVNode(ElScrollbar, {
|
|
10397
10820
|
"class": [`${prefixCls$1}-content-scrollbar`],
|
|
10398
10821
|
"ref": scrollRef
|
|
10399
10822
|
}, {
|
|
10400
10823
|
default: () => [createVNode(_sfc_main$p, null, null)]
|
|
10401
|
-
}), [[resolveDirective("loading"), pageLoading.value]])])]);
|
|
10824
|
+
}), [[resolveDirective("loading"), pageLoading.value]]) : createVNode(_sfc_main$p, null, null)])]);
|
|
10402
10825
|
};
|
|
10403
10826
|
const renderTopLeft = () => {
|
|
10404
10827
|
return createVNode(Fragment, null, [createVNode("div", {
|
|
@@ -10463,13 +10886,25 @@ const {
|
|
|
10463
10886
|
} = useDesign();
|
|
10464
10887
|
const prefixCls = getPrefixCls("layout");
|
|
10465
10888
|
const layoutScrollRef = ref();
|
|
10466
|
-
const renderLayout = (layout,
|
|
10889
|
+
const renderLayout = (layout, props, {
|
|
10890
|
+
handleLogoClick,
|
|
10891
|
+
handleMessageClick,
|
|
10892
|
+
handleLogoutClick,
|
|
10893
|
+
handleClearCacheLogoutClick,
|
|
10894
|
+
handleSwitchCompanyClick
|
|
10895
|
+
}) => {
|
|
10467
10896
|
const {
|
|
10468
10897
|
renderLeft,
|
|
10469
10898
|
renderTop,
|
|
10470
10899
|
renderTopLeft,
|
|
10471
10900
|
scrollRef: scrollRef2
|
|
10472
|
-
} = useRenderLayout(
|
|
10901
|
+
} = useRenderLayout(props, {
|
|
10902
|
+
onLogoClick: handleLogoClick,
|
|
10903
|
+
onMessageClick: handleMessageClick,
|
|
10904
|
+
onLogoutClick: handleLogoutClick,
|
|
10905
|
+
onClearCacheLogoutClick: handleClearCacheLogoutClick,
|
|
10906
|
+
onSwitchCompanyClick: handleSwitchCompanyClick
|
|
10907
|
+
});
|
|
10473
10908
|
layoutScrollRef.value = scrollRef2.value;
|
|
10474
10909
|
switch (unref(layout)) {
|
|
10475
10910
|
case "left":
|
|
@@ -10482,6 +10917,12 @@ const renderLayout = (layout, onLogoClick, onMessageClick, onLogoutClick, onClea
|
|
|
10482
10917
|
};
|
|
10483
10918
|
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
10484
10919
|
name: "Layout",
|
|
10920
|
+
props: {
|
|
10921
|
+
scroll: {
|
|
10922
|
+
type: Boolean,
|
|
10923
|
+
default: true
|
|
10924
|
+
}
|
|
10925
|
+
},
|
|
10485
10926
|
emits: ["logo-click", "message-click", "logout-click", "clear-cache-logout-click", "switch-company-click"],
|
|
10486
10927
|
setup(props, {
|
|
10487
10928
|
emit
|
|
@@ -10507,10 +10948,16 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
10507
10948
|
};
|
|
10508
10949
|
return () => createVNode("section", {
|
|
10509
10950
|
"class": [prefixCls, `${prefixCls}__${layout.value}`, "w-[100%] h-[100%] relative", `${prefixCls}__${theme.value}`]
|
|
10510
|
-
}, [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)]);
|
|
10511
10958
|
}
|
|
10512
10959
|
});
|
|
10513
|
-
const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-
|
|
10960
|
+
const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-0945fd78"]]);
|
|
10514
10961
|
const _sfc_main$d = {
|
|
10515
10962
|
__name: "ConfigGlobal",
|
|
10516
10963
|
props: {
|
|
@@ -10582,6 +11029,22 @@ const _sfc_main$c = /* @__PURE__ */ Object.assign({ name: "PageCard" }, {
|
|
|
10582
11029
|
padding: "16px"
|
|
10583
11030
|
};
|
|
10584
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
|
|
10585
11048
|
}
|
|
10586
11049
|
},
|
|
10587
11050
|
setup(__props) {
|
|
@@ -10591,17 +11054,27 @@ const _sfc_main$c = /* @__PURE__ */ Object.assign({ name: "PageCard" }, {
|
|
|
10591
11054
|
return openBlock(), createBlock(unref(ElCard), {
|
|
10592
11055
|
"body-style": __props.bodyStyle,
|
|
10593
11056
|
header: __props.title,
|
|
10594
|
-
class: normalizeClass([unref(prefixCls2), "mx-16px my-16px"])
|
|
11057
|
+
class: normalizeClass([unref(prefixCls2), __props.customClass, "mx-16px my-16px"])
|
|
10595
11058
|
}, {
|
|
10596
11059
|
default: withCtx(() => [
|
|
10597
|
-
|
|
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)
|
|
10598
11071
|
]),
|
|
10599
11072
|
_: 3
|
|
10600
11073
|
}, 8, ["body-style", "header", "class"]);
|
|
10601
11074
|
};
|
|
10602
11075
|
}
|
|
10603
11076
|
});
|
|
10604
|
-
const PageCard = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-
|
|
11077
|
+
const PageCard = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-8351baee"]]);
|
|
10605
11078
|
const _hoisted_1$5 = { class: "ml-2px" };
|
|
10606
11079
|
const _hoisted_2$5 = { class: "flex items-center" };
|
|
10607
11080
|
const _sfc_main$b = /* @__PURE__ */ Object.assign({ name: "PageNavBar" }, {
|
|
@@ -12687,6 +13160,8 @@ export {
|
|
|
12687
13160
|
useAppStore as BmpUseAppStore,
|
|
12688
13161
|
useAppStoreWithOut as BmpUseAppStoreWithOut,
|
|
12689
13162
|
useLayout as BmpUseLayout,
|
|
13163
|
+
useLocaleStore as BmpUseLocaleStore,
|
|
13164
|
+
useLocaleStoreWithOut as BmpUseLocaleStoreWithOut,
|
|
12690
13165
|
usePermissionStore as BmpUsePermissionStore,
|
|
12691
13166
|
usePermissionStoreWithOut as BmpUsePermissionStoreWithOut,
|
|
12692
13167
|
useTagsViewStore as BmpUseTagsViewStore,
|