@dt-frames/ui 1.0.31 → 1.0.33
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/es/assets/locales/en.json +96 -1
- package/es/assets/locales/zh.json +97 -1
- package/es/components/curd/src/components/dialog.d.ts +24 -1
- package/es/components/forms/src/components/formButton.d.ts +8 -0
- package/es/components/forms/src/components/formIcon.d.ts +40 -0
- package/es/components/forms/src/components/formInputUseDialog.d.ts +8 -0
- package/es/components/forms/src/const/form.const.d.ts +2 -2
- package/es/components/forms/src/hooks/helper.d.ts +1 -1
- package/es/components/forms/src/types/form.type.d.ts +2 -0
- package/es/components/icons/src/pick-icon.d.ts +8 -0
- package/es/components/index.d.ts +1 -2
- package/es/components/modal/src/components/close-icon.d.ts +8 -0
- package/es/components/modal/src/components/modalFooter.d.ts +16 -0
- package/es/components/modal/src/index.d.ts +24 -0
- package/es/components/table/src/components/TableActions.d.ts +1 -1
- package/es/components/table/src/components/setting/Column.d.ts +8 -0
- package/es/components/table/src/components/setting/Download.d.ts +41 -1
- package/es/components/table/src/components/setting/DownloadCtrl.d.ts +32 -0
- package/es/components/table/src/components/setting/Fullscreen.d.ts +8 -0
- package/es/components/table/src/index.d.ts +10 -10
- package/es/components/upload/src/helper.d.ts +2 -2
- package/es/components/upload/src/props.d.ts +1 -1
- package/es/components/upload/src/upload.d.ts +14 -6
- package/es/index.js +370 -1033
- package/es/style/assets/style/index.less +10 -0
- package/es/style/assets/style/reset.less +17 -0
- package/es/style/components/container/index.less +85 -0
- package/es/style/components/forms/index.less +107 -0
- package/es/style/components/icons/index.less +108 -0
- package/es/style/components/iframe/index.less +3 -0
- package/es/style/components/iframe/src/index.less +3 -0
- package/es/style/components/modal/index.less +60 -0
- package/es/style/components/table/index.less +217 -0
- package/es/style/components/tree/index.less +53 -0
- package/es/style/theme/footer/index.less +16 -0
- package/es/style/theme/header/index.less +451 -0
- package/es/style/theme/header/set-theme.less +68 -0
- package/es/style/theme/sider/index.less +212 -0
- package/es/style/theme/tabs/index.less +165 -0
- package/es/style/theme/theme.less +73 -0
- package/es/style/theme/transition.less +105 -0
- package/es/theme/content/index.d.ts +44 -0
- package/es/theme/header/components/bread-crumb.d.ts +1 -0
- package/es/theme/header/components/logo.d.ts +8 -0
- package/es/theme/header/components/setting-theme.d.ts +2604 -0
- package/es/theme/header/components/size.d.ts +8 -0
- package/es/theme/header/components/theme-drawer/feature.d.ts +22 -5
- package/es/theme/header/components/theme-drawer/switch-item.d.ts +8 -0
- package/es/theme/header/components/user-info.d.ts +8318 -0
- package/es/theme/sider/components/basic-menu/basic-menu.d.ts +1 -1
- package/es/theme/tabs/components/TabContent.d.ts +1 -1
- package/es/theme/tabs/components/TabRedo.d.ts +64 -0
- package/es/theme/tabs/index.d.ts +1429 -0
- package/package.json +1 -1
- package/es/assets/locales/en_US.json +0 -3
- package/es/assets/locales/zh_CN.json +0 -3
- package/es/components/table/src/components/setting/Size.d.ts +0 -1147
- package/es/theme/header/components/theme-drawer/enum.d.ts +0 -5
package/es/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, resolveComponent, openBlock, createBlock, computed, unref, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, ref, watch, Fragment, renderList, createTextVNode, toDisplayString, KeepAlive, createVNode, withCtx, reactive, toRaw, getCurrentInstance, watchEffect, nextTick, toRefs, isVNode, inject, onUnmounted, h, provide, onMounted, onBeforeUnmount, resolveDynamicComponent, renderSlot, createCommentVNode, mergeProps, readonly, isRef, useAttrs as useAttrs$1, normalizeProps, guardReactiveProps, withDirectives, resolveDirective, render, withKeys, createSlots, useSlots as useSlots$1, withModifiers, vShow, toRef, Transition } from "vue";
|
|
2
|
-
import { isString, isArray as isArray$1, isObject, isFunction, error, useTimeoutFn, useAttrs, useSlots, dispatchResize, BAR_MAP, off, renderThumbStyle, on, useAppStore, addResizeListener, removeResizeListener, windowResizeFn, isNumber, useApp, isBoolean, isNull, DtCache, CacheKey, deepMerge,
|
|
3
|
-
import { InputSearch, Tooltip, Modal as Modal$1, RadioGroup, RadioButton, InputGroup, Input, Button, Select, TreeSelect, Radio, Checkbox, AutoComplete, Cascader, DatePicker, InputNumber, Switch, TimePicker, Slider, Rate, Divider, Col, Form, FormItem, Row, Popover, Spin, Dropdown, Menu, MenuItem, CheckboxGroup, Table,
|
|
2
|
+
import { isString, isArray as isArray$1, isObject, isFunction, useI18n, error, useTimeoutFn, useAttrs, useSlots, dispatchResize, BAR_MAP, off, renderThumbStyle, on, useAppStore, addResizeListener, removeResizeListener, windowResizeFn, useHeader, isNumber, useApp, isBoolean, isNull, DtCache, CacheKey, deepMerge, http, getDynamicProps, getDictValueByCode, formatNumber, isVnode, getPopupContainer, isNullAndUnDef, useMessage, isEmpty, useTheme, useMenu, useGo, Pages, localeList, changeLocale, Theme, MenuMode, MenuType, useThemeStore, ContentMode, useMultipleTab, copyText, MenuSplitTye, isUrl, openWindow, RouteReuseStore, menuList2Map } from "@dt-frames/core";
|
|
3
|
+
import { InputSearch, Tooltip, Modal as Modal$1, RadioGroup, RadioButton, InputGroup, Input, Button, Select, TreeSelect, Radio, Checkbox, AutoComplete, Cascader, DatePicker, InputNumber, Switch, TimePicker, Slider, Rate, Divider, Col, Form, FormItem, Row, Popover, Spin, Dropdown, Menu, MenuItem, CheckboxGroup, Table, MenuDivider, Tree, Empty, BackTop, Breadcrumb, Avatar, Drawer, SubMenu, LayoutHeader, LayoutSider, Tabs, TabPane, LayoutFooter, LayoutContent, ConfigProvider, Layout } from "ant-design-vue";
|
|
4
4
|
import { isEqual, omit, cloneDeep, upperFirst, set, uniqBy, difference, get, trim } from "lodash-es";
|
|
5
5
|
import { tryOnUnmounted, isFunction as isFunction$1, useDebounceFn, useFullscreen, useThrottleFn } from "@vueuse/core";
|
|
6
6
|
import dayjs from "dayjs";
|
|
@@ -15,15 +15,15 @@ var _export_sfc = (sfc, props) => {
|
|
|
15
15
|
}
|
|
16
16
|
return target;
|
|
17
17
|
};
|
|
18
|
-
const _sfc_main$
|
|
18
|
+
const _sfc_main$Y = defineComponent({
|
|
19
19
|
name: "dt-base-router"
|
|
20
20
|
});
|
|
21
21
|
function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
22
22
|
const _component_router_view = resolveComponent("router-view");
|
|
23
23
|
return openBlock(), createBlock(_component_router_view);
|
|
24
24
|
}
|
|
25
|
-
var DtBaseRouter = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
26
|
-
const _sfc_main$
|
|
25
|
+
var DtBaseRouter = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$8]]);
|
|
26
|
+
const _sfc_main$X = defineComponent({
|
|
27
27
|
props: {
|
|
28
28
|
iconClass: {
|
|
29
29
|
type: String,
|
|
@@ -91,7 +91,7 @@ const _sfc_main$Y = defineComponent({
|
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
93
|
});
|
|
94
|
-
const _hoisted_1$
|
|
94
|
+
const _hoisted_1$u = ["xlink:href", "fill"];
|
|
95
95
|
function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
|
|
96
96
|
return _ctx.isSvgIcon ? (openBlock(), createElementBlock("svg", {
|
|
97
97
|
key: 0,
|
|
@@ -106,7 +106,7 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
106
106
|
createElementVNode("use", {
|
|
107
107
|
"xlink:href": _ctx.iconName,
|
|
108
108
|
fill: _ctx.color
|
|
109
|
-
}, null, 8, _hoisted_1$
|
|
109
|
+
}, null, 8, _hoisted_1$u)
|
|
110
110
|
], 6)) : (openBlock(), createElementBlock("i", {
|
|
111
111
|
key: 1,
|
|
112
112
|
class: normalizeClass(["dt-icon i", [_ctx.iconName, _ctx.clsName]]),
|
|
@@ -116,7 +116,7 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
116
116
|
})
|
|
117
117
|
}, null, 6));
|
|
118
118
|
}
|
|
119
|
-
var DtIcon = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
119
|
+
var DtIcon = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$7]]);
|
|
120
120
|
const Actions = [
|
|
121
121
|
"ic:baseline-save",
|
|
122
122
|
"ic:baseline-save-all",
|
|
@@ -1027,7 +1027,7 @@ const Edit = [
|
|
|
1027
1027
|
"mdi:view-sequential",
|
|
1028
1028
|
"mdi:view-split-vertical"
|
|
1029
1029
|
];
|
|
1030
|
-
const File
|
|
1030
|
+
const File = [
|
|
1031
1031
|
"ic:baseline-approval",
|
|
1032
1032
|
"ic:baseline-attach-email",
|
|
1033
1033
|
"ic:baseline-cloud",
|
|
@@ -1848,7 +1848,7 @@ const Icons = [
|
|
|
1848
1848
|
},
|
|
1849
1849
|
{
|
|
1850
1850
|
type: "\u6587\u4EF6",
|
|
1851
|
-
children: File
|
|
1851
|
+
children: File
|
|
1852
1852
|
},
|
|
1853
1853
|
{
|
|
1854
1854
|
type: "\u6570\u5B66",
|
|
@@ -1875,12 +1875,13 @@ const Icons = [
|
|
|
1875
1875
|
children: Other
|
|
1876
1876
|
}
|
|
1877
1877
|
];
|
|
1878
|
-
const _hoisted_1$
|
|
1879
|
-
const _hoisted_2$
|
|
1880
|
-
const _sfc_main$
|
|
1878
|
+
const _hoisted_1$t = ["onClick"];
|
|
1879
|
+
const _hoisted_2$g = ["onClick"];
|
|
1880
|
+
const _sfc_main$W = /* @__PURE__ */ defineComponent({
|
|
1881
1881
|
__name: "pick-icon",
|
|
1882
1882
|
emits: ["chooseIcon"],
|
|
1883
1883
|
setup(__props, { emit: emits }) {
|
|
1884
|
+
const { t } = useI18n("UI");
|
|
1884
1885
|
const clsPrefix = "dt-pick-icon";
|
|
1885
1886
|
const activeIndex = ref(1);
|
|
1886
1887
|
const filter2 = ref(null);
|
|
@@ -1934,17 +1935,17 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
|
|
|
1934
1935
|
createElementVNode("div", {
|
|
1935
1936
|
class: normalizeClass(`${clsPrefix}__menus`)
|
|
1936
1937
|
}, [
|
|
1937
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(iconMenus), (menu,
|
|
1938
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(iconMenus), (menu, index2) => {
|
|
1938
1939
|
return openBlock(), createElementBlock("div", {
|
|
1939
1940
|
key: menu.type,
|
|
1940
|
-
class: normalizeClass(["menu", { "active": activeIndex.value ===
|
|
1941
|
-
onClick: ($event) => activeIndex.value =
|
|
1941
|
+
class: normalizeClass(["menu", { "active": activeIndex.value === index2 }]),
|
|
1942
|
+
onClick: ($event) => activeIndex.value = index2
|
|
1942
1943
|
}, [
|
|
1943
1944
|
createElementVNode("p", null, [
|
|
1944
1945
|
createTextVNode(toDisplayString(menu.type), 1),
|
|
1945
1946
|
createElementVNode("span", null, "(" + toDisplayString(menu.total) + ")", 1)
|
|
1946
1947
|
])
|
|
1947
|
-
], 10, _hoisted_1$
|
|
1948
|
+
], 10, _hoisted_1$t);
|
|
1948
1949
|
}), 128))
|
|
1949
1950
|
], 2),
|
|
1950
1951
|
createElementVNode("div", {
|
|
@@ -1958,9 +1959,9 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
|
|
|
1958
1959
|
value: filter2.value,
|
|
1959
1960
|
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => filter2.value = $event),
|
|
1960
1961
|
"enter-button": "",
|
|
1961
|
-
placeholder: "
|
|
1962
|
+
placeholder: unref(t)("INPUT_FILTER"),
|
|
1962
1963
|
onSearch: onFilter
|
|
1963
|
-
}, null, 8, ["value"]),
|
|
1964
|
+
}, null, 8, ["value", "placeholder"]),
|
|
1964
1965
|
(openBlock(true), createElementBlock(Fragment, null, renderList(currentIcons.value, (icon) => {
|
|
1965
1966
|
return openBlock(), createElementBlock("a", {
|
|
1966
1967
|
key: icon,
|
|
@@ -1981,7 +1982,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
|
|
|
1981
1982
|
]),
|
|
1982
1983
|
_: 2
|
|
1983
1984
|
}, 1024)
|
|
1984
|
-
], 10, _hoisted_2$
|
|
1985
|
+
], 10, _hoisted_2$g);
|
|
1985
1986
|
}), 128))
|
|
1986
1987
|
], 2)
|
|
1987
1988
|
], 1024))
|
|
@@ -2378,8 +2379,8 @@ var Bar = defineComponent({
|
|
|
2378
2379
|
}));
|
|
2379
2380
|
}
|
|
2380
2381
|
});
|
|
2381
|
-
const _hoisted_1$
|
|
2382
|
-
const _sfc_main$
|
|
2382
|
+
const _hoisted_1$s = { class: "scrollbar" };
|
|
2383
|
+
const _sfc_main$V = /* @__PURE__ */ defineComponent({
|
|
2383
2384
|
__name: "scroll-bar",
|
|
2384
2385
|
props: {
|
|
2385
2386
|
wrapClass: {
|
|
@@ -2456,7 +2457,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
|
|
|
2456
2457
|
}
|
|
2457
2458
|
});
|
|
2458
2459
|
return (_ctx, _cache) => {
|
|
2459
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
2460
|
+
return openBlock(), createElementBlock("div", _hoisted_1$s, [
|
|
2460
2461
|
createElementVNode("div", {
|
|
2461
2462
|
ref_key: "wrap",
|
|
2462
2463
|
ref: wrap,
|
|
@@ -2491,12 +2492,12 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
|
|
|
2491
2492
|
};
|
|
2492
2493
|
}
|
|
2493
2494
|
});
|
|
2494
|
-
const _sfc_main$
|
|
2495
|
+
const _sfc_main$U = /* @__PURE__ */ defineComponent({
|
|
2495
2496
|
__name: "scroll-container",
|
|
2496
2497
|
setup(__props) {
|
|
2497
2498
|
const scrollbarRef = ref(null);
|
|
2498
2499
|
return (_ctx, _cache) => {
|
|
2499
|
-
return openBlock(), createBlock(_sfc_main$
|
|
2500
|
+
return openBlock(), createBlock(_sfc_main$V, mergeProps({
|
|
2500
2501
|
ref_key: "scrollbarRef",
|
|
2501
2502
|
ref: scrollbarRef,
|
|
2502
2503
|
class: "scroll-container"
|
|
@@ -2509,7 +2510,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
|
|
|
2509
2510
|
};
|
|
2510
2511
|
}
|
|
2511
2512
|
});
|
|
2512
|
-
const _sfc_main$
|
|
2513
|
+
const _sfc_main$T = /* @__PURE__ */ defineComponent({
|
|
2513
2514
|
__name: "modal-wrap",
|
|
2514
2515
|
props: {
|
|
2515
2516
|
loading: { type: Boolean },
|
|
@@ -2597,7 +2598,7 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
|
|
|
2597
2598
|
}
|
|
2598
2599
|
});
|
|
2599
2600
|
return (_ctx, _cache) => {
|
|
2600
|
-
return openBlock(), createBlock(unref(_sfc_main$
|
|
2601
|
+
return openBlock(), createBlock(unref(_sfc_main$U), {
|
|
2601
2602
|
ref_key: "wrapperRef",
|
|
2602
2603
|
ref: wrapperRef
|
|
2603
2604
|
}, {
|
|
@@ -2617,10 +2618,12 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
|
|
|
2617
2618
|
});
|
|
2618
2619
|
function useLabelWidth(schemaItemRef, propsRef) {
|
|
2619
2620
|
return computed(() => {
|
|
2620
|
-
const { labelWidth, labelCol = {}, wrapperCol = {} } = unref(schemaItemRef);
|
|
2621
|
+
const { labelWidth, enLabelWidth, labelCol = {}, wrapperCol = {} } = unref(schemaItemRef);
|
|
2621
2622
|
const { appConf } = useAppStore();
|
|
2623
|
+
const { getIsZH } = useHeader();
|
|
2622
2624
|
const {
|
|
2623
2625
|
labelWidth: gLabelWidth,
|
|
2626
|
+
enLabelWidth: gEnLabelWidth,
|
|
2624
2627
|
labelCol: glabelCol,
|
|
2625
2628
|
wrapperCol: gwrapperCol,
|
|
2626
2629
|
layout = appConf.ui.form.layout
|
|
@@ -2634,7 +2637,7 @@ function useLabelWidth(schemaItemRef, propsRef) {
|
|
|
2634
2637
|
wrapperCol
|
|
2635
2638
|
};
|
|
2636
2639
|
}
|
|
2637
|
-
let width = labelWidth || gLabelWidth;
|
|
2640
|
+
let width = (unref(getIsZH) ? labelWidth : enLabelWidth) || labelWidth || (unref(getIsZH) ? gLabelWidth : gEnLabelWidth) || gLabelWidth;
|
|
2638
2641
|
const labelcol = { ...glabelCol, ...labelCol };
|
|
2639
2642
|
const wrapcol = { ...gwrapperCol, ...wrapperCol };
|
|
2640
2643
|
if (width) {
|
|
@@ -2683,7 +2686,7 @@ function useFormValue(props, key = "value", changeEvent = "change", emitData) {
|
|
|
2683
2686
|
});
|
|
2684
2687
|
return [state, setState, defaultState];
|
|
2685
2688
|
}
|
|
2686
|
-
const _sfc_main$
|
|
2689
|
+
const _sfc_main$S = defineComponent({
|
|
2687
2690
|
name: "radio-button",
|
|
2688
2691
|
props: {
|
|
2689
2692
|
value: {
|
|
@@ -2741,8 +2744,8 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
2741
2744
|
_: 1
|
|
2742
2745
|
}, 16, ["value"]);
|
|
2743
2746
|
}
|
|
2744
|
-
var RadioButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2745
|
-
const _sfc_main$
|
|
2747
|
+
var RadioButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["render", _sfc_render$6]]);
|
|
2748
|
+
const _sfc_main$R = /* @__PURE__ */ defineComponent({
|
|
2746
2749
|
__name: "formIcon",
|
|
2747
2750
|
props: {
|
|
2748
2751
|
value: String,
|
|
@@ -2750,10 +2753,11 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
|
|
|
2750
2753
|
},
|
|
2751
2754
|
setup(__props) {
|
|
2752
2755
|
const props = __props;
|
|
2756
|
+
const { t } = useI18n("UI");
|
|
2753
2757
|
const { getUiSize } = useApp();
|
|
2754
2758
|
const iconRef = ref(null);
|
|
2755
2759
|
const [register, { openModal, closeModal }] = useModal({
|
|
2756
|
-
title: "
|
|
2760
|
+
title: t("SELECT_ICON"),
|
|
2757
2761
|
width: "70%",
|
|
2758
2762
|
showSave: false,
|
|
2759
2763
|
centered: true,
|
|
@@ -2798,9 +2802,9 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
|
|
|
2798
2802
|
]),
|
|
2799
2803
|
_: 1
|
|
2800
2804
|
}, 8, ["class"]),
|
|
2801
|
-
createVNode(unref(_sfc_main$
|
|
2805
|
+
createVNode(unref(_sfc_main$K), { onRegister: unref(register) }, {
|
|
2802
2806
|
default: withCtx(() => [
|
|
2803
|
-
createVNode(unref(_sfc_main$
|
|
2807
|
+
createVNode(unref(_sfc_main$W), {
|
|
2804
2808
|
onChooseIcon: _cache[2] || (_cache[2] = ($event) => chooseIcon($event))
|
|
2805
2809
|
})
|
|
2806
2810
|
]),
|
|
@@ -2810,10 +2814,11 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
|
|
|
2810
2814
|
};
|
|
2811
2815
|
}
|
|
2812
2816
|
});
|
|
2813
|
-
const _hoisted_1$
|
|
2814
|
-
const _sfc_main$
|
|
2817
|
+
const _hoisted_1$r = { class: "input-with-dialog" };
|
|
2818
|
+
const _sfc_main$Q = /* @__PURE__ */ defineComponent({
|
|
2815
2819
|
__name: "formInputUseDialog",
|
|
2816
2820
|
setup(__props) {
|
|
2821
|
+
const { t } = useI18n("UI");
|
|
2817
2822
|
const attrs = useAttrs$1();
|
|
2818
2823
|
const bindProps = computed(() => {
|
|
2819
2824
|
return {
|
|
@@ -2826,7 +2831,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
|
|
|
2826
2831
|
function onClickInput() {
|
|
2827
2832
|
const { model, schema = {} } = attrs.formValues;
|
|
2828
2833
|
if (!schema.openDialog || !isFunction(schema.openDialog)) {
|
|
2829
|
-
error("
|
|
2834
|
+
error(t("MUSE_FUNCTION"));
|
|
2830
2835
|
return;
|
|
2831
2836
|
}
|
|
2832
2837
|
schema.openDialog(model);
|
|
@@ -2837,7 +2842,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
|
|
|
2837
2842
|
}
|
|
2838
2843
|
return (_ctx, _cache) => {
|
|
2839
2844
|
var _a, _b, _c;
|
|
2840
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
2845
|
+
return openBlock(), createElementBlock("div", _hoisted_1$r, [
|
|
2841
2846
|
createElementVNode("div", { onClick: onClickInput }, [
|
|
2842
2847
|
createVNode(unref(Input), normalizeProps(guardReactiveProps(unref(bindProps))), null, 16)
|
|
2843
2848
|
]),
|
|
@@ -2852,7 +2857,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
|
|
|
2852
2857
|
});
|
|
2853
2858
|
const components = {
|
|
2854
2859
|
Input,
|
|
2855
|
-
InputWithDialog: _sfc_main$
|
|
2860
|
+
InputWithDialog: _sfc_main$Q,
|
|
2856
2861
|
InputTextArea: Input.TextArea,
|
|
2857
2862
|
InputSearch: Input.Search,
|
|
2858
2863
|
InputGroup: Input.Group,
|
|
@@ -2876,21 +2881,22 @@ const components = {
|
|
|
2876
2881
|
Slider,
|
|
2877
2882
|
Rate,
|
|
2878
2883
|
Divider,
|
|
2879
|
-
Icon: _sfc_main$
|
|
2884
|
+
Icon: _sfc_main$R
|
|
2880
2885
|
};
|
|
2881
2886
|
const componentMap$1 = /* @__PURE__ */ new Map();
|
|
2882
2887
|
for (let item in components) {
|
|
2883
2888
|
componentMap$1.set(item, components[item]);
|
|
2884
2889
|
}
|
|
2885
2890
|
function createPlaceholder(component) {
|
|
2891
|
+
const { t } = useI18n("UI");
|
|
2886
2892
|
if (component.includes("Input") || component.includes("Complete")) {
|
|
2887
|
-
return "
|
|
2893
|
+
return t("PLEASE_INPUT");
|
|
2888
2894
|
}
|
|
2889
2895
|
if (component.includes("Picker") || component.includes("Select") || component.includes("Cascader") || component.includes("Checkbox") || component.includes("Radio") || component.includes("Switch")) {
|
|
2890
|
-
return "
|
|
2896
|
+
return t("PLEASE_SELECT");
|
|
2891
2897
|
}
|
|
2892
2898
|
if (component.includes("Icon")) {
|
|
2893
|
-
return "
|
|
2899
|
+
return t("PLEASE_SET_ICON");
|
|
2894
2900
|
}
|
|
2895
2901
|
return "";
|
|
2896
2902
|
}
|
|
@@ -2986,7 +2992,7 @@ const FormItemProps = {
|
|
|
2986
2992
|
function _isSlot(s) {
|
|
2987
2993
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
2988
2994
|
}
|
|
2989
|
-
var _sfc_main$
|
|
2995
|
+
var _sfc_main$P = defineComponent({
|
|
2990
2996
|
name: "FormItem",
|
|
2991
2997
|
inheritAttrs: false,
|
|
2992
2998
|
props: FormItemProps,
|
|
@@ -2997,6 +3003,9 @@ var _sfc_main$Q = defineComponent({
|
|
|
2997
3003
|
const {
|
|
2998
3004
|
getSlot
|
|
2999
3005
|
} = useSlots();
|
|
3006
|
+
const {
|
|
3007
|
+
t
|
|
3008
|
+
} = useI18n("UI");
|
|
3000
3009
|
const {
|
|
3001
3010
|
appConf
|
|
3002
3011
|
} = useAppStore();
|
|
@@ -3040,8 +3049,7 @@ var _sfc_main$Q = defineComponent({
|
|
|
3040
3049
|
var _a;
|
|
3041
3050
|
const {
|
|
3042
3051
|
schema: schema2,
|
|
3043
|
-
formModel
|
|
3044
|
-
formActionType
|
|
3052
|
+
formModel
|
|
3045
3053
|
} = props;
|
|
3046
3054
|
let {
|
|
3047
3055
|
props: cProps = {}
|
|
@@ -3298,7 +3306,7 @@ var _sfc_main$Q = defineComponent({
|
|
|
3298
3306
|
if (!component) {
|
|
3299
3307
|
let _slot2;
|
|
3300
3308
|
if (!render2) {
|
|
3301
|
-
error("
|
|
3309
|
+
error(t("NEED_RENDER"));
|
|
3302
3310
|
return;
|
|
3303
3311
|
}
|
|
3304
3312
|
return unref(getShow) && createVNode(Col, {
|
|
@@ -3362,7 +3370,7 @@ function initDirectives() {
|
|
|
3362
3370
|
}
|
|
3363
3371
|
};
|
|
3364
3372
|
}
|
|
3365
|
-
const _sfc_main$
|
|
3373
|
+
const _sfc_main$O = defineComponent({
|
|
3366
3374
|
name: "form-buttons",
|
|
3367
3375
|
props: {
|
|
3368
3376
|
mode: {
|
|
@@ -3400,6 +3408,7 @@ const _sfc_main$P = defineComponent({
|
|
|
3400
3408
|
"permission": authMounted
|
|
3401
3409
|
},
|
|
3402
3410
|
setup(props, { emit }) {
|
|
3411
|
+
const { t } = useI18n();
|
|
3403
3412
|
const advancedRef = ref(props.isAdvanced);
|
|
3404
3413
|
const showAdvanceRef = computed(() => {
|
|
3405
3414
|
return props.mode === "search" ? props.showAdvancedButton : false;
|
|
@@ -3445,20 +3454,21 @@ const _sfc_main$P = defineComponent({
|
|
|
3445
3454
|
advancedRef,
|
|
3446
3455
|
showAdvanceRef,
|
|
3447
3456
|
getAdvanceClass,
|
|
3457
|
+
t,
|
|
3448
3458
|
toggleAdvanced,
|
|
3449
3459
|
handleBtnClick
|
|
3450
3460
|
};
|
|
3451
3461
|
}
|
|
3452
3462
|
});
|
|
3453
|
-
const _hoisted_1$
|
|
3463
|
+
const _hoisted_1$q = {
|
|
3454
3464
|
key: 0,
|
|
3455
3465
|
className: "preIcon"
|
|
3456
3466
|
};
|
|
3457
|
-
const _hoisted_2$
|
|
3467
|
+
const _hoisted_2$f = {
|
|
3458
3468
|
key: 0,
|
|
3459
3469
|
className: "preIcon"
|
|
3460
3470
|
};
|
|
3461
|
-
const _hoisted_3$
|
|
3471
|
+
const _hoisted_3$8 = { class: "text" };
|
|
3462
3472
|
function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3463
3473
|
const _component_Button = resolveComponent("Button");
|
|
3464
3474
|
const _component_DtIcon = resolveComponent("DtIcon");
|
|
@@ -3486,13 +3496,13 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3486
3496
|
onClick: ($event) => _ctx.handleBtnClick(button)
|
|
3487
3497
|
}, {
|
|
3488
3498
|
icon: withCtx(() => [
|
|
3489
|
-
button.preIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_1$
|
|
3499
|
+
button.preIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_1$q, null, 512)), [
|
|
3490
3500
|
[_directive_icon, button.preIcon]
|
|
3491
3501
|
]) : createCommentVNode("", true)
|
|
3492
3502
|
]),
|
|
3493
3503
|
default: withCtx(() => [
|
|
3494
|
-
createTextVNode(" " + toDisplayString(button.name) + " ", 1),
|
|
3495
|
-
button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$
|
|
3504
|
+
createTextVNode(" " + toDisplayString(_ctx.t(button.name)) + " ", 1),
|
|
3505
|
+
button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$f, null, 512)), [
|
|
3496
3506
|
[_directive_icon, button.postIcon]
|
|
3497
3507
|
]) : createCommentVNode("", true)
|
|
3498
3508
|
]),
|
|
@@ -3509,7 +3519,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3509
3519
|
onClick: _ctx.toggleAdvanced
|
|
3510
3520
|
}, {
|
|
3511
3521
|
default: withCtx(() => [
|
|
3512
|
-
createElementVNode("span", _hoisted_3$
|
|
3522
|
+
createElementVNode("span", _hoisted_3$8, toDisplayString(_ctx.advancedRef ? _ctx.t("UI.ADVANCED") : _ctx.t("UI.EXPAND")), 1),
|
|
3513
3523
|
createElementVNode("span", {
|
|
3514
3524
|
class: normalizeClass(_ctx.getAdvanceClass)
|
|
3515
3525
|
}, [
|
|
@@ -3528,7 +3538,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3528
3538
|
_: 1
|
|
3529
3539
|
}, 16)) : createCommentVNode("", true);
|
|
3530
3540
|
}
|
|
3531
|
-
var FormButtons = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3541
|
+
var FormButtons = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$5]]);
|
|
3532
3542
|
const isArray = Array.isArray;
|
|
3533
3543
|
function useFormValues({
|
|
3534
3544
|
defaultValue,
|
|
@@ -3586,9 +3596,9 @@ function useFormValues({
|
|
|
3586
3596
|
}
|
|
3587
3597
|
} else {
|
|
3588
3598
|
if (names.length > 1) {
|
|
3589
|
-
names.forEach((key,
|
|
3590
|
-
obj[key] = defaultValue2[
|
|
3591
|
-
formModel[key] = defaultValue2[
|
|
3599
|
+
names.forEach((key, index2) => {
|
|
3600
|
+
obj[key] = defaultValue2[index2];
|
|
3601
|
+
formModel[key] = defaultValue2[index2];
|
|
3592
3602
|
});
|
|
3593
3603
|
} else {
|
|
3594
3604
|
obj[names[0]] = defaultValue2;
|
|
@@ -3598,7 +3608,7 @@ function useFormValues({
|
|
|
3598
3608
|
} else {
|
|
3599
3609
|
if (!names)
|
|
3600
3610
|
return;
|
|
3601
|
-
names.forEach((key,
|
|
3611
|
+
names.forEach((key, index2) => {
|
|
3602
3612
|
let defaultV = null;
|
|
3603
3613
|
if (component === "TreeSelect" && (mode === "multiple" || treeCheckable) || component === "Select" && mode === "multiple") {
|
|
3604
3614
|
defaultV = [];
|
|
@@ -3775,10 +3785,10 @@ function useFormEvents({
|
|
|
3775
3785
|
schemaRef.value = schemaList;
|
|
3776
3786
|
}
|
|
3777
3787
|
function _removeSchemaByName(name, schemaList) {
|
|
3778
|
-
const
|
|
3779
|
-
if (
|
|
3788
|
+
const index2 = schemaList.findIndex((schema) => schema.name === name);
|
|
3789
|
+
if (index2 !== -1) {
|
|
3780
3790
|
delete formModel[name];
|
|
3781
|
-
schemaList.splice(
|
|
3791
|
+
schemaList.splice(index2, 1);
|
|
3782
3792
|
}
|
|
3783
3793
|
}
|
|
3784
3794
|
function setFormValues(values) {
|
|
@@ -3823,14 +3833,14 @@ function useFormEvents({
|
|
|
3823
3833
|
}
|
|
3824
3834
|
function appendFormItems(schema, prefixName, first = false) {
|
|
3825
3835
|
const schemaList = cloneDeep(unref(getSchema));
|
|
3826
|
-
const
|
|
3827
|
-
if (!prefixName ||
|
|
3836
|
+
const index2 = schemaList.findIndex((schema2) => schema2.name === prefixName);
|
|
3837
|
+
if (!prefixName || index2 === -1 || first) {
|
|
3828
3838
|
first ? schemaList.unshift(schema) : schemaList.push(schema);
|
|
3829
3839
|
schemaRef.value = schemaList;
|
|
3830
3840
|
return;
|
|
3831
3841
|
}
|
|
3832
|
-
if (
|
|
3833
|
-
schemaList.splice(
|
|
3842
|
+
if (index2 !== -1) {
|
|
3843
|
+
schemaList.splice(index2 + 1, 0, schema);
|
|
3834
3844
|
}
|
|
3835
3845
|
schemaRef.value = schemaList;
|
|
3836
3846
|
}
|
|
@@ -3860,8 +3870,8 @@ function useFormEvents({
|
|
|
3860
3870
|
validateFields
|
|
3861
3871
|
};
|
|
3862
3872
|
}
|
|
3863
|
-
const SEARCH_BTN_NAME = "
|
|
3864
|
-
const RESET_BTN_NAME = "
|
|
3873
|
+
const SEARCH_BTN_NAME = "UI.SEARCH";
|
|
3874
|
+
const RESET_BTN_NAME = "UI.RESET";
|
|
3865
3875
|
const SEARCH_BTNS = [
|
|
3866
3876
|
{ name: SEARCH_BTN_NAME, preIcon: "mdi:magnify", type: "primary" },
|
|
3867
3877
|
{ name: RESET_BTN_NAME, preIcon: "mdi:refresh", type: "default" }
|
|
@@ -3872,8 +3882,8 @@ function useFormActions(opt) {
|
|
|
3872
3882
|
function handleAdvanced(isAdvanced) {
|
|
3873
3883
|
var _a;
|
|
3874
3884
|
const { schemas, minShowColumn = ((_a = appConf.ui.form) == null ? void 0 : _a.minShowColumn) || 2 } = unref(getProps);
|
|
3875
|
-
let schema = schemas.reduce((t, it,
|
|
3876
|
-
if (
|
|
3885
|
+
let schema = schemas.reduce((t, it, index2) => {
|
|
3886
|
+
if (index2 > minShowColumn - 1)
|
|
3877
3887
|
it.isAdvanced = isAdvanced;
|
|
3878
3888
|
t.push(it);
|
|
3879
3889
|
return t;
|
|
@@ -3895,12 +3905,12 @@ function useFormActions(opt) {
|
|
|
3895
3905
|
}
|
|
3896
3906
|
return [handleMethod];
|
|
3897
3907
|
}
|
|
3898
|
-
const _sfc_main$
|
|
3908
|
+
const _sfc_main$N = defineComponent({
|
|
3899
3909
|
name: "dt-form",
|
|
3900
3910
|
components: {
|
|
3901
3911
|
Form,
|
|
3902
3912
|
Row,
|
|
3903
|
-
FormItem: _sfc_main$
|
|
3913
|
+
FormItem: _sfc_main$P,
|
|
3904
3914
|
FormButtons
|
|
3905
3915
|
},
|
|
3906
3916
|
props: BasicProps$1,
|
|
@@ -4136,7 +4146,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4136
4146
|
_: 3
|
|
4137
4147
|
}, 16, ["class", "model", "layout", "onKeypress"]);
|
|
4138
4148
|
}
|
|
4139
|
-
var DtForm = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
4149
|
+
var DtForm = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$4]]);
|
|
4140
4150
|
function useForm(props) {
|
|
4141
4151
|
const formRef = ref(null);
|
|
4142
4152
|
const loadedRef = ref(false);
|
|
@@ -4209,7 +4219,7 @@ function useForm(props) {
|
|
|
4209
4219
|
};
|
|
4210
4220
|
return [registerForm, methods];
|
|
4211
4221
|
}
|
|
4212
|
-
const _sfc_main$
|
|
4222
|
+
const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
4213
4223
|
__name: "modalFooter",
|
|
4214
4224
|
props: {
|
|
4215
4225
|
buttons: Object,
|
|
@@ -4224,9 +4234,10 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
|
|
|
4224
4234
|
],
|
|
4225
4235
|
setup(__props, { emit: emits }) {
|
|
4226
4236
|
const props = __props;
|
|
4237
|
+
const { t } = useI18n("UI");
|
|
4227
4238
|
const buttonActions = [
|
|
4228
|
-
{
|
|
4229
|
-
{
|
|
4239
|
+
{ t: "\u4FDD\u5B58", name: t("SAVE"), preIcon: "mdi:content-save", type: "primary", flag: "OK" },
|
|
4240
|
+
{ t: "\u5173\u95ED", name: t("CLOSE"), preIcon: "mdi:close", flag: "CANCEL" }
|
|
4230
4241
|
];
|
|
4231
4242
|
const buttonList = computed(() => {
|
|
4232
4243
|
if (props.buttons && props.buttons.length)
|
|
@@ -4255,7 +4266,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
|
|
|
4255
4266
|
};
|
|
4256
4267
|
}
|
|
4257
4268
|
});
|
|
4258
|
-
const _sfc_main$
|
|
4269
|
+
const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
4259
4270
|
__name: "close-icon",
|
|
4260
4271
|
props: {
|
|
4261
4272
|
canFullscreen: { type: Boolean, default: true },
|
|
@@ -4264,6 +4275,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
|
4264
4275
|
emits: ["cancel", "fullscreen"],
|
|
4265
4276
|
setup(__props, { emit }) {
|
|
4266
4277
|
const props = __props;
|
|
4278
|
+
const { t } = useI18n("UI");
|
|
4267
4279
|
const getClass = computed(() => {
|
|
4268
4280
|
return [
|
|
4269
4281
|
"dt-basic-modal-close",
|
|
@@ -4288,7 +4300,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
|
4288
4300
|
__props.canFullscreen ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
4289
4301
|
__props.fullScreen ? (openBlock(), createBlock(unref(Tooltip), {
|
|
4290
4302
|
key: 0,
|
|
4291
|
-
title: "
|
|
4303
|
+
title: unref(t)("EXIT_FULLSCREEN"),
|
|
4292
4304
|
placement: "bottom"
|
|
4293
4305
|
}, {
|
|
4294
4306
|
default: withCtx(() => [
|
|
@@ -4298,9 +4310,9 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
|
4298
4310
|
})
|
|
4299
4311
|
]),
|
|
4300
4312
|
_: 1
|
|
4301
|
-
})) : (openBlock(), createBlock(unref(Tooltip), {
|
|
4313
|
+
}, 8, ["title"])) : (openBlock(), createBlock(unref(Tooltip), {
|
|
4302
4314
|
key: 1,
|
|
4303
|
-
title: "
|
|
4315
|
+
title: unref(t)("FULLSCREEN"),
|
|
4304
4316
|
placement: "bottom"
|
|
4305
4317
|
}, {
|
|
4306
4318
|
default: withCtx(() => [
|
|
@@ -4310,7 +4322,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
|
4310
4322
|
})
|
|
4311
4323
|
]),
|
|
4312
4324
|
_: 1
|
|
4313
|
-
}))
|
|
4325
|
+
}, 8, ["title"]))
|
|
4314
4326
|
], 64)) : createCommentVNode("", true),
|
|
4315
4327
|
createElementVNode("i", {
|
|
4316
4328
|
class: "i mdi:close",
|
|
@@ -4320,7 +4332,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
|
4320
4332
|
};
|
|
4321
4333
|
}
|
|
4322
4334
|
});
|
|
4323
|
-
const _sfc_main$
|
|
4335
|
+
const _sfc_main$K = /* @__PURE__ */ defineComponent({
|
|
4324
4336
|
__name: "index",
|
|
4325
4337
|
props: basicProps$1,
|
|
4326
4338
|
emits: ["visible-change", "height-change", "cancel", "save", "register", "update:visible"],
|
|
@@ -4432,7 +4444,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
|
4432
4444
|
return (_ctx, _cache) => {
|
|
4433
4445
|
return openBlock(), createBlock(unref(Modal), mergeProps(unref(getBindValue), { onCancel: handleCancel }), createSlots({
|
|
4434
4446
|
default: withCtx(() => [
|
|
4435
|
-
createVNode(_sfc_main$
|
|
4447
|
+
createVNode(_sfc_main$T, mergeProps({
|
|
4436
4448
|
useWrapper: unref(getBindValue).useWrapper,
|
|
4437
4449
|
footerOffset: _ctx.wrapperFooterOffset,
|
|
4438
4450
|
fullScreen: unref(fullScreenRef),
|
|
@@ -4459,7 +4471,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
|
4459
4471
|
!_ctx.$slots.closeIcon ? {
|
|
4460
4472
|
name: "closeIcon",
|
|
4461
4473
|
fn: withCtx(() => [
|
|
4462
|
-
createVNode(_sfc_main$
|
|
4474
|
+
createVNode(_sfc_main$L, {
|
|
4463
4475
|
canFullscreen: unref(getBindValue).canFullscreen,
|
|
4464
4476
|
fullScreen: unref(fullScreenRef),
|
|
4465
4477
|
onCancel: handleCancel,
|
|
@@ -4476,7 +4488,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
|
4476
4488
|
!_ctx.$slots.footer ? {
|
|
4477
4489
|
name: "footer",
|
|
4478
4490
|
fn: withCtx(() => [
|
|
4479
|
-
createVNode(_sfc_main$
|
|
4491
|
+
createVNode(_sfc_main$M, {
|
|
4480
4492
|
buttons: propsRef.value.footer,
|
|
4481
4493
|
showSave: unref(getBindValue).showSave,
|
|
4482
4494
|
onHandleSave: handleSave,
|
|
@@ -4541,7 +4553,7 @@ function createTableInstance(instance) {
|
|
|
4541
4553
|
function getTableInstance() {
|
|
4542
4554
|
return inject(tableKey);
|
|
4543
4555
|
}
|
|
4544
|
-
var _sfc_main$
|
|
4556
|
+
var _sfc_main$J = defineComponent({
|
|
4545
4557
|
name: "EditableCell",
|
|
4546
4558
|
components: {
|
|
4547
4559
|
Spin,
|
|
@@ -4564,6 +4576,9 @@ var _sfc_main$K = defineComponent({
|
|
|
4564
4576
|
setup(props) {
|
|
4565
4577
|
const table = getTableInstance();
|
|
4566
4578
|
ref();
|
|
4579
|
+
const {
|
|
4580
|
+
t
|
|
4581
|
+
} = useI18n("UI");
|
|
4567
4582
|
const {
|
|
4568
4583
|
editRule,
|
|
4569
4584
|
align = "left"
|
|
@@ -4588,9 +4603,9 @@ var _sfc_main$K = defineComponent({
|
|
|
4588
4603
|
});
|
|
4589
4604
|
const createPlaceholderMessage = (component) => {
|
|
4590
4605
|
if (component.includes("Input")) {
|
|
4591
|
-
return "
|
|
4606
|
+
return t("PLEASE_INPUT");
|
|
4592
4607
|
}
|
|
4593
|
-
return "
|
|
4608
|
+
return t("PLEASE_SELECT");
|
|
4594
4609
|
};
|
|
4595
4610
|
const setTableValue = () => {
|
|
4596
4611
|
props.record[props.column.dataIndex] = unref(currentValueRef);
|
|
@@ -4605,14 +4620,14 @@ var _sfc_main$K = defineComponent({
|
|
|
4605
4620
|
const {
|
|
4606
4621
|
record,
|
|
4607
4622
|
column,
|
|
4608
|
-
index
|
|
4623
|
+
index: index2
|
|
4609
4624
|
} = props;
|
|
4610
4625
|
if (isFunction$1(compProps)) {
|
|
4611
4626
|
compProps = (_c = compProps({
|
|
4612
4627
|
text: val,
|
|
4613
4628
|
record,
|
|
4614
4629
|
column,
|
|
4615
|
-
index
|
|
4630
|
+
index: index2
|
|
4616
4631
|
})) != null ? _c : {};
|
|
4617
4632
|
}
|
|
4618
4633
|
return {
|
|
@@ -4692,11 +4707,11 @@ var _sfc_main$K = defineComponent({
|
|
|
4692
4707
|
};
|
|
4693
4708
|
}
|
|
4694
4709
|
});
|
|
4695
|
-
const _hoisted_1$
|
|
4710
|
+
const _hoisted_1$p = { class: "editable-cell" };
|
|
4696
4711
|
function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
4697
4712
|
var _a;
|
|
4698
4713
|
const _component_CellComponent = resolveComponent("CellComponent");
|
|
4699
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
4714
|
+
return openBlock(), createElementBlock("div", _hoisted_1$p, [
|
|
4700
4715
|
createVNode(_component_CellComponent, mergeProps({ ref: "elRef" }, _ctx.getComponentProps, {
|
|
4701
4716
|
component: (_a = _ctx.column) == null ? void 0 : _a.editComponent,
|
|
4702
4717
|
popoverVisible: _ctx.getRuleVisible,
|
|
@@ -4708,9 +4723,9 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4708
4723
|
}), null, 16, ["component", "popoverVisible", "rule", "ruleMessage", "class", "onChange", "onOptionsChange"])
|
|
4709
4724
|
]);
|
|
4710
4725
|
}
|
|
4711
|
-
var EditableCell = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
4726
|
+
var EditableCell = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", _sfc_render$3]]);
|
|
4712
4727
|
function renderEditCell(column) {
|
|
4713
|
-
return ({ text: value, record, index }) => {
|
|
4728
|
+
return ({ text: value, record, index: index2 }) => {
|
|
4714
4729
|
record.onValid = async () => {
|
|
4715
4730
|
if (isArray$1(record == null ? void 0 : record.validCbs)) {
|
|
4716
4731
|
const validFns = ((record == null ? void 0 : record.validCbs) || []).map((fn) => fn());
|
|
@@ -4743,7 +4758,7 @@ function renderEditCell(column) {
|
|
|
4743
4758
|
value,
|
|
4744
4759
|
record,
|
|
4745
4760
|
column,
|
|
4746
|
-
index
|
|
4761
|
+
index: index2
|
|
4747
4762
|
});
|
|
4748
4763
|
};
|
|
4749
4764
|
}
|
|
@@ -4973,14 +4988,14 @@ const TableProps = {
|
|
|
4973
4988
|
}
|
|
4974
4989
|
};
|
|
4975
4990
|
function useRows(propsRef) {
|
|
4976
|
-
function getRowClassName(record,
|
|
4991
|
+
function getRowClassName(record, index2) {
|
|
4977
4992
|
const { striped, rowClassName } = unref(propsRef);
|
|
4978
4993
|
const classNames = [];
|
|
4979
4994
|
if (striped) {
|
|
4980
|
-
classNames.push(
|
|
4995
|
+
classNames.push(index2 % 2 === 1 ? "table-striped" : "");
|
|
4981
4996
|
}
|
|
4982
4997
|
if (rowClassName && isFunction(rowClassName)) {
|
|
4983
|
-
classNames.push(rowClassName(record,
|
|
4998
|
+
classNames.push(rowClassName(record, index2));
|
|
4984
4999
|
}
|
|
4985
5000
|
return classNames.join(" ");
|
|
4986
5001
|
}
|
|
@@ -5003,6 +5018,7 @@ function useLoading(props) {
|
|
|
5003
5018
|
};
|
|
5004
5019
|
}
|
|
5005
5020
|
function usePagination(props) {
|
|
5021
|
+
const { t } = useI18n("UI");
|
|
5006
5022
|
const paginationRef = ref({});
|
|
5007
5023
|
const show = ref(true);
|
|
5008
5024
|
watch(() => unref(props).pagination, (pagination) => {
|
|
@@ -5019,13 +5035,12 @@ function usePagination(props) {
|
|
|
5019
5035
|
return false;
|
|
5020
5036
|
}
|
|
5021
5037
|
const { appConf } = useAppStore();
|
|
5022
|
-
const { defaultPageSize, pageSizeOptions
|
|
5038
|
+
const { defaultPageSize, pageSizeOptions } = appConf.ui.table;
|
|
5023
5039
|
return {
|
|
5024
5040
|
current: 1,
|
|
5025
5041
|
pageSize: defaultPageSize,
|
|
5026
|
-
size: size === "small" ? "small" : "default",
|
|
5027
5042
|
defaultPageSize,
|
|
5028
|
-
showTotal: (total, range) =>
|
|
5043
|
+
showTotal: (total, range) => t("TOTAL_PAGE", { total }),
|
|
5029
5044
|
showSizeChanger: true,
|
|
5030
5045
|
pageSizeOptions,
|
|
5031
5046
|
showQuickJumper: true,
|
|
@@ -5225,7 +5240,7 @@ function useRowSelection(propsRef, emit) {
|
|
|
5225
5240
|
setSelectedRowKeys
|
|
5226
5241
|
};
|
|
5227
5242
|
}
|
|
5228
|
-
var _sfc_main$
|
|
5243
|
+
var _sfc_main$I = defineComponent({
|
|
5229
5244
|
name: "TableFormat",
|
|
5230
5245
|
props: {
|
|
5231
5246
|
column: {
|
|
@@ -5245,7 +5260,7 @@ var _sfc_main$J = defineComponent({
|
|
|
5245
5260
|
const {
|
|
5246
5261
|
column,
|
|
5247
5262
|
record,
|
|
5248
|
-
index
|
|
5263
|
+
index: index2
|
|
5249
5264
|
} = props;
|
|
5250
5265
|
const {
|
|
5251
5266
|
render: render2,
|
|
@@ -5295,7 +5310,7 @@ var _sfc_main$J = defineComponent({
|
|
|
5295
5310
|
renderText.value = text;
|
|
5296
5311
|
}
|
|
5297
5312
|
if (isFunction(render2)) {
|
|
5298
|
-
let afterRenderData = render2(record,
|
|
5313
|
+
let afterRenderData = render2(record, index2, text);
|
|
5299
5314
|
if (afterRenderData.__v_isRef) {
|
|
5300
5315
|
renderText = afterRenderData;
|
|
5301
5316
|
} else {
|
|
@@ -5307,12 +5322,12 @@ var _sfc_main$J = defineComponent({
|
|
|
5307
5322
|
return () => createVNode("span", null, [unref(renderText)]);
|
|
5308
5323
|
}
|
|
5309
5324
|
});
|
|
5310
|
-
const _hoisted_1$
|
|
5325
|
+
const _hoisted_1$o = {
|
|
5311
5326
|
key: 0,
|
|
5312
5327
|
class: "dt-table-action-btn"
|
|
5313
5328
|
};
|
|
5314
|
-
const _hoisted_2$
|
|
5315
|
-
const _sfc_main$
|
|
5329
|
+
const _hoisted_2$e = ["color", "onClick"];
|
|
5330
|
+
const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
5316
5331
|
__name: "TableActions",
|
|
5317
5332
|
props: {
|
|
5318
5333
|
fixed: {
|
|
@@ -5374,7 +5389,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
|
|
|
5374
5389
|
const _directive_auth = resolveDirective("auth");
|
|
5375
5390
|
return props.expand ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(actionBtns.value, (item) => {
|
|
5376
5391
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
5377
|
-
item.ifShow ? withDirectives((openBlock(), createElementBlock("span", _hoisted_1$
|
|
5392
|
+
item.ifShow ? withDirectives((openBlock(), createElementBlock("span", _hoisted_1$o, [
|
|
5378
5393
|
createVNode(unref(Tooltip), { placement: "bottom" }, {
|
|
5379
5394
|
title: withCtx(() => [
|
|
5380
5395
|
createTextVNode(toDisplayString(item.title), 1)
|
|
@@ -5383,7 +5398,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
|
|
|
5383
5398
|
withDirectives(createElementVNode("span", {
|
|
5384
5399
|
color: item.color,
|
|
5385
5400
|
onClick: ($event) => handleAction(item)
|
|
5386
|
-
}, null, 8, _hoisted_2$
|
|
5401
|
+
}, null, 8, _hoisted_2$e), [
|
|
5387
5402
|
[_directive_icon, item.icon]
|
|
5388
5403
|
])
|
|
5389
5404
|
]),
|
|
@@ -5489,6 +5504,7 @@ function sortFixedColumn(columns) {
|
|
|
5489
5504
|
];
|
|
5490
5505
|
}
|
|
5491
5506
|
function handleIndexColumn(propsRef, getPaginationRef, columns) {
|
|
5507
|
+
const { t } = useI18n("UI");
|
|
5492
5508
|
const { showIndexColumn, indexColumnProps, isTreeTable } = unref(propsRef);
|
|
5493
5509
|
let pushIndexColumns = false;
|
|
5494
5510
|
if (unref(isTreeTable)) {
|
|
@@ -5508,17 +5524,17 @@ function handleIndexColumn(propsRef, getPaginationRef, columns) {
|
|
|
5508
5524
|
columns.unshift({
|
|
5509
5525
|
flag: INDEX_FLAG,
|
|
5510
5526
|
width: 50,
|
|
5511
|
-
title: "
|
|
5527
|
+
title: t("NUMBER"),
|
|
5512
5528
|
align: "center",
|
|
5513
|
-
customRender: ({ index }) => {
|
|
5529
|
+
customRender: ({ index: index2 }) => {
|
|
5514
5530
|
const getPagination = unref(getPaginationRef);
|
|
5515
5531
|
const { appConf } = useAppStore();
|
|
5516
5532
|
const { defaultPageSize } = appConf.ui.table;
|
|
5517
5533
|
if (isBoolean(getPagination)) {
|
|
5518
|
-
return `${
|
|
5534
|
+
return `${index2 + 1}`;
|
|
5519
5535
|
}
|
|
5520
5536
|
const { current = 1, pageSize = defaultPageSize } = getPagination;
|
|
5521
|
-
return ((current < 1 ? 1 : current) - 1) * pageSize +
|
|
5537
|
+
return ((current < 1 ? 1 : current) - 1) * pageSize + index2 + 1;
|
|
5522
5538
|
},
|
|
5523
5539
|
...isFixedLeft ? {
|
|
5524
5540
|
fixed: "left"
|
|
@@ -5527,6 +5543,7 @@ function handleIndexColumn(propsRef, getPaginationRef, columns) {
|
|
|
5527
5543
|
});
|
|
5528
5544
|
}
|
|
5529
5545
|
function handleActionColumn(propsRef, columns) {
|
|
5546
|
+
const { t } = useI18n("UI");
|
|
5530
5547
|
const { operations } = unref(propsRef);
|
|
5531
5548
|
if (!operations || isObject(operations) && !(operations == null ? void 0 : operations.btns) || isArray$1(operations) && !operations)
|
|
5532
5549
|
return;
|
|
@@ -5536,7 +5553,7 @@ function handleActionColumn(propsRef, columns) {
|
|
|
5536
5553
|
let expand = column.expand ? column.expand : false;
|
|
5537
5554
|
let columnObj = {
|
|
5538
5555
|
fixed: "right",
|
|
5539
|
-
title: "
|
|
5556
|
+
title: t("ACTIONS"),
|
|
5540
5557
|
align: "center",
|
|
5541
5558
|
expand,
|
|
5542
5559
|
width: `${expand ? column.btns.length * 30 + 40 : 70}px`,
|
|
@@ -5545,11 +5562,11 @@ function handleActionColumn(propsRef, columns) {
|
|
|
5545
5562
|
};
|
|
5546
5563
|
columns.push({
|
|
5547
5564
|
...columnObj,
|
|
5548
|
-
customRender: ({ record, index }) => {
|
|
5549
|
-
return h(_sfc_main$
|
|
5565
|
+
customRender: ({ record, index: index2 }) => {
|
|
5566
|
+
return h(_sfc_main$H, omit({
|
|
5550
5567
|
...columnObj,
|
|
5551
5568
|
record,
|
|
5552
|
-
index
|
|
5569
|
+
index: index2
|
|
5553
5570
|
}, "align"));
|
|
5554
5571
|
}
|
|
5555
5572
|
});
|
|
@@ -5563,7 +5580,7 @@ function useColumns(propsRef, getPaginationRef, tableElRef) {
|
|
|
5563
5580
|
if (!columns)
|
|
5564
5581
|
return [];
|
|
5565
5582
|
const { ellipsis } = unref(propsRef);
|
|
5566
|
-
columns.forEach((it,
|
|
5583
|
+
columns.forEach((it, index2) => {
|
|
5567
5584
|
var _a;
|
|
5568
5585
|
it.class = `${(_a = it.class) != null ? _a : ""} __column`;
|
|
5569
5586
|
const { slots } = it;
|
|
@@ -5692,23 +5709,17 @@ function useColumns(propsRef, getPaginationRef, tableElRef) {
|
|
|
5692
5709
|
getCacheColumns
|
|
5693
5710
|
};
|
|
5694
5711
|
}
|
|
5695
|
-
const _hoisted_1$
|
|
5696
|
-
const _hoisted_2$h = /* @__PURE__ */ createTextVNode(" \u5217\u5C55\u793A ");
|
|
5697
|
-
const _hoisted_3$b = /* @__PURE__ */ createTextVNode(" \u5E8F\u5217\u53F7 ");
|
|
5698
|
-
const _hoisted_4$6 = /* @__PURE__ */ createTextVNode(" \u590D\u9009\u6846 ");
|
|
5699
|
-
const _hoisted_5$4 = /* @__PURE__ */ createTextVNode("\u91CD\u7F6E");
|
|
5700
|
-
const _hoisted_6$2 = {
|
|
5712
|
+
const _hoisted_1$n = {
|
|
5701
5713
|
size: 16,
|
|
5702
5714
|
className: "drag-icon"
|
|
5703
5715
|
};
|
|
5704
|
-
const
|
|
5705
|
-
const _hoisted_8 = /* @__PURE__ */ createTextVNode("\u56FA\u5B9A\u5230\u53F3\u4FA7");
|
|
5706
|
-
const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
5716
|
+
const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
5707
5717
|
__name: "Column",
|
|
5708
5718
|
emits: [
|
|
5709
5719
|
"columns-change"
|
|
5710
5720
|
],
|
|
5711
5721
|
setup(__props, { emit: emits }) {
|
|
5722
|
+
const { t } = useI18n("UI");
|
|
5712
5723
|
const attrs = useAttrs$1();
|
|
5713
5724
|
const prefixCls = "column-setting";
|
|
5714
5725
|
const table = getTableInstance();
|
|
@@ -5839,9 +5850,9 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
5839
5850
|
return;
|
|
5840
5851
|
const columns = getColumns();
|
|
5841
5852
|
const isFixed = item.fixed === fixed ? false : fixed;
|
|
5842
|
-
const
|
|
5843
|
-
if (
|
|
5844
|
-
columns[
|
|
5853
|
+
const index2 = columns.findIndex((col) => col.dataIndex === item.dataIndex);
|
|
5854
|
+
if (index2 !== -1) {
|
|
5855
|
+
columns[index2].fixed = isFixed;
|
|
5845
5856
|
}
|
|
5846
5857
|
item.fixed = isFixed;
|
|
5847
5858
|
if (isFixed && !item.width) {
|
|
@@ -5882,7 +5893,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
5882
5893
|
const _directive_icon = resolveDirective("icon");
|
|
5883
5894
|
return openBlock(), createBlock(unref(Tooltip), { placement: "top" }, {
|
|
5884
5895
|
title: withCtx(() => [
|
|
5885
|
-
|
|
5896
|
+
createElementVNode("span", null, toDisplayString(unref(t)("COLUMN_CONTROL")), 1)
|
|
5886
5897
|
]),
|
|
5887
5898
|
default: withCtx(() => [
|
|
5888
5899
|
createVNode(unref(Popover), {
|
|
@@ -5903,7 +5914,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
5903
5914
|
onChange: onCheckAllChange
|
|
5904
5915
|
}, {
|
|
5905
5916
|
default: withCtx(() => [
|
|
5906
|
-
|
|
5917
|
+
createTextVNode(toDisplayString(unref(t)("COLUMN_SHOW")), 1)
|
|
5907
5918
|
]),
|
|
5908
5919
|
_: 1
|
|
5909
5920
|
}, 8, ["indeterminate", "checked"]),
|
|
@@ -5913,7 +5924,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
5913
5924
|
onChange: handleIndexCheckChange
|
|
5914
5925
|
}, {
|
|
5915
5926
|
default: withCtx(() => [
|
|
5916
|
-
|
|
5927
|
+
createTextVNode(toDisplayString(unref(t)("INDEX")), 1)
|
|
5917
5928
|
]),
|
|
5918
5929
|
_: 1
|
|
5919
5930
|
}, 8, ["checked"]),
|
|
@@ -5924,17 +5935,16 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
5924
5935
|
disabled: !unref(defaultRowSelection)
|
|
5925
5936
|
}, {
|
|
5926
5937
|
default: withCtx(() => [
|
|
5927
|
-
|
|
5938
|
+
createTextVNode(toDisplayString(unref(t)("CHECKBOX")), 1)
|
|
5928
5939
|
]),
|
|
5929
5940
|
_: 1
|
|
5930
5941
|
}, 8, ["checked", "disabled"]),
|
|
5931
5942
|
createVNode(unref(Button), {
|
|
5932
|
-
size: "small",
|
|
5933
5943
|
type: "link",
|
|
5934
5944
|
onClick: reset
|
|
5935
5945
|
}, {
|
|
5936
5946
|
default: withCtx(() => [
|
|
5937
|
-
|
|
5947
|
+
createTextVNode(toDisplayString(unref(t)("RESET")), 1)
|
|
5938
5948
|
]),
|
|
5939
5949
|
_: 1
|
|
5940
5950
|
})
|
|
@@ -5954,7 +5964,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
5954
5964
|
key: item.value,
|
|
5955
5965
|
class: normalizeClass(`${prefixCls}__check-item`)
|
|
5956
5966
|
}, [
|
|
5957
|
-
withDirectives(createElementVNode("span",
|
|
5967
|
+
withDirectives(createElementVNode("span", _hoisted_1$n, null, 512), [
|
|
5958
5968
|
[_directive_icon, "ant-design:drag-outlined"]
|
|
5959
5969
|
]),
|
|
5960
5970
|
createVNode(unref(Checkbox), {
|
|
@@ -5971,7 +5981,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
5971
5981
|
getPopupContainer: getPopupContainer$1
|
|
5972
5982
|
}, {
|
|
5973
5983
|
title: withCtx(() => [
|
|
5974
|
-
|
|
5984
|
+
createTextVNode(toDisplayString(unref(t)("FIXED_TO_LEFT")), 1)
|
|
5975
5985
|
]),
|
|
5976
5986
|
default: withCtx(() => [
|
|
5977
5987
|
createElementVNode("span", {
|
|
@@ -5997,7 +6007,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
5997
6007
|
getPopupContainer: getPopupContainer$1
|
|
5998
6008
|
}, {
|
|
5999
6009
|
title: withCtx(() => [
|
|
6000
|
-
|
|
6010
|
+
createTextVNode(toDisplayString(unref(t)("FIXED_TO_RIGHT")), 1)
|
|
6001
6011
|
]),
|
|
6002
6012
|
default: withCtx(() => [
|
|
6003
6013
|
createElementVNode("span", {
|
|
@@ -6035,12 +6045,13 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
6035
6045
|
};
|
|
6036
6046
|
}
|
|
6037
6047
|
});
|
|
6038
|
-
const _hoisted_1$
|
|
6039
|
-
const _hoisted_2$
|
|
6040
|
-
const _hoisted_3$
|
|
6041
|
-
const _sfc_main$
|
|
6048
|
+
const _hoisted_1$m = { key: 0 };
|
|
6049
|
+
const _hoisted_2$d = { key: 0 };
|
|
6050
|
+
const _hoisted_3$7 = { key: 1 };
|
|
6051
|
+
const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
6042
6052
|
__name: "Fullscreen",
|
|
6043
6053
|
setup(__props) {
|
|
6054
|
+
const { t } = useI18n("UI");
|
|
6044
6055
|
const table = getTableInstance();
|
|
6045
6056
|
const wrapEl = ref(null);
|
|
6046
6057
|
const { toggle, isFullscreen } = useFullscreen(wrapEl);
|
|
@@ -6061,15 +6072,15 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
6061
6072
|
const _directive_icon = resolveDirective("icon");
|
|
6062
6073
|
return openBlock(), createBlock(unref(Tooltip), { placement: "top" }, {
|
|
6063
6074
|
title: withCtx(() => [
|
|
6064
|
-
!unref(isFullscreen) ? (openBlock(), createElementBlock("span", _hoisted_1$
|
|
6075
|
+
!unref(isFullscreen) ? (openBlock(), createElementBlock("span", _hoisted_1$m, toDisplayString(unref(t)("FULLSCREEN")), 1)) : createCommentVNode("", true)
|
|
6065
6076
|
]),
|
|
6066
6077
|
default: withCtx(() => [
|
|
6067
6078
|
createElementVNode("span", {
|
|
6068
6079
|
onClick: _cache[0] || (_cache[0] = (...args) => unref(toggle) && unref(toggle)(...args))
|
|
6069
6080
|
}, [
|
|
6070
|
-
!unref(isFullscreen) ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$
|
|
6081
|
+
!unref(isFullscreen) ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$d, null, 512)), [
|
|
6071
6082
|
[_directive_icon, "ic:baseline-fullscreen"]
|
|
6072
|
-
]) : withDirectives((openBlock(), createElementBlock("span", _hoisted_3$
|
|
6083
|
+
]) : withDirectives((openBlock(), createElementBlock("span", _hoisted_3$7, null, 512)), [
|
|
6073
6084
|
[_directive_icon, "ic:baseline-fullscreen-exit"]
|
|
6074
6085
|
])
|
|
6075
6086
|
])
|
|
@@ -6079,11 +6090,11 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
6079
6090
|
};
|
|
6080
6091
|
}
|
|
6081
6092
|
});
|
|
6082
|
-
const _hoisted_1$
|
|
6083
|
-
const
|
|
6084
|
-
const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
6093
|
+
const _hoisted_1$l = { class: "column-select" };
|
|
6094
|
+
const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
6085
6095
|
__name: "DownloadCtrl",
|
|
6086
6096
|
setup(__props) {
|
|
6097
|
+
const { t } = useI18n("UI");
|
|
6087
6098
|
const { message } = useMessage();
|
|
6088
6099
|
const state = reactive({
|
|
6089
6100
|
indeterminate: false,
|
|
@@ -6096,7 +6107,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
6096
6107
|
};
|
|
6097
6108
|
const [registerDialog, { closeModal }] = useModal({
|
|
6098
6109
|
width: "60%",
|
|
6099
|
-
title: "
|
|
6110
|
+
title: t("SETTING_EXPORT_COLUMN")
|
|
6100
6111
|
}, (data) => {
|
|
6101
6112
|
outRow.value = data;
|
|
6102
6113
|
});
|
|
@@ -6118,18 +6129,18 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
6118
6129
|
var _a;
|
|
6119
6130
|
let columns = (_a = unref(outRow)) == null ? void 0 : _a.columns.filter((it) => it.ifShow);
|
|
6120
6131
|
if (!columns.length) {
|
|
6121
|
-
message.error("
|
|
6132
|
+
message.error(t("NO_EXPORT_COLUMN"));
|
|
6122
6133
|
return;
|
|
6123
6134
|
}
|
|
6124
6135
|
closeModal(columns);
|
|
6125
6136
|
}
|
|
6126
6137
|
return (_ctx, _cache) => {
|
|
6127
|
-
return openBlock(), createBlock(unref(_sfc_main$
|
|
6138
|
+
return openBlock(), createBlock(unref(_sfc_main$K), {
|
|
6128
6139
|
onRegister: unref(registerDialog),
|
|
6129
6140
|
onSave: save
|
|
6130
6141
|
}, {
|
|
6131
6142
|
default: withCtx(() => [
|
|
6132
|
-
createElementVNode("div", _hoisted_1$
|
|
6143
|
+
createElementVNode("div", _hoisted_1$l, [
|
|
6133
6144
|
createVNode(unref(Checkbox), {
|
|
6134
6145
|
checked: state.checkAll,
|
|
6135
6146
|
"onUpdate:checked": _cache[0] || (_cache[0] = ($event) => state.checkAll = $event),
|
|
@@ -6137,7 +6148,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
6137
6148
|
onChange: onCheckAllChange
|
|
6138
6149
|
}, {
|
|
6139
6150
|
default: withCtx(() => [
|
|
6140
|
-
|
|
6151
|
+
createTextVNode(toDisplayString(unref(t)("SELECT_ALL")), 1)
|
|
6141
6152
|
]),
|
|
6142
6153
|
_: 1
|
|
6143
6154
|
}, 8, ["checked", "indeterminate"]),
|
|
@@ -6146,7 +6157,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
6146
6157
|
default: withCtx(() => {
|
|
6147
6158
|
var _a;
|
|
6148
6159
|
return [
|
|
6149
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList((_a = outRow.value) == null ? void 0 : _a.columns, (it,
|
|
6160
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList((_a = outRow.value) == null ? void 0 : _a.columns, (it, index2) => {
|
|
6150
6161
|
return openBlock(), createBlock(unref(Col), { span: 8 }, {
|
|
6151
6162
|
default: withCtx(() => [
|
|
6152
6163
|
createVNode(unref(Checkbox), {
|
|
@@ -6173,13 +6184,10 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
6173
6184
|
};
|
|
6174
6185
|
}
|
|
6175
6186
|
});
|
|
6176
|
-
const
|
|
6177
|
-
const _hoisted_2$e = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u5F53\u524D\u9875", -1);
|
|
6178
|
-
const _hoisted_3$9 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u9009\u4E2D\u5217", -1);
|
|
6179
|
-
const _hoisted_4$5 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u6240\u6709\u5217", -1);
|
|
6180
|
-
const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
6187
|
+
const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
6181
6188
|
__name: "Download",
|
|
6182
6189
|
setup(__props) {
|
|
6190
|
+
const { t } = useI18n("UI");
|
|
6183
6191
|
const [registerDialog, { openModal }] = useModalOut();
|
|
6184
6192
|
const table = getTableInstance();
|
|
6185
6193
|
function handleTitleClick({ key }) {
|
|
@@ -6203,7 +6211,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
6203
6211
|
const _directive_icon = resolveDirective("icon");
|
|
6204
6212
|
return openBlock(), createBlock(unref(Tooltip), { placement: "top" }, {
|
|
6205
6213
|
title: withCtx(() => [
|
|
6206
|
-
|
|
6214
|
+
createElementVNode("span", null, toDisplayString(unref(t)("EXPORT")), 1)
|
|
6207
6215
|
]),
|
|
6208
6216
|
default: withCtx(() => [
|
|
6209
6217
|
createVNode(unref(Dropdown), {
|
|
@@ -6216,19 +6224,19 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
6216
6224
|
default: withCtx(() => [
|
|
6217
6225
|
createVNode(unref(MenuItem), { key: "current" }, {
|
|
6218
6226
|
default: withCtx(() => [
|
|
6219
|
-
|
|
6227
|
+
createElementVNode("span", null, toDisplayString(unref(t)("EXPORT_CURRENT_PAGE")), 1)
|
|
6220
6228
|
]),
|
|
6221
6229
|
_: 1
|
|
6222
6230
|
}),
|
|
6223
6231
|
createVNode(unref(MenuItem), { key: "select" }, {
|
|
6224
6232
|
default: withCtx(() => [
|
|
6225
|
-
|
|
6233
|
+
createElementVNode("span", null, toDisplayString(unref(t)("EXPORT_SELECT_COLUMN")), 1)
|
|
6226
6234
|
]),
|
|
6227
6235
|
_: 1
|
|
6228
6236
|
}),
|
|
6229
6237
|
createVNode(unref(MenuItem), { key: "all" }, {
|
|
6230
6238
|
default: withCtx(() => [
|
|
6231
|
-
|
|
6239
|
+
createElementVNode("span", null, toDisplayString(unref(t)("EXPORT_ALL")), 1)
|
|
6232
6240
|
]),
|
|
6233
6241
|
_: 1
|
|
6234
6242
|
})
|
|
@@ -6243,19 +6251,19 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
6243
6251
|
]),
|
|
6244
6252
|
_: 1
|
|
6245
6253
|
}, 8, ["getPopupContainer"]),
|
|
6246
|
-
createVNode(_sfc_main$
|
|
6254
|
+
createVNode(_sfc_main$E, { onRegister: unref(registerDialog) }, null, 8, ["onRegister"])
|
|
6247
6255
|
]),
|
|
6248
6256
|
_: 1
|
|
6249
6257
|
});
|
|
6250
6258
|
};
|
|
6251
6259
|
}
|
|
6252
6260
|
});
|
|
6253
|
-
const _sfc_main$
|
|
6261
|
+
const _sfc_main$C = defineComponent({
|
|
6254
6262
|
name: "table-setting",
|
|
6255
6263
|
components: {
|
|
6256
|
-
ColumnSetting: _sfc_main$
|
|
6257
|
-
FullscreenSetting: _sfc_main$
|
|
6258
|
-
Download: _sfc_main$
|
|
6264
|
+
ColumnSetting: _sfc_main$G,
|
|
6265
|
+
FullscreenSetting: _sfc_main$F,
|
|
6266
|
+
Download: _sfc_main$D
|
|
6259
6267
|
},
|
|
6260
6268
|
props: {
|
|
6261
6269
|
setting: {
|
|
@@ -6295,8 +6303,8 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6295
6303
|
_ctx.getSetting.fullscreen ? (openBlock(), createBlock(_component_FullscreenSetting, { key: 2 })) : createCommentVNode("", true)
|
|
6296
6304
|
], 64);
|
|
6297
6305
|
}
|
|
6298
|
-
var TableSettinCom = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
6299
|
-
const _sfc_main$
|
|
6306
|
+
var TableSettinCom = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$2]]);
|
|
6307
|
+
const _sfc_main$B = defineComponent({
|
|
6300
6308
|
name: "table-header",
|
|
6301
6309
|
components: {
|
|
6302
6310
|
TableSettinCom,
|
|
@@ -6336,39 +6344,39 @@ const _sfc_main$C = defineComponent({
|
|
|
6336
6344
|
};
|
|
6337
6345
|
}
|
|
6338
6346
|
});
|
|
6339
|
-
const _hoisted_1$
|
|
6340
|
-
const _hoisted_2$
|
|
6341
|
-
const _hoisted_3$
|
|
6342
|
-
const _hoisted_4$
|
|
6347
|
+
const _hoisted_1$k = { class: "dt-table-header" };
|
|
6348
|
+
const _hoisted_2$c = { class: "dt-table-header-actions" };
|
|
6349
|
+
const _hoisted_3$6 = { class: "dt-table-header-actions__left" };
|
|
6350
|
+
const _hoisted_4$3 = {
|
|
6343
6351
|
key: 0,
|
|
6344
6352
|
class: "dt-table-header-actions__right"
|
|
6345
6353
|
};
|
|
6346
|
-
const _hoisted_5$
|
|
6354
|
+
const _hoisted_5$2 = {
|
|
6347
6355
|
key: 0,
|
|
6348
6356
|
style: { "margin": "5px" }
|
|
6349
6357
|
};
|
|
6350
6358
|
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
6351
6359
|
const _component_FormButtons = resolveComponent("FormButtons");
|
|
6352
6360
|
const _component_TableSettinCom = resolveComponent("TableSettinCom");
|
|
6353
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
6354
|
-
createElementVNode("div", _hoisted_2$
|
|
6355
|
-
createElementVNode("div", _hoisted_3$
|
|
6361
|
+
return openBlock(), createElementBlock("div", _hoisted_1$k, [
|
|
6362
|
+
createElementVNode("div", _hoisted_2$c, [
|
|
6363
|
+
createElementVNode("div", _hoisted_3$6, [
|
|
6356
6364
|
createVNode(_component_FormButtons, mergeProps(_ctx.getActionsProps, { onHandleMethod: _ctx.handleMethod }), null, 16, ["onHandleMethod"]),
|
|
6357
6365
|
renderSlot(_ctx.$slots, "toolbar")
|
|
6358
6366
|
]),
|
|
6359
|
-
_ctx.tableTools ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
6367
|
+
_ctx.tableTools ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
|
|
6360
6368
|
createVNode(_component_TableSettinCom, {
|
|
6361
6369
|
setting: _ctx.tableTools,
|
|
6362
6370
|
onColumnsChange: _ctx.handleColumnChange
|
|
6363
6371
|
}, null, 8, ["setting", "onColumnsChange"])
|
|
6364
6372
|
])) : createCommentVNode("", true)
|
|
6365
6373
|
]),
|
|
6366
|
-
_ctx.$slots.headerTop ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
6374
|
+
_ctx.$slots.headerTop ? (openBlock(), createElementBlock("div", _hoisted_5$2, [
|
|
6367
6375
|
renderSlot(_ctx.$slots, "headerTop")
|
|
6368
6376
|
])) : createCommentVNode("", true)
|
|
6369
6377
|
]);
|
|
6370
6378
|
}
|
|
6371
|
-
var TableHeader = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
6379
|
+
var TableHeader = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["render", _sfc_render$1]]);
|
|
6372
6380
|
function useTableHeader(propsRef, slots, handlers) {
|
|
6373
6381
|
const getHeaderProps = computed(() => {
|
|
6374
6382
|
const { tableSetting, toolbar } = unref(propsRef);
|
|
@@ -6523,11 +6531,9 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
|
|
|
6523
6531
|
bodyEl = tableEl.querySelector(".ant-table-body");
|
|
6524
6532
|
createScrollWrap(bodyEl);
|
|
6525
6533
|
calcScroll(bodyEl);
|
|
6526
|
-
bodyEl.addEventListener("scroll", (
|
|
6527
|
-
|
|
6528
|
-
|
|
6529
|
-
}, 100)();
|
|
6530
|
-
});
|
|
6534
|
+
bodyEl.addEventListener("scroll", useDebounceFn(() => {
|
|
6535
|
+
calcScroll(bodyEl);
|
|
6536
|
+
}, 100));
|
|
6531
6537
|
}
|
|
6532
6538
|
async function calcScroll(el) {
|
|
6533
6539
|
var _a;
|
|
@@ -6552,7 +6558,7 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
|
|
|
6552
6558
|
};
|
|
6553
6559
|
}
|
|
6554
6560
|
function useCustomRow(propsRef, { setSelectedRowKeys, getSelectRowKeys, clearSelectedRowKeys, emit }) {
|
|
6555
|
-
const customRow = (record,
|
|
6561
|
+
const customRow = (record, index2) => {
|
|
6556
6562
|
return {
|
|
6557
6563
|
onClick: (e) => {
|
|
6558
6564
|
e == null ? void 0 : e.stopPropagation();
|
|
@@ -6595,19 +6601,19 @@ function useCustomRow(propsRef, { setSelectedRowKeys, getSelectRowKeys, clearSel
|
|
|
6595
6601
|
}
|
|
6596
6602
|
}
|
|
6597
6603
|
handleClick();
|
|
6598
|
-
emit("row-click", record,
|
|
6604
|
+
emit("row-click", record, index2, e);
|
|
6599
6605
|
},
|
|
6600
6606
|
onDblclick: (event) => {
|
|
6601
|
-
emit("row-dbClick", record,
|
|
6607
|
+
emit("row-dbClick", record, index2, event);
|
|
6602
6608
|
},
|
|
6603
6609
|
onContextmenu: (event) => {
|
|
6604
|
-
emit("row-contextmenu", record,
|
|
6610
|
+
emit("row-contextmenu", record, index2, event);
|
|
6605
6611
|
},
|
|
6606
6612
|
onMouseenter: (event) => {
|
|
6607
|
-
emit("row-mouseenter", record,
|
|
6613
|
+
emit("row-mouseenter", record, index2, event);
|
|
6608
6614
|
},
|
|
6609
6615
|
onMouseleave: (event) => {
|
|
6610
|
-
emit("row-mouseleave", record,
|
|
6616
|
+
emit("row-mouseleave", record, index2, event);
|
|
6611
6617
|
}
|
|
6612
6618
|
};
|
|
6613
6619
|
};
|
|
@@ -6616,12 +6622,12 @@ function useCustomRow(propsRef, { setSelectedRowKeys, getSelectRowKeys, clearSel
|
|
|
6616
6622
|
};
|
|
6617
6623
|
}
|
|
6618
6624
|
var _imports_0$1 = "data:image/png;base64,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";
|
|
6619
|
-
const _sfc_main$
|
|
6625
|
+
const _sfc_main$A = defineComponent({
|
|
6620
6626
|
name: "dt-table",
|
|
6621
6627
|
props: TableProps,
|
|
6622
6628
|
components: {
|
|
6623
6629
|
Table,
|
|
6624
|
-
TableRender: _sfc_main$
|
|
6630
|
+
TableRender: _sfc_main$I
|
|
6625
6631
|
},
|
|
6626
6632
|
emits: [
|
|
6627
6633
|
"register",
|
|
@@ -6638,7 +6644,6 @@ const _sfc_main$B = defineComponent({
|
|
|
6638
6644
|
setup(props, { emit, attrs, slots }) {
|
|
6639
6645
|
const tableElRef = ref(null);
|
|
6640
6646
|
ref([]);
|
|
6641
|
-
useApp();
|
|
6642
6647
|
const innerPropsRef = ref();
|
|
6643
6648
|
const getProps = computed(() => {
|
|
6644
6649
|
return { ...props, ...unref(innerPropsRef) };
|
|
@@ -6746,7 +6751,7 @@ const _sfc_main$B = defineComponent({
|
|
|
6746
6751
|
};
|
|
6747
6752
|
}
|
|
6748
6753
|
});
|
|
6749
|
-
const _hoisted_1$
|
|
6754
|
+
const _hoisted_1$j = /* @__PURE__ */ createElementVNode("img", { src: _imports_0$1 }, null, -1);
|
|
6750
6755
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
6751
6756
|
const _component_TableRender = resolveComponent("TableRender");
|
|
6752
6757
|
const _component_Table = resolveComponent("Table");
|
|
@@ -6755,16 +6760,16 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6755
6760
|
onChange: _ctx.handleTableChange,
|
|
6756
6761
|
onResizeColumn: _ctx.handleResizeColumn
|
|
6757
6762
|
}), createSlots({
|
|
6758
|
-
bodyCell: withCtx(({ column, record, index }) => [
|
|
6763
|
+
bodyCell: withCtx(({ column, record, index: index2 }) => [
|
|
6759
6764
|
(column == null ? void 0 : column.render) ? (openBlock(), createBlock(_component_TableRender, {
|
|
6760
6765
|
key: 0,
|
|
6761
6766
|
column,
|
|
6762
6767
|
record,
|
|
6763
|
-
index
|
|
6768
|
+
index: index2
|
|
6764
6769
|
}, null, 8, ["column", "record", "index"])) : createCommentVNode("", true)
|
|
6765
6770
|
]),
|
|
6766
6771
|
emptyText: withCtx(() => [
|
|
6767
|
-
_hoisted_1$
|
|
6772
|
+
_hoisted_1$j
|
|
6768
6773
|
]),
|
|
6769
6774
|
_: 2
|
|
6770
6775
|
}, [
|
|
@@ -6778,7 +6783,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6778
6783
|
})
|
|
6779
6784
|
]), 1040, ["rowClassName", "onChange", "onResizeColumn"]);
|
|
6780
6785
|
}
|
|
6781
|
-
var
|
|
6786
|
+
var index = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["render", _sfc_render]]);
|
|
6782
6787
|
function useFetch(api, baseUrl = "") {
|
|
6783
6788
|
function fetch(params, onlyData = true) {
|
|
6784
6789
|
let type, header = {}, model = {};
|
|
@@ -6890,6 +6895,7 @@ function useDownload(exportUrl, exportName) {
|
|
|
6890
6895
|
}
|
|
6891
6896
|
function useSource(opt) {
|
|
6892
6897
|
var _a, _b, _c, _d;
|
|
6898
|
+
const { t } = useI18n("UI");
|
|
6893
6899
|
const loading = {
|
|
6894
6900
|
onSearch: ref(false),
|
|
6895
6901
|
onReset: ref(false)
|
|
@@ -6986,7 +6992,7 @@ function useSource(opt) {
|
|
|
6986
6992
|
let httpFetch = fetch(model, false);
|
|
6987
6993
|
httpFetch.then((rsp) => {
|
|
6988
6994
|
if ((rsp == null ? void 0 : rsp.code) === 0) {
|
|
6989
|
-
message.success("
|
|
6995
|
+
message.success(t("ADD_SUCCESS"));
|
|
6990
6996
|
search();
|
|
6991
6997
|
}
|
|
6992
6998
|
});
|
|
@@ -7005,7 +7011,7 @@ function useSource(opt) {
|
|
|
7005
7011
|
let httpFetch = fetch(model, false);
|
|
7006
7012
|
httpFetch.then((rsp) => {
|
|
7007
7013
|
if ((rsp == null ? void 0 : rsp.code) === 0) {
|
|
7008
|
-
message.success("
|
|
7014
|
+
message.success(t("UPDATE_SUCCESS"));
|
|
7009
7015
|
search();
|
|
7010
7016
|
}
|
|
7011
7017
|
});
|
|
@@ -7017,7 +7023,7 @@ function useSource(opt) {
|
|
|
7017
7023
|
const { fetch } = useFetch(deletes, baseUrl);
|
|
7018
7024
|
fetch(toRaw(ids), false).then((rsp) => {
|
|
7019
7025
|
if ((rsp == null ? void 0 : rsp.code) === 0) {
|
|
7020
|
-
message.success(`${ids.length > 1 ? "
|
|
7026
|
+
message.success(`${ids.length > 1 ? t("MULTIFY") : ""} ${t("DELETE_SUCCESS")}`);
|
|
7021
7027
|
search();
|
|
7022
7028
|
}
|
|
7023
7029
|
});
|
|
@@ -7092,7 +7098,7 @@ const basicProps = {
|
|
|
7092
7098
|
type: Object
|
|
7093
7099
|
}
|
|
7094
7100
|
};
|
|
7095
|
-
const _sfc_main$
|
|
7101
|
+
const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
7096
7102
|
__name: "dialog",
|
|
7097
7103
|
props: {
|
|
7098
7104
|
...basicProps,
|
|
@@ -7112,7 +7118,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
|
7112
7118
|
},
|
|
7113
7119
|
setup(__props) {
|
|
7114
7120
|
const props = __props;
|
|
7115
|
-
const [registerDialog, { closeModal
|
|
7121
|
+
const [registerDialog, { closeModal }] = useModal({
|
|
7116
7122
|
...omit(toRaw(props), [
|
|
7117
7123
|
"curd",
|
|
7118
7124
|
"formProps",
|
|
@@ -7147,7 +7153,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
|
7147
7153
|
}
|
|
7148
7154
|
}
|
|
7149
7155
|
return (_ctx, _cache) => {
|
|
7150
|
-
return openBlock(), createBlock(unref(_sfc_main$
|
|
7156
|
+
return openBlock(), createBlock(unref(_sfc_main$K), {
|
|
7151
7157
|
onRegister: unref(registerDialog),
|
|
7152
7158
|
onSave: handleSave
|
|
7153
7159
|
}, {
|
|
@@ -7169,12 +7175,15 @@ function useCurd(curdOpt) {
|
|
|
7169
7175
|
confirm,
|
|
7170
7176
|
message
|
|
7171
7177
|
} = useMessage();
|
|
7178
|
+
const {
|
|
7179
|
+
t
|
|
7180
|
+
} = useI18n("UI");
|
|
7172
7181
|
const actType = ref(null);
|
|
7173
7182
|
const title = computed(() => unref(actType) + unref(curdOpt.title));
|
|
7174
7183
|
const DtCurdModal = () => {
|
|
7175
7184
|
return h(createVNode("div", {
|
|
7176
7185
|
"class": "curdModal"
|
|
7177
|
-
}, [createVNode(_sfc_main$
|
|
7186
|
+
}, [createVNode(_sfc_main$z, mergeProps(curdOpt, {
|
|
7178
7187
|
"title": title,
|
|
7179
7188
|
"formsVal": formsVal,
|
|
7180
7189
|
"formProps": curdOpt.formProps,
|
|
@@ -7182,7 +7191,7 @@ function useCurd(curdOpt) {
|
|
|
7182
7191
|
}), null)]));
|
|
7183
7192
|
};
|
|
7184
7193
|
function add() {
|
|
7185
|
-
actType.value = "
|
|
7194
|
+
actType.value = t("ADD");
|
|
7186
7195
|
formsVal.value = null;
|
|
7187
7196
|
openModal();
|
|
7188
7197
|
}
|
|
@@ -7195,15 +7204,15 @@ function useCurd(curdOpt) {
|
|
|
7195
7204
|
} = curdOpt;
|
|
7196
7205
|
if (curd && curd.onDeletes && isFunction(curd.onDeletes)) {
|
|
7197
7206
|
confirm({
|
|
7198
|
-
title: "
|
|
7199
|
-
content: "
|
|
7207
|
+
title: t("DELETE_CONFIRM"),
|
|
7208
|
+
content: t("CONFIRM_DELETE"),
|
|
7200
7209
|
iconType: "warning",
|
|
7201
7210
|
onOk() {
|
|
7202
7211
|
curd.onDeletes([row[primaryKey]]);
|
|
7203
7212
|
}
|
|
7204
7213
|
});
|
|
7205
7214
|
} else {
|
|
7206
|
-
error(
|
|
7215
|
+
error(t("NEED_CURD"));
|
|
7207
7216
|
}
|
|
7208
7217
|
}
|
|
7209
7218
|
function update({
|
|
@@ -7213,7 +7222,7 @@ function useCurd(curdOpt) {
|
|
|
7213
7222
|
primaryKey = "id",
|
|
7214
7223
|
curd
|
|
7215
7224
|
} = curdOpt;
|
|
7216
|
-
actType.value = "
|
|
7225
|
+
actType.value = t("EDIT");
|
|
7217
7226
|
curd.onQueryById(row[primaryKey]).then((rsp) => {
|
|
7218
7227
|
formsVal.value = rsp;
|
|
7219
7228
|
nextTick(() => dispatchResize());
|
|
@@ -7222,7 +7231,7 @@ function useCurd(curdOpt) {
|
|
|
7222
7231
|
}
|
|
7223
7232
|
function dels(ids = []) {
|
|
7224
7233
|
if (!ids.length) {
|
|
7225
|
-
message.error("
|
|
7234
|
+
message.error(t("EMPTY"));
|
|
7226
7235
|
return;
|
|
7227
7236
|
}
|
|
7228
7237
|
const {
|
|
@@ -7230,15 +7239,15 @@ function useCurd(curdOpt) {
|
|
|
7230
7239
|
} = curdOpt;
|
|
7231
7240
|
if (curd && curd.onDeletes && isFunction(curd.onDeletes)) {
|
|
7232
7241
|
confirm({
|
|
7233
|
-
title: "
|
|
7234
|
-
content: "
|
|
7242
|
+
title: t("MULTIFY_DELETE_CONFIRM"),
|
|
7243
|
+
content: t("CONFIRM_MULTIFY_DELETE"),
|
|
7235
7244
|
iconType: "warning",
|
|
7236
7245
|
onOk() {
|
|
7237
7246
|
curd.onDeletes(ids);
|
|
7238
7247
|
}
|
|
7239
7248
|
});
|
|
7240
7249
|
} else {
|
|
7241
|
-
error(
|
|
7250
|
+
error(t("NEED_CURD"));
|
|
7242
7251
|
}
|
|
7243
7252
|
}
|
|
7244
7253
|
function setFormValues(params) {
|
|
@@ -7258,9 +7267,9 @@ function useCurd(curdOpt) {
|
|
|
7258
7267
|
setFormValues
|
|
7259
7268
|
};
|
|
7260
7269
|
}
|
|
7261
|
-
const _hoisted_1$
|
|
7262
|
-
const _hoisted_2$
|
|
7263
|
-
const _sfc_main$
|
|
7270
|
+
const _hoisted_1$i = { class: "iframe-page" };
|
|
7271
|
+
const _hoisted_2$b = ["src"];
|
|
7272
|
+
const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
7264
7273
|
__name: "index",
|
|
7265
7274
|
props: {
|
|
7266
7275
|
showLoading: {
|
|
@@ -7282,7 +7291,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
|
7282
7291
|
iframeWin.postMessage(props.postMsg, props.src);
|
|
7283
7292
|
}
|
|
7284
7293
|
return (_ctx, _cache) => {
|
|
7285
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
7294
|
+
return openBlock(), createElementBlock("div", _hoisted_1$i, [
|
|
7286
7295
|
createVNode(unref(Spin), {
|
|
7287
7296
|
spinning: loading.value,
|
|
7288
7297
|
size: "large"
|
|
@@ -7294,7 +7303,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
|
7294
7303
|
ref_key: "frameRef",
|
|
7295
7304
|
ref: frameRef,
|
|
7296
7305
|
onLoad: _cache[0] || (_cache[0] = ($event) => afterLoaded())
|
|
7297
|
-
}, null, 40, _hoisted_2$
|
|
7306
|
+
}, null, 40, _hoisted_2$b)
|
|
7298
7307
|
]),
|
|
7299
7308
|
_: 1
|
|
7300
7309
|
}, 8, ["spinning"])
|
|
@@ -7302,685 +7311,6 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
|
7302
7311
|
};
|
|
7303
7312
|
}
|
|
7304
7313
|
});
|
|
7305
|
-
const basicUploadProps = {
|
|
7306
|
-
uploadText: {
|
|
7307
|
-
type: String,
|
|
7308
|
-
default: "\u6587\u4EF6\u4E0A\u4F20"
|
|
7309
|
-
},
|
|
7310
|
-
showTemplateDownload: {
|
|
7311
|
-
type: Boolean,
|
|
7312
|
-
default: false
|
|
7313
|
-
},
|
|
7314
|
-
templateDownload: {
|
|
7315
|
-
type: Function,
|
|
7316
|
-
default: () => {
|
|
7317
|
-
}
|
|
7318
|
-
},
|
|
7319
|
-
helpText: {
|
|
7320
|
-
type: String,
|
|
7321
|
-
default: ""
|
|
7322
|
-
},
|
|
7323
|
-
multiple: {
|
|
7324
|
-
type: Boolean,
|
|
7325
|
-
default: true
|
|
7326
|
-
},
|
|
7327
|
-
accept: {
|
|
7328
|
-
type: Array,
|
|
7329
|
-
default: () => []
|
|
7330
|
-
},
|
|
7331
|
-
maxSize: {
|
|
7332
|
-
type: Number
|
|
7333
|
-
},
|
|
7334
|
-
maxNumber: {
|
|
7335
|
-
type: Number,
|
|
7336
|
-
default: Infinity
|
|
7337
|
-
},
|
|
7338
|
-
defaultFiles: {
|
|
7339
|
-
type: Array,
|
|
7340
|
-
default: []
|
|
7341
|
-
},
|
|
7342
|
-
showView: {
|
|
7343
|
-
type: Boolean,
|
|
7344
|
-
default: false
|
|
7345
|
-
}
|
|
7346
|
-
};
|
|
7347
|
-
function useHelpers(acceptRef, helpTextRef, maxNumberRef, maxSizeRef) {
|
|
7348
|
-
const getAccept = computed(() => {
|
|
7349
|
-
const accept = unref(acceptRef);
|
|
7350
|
-
if (accept && accept.length > 0) {
|
|
7351
|
-
return accept;
|
|
7352
|
-
}
|
|
7353
|
-
return [];
|
|
7354
|
-
});
|
|
7355
|
-
const getStringAccept = computed(() => {
|
|
7356
|
-
return unref(getAccept).map((item) => {
|
|
7357
|
-
if (item.indexOf("/") > 0 || item.startsWith(".")) {
|
|
7358
|
-
return item;
|
|
7359
|
-
}
|
|
7360
|
-
return `.${item}`;
|
|
7361
|
-
}).join(",");
|
|
7362
|
-
});
|
|
7363
|
-
const getHelpText = computed(() => {
|
|
7364
|
-
const helpText = unref(helpTextRef);
|
|
7365
|
-
if (isBoolean(helpText) && !helpText) {
|
|
7366
|
-
return false;
|
|
7367
|
-
}
|
|
7368
|
-
if (helpText) {
|
|
7369
|
-
return helpText;
|
|
7370
|
-
}
|
|
7371
|
-
const helpTexts = [];
|
|
7372
|
-
const accept = unref(acceptRef);
|
|
7373
|
-
if (accept.length > 0) {
|
|
7374
|
-
helpTexts.push(`\u652F\u6301${accept.join(",")}\u683C\u5F0F`);
|
|
7375
|
-
}
|
|
7376
|
-
const maxSize = unref(maxSizeRef);
|
|
7377
|
-
if (maxSize) {
|
|
7378
|
-
helpTexts.push(`\u4E0D\u8D85\u8FC7${maxSize}M`);
|
|
7379
|
-
}
|
|
7380
|
-
const maxNumber = unref(maxNumberRef);
|
|
7381
|
-
if (maxNumber && maxNumber !== Infinity) {
|
|
7382
|
-
helpTexts.push(`\u6700\u591A\u53EF\u9009\u62E9${maxNumber}\u4E2A\u6587\u4EF6`);
|
|
7383
|
-
}
|
|
7384
|
-
return helpTexts.join(",") || "\u8BF7\u4E0A\u4F20pptx\u3001doc\u3001jpg\u3001jpeg\u3001png\u3001bmp\u3001gif\u3001xls\u3001xlsx\u3001txt\u3001rar\u3001zip\u30017z\u3001tar\u3001gz\u683C\u5F0F\u6587\u4EF6";
|
|
7385
|
-
});
|
|
7386
|
-
return {
|
|
7387
|
-
getStringAccept,
|
|
7388
|
-
getHelpText
|
|
7389
|
-
};
|
|
7390
|
-
}
|
|
7391
|
-
var sparkMd5 = { exports: {} };
|
|
7392
|
-
(function(module, exports) {
|
|
7393
|
-
(function(factory) {
|
|
7394
|
-
{
|
|
7395
|
-
module.exports = factory();
|
|
7396
|
-
}
|
|
7397
|
-
})(function(undefined$1) {
|
|
7398
|
-
var hex_chr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
7399
|
-
function md5cycle(x, k) {
|
|
7400
|
-
var a = x[0], b = x[1], c = x[2], d = x[3];
|
|
7401
|
-
a += (b & c | ~b & d) + k[0] - 680876936 | 0;
|
|
7402
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
7403
|
-
d += (a & b | ~a & c) + k[1] - 389564586 | 0;
|
|
7404
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
7405
|
-
c += (d & a | ~d & b) + k[2] + 606105819 | 0;
|
|
7406
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
7407
|
-
b += (c & d | ~c & a) + k[3] - 1044525330 | 0;
|
|
7408
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
7409
|
-
a += (b & c | ~b & d) + k[4] - 176418897 | 0;
|
|
7410
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
7411
|
-
d += (a & b | ~a & c) + k[5] + 1200080426 | 0;
|
|
7412
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
7413
|
-
c += (d & a | ~d & b) + k[6] - 1473231341 | 0;
|
|
7414
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
7415
|
-
b += (c & d | ~c & a) + k[7] - 45705983 | 0;
|
|
7416
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
7417
|
-
a += (b & c | ~b & d) + k[8] + 1770035416 | 0;
|
|
7418
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
7419
|
-
d += (a & b | ~a & c) + k[9] - 1958414417 | 0;
|
|
7420
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
7421
|
-
c += (d & a | ~d & b) + k[10] - 42063 | 0;
|
|
7422
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
7423
|
-
b += (c & d | ~c & a) + k[11] - 1990404162 | 0;
|
|
7424
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
7425
|
-
a += (b & c | ~b & d) + k[12] + 1804603682 | 0;
|
|
7426
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
7427
|
-
d += (a & b | ~a & c) + k[13] - 40341101 | 0;
|
|
7428
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
7429
|
-
c += (d & a | ~d & b) + k[14] - 1502002290 | 0;
|
|
7430
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
7431
|
-
b += (c & d | ~c & a) + k[15] + 1236535329 | 0;
|
|
7432
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
7433
|
-
a += (b & d | c & ~d) + k[1] - 165796510 | 0;
|
|
7434
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
7435
|
-
d += (a & c | b & ~c) + k[6] - 1069501632 | 0;
|
|
7436
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
7437
|
-
c += (d & b | a & ~b) + k[11] + 643717713 | 0;
|
|
7438
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
7439
|
-
b += (c & a | d & ~a) + k[0] - 373897302 | 0;
|
|
7440
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
7441
|
-
a += (b & d | c & ~d) + k[5] - 701558691 | 0;
|
|
7442
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
7443
|
-
d += (a & c | b & ~c) + k[10] + 38016083 | 0;
|
|
7444
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
7445
|
-
c += (d & b | a & ~b) + k[15] - 660478335 | 0;
|
|
7446
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
7447
|
-
b += (c & a | d & ~a) + k[4] - 405537848 | 0;
|
|
7448
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
7449
|
-
a += (b & d | c & ~d) + k[9] + 568446438 | 0;
|
|
7450
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
7451
|
-
d += (a & c | b & ~c) + k[14] - 1019803690 | 0;
|
|
7452
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
7453
|
-
c += (d & b | a & ~b) + k[3] - 187363961 | 0;
|
|
7454
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
7455
|
-
b += (c & a | d & ~a) + k[8] + 1163531501 | 0;
|
|
7456
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
7457
|
-
a += (b & d | c & ~d) + k[13] - 1444681467 | 0;
|
|
7458
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
7459
|
-
d += (a & c | b & ~c) + k[2] - 51403784 | 0;
|
|
7460
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
7461
|
-
c += (d & b | a & ~b) + k[7] + 1735328473 | 0;
|
|
7462
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
7463
|
-
b += (c & a | d & ~a) + k[12] - 1926607734 | 0;
|
|
7464
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
7465
|
-
a += (b ^ c ^ d) + k[5] - 378558 | 0;
|
|
7466
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
7467
|
-
d += (a ^ b ^ c) + k[8] - 2022574463 | 0;
|
|
7468
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
7469
|
-
c += (d ^ a ^ b) + k[11] + 1839030562 | 0;
|
|
7470
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
7471
|
-
b += (c ^ d ^ a) + k[14] - 35309556 | 0;
|
|
7472
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
7473
|
-
a += (b ^ c ^ d) + k[1] - 1530992060 | 0;
|
|
7474
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
7475
|
-
d += (a ^ b ^ c) + k[4] + 1272893353 | 0;
|
|
7476
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
7477
|
-
c += (d ^ a ^ b) + k[7] - 155497632 | 0;
|
|
7478
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
7479
|
-
b += (c ^ d ^ a) + k[10] - 1094730640 | 0;
|
|
7480
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
7481
|
-
a += (b ^ c ^ d) + k[13] + 681279174 | 0;
|
|
7482
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
7483
|
-
d += (a ^ b ^ c) + k[0] - 358537222 | 0;
|
|
7484
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
7485
|
-
c += (d ^ a ^ b) + k[3] - 722521979 | 0;
|
|
7486
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
7487
|
-
b += (c ^ d ^ a) + k[6] + 76029189 | 0;
|
|
7488
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
7489
|
-
a += (b ^ c ^ d) + k[9] - 640364487 | 0;
|
|
7490
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
7491
|
-
d += (a ^ b ^ c) + k[12] - 421815835 | 0;
|
|
7492
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
7493
|
-
c += (d ^ a ^ b) + k[15] + 530742520 | 0;
|
|
7494
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
7495
|
-
b += (c ^ d ^ a) + k[2] - 995338651 | 0;
|
|
7496
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
7497
|
-
a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;
|
|
7498
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
7499
|
-
d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;
|
|
7500
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
7501
|
-
c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;
|
|
7502
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
7503
|
-
b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;
|
|
7504
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
7505
|
-
a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;
|
|
7506
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
7507
|
-
d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;
|
|
7508
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
7509
|
-
c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;
|
|
7510
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
7511
|
-
b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;
|
|
7512
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
7513
|
-
a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;
|
|
7514
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
7515
|
-
d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;
|
|
7516
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
7517
|
-
c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;
|
|
7518
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
7519
|
-
b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;
|
|
7520
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
7521
|
-
a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;
|
|
7522
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
7523
|
-
d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;
|
|
7524
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
7525
|
-
c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;
|
|
7526
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
7527
|
-
b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;
|
|
7528
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
7529
|
-
x[0] = a + x[0] | 0;
|
|
7530
|
-
x[1] = b + x[1] | 0;
|
|
7531
|
-
x[2] = c + x[2] | 0;
|
|
7532
|
-
x[3] = d + x[3] | 0;
|
|
7533
|
-
}
|
|
7534
|
-
function md5blk(s) {
|
|
7535
|
-
var md5blks = [], i;
|
|
7536
|
-
for (i = 0; i < 64; i += 4) {
|
|
7537
|
-
md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);
|
|
7538
|
-
}
|
|
7539
|
-
return md5blks;
|
|
7540
|
-
}
|
|
7541
|
-
function md5blk_array(a) {
|
|
7542
|
-
var md5blks = [], i;
|
|
7543
|
-
for (i = 0; i < 64; i += 4) {
|
|
7544
|
-
md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);
|
|
7545
|
-
}
|
|
7546
|
-
return md5blks;
|
|
7547
|
-
}
|
|
7548
|
-
function md51(s) {
|
|
7549
|
-
var n = s.length, state = [1732584193, -271733879, -1732584194, 271733878], i, length, tail, tmp, lo, hi;
|
|
7550
|
-
for (i = 64; i <= n; i += 64) {
|
|
7551
|
-
md5cycle(state, md5blk(s.substring(i - 64, i)));
|
|
7552
|
-
}
|
|
7553
|
-
s = s.substring(i - 64);
|
|
7554
|
-
length = s.length;
|
|
7555
|
-
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
7556
|
-
for (i = 0; i < length; i += 1) {
|
|
7557
|
-
tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);
|
|
7558
|
-
}
|
|
7559
|
-
tail[i >> 2] |= 128 << (i % 4 << 3);
|
|
7560
|
-
if (i > 55) {
|
|
7561
|
-
md5cycle(state, tail);
|
|
7562
|
-
for (i = 0; i < 16; i += 1) {
|
|
7563
|
-
tail[i] = 0;
|
|
7564
|
-
}
|
|
7565
|
-
}
|
|
7566
|
-
tmp = n * 8;
|
|
7567
|
-
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
7568
|
-
lo = parseInt(tmp[2], 16);
|
|
7569
|
-
hi = parseInt(tmp[1], 16) || 0;
|
|
7570
|
-
tail[14] = lo;
|
|
7571
|
-
tail[15] = hi;
|
|
7572
|
-
md5cycle(state, tail);
|
|
7573
|
-
return state;
|
|
7574
|
-
}
|
|
7575
|
-
function md51_array(a) {
|
|
7576
|
-
var n = a.length, state = [1732584193, -271733879, -1732584194, 271733878], i, length, tail, tmp, lo, hi;
|
|
7577
|
-
for (i = 64; i <= n; i += 64) {
|
|
7578
|
-
md5cycle(state, md5blk_array(a.subarray(i - 64, i)));
|
|
7579
|
-
}
|
|
7580
|
-
a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);
|
|
7581
|
-
length = a.length;
|
|
7582
|
-
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
7583
|
-
for (i = 0; i < length; i += 1) {
|
|
7584
|
-
tail[i >> 2] |= a[i] << (i % 4 << 3);
|
|
7585
|
-
}
|
|
7586
|
-
tail[i >> 2] |= 128 << (i % 4 << 3);
|
|
7587
|
-
if (i > 55) {
|
|
7588
|
-
md5cycle(state, tail);
|
|
7589
|
-
for (i = 0; i < 16; i += 1) {
|
|
7590
|
-
tail[i] = 0;
|
|
7591
|
-
}
|
|
7592
|
-
}
|
|
7593
|
-
tmp = n * 8;
|
|
7594
|
-
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
7595
|
-
lo = parseInt(tmp[2], 16);
|
|
7596
|
-
hi = parseInt(tmp[1], 16) || 0;
|
|
7597
|
-
tail[14] = lo;
|
|
7598
|
-
tail[15] = hi;
|
|
7599
|
-
md5cycle(state, tail);
|
|
7600
|
-
return state;
|
|
7601
|
-
}
|
|
7602
|
-
function rhex(n) {
|
|
7603
|
-
var s = "", j;
|
|
7604
|
-
for (j = 0; j < 4; j += 1) {
|
|
7605
|
-
s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];
|
|
7606
|
-
}
|
|
7607
|
-
return s;
|
|
7608
|
-
}
|
|
7609
|
-
function hex(x) {
|
|
7610
|
-
var i;
|
|
7611
|
-
for (i = 0; i < x.length; i += 1) {
|
|
7612
|
-
x[i] = rhex(x[i]);
|
|
7613
|
-
}
|
|
7614
|
-
return x.join("");
|
|
7615
|
-
}
|
|
7616
|
-
if (hex(md51("hello")) !== "5d41402abc4b2a76b9719d911017c592")
|
|
7617
|
-
;
|
|
7618
|
-
if (typeof ArrayBuffer !== "undefined" && !ArrayBuffer.prototype.slice) {
|
|
7619
|
-
(function() {
|
|
7620
|
-
function clamp(val, length) {
|
|
7621
|
-
val = val | 0 || 0;
|
|
7622
|
-
if (val < 0) {
|
|
7623
|
-
return Math.max(val + length, 0);
|
|
7624
|
-
}
|
|
7625
|
-
return Math.min(val, length);
|
|
7626
|
-
}
|
|
7627
|
-
ArrayBuffer.prototype.slice = function(from, to) {
|
|
7628
|
-
var length = this.byteLength, begin = clamp(from, length), end = length, num, target, targetArray, sourceArray;
|
|
7629
|
-
if (to !== undefined$1) {
|
|
7630
|
-
end = clamp(to, length);
|
|
7631
|
-
}
|
|
7632
|
-
if (begin > end) {
|
|
7633
|
-
return new ArrayBuffer(0);
|
|
7634
|
-
}
|
|
7635
|
-
num = end - begin;
|
|
7636
|
-
target = new ArrayBuffer(num);
|
|
7637
|
-
targetArray = new Uint8Array(target);
|
|
7638
|
-
sourceArray = new Uint8Array(this, begin, num);
|
|
7639
|
-
targetArray.set(sourceArray);
|
|
7640
|
-
return target;
|
|
7641
|
-
};
|
|
7642
|
-
})();
|
|
7643
|
-
}
|
|
7644
|
-
function toUtf8(str) {
|
|
7645
|
-
if (/[\u0080-\uFFFF]/.test(str)) {
|
|
7646
|
-
str = unescape(encodeURIComponent(str));
|
|
7647
|
-
}
|
|
7648
|
-
return str;
|
|
7649
|
-
}
|
|
7650
|
-
function utf8Str2ArrayBuffer(str, returnUInt8Array) {
|
|
7651
|
-
var length = str.length, buff = new ArrayBuffer(length), arr = new Uint8Array(buff), i;
|
|
7652
|
-
for (i = 0; i < length; i += 1) {
|
|
7653
|
-
arr[i] = str.charCodeAt(i);
|
|
7654
|
-
}
|
|
7655
|
-
return returnUInt8Array ? arr : buff;
|
|
7656
|
-
}
|
|
7657
|
-
function arrayBuffer2Utf8Str(buff) {
|
|
7658
|
-
return String.fromCharCode.apply(null, new Uint8Array(buff));
|
|
7659
|
-
}
|
|
7660
|
-
function concatenateArrayBuffers(first, second, returnUInt8Array) {
|
|
7661
|
-
var result = new Uint8Array(first.byteLength + second.byteLength);
|
|
7662
|
-
result.set(new Uint8Array(first));
|
|
7663
|
-
result.set(new Uint8Array(second), first.byteLength);
|
|
7664
|
-
return returnUInt8Array ? result : result.buffer;
|
|
7665
|
-
}
|
|
7666
|
-
function hexToBinaryString(hex2) {
|
|
7667
|
-
var bytes = [], length = hex2.length, x;
|
|
7668
|
-
for (x = 0; x < length - 1; x += 2) {
|
|
7669
|
-
bytes.push(parseInt(hex2.substr(x, 2), 16));
|
|
7670
|
-
}
|
|
7671
|
-
return String.fromCharCode.apply(String, bytes);
|
|
7672
|
-
}
|
|
7673
|
-
function SparkMD5() {
|
|
7674
|
-
this.reset();
|
|
7675
|
-
}
|
|
7676
|
-
SparkMD5.prototype.append = function(str) {
|
|
7677
|
-
this.appendBinary(toUtf8(str));
|
|
7678
|
-
return this;
|
|
7679
|
-
};
|
|
7680
|
-
SparkMD5.prototype.appendBinary = function(contents) {
|
|
7681
|
-
this._buff += contents;
|
|
7682
|
-
this._length += contents.length;
|
|
7683
|
-
var length = this._buff.length, i;
|
|
7684
|
-
for (i = 64; i <= length; i += 64) {
|
|
7685
|
-
md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));
|
|
7686
|
-
}
|
|
7687
|
-
this._buff = this._buff.substring(i - 64);
|
|
7688
|
-
return this;
|
|
7689
|
-
};
|
|
7690
|
-
SparkMD5.prototype.end = function(raw) {
|
|
7691
|
-
var buff = this._buff, length = buff.length, i, tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ret;
|
|
7692
|
-
for (i = 0; i < length; i += 1) {
|
|
7693
|
-
tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);
|
|
7694
|
-
}
|
|
7695
|
-
this._finish(tail, length);
|
|
7696
|
-
ret = hex(this._hash);
|
|
7697
|
-
if (raw) {
|
|
7698
|
-
ret = hexToBinaryString(ret);
|
|
7699
|
-
}
|
|
7700
|
-
this.reset();
|
|
7701
|
-
return ret;
|
|
7702
|
-
};
|
|
7703
|
-
SparkMD5.prototype.reset = function() {
|
|
7704
|
-
this._buff = "";
|
|
7705
|
-
this._length = 0;
|
|
7706
|
-
this._hash = [1732584193, -271733879, -1732584194, 271733878];
|
|
7707
|
-
return this;
|
|
7708
|
-
};
|
|
7709
|
-
SparkMD5.prototype.getState = function() {
|
|
7710
|
-
return {
|
|
7711
|
-
buff: this._buff,
|
|
7712
|
-
length: this._length,
|
|
7713
|
-
hash: this._hash.slice()
|
|
7714
|
-
};
|
|
7715
|
-
};
|
|
7716
|
-
SparkMD5.prototype.setState = function(state) {
|
|
7717
|
-
this._buff = state.buff;
|
|
7718
|
-
this._length = state.length;
|
|
7719
|
-
this._hash = state.hash;
|
|
7720
|
-
return this;
|
|
7721
|
-
};
|
|
7722
|
-
SparkMD5.prototype.destroy = function() {
|
|
7723
|
-
delete this._hash;
|
|
7724
|
-
delete this._buff;
|
|
7725
|
-
delete this._length;
|
|
7726
|
-
};
|
|
7727
|
-
SparkMD5.prototype._finish = function(tail, length) {
|
|
7728
|
-
var i = length, tmp, lo, hi;
|
|
7729
|
-
tail[i >> 2] |= 128 << (i % 4 << 3);
|
|
7730
|
-
if (i > 55) {
|
|
7731
|
-
md5cycle(this._hash, tail);
|
|
7732
|
-
for (i = 0; i < 16; i += 1) {
|
|
7733
|
-
tail[i] = 0;
|
|
7734
|
-
}
|
|
7735
|
-
}
|
|
7736
|
-
tmp = this._length * 8;
|
|
7737
|
-
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
7738
|
-
lo = parseInt(tmp[2], 16);
|
|
7739
|
-
hi = parseInt(tmp[1], 16) || 0;
|
|
7740
|
-
tail[14] = lo;
|
|
7741
|
-
tail[15] = hi;
|
|
7742
|
-
md5cycle(this._hash, tail);
|
|
7743
|
-
};
|
|
7744
|
-
SparkMD5.hash = function(str, raw) {
|
|
7745
|
-
return SparkMD5.hashBinary(toUtf8(str), raw);
|
|
7746
|
-
};
|
|
7747
|
-
SparkMD5.hashBinary = function(content, raw) {
|
|
7748
|
-
var hash = md51(content), ret = hex(hash);
|
|
7749
|
-
return raw ? hexToBinaryString(ret) : ret;
|
|
7750
|
-
};
|
|
7751
|
-
SparkMD5.ArrayBuffer = function() {
|
|
7752
|
-
this.reset();
|
|
7753
|
-
};
|
|
7754
|
-
SparkMD5.ArrayBuffer.prototype.append = function(arr) {
|
|
7755
|
-
var buff = concatenateArrayBuffers(this._buff.buffer, arr, true), length = buff.length, i;
|
|
7756
|
-
this._length += arr.byteLength;
|
|
7757
|
-
for (i = 64; i <= length; i += 64) {
|
|
7758
|
-
md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));
|
|
7759
|
-
}
|
|
7760
|
-
this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);
|
|
7761
|
-
return this;
|
|
7762
|
-
};
|
|
7763
|
-
SparkMD5.ArrayBuffer.prototype.end = function(raw) {
|
|
7764
|
-
var buff = this._buff, length = buff.length, tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], i, ret;
|
|
7765
|
-
for (i = 0; i < length; i += 1) {
|
|
7766
|
-
tail[i >> 2] |= buff[i] << (i % 4 << 3);
|
|
7767
|
-
}
|
|
7768
|
-
this._finish(tail, length);
|
|
7769
|
-
ret = hex(this._hash);
|
|
7770
|
-
if (raw) {
|
|
7771
|
-
ret = hexToBinaryString(ret);
|
|
7772
|
-
}
|
|
7773
|
-
this.reset();
|
|
7774
|
-
return ret;
|
|
7775
|
-
};
|
|
7776
|
-
SparkMD5.ArrayBuffer.prototype.reset = function() {
|
|
7777
|
-
this._buff = new Uint8Array(0);
|
|
7778
|
-
this._length = 0;
|
|
7779
|
-
this._hash = [1732584193, -271733879, -1732584194, 271733878];
|
|
7780
|
-
return this;
|
|
7781
|
-
};
|
|
7782
|
-
SparkMD5.ArrayBuffer.prototype.getState = function() {
|
|
7783
|
-
var state = SparkMD5.prototype.getState.call(this);
|
|
7784
|
-
state.buff = arrayBuffer2Utf8Str(state.buff);
|
|
7785
|
-
return state;
|
|
7786
|
-
};
|
|
7787
|
-
SparkMD5.ArrayBuffer.prototype.setState = function(state) {
|
|
7788
|
-
state.buff = utf8Str2ArrayBuffer(state.buff, true);
|
|
7789
|
-
return SparkMD5.prototype.setState.call(this, state);
|
|
7790
|
-
};
|
|
7791
|
-
SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;
|
|
7792
|
-
SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;
|
|
7793
|
-
SparkMD5.ArrayBuffer.hash = function(arr, raw) {
|
|
7794
|
-
var hash = md51_array(new Uint8Array(arr)), ret = hex(hash);
|
|
7795
|
-
return raw ? hexToBinaryString(ret) : ret;
|
|
7796
|
-
};
|
|
7797
|
-
return SparkMD5;
|
|
7798
|
-
});
|
|
7799
|
-
})(sparkMd5);
|
|
7800
|
-
const _hoisted_1$j = { class: "dt-file" };
|
|
7801
|
-
const _hoisted_2$b = /* @__PURE__ */ createTextVNode(" \u6A21\u677F\u4E0B\u8F7D ");
|
|
7802
|
-
const _hoisted_3$7 = {
|
|
7803
|
-
key: 0,
|
|
7804
|
-
class: "file-type-tips ant-alert-info"
|
|
7805
|
-
};
|
|
7806
|
-
const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
7807
|
-
__name: "upload",
|
|
7808
|
-
props: basicUploadProps,
|
|
7809
|
-
setup(__props, { expose }) {
|
|
7810
|
-
const props = __props;
|
|
7811
|
-
const { message } = useMessage();
|
|
7812
|
-
const filesRef = ref([]);
|
|
7813
|
-
const historyFilesRef = ref([]);
|
|
7814
|
-
const allFilesRef = computed(() => {
|
|
7815
|
-
return [...historyFilesRef.value, ...filesRef.value];
|
|
7816
|
-
});
|
|
7817
|
-
const imgVisable = ref(false);
|
|
7818
|
-
const imgSrcRef = ref();
|
|
7819
|
-
const setImgVisible = (value) => imgVisable.value = value;
|
|
7820
|
-
const { accept, helpText, maxNumber, maxSize } = toRefs(props);
|
|
7821
|
-
const {
|
|
7822
|
-
getStringAccept,
|
|
7823
|
-
getHelpText
|
|
7824
|
-
} = useHelpers(accept, helpText, maxNumber, maxSize);
|
|
7825
|
-
const isImage = (fileType) => ["pdf", "jpg", "jpeg", "png", "bmp", "gif"].includes(fileType);
|
|
7826
|
-
const [registerTable] = useTable({
|
|
7827
|
-
tableSetting: false,
|
|
7828
|
-
pagination: false,
|
|
7829
|
-
rowSelection: null,
|
|
7830
|
-
dataSource: allFilesRef,
|
|
7831
|
-
columns: [
|
|
7832
|
-
{ title: "\u6587\u4EF6\u540D\u79F0", dataIndex: "fileName" },
|
|
7833
|
-
{ title: "\u4E0A\u4F20\u72B6\u6001", dataIndex: "fileStatue", className: "orange" }
|
|
7834
|
-
],
|
|
7835
|
-
operations: {
|
|
7836
|
-
expand: true,
|
|
7837
|
-
btns: [
|
|
7838
|
-
{
|
|
7839
|
-
title: "\u9884\u89C8",
|
|
7840
|
-
icon: "ic:baseline-remove-red-eye",
|
|
7841
|
-
ifShow(row) {
|
|
7842
|
-
if (!props.showView)
|
|
7843
|
-
return false;
|
|
7844
|
-
return isImage(row.fileName.split(".").pop());
|
|
7845
|
-
},
|
|
7846
|
-
action: ({ row }) => {
|
|
7847
|
-
if (isImage(row.fileName.split(".").pop())) {
|
|
7848
|
-
setImgVisible(true);
|
|
7849
|
-
}
|
|
7850
|
-
}
|
|
7851
|
-
},
|
|
7852
|
-
{ title: "\u5220\u9664", icon: "mdi:delete-outline", ifShow: true, action: ({ row }) => {
|
|
7853
|
-
if (!row.status)
|
|
7854
|
-
historyFilesRef.value = historyFilesRef.value.filter((it) => it.fileId !== row.fileId);
|
|
7855
|
-
else {
|
|
7856
|
-
filesRef.value = filesRef.value.filter((it) => it.fileId !== row.fileId);
|
|
7857
|
-
}
|
|
7858
|
-
} }
|
|
7859
|
-
]
|
|
7860
|
-
}
|
|
7861
|
-
});
|
|
7862
|
-
watch(() => props.defaultFiles, (v) => {
|
|
7863
|
-
if (v) {
|
|
7864
|
-
historyFilesRef.value = props.defaultFiles.map((file, index) => {
|
|
7865
|
-
return {
|
|
7866
|
-
...file,
|
|
7867
|
-
fileId: file.fileId || index,
|
|
7868
|
-
fileName: file.fileName,
|
|
7869
|
-
status: 0,
|
|
7870
|
-
fileStatue: "\u5386\u53F2\u4E0A\u4F20"
|
|
7871
|
-
};
|
|
7872
|
-
});
|
|
7873
|
-
}
|
|
7874
|
-
}, {
|
|
7875
|
-
immediate: true
|
|
7876
|
-
});
|
|
7877
|
-
function beforeUpload(file) {
|
|
7878
|
-
const { maxSize: maxSize2 } = props;
|
|
7879
|
-
if (maxSize2 && file.size / 1024 / 1024 >= maxSize2) {
|
|
7880
|
-
message.error(`\u53EA\u80FD\u4E0A\u4F20\u4E0D\u8D85\u8FC7${maxSize2}MB\u7684\u6587\u4EF6!`);
|
|
7881
|
-
return false;
|
|
7882
|
-
}
|
|
7883
|
-
addFile(file);
|
|
7884
|
-
return false;
|
|
7885
|
-
}
|
|
7886
|
-
function addFile(file) {
|
|
7887
|
-
let blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;
|
|
7888
|
-
let chunkSize = 2097152, chunks = Math.ceil(file.size / chunkSize), currentChunk = 0, spark = new sparkMd5.exports.ArrayBuffer(), fileReader = new FileReader();
|
|
7889
|
-
fileReader.onload = function(e) {
|
|
7890
|
-
spark.append(e.target["result"]);
|
|
7891
|
-
currentChunk++;
|
|
7892
|
-
if (currentChunk < chunks) {
|
|
7893
|
-
loadNext();
|
|
7894
|
-
} else {
|
|
7895
|
-
let fileObj = {
|
|
7896
|
-
fileName: file.name,
|
|
7897
|
-
fileId: spark.end(),
|
|
7898
|
-
file,
|
|
7899
|
-
status: 1,
|
|
7900
|
-
fileStatue: "\u5F85\u4E0A\u4F20"
|
|
7901
|
-
};
|
|
7902
|
-
if (props.multiple) {
|
|
7903
|
-
filesRef.value.push(fileObj);
|
|
7904
|
-
} else {
|
|
7905
|
-
historyFilesRef.value = [];
|
|
7906
|
-
filesRef.value = [fileObj];
|
|
7907
|
-
}
|
|
7908
|
-
}
|
|
7909
|
-
};
|
|
7910
|
-
function loadNext() {
|
|
7911
|
-
var start = currentChunk * chunkSize, end = start + chunkSize >= file.size ? file.size : start + chunkSize;
|
|
7912
|
-
fileReader.readAsArrayBuffer(blobSlice.call(file, start, end));
|
|
7913
|
-
}
|
|
7914
|
-
loadNext();
|
|
7915
|
-
}
|
|
7916
|
-
expose({
|
|
7917
|
-
allFilesRef
|
|
7918
|
-
});
|
|
7919
|
-
return (_ctx, _cache) => {
|
|
7920
|
-
const _directive_icon = resolveDirective("icon");
|
|
7921
|
-
return openBlock(), createElementBlock("div", _hoisted_1$j, [
|
|
7922
|
-
createElementVNode("div", {
|
|
7923
|
-
class: "file-header",
|
|
7924
|
-
style: normalizeStyle({
|
|
7925
|
-
"padding-bottom": !unref(getHelpText) ? "10px" : ""
|
|
7926
|
-
})
|
|
7927
|
-
}, [
|
|
7928
|
-
createElementVNode("div", null, [
|
|
7929
|
-
createVNode(unref(Upload), {
|
|
7930
|
-
accept: unref(getStringAccept),
|
|
7931
|
-
multiple: _ctx.multiple,
|
|
7932
|
-
"before-upload": beforeUpload,
|
|
7933
|
-
"show-upload-list": false
|
|
7934
|
-
}, {
|
|
7935
|
-
default: withCtx(() => [
|
|
7936
|
-
createVNode(unref(Button), { type: "primary" }, {
|
|
7937
|
-
default: withCtx(() => [
|
|
7938
|
-
withDirectives(createElementVNode("span", null, null, 512), [
|
|
7939
|
-
[_directive_icon, "ic:baseline-file-upload"]
|
|
7940
|
-
]),
|
|
7941
|
-
createTextVNode(" " + toDisplayString(_ctx.uploadText), 1)
|
|
7942
|
-
]),
|
|
7943
|
-
_: 1
|
|
7944
|
-
})
|
|
7945
|
-
]),
|
|
7946
|
-
_: 1
|
|
7947
|
-
}, 8, ["accept", "multiple"]),
|
|
7948
|
-
_ctx.showTemplateDownload ? (openBlock(), createBlock(unref(Button), {
|
|
7949
|
-
key: 0,
|
|
7950
|
-
type: "primary",
|
|
7951
|
-
onClick: _ctx.templateDownload
|
|
7952
|
-
}, {
|
|
7953
|
-
default: withCtx(() => [
|
|
7954
|
-
withDirectives(createElementVNode("span", null, null, 512), [
|
|
7955
|
-
[_directive_icon, "ic:baseline-file-download"]
|
|
7956
|
-
]),
|
|
7957
|
-
_hoisted_2$b
|
|
7958
|
-
]),
|
|
7959
|
-
_: 1
|
|
7960
|
-
}, 8, ["onClick"])) : createCommentVNode("", true)
|
|
7961
|
-
]),
|
|
7962
|
-
renderSlot(_ctx.$slots, "default")
|
|
7963
|
-
], 4),
|
|
7964
|
-
unref(getHelpText) ? (openBlock(), createElementBlock("div", _hoisted_3$7, [
|
|
7965
|
-
withDirectives(createElementVNode("span", null, null, 512), [
|
|
7966
|
-
[_directive_icon, "ant-design:info-circle-outlined"]
|
|
7967
|
-
]),
|
|
7968
|
-
createElementVNode("i", null, toDisplayString(unref(getHelpText)), 1)
|
|
7969
|
-
])) : createCommentVNode("", true),
|
|
7970
|
-
createVNode(unref(DtTable), { onRegister: unref(registerTable) }, null, 8, ["onRegister"]),
|
|
7971
|
-
createVNode(unref(Image), {
|
|
7972
|
-
width: 200,
|
|
7973
|
-
style: { display: "none" },
|
|
7974
|
-
preview: {
|
|
7975
|
-
visible: imgVisable.value,
|
|
7976
|
-
onVisibleChange: setImgVisible
|
|
7977
|
-
},
|
|
7978
|
-
src: imgSrcRef.value
|
|
7979
|
-
}, null, 8, ["preview", "src"])
|
|
7980
|
-
]);
|
|
7981
|
-
};
|
|
7982
|
-
}
|
|
7983
|
-
});
|
|
7984
7314
|
const BasicProps = {
|
|
7985
7315
|
showIcon: {
|
|
7986
7316
|
type: Boolean,
|
|
@@ -8095,20 +7425,20 @@ var ToolbarEnum = /* @__PURE__ */ ((ToolbarEnum2) => {
|
|
|
8095
7425
|
ToolbarEnum2[ToolbarEnum2["CHECK_UN_STRICTLY"] = 5] = "CHECK_UN_STRICTLY";
|
|
8096
7426
|
return ToolbarEnum2;
|
|
8097
7427
|
})(ToolbarEnum || {});
|
|
8098
|
-
const _hoisted_1$
|
|
7428
|
+
const _hoisted_1$h = { class: "dt-tree-header" };
|
|
8099
7429
|
const _hoisted_2$a = {
|
|
8100
7430
|
key: 1,
|
|
8101
7431
|
class: "headerTitle"
|
|
8102
7432
|
};
|
|
8103
|
-
const _hoisted_3$
|
|
7433
|
+
const _hoisted_3$5 = {
|
|
8104
7434
|
key: 2,
|
|
8105
7435
|
class: "dt-tree-search"
|
|
8106
7436
|
};
|
|
8107
|
-
const _hoisted_4$
|
|
7437
|
+
const _hoisted_4$2 = {
|
|
8108
7438
|
key: 0,
|
|
8109
7439
|
class: "dt-tree-search-input"
|
|
8110
7440
|
};
|
|
8111
|
-
const _hoisted_5$
|
|
7441
|
+
const _hoisted_5$1 = /* @__PURE__ */ createElementVNode("i", { class: "i ic:baseline-more-vert" }, null, -1);
|
|
8112
7442
|
const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
8113
7443
|
__name: "treeHeader",
|
|
8114
7444
|
props: searchProps,
|
|
@@ -8119,6 +7449,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
8119
7449
|
],
|
|
8120
7450
|
setup(__props, { emit: emits }) {
|
|
8121
7451
|
const props = __props;
|
|
7452
|
+
const { t } = useI18n("UI");
|
|
8122
7453
|
const slots = useSlots$1();
|
|
8123
7454
|
const searchValue = ref("");
|
|
8124
7455
|
function emitChange(value) {
|
|
@@ -8151,23 +7482,23 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
8151
7482
|
const toolbarList = computed(() => {
|
|
8152
7483
|
const { checkable } = props;
|
|
8153
7484
|
const defaultToolbarList = [
|
|
8154
|
-
{ label: "
|
|
7485
|
+
{ label: t("EXPAND_ALL"), value: ToolbarEnum.EXPAND_ALL },
|
|
8155
7486
|
{
|
|
8156
|
-
label: "
|
|
7487
|
+
label: t("COLLAPSE_ALL"),
|
|
8157
7488
|
value: ToolbarEnum.UN_EXPAND_ALL,
|
|
8158
7489
|
divider: checkable
|
|
8159
7490
|
}
|
|
8160
7491
|
];
|
|
8161
7492
|
return checkable ? [
|
|
8162
|
-
{ label: "
|
|
7493
|
+
{ label: t("SELECT_ALL1"), value: ToolbarEnum.SELECT_ALL },
|
|
8163
7494
|
{
|
|
8164
|
-
label: "
|
|
7495
|
+
label: t("CANCEL_SELECT_ALL"),
|
|
8165
7496
|
value: ToolbarEnum.UN_SELECT_ALL,
|
|
8166
7497
|
divider: checkable
|
|
8167
7498
|
},
|
|
8168
7499
|
...defaultToolbarList,
|
|
8169
|
-
{ label: "
|
|
8170
|
-
{ label: "
|
|
7500
|
+
{ label: t("LEVEL_CONNECTION"), value: ToolbarEnum.CHECK_STRICTLY },
|
|
7501
|
+
{ label: t("LEVEL_SOLATE"), value: ToolbarEnum.CHECK_UN_STRICTLY }
|
|
8171
7502
|
] : defaultToolbarList;
|
|
8172
7503
|
});
|
|
8173
7504
|
const debounceEmitChange = useDebounceFn(emitChange, 200);
|
|
@@ -8175,18 +7506,18 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
8175
7506
|
debounceEmitChange(v);
|
|
8176
7507
|
});
|
|
8177
7508
|
return (_ctx, _cache) => {
|
|
8178
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
7509
|
+
return openBlock(), createElementBlock("div", _hoisted_1$h, [
|
|
8179
7510
|
unref(slots).headerTitle ? renderSlot(_ctx.$slots, "headerTitle", { key: 0 }) : createCommentVNode("", true),
|
|
8180
7511
|
!unref(slots).headerTitle && _ctx.title ? (openBlock(), createElementBlock("h4", _hoisted_2$a, toDisplayString(_ctx.title), 1)) : createCommentVNode("", true),
|
|
8181
|
-
_ctx.search || _ctx.toolbar ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
8182
|
-
_ctx.search ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
7512
|
+
_ctx.search || _ctx.toolbar ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
|
|
7513
|
+
_ctx.search ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
|
|
8183
7514
|
createVNode(unref(InputSearch), {
|
|
8184
7515
|
size: "small",
|
|
8185
7516
|
allowClear: "",
|
|
8186
7517
|
value: searchValue.value,
|
|
8187
7518
|
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => searchValue.value = $event),
|
|
8188
|
-
placeholder: "
|
|
8189
|
-
}, null, 8, ["value"])
|
|
7519
|
+
placeholder: unref(t)("FILTER")
|
|
7520
|
+
}, null, 8, ["value", "placeholder"])
|
|
8190
7521
|
])) : createCommentVNode("", true),
|
|
8191
7522
|
_ctx.toolbar ? (openBlock(), createBlock(unref(Dropdown), {
|
|
8192
7523
|
key: 1,
|
|
@@ -8214,7 +7545,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
8214
7545
|
})
|
|
8215
7546
|
]),
|
|
8216
7547
|
default: withCtx(() => [
|
|
8217
|
-
_hoisted_5$
|
|
7548
|
+
_hoisted_5$1
|
|
8218
7549
|
]),
|
|
8219
7550
|
_: 1
|
|
8220
7551
|
})) : createCommentVNode("", true)
|
|
@@ -8268,8 +7599,8 @@ function useTree(treeDataRef, getFieldNames) {
|
|
|
8268
7599
|
const { key: keyField, children: childrenField } = unref(getFieldNames);
|
|
8269
7600
|
if (!childrenField || !keyField)
|
|
8270
7601
|
return keys;
|
|
8271
|
-
for (let
|
|
8272
|
-
const node = treeData[
|
|
7602
|
+
for (let index2 = 0; index2 < treeData.length; index2++) {
|
|
7603
|
+
const node = treeData[index2];
|
|
8273
7604
|
keys.push(node[keyField]);
|
|
8274
7605
|
const children = node[childrenField];
|
|
8275
7606
|
if (children && children.length) {
|
|
@@ -8284,8 +7615,8 @@ function useTree(treeDataRef, getFieldNames) {
|
|
|
8284
7615
|
const { key: keyField, children: childrenField } = unref(getFieldNames);
|
|
8285
7616
|
if (!childrenField || !keyField)
|
|
8286
7617
|
return keys;
|
|
8287
|
-
for (let
|
|
8288
|
-
const node = treeData[
|
|
7618
|
+
for (let index2 = 0; index2 < treeData.length; index2++) {
|
|
7619
|
+
const node = treeData[index2];
|
|
8289
7620
|
node.disabled !== true && node.selectable !== false && keys.push(node[keyField]);
|
|
8290
7621
|
const children = node[childrenField];
|
|
8291
7622
|
if (children && children.length) {
|
|
@@ -8300,8 +7631,8 @@ function useTree(treeDataRef, getFieldNames) {
|
|
|
8300
7631
|
const { key: keyField, children: childrenField } = unref(getFieldNames);
|
|
8301
7632
|
if (!childrenField || !keyField)
|
|
8302
7633
|
return keys;
|
|
8303
|
-
for (let
|
|
8304
|
-
const node = treeData[
|
|
7634
|
+
for (let index2 = 0; index2 < treeData.length; index2++) {
|
|
7635
|
+
const node = treeData[index2];
|
|
8305
7636
|
const children = node[childrenField];
|
|
8306
7637
|
if (nodeKey === node[keyField]) {
|
|
8307
7638
|
keys.push(node[keyField]);
|
|
@@ -8323,11 +7654,11 @@ function useTree(treeDataRef, getFieldNames) {
|
|
|
8323
7654
|
const { key: keyField, children: childrenField } = unref(getFieldNames);
|
|
8324
7655
|
if (!childrenField || !keyField)
|
|
8325
7656
|
return;
|
|
8326
|
-
for (let
|
|
8327
|
-
const element = treeData[
|
|
7657
|
+
for (let index2 = 0; index2 < treeData.length; index2++) {
|
|
7658
|
+
const element = treeData[index2];
|
|
8328
7659
|
const children = element[childrenField];
|
|
8329
7660
|
if (element[keyField] === key) {
|
|
8330
|
-
treeData[
|
|
7661
|
+
treeData[index2] = { ...treeData[index2], ...node };
|
|
8331
7662
|
break;
|
|
8332
7663
|
} else if (children && children.length) {
|
|
8333
7664
|
updateNodeByKey(key, node, element[childrenField]);
|
|
@@ -8339,8 +7670,8 @@ function useTree(treeDataRef, getFieldNames) {
|
|
|
8339
7670
|
return [];
|
|
8340
7671
|
const res = [];
|
|
8341
7672
|
const data = list || unref(treeDataRef) || [];
|
|
8342
|
-
for (let
|
|
8343
|
-
const item = data[
|
|
7673
|
+
for (let index2 = 0; index2 < data.length; index2++) {
|
|
7674
|
+
const item = data[index2];
|
|
8344
7675
|
const { key: keyField, children: childrenField } = unref(getFieldNames);
|
|
8345
7676
|
const key = keyField ? item[keyField] : "";
|
|
8346
7677
|
const children = childrenField ? item[childrenField] : [];
|
|
@@ -8402,11 +7733,11 @@ function useTree(treeDataRef, getFieldNames) {
|
|
|
8402
7733
|
const { key: keyField, children: childrenField } = unref(getFieldNames);
|
|
8403
7734
|
if (!childrenField || !keyField)
|
|
8404
7735
|
return;
|
|
8405
|
-
for (let
|
|
8406
|
-
const element = treeData[
|
|
7736
|
+
for (let index2 = 0; index2 < treeData.length; index2++) {
|
|
7737
|
+
const element = treeData[index2];
|
|
8407
7738
|
const children = element[childrenField];
|
|
8408
7739
|
if (element[keyField] === key) {
|
|
8409
|
-
treeData.splice(
|
|
7740
|
+
treeData.splice(index2, 1);
|
|
8410
7741
|
break;
|
|
8411
7742
|
} else if (children && children.length) {
|
|
8412
7743
|
deleteNodeByKey(key, element[childrenField]);
|
|
@@ -8451,6 +7782,9 @@ var _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
8451
7782
|
emit
|
|
8452
7783
|
}) {
|
|
8453
7784
|
const props = __props;
|
|
7785
|
+
const {
|
|
7786
|
+
t
|
|
7787
|
+
} = useI18n("UI");
|
|
8454
7788
|
const attrs = useAttrs$1();
|
|
8455
7789
|
const slots = useSlots$1();
|
|
8456
7790
|
const {
|
|
@@ -8580,9 +7914,9 @@ var _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
8580
7914
|
setExpandedKeys([...state.expandedKeys, key]);
|
|
8581
7915
|
} else {
|
|
8582
7916
|
const keys = [...state.expandedKeys];
|
|
8583
|
-
const
|
|
8584
|
-
if (
|
|
8585
|
-
keys.splice(
|
|
7917
|
+
const index2 = keys.findIndex((item) => item === key);
|
|
7918
|
+
if (index2 !== -1) {
|
|
7919
|
+
keys.splice(index2, 1);
|
|
8586
7920
|
}
|
|
8587
7921
|
setExpandedKeys(keys);
|
|
8588
7922
|
}
|
|
@@ -8593,7 +7927,7 @@ var _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
8593
7927
|
} = props;
|
|
8594
7928
|
if (!actionList || actionList.length === 0)
|
|
8595
7929
|
return;
|
|
8596
|
-
return actionList.map((item,
|
|
7930
|
+
return actionList.map((item, index2) => {
|
|
8597
7931
|
var _a;
|
|
8598
7932
|
let nodeShow = true;
|
|
8599
7933
|
if (isFunction(item.show)) {
|
|
@@ -8604,7 +7938,7 @@ var _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
8604
7938
|
if (!nodeShow)
|
|
8605
7939
|
return null;
|
|
8606
7940
|
return createVNode("span", {
|
|
8607
|
-
"key":
|
|
7941
|
+
"key": index2,
|
|
8608
7942
|
"class": "tree-action"
|
|
8609
7943
|
}, [item.render(node)]);
|
|
8610
7944
|
});
|
|
@@ -8772,24 +8106,23 @@ var _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
8772
8106
|
_: 1
|
|
8773
8107
|
}, 8, ["title", "toolbar", "search", "checkable", "searchText"])) : createCommentVNode("", true), createVNode(unref(Spin), {
|
|
8774
8108
|
spinning: _ctx.loading,
|
|
8775
|
-
tip: "
|
|
8109
|
+
tip: unref(t)("LOADING")
|
|
8776
8110
|
}, {
|
|
8777
8111
|
default: withCtx(() => [withDirectives(createElementVNode("div", null, [createVNode(unref(Tree), mergeProps(unref(getBindValues), {
|
|
8778
8112
|
showIcon: false,
|
|
8779
8113
|
treeData: unref(treeData)
|
|
8780
8114
|
}), null, 16, ["treeData"])], 512), [[vShow, !unref(getNotFound)]]), withDirectives(createVNode(unref(Empty), null, null, 512), [[vShow, unref(getNotFound)]])]),
|
|
8781
8115
|
_: 1
|
|
8782
|
-
}, 8, ["spinning"])], 2);
|
|
8116
|
+
}, 8, ["spinning", "tip"])], 2);
|
|
8783
8117
|
};
|
|
8784
8118
|
}
|
|
8785
8119
|
});
|
|
8786
8120
|
const dtComponents = [
|
|
8787
8121
|
{ name: "dt-base-router", component: DtBaseRouter },
|
|
8788
8122
|
{ name: "dt-icon", component: DtIcon },
|
|
8789
|
-
{ name: "dt-pick-icon", component: _sfc_main$
|
|
8790
|
-
{ name: "dt-modal", component: _sfc_main$
|
|
8123
|
+
{ name: "dt-pick-icon", component: _sfc_main$W },
|
|
8124
|
+
{ name: "dt-modal", component: _sfc_main$K },
|
|
8791
8125
|
{ name: "dt-form", component: DtForm },
|
|
8792
|
-
{ name: "dt-upload", component: _sfc_main$y },
|
|
8793
8126
|
{ name: "dt-tree", component: _sfc_main$w }
|
|
8794
8127
|
];
|
|
8795
8128
|
function initComponents() {
|
|
@@ -8821,7 +8154,6 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
8821
8154
|
};
|
|
8822
8155
|
}
|
|
8823
8156
|
});
|
|
8824
|
-
const _hoisted_1$h = { class: "dt-logo__title" };
|
|
8825
8157
|
const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
8826
8158
|
__name: "logo",
|
|
8827
8159
|
props: {
|
|
@@ -8830,7 +8162,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
8830
8162
|
},
|
|
8831
8163
|
setup(__props) {
|
|
8832
8164
|
const props = __props;
|
|
8833
|
-
const
|
|
8165
|
+
const { t } = useI18n("UI");
|
|
8166
|
+
const title = t("COMPANY_NAME");
|
|
8834
8167
|
const { getCollapsedShowTitle } = useMenu();
|
|
8835
8168
|
const getLogoClass = computed(() => {
|
|
8836
8169
|
return [
|
|
@@ -8848,7 +8181,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
8848
8181
|
size: 42,
|
|
8849
8182
|
"class-name": "brand-logo"
|
|
8850
8183
|
}),
|
|
8851
|
-
withDirectives(createElementVNode("div",
|
|
8184
|
+
withDirectives(createElementVNode("div", { class: "dt-logo__title" }, toDisplayString(unref(title)), 513), [
|
|
8852
8185
|
[vShow, __props.showTitle]
|
|
8853
8186
|
])
|
|
8854
8187
|
], 2);
|
|
@@ -8925,6 +8258,7 @@ const _hoisted_1$f = { class: "dt-breadcrumb" };
|
|
|
8925
8258
|
const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
8926
8259
|
__name: "bread-crumb",
|
|
8927
8260
|
setup(__props) {
|
|
8261
|
+
const { getIsZH } = useHeader();
|
|
8928
8262
|
let routes = ref([]);
|
|
8929
8263
|
const { currentRoute } = useRouter();
|
|
8930
8264
|
watchEffect(() => {
|
|
@@ -8938,7 +8272,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
8938
8272
|
itemRender: withCtx(({ route }) => {
|
|
8939
8273
|
var _a;
|
|
8940
8274
|
return [
|
|
8941
|
-
createElementVNode("span", null, toDisplayString(route.label || ((_a = route.meta) == null ? void 0 : _a.title)), 1)
|
|
8275
|
+
createElementVNode("span", null, toDisplayString((unref(getIsZH) ? route.label : route.enLabel) || ((_a = route.meta) == null ? void 0 : _a.title)), 1)
|
|
8942
8276
|
];
|
|
8943
8277
|
}),
|
|
8944
8278
|
_: 1
|
|
@@ -8998,14 +8332,13 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
8998
8332
|
var _imports_0 = "data:image/png;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAG9AfQDASIAAhEBAxEB/8QAHAAAAgMBAQEBAAAAAAAAAAAAAAECAwUEBgcI/8QASRAAAQQABAMFBAYJAQYEBwAAAQACAxEEBRIhMUFRBhMiYXEUMoGRFUJSobHBBxYjM2JyktHh8CRDRGOCkyU0U1QXc4Oio8Lx/8QAGgEBAQEBAQEBAAAAAAAAAAAAAAECAwQFBv/EACMRAQEAAgICAgMBAQEAAAAAAAABAhESEwMhBDEUQVFhIjL/2gAMAwEAAhEDEQA/AMZCSYX3XyQRso0rEtKCFJ0p0onjSKSSlSSATSKEQHihCEQVaYbSSlyQIpJoQACC1McUFGde0AnVqVIRoqRVKSRRESkFIpAIpp8kgmESoqQA4opHBGdAkJcuKDxTpDRX5qQ3CVIooaHNNCENEmhCGghCENBCEIaHNNKk0TQUlFNDQ5ppIQ0akFFCGkyUAgpct0BF0ldIQhDQQhCGghCENBAQhDR802lLmpDmjZpoCEELIQpaUIOSh0TpMJ0io0lR5lSpBCCBtHqmU0ESEgN1Kk6RESLSAU0Uio0kVOkUiIAFOlKkUilSVKVJIyKQhCKEIQgEk0+CCKQUikgKTQhAIQhAkUmhECEIQCEJoEhCaBJoTKJsghAKEU0IQjIUkhsnSCKEc1JFJMCimFJAkbIRSACaEIBCE0CQmhAqTCaECA3UggKSNEOKaKQgEKSEHKhCEUkJpoI6bSpSRSIiQkpI5oopFBCBuEZLmhHNCKSE0IpITKSMbCEIQCKTQhEUJlJGghCEAhCEAhNJAJ0gIQCSE0CTAQmiWiklJJGdgJpJ2ilSKTQhslKtlFSB5IhFNFIHBFFIohP0QCgOCklSaAQikIBOkIRAhCEUIQmgFIJBSRoJhIJoGjZJCA2QnQQg5qRSY4JhFCVhBUa80DQkhESoKKEIpEIATHFTAREKQQpUhBWmpEKKBVaKpSRVoliKFLSkQiaJATpCLoklIo2CCKE9k6CFqKEEboQlFITCCibJCaEAhHNCISE00CTQjjwQJCdJoFyST5pUiGEwEBSCKVJ1sjimio0gjdSpCACEJhAihSpIcUAmikIBJNCIE0k0U6TCN+aLRowmlYTQNCEIC/JCEIOfkhOikijilSaEEKRRU0IiFFFFTQgiAbUkIQCR2TSItEqNoTAKCDSJshxTKQTRdi0yEkEooI2SpCkEZ2ikUykgSYQUBECSkl6oEmEkwgEIISQNCAE6RLSQmkjJKQASrZMBGodIpPfki0UqQPRSKjRQFJ0gDgmlIQTtJOkUIQhAJhACaASTQiAIQikAhOkwECTCdJ1SKOKRGyYTRsgE00UgQTRwQpU2EIQs6NoUoEKaS0qFIpNNUQTpFJoIopNCIVboUqtFIIoTQgSE6QU2hUlW6aEQiFEhTQi1XW6mCikVuiIoTISQJCaaIje6CpJUmwgmEUnSbQqTpFJoQkJ+SKQRKdJ0mAiaRPBG6lSKRqEnW9opNEJNCECQik6RYSdIKaKKRSEUiGAmRSAgoEgKWyKCm1GnZIA2pUgDdNhUmAmhNgpBQhTYEIATpGoEIQgCE6QNynSRgUhCFUV0UVspJUjqrQp7JbKiKE6SpAIRSYG4QJMi0VXFHNERKFIhKkCpFJ0nSCFIUq2UaRAlSdIRSQmkiBKlKkkQqQVKkKbVBCnSVKoVJopCjNgQQnVIKoiAmik6QJNFJ1siUqTQikWCkUmhVSTrZOkKIVGklZdBQpFClSjSkCgRpKlIi0wKKJsqRQUkk2WlSAE6TUq7CEJrJskJoVkTZApopFJpdhSBCjVphpTS7M0ikBqelDYaKTKKQgVITQqK0UUwLTpG0NJS0q2lFVUaRVJoITYinSKQm0RJKjzVhCVJtCQpbUlsUCtFopFIBRKkUkCSpMoq0Z2SdIpMBFJKk0Im0UUpUilEtJCdJInIUlW6kikXaNbopTrdBCIhSkOCYaigFWSpClyRt0RSpKlKkqQFJ0nSDsgW6elQMzW8/ijvLIppPwWbTVSpSpJhD22OPRAIPBNnsUnsi0KApI8VInZJaCvyTRSdIhJoQgLQDaEwkCIQmnSKSE6RRKAATARRCYKVTGyEBNYaKkUmE6VKjSE6QqyiPEEI4BNJXSUioKylHSqqCEyN06URFKlKkUgimmQkqpEJUpIIQJIqVIKWpaiAik+CRU2zsUhMIpVKiQmikKUgpFIpOkibR0popNW1NoUnpUkgVNpsqpHEplATZsJ0jkhQ2XAJVe6ZCdK7TZAJbqVITZsqSUkiDRIF1upvXurjLldQi6gKok8AsGfP4HTOjidZa7T3h90eg5qeaZqYIS2G5Q6y+Rh2aLrj62B6LyEZMWKYWni67PBeXy/Jkvp7fH8W/eT2fexOojEEuP1tQ39AOHopsliFt7x5cebgvKywTuZ31FzQW2Rx3VXdStnMZDmnkL3vouU+U6/iV7iNwFU+M1xPAj4rqaTsCS41d0vneuZjxqeTW4B3HyXocgzDESGSLVTI26i0cK4bdOK1j8qVL8T09NRHEUik4iJIvCQADz+qUyC004URxC9WOfKPHn4+NKkJopdHMk06RSoigJ6VLSgjSadJUiaCaAE6RQmOKVKQCBEWigpUgBFKk6Ug21INpZaR0IIpTSJtBDSUJoVRXSNlOkqWY0SSnSRC0I0ik0FBDTaVUVMBMhNlV0igp0ilNm0CEqViKtXZtCikRSs0qJG5Ri1BFKekIApGUKQp0kWqqilSdJqJpFClSKoqIiik0IhUhNFIhITpJA0qKaKQKk06RSBWhOt0b8haVZNoPIZG97iA1g1OJ5BeQzLOZsZh8SY9bIe8DByscr9d/kpdpc9MkpwWHf8AsWkai0+84cfhy+Cwo5NMWmrFFwvejVL5/n8u7qPp/H8Uwm61MC4ZjlDcGHFr+8HeOI5Wa+CMJgLficM5ge+G5ATten3gfhRWNg8S7Duk0k29tceNb0t2PFDE5tC5hZqmjIJviSOfnyXkr2bdGVMbistbcgEbnmEuI901YPlsV05lhI5nRy4eN1OI0kHc7Wb+9Z/ZrxwZnhXcO7ErWHjqY69j6Wtrs/K2V0uCxIaS17Xxgi6uwfxHzWbHWfTMjwLcRghNRNF2wbxF/ipYZ2Iy7MJWRNAc9phLSRRttgrawOKwmXTY7CTDvBDiXVYrwu8viuPOJIZc2bNh2FzG4VwdX2hwPy3WFVZfmbmOayejy1hoFetcluume3u5dTdDyBdHw3wPoVhNwXfsLgCbeCHDzBP91oZa9roH4J5JEfgLeZb5f65L2/F8t3xrx/K8Prli0Q0jg4H4Keypw73SMIkNysOlzvtdD8R+a6AADwX05XyrNI0mpEJUqhAKVIA2TAUUiNkg1TSWgqRSlSEQgN0KQG6ZCWCICdKQRaypDZSSAtNRZQghCFVKkJoT2aRDdklOlBSKelGlS5BG60KyKNIpTQgroopWFGkIKqRSs07KNKIjSFPSo1ugSFKrRVFGUDwRxUiEUk2mkSEUnSKVEXNUdKmAnSCFIq1OkVSIr0opWVaVIiOlGlSpFIIkUoq0N2RShpWBaKVlIQVEFMDZWUgBBDSsjtHmf0blxEf76e42fwitz/rqttfPu1+KM+dOivwQMDAPM7n8Vy82XHF3+PhyzYLnlzrJs9SuvDlwgdK3cx7EeV/5XCuvCV3Uup2ztqHEGtj+XxXzK+oeKwhhghxDSCyRmrbluQunK7EzHBwuOng3y/uqIptUDIT7lFo8if8ANLnjPdSO1g2NtuqixoZLixh83MkosPLmkfzWD+K7xjhgcdG6MsJY3SL89ivPsP7Yb7Erqe3vzTW+ME209eoWbG5WjmGN77Mp5oydEwseuyjhMb3kohFuBj0H5gk/IV81lB5MO54FWYKYw4psjTRG1+SzYsvt9SghYyIYe6dpNu+s3YH/AAuR0TDjpDBRf3TJSWt92rbV/wCuCxoM3kkw+u2lk8niu9tgT8NvuW3kkrH4TEYvei5oFnc71/dT/wA3bf8A6mkzG7W2Ztjangcxf5H810ijwUWOa4vHujUCK5g0VIsOq21f4r7Hgy5YSvjfJw4Z6gSpWDccKRS7vOghTpKk0EEyEwN06VEKTATAtSQRCfFOkwlojWyYCZFopZ2AJ0gClIBRqRGikQVYAnWyqqqQrKQqqtAYpAbqZasiqtkUp0mGpRXSKU6RSCukbqdI0psQQpUjSKVEUqBKnpRpQQ0pFu6nSVJUsQpGlTpNTbKukiFbSWlXaKqQrNKC1BAC0iFaBSCERWG7cUlYWpaVRCkUp6UUgiAlSsDUtKCFJK7TsoFigjWyAFLSUw3ZDSqaRsMEkruDGlxXybEzyYnFSzyE65HlxtfUM5a76HxWkEkMJ24r5Vw2HJeP5d+o93w590iFdhXHU9gdWppG/DgqShpIcCOK8L26WuG/HZ3FVE1w3VwuWPQTw3CqdG5lEjwngeqbIY3pWuJcQ6zY+5Vaiask0KCRcb4qtL5S15LhQ1USByPNUt4pElJuymlaAxJbC2NpquY2tehyvNnx4SOBgpgdqJ9BQ/15ryjQTvyXbDO6PDvuqJFFZsWXT1mBzG8XGwgBznadN8uW69IwkgXV+S+Z4PFSOzGFznb940AjpfBfUNO5X0Pif+Xz/me7silSlSNK9u3iRRSlpRpTYjzTTpOk2EAmmAjTus7Ea3TTpSATYgFIC0y1MAhQFWilKkUm2keCFIhIBXabKvNClSE2bRDeClaYCNKioAbqRUw1BbslVWihSelOtlNptBOrRp3UqVES1RpWblGlNqhSKU9NhGilJRVpspFqu0qLm7rWxVSKVmlLSjKFIpSpCiI6UaVJCCOlGlSQiIkJUVNMBXYrpFKykUghSKUiEUVRGkqU6KVKfSI0ilLSildptB4Gg3w/FfLs8yp+XY2TSLw7nHQ4b1vwX1ReN+jZ24/MMLioXHCYiR0jXnZrDex+Nj4rx/Kl47j3fCs5ca8RSS7Mbg34LFPheN28PNch4rwbfRuNl9pxSd3I1xFgHcdQrsRLHK4iNrmx7U0nn1XMmDSJocCpPbW4Njqo8UcLWgAWeNJJptF6vIckVMFpGogANG/Vys74GOgPgT/rguetxSsALmk8AOaDry1wdmOHFf7wfcvrAJO+26+d9k8C3EZw2UjvGQDU6uANbDzPP4L6KANjt5Uvb8X6eD5f2NJ4pgWpXaVL1PGNKVKXJJIhEJKXFFKVCTCek9E9JRSpMBMNUiPJUQITClSelF0jSdKWmkUioEIDVIhMCkRCkKdIVNLO6PMI7s9Fs/R8n2QpNy2UngFw7Hq6axBE7opGJ3Qr0MWWADx8V1RYKKM7AfJZvmbngteVbhZX3TCfgpeySAbtr1XrjhmkbCvRROGadiL9VnvX8aft5IYR3RBgral6d2Xx7nelQ/K4zuCfkr3bPxv4wRhhSm3CtvcWtj6M6E/JTblpve0vlh0VkswbCd27K/6Nic3hS1G4At4K5mF6ilm+WfpueFhHKG1s4rlflsjd+K9UMMOgS9lUnmqXwSvHuwcrQTpUPZ3/AGV7J2DYRu0FVfRsH/pi1rurH4ryPs55qPc79F685ZC4UW/JVPyeI7iwrPMx+NXlDCo6COIXpzlIB2cUhlexDgHLXazfjZPM6Ewxek+hIjzIUHZGz6rz8k7Yn41ed0eSNK2n5Q5gNPN+YVD8C4buBWp5IzfBlGZpRpWkMI0t90hVuwJvwlXmxfFk4CEUul2HkBNsOyh3Z6H5LXJi4ZRTSKV3d+Sl3PknJONc+kpad11CFx4NKs9glIsAJyi9eTi0rO7QMJyPENAJJ0jj/EFuHBzA+6qMVl/teFlw8gIbI3SSOI81jOyyx18WNxylr552gwftDI8S0EOc0avXn968pJGWOIN+q+l5jgXyQuiIDZmm3t5B3OjzB4jycvOYjIiIXiXYEW1w+qfPyXxt8MrK/RXDHyeOZY/byiFbPh5cNMYpWkOHyPoq6C6y7eTVn2SLQhaBxVjvC2hxPHqrI5I20O4jI5k2T+KtczDFgeO8J38PCv8AX+igojkIAjeT3d2aaCR6WpyOEjgGB3px3XTh8uxOJbUcOltjdwIu/MrYynK48HKcXiS0OZ7uvcNJ51yrqs2/weh7J4D2PA6CP2u5kcNqJrb716JreN+qxchxLPa2OaSI5HPq+gA3+6l6BgLgXOFFxul7Pi/TxfL1tXpTpW1W1JaV7XhV6UaVZSKUNKy3ZAburNKYaomkNKWlW0npV2sVgKQaphiYapa1pWWoDFbpTAU2ulQZunoCtpFK7FOjySLT0V9JUmzSrShW0hORp67SrA0BRtTC8D60HFNJFoqYKdKI4IBWESoJaAjUkTaqw6ACYApRtAKKlQT07KKdrIdJ0FHUjVa0mjIBCjSkNkbFTRpGkqU6CV0qaQLVAgK4utVlJRAqJKmQo6VpixW5uoKDsO1w4q7SmGqbZscZwbOpVTsGAditLSomK1qZU4bZjsI6tiCqDhCeRW33SYhA5Ba5s3xRgjBNB9w/JWDCt+xXwW53Y6I7pvMBXsJ4oxhhGkVSl7LXAlbAib9kI7pv2Qs9q9cYpw8l7NUThXkbhbvdtrgFHu29E7Drjxef5S5+DOLYCJYRua4s6fBeUeDzX14wse0tcAWuFEdQvm+eZS/Kse+E2YnEuif9pv8AccCvF8ibu3t+Ndf8vHZvl8crQWt0+VbLzE+DMZtvyXvcTFriIXl8xgdGSa2tcsMnTy4S+2A5haaIVuHgbK4hxIAFk9B1V72Nc4auC7sKcPHAWRxBwLx3kzzsxvIVzPQLvK81jMkh7mNjntcNfAFA1REOAN2DwXVmuOjxuJGmPTEyPQwk0duBKrgIMMYsjUHAhx2FcP8AXkrb6R1QB+L21Eni7U7Zu/FauWZfPmFvleBDHIIw0Cg40TXnw4eazMHgw4kvm06SNTQOI6r6B2ew8UMbQJWyQwudIGu4uca4fh8SsTL/AKa4+ksty7/bW4drNsOzSQBW5r/XxXoRhpCfcK1MkysQQPnmY3vpSTdUQCfz/ILUdh2le7HPUeTPwzK+3mhgZnb6SEjgZR9Ur0ZhA4Kt8RHILpPK53wYvPjBzH6hR7DN9lbDmHoo11WuzbN8OMZPscg4hQMZaapazm2CFzuw5PBXmxfHP0zy3dGldjsPR3UO4dfBOTFwqgBPSujuq9Ud35JvZwqikUr+6R3aHFQGkp6CrhGR0R3ZTZxUaSjTSv7soLD0VONU6QhWaD0KEONenKNSnQUdK8j6ekgbRsgCtiE68lNqLRZ6pIUU0rQUIhotRTpFSsotRQmhK0WkhA7RaSYBcaAsoESgFS0OB3aVEjmmw0FJFpAIpFpqpYVJ0lraOYQZWN4kBSpo6TpXNjjc0EPq1W8CM8fms7EU0tQPNNFHFFIQm00fBFqKe6ho0UlYHFRMg5bqmllBcObZZDmuCMEuxB1MeBu0rq7wFRdKPM/BSyWaal17j5hmGWYjL8QYcRHpP1SODh1C8/jsIJWujI26r7Ri8PFj8P3M0IkZ0I3HoeS8D2oyD6JdHNGS6CYkDVxa4cj19V574+L0zPlHyvFQPwx0PadIPhd1C4w8N8JLg3nS9bi4g5rtTQ4caIWI/JsRiRI/CRPkDKLmt3oHyVxy0554XfpjPdqkcQKB4K8OrDt4mjw6hLE4SXCymOVha8bkFd2U5Zic4xkGX4VtyyF2m+e10tXKOcxu9O/L5hiYBq0Me1paaFEr6F2NwD8RMx72O7lg2a4Ub8+v/wDV5/Kf0d5gcY1k7ixrSdTwPdr8b/JfUcjy04HCYeMm3tYdW3GjQWMZvJ1u5NVpgUKHJFFWaU6Xq242KSkWF3AE/BdLYHP3AC6IW6Hi9q4rW2bHCMuklANADzXQ3J4NPie+/JdEmIp1R0VaJKjt3FTlVmM/bz78GGyOaHXRUfZD/oLXme158LAPNVhqvOpcMWScIbpAwh6LZ7sIDAOS12VnqjG9j8imMGeh+S2dI6KYiJHuqc16owzgXng1I5fJ0C3dFGiN0aPJO2nViwvo9/QKJy6Q8lv6QOKelo3Tup1R5/6Nl6JtyqY9Fulwum0TanpTup0Rg/REvVqFvafJCd1Xojh1hDZQDZ5Kq0WFK06TjWH6vDyVTsWZDVUq7A4o1BZFoOyLVYcApam8ym02d7pqOpn2ggOZ1T2bSSa/fxNcAnqZ9oJamn6wRUzJGRQYQepUQUgAVKgmwWVEkqYCNKbNKi4nalNmIbFvvqTIASIBQWsxpfZ/EKDpmPu6BHGlEUNtkvD0CgQlDuCldqIAUxSoQKe5BCLAUXWBabES3ZUvhL3XqV2oJd40c03UEYkYK1gqbi5w3NqIkaeYUrbyKII2EPF8F06RSo4KsCiTZ+JUWOkgclEkDcrnIvg771B5ICK6myMdwITtccZYeLwFZr1Cr2CoudpdxcgRt5Fc4furo9TiCXCvJQWiIKQY3oFIVSajUg0josLtjhRiOzU7vrQObKPnR+4rdL65LE7Q45seV4uJzHS64i3TGOF8yTsFLN+mt6fHMQ7iCVr9ls3weTYXFzTiR75HANZFHqdQHO9gFx4nBvi/eQOYTv4xWy5e7LjVH4K/jbn2535XG/S3tRjsH2ikDocsnw8mwErnajXmAKX1zIuyeV5XDhsVhcP3czomEu53pFlfKMHhf2gp1EniV91yFrX5Bgr8VRAWTa55eDi6YfI5/pF8ILaoXVDbkqWN0k7UNmj0C1X4dpGxIXNJg33qaLPkphLGsspXKdI4kBUTYhrBTCCevRWTxua8tkBaRyXI/DtdfGiuscquixuhp8YKuEgkYXGSr6LNdhHAeF/zUBDMRs8V0tb1GN1ojExtd4LPmrhMZdrWdHA5reIJ6Loia5pNrNXa4ceKsaKUGgcyp22veCRqRP1SMjAPeFqosY7cuPzVLsJEeEjh8UWulmIZr3NAK2THtYyxufJZZwe+0yPZHc5b+Cek9upuML3f3VonPQLjZhy03rB+CsDT1QXmVxKHyktohQFUpayBwHyUIrbIasDdWCdxO4KRcT0StNNLO8fyIQoWhNDg1J2qgUaq2XV591bqS1KDXAncgJGg7bgppd1ZqKLUNSNSaXaSdqGpRLzy4Ii3UlqUA6wkTSHtc1+ngVLvD1XPfBG6aV096eqXeEmrVPJIOIKaN1frKWs2qg/fdTe6MgabvmmjdS1p94qS5Acmktq0vtRs9Sok0kHBNG6tDvNT7w1S5y9Jrt00u1pNqKfeMI4UolwPBBIGlJrlWCEBwBTQv7x3VIyOvkqy5K1NLtZrJ6J2SOCq1UgYhzRQCaNpOoHglarL7UTKI2FzzTRzKaNuhtk0ASfJdMWExEvuxkDq40FHL8ZBodJdMYRb+p6Lc1cD13UWOGPLZyRqmaB5bq9uXtb70rnfCl1h4TtZ037Vtw8Ta8HzKjLhcPM0NlhY9oNgOFgHqrkrUT2yc+y2LH5RiYntGrTqa6twQvlD8mkMMkobuyQMIql9sc0PaQdwVguydkkGKjDdpZi4eS3jlYxlhMvt8yw2WTNcHafdIX2LLYTh8vgiNW1gBrgsbL+zww07zLT2EAfmvSAAAUFcstrjjMfo0kKKw3Cmw8eIaA8cOBHFYWLwsmGfTiSw8HL0ChNCyaMseLBQeZs9UA7q/E4WTCvp3un3Xciuc0Oi3GdLmuUtRBXOJQ3krBLq5UpUWl5UdYUL33TboLtyo1KmHKYDjvyUDoHAhS74kUapNGyJQCol7em6O8FJo2s1BGoLnL902ljvecbVV0/FImlQe7G4JtMSA81BfH4zV0m6mjja59ZB8JSdITxKCzvChU6/JCpt8yzV/assmxGImnhhjbq0xHR4euy4ML2vzjByMD8UZGB4aWzN1A+V8QvVT4JmMw8kT89xfdyf7s4YhrQP4RsVwt7MYBrHBuZs1uNl7sK/wmqsALPKscP438v7R4PHlsbCO/vxMYb8P2htw8juunOM6wOTta+X2h8b26mFkROra68ivPZbkkGV4v2lmbRSu0Ful8L6s+g6LRmlEwcyTG4d0BbpdE5sgDh0Oyc6sxZ8/b/BtgZ7PhJJMQ7ix7gA3oLHFcGJ7aZzFqecDHAxpFl0ZcG3w3VuI7O4OXECWDGYKFmk0DJINLuRaNOwvkVdHkpZDMfpXDvkkDRqEx94b72N05sXGuOTtnnWFkrFYaKIkA6JIC3Y7g8ea1MD2nzTG4L2qPLMLMy3NqLEFrgRw2I3tcUWWYlr+7nzDDyRkkOa7FahdVzCeF7P9zCWNmwcwq7GIDSCeI2IsKXNZi75e1WYYbDd7iOzmLaeNh9trzoWs/DduMzzCTRg8lBG51O1aQBxJNcFoS4TGufHNHicP3jYiyvaA2ugBB6DmqMThc7xgLHSwnwhrJPaG2xt78D0SZ1bh/GVN+kHMoi5smCw8Jb9trvzKsZ+kbEGrwMB9C4K76Hzc4hjzHE9ou9MrCQOW5P3K79Xu9HeYjK2STuaNTu8G21XsaVmf9Z41yu/SDii8Vh8IxtEkOLuCvi/SBO5rnHK2S1uRFKdh13BVkWS4iJggOTxyQt2cH1bx5kXv8lXLkWIkcZYsufhJtOlskDdVNHLzPJLnGuFXP7e3A0xZRO6Y7e/4fuFruwnbTL5sG+eVksLoxbmEA/AHms2DLs3jwjIvZcQ+QGyTFd1zXDmOT5tj3xtflTmMiNnRh/3nka5f3SZ7S46aGI/SNhY3ObBl0sg5F0obfnVLnP6Rw6PwZewP396UkeXJYWM7JZiGsdhstxWpjSHDuiCTxH4/gs79V+0JaHfRWJuiSDGQQFrmxZXpMR27zWeUHDMw8EYA8JZrN1vuVx/rfnT3ud7eQb4ANr4CleMgxT8iZg5cnmixTC0982I6z1FjjuVjN7N5qcxbE/K8a+Kx43wkBw6q8p/U41rQduc1wzw6fEMxEYNFr4xv5WOBXaP0jytGp2XxEHhUhC5JsTiMjihgMj4GUSyOXDsaDvysG1lTYA5k8Ow8Q1SuJc6NoAJ34m63sFSZbWyx6SH9JBPikyxobfKY3Vctl6PKu1GWZqGtZL3OId/uZdifQ8CvnDuyeIjZRfNHOGglk0Vb1uAQSCOipGR5pHLXdSnTThIwGgfVa2m6+zVRo7eqa8Zl+KxeEfhtWPnDXPAkifEa4cAXbX8VtYfPQXuZi2Mio7PDxuCdrF2PvTZLWxx5p2sqXtDlcTmt9ricXfZcDXqm3P8tdwxLONUrJsucn207tBq9lkHtBghK5ne+EC9e1HySHaLAGVsMcveyPOlrW1uVdJ2YtdYOe4wtlbA001u7vVdGMzTEYR1OwT9FWXteHC+mwO68/jp3YjFOe7i42o1t6OQPwfY3DS0WyYiTWfnf4L1OV4w4vIIJg7xN8DiCvOTXjuxhYwW/ByNJH8NV+al2RxoHe4J5GiTYXyPIrnldV3xnp6cTSYnLnPiNSt2rzC5sDnwedEzfIkcQqoJ3ZfmL2OHg5hZWe4OXL8WMbhnf7NNuCPqu5grNdNPaMkbLEHxu1NPNIu0jdeOynO3NkDX7E/Ir17HieAPbuCLUlYsWtIcLUiLXPC/w10VrXG6K0idIQhAIQhECEIRUZ4mzwOjeLDl5p8Bje5hPiBIIXp1g5w0xYwPvaQfeFqFcZjI5KQs8G/eqQ8hBebV1tja5zH9Eu7ceS5hM4yuYDRbWys7w1vxTVOUWFhCA4NBLjsFUXnqq5XksIvjsmjbuYQeKbmM5cVyCQkcUtRPNOJyjqDQTxU6aBuuIEjgU9R6pxOTrc1lKFUqdZA4o7w9U0vJ0BOgVy96VEYhrWlz5Gtb1caTjtOTs0hC4RjsK7cYmL+sIV605MFsmkeFnHopaz9kqmrQGjqvL2/46cP9XCT+A/cn3l/UcqNhzT26qd0/i9f+rNZ6OUQT9k/JRPlzQLrj96d3+HX/AKHMDxRDx5jYqsxNBO8pJ6gf2Vuo9UtZ6qzzSp1/6p7pp28X9Lf7IdC0iqI6bDZXA+ae3Wle6T9J1/65G4XYh0hfvfjY38gpdyxrvdbR4il0h9c0zL1NJ3yfo6v9cpiZvTAoDDtO0jAaNigaC7e95XaQeAOSfkY/xL4b/VBoCi6QdKKgKBsPk+a6w9reQQJmXuW/Ja78f4nTf65WyvaDU04H8yl7ZP8A+4xA/wCo/wB1094zo35J94z7LD8FO/C/o6cv6obmOKA8OMxI/wCsqQzXGN4Y3ED/AKyrNUf2G/JGuE8WNV7vH/F6s/655cxnmi7uad8rOOmUax8iqDM1zNBZEWj6phbX4LQacOfqNSIw5vwgKzzYfxL4s/64TiOAqPp+6H9lESMAIbDCATZ/ZgWu7RCTsB8UwyIbloKvbgxfFn/XP7WNIDoonerUhimNeX9xGJCA3WC4GhyXRogO2g/AqJgw/Jp+avbgdfk/rgxWGwmMa4+yhs5Fd6PEfvCqbl2AiGkYUabunuJo+W2w8lpezw8g75lP2eE83D1K1PJgxfDm4XYXASPEj8OHODaHi5dFEQYVrSBhomgyd5wJo8Numy7/AGSCv3jkvZIftkjzV7cE6c2TLl0Er2SMllw5bygNB2973auw0BxmYwwji+QALQdhoWtJBOy5Mrc5ucYcs2d3lN9VZlL9NcMp9vQdnJmMzCfBYg+CYOie09eC4vZ5cnzh8TxRY6r6jkVDF4guzd+JaBHJfjaNvEOJXpMdhm5/lbMXAB7ZA2nNA3cOY/Nc8npjtxAbjME3Fs3kaAHVzSwc0c8LsHiAHQSCqdyKz8hxpaO5fvXLqF2Y3C9w8Sw33Ttx5FZa28tiIZcszGSCT3mGvUcivW9nceHM7lx48PVZ+dYc4/Lm41jQZoPDJXEt5H4LIy7Fugl4nYqX0PeykwTi92O+5X9CFxsmbmGEDmEa2j5qzBzd7BTvebsVqXaWOprlNVA7qwG1pk0IQogQhCKFg9sPaosglxeCY18+HIfpc0utl06gOfP4LeSkjE0L4ne69pafiqV8ifn+cNwsmIfFCxkZ3aInaz8Cs7EZ3n2KhlxEL5WYQAHZgaR8t+K7sTFiMNiZIZJZdbHFp8Z5FQ1ztFDETAdNS6SV5cvJPpktizKbexsa7x7y0kn1Ujj87w7TG042m8dGpwHxWmHzg7YiUf8AUpDEYwNoYuWulrfGscooyzGZti5CybMJMG47h+IvSR8lE55nmDLW4h7JWXs7SN10DFYtp2xD760FTMJZzqkmluq8LtP4KaXsiX6z5r3wjPssJcLAkbqNddirW9pcxYblnwxAHKAi/vXPUhADpC+uGoAphjhxI/pCp2x0N7XYx9iGCCahdx3X3q53aPNmOAky5jCRfiB/uuENPIgH+Uf2UiJDv3hv0CL2LsT2lzVkDnHDNa0t95jLr7+KMJ2nxErIIW62E7OnmjDhXU1zXP3bgQQ4AjnpFq0SYgbid49AFNLzVsz7NsQCTiu6F1Qh39eC5MwklsOkl72hu6zutDvMTyxLwPgoufii6/bJQOgOysljNzlYjsWdt3VW3hKFvjE4wXeIcbN7tCFrdY3HT6UpD1UEL5b6UTNJX4edJUOSk2hxo/BNRRqPIlMmuLiUjd8TSidiFPQZ62SgCxs4j4o4i0rIO6ulGkji53zT35F3zUi5p+oAfUpXRUQCzzKC1wF6j80Bwvn8EO33F/FNQNpeSacT6p+McwotPDwt36hNwBA1bHyTjAiXXxS8X2vuCZ0k+GwPNFjkU1Ajq+3t6IBcPr/cmUk1FAe67v7kFxJum/0pgEA8Um6iTrodK/NNQAc4cNP9KduqyGEfy/5QTSqfGHOa8Ma5wrdzjtv06pqCR1WKawfAqQ1Vvp+CGt8I1SXXMt/IKu5O9q3kOuvCKZXU+fJUWDWN9vknbvJKn2C5wrT4vDuT19PJDgaoVZO2rgiDe+CDqGxpQkxIgk8YIiq9QGok9KG6jNPRY4ua6KQ0C36prYHnx6fFVFhDwNg35p+ICwAfiqnSueJGRtDZWjYPOx+I5eisLnaToovrbXdX8FFhkuDTYA9Cs5r+7xDXtJBa4EFdksz45o2tw8kjX+89tUz1srgeLcV38P7cvJ9t3OWtdJh8yiBMeJb+0aOTxx+fFduRZp7JOJGEkfWZfFcWUTMxMMuXTuAZM22E8GyDgVmjvMHiS1wIc004Lecaxr3Ga4RjDHmuCbUT6MgaNgevkuzDyNxeF0F3vbtPms7s9mbP3MjgYZdqPAHp8V3y4N2Xzks3wzz4T9g9FiVvblgf3ExbILY4Fr2novO4/CPwOYSR76Rux3Vp4L1GLa1zWzUCD4X+R6rLzRveYWPVZcw013keSX6E8lx/duawmxW62YJhFj6a645OXQryWHJikFLYbI46XtO43WJdD07wasFSikDjR2K5cJivacODzGxCYdpkK67Y00EKmKQuNFXIBCEKoEIQqr5/2mgiw+eTamgCUCQbdf8AKxScN1HyK9f21wYdHhcWG7gmN3pxH3rxpH8IXO+XKMdWNTvD/aaPgkRhzvqHwUQ0bGgm4WbofJTvyOrEEQXsW/Ep6YujUg3fgnSvfkdOJ6IvJPREfs/NRpHBPyMjpxS7qP8Ah+aBHFdW35qKYTuyOnFIMhHNqNMXVqN0FO7JOnEu7jrVtXkm2FjxbaI+SV9KS8XIp35L04rBh6+qhVgO6hCd+R0YGRVb38ExpvxEgeQtRLiVNsgaKLbPquDqZDfquJ9RSipmWMsI7sgnhzpQ1A/WA9WqqSLTJ/iafQUkXWeFKCQc4AgHYo5qAKeq+SKaE3PYTTWV8VE+RCBoUQU+aBotJPh5qgCYZtdtHqVEFhbqpxB3BtAqj9yIldHl80jxSo9a80yoGHGuJQW7XyUbPVLmgny2SQNuLmn0TsdUUgaUrPQBRuygGweSCVcr5cVGRjHgtcA9vRwtK65qTdJbZc0H1QQAq0MadbtZBYapoFV135qV7oVFb43Cdro4oy0gh7nOpwHKtt91I3oOgAu+qHGhfwU0iaRFGJd3TdZcWkCqB2N9fRZxfqN2tDEMbLpDhYXO7CM/3Zo9F6PHZI5ZTdThkcynN94bhbmawMxeEizOIe/TJgOTuR+K89G8teGlp40V6rs5EMXDicI7929tG/xVtXFmZdKYZQ0nYr3mWZgzGQiCYaiBW/NeAkhfBO6N4p7HEH4LZy7Fubokaac07rnft0et9kbE5zW7seKLTzCxcZhdPeQO3rgTz6Fb8ErcXAJGndcmZR3GyQDcbH0RHj3NLH0RRC78HI0tLHeoUMZGBLqHNVRO0kUs2e1a+GnOHlvfSeIWqXagHjgVigh8YPOlbDinRVG8nTyVlXTWZNocBa7myW0ELDfJbdQNc124DFCVrmOPiXRmxpB1prnjfpeWuPHgrwbVY0aEk1Rw53hRjMmxUP1tGpvqN18yO+6+tEAgg8DsV8ux+FdgsdPhnCu7eQPTl9y4ZxqOa0wQOVpUmGnofkuahx8kgUwK6/JP1JPqgOSSkNwjhyKBN2Oyk55IrS0bVYG/zUdV8kW7m2vVVUQKbWpxrmTZUrHmnR5gI07oECiwCmAQfdtS9okAotsegQIEdEJE2fdP3oQRCD62kNuaam0FWkrA1t7uoVyCTwz6hcf5gFVQQhOkCUgATRc1vqkmBR80Im6JoNd9ET5E/wBlBwrgQfRG9oPFFRQmOKYHmgSd7IpGlAGiOJ+SXJOkz5bII0pJgIJQTY4Ns2wGq8TbVbiTvt8BSCgV0RAGF3CuHM0mYw3Y7HpxSHxQfS0UAhpPVWx4fWbdKxg6mz+Cra10jgGtJPQBX+zaC32hxjaeFDUrJti0xDh2/wDGA+kRKRjwoBIxDyend1+aLwYsB7nk8CQgMhO4Y+uuj/K1qptQ8NB8NkeYTDQW+frsr6wwFuv00/5Q44OjUct/zLLUqimgfvG35NKi6utpupxOhrq6cUiK4/epVUTuDQCSuZsxsKzGbuLTyAIXGCQQvTJ/y5W/9adEh8QkHNbfZ/Huw+NYGuYGSHS7XwHyWGypGOaee4UoXdzJe6y1Hq8/h/21sj4u7c9lkggtd5grjwZ0O08jwWlHMc37Puju8RhTr83N5/d+CxonFstD1Cxk1HqsmxJjlMROzuHqtuWMTQPjP1hS8fh5vEx3mvX4KYSQizuPvVg8tONQII3B3XGditfNovZ8e8AeGTxN/NZTwLWcldMEtUCVe9utuyzmOpwNrQheHBSVpHvDHsTsRSsw+J7uVrkpIw4bcVzFpaVrY9OZBLE2Znx9V1xSB7Aeq89luL7l3dvFsdx8lqiTuX6CduR6rUrFjvHFSVTHahxVg2C2wa8V2wwhjzCLFNB0zN0u6ah/he1WXn+DGNymZrW6pI/2jPUcfmLWcptXzw6Byd/V/hMNDxs4D+Z4USAdxwKACOH4LjVAIBN7+hT1sI/dn+ophrpDxb03cAouaWkg18DaKiNneSZcUAHmmTtVD5KCIdXJSa87+LSD5WgMc7g1x9ArWwPawufBIR1ohFQLgdy8E+YKk0xfWc6/4W3+arGx4J7FGVxdHXO/5P8AKhaQCdI0NbhwND0QhsbnC9TB5F1IQVuOo3QHLwjZRCA8hmmh60hZSJKKkhXaoqxjGFvinYzyLSfwCiokkFUXOjjE8cbJmva4Euk001hHI3vv5BTdho9Q04qIj4j8ly3Q23UiRaCcjQx1a2v822o7UkDdopSqNgVLUSKLtlDe+CKtBNTETzyHxcFRvd0mAeiCwijSQNqPxTBafdI+CbEqUm62btcBfUKLQXnQwFzjtQ4lbeW9ndUbsTmAdFE1tht0a6nohpjuke8DU6/gogBZua5rBh8U9mBLpIg406TiR8FLDZlHNhHSv8Lm7FvX0W5hbdMZWSPQty/B4XANxmaYwwseLZHGLeR8VjYrPcnga57cJN3TOMk+I0ivgFj47HT46XvJnk17o5ALz3aMn6I0g+9M0fIFe7HwY44+3jvntuo9dB267NQvBkgaehY6R34ruZ+kjsZE4O+jZ5q46cMP/wBnL4wBVLTw2XYpmIY8d0HNcCNe4vzWOMv012cft9X/APi92egZqw3Z+YOvazEwfdaol/TS5tiDIIwP+ZP/AGC8rBkOYEWMRg4dhXdwA8PP71P9T+/eZsVjnOe86nFkYFlTgne1B+k6PMsYGZlk+Fw0LzTp8KT3kf8AEb2cOo4r0seXSzSlkJMoFHvGN8BB3BB6EbhfHszwf0fmEuHa4ua13hceJHIr6V+i/NsPmsbuz+Yl/exMc/BSh5BDeLo/hxHxC5+Tx2/Tr4vJyvt6aPIzCQ7F4gNB+rHsfmvRYHC4OLC91HAzSR4tVO1epXi+1cWY9noJsVDI7GQw+KSCT3gw/WaRxA5grTyPNG43ARTwvDo5Ggt34rzWWXT2zjZ6YnaIsj7Q4yKKNrI2Oa0NaKA8IWNIKcei1e0bS3PcS/8A9QteP6Qs14tq9mP/AJeLL/0i1xaQQuqRoBDhzXHS7YAZIK5tNLLri78nzCTA4pr2m2g05v2m8wuvGRCDHPDDcZOph/hO4WS6GSKnOaQDwscV2RzOlYGuJJaKF9FitRpQHgV6DKMU7eNx2HBeYwzySWlaWExJw8zXfVJ3Ui2N/PIDLgWztG8Rs+h4rzT917OFzZoKO7HCj6FeQxEJw+JkhdxY4j4KZJHOFdE/S7dUu4oDt1huNJr7CHNB3XLFJ1XQCtBAUVrYOYYiHuHkax7pKzBupNLmODgaITaWNiGWSA6SCQOIPJaTHh7bCy4cQMUzxCpWjfzXXhn1bTwK6ysWOrigJAhSoK72y+eZ3gnYPNpomxfsjT4y1tDSf82sl87I36HuDTxor2/a7AHEYJmKjA1wbOvm0/2K8VUgFNaB8Vwy9NQnTBrC4MBA4+IKtuLicQC1wNK0t23HyTIsAC1nbSr2xo2EU3qG7KAxYJBEMnqRS6PFzb/9yA4OsOjeBXqgqbjYr0nW2/4T+SubMx4rXt/ESPxUS1lVW3ok0RkVqr1QXhjKsOiIHLWgywsA1Mi24kuI/NVAx8A5ppS1RgbuZ6EhBK4TVSNHUWpgRAWZR6AhVtfG4GnMI50mTFxplenNBLU3kSUKADK4BCCqvIqXdu+y6hx2XrXZdlLiaYB5NkIR9F5W7iHbitpisc8XSeHJ5PQ4tsNNJaTuKK9X9EZWODpBfSUoOS5a7hLL/wBy/wAlOeJfFk8nSi8E7br1hyDL3b97N/WP7Jfq/gTwxM3luCnKJ115WFr492mT4lWEyScSa6UvS/q3g/8A3U33JO7NYUm/a5R8AkzXryeZMLtqbR6kqQhfQHhvpa9CezWHv/zr/wCkJDszCP8AjXf9v/KvKHXkwe4cD4nMA66lAta2/EP7rfPZhl2Mb/8Aj/yj9Wb4YxvxYf7pyhwyed3cSOXIhSb4RQjbfU7r0H6sG9sWwnoGEfmvJPz3KYu0L8pdinO0Sd0Zw2mF3T57K4+/pizX27HaWtc4gNaNzQXo8qwOTYrCslDe923LpCCD6clyvynCljmSF5BFHxUvKdqIz2YwceY5XiZhEJBHPhzJex4OaTvY6Hja3wpjnH1KKDDsruGsY0cAwALy/b7OH4LARYGE06c6nkH6o5fFeZyPtnOx0cpk7+B/nuFwdp86Oc5iZh7jWhrR0ST23lrXpjySlzr5Jd5L3bmxPLXndvQkcj5KknzQHUbB3Xqw9PJnbW3A9s+Gjma0jW0Oo8R1HzWH2kjccscW3UczXH0Nj8aWpgMwY0dzK2gbp3Q+auxOFZiGvjkoxytLSfI816Ln6eXhqvnJPJeiwUvfYVknOqPqF5+eGTDYiSCUVJG4td8Fp5PLTZI/MOC54XSeXH/l7TLM2c6BkYhMjme9vvp8vmt9hkNuLGNaHaQaNOrmvH5Xiu4kcA8N1deHReuila+FkgkLw4bHUSPgrftyxrwfavCmPF6wNgdJ9DuFy9lcydlPanLMbqIbFiWav5SaP3Fes7Q4SPHZbKWAvkq2lovgvnTXECwacNx6rNdsLqv0n21MMWHY99FskckbhXvCv8rB7D9mZcoyDCtzJ4GJou7kHaME2ATzPVec7RZ/jc5zHKRuzCQYSGUAHeWR7GkuPkOHqFou7Q5jOwCEOLBxe2MkfNeHK/8Aen1fFjrDk48wmOJx88pN2816A0Fz8WpE+Ljx3Tba9mtR5L7qNALpwhp5F7ELnKsg2eCuddY9jlUcOZZW/B4jcA+F3Np5ELCkhdg8bJBIPEw6fUdV1ZRiHRYoAH3jwXf2lw477D4sA/tG6XHzClVl4d1TDz2WhdiissECQLRY62rn9K38lzAD/Z3GnfV34qefYMOYMZH7zQA8dRyP5LFwrBLO1heWE8HDkV6CV7ntZHNRduyTo4EcVUeYO6hzUnDQ9zPskj5KCy0sa5dEcliiuIGlYx5VV3NfSuabXGDatY6tkHdE4xvDmncLXhmZNHrGzh7wCwmP3XXBIY3h7fiOq1tlsFxa0m1YyTW3zHFUgtfFrbwI4dFTBOGyV50VrbGnXNEzEwPgkFskaWu9F8wnDsNNJDIQHRvLT4SOBX1E8V4jtLhSzOHvDgO+aH79eB/BZzmyXTAEwNkOB9L2Q6Q3p1MB52VN0Ubvee5pH2SuYYWZsm2Lk0DfbZY4NbWiV2nZ8NdS/in3k17xtr+F9qp2FkcwtdIHgm/HHqN9U2YMBll7dfXugKV4z+m6vc5wApl31NILpSaA01/EFHuHOFmRwIGxAG/wT0y6A0PbtzIWbqLsqe4mwBvzAUixp20gHzAR4xx0HrdhBMnEMZ8HFRUDpbpHdtc53ADa/jWyk3DzOcA5sTgeV0R0Ck1x1eJh35hwNfcrBrLz+1kYAByAb8lvGT9s239KXNa00Y2/NCtlhdI+2zSAcPdbuhb44s7yeZ+i8yvwyj/vFTGUZxVte/1Ei9M1+9nikZJAfD8ybXLowdfyM3m/o/PIwP2slf8Azh/dLuM9B2lm+EoXo9r8MfiPU7IBceACnRis+Rm861vaFpFPxP8AUEGbtGzbvcUPiF6KrJFtJHKkjbSADR/hUvgxX8jJ58Y3tI3bvcUT/KE/pDtK3jJiv6R/Zeg8AFus+fO0Ncw+FrXndToiz5WTz4zbtMzbvcT/ANsf2Uvp7tGOM0/xiH9lvhzxtQPmFLW7w0Dvx34K9EPyr/Hnv1k7RN/30tD/AJP+EN7V5/f70n1iXpLN03fqSdkanl2528gn48T8q/xgN7XZ+3fWNv8Alr53iNftUpeTrLySTxu7X2QmzuvGdp+zWJxmOdj8vh7x0lCWIbG+GodduK3h45g5+Tzc5ptYDPXS5RhZHy+MxgON8xsvOdr85Zist9ka7U58jSd+Q3UsD2VzOSJkWMxYwkDd+7j8Tzf3Ba2G7I5JCLkw8mJfzM0hN/AUFvlI5SbfPcsx7sBiPFZgefG3mPMea9Q5mpoeHNcx27XDgV6iTJ8pkibH9HQRsG/7MaT8SOK81LmTZsY5r4I4cMKZG2NtBgHAnr5rncpt28eNy9RyvZSporUkw4P+FQcOCavjst4eTd0nk8WvbiIm0F8MLpK6cFns7QYyBzmNYGEGnNdZo/Feqa0NYGgUBtSzMZlTMZmsTqIDmEyOHQbV6mwvZwrxcnnMViRmmLMz2hs5ABLGGnVzPQ8lGIT4HENe+CQcdi0iwvo2T9nn4g91g4A2NvEMbt8177J+x2BghdLmEbZ3ng1xtrQrZjE1lk+AOzad7qZFE0jfxO/uuzDZ5mjIRE3MoYIw7kASPkCvs2Z5v2ay0vbluUYGbEcDMYGlvpuN14jFyjE4h87o4tTzZ/ZtAHwpJja55TGXUeKxGY4yZjWuzSeZ7veYCWj7uPyV+C7NZ3mFex5RjpgebYHV8zsve5Hn82SYpr2w4eVl+Jj4m2fR1WCvRZz+kCbFQnD4GKTDMe2nSah3g6hvIeqzcMm8eP7rz2EwuW5c3LsPneJPteFwrYsRh2bgOBcQ0uHQOAIC3My7UYSfKHYPLHNFkNcGCg1m9ivNeSGCy+V1+2Stcd/HRN+tJNihw0r2QSF7drc6uK8eHgz7N19DLz4Tx8ZXSHWrAdlztcNe5oK4GxsvXlHmxqXNWRe+FWpx7PBXKx1ldrHFrg4cRuF6rGBuO7MCSyXRkO9DzXlGOXqMikZiMsxeE+uWEjz2U01tgEHS3yXZCdQFLj37vztdGFdTg1c7Pax2sJa8OHI2t10veRxym6ewHf5LCC2Wn/w2DqCQgxcedGYTtrYuv5qlTzE6sa93WvwVLHclKqdJjZK0KKvY5WalQwqwFIq9j12wvL9uiy9RBXZhpKe08jxWka+Fn7l9O9x2xTkaWSmjfP1XPQK6GHvIqPvs3HmOi1ErvicXRA3usftFl0uYRQPw7QZGEg26tj/laOEfdtVGcYp+ByfF4mNmt0LNYbdXRF/cpl9MyTbyhyDMAKOHB9HgpDJMwr/y5+YXJ+v9Cjhnn0IUm/pAZW+GmB9QvJc3pnhdByjHgG8LJ5UAVX9GY4bHBzeuhNvb/DUCYpLUx2/wgI1RyjzpTmdKl2BxbTvhJx/9MqHs2Iad8PKPPuyu9vb7Ac3P+LVazt5lxdTpS0eYV7E6cmV3Mod+7eD5sKCx1bNcHDnpK2x22yo/8S371JvbHKT/AMRF8U5xOqvPeIWTpJP8PBJ5kLPA9oPk3cL0o7U5O7/fQH5Kbe0WUnYSYb5hXnDqrxgMsYDXTazzc6OyfPZC9sM5yetnYb5BCvOf06q8g3S1xGtgvlabSHXUgrjsLT0s67+oUnOYGihY5AL0fbzaQBo0LIvmKUiCRsDxUu8GkbeiRlANjcp6n7C7vUQb0lSEdkkv/wAKBmfRpoJ6JF7jfCk5YosMLC0BxuudpBzQ7bYdaVW6fNTmadHeAitQ38qUGygufYFDZvmoDekeSlzpo2ucCSCTfXkjvXnhp/NRoIo8qU51dBztTC02L5g0VLvXOO9JEbG1ECwpyppYJHE0dPTYJFx6ptbRJ4fFGlTaxEu0miDfJZ0mS4OR+osdvuWg7LTLDdhFPG9URzUals+nAcswwjaxkRj07DSs7M8E3B4T2nWC1rgCKo7mvzXoj4QbHFVyMZLGY3xhzHCnNduCPNJdXZcrlNV5ceOTUCNIFAeatwbmzvn0792Qwnz3JVOYdnsxwzJ/oqbvGFgMMTiNTHA7izxFcL3Cu7NSQYnAvfFIH3Rcbsg8CCvX+Rv04Tw/6+g4fH4XJclw4hGuaRoNDa+pPksjP+1E+KwrMFhyY43NBmcOLj09FnSOe7TrcTQoX0UTEHDdoXSZT9plLrTIJsqEjtI24ldMkelxAHNUhmpx+S9UeOzSpjAdyqMVJOXaIxQ4Wu54DIiTtQXPQ7vU7pZVrKvD4U92S52p3DyUGyOhlcx92TsurKnd7BK92/7Q16cl3uwkGJbXB3msXKR0xwtcDJA7iuhsgA4qqXLZot4zYva1V3WIbs5vyWLqus3HaJbPEK1r1yRxP40fkuyLCySCxwWLJG5bVjZTsQvS9lpgMxFjiKWLHhWtbR3Xdgn+yYiN0Zo6guWWWP6dscb+1uLjEeJmj+y8jb1VMFCQLszSm5niABsXX8wuKIVIuWTcaQ3HwW14fouMgblyxIzbR6LXw7ryvSeUn5KRWHjf31qhpFrpx7aeK57rlalVbakFWNlMFFTaVYCqwbUwVNBkqyJ+k0qigGjaDdjNxg2rIpO6kDqvdc2HdqhaVZe6sSu9hEWJ23a7dvoVLGwsxGDxMEm7JInNPxBVTTccD+ltV87tLHk/YP4FaZvp8wOVYA0RCQCBtqOyrOU4H/03b/xK3VPoBYCdrBqrU9M43dPuARs0dVjLw4/dWeXJzjJMC4bax18Sg7I8IOD5fmu/xNaRroql3tYa4hrSb8ILuS59WH9O3NyuyLC6RUkt8+CgcggO4mk+SvccwvS0jyJZw+STcXionASBzzyqM7p0+Otd3kUfq82v35/pUT2e2vvx6kFaEWYkhwlgew3wIuwrG4mKhGwFgHLSQAtfj4fo/Izn2yXdnSP+IZX8pUP1ecRtPGf+khbgnF/vWeQvdVT4vuTelzxXBqdGJ+RkyBkOJA8MkdfFC1Pa4ySdTR1tyFOmH5GSxu9jexX1dvmraaGtAPHj5IoXwQGhwvnxWGCbwOqj6CtkxXDa1MtDWjzUHNAdfOuKGiOwSAPLim4bWhpNkbUFQEOHFOthyS41ueA5qXO+aoXoh7GyRljrq+RpHIlMdUQmMDdgwEDqm/xVoJFHlz8kwN6S01uTaLoz5AEeZTFaqquarld3UL5KvQ266pRu70A1V8kFpLeVk9EtTia2UNOp/FMtPeEBx2V4ptZr35WomU3XL1QxtkOLiQb2Kg62gjYkEC64pxpyT1uPA0EhexJ8/VRa7UXbUrNNAi0mNJRqJ3aLVDMNh4Se5w8URd72hgBJ+CuYXGhdb9EprB2NO5GleNTlFb4qNHiFWfCr9BY0EuLr6qqQbtXXHZ6sZ8jDqNjdUxxHSNgFpStFE+Shh2NdDuN6XqnkefLx7ZmLFQub12VOKj04R38tLuxrBsP4gq8ZG04R46BdJluOVw04srcGsMYHErQ3G6x4HGORrhyK2ZBSzfbWK6LEloo7q9ssbuIAKzbU2uIXHLD+O+OTWY2MiwGlWlzQNhXos2ORwojZdDZHHiVxuNdZYv1JsdcjR5qq1KP3wVJjppoYh/ezvf1VIFO2UjxQD4laO+Fv7MLTjdpyx/8AOFmwe4F3A/8Ahk3k9n5rMGfjd3D0XIAr8UfG0eSqUqhASTRVjVJQarFaBAKDwSapRq4B+qAtPFpV90uDAOqYjq1djzurB2Md/szD0fSszKXu8sxUlbtgeR/SVzxk+ytH/MU82NZVifOKvnQWkfOMN7RoDmMZZHiLm18t1M4iaM3JExovjqpaPdgOq/CORSMbXcQD6hYucvqxzmLlinjkZqDmt9XBWRyNJ1CRhadr1WFN2HiJ1GNhI23aoMw8MbjoiYCOjaWK3IuI2O49Qo20cSDY4IcNOw6WFawNIHhCzVUgXvvw3UZMLDMAXxgkiiSu7u26QaScBVVdJummZNlmFc5pELS8HVd1v12TGAgjIcWuOp2/iJXbbdWkMAT0hXdTUcz8Oxzv3TD51aF0AoTdNR//2Q==";
|
|
8999
8333
|
const _hoisted_1$c = { class: "user-operate" };
|
|
9000
8334
|
const _hoisted_2$7 = ["onClick"];
|
|
9001
|
-
const _hoisted_3$
|
|
9002
|
-
const _hoisted_4$
|
|
9003
|
-
const _hoisted_5
|
|
9004
|
-
const _hoisted_6$1 = /* @__PURE__ */ createElementVNode("img", { src: _imports_0 }, null, -1);
|
|
9005
|
-
const _hoisted_7 = { class: "name" };
|
|
8335
|
+
const _hoisted_3$4 = { class: "userInfo" };
|
|
8336
|
+
const _hoisted_4$1 = /* @__PURE__ */ createElementVNode("img", { src: _imports_0 }, null, -1);
|
|
8337
|
+
const _hoisted_5 = { class: "name" };
|
|
9006
8338
|
const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
9007
8339
|
__name: "user-info",
|
|
9008
8340
|
setup(__props) {
|
|
8341
|
+
const { t } = useI18n("UI");
|
|
9009
8342
|
const getUserInfo = DtCache.getLocal(CacheKey.USER_INFO);
|
|
9010
8343
|
const { getUserActions } = useHeader();
|
|
9011
8344
|
const { appConf } = useAppStore();
|
|
@@ -9042,7 +8375,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
9042
8375
|
withDirectives(createElementVNode("span", null, null, 512), [
|
|
9043
8376
|
[_directive_icon, "ic:baseline-key"]
|
|
9044
8377
|
]),
|
|
9045
|
-
|
|
8378
|
+
createTextVNode(toDisplayString(unref(t)("MODIFY_PASSWORD")), 1)
|
|
9046
8379
|
]),
|
|
9047
8380
|
createElementVNode("li", {
|
|
9048
8381
|
onClick: _cache[0] || (_cache[0] = ($event) => signOut())
|
|
@@ -9050,21 +8383,21 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
9050
8383
|
withDirectives(createElementVNode("span", null, null, 512), [
|
|
9051
8384
|
[_directive_icon, "ant-design:logout-outlined"]
|
|
9052
8385
|
]),
|
|
9053
|
-
|
|
8386
|
+
createTextVNode(toDisplayString(unref(t)("LOGIN_OUT")), 1)
|
|
9054
8387
|
])
|
|
9055
8388
|
])
|
|
9056
8389
|
]),
|
|
9057
8390
|
default: withCtx(() => {
|
|
9058
8391
|
var _a;
|
|
9059
8392
|
return [
|
|
9060
|
-
createElementVNode("div",
|
|
8393
|
+
createElementVNode("div", _hoisted_3$4, [
|
|
9061
8394
|
createVNode(unref(Avatar), { size: 28 }, {
|
|
9062
8395
|
icon: withCtx(() => [
|
|
9063
|
-
|
|
8396
|
+
_hoisted_4$1
|
|
9064
8397
|
]),
|
|
9065
8398
|
_: 1
|
|
9066
8399
|
}),
|
|
9067
|
-
createElementVNode("span",
|
|
8400
|
+
createElementVNode("span", _hoisted_5, toDisplayString((_a = unref(getUserInfo)) == null ? void 0 : _a.userNo), 1)
|
|
9068
8401
|
])
|
|
9069
8402
|
];
|
|
9070
8403
|
}),
|
|
@@ -9075,7 +8408,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
9075
8408
|
});
|
|
9076
8409
|
const _hoisted_1$b = { class: "lang" };
|
|
9077
8410
|
const _hoisted_2$6 = ["onClick"];
|
|
9078
|
-
const _hoisted_3$
|
|
8411
|
+
const _hoisted_3$3 = { fontSize: 16 };
|
|
9079
8412
|
const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
9080
8413
|
__name: "lang-picker",
|
|
9081
8414
|
props: {
|
|
@@ -9120,7 +8453,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
9120
8453
|
])
|
|
9121
8454
|
]),
|
|
9122
8455
|
default: withCtx(() => [
|
|
9123
|
-
withDirectives(createElementVNode("span", _hoisted_3$
|
|
8456
|
+
withDirectives(createElementVNode("span", _hoisted_3$3, null, 512), [
|
|
9124
8457
|
[_directive_icon, "ic:baseline-language"]
|
|
9125
8458
|
])
|
|
9126
8459
|
]),
|
|
@@ -9238,9 +8571,9 @@ function handler(event, value) {
|
|
|
9238
8571
|
}
|
|
9239
8572
|
const _hoisted_1$a = { class: "dt-menu-type__wrap" };
|
|
9240
8573
|
const _hoisted_2$5 = ["onClick"];
|
|
9241
|
-
const _hoisted_3$
|
|
9242
|
-
const _hoisted_4
|
|
9243
|
-
_hoisted_3$
|
|
8574
|
+
const _hoisted_3$2 = /* @__PURE__ */ createElementVNode("div", { class: "dt-sidebar-menu-type" }, null, -1);
|
|
8575
|
+
const _hoisted_4 = [
|
|
8576
|
+
_hoisted_3$2
|
|
9244
8577
|
];
|
|
9245
8578
|
const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
9246
8579
|
__name: "menu-type",
|
|
@@ -9269,7 +8602,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
9269
8602
|
[`dt-menu-type__item--active`]: unref(getMenuType) === item.type && unref(getMenuMode) === item.mode
|
|
9270
8603
|
}
|
|
9271
8604
|
])
|
|
9272
|
-
}, _hoisted_4
|
|
8605
|
+
}, _hoisted_4, 10, _hoisted_2$5)
|
|
9273
8606
|
]),
|
|
9274
8607
|
_: 2
|
|
9275
8608
|
}, 1032, ["title"]);
|
|
@@ -9278,16 +8611,6 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
9278
8611
|
};
|
|
9279
8612
|
}
|
|
9280
8613
|
});
|
|
9281
|
-
const contentModeOptions = [
|
|
9282
|
-
{
|
|
9283
|
-
value: ContentMode.FULL,
|
|
9284
|
-
label: "\u6D41\u5F0F"
|
|
9285
|
-
},
|
|
9286
|
-
{
|
|
9287
|
-
value: ContentMode.FIXED,
|
|
9288
|
-
label: "\u5B9A\u5BBD"
|
|
9289
|
-
}
|
|
9290
|
-
];
|
|
9291
8614
|
const _hoisted_1$9 = { class: "dt-feature-item" };
|
|
9292
8615
|
const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
9293
8616
|
__name: "switch-item",
|
|
@@ -9303,6 +8626,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
9303
8626
|
},
|
|
9304
8627
|
setup(__props) {
|
|
9305
8628
|
const props = __props;
|
|
8629
|
+
const { t } = useI18n("UI");
|
|
9306
8630
|
const getBindValue = computed(() => {
|
|
9307
8631
|
return props.def ? { checked: props.def } : {};
|
|
9308
8632
|
});
|
|
@@ -9315,9 +8639,9 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
9315
8639
|
createVNode(unref(Switch), mergeProps(unref(getBindValue), {
|
|
9316
8640
|
disabled: __props.disabled,
|
|
9317
8641
|
onChange: handleChange,
|
|
9318
|
-
checkedChildren: "
|
|
9319
|
-
unCheckedChildren: "
|
|
9320
|
-
}), null, 16, ["disabled"])
|
|
8642
|
+
checkedChildren: unref(t)("ON"),
|
|
8643
|
+
unCheckedChildren: unref(t)("OFF")
|
|
8644
|
+
}), null, 16, ["disabled", "checkedChildren", "unCheckedChildren"])
|
|
9321
8645
|
]);
|
|
9322
8646
|
};
|
|
9323
8647
|
}
|
|
@@ -9361,6 +8685,17 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
9361
8685
|
const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
9362
8686
|
__name: "feature",
|
|
9363
8687
|
setup(__props) {
|
|
8688
|
+
const { t } = useI18n("UI");
|
|
8689
|
+
const contentModeOptions = [
|
|
8690
|
+
{
|
|
8691
|
+
value: ContentMode.FULL,
|
|
8692
|
+
label: t("FULL")
|
|
8693
|
+
},
|
|
8694
|
+
{
|
|
8695
|
+
value: ContentMode.FIXED,
|
|
8696
|
+
label: t("FIXED")
|
|
8697
|
+
}
|
|
8698
|
+
];
|
|
9364
8699
|
const {
|
|
9365
8700
|
getShowBread,
|
|
9366
8701
|
getShowSearch,
|
|
@@ -9377,63 +8712,62 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
9377
8712
|
return (_ctx, _cache) => {
|
|
9378
8713
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
9379
8714
|
createVNode(_sfc_main$l, {
|
|
9380
|
-
title: "
|
|
8715
|
+
title: unref(t)("BREAD_CURB"),
|
|
9381
8716
|
event: unref(HandlerEnum).SHOW_BREADCRUMB,
|
|
9382
8717
|
def: unref(unref(getShowBread))
|
|
9383
|
-
}, null, 8, ["event", "def"]),
|
|
8718
|
+
}, null, 8, ["title", "event", "def"]),
|
|
9384
8719
|
createVNode(_sfc_main$l, {
|
|
9385
|
-
title: "
|
|
8720
|
+
title: unref(t)("MENU_FILTER"),
|
|
9386
8721
|
event: unref(HandlerEnum).SHOW_SEARCH,
|
|
9387
8722
|
def: unref(unref(getShowSearch)) ? true : false
|
|
9388
|
-
}, null, 8, ["event", "def"]),
|
|
8723
|
+
}, null, 8, ["title", "event", "def"]),
|
|
9389
8724
|
createVNode(_sfc_main$l, {
|
|
9390
|
-
title: "
|
|
8725
|
+
title: unref(t)("NOTICE"),
|
|
9391
8726
|
event: unref(HandlerEnum).SHOW_NOTICY,
|
|
9392
8727
|
def: unref(unref(getShowNotice)) ? true : false
|
|
9393
|
-
}, null, 8, ["event", "def"]),
|
|
8728
|
+
}, null, 8, ["title", "event", "def"]),
|
|
9394
8729
|
createVNode(_sfc_main$l, {
|
|
9395
|
-
title: "
|
|
8730
|
+
title: unref(t)("SHOW_FULLE"),
|
|
9396
8731
|
event: unref(HandlerEnum).SHOW_FULL_SCREEN,
|
|
9397
8732
|
def: unref(unref(getShowFullScreen))
|
|
9398
|
-
}, null, 8, ["event", "def"]),
|
|
8733
|
+
}, null, 8, ["title", "event", "def"]),
|
|
9399
8734
|
createVNode(_sfc_main$l, {
|
|
9400
|
-
title: "
|
|
8735
|
+
title: unref(t)("LOCAL"),
|
|
9401
8736
|
event: unref(HandlerEnum).SHOW_LOCAL,
|
|
9402
8737
|
def: unref(unref(getShowLocale))
|
|
9403
|
-
}, null, 8, ["event", "def"]),
|
|
8738
|
+
}, null, 8, ["title", "event", "def"]),
|
|
9404
8739
|
createVNode(_sfc_main$l, {
|
|
9405
|
-
title: "
|
|
8740
|
+
title: unref(t)("ROUTE_REUSE"),
|
|
9406
8741
|
event: unref(HandlerEnum).SHOW_ROUTE_REUSE,
|
|
9407
8742
|
def: unref(unref(getShowMultipleTab))
|
|
9408
|
-
}, null, 8, ["event", "def"]),
|
|
8743
|
+
}, null, 8, ["title", "event", "def"]),
|
|
9409
8744
|
createVNode(_sfc_main$l, {
|
|
9410
|
-
title: "
|
|
8745
|
+
title: unref(t)("SHOW_FOOTER"),
|
|
9411
8746
|
event: unref(HandlerEnum).SHOW_FOOTER,
|
|
9412
8747
|
def: unref(unref(showFooter))
|
|
9413
|
-
}, null, 8, ["event", "def"]),
|
|
8748
|
+
}, null, 8, ["title", "event", "def"]),
|
|
9414
8749
|
createVNode(_sfc_main$k, {
|
|
9415
|
-
title: "
|
|
8750
|
+
title: unref(t)("CONTENT_FIXED_WIDTH"),
|
|
9416
8751
|
event: unref(HandlerEnum).CONTENT_MODE,
|
|
9417
8752
|
def: unref(getContentMode),
|
|
9418
|
-
options:
|
|
9419
|
-
}, null, 8, ["
|
|
8753
|
+
options: contentModeOptions
|
|
8754
|
+
}, null, 8, ["title", "event", "def"])
|
|
9420
8755
|
], 64);
|
|
9421
8756
|
};
|
|
9422
8757
|
}
|
|
9423
8758
|
});
|
|
9424
|
-
const _hoisted_1$7 =
|
|
9425
|
-
const _hoisted_2$4 = /* @__PURE__ */ createTextVNode("\u754C\u9762\u663E\u793A");
|
|
9426
|
-
const _hoisted_3$2 = {
|
|
8759
|
+
const _hoisted_1$7 = {
|
|
9427
8760
|
class: "dt-setting-theme-footer"
|
|
9428
8761
|
};
|
|
9429
|
-
const
|
|
9430
|
-
const _hoisted_5 = /* @__PURE__ */ createTextVNode("\u91CD\u7F6E");
|
|
9431
|
-
const _hoisted_6 = /* @__PURE__ */ createElementVNode("div", {
|
|
8762
|
+
const _hoisted_2$4 = {
|
|
9432
8763
|
class: "setting-theme-tips"
|
|
9433
|
-
}
|
|
8764
|
+
};
|
|
9434
8765
|
var _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
9435
8766
|
__name: "setting-theme",
|
|
9436
8767
|
setup(__props) {
|
|
8768
|
+
const {
|
|
8769
|
+
t
|
|
8770
|
+
} = useI18n("UI");
|
|
9437
8771
|
const themeStore = useThemeStore();
|
|
9438
8772
|
const {
|
|
9439
8773
|
getMenuType,
|
|
@@ -9526,41 +8860,41 @@ var _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
9526
8860
|
const _directive_icon = resolveDirective("icon");
|
|
9527
8861
|
return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(Tooltip), {
|
|
9528
8862
|
placement: "bottom",
|
|
9529
|
-
title: "
|
|
8863
|
+
title: unref(t)("SETTING_THEME")
|
|
9530
8864
|
}, {
|
|
9531
8865
|
default: withCtx(() => [withDirectives(createElementVNode("span", {
|
|
9532
8866
|
onClick: _cache[0] || (_cache[0] = ($event) => visible.value = true)
|
|
9533
8867
|
}, null, 512), [[_directive_icon, "ant-design:setting-outlined"]])]),
|
|
9534
8868
|
_: 1
|
|
9535
|
-
}), createVNode(unref(Drawer), {
|
|
8869
|
+
}, 8, ["title"]), createVNode(unref(Drawer), {
|
|
9536
8870
|
visible: visible.value,
|
|
9537
8871
|
"onUpdate:visible": _cache[1] || (_cache[1] = ($event) => visible.value = $event),
|
|
9538
|
-
title: "
|
|
8872
|
+
title: unref(t)("PROJECT_SETTING"),
|
|
9539
8873
|
placement: "right",
|
|
9540
8874
|
width: "320"
|
|
9541
8875
|
}, {
|
|
9542
8876
|
default: withCtx(() => [createVNode(unref(Divider), null, {
|
|
9543
|
-
default: withCtx(() => [
|
|
8877
|
+
default: withCtx(() => [createTextVNode(toDisplayString(unref(t)("NAV_MODE")), 1)]),
|
|
9544
8878
|
_: 1
|
|
9545
8879
|
}), createVNode(unref(_sfc_main$m)), createVNode(unref(Divider), null, {
|
|
9546
|
-
default: withCtx(() => [
|
|
8880
|
+
default: withCtx(() => [createTextVNode(toDisplayString(unref(t)("PAGE_SHOW")), 1)]),
|
|
9547
8881
|
_: 1
|
|
9548
|
-
}), createVNode(unref(_sfc_main$j)), createVNode(unref(Divider)), createElementVNode("div",
|
|
8882
|
+
}), createVNode(unref(_sfc_main$j)), createVNode(unref(Divider)), createElementVNode("div", _hoisted_1$7, [createVNode(unref(Button), {
|
|
9549
8883
|
onClick: copy,
|
|
9550
8884
|
type: "primary",
|
|
9551
8885
|
block: ""
|
|
9552
8886
|
}, {
|
|
9553
|
-
default: withCtx(() => [
|
|
8887
|
+
default: withCtx(() => [createTextVNode(toDisplayString(unref(t)("COPY")), 1)]),
|
|
9554
8888
|
_: 1
|
|
9555
8889
|
}), createVNode(unref(Button), {
|
|
9556
8890
|
onClick: reset,
|
|
9557
8891
|
block: ""
|
|
9558
8892
|
}, {
|
|
9559
|
-
default: withCtx(() => [
|
|
8893
|
+
default: withCtx(() => [createTextVNode(toDisplayString(unref(t)("RESET")), 1)]),
|
|
9560
8894
|
_: 1
|
|
9561
|
-
})]),
|
|
8895
|
+
})]), createElementVNode("div", _hoisted_2$4, toDisplayString(unref(t)("DRAWER_TIPS")), 1)]),
|
|
9562
8896
|
_: 1
|
|
9563
|
-
}, 8, ["visible"])], 64);
|
|
8897
|
+
}, 8, ["visible", "title"])], 64);
|
|
9564
8898
|
};
|
|
9565
8899
|
}
|
|
9566
8900
|
});
|
|
@@ -9573,10 +8907,11 @@ const _hoisted_3$1 = { key: 0 };
|
|
|
9573
8907
|
const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
9574
8908
|
__name: "menu-search",
|
|
9575
8909
|
setup(__props) {
|
|
8910
|
+
const { t } = useI18n("UI");
|
|
9576
8911
|
const menuList = ref([]);
|
|
9577
8912
|
const router = useRouter();
|
|
9578
8913
|
const filter2 = ref("");
|
|
9579
|
-
const { getShowSearch } = useHeader();
|
|
8914
|
+
const { getShowSearch, getIsZH } = useHeader();
|
|
9580
8915
|
const isUseDef = computed(() => {
|
|
9581
8916
|
return isBoolean(getShowSearch.value);
|
|
9582
8917
|
});
|
|
@@ -9609,7 +8944,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
9609
8944
|
(openBlock(true), createElementBlock(Fragment, null, renderList(menuList.value, (menu) => {
|
|
9610
8945
|
return openBlock(), createElementBlock("p", {
|
|
9611
8946
|
onClick: ($event) => navigation(menu.url)
|
|
9612
|
-
}, toDisplayString(menu.label), 9, _hoisted_2$3);
|
|
8947
|
+
}, toDisplayString(unref(getIsZH) ? menu.label : menu.enLabel), 9, _hoisted_2$3);
|
|
9613
8948
|
}), 256)),
|
|
9614
8949
|
!menuList.value.length ? (openBlock(), createElementBlock("div", _hoisted_3$1, [
|
|
9615
8950
|
createVNode(unref(Empty), {
|
|
@@ -9622,9 +8957,9 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
9622
8957
|
createVNode(unref(InputSearch), {
|
|
9623
8958
|
value: filter2.value,
|
|
9624
8959
|
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => filter2.value = $event),
|
|
9625
|
-
placeholder: "
|
|
8960
|
+
placeholder: unref(t)("FILTER_MORE"),
|
|
9626
8961
|
onInput: filterMenu
|
|
9627
|
-
}, null, 8, ["value"])
|
|
8962
|
+
}, null, 8, ["value", "placeholder"])
|
|
9628
8963
|
]),
|
|
9629
8964
|
_: 1
|
|
9630
8965
|
})
|
|
@@ -9638,19 +8973,20 @@ const _hoisted_3 = { fontSize: 16 };
|
|
|
9638
8973
|
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
9639
8974
|
__name: "size",
|
|
9640
8975
|
setup(__props) {
|
|
8976
|
+
const { t } = useI18n("UI");
|
|
9641
8977
|
const { setAppConf } = useAppStore();
|
|
9642
8978
|
const { getUiSize } = useApp();
|
|
9643
8979
|
const sizeList = [
|
|
9644
8980
|
{
|
|
9645
|
-
text: "
|
|
8981
|
+
text: t("LARGE_SIZE"),
|
|
9646
8982
|
event: "large"
|
|
9647
8983
|
},
|
|
9648
8984
|
{
|
|
9649
|
-
text: "
|
|
8985
|
+
text: t("MIDDLE_SIZE"),
|
|
9650
8986
|
event: "middle"
|
|
9651
8987
|
},
|
|
9652
8988
|
{
|
|
9653
|
-
text: "
|
|
8989
|
+
text: t("SMALL_SIZE"),
|
|
9654
8990
|
event: "small"
|
|
9655
8991
|
}
|
|
9656
8992
|
];
|
|
@@ -10136,7 +9472,7 @@ var _sfc_main$b = defineComponent({
|
|
|
10136
9472
|
}), null);
|
|
10137
9473
|
}
|
|
10138
9474
|
return () => {
|
|
10139
|
-
return createVNode(Fragment, null, [renderHeader(), unref(getUseScroll) ? createVNode(_sfc_main$
|
|
9475
|
+
return createVNode(Fragment, null, [renderHeader(), unref(getUseScroll) ? createVNode(_sfc_main$U, null, {
|
|
10140
9476
|
default: () => renderMenu()
|
|
10141
9477
|
}) : renderMenu()]);
|
|
10142
9478
|
};
|
|
@@ -10469,44 +9805,45 @@ function useTabDropdown() {
|
|
|
10469
9805
|
currentIndex: 0
|
|
10470
9806
|
});
|
|
10471
9807
|
const getDropMenuList = computed(() => {
|
|
9808
|
+
const { t } = useI18n("UI");
|
|
10472
9809
|
const { path, meta } = unref(currentRoute);
|
|
10473
9810
|
const curItem = state.current;
|
|
10474
9811
|
const isCurItem = curItem ? curItem.path === path : false;
|
|
10475
|
-
const
|
|
10476
|
-
const closeLeftDisabled =
|
|
9812
|
+
const index2 = state.currentIndex;
|
|
9813
|
+
const closeLeftDisabled = index2 === 0 || !isCurItem;
|
|
10477
9814
|
const disabled = tabStore.getTabList.length === 1;
|
|
10478
|
-
const closeRightDisabled = !isCurItem ||
|
|
9815
|
+
const closeRightDisabled = !isCurItem || index2 === tabStore.getTabList.length - 1 && tabStore.getLastDragEndIndex >= 0;
|
|
10479
9816
|
const dropMenuList = [
|
|
10480
9817
|
{
|
|
10481
9818
|
icon: "ic:baseline-close",
|
|
10482
|
-
text: "
|
|
9819
|
+
text: t("CLOSE_CURRENT_TAG"),
|
|
10483
9820
|
onClick: () => tabStore.closeTab(path, router),
|
|
10484
9821
|
disabled: !!(meta == null ? void 0 : meta.affix) || disabled,
|
|
10485
9822
|
divider: true
|
|
10486
9823
|
},
|
|
10487
9824
|
{
|
|
10488
9825
|
icon: "mdi:arrow-collapse-left",
|
|
10489
|
-
text: "
|
|
9826
|
+
text: t("CLOSE_LEFT_TAGS"),
|
|
10490
9827
|
onClick: () => tabStore.closeLeftTabs(path),
|
|
10491
9828
|
disabled: closeLeftDisabled,
|
|
10492
9829
|
divider: false
|
|
10493
9830
|
},
|
|
10494
9831
|
{
|
|
10495
9832
|
icon: "mdi:arrow-collapse-right",
|
|
10496
|
-
text: "
|
|
9833
|
+
text: t("CLOSE_RIGHT_TAGS"),
|
|
10497
9834
|
onClick: () => tabStore.closeRightTabs(path),
|
|
10498
9835
|
disabled: closeRightDisabled,
|
|
10499
9836
|
divider: true
|
|
10500
9837
|
},
|
|
10501
9838
|
{
|
|
10502
9839
|
icon: "ic:baseline-sync-alt",
|
|
10503
|
-
text: "
|
|
9840
|
+
text: t("CLOSE_OTHER_TAGS"),
|
|
10504
9841
|
onClick: () => tabStore.closeOtherTabs(path),
|
|
10505
9842
|
disabled: disabled || !isCurItem
|
|
10506
9843
|
},
|
|
10507
9844
|
{
|
|
10508
9845
|
icon: "ic:baseline-horizontal-rule",
|
|
10509
|
-
text: "
|
|
9846
|
+
text: t("CLOSE_ALL_TAGE"),
|
|
10510
9847
|
onClick: () => tabStore.closeAllTab(currentRoute, router),
|
|
10511
9848
|
disabled
|
|
10512
9849
|
}
|
|
@@ -10516,9 +9853,9 @@ function useTabDropdown() {
|
|
|
10516
9853
|
function handleContext(e) {
|
|
10517
9854
|
e == null ? void 0 : e.preventDefault();
|
|
10518
9855
|
const { path } = unref(currentRoute);
|
|
10519
|
-
const
|
|
9856
|
+
const index2 = tabStore.getTabList.findIndex((tab) => tab.path === path);
|
|
10520
9857
|
state.current = unref(currentRoute);
|
|
10521
|
-
state.currentIndex =
|
|
9858
|
+
state.currentIndex = index2;
|
|
10522
9859
|
}
|
|
10523
9860
|
function handleMenuEvent(item) {
|
|
10524
9861
|
var _a;
|
|
@@ -10546,8 +9883,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
10546
9883
|
overlay: withCtx(() => [
|
|
10547
9884
|
createVNode(unref(Menu), null, {
|
|
10548
9885
|
default: withCtx(() => [
|
|
10549
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getDropMenuList), (item,
|
|
10550
|
-
return openBlock(), createElementBlock(Fragment, { key:
|
|
9886
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getDropMenuList), (item, index2) => {
|
|
9887
|
+
return openBlock(), createElementBlock(Fragment, { key: index2 }, [
|
|
10551
9888
|
createVNode(unref(MenuItem), {
|
|
10552
9889
|
onClick: ($event) => unref(handleMenuEvent)(item),
|
|
10553
9890
|
disabled: item.disabled
|
|
@@ -10561,7 +9898,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
10561
9898
|
_: 2
|
|
10562
9899
|
}, 1032, ["onClick", "disabled"]),
|
|
10563
9900
|
item.divider ? (openBlock(), createBlock(unref(MenuDivider), {
|
|
10564
|
-
key: `d-${
|
|
9901
|
+
key: `d-${index2}`
|
|
10565
9902
|
})) : createCommentVNode("", true)
|
|
10566
9903
|
], 64);
|
|
10567
9904
|
}), 128))
|
|
@@ -10979,7 +10316,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
10979
10316
|
}, {
|
|
10980
10317
|
default: withCtx(() => [
|
|
10981
10318
|
unref(getShowSidebar) ? (openBlock(), createBlock(_sfc_main$7, { key: 0 })) : createCommentVNode("", true),
|
|
10982
|
-
createVNode(unref(_sfc_main$
|
|
10319
|
+
createVNode(unref(_sfc_main$U), {
|
|
10983
10320
|
ref_key: "wrapperRef",
|
|
10984
10321
|
ref: wrapperRef,
|
|
10985
10322
|
class: normalizeClass({ "fixedWrap": unref(getFixed) })
|
|
@@ -11011,4 +10348,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
11011
10348
|
};
|
|
11012
10349
|
}
|
|
11013
10350
|
});
|
|
11014
|
-
export { DtBaseRouter, DtForm, DtIcon, _sfc_main$
|
|
10351
|
+
export { DtBaseRouter, DtForm, DtIcon, _sfc_main$y as DtIframe, _sfc_main$K as DtModal, _sfc_main$W as DtPickIcon, index as DtTable, _sfc_main as DtTheme, _sfc_main$w as DtTree, FormButtons, authMounted, iconMounted, initComponents, initDirectives, useCurd, useForm, useModal, useModalOut, useSource, useTable };
|