@dt-frames/ui 1.0.4 → 1.0.7

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.
Files changed (91) hide show
  1. package/es/assets/imgs/header/avatar.png +0 -0
  2. package/es/components/curd/src/components/dialog.d.ts +22 -58
  3. package/es/components/curd/src/types/curd.type.d.ts +2 -1
  4. package/es/components/dialog/index.d.ts +2 -0
  5. package/es/components/dialog/src/hooks/useDialog.d.ts +3 -0
  6. package/es/components/forms/index.d.ts +2 -2
  7. package/es/components/forms/src/components/formIcon.d.ts +7 -48
  8. package/es/components/forms/src/index.d.ts +2 -6
  9. package/es/components/icons/src/pick-icon.d.ts +1 -0
  10. package/es/components/index.d.ts +2 -1
  11. package/es/components/modal/src/components/close-icon.d.ts +0 -43
  12. package/es/components/modal/src/components/modal-wrap.d.ts +1 -0
  13. package/es/components/modal/src/index.d.ts +1 -43
  14. package/es/components/modal/src/types/modal.type.d.ts +3 -3
  15. package/es/components/source/src/hooks/useSource.d.ts +10 -0
  16. package/es/components/source/src/types/source.type.d.ts +10 -1
  17. package/es/components/source/src/types/table.type.d.ts +1 -1
  18. package/es/components/table/index.d.ts +1 -1
  19. package/es/components/table/src/components/TableActions.d.ts +2 -2
  20. package/es/components/table/src/components/setting/Column.d.ts +7 -6
  21. package/es/components/table/src/components/setting/Download.d.ts +2 -2
  22. package/es/components/table/src/components/setting/Size.d.ts +2 -2
  23. package/es/components/table/src/hooks/useColumns.d.ts +1 -1
  24. package/es/components/table/src/hooks/useDataSource.d.ts +1 -3
  25. package/es/components/table/src/hooks/useHeaderCode.d.ts +3 -0
  26. package/es/components/table/src/hooks/useRowSelection.d.ts +2 -3
  27. package/es/components/table/src/index.d.ts +35 -20
  28. package/es/components/table/src/props.d.ts +10 -3
  29. package/es/components/table/src/types/table.type.d.ts +2 -2
  30. package/es/index.js +1315 -901
  31. package/es/style/components/icons/index.less +6 -1
  32. package/es/style/components/modal/index.less +0 -3
  33. package/es/style/components/table/index.less +12 -1
  34. package/es/style/theme/header/index.less +8 -4
  35. package/es/theme/header/components/logo.d.ts +43 -0
  36. package/es/theme/sider/components/basic-menu/basic-menu.d.ts +3 -3
  37. package/es/theme/tabs/components/TabContent.d.ts +2 -2
  38. package/package.json +6 -3
  39. package/src/assets/imgs/header/avatar.png +0 -0
  40. package/src/components/curd/src/components/dialog.vue +11 -5
  41. package/src/components/curd/src/hooks/useCurd.tsx +24 -9
  42. package/src/components/curd/src/types/curd.type.ts +3 -1
  43. package/src/components/dialog/index.ts +5 -0
  44. package/src/components/dialog/src/hooks/useDialog.ts +85 -0
  45. package/src/components/forms/index.ts +3 -4
  46. package/src/components/forms/src/components/formIcon.vue +3 -2
  47. package/src/components/forms/src/index.vue +14 -10
  48. package/src/components/icons/index.less +6 -1
  49. package/src/components/icons/src/pick-icon.vue +3 -1
  50. package/src/components/iframe/src/index.less +3 -0
  51. package/src/components/index.ts +3 -1
  52. package/src/components/modal/index.less +0 -3
  53. package/src/components/modal/src/components/close-icon.vue +3 -4
  54. package/src/components/modal/src/components/modal-wrap.vue +49 -39
  55. package/src/components/modal/src/components/modal.tsx +2 -2
  56. package/src/components/modal/src/components/modalFooter.vue +1 -1
  57. package/src/components/modal/src/hooks/useFullScreen.ts +3 -1
  58. package/src/components/modal/src/hooks/useModal.ts +23 -8
  59. package/src/components/modal/src/index.vue +1 -1
  60. package/src/components/modal/src/types/modal.type.ts +3 -3
  61. package/src/components/source/src/hooks/useFetch.ts +3 -4
  62. package/src/components/source/src/hooks/useSource.ts +21 -6
  63. package/src/components/source/src/types/source.type.ts +11 -1
  64. package/src/components/source/src/types/table.type.ts +1 -1
  65. package/src/components/table/index.less +12 -1
  66. package/src/components/table/index.ts +1 -1
  67. package/src/components/table/src/components/TableActions.vue +2 -2
  68. package/src/components/table/src/components/TableHeader.vue +1 -0
  69. package/src/components/table/src/components/TableRender.vue +8 -6
  70. package/src/components/table/src/components/setting/Column.vue +1 -2
  71. package/src/components/table/src/components/setting/Fullscreen.vue +1 -1
  72. package/src/components/table/src/components/setting/index.vue +2 -2
  73. package/src/components/table/src/hooks/useColumns.ts +2 -2
  74. package/src/components/table/src/hooks/useDataSource.ts +24 -13
  75. package/src/components/table/src/hooks/useHeaderCode.ts +89 -0
  76. package/src/components/table/src/hooks/useRowSelection.ts +2 -3
  77. package/src/components/table/src/hooks/useTable.ts +15 -2
  78. package/src/components/table/src/hooks/useTableHeader.ts +2 -2
  79. package/src/components/table/src/hooks/useTableScroll.ts +5 -3
  80. package/src/components/table/src/index.vue +18 -21
  81. package/src/components/table/src/props.ts +9 -4
  82. package/src/components/table/src/types/table.type.ts +2 -2
  83. package/src/theme/header/components/logo.vue +4 -2
  84. package/src/theme/header/components/user-info.vue +21 -4
  85. package/src/theme/header/index.less +8 -4
  86. package/es/index.css +0 -1
  87. package/es/style/components/forms/src/index.less +0 -82
  88. package/es/style/components/icons/src/index.less +0 -96
  89. package/es/style/components/modal/src/index.less +0 -60
  90. package/es/style/components/table/src/index.less +0 -162
  91. package/es/theme/header/components/user-info.d.ts +0 -452
package/es/index.js CHANGED
@@ -1,11 +1,9 @@
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, onUnmounted, toRefs, isVNode, inject, h, provide, onMounted, onBeforeUnmount, resolveDynamicComponent, renderSlot, createCommentVNode, mergeProps, readonly, isRef, withDirectives, resolveDirective, render, normalizeProps, guardReactiveProps, createSlots, useAttrs as useAttrs$1, vShow, toRef, withModifiers, Transition } from "vue";
2
- import { isString, isArray as isArray$1, isObject, isFunction, error, useTimeoutFn, useAttrs, useSlots, BAR_MAP, off, renderThumbStyle, on, useAppStore, addResizeListener, removeResizeListener, windowResizeFn, isNumber, isBoolean, isNull, DtCache, CacheKey, deepMerge, dateFormat, getDynamicProps, isNullAndUnDef, getPopupContainer, getDictValueByCode, formatNumber, isVnode, http, useTheme, useMenu, useHeader, localeList, changeLocale, Theme, MenuMode, MenuType, useThemeStore, ContentMode, useMultipleTab, copyText, MenuSplitTye, useGo, isUrl, openWindow, RouteReuseStore, menuList2Map, useApp } 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, CheckboxGroup, Dropdown, Menu, MenuItem, Table, message, Spin, BackTop, Breadcrumb, Avatar, Drawer, Empty, SubMenu, LayoutHeader, LayoutSider, MenuDivider, Tabs, TabPane, LayoutFooter, LayoutContent, ConfigProvider, Layout } from "ant-design-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, isBoolean, isNull, DtCache, CacheKey, deepMerge, dateFormat, http, getDynamicProps, getDictValueByCode, formatNumber, isVnode, getPopupContainer, isNullAndUnDef, useMessage, useTheme, useMenu, useHeader, useGo, Pages, localeList, changeLocale, Theme, MenuMode, MenuType, useThemeStore, ContentMode, useMultipleTab, copyText, MenuSplitTye, isUrl, openWindow, RouteReuseStore, menuList2Map, useApp } 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, Dropdown, Menu, MenuItem, Popover, CheckboxGroup, Table, message, Spin, BackTop, Breadcrumb, Avatar, Drawer, Empty, SubMenu, LayoutHeader, LayoutSider, MenuDivider, Tabs, TabPane, LayoutFooter, LayoutContent, ConfigProvider, Layout } from "ant-design-vue";
4
4
  import { isEqual, cloneDeep, upperFirst, set, uniqBy, omit, trim } from "lodash-es";
5
5
  import { tryOnUnmounted, isFunction as isFunction$1, useFullscreen, useDebounceFn, useThrottleFn } from "@vueuse/core";
6
- import { nextTick as nextTick$1 } from "process";
7
6
  import Sortablejs from "sortablejs";
8
- import dayjs from "dayjs";
9
7
  import * as xlsx from "xlsx";
10
8
  import { useRouter } from "vue-router";
11
9
  import zhCN from "ant-design-vue/es/locale/zh_CN";
@@ -1877,14 +1875,16 @@ const Icons = [
1877
1875
  }
1878
1876
  ];
1879
1877
  const _hoisted_1$q = ["onClick"];
1880
- const _hoisted_2$j = ["onClick"];
1878
+ const _hoisted_2$i = ["onClick"];
1881
1879
  const _sfc_main$R = /* @__PURE__ */ defineComponent({
1880
+ __name: "pick-icon",
1882
1881
  emits: ["chooseIcon"],
1883
1882
  setup(__props, { emit: emits }) {
1884
1883
  const clsPrefix = "dt-pick-icon";
1885
1884
  const activeIndex = ref(1);
1886
1885
  const filter = ref(null);
1887
1886
  const currentIcons = ref([]);
1887
+ const activeIcon = ref(null);
1888
1888
  const iconMenus = computed(() => {
1889
1889
  let total = 0;
1890
1890
  let menus = [];
@@ -1923,6 +1923,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
1923
1923
  currentIcons.value = getIcons().filter((it) => it.indexOf(unref(filter)) !== -1);
1924
1924
  }
1925
1925
  function selectIcon(icon) {
1926
+ activeIcon.value = icon;
1926
1927
  emits("chooseIcon", icon);
1927
1928
  }
1928
1929
  return (_ctx, _cache) => {
@@ -1962,7 +1963,8 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
1962
1963
  (openBlock(true), createElementBlock(Fragment, null, renderList(currentIcons.value, (icon) => {
1963
1964
  return openBlock(), createElementBlock("a", {
1964
1965
  key: icon,
1965
- onClick: ($event) => selectIcon(icon)
1966
+ onClick: ($event) => selectIcon(icon),
1967
+ class: normalizeClass(activeIcon.value === icon && "active-icon")
1966
1968
  }, [
1967
1969
  createVNode(unref(Tooltip), {
1968
1970
  placement: "bottom",
@@ -1978,7 +1980,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
1978
1980
  ]),
1979
1981
  _: 2
1980
1982
  }, 1024)
1981
- ], 8, _hoisted_2$j);
1983
+ ], 10, _hoisted_2$i);
1982
1984
  }), 128))
1983
1985
  ], 2)
1984
1986
  ], 1024))
@@ -1988,6 +1990,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
1988
1990
  }
1989
1991
  });
1990
1992
  const dataTransfer = reactive({});
1993
+ const cbTransfer = reactive({});
1991
1994
  const visibleData = reactive({});
1992
1995
  function useModalOut() {
1993
1996
  const modal = ref(null);
@@ -2002,6 +2005,8 @@ function useModalOut() {
2002
2005
  modal.value = null;
2003
2006
  loaded.value = false;
2004
2007
  dataTransfer[unref(uid)] = null;
2008
+ cbTransfer[unref(uid)] = (rsp) => {
2009
+ };
2005
2010
  });
2006
2011
  if (unref(loaded) && modalMethod === unref(modal))
2007
2012
  return;
@@ -2030,14 +2035,20 @@ function useModalOut() {
2030
2035
  var _a, _b;
2031
2036
  (_b = (_a = getInstance()) == null ? void 0 : _a.redoModalHeight) == null ? void 0 : _b.call(_a);
2032
2037
  },
2033
- openModal: (visable = true, data, openOnSet = true) => {
2038
+ openModal: (params, openOnSet = true) => {
2034
2039
  var _a;
2035
2040
  (_a = getInstance()) == null ? void 0 : _a.setModalProps({
2036
- visible: visable
2041
+ visible: true
2037
2042
  });
2043
+ const { data, afterClose } = params || {};
2044
+ const id = unref(uid);
2045
+ cbTransfer[unref(uid)] = (rsp) => {
2046
+ if (afterClose && isFunction(afterClose)) {
2047
+ afterClose(rsp);
2048
+ }
2049
+ };
2038
2050
  if (!data)
2039
2051
  return;
2040
- const id = unref(uid);
2041
2052
  if (openOnSet) {
2042
2053
  dataTransfer[id] = toRaw(data);
2043
2054
  return;
@@ -2093,8 +2104,9 @@ function useModal(props, callbackFn) {
2093
2104
  (_a = getInstance()) == null ? void 0 : _a.setModalProps({ loading });
2094
2105
  },
2095
2106
  getVisible: computed(() => visibleData[~~unref(uidRef)]),
2096
- closeModal: () => {
2107
+ closeModal: (rsp) => {
2097
2108
  var _a;
2109
+ cbTransfer[unref(uidRef)](rsp);
2098
2110
  (_a = getInstance()) == null ? void 0 : _a.setModalProps({ visible: false });
2099
2111
  },
2100
2112
  openModal: (visable = true, data, openOnSet = true) => {
@@ -2270,7 +2282,8 @@ var Modal = defineComponent({
2270
2282
  let _slot;
2271
2283
  const propsData = {
2272
2284
  ...unref(attrs),
2273
- ...props
2285
+ ...props,
2286
+ destroyOnClose: true
2274
2287
  };
2275
2288
  return createVNode(Modal$1, propsData, _isSlot$1(_slot = extendSlots(slots)) ? _slot : {
2276
2289
  default: () => [_slot]
@@ -2287,6 +2300,7 @@ function useFullScreen(options) {
2287
2300
  function toggleFullScreen(e) {
2288
2301
  e && e.stopPropagation();
2289
2302
  fullScreenRef.value = !unref(fullScreenRef);
2303
+ dispatchResize();
2290
2304
  }
2291
2305
  return {
2292
2306
  fullScreenRef,
@@ -2371,6 +2385,7 @@ var Bar = defineComponent({
2371
2385
  });
2372
2386
  const _hoisted_1$p = { class: "scrollbar" };
2373
2387
  const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2388
+ __name: "scroll-bar",
2374
2389
  props: {
2375
2390
  wrapClass: {
2376
2391
  type: [String, Array],
@@ -2482,6 +2497,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2482
2497
  }
2483
2498
  });
2484
2499
  const _sfc_main$P = /* @__PURE__ */ defineComponent({
2500
+ __name: "scroll-container",
2485
2501
  setup(__props) {
2486
2502
  const scrollbarRef = ref(null);
2487
2503
  return (_ctx, _cache) => {
@@ -2499,6 +2515,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
2499
2515
  }
2500
2516
  });
2501
2517
  const _sfc_main$O = /* @__PURE__ */ defineComponent({
2518
+ __name: "modal-wrap",
2502
2519
  props: {
2503
2520
  loading: { type: Boolean },
2504
2521
  useWrapper: { type: Boolean, default: true },
@@ -2529,9 +2546,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
2529
2546
  const { modalHeaderHeight, modalFooterHeight } = props;
2530
2547
  emits("ext-height", modalHeaderHeight + modalFooterHeight);
2531
2548
  });
2532
- async function setModalHeight() {
2533
- if (!props.visible)
2534
- return;
2549
+ async function getModalDom() {
2535
2550
  const wrapperRefDom = unref(wrapperRef);
2536
2551
  if (!wrapperRefDom)
2537
2552
  return;
@@ -2540,13 +2555,19 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
2540
2555
  return;
2541
2556
  bodyDom.style.padding = "0";
2542
2557
  await nextTick();
2558
+ const modalDom = bodyDom.parentElement && bodyDom.parentElement.parentElement;
2559
+ return modalDom;
2560
+ }
2561
+ async function setModalHeight() {
2562
+ if (!props.visible)
2563
+ return;
2543
2564
  try {
2544
- const modalDom = bodyDom.parentElement && bodyDom.parentElement.parentElement;
2565
+ const modalDom = await getModalDom();
2545
2566
  if (!modalDom)
2546
2567
  return;
2547
2568
  const modalRect = getComputedStyle(modalDom).top;
2548
2569
  const modalTop = Number.parseInt(modalRect);
2549
- let maxHeight = window.innerHeight - modalTop * 2 + (props.footerOffset || 0) - props.modalFooterHeight - props.modalHeaderHeight;
2570
+ let maxHeight = window.innerHeight - (props.footerOffset || 0) - props.modalFooterHeight - props.modalHeaderHeight - 100;
2550
2571
  if (modalTop < 40) {
2551
2572
  maxHeight -= 26;
2552
2573
  }
@@ -2557,12 +2578,13 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
2557
2578
  await nextTick();
2558
2579
  realHeight = spinEl.scrollHeight;
2559
2580
  if (props.fullScreen) {
2560
- console.log(props.modalFooterHeight, props.modalHeaderHeight);
2561
2581
  realHeightRef.value = window.innerHeight - props.modalFooterHeight - props.modalHeaderHeight;
2562
2582
  } else {
2563
2583
  realHeightRef.value = props.height ? props.height : realHeight > maxHeight ? maxHeight : realHeight;
2564
2584
  }
2565
2585
  emits("height-change", unref(realHeightRef));
2586
+ const _modalDom = await getModalDom();
2587
+ _modalDom.style.top = (window.innerHeight - _modalDom.offsetHeight) / 2 + "px";
2566
2588
  } catch (error2) {
2567
2589
  console.log(error2);
2568
2590
  }
@@ -2726,6 +2748,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
2726
2748
  }
2727
2749
  var RadioButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$5]]);
2728
2750
  const _sfc_main$M = /* @__PURE__ */ defineComponent({
2751
+ __name: "formIcon",
2729
2752
  props: {
2730
2753
  value: String,
2731
2754
  placeholder: String
@@ -2737,12 +2760,13 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
2737
2760
  title: "\u9009\u62E9\u5B57\u4F53\u56FE\u6807",
2738
2761
  width: "70%",
2739
2762
  showSave: false,
2740
- centered: true
2763
+ centered: true,
2764
+ wrapClassName: "dt-icon-dialog"
2741
2765
  });
2742
2766
  let [state, setState] = useFormValue(props);
2743
2767
  function chooseIcon(icon) {
2744
2768
  setState(icon);
2745
- closeModal();
2769
+ closeModal(icon);
2746
2770
  }
2747
2771
  return (_ctx, _cache) => {
2748
2772
  return openBlock(), createElementBlock("div", null, [
@@ -3382,7 +3406,7 @@ const _hoisted_1$o = {
3382
3406
  key: 0,
3383
3407
  className: "preIcon"
3384
3408
  };
3385
- const _hoisted_2$i = {
3409
+ const _hoisted_2$h = {
3386
3410
  key: 0,
3387
3411
  className: "preIcon"
3388
3412
  };
@@ -3420,7 +3444,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
3420
3444
  ]),
3421
3445
  default: withCtx(() => [
3422
3446
  createTextVNode(" " + toDisplayString(button.name) + " ", 1),
3423
- button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$i, null, 512)), [
3447
+ button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$h, null, 512)), [
3424
3448
  [_directive_icon, button.postIcon]
3425
3449
  ]) : createCommentVNode("", true)
3426
3450
  ]),
@@ -3456,6 +3480,213 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
3456
3480
  }
3457
3481
  var FormButtons = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$4]]);
3458
3482
  const isArray = Array.isArray;
3483
+ var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
3484
+ var dayjs_min = { exports: {} };
3485
+ (function(module, exports) {
3486
+ !function(t, e) {
3487
+ module.exports = e();
3488
+ }(commonjsGlobal, function() {
3489
+ var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", f = "month", h2 = "quarter", c = "year", d = "date", $ = "Invalid Date", l = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_") }, m = function(t2, e2, n2) {
3490
+ var r2 = String(t2);
3491
+ return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
3492
+ }, g = { s: m, z: function(t2) {
3493
+ var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
3494
+ return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
3495
+ }, m: function t2(e2, n2) {
3496
+ if (e2.date() < n2.date())
3497
+ return -t2(n2, e2);
3498
+ var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, f), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), f);
3499
+ return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
3500
+ }, a: function(t2) {
3501
+ return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
3502
+ }, p: function(t2) {
3503
+ return { M: f, y: c, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: h2 }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
3504
+ }, u: function(t2) {
3505
+ return void 0 === t2;
3506
+ } }, v = "en", D = {};
3507
+ D[v] = M;
3508
+ var p = function(t2) {
3509
+ return t2 instanceof _;
3510
+ }, S = function t2(e2, n2, r2) {
3511
+ var i2;
3512
+ if (!e2)
3513
+ return v;
3514
+ if ("string" == typeof e2) {
3515
+ var s2 = e2.toLowerCase();
3516
+ D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
3517
+ var u2 = e2.split("-");
3518
+ if (!i2 && u2.length > 1)
3519
+ return t2(u2[0]);
3520
+ } else {
3521
+ var a2 = e2.name;
3522
+ D[a2] = e2, i2 = a2;
3523
+ }
3524
+ return !r2 && i2 && (v = i2), i2 || !r2 && v;
3525
+ }, w = function(t2, e2) {
3526
+ if (p(t2))
3527
+ return t2.clone();
3528
+ var n2 = "object" == typeof e2 ? e2 : {};
3529
+ return n2.date = t2, n2.args = arguments, new _(n2);
3530
+ }, O = g;
3531
+ O.l = S, O.i = p, O.w = function(t2, e2) {
3532
+ return w(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset });
3533
+ };
3534
+ var _ = function() {
3535
+ function M2(t2) {
3536
+ this.$L = S(t2.locale, null, true), this.parse(t2);
3537
+ }
3538
+ var m2 = M2.prototype;
3539
+ return m2.parse = function(t2) {
3540
+ this.$d = function(t3) {
3541
+ var e2 = t3.date, n2 = t3.utc;
3542
+ if (null === e2)
3543
+ return new Date(NaN);
3544
+ if (O.u(e2))
3545
+ return new Date();
3546
+ if (e2 instanceof Date)
3547
+ return new Date(e2);
3548
+ if ("string" == typeof e2 && !/Z$/i.test(e2)) {
3549
+ var r2 = e2.match(l);
3550
+ if (r2) {
3551
+ var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
3552
+ return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
3553
+ }
3554
+ }
3555
+ return new Date(e2);
3556
+ }(t2), this.$x = t2.x || {}, this.init();
3557
+ }, m2.init = function() {
3558
+ var t2 = this.$d;
3559
+ this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
3560
+ }, m2.$utils = function() {
3561
+ return O;
3562
+ }, m2.isValid = function() {
3563
+ return !(this.$d.toString() === $);
3564
+ }, m2.isSame = function(t2, e2) {
3565
+ var n2 = w(t2);
3566
+ return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
3567
+ }, m2.isAfter = function(t2, e2) {
3568
+ return w(t2) < this.startOf(e2);
3569
+ }, m2.isBefore = function(t2, e2) {
3570
+ return this.endOf(e2) < w(t2);
3571
+ }, m2.$g = function(t2, e2, n2) {
3572
+ return O.u(t2) ? this[e2] : this.set(n2, t2);
3573
+ }, m2.unix = function() {
3574
+ return Math.floor(this.valueOf() / 1e3);
3575
+ }, m2.valueOf = function() {
3576
+ return this.$d.getTime();
3577
+ }, m2.startOf = function(t2, e2) {
3578
+ var n2 = this, r2 = !!O.u(e2) || e2, h3 = O.p(t2), $2 = function(t3, e3) {
3579
+ var i2 = O.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
3580
+ return r2 ? i2 : i2.endOf(a);
3581
+ }, l2 = function(t3, e3) {
3582
+ return O.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
3583
+ }, y2 = this.$W, M3 = this.$M, m3 = this.$D, g2 = "set" + (this.$u ? "UTC" : "");
3584
+ switch (h3) {
3585
+ case c:
3586
+ return r2 ? $2(1, 0) : $2(31, 11);
3587
+ case f:
3588
+ return r2 ? $2(1, M3) : $2(0, M3 + 1);
3589
+ case o:
3590
+ var v2 = this.$locale().weekStart || 0, D2 = (y2 < v2 ? y2 + 7 : y2) - v2;
3591
+ return $2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
3592
+ case a:
3593
+ case d:
3594
+ return l2(g2 + "Hours", 0);
3595
+ case u:
3596
+ return l2(g2 + "Minutes", 1);
3597
+ case s:
3598
+ return l2(g2 + "Seconds", 2);
3599
+ case i:
3600
+ return l2(g2 + "Milliseconds", 3);
3601
+ default:
3602
+ return this.clone();
3603
+ }
3604
+ }, m2.endOf = function(t2) {
3605
+ return this.startOf(t2, false);
3606
+ }, m2.$set = function(t2, e2) {
3607
+ var n2, o2 = O.p(t2), h3 = "set" + (this.$u ? "UTC" : ""), $2 = (n2 = {}, n2[a] = h3 + "Date", n2[d] = h3 + "Date", n2[f] = h3 + "Month", n2[c] = h3 + "FullYear", n2[u] = h3 + "Hours", n2[s] = h3 + "Minutes", n2[i] = h3 + "Seconds", n2[r] = h3 + "Milliseconds", n2)[o2], l2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
3608
+ if (o2 === f || o2 === c) {
3609
+ var y2 = this.clone().set(d, 1);
3610
+ y2.$d[$2](l2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
3611
+ } else
3612
+ $2 && this.$d[$2](l2);
3613
+ return this.init(), this;
3614
+ }, m2.set = function(t2, e2) {
3615
+ return this.clone().$set(t2, e2);
3616
+ }, m2.get = function(t2) {
3617
+ return this[O.p(t2)]();
3618
+ }, m2.add = function(r2, h3) {
3619
+ var d2, $2 = this;
3620
+ r2 = Number(r2);
3621
+ var l2 = O.p(h3), y2 = function(t2) {
3622
+ var e2 = w($2);
3623
+ return O.w(e2.date(e2.date() + Math.round(t2 * r2)), $2);
3624
+ };
3625
+ if (l2 === f)
3626
+ return this.set(f, this.$M + r2);
3627
+ if (l2 === c)
3628
+ return this.set(c, this.$y + r2);
3629
+ if (l2 === a)
3630
+ return y2(1);
3631
+ if (l2 === o)
3632
+ return y2(7);
3633
+ var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[l2] || 1, m3 = this.$d.getTime() + r2 * M3;
3634
+ return O.w(m3, this);
3635
+ }, m2.subtract = function(t2, e2) {
3636
+ return this.add(-1 * t2, e2);
3637
+ }, m2.format = function(t2) {
3638
+ var e2 = this, n2 = this.$locale();
3639
+ if (!this.isValid())
3640
+ return n2.invalidDate || $;
3641
+ var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = O.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, f2 = n2.months, h3 = function(t3, n3, i3, s3) {
3642
+ return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);
3643
+ }, c2 = function(t3) {
3644
+ return O.s(s2 % 12 || 12, t3, "0");
3645
+ }, d2 = n2.meridiem || function(t3, e3, n3) {
3646
+ var r3 = t3 < 12 ? "AM" : "PM";
3647
+ return n3 ? r3.toLowerCase() : r3;
3648
+ }, l2 = { YY: String(this.$y).slice(-2), YYYY: this.$y, M: a2 + 1, MM: O.s(a2 + 1, 2, "0"), MMM: h3(n2.monthsShort, a2, f2, 3), MMMM: h3(f2, a2), D: this.$D, DD: O.s(this.$D, 2, "0"), d: String(this.$W), dd: h3(n2.weekdaysMin, this.$W, o2, 2), ddd: h3(n2.weekdaysShort, this.$W, o2, 3), dddd: o2[this.$W], H: String(s2), HH: O.s(s2, 2, "0"), h: c2(1), hh: c2(2), a: d2(s2, u2, true), A: d2(s2, u2, false), m: String(u2), mm: O.s(u2, 2, "0"), s: String(this.$s), ss: O.s(this.$s, 2, "0"), SSS: O.s(this.$ms, 3, "0"), Z: i2 };
3649
+ return r2.replace(y, function(t3, e3) {
3650
+ return e3 || l2[t3] || i2.replace(":", "");
3651
+ });
3652
+ }, m2.utcOffset = function() {
3653
+ return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
3654
+ }, m2.diff = function(r2, d2, $2) {
3655
+ var l2, y2 = O.p(d2), M3 = w(r2), m3 = (M3.utcOffset() - this.utcOffset()) * e, g2 = this - M3, v2 = O.m(this, M3);
3656
+ return v2 = (l2 = {}, l2[c] = v2 / 12, l2[f] = v2, l2[h2] = v2 / 3, l2[o] = (g2 - m3) / 6048e5, l2[a] = (g2 - m3) / 864e5, l2[u] = g2 / n, l2[s] = g2 / e, l2[i] = g2 / t, l2)[y2] || g2, $2 ? v2 : O.a(v2);
3657
+ }, m2.daysInMonth = function() {
3658
+ return this.endOf(f).$D;
3659
+ }, m2.$locale = function() {
3660
+ return D[this.$L];
3661
+ }, m2.locale = function(t2, e2) {
3662
+ if (!t2)
3663
+ return this.$L;
3664
+ var n2 = this.clone(), r2 = S(t2, e2, true);
3665
+ return r2 && (n2.$L = r2), n2;
3666
+ }, m2.clone = function() {
3667
+ return O.w(this.$d, this);
3668
+ }, m2.toDate = function() {
3669
+ return new Date(this.valueOf());
3670
+ }, m2.toJSON = function() {
3671
+ return this.isValid() ? this.toISOString() : null;
3672
+ }, m2.toISOString = function() {
3673
+ return this.$d.toISOString();
3674
+ }, m2.toString = function() {
3675
+ return this.$d.toUTCString();
3676
+ }, M2;
3677
+ }(), T = _.prototype;
3678
+ return w.prototype = T, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", f], ["$y", c], ["$D", d]].forEach(function(t2) {
3679
+ T[t2[1]] = function(e2) {
3680
+ return this.$g(e2, t2[0], t2[1]);
3681
+ };
3682
+ }), w.extend = function(t2, e2) {
3683
+ return t2.$i || (t2(e2, _, w), t2.$i = true), w;
3684
+ }, w.locale = S, w.isDayjs = p, w.unix = function(t2) {
3685
+ return w(1e3 * t2);
3686
+ }, w.en = D[v], w.Ls = D, w.p = {}, w;
3687
+ });
3688
+ })(dayjs_min);
3689
+ var dayjs = dayjs_min.exports;
3459
3690
  function useFormValues({
3460
3691
  defaultValue,
3461
3692
  getSchema,
@@ -3845,16 +4076,18 @@ const _sfc_main$J = defineComponent({
3845
4076
  immediate: true
3846
4077
  });
3847
4078
  watch(() => unref(getProps).schemas, (schemas) => resetSchema(schemas != null ? schemas : []));
3848
- onMounted(() => {
3849
- setFormValues(null);
3850
- emit("register", formActionMethods);
3851
- initDefault();
4079
+ watch(() => unref(getProps).onSearch, () => {
3852
4080
  useTimeoutFn(() => {
3853
4081
  const { onSearch, autoFetch } = unref(getProps);
3854
4082
  if (autoFetch && onSearch && isFunction(onSearch)) {
3855
4083
  onSearch(toRaw(defaultValue.value));
3856
4084
  }
3857
- }, 20);
4085
+ }, 1);
4086
+ });
4087
+ onMounted(() => {
4088
+ setFormValues(null);
4089
+ emit("register", formActionMethods);
4090
+ initDefault();
3858
4091
  });
3859
4092
  const getActionsProps = computed(() => {
3860
4093
  const {
@@ -4026,6 +4259,7 @@ function useForm(props) {
4026
4259
  return [registerForm, methods];
4027
4260
  }
4028
4261
  const _sfc_main$I = /* @__PURE__ */ defineComponent({
4262
+ __name: "modalFooter",
4029
4263
  props: {
4030
4264
  showSave: {
4031
4265
  type: Boolean,
@@ -4037,9 +4271,8 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
4037
4271
  "handleCancel"
4038
4272
  ],
4039
4273
  setup(__props, { emit: emits }) {
4040
- const props = __props;
4041
4274
  const buttonActions = [
4042
- { name: "\u4FDD\u5B58", preIcon: "mdi:content-save", type: "primary", flag: "OK", show: props.showSave },
4275
+ { name: "\u4FDD\u5B58", preIcon: "mdi:content-save", type: "primary", flag: "OK" },
4043
4276
  { name: "\u5173\u95ED", preIcon: "mdi:close", flag: "CANCEL" }
4044
4277
  ];
4045
4278
  function handleMethod(item) {
@@ -4065,6 +4298,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
4065
4298
  }
4066
4299
  });
4067
4300
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
4301
+ __name: "close-icon",
4068
4302
  props: {
4069
4303
  canFullscreen: { type: Boolean, default: true },
4070
4304
  fullScreen: { type: Boolean }
@@ -4090,7 +4324,6 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4090
4324
  emit("fullscreen");
4091
4325
  }
4092
4326
  return (_ctx, _cache) => {
4093
- const _directive_icon = resolveDirective("icon");
4094
4327
  return openBlock(), createElementBlock("div", {
4095
4328
  class: normalizeClass(unref(getClass))
4096
4329
  }, [
@@ -4101,9 +4334,10 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4101
4334
  placement: "bottom"
4102
4335
  }, {
4103
4336
  default: withCtx(() => [
4104
- withDirectives(createElementVNode("i", { onClick: handleFullScreen }, null, 512), [
4105
- [_directive_icon, "ic:baseline-fullscreen-exit"]
4106
- ])
4337
+ createElementVNode("i", {
4338
+ class: "i ic:baseline-fullscreen-exit",
4339
+ onClick: handleFullScreen
4340
+ })
4107
4341
  ]),
4108
4342
  _: 1
4109
4343
  })) : (openBlock(), createBlock(unref(Tooltip), {
@@ -4112,15 +4346,16 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4112
4346
  placement: "bottom"
4113
4347
  }, {
4114
4348
  default: withCtx(() => [
4115
- withDirectives(createElementVNode("i", { onClick: handleFullScreen }, null, 512), [
4116
- [_directive_icon, "ic:baseline-fullscreen"]
4117
- ])
4349
+ createElementVNode("i", {
4350
+ class: "i ic:baseline-fullscreen",
4351
+ onClick: handleFullScreen
4352
+ })
4118
4353
  ]),
4119
4354
  _: 1
4120
4355
  }))
4121
4356
  ], 64)) : createCommentVNode("", true),
4122
- createVNode(unref(DtIcon), {
4123
- "icon-class": "mdi:close",
4357
+ createElementVNode("i", {
4358
+ class: "i mdi:close",
4124
4359
  onClick: handleCancel
4125
4360
  })
4126
4361
  ], 2);
@@ -4128,6 +4363,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4128
4363
  }
4129
4364
  });
4130
4365
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
4366
+ __name: "index",
4131
4367
  props: basicProps$1,
4132
4368
  emits: ["visible-change", "height-change", "cancel", "save", "register", "update:visible"],
4133
4369
  setup(__props, { emit: emits }) {
@@ -4148,7 +4384,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
4148
4384
  }
4149
4385
  };
4150
4386
  const { getWrapClassName, toggleFullScreen, fullScreenRef } = useFullScreen({
4151
- wrapClassName: computed(() => props.wrapClassName),
4387
+ wrapClassName: computed(() => unref(propsRef).wrapClassName),
4152
4388
  extHeightRef,
4153
4389
  modalWrapperRef
4154
4390
  });
@@ -4298,6 +4534,65 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
4298
4534
  };
4299
4535
  }
4300
4536
  });
4537
+ const codeMap = /* @__PURE__ */ new Map();
4538
+ function useHeaderCode(code, templates = {}, changeColumns) {
4539
+ const { appConf } = useAppStore();
4540
+ if (!appConf.pages.queryColumnApi) {
4541
+ error("\u8BF7\u5728init.config.ts\u4E2D\u914D\u7F6EqueryColumnApi\uFF01");
4542
+ return;
4543
+ }
4544
+ const getAlign = (key) => key === 0 ? "center" : key === 2 ? "right" : "left";
4545
+ const renderCell = (type, ctx) => {
4546
+ switch (type) {
4547
+ case 0:
4548
+ return { date: ctx };
4549
+ case 1:
4550
+ return { dict: ctx };
4551
+ case 5:
4552
+ return { percent: ctx };
4553
+ case 7:
4554
+ if (!appConf.structure[ctx]) {
4555
+ error(`\u672A\u627E\u5230structure: ${ctx} !`);
4556
+ return {};
4557
+ }
4558
+ return { dict: appConf.structure[ctx] };
4559
+ case 10:
4560
+ return templates[ctx];
4561
+ case 11:
4562
+ return { number: ctx };
4563
+ }
4564
+ };
4565
+ function getColumns() {
4566
+ if (codeMap.get(code)) {
4567
+ changeColumns(codeMap.get(code));
4568
+ return;
4569
+ }
4570
+ http.post(appConf.pages.queryColumnApi, { tableCode: code }).then((rsp) => {
4571
+ handleData(rsp);
4572
+ });
4573
+ }
4574
+ function handleData(data) {
4575
+ let rows = [];
4576
+ data.forEach((it) => {
4577
+ let obj = {
4578
+ title: it.cloumnName,
4579
+ dataIndex: it.cloumnCode,
4580
+ sorter: it.ifOrder,
4581
+ align: getAlign(it.textAlign),
4582
+ ifShow: Boolean(it.ifDisplay),
4583
+ defaultHidden: !Boolean(it.ifDisplay)
4584
+ };
4585
+ if (it.cloumnType !== void 0)
4586
+ obj.render = renderCell(it.cloumnType, it.dictCode);
4587
+ if (it.width)
4588
+ obj.width = Number(it.width);
4589
+ rows.push(obj);
4590
+ });
4591
+ codeMap.set(code, rows);
4592
+ changeColumns(rows);
4593
+ }
4594
+ getColumns();
4595
+ }
4301
4596
  function useTable(tableProps) {
4302
4597
  const tableRef = ref(null);
4303
4598
  const loadedRef = ref(false);
@@ -4309,7 +4604,12 @@ function useTable(tableProps) {
4309
4604
  if (unref(loadedRef) && instance === unref(tableRef))
4310
4605
  return;
4311
4606
  tableRef.value = instance;
4312
- tableProps && instance.setProps(getDynamicProps(tableProps));
4607
+ if (tableProps.columnCode) {
4608
+ useHeaderCode(tableProps.columnCode, tableProps.templates, (columns) => {
4609
+ tableProps.columns = columns;
4610
+ instance.setProps(getDynamicProps(tableProps));
4611
+ });
4612
+ }
4313
4613
  watch(() => tableProps, () => {
4314
4614
  tableProps && instance.setProps(getDynamicProps(tableProps));
4315
4615
  }, {
@@ -4367,13 +4667,13 @@ const TABLE_SIZE_HEIGHT = {
4367
4667
  };
4368
4668
  const TableProps = {
4369
4669
  clickRowSelect: { type: Boolean, default: false },
4370
- tableSetting: { type: Array, default: ["redo", "size", "setting", "fullscreen"] },
4670
+ tableSetting: { type: Object, default: () => ({}) },
4371
4671
  striped: { type: Boolean, default: true },
4372
4672
  canColDrag: { type: Boolean, default: true },
4373
4673
  resizable: { type: Boolean, default: true },
4374
4674
  minWidth: { type: Number },
4375
4675
  maxWidth: { type: Number },
4376
- virtual: { type: Boolean, default: true },
4676
+ virtual: { type: Boolean, default: false },
4377
4677
  sortFn: { type: Function, default: DEFAULT_SORT_FN },
4378
4678
  filterFn: {
4379
4679
  type: Function,
@@ -4386,6 +4686,8 @@ const TableProps = {
4386
4686
  default: "id"
4387
4687
  },
4388
4688
  defSort: { type: Object, default: null },
4689
+ columnCode: { type: String },
4690
+ templates: { type: Object, default: {} },
4389
4691
  columns: { type: [Array], default: () => [] },
4390
4692
  ellipsis: { type: Boolean, default: true },
4391
4693
  dataSource: { type: Array, default: null },
@@ -4402,7 +4704,7 @@ const TableProps = {
4402
4704
  },
4403
4705
  size: {
4404
4706
  type: String,
4405
- default: "default"
4707
+ default: "small"
4406
4708
  },
4407
4709
  onTableChange: {
4408
4710
  type: Function,
@@ -4546,9 +4848,9 @@ function useDataSource(propsRef, {
4546
4848
  return unref(dataSourceRef);
4547
4849
  });
4548
4850
  function handleTableChange(pagination, filters, sorter) {
4549
- const { sortFn, filterFn, onTableChange } = unref(propsRef);
4550
- const { appConf } = useAppStore();
4551
- const { current = 1, pageSize = appConf.ui.table.defaultPageSize } = pagination;
4851
+ const { sortFn, filterFn, onTableChange: onTableChange2 } = unref(propsRef);
4852
+ const { appConf: appConf2 } = useAppStore();
4853
+ const { current = 1, pageSize = appConf2.ui.table.defaultPageSize } = pagination;
4552
4854
  setPagination(pagination);
4553
4855
  const params = {};
4554
4856
  if (sorter && isFunction(sortFn)) {
@@ -4557,7 +4859,7 @@ function useDataSource(propsRef, {
4557
4859
  if (filters && isFunction(filterFn)) {
4558
4860
  params.filterInfo = filterFn(filters);
4559
4861
  }
4560
- return onTableChange({
4862
+ return onTableChange2({
4561
4863
  pagination: {
4562
4864
  current,
4563
4865
  pageSize
@@ -4567,19 +4869,17 @@ function useDataSource(propsRef, {
4567
4869
  showBtnLoading: false
4568
4870
  });
4569
4871
  }
4570
- onMounted(() => {
4571
- const { defSort, onTableChange } = unref(propsRef);
4572
- const { appConf } = useAppStore();
4573
- onTableChange({
4574
- pagination: {
4575
- current: 1,
4576
- pageSize: appConf.ui.table.defaultPageSize
4577
- },
4578
- sort: defSort,
4579
- filter: null,
4580
- showBtnLoading: false
4581
- }, false);
4582
- });
4872
+ const { defSort, onTableChange } = unref(propsRef);
4873
+ const { appConf } = useAppStore();
4874
+ onTableChange({
4875
+ pagination: {
4876
+ current: 1,
4877
+ pageSize: appConf.ui.table.defaultPageSize
4878
+ },
4879
+ sort: defSort,
4880
+ filter: null,
4881
+ showBtnLoading: false
4882
+ }, false);
4583
4883
  return {
4584
4884
  getDataSourceRef,
4585
4885
  handleTableChange
@@ -4671,6 +4971,71 @@ function useRowSelection(propsRef, emit) {
4671
4971
  setSelectedRowKeys
4672
4972
  };
4673
4973
  }
4974
+ var _sfc_main$F = defineComponent({
4975
+ name: "TableFormat",
4976
+ props: {
4977
+ column: {
4978
+ type: Object
4979
+ },
4980
+ record: {
4981
+ type: Object
4982
+ },
4983
+ index: {
4984
+ type: Number
4985
+ }
4986
+ },
4987
+ setup(props) {
4988
+ let renderText = ref();
4989
+ function renderCell() {
4990
+ const {
4991
+ column,
4992
+ record,
4993
+ index: index2
4994
+ } = props;
4995
+ const {
4996
+ render: render2,
4997
+ dataIndex
4998
+ } = column;
4999
+ const text = record[dataIndex.toString()];
5000
+ if (isObject(render2)) {
5001
+ const {
5002
+ dict,
5003
+ date,
5004
+ number,
5005
+ percent
5006
+ } = render2;
5007
+ if (dict) {
5008
+ renderText = getDictValueByCode(text, dict);
5009
+ }
5010
+ if (date) {
5011
+ renderText.value = dayjs(text).format(date || "YYYY-MM-DD");
5012
+ }
5013
+ if (number) {
5014
+ renderText.value = formatNumber(text, number);
5015
+ }
5016
+ if (percent) {
5017
+ renderText.value = formatNumber((text || 0) * 100, percent) + "%";
5018
+ }
5019
+ if (isVnode(render2)) {
5020
+ renderText.value = createVNode(Fragment, null, [createTextVNode(" "), render2, createTextVNode(" ")]);
5021
+ }
5022
+ if (render2["setup"]) {
5023
+ renderText.value = createVNode(render2, {
5024
+ text
5025
+ });
5026
+ }
5027
+ } else {
5028
+ renderText.value = text;
5029
+ }
5030
+ if (isFunction(render2)) {
5031
+ let afterRenderData = render2(record, index2, text);
5032
+ renderText.value = isVnode(afterRenderData) ? createVNode(Fragment, null, [afterRenderData]) : afterRenderData;
5033
+ }
5034
+ }
5035
+ renderCell();
5036
+ return () => createVNode("span", null, [unref(renderText)]);
5037
+ }
5038
+ });
4674
5039
  const tableKey = Symbol("dt-page");
4675
5040
  function createTableInstance(instance) {
4676
5041
  provide(tableKey, instance);
@@ -4678,91 +5043,430 @@ function createTableInstance(instance) {
4678
5043
  function getTableInstance() {
4679
5044
  return inject(tableKey);
4680
5045
  }
4681
- const _hoisted_1$n = /* @__PURE__ */ createElementVNode("span", null, "\u5217\u63A7\u5236", -1);
4682
- const _hoisted_2$h = /* @__PURE__ */ createTextVNode(" \u5217\u5C55\u793A ");
4683
- const _hoisted_3$9 = /* @__PURE__ */ createTextVNode(" \u5E8F\u5217\u53F7 ");
4684
- const _hoisted_4$6 = /* @__PURE__ */ createTextVNode(" \u590D\u9009\u6846 ");
4685
- const _hoisted_5$3 = /* @__PURE__ */ createTextVNode("\u91CD\u7F6E");
4686
- const _hoisted_6$2 = {
4687
- size: 16,
4688
- className: "drag-icon"
4689
- };
4690
- const _hoisted_7$1 = /* @__PURE__ */ createTextVNode("\u56FA\u5B9A\u5230\u5DE6\u4FA7");
4691
- const _hoisted_8$1 = /* @__PURE__ */ createTextVNode("\u56FA\u5B9A\u5230\u53F3\u4FA7");
4692
- const _sfc_main$F = /* @__PURE__ */ defineComponent({
4693
- emits: [
4694
- "columns-change"
4695
- ],
4696
- setup(__props, { emit: emits }) {
4697
- const attrs = useAttrs$1();
4698
- const prefixCls = "column-setting";
4699
- const table = getTableInstance();
4700
- const defaultRowSelection = omit(table.getRowSelection(), "selectedRowKeys");
4701
- let inited = false;
4702
- const cachePlainOptions = ref([]);
4703
- const plainOptions = ref([]);
4704
- const plainSortOptions = ref([]);
4705
- const columnListRef = ref(null);
4706
- const checkIndex = ref(false);
4707
- const checkSelect = ref(false);
4708
- const getValues = computed(() => {
4709
- return unref(table == null ? void 0 : table.getBind);
4710
- });
4711
- let sortable;
4712
- let sortableOrder = [];
4713
- const state = reactive({
4714
- checkAll: true,
4715
- checkedList: [],
4716
- defaultCheckList: []
4717
- });
4718
- const indeterminate = computed(() => {
4719
- let len = plainOptions.value.length;
4720
- let checkedLen = state.checkedList.length;
4721
- unref(checkIndex) && checkedLen--;
4722
- return checkedLen > 0 && checkedLen < len;
4723
- });
4724
- watchEffect(() => {
4725
- const columns = table.getColumns();
4726
- if (columns && columns.length) {
4727
- init();
4728
- }
4729
- });
4730
- watchEffect(() => {
4731
- const values = unref(getValues);
4732
- checkIndex.value = !!values.showIndexColumn;
4733
- checkSelect.value = !!values.rowSelection;
5046
+ const _hoisted_1$n = { class: "dt-table-action-btn" };
5047
+ const _hoisted_2$g = ["color", "onClick"];
5048
+ const _sfc_main$E = /* @__PURE__ */ defineComponent({
5049
+ __name: "TableActions",
5050
+ props: {
5051
+ fixed: {
5052
+ type: String,
5053
+ default: "right"
5054
+ },
5055
+ title: {
5056
+ type: String
5057
+ },
5058
+ expand: {
5059
+ type: Boolean,
5060
+ default: false
5061
+ },
5062
+ width: {
5063
+ type: String,
5064
+ default: "70px"
5065
+ },
5066
+ btns: {
5067
+ type: Array,
5068
+ default: []
5069
+ },
5070
+ flag: {
5071
+ type: String
5072
+ },
5073
+ record: {
5074
+ default: {}
5075
+ },
5076
+ index: {
5077
+ type: Number
5078
+ }
5079
+ },
5080
+ setup(__props) {
5081
+ const props = __props;
5082
+ watch(() => props.btns, (btns) => {
5083
+ btns.map((it) => {
5084
+ it.ifShow = isBoolean(it.ifShow) ? it.ifShow : isFunction(it.ifShow) ? it.ifShow(props.record) : true;
5085
+ });
5086
+ }, {
5087
+ immediate: true
4734
5088
  });
4735
- function handleVisibleChange() {
4736
- if (inited)
4737
- return;
4738
- nextTick$1(() => {
4739
- const columnListEl = unref(columnListRef);
4740
- if (!columnListEl)
4741
- return;
4742
- const el = columnListEl.$el;
4743
- if (!el)
4744
- return;
4745
- sortable = Sortablejs.create(unref(el), {
4746
- animation: 500,
4747
- delay: 400,
4748
- delayOnTouchOnly: true,
4749
- handle: ".drag-icon ",
4750
- onEnd: (evt) => {
4751
- const { oldIndex, newIndex } = evt;
4752
- if (isNullAndUnDef(oldIndex) || isNullAndUnDef(newIndex) || oldIndex === newIndex) {
4753
- return;
4754
- }
4755
- const columns = cloneDeep(plainSortOptions.value);
4756
- if (oldIndex > newIndex) {
4757
- columns.splice(newIndex, 0, columns[oldIndex]);
4758
- columns.splice(oldIndex + 1, 1);
4759
- } else {
4760
- columns.splice(newIndex + 1, 0, columns[oldIndex]);
4761
- columns.splice(oldIndex, 1);
4762
- }
4763
- plainSortOptions.value = columns;
4764
- setColumns(columns);
4765
- }
5089
+ function handleAction(it) {
5090
+ if (isFunction(it.action)) {
5091
+ it.action({
5092
+ row: props.record,
5093
+ index: props.index
5094
+ });
5095
+ }
5096
+ }
5097
+ const attrs = useAttrs$1();
5098
+ function getPopupContainer$1() {
5099
+ return isFunction(attrs.getPopupContainer) ? attrs.getPopupContainer() : getPopupContainer();
5100
+ }
5101
+ return (_ctx, _cache) => {
5102
+ const _directive_icon = resolveDirective("icon");
5103
+ return props.expand ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(props.btns, (item) => {
5104
+ return openBlock(), createElementBlock("span", _hoisted_1$n, [
5105
+ item.ifShow ? (openBlock(), createBlock(unref(Tooltip), {
5106
+ key: 0,
5107
+ placement: "bottom"
5108
+ }, {
5109
+ title: withCtx(() => [
5110
+ createTextVNode(toDisplayString(item.title), 1)
5111
+ ]),
5112
+ default: withCtx(() => [
5113
+ withDirectives(createElementVNode("span", {
5114
+ color: item.color,
5115
+ onClick: ($event) => handleAction(item)
5116
+ }, null, 8, _hoisted_2$g), [
5117
+ [_directive_icon, item.icon]
5118
+ ])
5119
+ ]),
5120
+ _: 2
5121
+ }, 1024)) : createCommentVNode("", true)
5122
+ ]);
5123
+ }), 256)) : (openBlock(), createBlock(unref(Dropdown), {
5124
+ key: 1,
5125
+ getPopupContainer: getPopupContainer$1,
5126
+ trigger: ["click"]
5127
+ }, {
5128
+ overlay: withCtx(() => [
5129
+ createVNode(unref(Menu), { class: "dt-action-select" }, {
5130
+ default: withCtx(() => [
5131
+ (openBlock(true), createElementBlock(Fragment, null, renderList(props.btns, (item) => {
5132
+ return openBlock(), createElementBlock(Fragment, null, [
5133
+ item.ifShow ? (openBlock(), createBlock(unref(MenuItem), {
5134
+ key: 0,
5135
+ onClick: ($event) => handleAction(item)
5136
+ }, {
5137
+ default: withCtx(() => [
5138
+ createVNode(unref(DtIcon), {
5139
+ "icon-class": item.icon,
5140
+ color: item.color,
5141
+ size: 16
5142
+ }, null, 8, ["icon-class", "color"]),
5143
+ createElementVNode("span", null, toDisplayString(item.title), 1)
5144
+ ]),
5145
+ _: 2
5146
+ }, 1032, ["onClick"])) : createCommentVNode("", true)
5147
+ ], 64);
5148
+ }), 256))
5149
+ ]),
5150
+ _: 1
5151
+ })
5152
+ ]),
5153
+ default: withCtx(() => [
5154
+ createVNode(unref(DtIcon), {
5155
+ "icon-class": "ic:baseline-settings",
5156
+ "class-name": "dt-table-action-dropdown"
5157
+ })
5158
+ ]),
5159
+ _: 1
5160
+ }));
5161
+ };
5162
+ }
5163
+ });
5164
+ const INDEX_FLAG = "INDEX";
5165
+ const ACTION_COLUMN = "ACTION";
5166
+ function handleItem(item, ellipsis) {
5167
+ const { appConf } = useAppStore();
5168
+ const { align } = appConf.ui.table;
5169
+ const { key, dataIndex, children } = item;
5170
+ item.align = item.align || align;
5171
+ if (ellipsis) {
5172
+ if (!key)
5173
+ item.key = dataIndex && dataIndex.toString();
5174
+ if (!isBoolean(item.ellipsis)) {
5175
+ item = Object.assign(item, {
5176
+ ellipsis
5177
+ });
5178
+ }
5179
+ }
5180
+ if (children && children.length) {
5181
+ handleChildren(children, !!ellipsis);
5182
+ }
5183
+ }
5184
+ function handleChildren(children, ellipsis) {
5185
+ if (!children)
5186
+ return;
5187
+ children.forEach((item) => {
5188
+ const { children: children2 } = item;
5189
+ handleItem(item, ellipsis);
5190
+ handleChildren(children2, ellipsis);
5191
+ });
5192
+ }
5193
+ function sortFixedColumn(columns) {
5194
+ const fixedLeftColumn = [];
5195
+ const fixedRightColumn = [];
5196
+ const defaultColumn = [];
5197
+ for (let column of columns) {
5198
+ if (column.defaultHidden)
5199
+ continue;
5200
+ if (column.fixed === "left") {
5201
+ fixedLeftColumn.push(column);
5202
+ continue;
5203
+ }
5204
+ if (column.fixed === "right") {
5205
+ fixedRightColumn.push(column);
5206
+ continue;
5207
+ }
5208
+ defaultColumn.push(column);
5209
+ }
5210
+ return [
5211
+ ...fixedLeftColumn,
5212
+ ...defaultColumn,
5213
+ ...fixedRightColumn
5214
+ ];
5215
+ }
5216
+ function handleIndexColumn(propsRef, getPaginationRef, columns) {
5217
+ const { showIndexColumn, indexColumnProps, isTreeTable } = unref(propsRef);
5218
+ let pushIndexColumns = false;
5219
+ if (unref(isTreeTable)) {
5220
+ return;
5221
+ }
5222
+ columns.forEach(() => {
5223
+ const indIndex = columns.findIndex((column) => column.flag === INDEX_FLAG);
5224
+ if (showIndexColumn) {
5225
+ pushIndexColumns = indIndex === -1;
5226
+ } else if (!showIndexColumn && indIndex !== -1) {
5227
+ columns.splice(indIndex, 1);
5228
+ }
5229
+ });
5230
+ if (!pushIndexColumns)
5231
+ return;
5232
+ const isFixedLeft = columns.some((item) => item.fixed === "left");
5233
+ columns.unshift({
5234
+ flag: INDEX_FLAG,
5235
+ width: 50,
5236
+ title: "\u5E8F\u53F7",
5237
+ align: "center",
5238
+ customRender: ({ index: index2 }) => {
5239
+ const getPagination = unref(getPaginationRef);
5240
+ const { appConf } = useAppStore();
5241
+ const { defaultPageSize } = appConf.ui.table;
5242
+ if (isBoolean(getPagination)) {
5243
+ return `${index2 + 1}`;
5244
+ }
5245
+ const { current = 1, pageSize = defaultPageSize } = getPagination;
5246
+ return ((current < 1 ? 1 : current) - 1) * pageSize + index2 + 1;
5247
+ },
5248
+ ...isFixedLeft ? {
5249
+ fixed: "left"
5250
+ } : {},
5251
+ ...indexColumnProps
5252
+ });
5253
+ }
5254
+ function handleActionColumn(propsRef, columns) {
5255
+ const { operations } = unref(propsRef);
5256
+ if (!operations || isObject(operations) && !(operations == null ? void 0 : operations.btns) || isArray$1(operations) && !operations)
5257
+ return;
5258
+ const hasIndex = columns.findIndex((column) => column.flag === ACTION_COLUMN);
5259
+ if (hasIndex === -1) {
5260
+ let column = isObject(operations) ? operations : isArray$1(operations) ? { btns: operations } : {};
5261
+ let expand = column.expand ? column.expand : false;
5262
+ let columnObj = {
5263
+ fixed: "right",
5264
+ title: "\u64CD\u4F5C",
5265
+ align: "center",
5266
+ expand,
5267
+ width: `${expand ? column.btns.length * 30 + 40 : 70}px`,
5268
+ ...column,
5269
+ flag: ACTION_COLUMN
5270
+ };
5271
+ columns.push({
5272
+ ...columnObj,
5273
+ customRender: ({ record, index: index2 }) => {
5274
+ return h(_sfc_main$E, {
5275
+ ...columnObj,
5276
+ record,
5277
+ align: null,
5278
+ index: index2
5279
+ });
5280
+ }
5281
+ });
5282
+ }
5283
+ }
5284
+ function useColumns(propsRef, getPaginationRef) {
5285
+ const columnsRef = ref(unref(propsRef).columns);
5286
+ let cacheColumns = unref(propsRef).columns;
5287
+ const getColumnsRef = computed(() => {
5288
+ const columns = cloneDeep(unref(columnsRef));
5289
+ if (!columns)
5290
+ return [];
5291
+ const { ellipsis, resizable, minWidth = 50, maxWidth = 700 } = unref(propsRef);
5292
+ columns.forEach((it, index2) => {
5293
+ const { slots } = it;
5294
+ it.width = it.width || (index2 === columns.length - 1 ? 119.9 : 120);
5295
+ if (Reflect.has(it, "resizable") ? !!it.resizable : resizable) {
5296
+ it.resizable = true;
5297
+ it.minWidth = it.minWidth || minWidth;
5298
+ it.maxWidth = it.maxWidth || maxWidth;
5299
+ }
5300
+ handleItem(it, Reflect.has(it, "ellipsis") ? !!it.ellipsis : !!ellipsis && !slots);
5301
+ });
5302
+ handleIndexColumn(propsRef, getPaginationRef, columns);
5303
+ handleActionColumn(propsRef, columns);
5304
+ return columns;
5305
+ });
5306
+ const getViewColumns = computed(() => {
5307
+ const viewColumns = sortFixedColumn(unref(getColumnsRef));
5308
+ const columns = cloneDeep(viewColumns);
5309
+ return columns.filter((column) => isIfShow(column));
5310
+ });
5311
+ function isIfShow(column) {
5312
+ const ifShow = column.ifShow;
5313
+ return isBoolean(ifShow) ? ifShow : isFunction(ifShow) ? ifShow(column) : true;
5314
+ }
5315
+ watch(() => unref(propsRef).columns, (columns) => {
5316
+ var _a;
5317
+ columnsRef.value = columns;
5318
+ cacheColumns = (_a = columns.filter((it) => !it.flag)) != null ? _a : [];
5319
+ });
5320
+ function getColumns(opt) {
5321
+ const { ignoreIndex, ignoreAction, sort } = opt || {};
5322
+ let columns = toRaw(unref(getColumnsRef));
5323
+ if (ignoreIndex) {
5324
+ columns = columns.filter((it) => it.flag !== INDEX_FLAG);
5325
+ }
5326
+ if (ignoreAction) {
5327
+ columns = columns.filter((it) => it.flag !== ACTION_COLUMN);
5328
+ }
5329
+ if (sort) {
5330
+ columns = sortFixedColumn(columns);
5331
+ }
5332
+ return columns;
5333
+ }
5334
+ function setColumns(columnList = []) {
5335
+ const columns = cloneDeep(columnList);
5336
+ if (!isArray$1(columns))
5337
+ return;
5338
+ if (!columns.length) {
5339
+ columnsRef.value = [];
5340
+ return;
5341
+ }
5342
+ const cacheKeys = cacheColumns.map((item) => item.dataIndex);
5343
+ if (!isString(columns[0])) {
5344
+ columnsRef.value = columns;
5345
+ } else {
5346
+ const columnKeys = columns;
5347
+ const newColumns = [];
5348
+ cacheColumns.forEach((it) => {
5349
+ newColumns.push({
5350
+ ...it,
5351
+ defaultHidden: !columnKeys.includes(it.dataIndex || it.key)
5352
+ });
5353
+ });
5354
+ if (!isEqual(cacheKeys, columns)) {
5355
+ newColumns.sort((prev, next) => {
5356
+ return columnKeys.indexOf(prev.dataIndex) - columnKeys.indexOf(next.dataIndex);
5357
+ });
5358
+ }
5359
+ columnsRef.value = newColumns;
5360
+ }
5361
+ }
5362
+ function setCacheColumnsByField(dataIndex, value) {
5363
+ if (!dataIndex || !value)
5364
+ return;
5365
+ cacheColumns.forEach((item) => {
5366
+ if (item.dataIndex === dataIndex) {
5367
+ Object.assign(item, value);
5368
+ return;
5369
+ }
5370
+ });
5371
+ }
5372
+ function getCacheColumns() {
5373
+ return cacheColumns;
5374
+ }
5375
+ return {
5376
+ getViewColumns,
5377
+ getColumnsRef,
5378
+ getColumns,
5379
+ setColumns,
5380
+ setCacheColumnsByField,
5381
+ getCacheColumns
5382
+ };
5383
+ }
5384
+ const _hoisted_1$m = /* @__PURE__ */ createElementVNode("span", null, "\u5217\u63A7\u5236", -1);
5385
+ const _hoisted_2$f = /* @__PURE__ */ createTextVNode(" \u5217\u5C55\u793A ");
5386
+ const _hoisted_3$9 = /* @__PURE__ */ createTextVNode(" \u5E8F\u5217\u53F7 ");
5387
+ const _hoisted_4$6 = /* @__PURE__ */ createTextVNode(" \u590D\u9009\u6846 ");
5388
+ const _hoisted_5$3 = /* @__PURE__ */ createTextVNode("\u91CD\u7F6E");
5389
+ const _hoisted_6$2 = {
5390
+ size: 16,
5391
+ className: "drag-icon"
5392
+ };
5393
+ const _hoisted_7$1 = /* @__PURE__ */ createTextVNode("\u56FA\u5B9A\u5230\u5DE6\u4FA7");
5394
+ const _hoisted_8$1 = /* @__PURE__ */ createTextVNode("\u56FA\u5B9A\u5230\u53F3\u4FA7");
5395
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
5396
+ __name: "Column",
5397
+ emits: [
5398
+ "columns-change"
5399
+ ],
5400
+ setup(__props, { emit: emits }) {
5401
+ const attrs = useAttrs$1();
5402
+ const prefixCls = "column-setting";
5403
+ const table = getTableInstance();
5404
+ const defaultRowSelection = omit(table.getRowSelection(), "selectedRowKeys");
5405
+ let inited = false;
5406
+ const cachePlainOptions = ref([]);
5407
+ const plainOptions = ref([]);
5408
+ const plainSortOptions = ref([]);
5409
+ const columnListRef = ref(null);
5410
+ const checkIndex = ref(false);
5411
+ const checkSelect = ref(false);
5412
+ const getValues = computed(() => {
5413
+ return unref(table == null ? void 0 : table.getBind);
5414
+ });
5415
+ let sortable;
5416
+ let sortableOrder = [];
5417
+ const state = reactive({
5418
+ checkAll: true,
5419
+ checkedList: [],
5420
+ defaultCheckList: []
5421
+ });
5422
+ const indeterminate = computed(() => {
5423
+ let len = plainOptions.value.length;
5424
+ let checkedLen = state.checkedList.length;
5425
+ unref(checkIndex) && checkedLen--;
5426
+ return checkedLen > 0 && checkedLen < len;
5427
+ });
5428
+ watchEffect(() => {
5429
+ const columns = table.getColumns();
5430
+ if (columns && columns.length) {
5431
+ init();
5432
+ }
5433
+ });
5434
+ watchEffect(() => {
5435
+ const values = unref(getValues);
5436
+ checkIndex.value = !!values.showIndexColumn;
5437
+ checkSelect.value = !!values.rowSelection;
5438
+ });
5439
+ function handleVisibleChange() {
5440
+ if (inited)
5441
+ return;
5442
+ nextTick(() => {
5443
+ const columnListEl = unref(columnListRef);
5444
+ if (!columnListEl)
5445
+ return;
5446
+ const el = columnListEl.$el;
5447
+ if (!el)
5448
+ return;
5449
+ sortable = Sortablejs.create(unref(el), {
5450
+ animation: 500,
5451
+ delay: 400,
5452
+ delayOnTouchOnly: true,
5453
+ handle: ".drag-icon ",
5454
+ onEnd: (evt) => {
5455
+ const { oldIndex, newIndex } = evt;
5456
+ if (isNullAndUnDef(oldIndex) || isNullAndUnDef(newIndex) || oldIndex === newIndex) {
5457
+ return;
5458
+ }
5459
+ const columns = cloneDeep(plainSortOptions.value);
5460
+ if (oldIndex > newIndex) {
5461
+ columns.splice(newIndex, 0, columns[oldIndex]);
5462
+ columns.splice(oldIndex + 1, 1);
5463
+ } else {
5464
+ columns.splice(newIndex + 1, 0, columns[oldIndex]);
5465
+ columns.splice(oldIndex, 1);
5466
+ }
5467
+ plainSortOptions.value = columns;
5468
+ setColumns(columns);
5469
+ }
4766
5470
  });
4767
5471
  sortableOrder = sortable.toArray();
4768
5472
  inited = true;
@@ -4867,7 +5571,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
4867
5571
  const _directive_icon = resolveDirective("icon");
4868
5572
  return openBlock(), createBlock(unref(Tooltip), { placement: "top" }, {
4869
5573
  title: withCtx(() => [
4870
- _hoisted_1$n
5574
+ _hoisted_1$m
4871
5575
  ]),
4872
5576
  default: withCtx(() => [
4873
5577
  createVNode(unref(Popover), {
@@ -4883,12 +5587,12 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
4883
5587
  }, [
4884
5588
  createVNode(unref(Checkbox), {
4885
5589
  indeterminate: unref(indeterminate),
4886
- checked: unref(state).checkAll,
4887
- "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => unref(state).checkAll = $event),
5590
+ checked: state.checkAll,
5591
+ "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => state.checkAll = $event),
4888
5592
  onChange: onCheckAllChange
4889
5593
  }, {
4890
5594
  default: withCtx(() => [
4891
- _hoisted_2$h
5595
+ _hoisted_2$f
4892
5596
  ]),
4893
5597
  _: 1
4894
5598
  }, 8, ["indeterminate", "checked"]),
@@ -4927,8 +5631,8 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
4927
5631
  ]),
4928
5632
  content: withCtx(() => [
4929
5633
  createVNode(unref(CheckboxGroup), {
4930
- value: unref(state).checkedList,
4931
- "onUpdate:value": _cache[3] || (_cache[3] = ($event) => unref(state).checkedList = $event),
5634
+ value: state.checkedList,
5635
+ "onUpdate:value": _cache[3] || (_cache[3] = ($event) => state.checkedList = $event),
4932
5636
  onChange,
4933
5637
  ref_key: "columnListRef",
4934
5638
  ref: columnListRef
@@ -4961,7 +5665,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
4961
5665
  default: withCtx(() => [
4962
5666
  createElementVNode("span", {
4963
5667
  class: normalizeClass({
4964
- disabled: !unref(state).checkedList.includes(item.value),
5668
+ disabled: !state.checkedList.includes(item.value),
4965
5669
  active: item.fixed === "left"
4966
5670
  })
4967
5671
  }, [
@@ -4972,753 +5676,362 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
4972
5676
  size: 16
4973
5677
  }, null, 8, ["className", "onClick"])
4974
5678
  ], 2)
4975
- ]),
4976
- _: 2
4977
- }, 1032, ["mouseLeaveDelay"]),
4978
- createVNode(unref(Divider), { type: "vertical" }),
4979
- createVNode(unref(Tooltip), {
4980
- placement: "bottomLeft",
4981
- mouseLeaveDelay: 0.4,
4982
- getPopupContainer: getPopupContainer$1
4983
- }, {
4984
- title: withCtx(() => [
4985
- _hoisted_8$1
4986
- ]),
4987
- default: withCtx(() => [
4988
- createElementVNode("span", {
4989
- class: normalizeClass({
4990
- disabled: !unref(state).checkedList.includes(item.value),
4991
- active: item.fixed === "right"
4992
- })
4993
- }, [
4994
- createVNode(unref(DtIcon), {
4995
- "icon-class": "mdi:arrow-collapse-right",
4996
- className: `${prefixCls}__fixed-right`,
4997
- onClick: ($event) => handleColumnFixed(item, "right"),
4998
- size: 16
4999
- }, null, 8, ["className", "onClick"])
5000
- ], 2)
5001
- ]),
5002
- _: 2
5003
- }, 1032, ["mouseLeaveDelay"])
5004
- ], 2);
5005
- }), 128))
5006
- ]),
5007
- _: 1
5008
- }, 8, ["value"])
5009
- ]),
5010
- default: withCtx(() => [
5011
- withDirectives(createElementVNode("span", null, null, 512), [
5012
- [_directive_icon, "ant-design:setting-outlined"]
5013
- ])
5014
- ]),
5015
- _: 1
5016
- }, 8, ["overlayClassName"])
5017
- ]),
5018
- _: 1
5019
- });
5020
- };
5021
- }
5022
- });
5023
- const _hoisted_1$m = { key: 0 };
5024
- const _hoisted_2$g = { key: 0 };
5025
- const _hoisted_3$8 = { key: 1 };
5026
- const _sfc_main$E = /* @__PURE__ */ defineComponent({
5027
- setup(__props) {
5028
- const table = getTableInstance();
5029
- const wrapEl = ref(null);
5030
- const { toggle, isFullscreen } = useFullscreen(wrapEl);
5031
- watch(() => table.tableElRef.value, (v) => {
5032
- const getParent = (el) => {
5033
- if (!el || !el.parentNode)
5034
- return null;
5035
- if (el.parentNode.className.indexOf("dt-layout-content") !== -1) {
5036
- wrapEl.value = el.parentNode;
5037
- } else {
5038
- getParent(el.parentNode);
5039
- }
5040
- };
5041
- getParent(v.$el);
5042
- });
5043
- return (_ctx, _cache) => {
5044
- const _directive_icon = resolveDirective("icon");
5045
- return openBlock(), createBlock(unref(Tooltip), { placement: "top" }, {
5046
- title: withCtx(() => [
5047
- !unref(isFullscreen) ? (openBlock(), createElementBlock("span", _hoisted_1$m, "\u5168\u5C4F")) : createCommentVNode("", true)
5048
- ]),
5049
- default: withCtx(() => [
5050
- createElementVNode("span", {
5051
- onClick: _cache[0] || (_cache[0] = (...args) => unref(toggle) && unref(toggle)(...args))
5052
- }, [
5053
- !unref(isFullscreen) ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$g, null, 512)), [
5054
- [_directive_icon, "ic:baseline-fullscreen"]
5055
- ]) : withDirectives((openBlock(), createElementBlock("span", _hoisted_3$8, null, 512)), [
5056
- [_directive_icon, "ic:baseline-fullscreen-exit"]
5057
- ])
5058
- ])
5059
- ]),
5060
- _: 1
5061
- });
5062
- };
5063
- }
5064
- });
5065
- const _hoisted_1$l = /* @__PURE__ */ createTextVNode("\u5BC6\u5EA6");
5066
- const _hoisted_2$f = /* @__PURE__ */ createElementVNode("span", null, "\u9ED8\u8BA4", -1);
5067
- const _hoisted_3$7 = /* @__PURE__ */ createElementVNode("span", null, "\u4E2D\u7B49", -1);
5068
- const _hoisted_4$5 = /* @__PURE__ */ createElementVNode("span", null, "\u7D27\u51D1", -1);
5069
- const _sfc_main$D = /* @__PURE__ */ defineComponent({
5070
- setup(__props) {
5071
- const table = getTableInstance();
5072
- const selectedKeysRef = ref([table.getSize()]);
5073
- function handleTitleClick({ key }) {
5074
- selectedKeysRef.value = [key];
5075
- table.setProps({ size: key });
5076
- }
5077
- return (_ctx, _cache) => {
5078
- const _directive_icon = resolveDirective("icon");
5079
- return openBlock(), createBlock(unref(Tooltip), null, {
5080
- title: withCtx(() => [
5081
- _hoisted_1$l
5082
- ]),
5083
- default: withCtx(() => [
5084
- createVNode(unref(Dropdown), {
5085
- placement: "bottom",
5086
- trigger: ["click"],
5087
- getPopupContainer: unref(getPopupContainer)
5088
- }, {
5089
- overlay: withCtx(() => [
5090
- createVNode(unref(Menu), {
5091
- onClick: handleTitleClick,
5092
- selectable: "",
5093
- selectedKeys: selectedKeysRef.value,
5094
- "onUpdate:selectedKeys": _cache[0] || (_cache[0] = ($event) => selectedKeysRef.value = $event)
5095
- }, {
5096
- default: withCtx(() => [
5097
- createVNode(unref(MenuItem), { key: "default" }, {
5098
- default: withCtx(() => [
5099
- _hoisted_2$f
5100
- ]),
5101
- _: 1
5102
- }),
5103
- createVNode(unref(MenuItem), { key: "middle" }, {
5104
- default: withCtx(() => [
5105
- _hoisted_3$7
5106
- ]),
5107
- _: 1
5108
- }),
5109
- createVNode(unref(MenuItem), { key: "small" }, {
5110
- default: withCtx(() => [
5111
- _hoisted_4$5
5112
- ]),
5113
- _: 1
5114
- })
5115
- ]),
5116
- _: 1
5117
- }, 8, ["selectedKeys"])
5118
- ]),
5119
- default: withCtx(() => [
5120
- withDirectives(createElementVNode("span", null, null, 512), [
5121
- [_directive_icon, "ant-design:column-height-outlined"]
5122
- ])
5123
- ]),
5124
- _: 1
5125
- }, 8, ["getPopupContainer"])
5126
- ]),
5127
- _: 1
5128
- });
5129
- };
5130
- }
5131
- });
5132
- const _hoisted_1$k = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA", -1);
5133
- const _hoisted_2$e = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u5F53\u524D\u9875", -1);
5134
- const _hoisted_3$6 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u9009\u4E2D\u5217", -1);
5135
- const _hoisted_4$4 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u6240\u6709\u5217", -1);
5136
- const _sfc_main$C = /* @__PURE__ */ defineComponent({
5137
- setup(__props) {
5138
- const table = getTableInstance();
5139
- function handleTitleClick({ key }) {
5140
- const { onDownload, columns: allColumns, dataSource, rowSelection } = unref(table.getBind);
5141
- const excludesFlag = ["ACTION", "CHECKBOX", "RADIO"];
5142
- const columns = allColumns.filter((it) => !excludesFlag.includes(it.flag));
5143
- onDownload({
5144
- type: key,
5145
- columns,
5146
- rows: key === "select" ? table.getSelectRows() : key === "current" ? dataSource : []
5147
- });
5148
- }
5149
- return (_ctx, _cache) => {
5150
- const _directive_icon = resolveDirective("icon");
5151
- return openBlock(), createBlock(unref(Tooltip), { placement: "top" }, {
5152
- title: withCtx(() => [
5153
- _hoisted_1$k
5154
- ]),
5155
- default: withCtx(() => [
5156
- createVNode(unref(Dropdown), {
5157
- placement: "bottom",
5158
- trigger: ["click"],
5159
- getPopupContainer: unref(getPopupContainer)
5160
- }, {
5161
- overlay: withCtx(() => [
5162
- createVNode(unref(Menu), { onClick: handleTitleClick }, {
5163
- default: withCtx(() => [
5164
- createVNode(unref(MenuItem), { key: "current" }, {
5165
- default: withCtx(() => [
5166
- _hoisted_2$e
5167
- ]),
5168
- _: 1
5169
- }),
5170
- createVNode(unref(MenuItem), { key: "select" }, {
5171
- default: withCtx(() => [
5172
- _hoisted_3$6
5173
- ]),
5174
- _: 1
5175
- }),
5176
- createVNode(unref(MenuItem), { key: "all" }, {
5177
- default: withCtx(() => [
5178
- _hoisted_4$4
5179
- ]),
5180
- _: 1
5181
- })
5679
+ ]),
5680
+ _: 2
5681
+ }, 1032, ["mouseLeaveDelay"]),
5682
+ createVNode(unref(Divider), { type: "vertical" }),
5683
+ createVNode(unref(Tooltip), {
5684
+ placement: "bottomLeft",
5685
+ mouseLeaveDelay: 0.4,
5686
+ getPopupContainer: getPopupContainer$1
5687
+ }, {
5688
+ title: withCtx(() => [
5689
+ _hoisted_8$1
5690
+ ]),
5691
+ default: withCtx(() => [
5692
+ createElementVNode("span", {
5693
+ class: normalizeClass({
5694
+ disabled: !state.checkedList.includes(item.value),
5695
+ active: item.fixed === "right"
5696
+ })
5697
+ }, [
5698
+ createVNode(unref(DtIcon), {
5699
+ "icon-class": "mdi:arrow-collapse-right",
5700
+ className: `${prefixCls}__fixed-right`,
5701
+ onClick: ($event) => handleColumnFixed(item, "right"),
5702
+ size: 16
5703
+ }, null, 8, ["className", "onClick"])
5704
+ ], 2)
5705
+ ]),
5706
+ _: 2
5707
+ }, 1032, ["mouseLeaveDelay"])
5708
+ ], 2);
5709
+ }), 128))
5182
5710
  ]),
5183
5711
  _: 1
5184
- })
5712
+ }, 8, ["value"])
5185
5713
  ]),
5186
5714
  default: withCtx(() => [
5187
5715
  withDirectives(createElementVNode("span", null, null, 512), [
5188
- [_directive_icon, "ic:baseline-file-download"]
5716
+ [_directive_icon, "ant-design:setting-outlined"]
5189
5717
  ])
5190
5718
  ]),
5191
5719
  _: 1
5192
- }, 8, ["getPopupContainer"])
5720
+ }, 8, ["overlayClassName"])
5193
5721
  ]),
5194
5722
  _: 1
5195
5723
  });
5196
5724
  };
5197
5725
  }
5198
5726
  });
5199
- const _sfc_main$B = defineComponent({
5200
- name: "table-setting",
5201
- components: {
5202
- ColumnSetting: _sfc_main$F,
5203
- FullscreenSetting: _sfc_main$E,
5204
- SizeSetting: _sfc_main$D,
5205
- Download: _sfc_main$C
5206
- },
5207
- props: {
5208
- setting: {
5209
- type: Object,
5210
- default: () => ({})
5211
- }
5212
- },
5213
- emits: ["columns-change"],
5214
- setup(props, { emit }) {
5215
- const getSetting = computed(() => {
5216
- return {
5217
- redo: true,
5218
- size: true,
5219
- setting: true,
5220
- fullscreen: true,
5221
- ...props.setting
5727
+ const _hoisted_1$l = { key: 0 };
5728
+ const _hoisted_2$e = { key: 0 };
5729
+ const _hoisted_3$8 = { key: 1 };
5730
+ const _sfc_main$C = /* @__PURE__ */ defineComponent({
5731
+ __name: "Fullscreen",
5732
+ setup(__props) {
5733
+ const table = getTableInstance();
5734
+ const wrapEl = ref(null);
5735
+ const { toggle, isFullscreen } = useFullscreen(wrapEl);
5736
+ watch(() => table.tableElRef.value, (v) => {
5737
+ const getParent = (el) => {
5738
+ var _a;
5739
+ if (!el || !el.parentNode)
5740
+ return null;
5741
+ if (((_a = el.parentNode.className) == null ? void 0 : _a.indexOf("dt-layout-content")) !== -1) {
5742
+ wrapEl.value = el.parentNode;
5743
+ } else {
5744
+ getParent(el.parentNode);
5745
+ }
5222
5746
  };
5747
+ getParent(v.$el);
5223
5748
  });
5224
- function handleColumnChange(data) {
5225
- emit("columns-change", data);
5226
- }
5227
- return {
5228
- getSetting,
5229
- handleColumnChange
5230
- };
5231
- }
5232
- });
5233
- function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
5234
- const _component_Download = resolveComponent("Download");
5235
- const _component_SizeSetting = resolveComponent("SizeSetting");
5236
- const _component_ColumnSetting = resolveComponent("ColumnSetting");
5237
- const _component_FullscreenSetting = resolveComponent("FullscreenSetting");
5238
- return openBlock(), createElementBlock(Fragment, null, [
5239
- createVNode(_component_Download),
5240
- _ctx.getSetting.size ? (openBlock(), createBlock(_component_SizeSetting, { key: 0 })) : createCommentVNode("", true),
5241
- _ctx.getSetting.setting ? (openBlock(), createBlock(_component_ColumnSetting, {
5242
- key: 1,
5243
- onColumnsChange: _ctx.handleColumnChange
5244
- }, null, 8, ["onColumnsChange"])) : createCommentVNode("", true),
5245
- _ctx.getSetting.fullscreen ? (openBlock(), createBlock(_component_FullscreenSetting, { key: 2 })) : createCommentVNode("", true)
5246
- ], 64);
5247
- }
5248
- var TableSettinCom = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["render", _sfc_render$2]]);
5249
- const _sfc_main$A = defineComponent({
5250
- name: "table-header",
5251
- components: {
5252
- TableSettinCom,
5253
- Button,
5254
- DtIcon,
5255
- FormButtons
5256
- },
5257
- props: {
5258
- tableTools: {
5259
- type: Object
5260
- },
5261
- toolbar: {
5262
- type: Array,
5263
- default: []
5264
- }
5265
- },
5266
- emits: ["columns-change"],
5267
- setup(props, { emit }) {
5268
- function handleColumnChange(data) {
5269
- emit("columns-change", data);
5270
- }
5271
- function handleMethod(e) {
5272
- if (isFunction(e.onClick)) {
5273
- e.onClick();
5274
- }
5275
- }
5276
- const getActionsProps = {
5277
- mode: null,
5278
- showAdvancedButton: false,
5279
- show: true,
5280
- buttonList: props.toolbar
5281
- };
5282
- return {
5283
- getActionsProps,
5284
- handleColumnChange,
5285
- handleMethod
5749
+ return (_ctx, _cache) => {
5750
+ const _directive_icon = resolveDirective("icon");
5751
+ return openBlock(), createBlock(unref(Tooltip), { placement: "top" }, {
5752
+ title: withCtx(() => [
5753
+ !unref(isFullscreen) ? (openBlock(), createElementBlock("span", _hoisted_1$l, "\u5168\u5C4F")) : createCommentVNode("", true)
5754
+ ]),
5755
+ default: withCtx(() => [
5756
+ createElementVNode("span", {
5757
+ onClick: _cache[0] || (_cache[0] = (...args) => unref(toggle) && unref(toggle)(...args))
5758
+ }, [
5759
+ !unref(isFullscreen) ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$e, null, 512)), [
5760
+ [_directive_icon, "ic:baseline-fullscreen"]
5761
+ ]) : withDirectives((openBlock(), createElementBlock("span", _hoisted_3$8, null, 512)), [
5762
+ [_directive_icon, "ic:baseline-fullscreen-exit"]
5763
+ ])
5764
+ ])
5765
+ ]),
5766
+ _: 1
5767
+ });
5286
5768
  };
5287
5769
  }
5288
5770
  });
5289
- const _hoisted_1$j = { class: "dt-table-header" };
5290
- const _hoisted_2$d = { class: "dt-table-header-actions" };
5291
- const _hoisted_3$5 = { class: "dt-table-header-actions__left" };
5292
- const _hoisted_4$3 = { class: "dt-table-header-actions__right" };
5293
- const _hoisted_5$2 = {
5294
- key: 0,
5295
- style: { "margin": "5px" }
5296
- };
5297
- function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
5298
- const _component_FormButtons = resolveComponent("FormButtons");
5299
- const _component_TableSettinCom = resolveComponent("TableSettinCom");
5300
- return openBlock(), createElementBlock("div", _hoisted_1$j, [
5301
- createElementVNode("div", _hoisted_2$d, [
5302
- createElementVNode("div", _hoisted_3$5, [
5303
- createVNode(_component_FormButtons, mergeProps(_ctx.getActionsProps, { onHandleMethod: _ctx.handleMethod }), null, 16, ["onHandleMethod"]),
5304
- renderSlot(_ctx.$slots, "toolbar")
5305
- ]),
5306
- createElementVNode("div", _hoisted_4$3, [
5307
- createVNode(_component_TableSettinCom, { onColumnsChange: _ctx.handleColumnChange }, null, 8, ["onColumnsChange"])
5308
- ])
5309
- ]),
5310
- _ctx.$slots.headerTop ? (openBlock(), createElementBlock("div", _hoisted_5$2, [
5311
- renderSlot(_ctx.$slots, "headerTop")
5312
- ])) : createCommentVNode("", true)
5313
- ]);
5314
- }
5315
- var TableHeader = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["render", _sfc_render$1]]);
5316
- var _sfc_main$z = defineComponent({
5317
- name: "TableFormat",
5318
- props: {
5319
- column: {
5320
- type: Object
5321
- },
5322
- record: {
5323
- type: Object
5324
- },
5325
- index: {
5326
- type: Number
5327
- }
5328
- },
5329
- setup(props) {
5330
- let renderText = ref();
5331
- function renderCell() {
5332
- const {
5333
- column,
5334
- record,
5335
- index: index2
5336
- } = props;
5337
- const {
5338
- render: render2,
5339
- dataIndex
5340
- } = column;
5341
- const text = record[dataIndex.toString()];
5342
- if (isFunction(render2)) {
5343
- renderText.value = render2(text, record, index2);
5344
- }
5345
- if (isObject(render2)) {
5346
- const {
5347
- dict,
5348
- date,
5349
- number,
5350
- percent
5351
- } = render2;
5352
- if (dict) {
5353
- renderText = getDictValueByCode(text, dict);
5354
- }
5355
- if (date) {
5356
- renderText.value = dayjs(text).format(date || "YYYY-MM-DD");
5357
- }
5358
- if (number) {
5359
- renderText.value = formatNumber(text, number);
5360
- }
5361
- if (percent) {
5362
- renderText.value = formatNumber((text || 0) * 100, percent) + "%";
5363
- }
5364
- if (isVnode(render2)) {
5365
- renderText.value = render2;
5366
- }
5367
- if (render2["setup"]) {
5368
- renderText.value = createVNode(render2, {
5369
- text
5370
- });
5371
- }
5372
- } else {
5373
- console.log(text);
5374
- renderText.value = text;
5375
- }
5376
- }
5377
- renderCell();
5378
- return () => createVNode("span", null, [unref(renderText)]);
5379
- }
5380
- });
5381
- const _hoisted_1$i = { class: "dt-table-action-btn" };
5382
- const _hoisted_2$c = ["color", "onClick"];
5383
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
5384
- props: {
5385
- fixed: {
5386
- type: String,
5387
- default: "right"
5388
- },
5389
- title: {
5390
- type: String
5391
- },
5392
- expand: {
5393
- type: Boolean,
5394
- default: false
5395
- },
5396
- width: {
5397
- type: String,
5398
- default: "70px"
5399
- },
5400
- btns: {
5401
- type: Array,
5402
- default: []
5403
- },
5404
- flag: {
5405
- type: String
5406
- },
5407
- record: {
5408
- default: {}
5409
- },
5410
- index: {
5411
- type: Number
5412
- }
5413
- },
5771
+ const _hoisted_1$k = /* @__PURE__ */ createTextVNode("\u5BC6\u5EA6");
5772
+ const _hoisted_2$d = /* @__PURE__ */ createElementVNode("span", null, "\u9ED8\u8BA4", -1);
5773
+ const _hoisted_3$7 = /* @__PURE__ */ createElementVNode("span", null, "\u4E2D\u7B49", -1);
5774
+ const _hoisted_4$5 = /* @__PURE__ */ createElementVNode("span", null, "\u7D27\u51D1", -1);
5775
+ const _sfc_main$B = /* @__PURE__ */ defineComponent({
5776
+ __name: "Size",
5414
5777
  setup(__props) {
5415
- const props = __props;
5416
- watch(() => props.btns, (btns) => {
5417
- btns.map((it) => {
5418
- it.ifShow = isBoolean(it.ifShow) ? it.ifShow : isFunction(it.ifShow) ? it.ifShow(props.record) : true;
5419
- });
5420
- }, {
5421
- immediate: true
5422
- });
5423
- function handleAction(it) {
5424
- if (isFunction(it.action)) {
5425
- it.action({
5426
- row: props.record,
5427
- index: props.index
5428
- });
5429
- }
5430
- }
5431
- const attrs = useAttrs$1();
5432
- function getPopupContainer$1() {
5433
- return isFunction(attrs.getPopupContainer) ? attrs.getPopupContainer() : getPopupContainer();
5778
+ const table = getTableInstance();
5779
+ const selectedKeysRef = ref([table.getSize()]);
5780
+ function handleTitleClick({ key }) {
5781
+ selectedKeysRef.value = [key];
5782
+ table.setProps({ size: key });
5434
5783
  }
5435
5784
  return (_ctx, _cache) => {
5436
5785
  const _directive_icon = resolveDirective("icon");
5437
- return props.expand ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(props.btns, (item) => {
5438
- return openBlock(), createElementBlock("span", _hoisted_1$i, [
5439
- item.ifShow ? (openBlock(), createBlock(unref(Tooltip), {
5440
- key: 0,
5441
- placement: "bottom"
5786
+ return openBlock(), createBlock(unref(Tooltip), null, {
5787
+ title: withCtx(() => [
5788
+ _hoisted_1$k
5789
+ ]),
5790
+ default: withCtx(() => [
5791
+ createVNode(unref(Dropdown), {
5792
+ placement: "bottom",
5793
+ trigger: ["click"],
5794
+ getPopupContainer: unref(getPopupContainer)
5442
5795
  }, {
5443
- title: withCtx(() => [
5444
- createTextVNode(toDisplayString(item.title), 1)
5796
+ overlay: withCtx(() => [
5797
+ createVNode(unref(Menu), {
5798
+ onClick: handleTitleClick,
5799
+ selectable: "",
5800
+ selectedKeys: selectedKeysRef.value,
5801
+ "onUpdate:selectedKeys": _cache[0] || (_cache[0] = ($event) => selectedKeysRef.value = $event)
5802
+ }, {
5803
+ default: withCtx(() => [
5804
+ createVNode(unref(MenuItem), { key: "default" }, {
5805
+ default: withCtx(() => [
5806
+ _hoisted_2$d
5807
+ ]),
5808
+ _: 1
5809
+ }),
5810
+ createVNode(unref(MenuItem), { key: "middle" }, {
5811
+ default: withCtx(() => [
5812
+ _hoisted_3$7
5813
+ ]),
5814
+ _: 1
5815
+ }),
5816
+ createVNode(unref(MenuItem), { key: "small" }, {
5817
+ default: withCtx(() => [
5818
+ _hoisted_4$5
5819
+ ]),
5820
+ _: 1
5821
+ })
5822
+ ]),
5823
+ _: 1
5824
+ }, 8, ["selectedKeys"])
5445
5825
  ]),
5446
5826
  default: withCtx(() => [
5447
- withDirectives(createElementVNode("span", {
5448
- color: item.color,
5449
- onClick: ($event) => handleAction(item)
5450
- }, null, 8, _hoisted_2$c), [
5451
- [_directive_icon, item.icon]
5827
+ withDirectives(createElementVNode("span", null, null, 512), [
5828
+ [_directive_icon, "ant-design:column-height-outlined"]
5452
5829
  ])
5453
5830
  ]),
5454
- _: 2
5455
- }, 1024)) : createCommentVNode("", true)
5456
- ]);
5457
- }), 256)) : (openBlock(), createBlock(unref(Dropdown), {
5458
- key: 1,
5459
- getPopupContainer: getPopupContainer$1,
5460
- trigger: ["click"]
5461
- }, {
5462
- overlay: withCtx(() => [
5463
- createVNode(unref(Menu), { class: "dt-action-select" }, {
5464
- default: withCtx(() => [
5465
- (openBlock(true), createElementBlock(Fragment, null, renderList(props.btns, (item) => {
5466
- return openBlock(), createElementBlock(Fragment, null, [
5467
- item.ifShow ? (openBlock(), createBlock(unref(MenuItem), {
5468
- key: 0,
5469
- onClick: ($event) => handleAction(item)
5470
- }, {
5471
- default: withCtx(() => [
5472
- createVNode(unref(DtIcon), {
5473
- "icon-class": item.icon,
5474
- color: item.color
5475
- }, null, 8, ["icon-class", "color"]),
5476
- createElementVNode("span", null, toDisplayString(item.title), 1)
5477
- ]),
5478
- _: 2
5479
- }, 1032, ["onClick"])) : createCommentVNode("", true)
5480
- ], 64);
5481
- }), 256))
5482
- ]),
5483
5831
  _: 1
5484
- })
5485
- ]),
5486
- default: withCtx(() => [
5487
- createVNode(unref(DtIcon), { "icon-class": "mdi:cog-outline" })
5832
+ }, 8, ["getPopupContainer"])
5488
5833
  ]),
5489
5834
  _: 1
5490
- }));
5835
+ });
5491
5836
  };
5492
5837
  }
5493
5838
  });
5494
- const INDEX_FLAG = "INDEX";
5495
- const ACTION_COLUMN = "ACTION";
5496
- function handleItem(item, ellipsis) {
5497
- const { appConf } = useAppStore();
5498
- const { align } = appConf.ui.table;
5499
- const { key, dataIndex, children } = item;
5500
- item.align = item.align || align;
5501
- if (ellipsis) {
5502
- if (!key)
5503
- item.key = dataIndex && dataIndex.toString();
5504
- if (!isBoolean(item.ellipsis)) {
5505
- item = Object.assign(item, {
5506
- ellipsis
5839
+ const _hoisted_1$j = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA", -1);
5840
+ const _hoisted_2$c = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u5F53\u524D\u9875", -1);
5841
+ const _hoisted_3$6 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u9009\u4E2D\u5217", -1);
5842
+ const _hoisted_4$4 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u6240\u6709\u5217", -1);
5843
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
5844
+ __name: "Download",
5845
+ setup(__props) {
5846
+ const table = getTableInstance();
5847
+ function handleTitleClick({ key }) {
5848
+ const { onDownload, columns: allColumns, dataSource, rowSelection } = unref(table.getBind);
5849
+ const excludesFlag = ["ACTION", "CHECKBOX", "RADIO"];
5850
+ const columns = allColumns.filter((it) => !excludesFlag.includes(it.flag));
5851
+ onDownload({
5852
+ type: key,
5853
+ columns,
5854
+ rows: key === "select" ? table.getSelectRows() : key === "current" ? dataSource : []
5507
5855
  });
5508
5856
  }
5509
- }
5510
- if (children && children.length) {
5511
- handleChildren(children, !!ellipsis);
5512
- }
5513
- }
5514
- function handleChildren(children, ellipsis) {
5515
- if (!children)
5516
- return;
5517
- children.forEach((item) => {
5518
- const { children: children2 } = item;
5519
- handleItem(item, ellipsis);
5520
- handleChildren(children2, ellipsis);
5521
- });
5522
- }
5523
- function sortFixedColumn(columns) {
5524
- const fixedLeftColumn = [];
5525
- const fixedRightColumn = [];
5526
- const defaultColumn = [];
5527
- for (let column of columns) {
5528
- if (column.defaultHidden)
5529
- continue;
5530
- if (column.fixed === "left") {
5531
- fixedLeftColumn.push(column);
5532
- continue;
5533
- }
5534
- if (column.fixed === "right") {
5535
- fixedRightColumn.push(column);
5536
- continue;
5537
- }
5538
- defaultColumn.push(column);
5539
- }
5540
- return [
5541
- ...fixedLeftColumn,
5542
- ...defaultColumn,
5543
- ...fixedRightColumn
5544
- ];
5545
- }
5546
- function handleIndexColumn(propsRef, getPaginationRef, columns) {
5547
- const { showIndexColumn, indexColumnProps, isTreeTable } = unref(propsRef);
5548
- let pushIndexColumns = false;
5549
- if (unref(isTreeTable)) {
5550
- return;
5551
- }
5552
- columns.forEach(() => {
5553
- const indIndex = columns.findIndex((column) => column.flag === INDEX_FLAG);
5554
- if (showIndexColumn) {
5555
- pushIndexColumns = indIndex === -1;
5556
- } else if (!showIndexColumn && indIndex !== -1) {
5557
- columns.splice(indIndex, 1);
5558
- }
5559
- });
5560
- if (!pushIndexColumns)
5561
- return;
5562
- const isFixedLeft = columns.some((item) => item.fixed === "left");
5563
- columns.unshift({
5564
- flag: INDEX_FLAG,
5565
- width: 50,
5566
- title: "\u5E8F\u53F7",
5567
- align: "center",
5568
- customRender: ({ index: index2 }) => {
5569
- const getPagination = unref(getPaginationRef);
5570
- const { appConf } = useAppStore();
5571
- const { defaultPageSize } = appConf.ui.table;
5572
- if (isBoolean(getPagination)) {
5573
- return `${index2 + 1}`;
5574
- }
5575
- const { current = 1, pageSize = defaultPageSize } = getPagination;
5576
- return ((current < 1 ? 1 : current) - 1) * pageSize + index2 + 1;
5577
- },
5578
- ...isFixedLeft ? {
5579
- fixed: "left"
5580
- } : {},
5581
- ...indexColumnProps
5582
- });
5583
- }
5584
- function handleActionColumn(propsRef, columns) {
5585
- const { operations } = unref(propsRef);
5586
- if (!operations || isObject(operations) && !(operations == null ? void 0 : operations.btns) || isArray$1(operations) && !operations)
5587
- return;
5588
- const hasIndex = columns.findIndex((column) => column.flag === ACTION_COLUMN);
5589
- if (hasIndex === -1) {
5590
- let column = isObject(operations) ? operations : isArray$1(operations) ? { btns: operations } : {};
5591
- let expand = column.expand ? column.expand : false;
5592
- let columnObj = {
5593
- fixed: "right",
5594
- title: "\u64CD\u4F5C",
5595
- align: "center",
5596
- expand,
5597
- width: (expand ? column.btns.length * 30 + 40 : 70) + "px",
5598
- ...column,
5599
- flag: ACTION_COLUMN
5857
+ return (_ctx, _cache) => {
5858
+ const _directive_icon = resolveDirective("icon");
5859
+ return openBlock(), createBlock(unref(Tooltip), { placement: "top" }, {
5860
+ title: withCtx(() => [
5861
+ _hoisted_1$j
5862
+ ]),
5863
+ default: withCtx(() => [
5864
+ createVNode(unref(Dropdown), {
5865
+ placement: "bottom",
5866
+ trigger: ["click"],
5867
+ getPopupContainer: unref(getPopupContainer)
5868
+ }, {
5869
+ overlay: withCtx(() => [
5870
+ createVNode(unref(Menu), { onClick: handleTitleClick }, {
5871
+ default: withCtx(() => [
5872
+ createVNode(unref(MenuItem), { key: "current" }, {
5873
+ default: withCtx(() => [
5874
+ _hoisted_2$c
5875
+ ]),
5876
+ _: 1
5877
+ }),
5878
+ createVNode(unref(MenuItem), { key: "select" }, {
5879
+ default: withCtx(() => [
5880
+ _hoisted_3$6
5881
+ ]),
5882
+ _: 1
5883
+ }),
5884
+ createVNode(unref(MenuItem), { key: "all" }, {
5885
+ default: withCtx(() => [
5886
+ _hoisted_4$4
5887
+ ]),
5888
+ _: 1
5889
+ })
5890
+ ]),
5891
+ _: 1
5892
+ })
5893
+ ]),
5894
+ default: withCtx(() => [
5895
+ withDirectives(createElementVNode("span", null, null, 512), [
5896
+ [_directive_icon, "ic:baseline-file-download"]
5897
+ ])
5898
+ ]),
5899
+ _: 1
5900
+ }, 8, ["getPopupContainer"])
5901
+ ]),
5902
+ _: 1
5903
+ });
5600
5904
  };
5601
- columns.push({
5602
- ...columnObj,
5603
- customRender: ({ record, index: index2 }) => {
5604
- return h(_sfc_main$y, {
5605
- ...columnObj,
5606
- record,
5607
- align: null,
5608
- index: index2
5609
- });
5610
- }
5611
- });
5612
- }
5613
- }
5614
- function useColumns(propsRef, getPaginationRef) {
5615
- const columnsRef = ref(unref(propsRef).columns);
5616
- let cacheColumns = unref(propsRef).columns;
5617
- const getColumnsRef = computed(() => {
5618
- const columns = cloneDeep(unref(columnsRef));
5619
- if (!columns)
5620
- return [];
5621
- const { ellipsis, resizable, minWidth = 50, maxWidth = 700 } = unref(propsRef);
5622
- columns.forEach((it, index2) => {
5623
- const { slots } = it;
5624
- it.width = it.width || (index2 === columns.length - 1 ? 119.9 : 120);
5625
- if (Reflect.has(it, "resizable") ? !!it.resizable : resizable) {
5626
- it.resizable = true;
5627
- it.minWidth = it.minWidth || minWidth;
5628
- it.maxWidth = it.maxWidth || maxWidth;
5629
- }
5630
- handleItem(it, Reflect.has(it, "ellipsis") ? !!it.ellipsis : !!ellipsis && !slots);
5631
- });
5632
- handleIndexColumn(propsRef, getPaginationRef, columns);
5633
- handleActionColumn(propsRef, columns);
5634
- return columns;
5635
- });
5636
- const getViewColumns = computed(() => {
5637
- const viewColumns = sortFixedColumn(unref(getColumnsRef));
5638
- const columns = cloneDeep(viewColumns);
5639
- return columns.filter((column) => isIfShow(column));
5640
- });
5641
- function isIfShow(column) {
5642
- const ifShow = column.ifShow;
5643
- return isBoolean(ifShow) ? ifShow : isFunction(ifShow) ? ifShow(column) : true;
5644
5905
  }
5645
- watch(() => unref(propsRef).columns, (columns) => {
5646
- var _a;
5647
- columnsRef.value = columns;
5648
- cacheColumns = (_a = columns.filter((it) => !it.flag)) != null ? _a : [];
5649
- });
5650
- function getColumns(opt) {
5651
- const { ignoreIndex, ignoreAction, sort } = opt || {};
5652
- let columns = toRaw(unref(getColumnsRef));
5653
- if (ignoreIndex) {
5654
- columns = columns.filter((it) => it.flag !== INDEX_FLAG);
5655
- }
5656
- if (ignoreAction) {
5657
- columns = columns.filter((it) => it.flag !== ACTION_COLUMN);
5906
+ });
5907
+ const _sfc_main$z = defineComponent({
5908
+ name: "table-setting",
5909
+ components: {
5910
+ ColumnSetting: _sfc_main$D,
5911
+ FullscreenSetting: _sfc_main$C,
5912
+ SizeSetting: _sfc_main$B,
5913
+ Download: _sfc_main$A
5914
+ },
5915
+ props: {
5916
+ setting: {
5917
+ type: Object,
5918
+ default: () => ({})
5658
5919
  }
5659
- if (sort) {
5660
- columns = sortFixedColumn(columns);
5920
+ },
5921
+ emits: ["columns-change"],
5922
+ setup(props, { emit }) {
5923
+ const getSetting = computed(() => {
5924
+ return {
5925
+ download: true,
5926
+ size: true,
5927
+ setting: true,
5928
+ fullscreen: true,
5929
+ ...props.setting
5930
+ };
5931
+ });
5932
+ function handleColumnChange(data) {
5933
+ emit("columns-change", data);
5661
5934
  }
5662
- return columns;
5935
+ return {
5936
+ getSetting,
5937
+ handleColumnChange
5938
+ };
5663
5939
  }
5664
- function setColumns(columnList) {
5665
- const columns = cloneDeep(columnList);
5666
- if (!isArray$1(columns))
5667
- return;
5668
- if (!columns.length) {
5669
- columnsRef.value = [];
5670
- return;
5940
+ });
5941
+ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
5942
+ const _component_Download = resolveComponent("Download");
5943
+ const _component_SizeSetting = resolveComponent("SizeSetting");
5944
+ const _component_ColumnSetting = resolveComponent("ColumnSetting");
5945
+ const _component_FullscreenSetting = resolveComponent("FullscreenSetting");
5946
+ return openBlock(), createElementBlock(Fragment, null, [
5947
+ _ctx.getSetting.download ? (openBlock(), createBlock(_component_Download, { key: 0 })) : createCommentVNode("", true),
5948
+ _ctx.getSetting.size ? (openBlock(), createBlock(_component_SizeSetting, { key: 1 })) : createCommentVNode("", true),
5949
+ _ctx.getSetting.setting ? (openBlock(), createBlock(_component_ColumnSetting, {
5950
+ key: 2,
5951
+ onColumnsChange: _ctx.handleColumnChange
5952
+ }, null, 8, ["onColumnsChange"])) : createCommentVNode("", true),
5953
+ _ctx.getSetting.fullscreen ? (openBlock(), createBlock(_component_FullscreenSetting, { key: 3 })) : createCommentVNode("", true)
5954
+ ], 64);
5955
+ }
5956
+ var TableSettinCom = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["render", _sfc_render$2]]);
5957
+ const _sfc_main$y = defineComponent({
5958
+ name: "table-header",
5959
+ components: {
5960
+ TableSettinCom,
5961
+ Button,
5962
+ DtIcon,
5963
+ FormButtons
5964
+ },
5965
+ props: {
5966
+ tableTools: {
5967
+ type: Object
5968
+ },
5969
+ toolbar: {
5970
+ type: Array,
5971
+ default: []
5671
5972
  }
5672
- const cacheKeys = cacheColumns.map((item) => item.dataIndex);
5673
- if (!isString(columns[0])) {
5674
- columnsRef.value = columns;
5675
- } else {
5676
- const columnKeys = columns;
5677
- const newColumns = [];
5678
- cacheColumns.forEach((it) => {
5679
- newColumns.push({
5680
- ...it,
5681
- defaultHidden: !columnKeys.includes(it.dataIndex || it.key)
5682
- });
5683
- });
5684
- if (!isEqual(cacheKeys, columns)) {
5685
- newColumns.sort((prev, next) => {
5686
- return columnKeys.indexOf(prev.dataIndex) - columnKeys.indexOf(next.dataIndex);
5687
- });
5688
- }
5689
- columnsRef.value = newColumns;
5973
+ },
5974
+ emits: ["columns-change"],
5975
+ setup(props, { emit }) {
5976
+ function handleColumnChange(data) {
5977
+ emit("columns-change", data);
5690
5978
  }
5691
- }
5692
- function setCacheColumnsByField(dataIndex, value) {
5693
- if (!dataIndex || !value)
5694
- return;
5695
- cacheColumns.forEach((item) => {
5696
- if (item.dataIndex === dataIndex) {
5697
- Object.assign(item, value);
5698
- return;
5979
+ function handleMethod(e) {
5980
+ if (isFunction(e.onClick)) {
5981
+ e.onClick();
5699
5982
  }
5700
- });
5701
- }
5702
- function getCacheColumns() {
5703
- return cacheColumns;
5983
+ }
5984
+ const getActionsProps = {
5985
+ mode: null,
5986
+ showAdvancedButton: false,
5987
+ show: true,
5988
+ buttonList: props.toolbar
5989
+ };
5990
+ return {
5991
+ getActionsProps,
5992
+ handleColumnChange,
5993
+ handleMethod
5994
+ };
5704
5995
  }
5705
- return {
5706
- getViewColumns,
5707
- getColumnsRef,
5708
- getColumns,
5709
- setColumns,
5710
- setCacheColumnsByField,
5711
- getCacheColumns
5712
- };
5996
+ });
5997
+ const _hoisted_1$i = { class: "dt-table-header" };
5998
+ const _hoisted_2$b = { class: "dt-table-header-actions" };
5999
+ const _hoisted_3$5 = { class: "dt-table-header-actions__left" };
6000
+ const _hoisted_4$3 = { class: "dt-table-header-actions__right" };
6001
+ const _hoisted_5$2 = {
6002
+ key: 0,
6003
+ style: { "margin": "5px" }
6004
+ };
6005
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
6006
+ const _component_FormButtons = resolveComponent("FormButtons");
6007
+ const _component_TableSettinCom = resolveComponent("TableSettinCom");
6008
+ return openBlock(), createElementBlock("div", _hoisted_1$i, [
6009
+ createElementVNode("div", _hoisted_2$b, [
6010
+ createElementVNode("div", _hoisted_3$5, [
6011
+ createVNode(_component_FormButtons, mergeProps(_ctx.getActionsProps, { onHandleMethod: _ctx.handleMethod }), null, 16, ["onHandleMethod"]),
6012
+ renderSlot(_ctx.$slots, "toolbar")
6013
+ ]),
6014
+ createElementVNode("div", _hoisted_4$3, [
6015
+ createVNode(_component_TableSettinCom, {
6016
+ setting: _ctx.tableTools,
6017
+ onColumnsChange: _ctx.handleColumnChange
6018
+ }, null, 8, ["setting", "onColumnsChange"])
6019
+ ])
6020
+ ]),
6021
+ _ctx.$slots.headerTop ? (openBlock(), createElementBlock("div", _hoisted_5$2, [
6022
+ renderSlot(_ctx.$slots, "headerTop")
6023
+ ])) : createCommentVNode("", true)
6024
+ ]);
5713
6025
  }
6026
+ var TableHeader = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["render", _sfc_render$1]]);
5714
6027
  function useTableHeader(propsRef, slots, handlers) {
5715
6028
  const getHeaderProps = computed(() => {
5716
6029
  const { tableSetting, toolbar } = unref(propsRef);
5717
6030
  const { getSlot } = useSlots();
5718
- const hideTitle = !slots.toolbar && !slots.headerTop && (!tableSetting || !tableSetting.length);
6031
+ const hideTitle = !slots.toolbar && !slots.headerTop && !tableSetting;
5719
6032
  return {
5720
6033
  title: hideTitle ? null : () => h(TableHeader, {
5721
- tableSetting,
6034
+ tableTools: tableSetting,
5722
6035
  toolbar,
5723
6036
  onColumnsChange: handlers.onColumnsChange
5724
6037
  }, {
@@ -5739,12 +6052,10 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
5739
6052
  const tableHeightRef = ref(0);
5740
6053
  const filterSource = ref([]);
5741
6054
  const debounceRedoHeight = useDebounceFn(redoHeight, 100);
5742
- watch(() => {
5743
- var _a, _b;
5744
- return (_b = (_a = unref(propsRef)) == null ? void 0 : _a.dataSource) == null ? void 0 : _b.length;
5745
- }, () => {
6055
+ watch(() => propsRef.value.dataSource, (v) => {
5746
6056
  debounceRedoHeight();
5747
6057
  }, {
6058
+ deep: true,
5748
6059
  flush: "post"
5749
6060
  });
5750
6061
  windowResizeFn(calcTableHeight, 280);
@@ -5869,7 +6180,9 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
5869
6180
  createScrollWrap(bodyEl);
5870
6181
  calcScroll(bodyEl);
5871
6182
  bodyEl.addEventListener("scroll", (e) => {
5872
- calcScroll(bodyEl);
6183
+ useDebounceFn(() => {
6184
+ calcScroll(bodyEl);
6185
+ }, 100)();
5873
6186
  });
5874
6187
  }
5875
6188
  async function calcScroll(el) {
@@ -5895,8 +6208,7 @@ const _sfc_main$x = defineComponent({
5895
6208
  props: TableProps,
5896
6209
  components: {
5897
6210
  Table,
5898
- TableHeader,
5899
- TableRender: _sfc_main$z
6211
+ TableRender: _sfc_main$F
5900
6212
  },
5901
6213
  emits: [
5902
6214
  "register",
@@ -5948,6 +6260,13 @@ const _sfc_main$x = defineComponent({
5948
6260
  const {
5949
6261
  getRowClassName
5950
6262
  } = useRows(getProps);
6263
+ const {
6264
+ handleTableChange
6265
+ } = useDataSource(getProps, {
6266
+ getPaginationInfo,
6267
+ setPagination,
6268
+ clearSelectedRowKeys
6269
+ });
5951
6270
  const getBind = computed(() => {
5952
6271
  return {
5953
6272
  ...attrs,
@@ -5959,7 +6278,7 @@ const _sfc_main$x = defineComponent({
5959
6278
  pagination: toRaw(unref(getPaginationInfo)),
5960
6279
  rowSelection: unref(getRowSelectionRef),
5961
6280
  rowKey: unref(getProps).rowKey,
5962
- columns: toRaw(unref(getViewColumns)),
6281
+ columns: unref(getViewColumns),
5963
6282
  tableLayout: "fixed"
5964
6283
  };
5965
6284
  });
@@ -5972,13 +6291,6 @@ const _sfc_main$x = defineComponent({
5972
6291
  }
5973
6292
  };
5974
6293
  const { getHeaderProps } = useTableHeader(getProps, slots, handlers);
5975
- const {
5976
- handleTableChange
5977
- } = useDataSource(getProps, {
5978
- getPaginationInfo,
5979
- setPagination,
5980
- clearSelectedRowKeys
5981
- });
5982
6294
  emit("register", tableAction);
5983
6295
  return {
5984
6296
  tableElRef,
@@ -6005,7 +6317,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
6005
6317
  onResizeColumn: _ctx.handleResizeColumn
6006
6318
  }), createSlots({
6007
6319
  bodyCell: withCtx(({ column, record, index: index2 }) => [
6008
- column.render ? (openBlock(), createBlock(_component_TableRender, {
6320
+ (column == null ? void 0 : column.render) ? (openBlock(), createBlock(_component_TableRender, {
6009
6321
  key: 0,
6010
6322
  column,
6011
6323
  record,
@@ -6053,9 +6365,7 @@ function useFetch(api, baseUrl = "") {
6053
6365
  if (afterFetch && isFunction(afterFetch)) {
6054
6366
  data = afterFetch(data);
6055
6367
  }
6056
- if (data.status) {
6057
- resolve(data.data);
6058
- }
6368
+ resolve(data == null ? void 0 : data.data);
6059
6369
  }, (error2) => {
6060
6370
  reject(error2);
6061
6371
  });
@@ -6096,8 +6406,11 @@ function useSource(opt) {
6096
6406
  };
6097
6407
  const { baseUrl = "", api = {}, exportName = "" } = opt;
6098
6408
  const { add, deletes, update, queryById, queryPage } = api;
6409
+ const { message: message2 } = useMessage();
6410
+ const apiFul = {};
6099
6411
  for (let it in api) {
6100
6412
  loading["on" + it.slice(0, 1).toUpperCase() + it.slice(1).toLowerCase()] = ref(false);
6413
+ apiFul[it] = baseUrl + (isString(api[it]) ? api[it] : api[it].api);
6101
6414
  }
6102
6415
  const { appConf } = useAppStore();
6103
6416
  const pagination = ref({
@@ -6112,7 +6425,7 @@ function useSource(opt) {
6112
6425
  pageNo: 0,
6113
6426
  pageSize: 10
6114
6427
  },
6115
- orderDTOs: {}
6428
+ orderDTOs: []
6116
6429
  });
6117
6430
  function onSearch(model) {
6118
6431
  baseData.entityDTO = { ...model };
@@ -6132,7 +6445,7 @@ function useSource(opt) {
6132
6445
  pageNo: pagination2.current - 1,
6133
6446
  pageSize: pagination2.pageSize
6134
6447
  };
6135
- baseData.orderDTOs = sort;
6448
+ baseData.orderDTOs = [];
6136
6449
  if (needSearch)
6137
6450
  search();
6138
6451
  }
@@ -6142,7 +6455,7 @@ function useSource(opt) {
6142
6455
  fetch(toRaw(baseData)).then((rsp) => {
6143
6456
  var _a2, _b2, _c2;
6144
6457
  const { records, pageDTO } = rsp;
6145
- dataSource.value = records;
6458
+ dataSource.value.splice(0, dataSource.value.length, ...records);
6146
6459
  pagination.value = {
6147
6460
  current: ((_a2 = pageDTO == null ? void 0 : pageDTO.pageNo) != null ? _a2 : 0) + 1,
6148
6461
  pageSize: (_b2 = pageDTO == null ? void 0 : pageDTO.pageSize) != null ? _b2 : 10,
@@ -6157,6 +6470,7 @@ function useSource(opt) {
6157
6470
  function onAdd(model) {
6158
6471
  const { fetch } = useFetch(add, baseUrl);
6159
6472
  fetch(model).then((rsp) => {
6473
+ message2.success("\u65B0\u589E\u6210\u529F");
6160
6474
  search();
6161
6475
  });
6162
6476
  }
@@ -6167,6 +6481,7 @@ function useSource(opt) {
6167
6481
  function onUpdate(model) {
6168
6482
  const { fetch } = useFetch(update, baseUrl);
6169
6483
  fetch(model).then((rsp) => {
6484
+ message2.success("\u66F4\u65B0\u6570\u636E\u6210\u529F");
6170
6485
  search();
6171
6486
  });
6172
6487
  }
@@ -6199,9 +6514,17 @@ function useSource(opt) {
6199
6514
  };
6200
6515
  return {
6201
6516
  api,
6517
+ apiFul,
6202
6518
  form,
6203
6519
  table,
6204
6520
  curd,
6521
+ loading,
6522
+ onAdd,
6523
+ onQueryById,
6524
+ onDeletes,
6525
+ onUpdate,
6526
+ onTableChange,
6527
+ onDownload,
6205
6528
  onSearch
6206
6529
  };
6207
6530
  }
@@ -6235,31 +6558,38 @@ const basicProps = {
6235
6558
  }
6236
6559
  };
6237
6560
  const _sfc_main$w = /* @__PURE__ */ defineComponent({
6561
+ __name: "dialog",
6238
6562
  props: {
6239
6563
  ...basicProps,
6240
6564
  ...{
6241
6565
  onRegister: { type: Function },
6242
6566
  formProps: {
6243
6567
  type: Object
6568
+ },
6569
+ formsVal: {
6570
+ type: Object
6244
6571
  }
6245
6572
  }
6246
6573
  },
6247
6574
  setup(__props) {
6248
6575
  const props = __props;
6249
- const [registerDialog, {}] = useModal({
6576
+ const [registerDialog] = useModal({
6250
6577
  ...omit(toRaw(props), [
6251
6578
  "actions",
6252
6579
  "curd",
6253
6580
  "formProps",
6581
+ "formsVal",
6254
6582
  "onRegister",
6255
6583
  "schemas"
6256
- ])
6584
+ ]),
6585
+ destroyOnClose: true
6257
6586
  });
6258
6587
  const [registerForm, { getFormValues, setFormValues }] = useForm({
6588
+ ...props.formProps.value || {},
6259
6589
  schemas: props.schemas,
6260
6590
  mode: "dialog"
6261
6591
  });
6262
- watch(() => props.formProps.value, (v) => {
6592
+ watch(() => props.formsVal.value, (v) => {
6263
6593
  if (v) {
6264
6594
  setFormValues(toRaw(v));
6265
6595
  }
@@ -6267,7 +6597,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
6267
6597
  function handleSave() {
6268
6598
  var _a;
6269
6599
  if (props.curd && isFunction((_a = props.curd) == null ? void 0 : _a.onAdd)) {
6270
- let obj = Object.assign({}, props.formProps.value || {}, getFormValues());
6600
+ let obj = Object.assign({}, props.formsVal.value || {}, getFormValues());
6271
6601
  obj.id ? props.curd.onUpdate(obj) : props.curd.onAdd(obj);
6272
6602
  }
6273
6603
  }
@@ -6285,17 +6615,21 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
6285
6615
  }
6286
6616
  });
6287
6617
  function useCurd(curdOpt) {
6288
- const formProps = ref();
6618
+ const formsVal = ref();
6289
6619
  const [register, {
6290
6620
  closeModal,
6291
6621
  setModalProps,
6292
6622
  openModal
6293
6623
  }] = useModalOut();
6624
+ const {
6625
+ confirm
6626
+ } = useMessage();
6294
6627
  const DtCurdModal = () => {
6295
6628
  return h(createVNode("div", {
6296
6629
  "class": "curdModal"
6297
6630
  }, [createVNode(_sfc_main$w, mergeProps(curdOpt, {
6298
- "formProps": formProps,
6631
+ "formsVal": formsVal,
6632
+ "formProps": curdOpt.formProps,
6299
6633
  "onRegister": register
6300
6634
  }), null)]));
6301
6635
  };
@@ -6310,7 +6644,14 @@ function useCurd(curdOpt) {
6310
6644
  curd
6311
6645
  } = curdOpt;
6312
6646
  if (curd && curd.onDeletes && isFunction(curd.onDeletes)) {
6313
- curd.onDeletes([row[primaryKey]]);
6647
+ confirm({
6648
+ title: "\u5220\u9664\u786E\u8BA4",
6649
+ content: "\u786E\u8BA4\u8981\u5220\u9664\u9009\u4E2D\u7684\u6570\u636E\uFF1F",
6650
+ iconType: "warning",
6651
+ onOk() {
6652
+ curd.onDeletes([row[primaryKey]]);
6653
+ }
6654
+ });
6314
6655
  } else {
6315
6656
  error(`\u7F3A\u5C11curd\u51FD\u6570\u914D\u7F6E, \u8BF7\u5C06useSource\u4E2D\u8FD4\u56DE\u7684curd\u53C2\u6570\u4F20\u5165useCurd\u914D\u7F6E\u9879\u4E2D!`);
6316
6657
  }
@@ -6323,7 +6664,7 @@ function useCurd(curdOpt) {
6323
6664
  curd
6324
6665
  } = curdOpt;
6325
6666
  curd.onQueryById(row[primaryKey]).then((rsp) => {
6326
- formProps.value = rsp;
6667
+ formsVal.value = rsp;
6327
6668
  });
6328
6669
  openModal();
6329
6670
  }
@@ -6332,7 +6673,14 @@ function useCurd(curdOpt) {
6332
6673
  curd
6333
6674
  } = curdOpt;
6334
6675
  if (curd && curd.onDeletes && isFunction(curd.onDeletes)) {
6335
- curd.onDeletes(ids);
6676
+ confirm({
6677
+ title: "\u6279\u91CF\u5220\u9664\u786E\u8BA4",
6678
+ content: "\u786E\u8BA4\u8981\u6279\u91CF\u5220\u9664\u9009\u4E2D\u7684\u6570\u636E\uFF1F",
6679
+ iconType: "warning",
6680
+ onOk() {
6681
+ curd.onDeletes(ids);
6682
+ }
6683
+ });
6336
6684
  } else {
6337
6685
  error(`\u7F3A\u5C11curd\u51FD\u6570\u914D\u7F6E, \u8BF7\u5C06useSource\u4E2D\u8FD4\u56DE\u7684curd\u53C2\u6570\u4F20\u5165useCurd\u914D\u7F6E\u9879\u4E2D!`);
6338
6686
  }
@@ -6346,8 +6694,9 @@ function useCurd(curdOpt) {
6346
6694
  };
6347
6695
  }
6348
6696
  const _hoisted_1$h = { class: "iframe-page" };
6349
- const _hoisted_2$b = ["src"];
6697
+ const _hoisted_2$a = ["src"];
6350
6698
  const _sfc_main$v = /* @__PURE__ */ defineComponent({
6699
+ __name: "index",
6351
6700
  props: {
6352
6701
  showLoading: {
6353
6702
  type: Boolean,
@@ -6380,7 +6729,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
6380
6729
  ref_key: "frameRef",
6381
6730
  ref: frameRef,
6382
6731
  onLoad: _cache[0] || (_cache[0] = ($event) => afterLoaded())
6383
- }, null, 40, _hoisted_2$b)
6732
+ }, null, 40, _hoisted_2$a)
6384
6733
  ]),
6385
6734
  _: 1
6386
6735
  }, 8, ["spinning"])
@@ -6388,6 +6737,23 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
6388
6737
  };
6389
6738
  }
6390
6739
  });
6740
+ function useDialog() {
6741
+ function createDialog(component, options) {
6742
+ return new Promise((resolve) => {
6743
+ const div = document.createElement("div");
6744
+ document.body.appendChild(div);
6745
+ render$1();
6746
+ function render$1() {
6747
+ const vm = createVNode(component.children[0]);
6748
+ render(vm, div);
6749
+ return vm;
6750
+ }
6751
+ });
6752
+ }
6753
+ return {
6754
+ createDialog
6755
+ };
6756
+ }
6391
6757
  const dtComponents = [
6392
6758
  { name: "dt-base-router", component: DtBaseRouter },
6393
6759
  { name: "dt-icon", component: DtIcon },
@@ -6403,6 +6769,7 @@ function initComponents() {
6403
6769
  };
6404
6770
  }
6405
6771
  const _sfc_main$u = /* @__PURE__ */ defineComponent({
6772
+ __name: "back-top",
6406
6773
  setup(__props) {
6407
6774
  const getTarget = () => document.getElementById("dt-layout-content");
6408
6775
  const { getShowBackToTop } = useTheme();
@@ -6416,23 +6783,23 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
6416
6783
  }
6417
6784
  });
6418
6785
  const _sfc_main$t = /* @__PURE__ */ defineComponent({
6786
+ __name: "index",
6419
6787
  setup(__props) {
6420
6788
  return (_ctx, _cache) => {
6421
6789
  return openBlock(), createBlock(_sfc_main$u);
6422
6790
  };
6423
6791
  }
6424
6792
  });
6425
- var _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAACXBIWXMAAAsTAAALEwEAmpwYAAAzfGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOS0wNS0wNlQxMToyNzoyOCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0xMC0yNFQxNDozMToxNiswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjEtMTAtMjRUMTQ6MzE6MTYrMDg6MDAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NWU1YmFlNWUtOTQzOS1lYjQ4LWJiMjEtZjZjM2UwOWYxODM2IiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZGU4M2YxYWYtODBkMS1kMTRlLTg5ZWMtNGE1MjUzNzFkZTcwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTg1ODkwODQtMjkyYi01ODRiLTkzODAtNWJmY2E3NjJmYzk5Ij4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+MDBCQTBEMEExQ0M5RDAwNTMxNTlBMjBGRTcxOTA2RTg8L3JkZjpsaT4gPHJkZjpsaT4wMTQwNjdEM0ZDNjM5OTM3RTc4QkFCNDFBMzdCNzMwNTwvcmRmOmxpPiA8cmRmOmxpPjAyRDI2REY0MDMxREJFOUM5N0Q5Mzg1RjE5QTUwMUQ0PC9yZGY6bGk+IDxyZGY6bGk+MDcxNDVGQzc5RjkxODMwQjNGRUNFOUZCODNEMDZDN0M8L3JkZjpsaT4gPHJkZjpsaT4wRDgyMkI0MThFM0E2RjZCMjBDMEM2NjkwOUI0QTc5QTwvcmRmOmxpPiA8cmRmOmxpPjBGOUM0NTJBMkZGQTE3QzU4RTQ5MzVFQUU3RUJEQzI1PC9yZGY6bGk+IDxyZGY6bGk+MTY2N0I2OTg3MUJGRjQ4MThEODU5RENGMjIzOTUyMjg8L3JkZjpsaT4gPHJkZjpsaT4xOTNFMUQ2M0ExRDJEN0VBN0U0MTFBMzlBQzNENkJBMzwvcmRmOmxpPiA8cmRmOmxpPjIwNjY1MENBM0RBNUM2OURFQjZCRjAyMTQ3MEUzM0Y1PC9yZGY6bGk+IDxyZGY6bGk+MjE1QzM3NDMwNUM1MUVDQ0FENUM1RDUzQThCMEMwMkI8L3JkZjpsaT4gPHJkZjpsaT4yMThDREMzM0Y0OTE1NTMzQzRFQjMwRUIzQTU3MjM1RjwvcmRmOmxpPiA8cmRmOmxpPjI0N0QxRUVDRThCMjkzOTJCNzQ3RjVCMzQ3Rjc5RDRGPC9yZGY6bGk+IDxyZGY6bGk+MkVDOURBNDM2NEQ2RTBCRjYwNzExRDJFOUY1OEM4ODg8L3JkZjpsaT4gPHJkZjpsaT4zNzEyQTgyQjE3NEM0OUMwMDg2MTUxMEJBODEzMDlBOTwvcmRmOmxpPiA8cmRmOmxpPjNEQjIwQTEwQzQyQjZGMkZEMEMwQkYyNUZDNEU5NzFFPC9yZGY6bGk+IDxyZGY6bGk+NDFDMTBEM0IzRUFBQTUwQjI5ODRBNzY1MEM5QzQzMTc8L3JkZjpsaT4gPHJkZjpsaT40OTQxN0MwQjQxMDgxRkJDRDQxNjAwQTM1QUE0MkEwMzwvcmRmOmxpPiA8cmRmOmxpPjRCQUVBREUyQjhFMTk4MTA2MkM5RjQzMTFCREI5Njg5PC9yZGY6bGk+IDxyZGY6bGk+NEU5NTUxOEI4OUI2MjEwOTRFNDdGMEU3MUQ4MUYxRjQ8L3JkZjpsaT4gPHJkZjpsaT41NDlEOUJFODJBRjc3NzVFOTMzRDc3QjJDOEY4N0QwMDwvcmRmOmxpPiA8cmRmOmxpPjU1NTQ4QzhDN0VEODdCRDI2MUI1RTNDRTBCQzdGNUM3PC9yZGY6bGk+IDxyZGY6bGk+NTg0RjVFMjNEMEFFMDA0NUQ4OENBM0I3MTUxNDQyODk8L3JkZjpsaT4gPHJkZjpsaT41OUVDMTdCMzk5Q0Y3QzFDQkJEN0FBMDUwODYyMzY1OTwvcmRmOmxpPiA8cmRmOmxpPjVDRUFCMzA0QUVFMTUyMzVGMDM3Mjg1NTdDMjFCQTBBPC9yZGY6bGk+IDxyZGY6bGk+NUUwRkI3MDI4QjU5NDlBNEFDRkU0NjIwNjRCQjVFNTc8L3JkZjpsaT4gPHJkZjpsaT42NzlCNDI1OEZGQjVDQTZBQUM2MDgzQkJBQTNFMDYwRTwvcmRmOmxpPiA8cmRmOmxpPjZDMDkzMzdDRjQxRTU3NTQ2NTFFMTJCNkRDMTU5OTcyPC9yZGY6bGk+IDxyZGY6bGk+NzU1RTZBRjM1MzM3ODA5MkM3NzlCNDE1MDAwRDg0RkE8L3JkZjpsaT4gPHJkZjpsaT43OUJDMjI2N0QxODVCOTM4MTA4RDQ2N0ZBNEI0QzVBOTwvcmRmOmxpPiA8cmRmOmxpPjdDMTMzQkQ1NDA3MzQ3RTVBREJFMzJBNDlCODIzRUFEPC9yZGY6bGk+IDxyZGY6bGk+ODE2QzZGQUI0NTQ4NzMyNjU5NTc2NkNCNEYzNDFEQUQ8L3JkZjpsaT4gPHJkZjpsaT44MzZFNkZCNjlEMDk4Njg5RDc4RDdEQjlEQjhDREExRTwvcmRmOmxpPiA8cmRmOmxpPjg1QTM5MUEyMkM2NEY1Q0IwQTM3QTg2MzZFNTRGOUY2PC9yZGY6bGk+IDxyZGY6bGk+OEE0QkZEOTQzQUZGOTlEMDdEREU1MUYwMDFDNEE5REE8L3JkZjpsaT4gPHJkZjpsaT45NEMzMkU2QTE1MTdCNzBBNDM5ODVBQTc2NTM0NEI2OTwvcmRmOmxpPiA8cmRmOmxpPkFCMzlENjBENTExNEVFOEE4RkJBREUyRTkyMEM0NUExPC9yZGY6bGk+IDxyZGY6bGk+QjIwMUZGOTM3QzYwNzkxMEY4MUY5REJERkNDRkZGRTk8L3JkZjpsaT4gPHJkZjpsaT5CRTYxMzMxREQ1MkI2MjlFNjgwNUVCMzQ3MkRFRTJEMjwvcmRmOmxpPiA8cmRmOmxpPkJFQzM4NTRBODA1RkQ1NkM3RThEMkUxN0M0NzA5ODkwPC9yZGY6bGk+IDxyZGY6bGk+Qzg5NkI0OTZGMTgyREU1MTgzNTg3MEIwOTM0MUQ4RTg8L3JkZjpsaT4gPHJkZjpsaT5DQkJEN0U5OEM1MEI0RTE0RDA0MkNFNTMzQUE1QTgyMDwvcmRmOmxpPiA8cmRmOmxpPkQ5NjQzNUIwNkRFNTQ2OTg4MDUyMjVDNERBRkUzOEIyPC9yZGY6bGk+IDxyZGY6bGk+RTJCNTc3NDY4ODE4NEI2Mzk4OTE0RTI4MkQ5RThFODQ8L3JkZjpsaT4gPHJkZjpsaT5FNDJCMEFDNjg1OTAyMTcyQzIxNjEyQkJGMjFGRjg0QjwvcmRmOmxpPiA8cmRmOmxpPkU1QjQzNTBCREVFMTQ1NUMxM0UxNTU1NEM2MEY2QjQ0PC9yZGY6bGk+IDxyZGY6bGk+RUI3NzhBRjNENDVERUNBQkFCRUEwRkZDQTg4QTEyNDM8L3JkZjpsaT4gPHJkZjpsaT5GNTY3RjdBNDRCNTJFQUMwNTYxNkVBODdGRjlEMzMxQzwvcmRmOmxpPiA8cmRmOmxpPkY1RjgzQTQyMzI4N0E0MUUyMTM5ODdDNTRERjhFOUQ3PC9yZGY6bGk+IDxyZGY6bGk+RkVBQkZDQTQyQzY1N0ZFN0Y1MjEzOEQ0NkQyRTQ2MjM8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MDQ3NzM4NzYtZTg2Zi0xMWU3LTg4MmMtYWRiZmQ5NWE3NjU0PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjA4ZjFmZmI5LWM1MWUtMTE3OS1iNTJlLWFkNGFiZjVjNmRhZDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDowYjM2MmY4Yi1hY2I2LTExZTUtOGZmZS1lMzQ2MTgxMGQzZTk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MTAwMDFlZTUtZGVmNy03MjRiLTg3OTctZDg4YjE0ZWI3YjExPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjE0Y2YxMGI4LWNlOTItMTE3OS04ZDJhLWIzNjcyY2QwOWI2MzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxNzM4ZDA5ZS05YTk4LTExZTUtOTE3ZS1kNGExOTRhYWE2N2U8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MWZkODY3YmItYzJlOC0xMTc5LWFkOTYtZjBjODUzNzZkYjFkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjIxMzMzNjE3LWNjYWItMDg0OS04YWFmLWE0MzQwY2ZiZGVmZjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyNGI4YzllYS05MDU3LTExZTYtODBkYi04ZTk5ZjZiZDFiNTY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MmRmNzZkN2YtOWMyMy0xMWU1LWJlOTUtZDNiYjFlNDBhYmZhPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjM0NDUxNTQyLTlhYjQtMTFlNS05MTdlLWQ0YTE5NGFhYTY3ZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDozNTU4NmExZi00M2FiLTExNzktYTg2Ny1hMmFiMmIxYjU2OTY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Mzg2ZDAwYzAtNmRjMi0xMTc3LWFiNjUtYTIwYWMzNDdjYzI2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjNhNDdmMTQxLWJlNmItZjE0My1hMzM3LTM4ZmIwZGQzMzljYjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDozYjk1ZmY2Zi1hYjAwLTExNzktOGEyYS1lYmY4MzMyOTc0NTc8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NDVjOGUzYjMtYjg5Mi00ZTQwLTg3YjUtYWIwNTk0NmFjMDE2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQ4YTI0ZDkyLWUyMzMtMjM0NC1iNTQ1LWE3OTA3MDY1MjJiMzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0YmNiZWZkMS04MTBlLTJkNGEtYTA4NS04MGVmYmMwZjJiODA8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NTUzNTRjMmEtYzMyOC0xMTc5LWFkOTYtZjBjODUzNzZkYjFkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjcxODQ0ZWUwLWMwY2MtMTE3OS05ODliLWNlNWRkM2Y3NmNhYjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3MzFhNjYwZC1jY2Q4LWNiNDQtOWZkYS1jOTY1NjAwYTlmOTI8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NzdiYjEwZmYtYjI4ZC0xMWU4LThiN2UtZjE3MTY4ZDMxZTljPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjgyNGIxODI5LTliYTUtMTFlNS1hZmM2LTg3NjcxZTA3ZTBjNDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4MzQ2YzY1NC1kMzM0LTEwNDMtYjZjNS1kYTM3N2QwYWIyNTg8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTgyODRiN2UtOWIzNi0xMWU1LTkxN2UtZDRhMTk0YWFhNjdlPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjlkNDM5Y2UwLWIyM2UtMTFlNS05MTYxLWY5ZDdjYzE1OTQzMjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5ZWQ1MWIzNS1hYzM2LTExNzktYmE0ZS1kZjIxY2JlNzI1Yjk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YTE2NTQzNjYtODg0ZS0xMWU1LThjOTAtYzY5MjYzYzdiOTYxPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmEzMzUzZGI3LWE4MDItOTc0Mi1iZmYzLTI0Mzk4YjY5OTI5ZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDphZDM0MWU1Ni1iMjczLTE2NDktODY2ZC0xN2E5MjcxZjExODg8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YmExNjlmMjMtOTA1OC0xMWU2LTgwZGItOGU5OWY2YmQxYjU2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmJlNjYzNjRhLWUwM2YtNWU0OS05YmY0LWM0YjIwMTc3NTliNTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiZTY2YzcxYy1hYTQ1LTExZTUtYmY4Yi1hZWNlNTk4MWMzNmQ8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Yzc5Yzc3YzYtOWMxOS0xMWU1LWJlOTUtZDNiYjFlNDBhYmZhPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmNjZDJjZGNhLTQ2OWUtMTE3OS1iYzUzLWRmNDJmNjRkYjZhYzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkZDE2YWYyNi1iNGI2LTExNzktODkwYi05YjY5NDhiZDgzZTk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6ZTNmZmVlNjgtM2MxMi03MzQzLWE1NTItOTAxYmFkMTViOGMwPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmVhOGYyYzNkLTkwNTMtMTFlNi04MGRiLThlOTlmNmJkMWI1NjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMTc1NDg3ZC05YjcwLTExZTUtYWU3Mi1lYmI4OWUwZmQwZWY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Zjg4Y2M5NGQtYzcwZS0xMTc5LWJjNzQtYzljNmY5NjcyYTQ0PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmY5MTdmNjM5LTkwNGUtMTFlNi05MThjLWZmZjgyYjQxY2YyZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmYWU1ZDczNy05YTIzLTExZTUtOTJlNC04YzM5MzI2N2QwMWM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjAwMWU2NDI1LWI5ZTgtMWQ0My1hY2EzLWQwMzM3MDM4NGFjYzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTgwODNBMzJBMUI2ODVERTQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjAyZDdmMjgzLTE0ZTUtNDAyOS1hZWZhLThmMGIwOTk0NWQyMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MDUyN2I1ODctZGRiZi1jNzQ2LWI3YzYtZGQ5MDlhNzhhZDllPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDowRUVEMzFGQkQxQjBFMjExQjc5OUFEQTUzNjYzOTg5NTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MGNkOWFiZWMtM2UyOC1hZjQ3LTk1NjctZjBlY2EwZTU4MGFkPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxMDdGMjg5NDUxNTAxMUU4QkNGOEU4NzI4QzNERDBCMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MTBjZGNiZGMtY2M2NS00ZWJmLWEzZmEtMWZmNjIyMTc2ODZjPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxM2Q2YjY5My0zM2QwLWZmNDctOTk1Yy0yZGRkYzQ0NTgxMTI8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjFGRjAyMjJBNzI3RkUzMTE4QTIyRkI5QzU1Rjk3RkVGPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxY2MzNWUzOC0yMTY3LTk4NDgtOTNhOC05ZmMyNTAxNGMzMzM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjI2NzdiOWEzLTQxZDItMzE0NC1iNTI0LWQ3N2U1YTYyZGI0MDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MjZlYjJmNWItNWViYy00ODk3LWEyZmItYjc0MGQ5ZTMwZDc2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoyQkU5QjkyOUIyNkExMUU1QjIxNjhFODMzRDJENUU0RjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MmEyYTA2OWEtNjEwNS00NzM3LWE0ZjktNmJiNWEwNzI2ZjdhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoyYzRhZDFjYy1lNzUwLTFlNDctYTlmMi0xNTEwZTFiMDRiOTM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjJkZWZlNGVjLTdjYzctYmU0OS1iYzg5LTQ5OGUzZmQ1ZjVmZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MzRDNjBDN0JCMkQwMTFFNTg4NUM5MjhFNTk3ODMxQ0Y8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjM2Y2ViMGI3LTU4MTktNTQ0NC1iN2NmLWU2OWEyODBmNWFhMTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6M0VBQzJERDc1MzUxRTgxMTk3NkFGMzlCNEI2QUZCRjg8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjNhNWFiMjgwLTQwZmUtNGY1ZS05ZmE2LTcxNjE2YjczODEyYjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6M2Q1Njg0OTgtOTg0ZC00NThhLWIyNDktZWFjYzMyMjUyYTIwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0MTk0ZmE2Mi1jYWRlLThmNDktYTIxNy1lY2E3ZWUzZDIyYTA8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjQ0MzMyRjU5QjI2MDExRTU4RDNGOEJEQUJDMENEMEFDPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0NmVkZjRlNC05MTUyLTVlNGItODA4Ny1kYTQzN2JjNWRjM2M8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjQ4RTNEMDA3MDgyMDY4MTE4MjJBRDdEMjNEMDQ0QTk1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo1Y2EzNTUzMS1lOTZmLTRjMjAtOWViYi01M2U3NTJkMDMxYWQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjVlODc5ZTZmLWE3MjMtMjI0Ny1iOGQ4LWE5MDI4YzY4YmQyZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NjViOTJlMzAtNWU0NC0wNjRmLTk3YWQtMzg2YWI5ZTQ3NzEwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2ODc0QjFFNzZBMjA2ODExODIyQUM2N0Y1OEJFQTE3OTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NjliYWZkZWItNDM4NS04MjQ4LTk2NDgtMTIyN2YxMTE2ZTViPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2QTc0QjFFNzZBMjA2ODExODIyQUM2N0Y1OEJFQTE3OTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NkZENTNBMzgwQTIwNjgxMTgyMkFDRjE5MTgwRTgxQjI8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjZlYjFkY2Y1LTliNjctOWQ0NC05MWJmLWZmODQzYWNmMTZmMTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NzI2MGY1YjQtY2MxNy1kZjRlLWIwMWUtZjEzYWQyMWQwODkwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3NDljYmFlOC0xNTRmLTM5NDAtOWVlNi0yMmQxZjgwZmEzYTE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjc3OUQyNjQwQjI1QjExRTU5M0MxRDg5NTlDNDg0NDg1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3YTE1ZGNmMS1kYTE4LTQ3YzUtYWI0ZS1iOTQ4NTUyOTAyNjc8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjdhOTJkNDBiLTY5ZTctNDlhMy04ZDIzLTIzZjNkNzc0ZmVkYTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6N2MwMmQ3YjEtMDNkYS00Zjg1LTk5YzAtMDBiM2YwMzI5MDNmPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3ZGRjODNmMS1jYTIxLTlhNDMtYWFlMS1kMjhkZTkyMjc3OWQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjhEMzA2NTQ0OTYxQjExRTQ4OTM3REM3Rjg4OUZGMDQzPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo4RkNCRUNBRkIyNkMxMUU1OUExNDgwMjUxQTI3MzQzNjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6OGM2NWIxOTYtOWNhNC1mNDQ0LTlkMzQtZDM1MzM4YTllMjE1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo4Y2M3ODA2MS0yNzk2LTRlYTAtYTVhZC1hNjk3ZDRjMjA3OGU8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjkzNTk1Mzc0LTc5MjUtM2U0ZC1iMDRjLTk2YzU2OTY1NGNkYjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6OTU5NkI5OTE3NzIwNjgxMTgyMkFDNjdGNThCRUExNzk8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjlGMUZFMkJFRTNDMEU1MTE5QUU5OUNFNTZGNjc4NzY3PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpCQkFFMjI5OEYxMTlFOTExODhFMjgzQjVGRjY0QkU5MjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6QzM3MTlGNDQwMkM0RTUxMUJBNDE4NUE1ODhCNTEwODc8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOkM5NjUwQ0I5MDcyMDY4MTE4MDgzQTE1REU3MzQzNjUyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpENTNBODdBQzQxNjdFNDExQkZERUY2ODdGMzU2NEY5NzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6REJDMjdENjQyRTZCRTUxMTlGQkVGMkREMkU4REFDRUY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOkRFQjkwOEE1OEI3OEU1MTE5MTk5OUVFQkJCRDI4M0UyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUNCNkU2OTFDMjRGRjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YTIyZmVmZDItNTM0MS05NDQ4LWFiNDQtYWJhZjhmNDgxOTlhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDphMjk1Y2U2Ny1iOWIxLThhNGUtOGZmYS02YjJjOTIxMDlmMTY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmE2NDcwMTE5LTg3ZWUtOGU0ZC04ODZlLTM1MDUwY2Y3YTBjYzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YTdiMjA5MmItMDg2Zi02NTQ3LWJhNTUtNzEzN2ZhOTRmZjVjPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDphN2M2ZjA0NS1lNTE3LTVlNGUtOTUzZi1mY2I3ODMyMzZkMDY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmE4NGU1MWFmLWJhZTYtNGNiOS05ZGQ3LTZmOTJjYWVjZDQ1NDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YWVkZjcwYWMtOGExNy05OTQ1LTgxYzctM2FmNWFlM2UwM2VhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpiMjljYzBmMi05MTg1LTQ0ZjEtOWU5YS1kMzhkMTkwMmU5OGQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmJhMGJjNGViLTJjYzgtMTg0ZC1iN2Q1LTE2MzQxM2JkY2I5MjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YmMxYzdmNWYtNTMzMy1kZDQ3LTg1NmMtMDFlNTJhN2NiMWY4PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpiZTE0OWFhNy0zZDM4LTc5NGEtOWVhMi0xYWFiMDAxNGMwNzY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmJmYWIwNDVmLTQ4MTItNDdlNi05N2NlLWNjNzk1NmUzYTFhNzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YzIxNWY4ODUtNGI4Ny01YjQxLTg1M2YtM2Q5NmRlNWMxOThlPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpjNWIxODhiNC1hZTMzLTRiODctYmRjZC05M2U5Yzk0MWM1YjA8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmM5YTI2YzkyLTQ1MTgtNGI1YS04NjIwLWIxYjExMTZlMGZkZDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6Y2YwMDViZTUtNWYzZi1mMTQ1LWI5OGEtYTU2YjU1NTk4YzkyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpkZDliOTBkMi01MjcyLTQyOWUtODQ2Zi1mMTMxMmE0ODNlNjE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmU1NmQyNjUyLWM3YzQtMzk0ZC05MzA4LTlmM2Q5YmQzMGU1MDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZTcwNTM5OWQtNDY0ZS00M2ZmLWE1MmMtY2RjOGE4YmY3ZWE2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplZDAxYWNlYS0xNDYwLTYxNGQtODdlNC1mMmEzNDM1NjA3Njk8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmVlNDYzYjU0LTRjMjItNGMyZC1hZjQwLTdlN2U0Yzc2YTcwMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZWVlNzBjZjMtZDRiZC05MjQxLThiNzAtN2NjYmFkMzViZGU2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplZmQ5MzI1Mi01MjBkLWYxNDEtOTAxMy0wZGI3MTBhZWRmNzU8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmY1YjljZjZkLTM2YjgtYTc0MS1iMGZmLTE3ZGU0YzQwNjZjNjwvcmRmOmxpPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NTg5MDg0LTI5MmItNTg0Yi05MzgwLTViZmNhNzYyZmM5OSIgc3RFdnQ6d2hlbj0iMjAxOS0wNS0wNlQxMToyNzoyOCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplY2UyZWZjMi01NDlkLTBkNDgtYTExNi1kZTI1ZmU1NzNkYzkiIHN0RXZ0OndoZW49IjIwMTktMDUtMDZUMTE6NDM6MjQrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDQ5NDBhMmEtNzEwNy00YmFlLThjOTMtY2ZjNGRkM2UyYjc2IiBzdEV2dDp3aGVuPSIyMDE5LTA3LTAyVDEyOjIwOjE5KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjZlYjlkOTFjLTI5NDAtNGMwZS1iMjEwLTg3NGMwNmY5NzBkMyIgc3RFdnQ6d2hlbj0iMjAxOS0wNy0wMlQxMjoyMDoxOSswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ZTViYWU1ZS05NDM5LWViNDgtYmIyMS1mNmMzZTA5ZjE4MzYiIHN0RXZ0OndoZW49IjIwMjEtMTAtMjRUMTQ6MzE6MTYrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDQ5NDBhMmEtNzEwNy00YmFlLThjOTMtY2ZjNGRkM2UyYjc2IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NWJmZGU1MDUtMmVkMy1lZjQxLWFiYjgtNWRjYTRhNjUxZjVlIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTg1ODkwODQtMjkyYi01ODRiLTkzODAtNWJmY2E3NjJmYzk5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+UQTyIAAAAptJREFUaN7l2ktoE0EYwPH/xtRXbRupRlsQ04JoRRQE8aQiYhHFg+JFRD1oC4oVfJx6UDwIRSsURYUiorWCiohaRSz0IIoExMfBS7A+wEIjqXFpFySm6XrYTTEmpunuJu7OfJdsJjNf8svMJDPsKLqu82covWpmQWliDHgF3ARuAKqdZHpjIOO5D3eED1gNnAcGgHPAHCeTuy3KgaPAB/PRLyIyHQGzR18CS0RFpmOVOV+3i4wEmAXcBY6LjARQgLPACZGR6TgFHPAEUkGnpixKtf+7leYXgK2uRU5XErTVtvJ1WYjI0gYuLThkJc0UoAsIFVLZX+re6wrtZVPl0/GyZ9paO38x14D1gO6antxc9SQDGBudS3d8l52U64B9rhquO2ffGr9WUwF2f7nOcKrSbtrTQIWjwzVYBg0zrH2aqcoYfSMbePtzBZ1DzUST85z47oLAYRObe5pMdheyoxo6661tVEJvFIZTRRkkg+aP0C8370LsRg2wzbHhOpCAB/Hs8uXlUDfNuA6PwLdkdp1kcXeqB4HbjiDDGoQ1Jau8faFOXdC47ogq9Kol7801Zo8OirCsy7e2bRRl7ZovtsiA3JjLJBoyACwSHQmwUgbkYhmQ9TIga2VAzpcBWSEDskoG5EwZkKMyIDUZkDEZkP0yICMyIN/LgHwhOvIj8El05P1chaIhu0VHvgbeiY5s/9cLoiAjwB3Rkccwjq4Ji3wEPM5XwevIGNA8USUvI3VgPzlu8IiEbAUeFlLRq8iLQFuhlb2I7ABaJtPA57E5eBI4wgTndv4Ov0eAKrAH6LHS2As9+RzjTlWP1QRuRv4AmjBOXX22k8iNw1UDLgNngCEnEroJGQeumLuJmJOJ/zdSB/qAq8A9IFGMN/kNt6GNd9kLeHQAAAAASUVORK5CYII=";
6426
- const _hoisted_1$g = /* @__PURE__ */ createElementVNode("img", { src: _imports_0 }, null, -1);
6427
- const _hoisted_2$a = { class: "dt-logo__title" };
6793
+ const _hoisted_1$g = { class: "dt-logo__title" };
6428
6794
  const _sfc_main$s = /* @__PURE__ */ defineComponent({
6795
+ __name: "logo",
6429
6796
  props: {
6430
6797
  theme: { type: String, validator: (v) => ["light", "dark"].includes(v) },
6431
6798
  showTitle: { type: Boolean, default: true }
6432
6799
  },
6433
6800
  setup(__props) {
6434
6801
  const props = __props;
6435
- const title = "Ithink-DT \u6DF1\u8FEA\u79D1\u6280";
6802
+ const title = "\u9686\u57FA\u7A0E\u52A1\u540E\u53F0\u7BA1\u7406\u7CFB\u7EDF";
6436
6803
  const { getCollapsedShowTitle } = useMenu();
6437
6804
  const getLogoClass = computed(() => {
6438
6805
  return [
@@ -6445,8 +6812,12 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
6445
6812
  return openBlock(), createElementBlock("div", {
6446
6813
  class: normalizeClass(["dt-logo", unref(getLogoClass)])
6447
6814
  }, [
6448
- _hoisted_1$g,
6449
- withDirectives(createElementVNode("div", _hoisted_2$a, toDisplayString(title), 512), [
6815
+ createVNode(unref(DtIcon), {
6816
+ "icon-class": "logo",
6817
+ size: 42,
6818
+ "class-name": "brand-logo"
6819
+ }),
6820
+ withDirectives(createElementVNode("div", _hoisted_1$g, toDisplayString(title), 512), [
6450
6821
  [vShow, __props.showTitle]
6451
6822
  ])
6452
6823
  ], 2);
@@ -6456,6 +6827,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
6456
6827
  const _hoisted_1$f = { key: 0 };
6457
6828
  const _hoisted_2$9 = { key: 1 };
6458
6829
  const _sfc_main$r = /* @__PURE__ */ defineComponent({
6830
+ __name: "trigger",
6459
6831
  props: { theme: String },
6460
6832
  setup(__props) {
6461
6833
  const props = __props;
@@ -6518,6 +6890,7 @@ function getFilterMenu(filter = "", flag = false) {
6518
6890
  }
6519
6891
  const _hoisted_1$e = { class: "dt-breadcrumb" };
6520
6892
  const _sfc_main$q = /* @__PURE__ */ defineComponent({
6893
+ __name: "bread-crumb",
6521
6894
  setup(__props) {
6522
6895
  let routes = ref([]);
6523
6896
  const { currentRoute } = useRouter();
@@ -6543,6 +6916,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
6543
6916
  });
6544
6917
  const _hoisted_1$d = /* @__PURE__ */ createElementVNode("span", { class: "red-dot" }, null, -1);
6545
6918
  const _sfc_main$p = /* @__PURE__ */ defineComponent({
6919
+ __name: "notify",
6546
6920
  setup(__props) {
6547
6921
  const { getShowNotice } = useHeader();
6548
6922
  return (_ctx, _cache) => {
@@ -6570,6 +6944,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
6570
6944
  const _hoisted_1$c = { key: 0 };
6571
6945
  const _hoisted_2$8 = { key: 1 };
6572
6946
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
6947
+ __name: "fullscreen",
6573
6948
  setup(__props) {
6574
6949
  const { toggle, isFullscreen } = useFullscreen();
6575
6950
  return (_ctx, _cache) => {
@@ -6587,6 +6962,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
6587
6962
  };
6588
6963
  }
6589
6964
  });
6965
+ var _imports_0 = "data:image/png;base64,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";
6590
6966
  const _hoisted_1$b = { class: "user-operate" };
6591
6967
  const _hoisted_2$7 = ["onClick"];
6592
6968
  const _hoisted_3$4 = /* @__PURE__ */ createTextVNode(" \u4E2A\u4EBA\u4E2D\u5FC3 ");
@@ -6595,11 +6971,24 @@ const _hoisted_5$1 = /* @__PURE__ */ createElementVNode("li", { class: "border-b
6595
6971
  const _hoisted_6$1 = /* @__PURE__ */ createTextVNode(" \u9501\u5B9A\u5C4F\u5E55 ");
6596
6972
  const _hoisted_7 = /* @__PURE__ */ createTextVNode(" \u9000\u51FA\u7CFB\u7EDF ");
6597
6973
  const _hoisted_8 = { class: "userInfo" };
6598
- const _hoisted_9 = { class: "name" };
6974
+ const _hoisted_9 = /* @__PURE__ */ createElementVNode("img", { src: _imports_0 }, null, -1);
6975
+ const _hoisted_10 = { class: "name" };
6599
6976
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
6977
+ __name: "user-info",
6600
6978
  setup(__props) {
6601
6979
  const getUserInfo = DtCache.getLocal(CacheKey.USER_INFO);
6602
6980
  const { getUserActions } = useHeader();
6981
+ const { appConf } = useAppStore();
6982
+ const go = useGo();
6983
+ function signOut() {
6984
+ var _a, _b;
6985
+ if (isObject((_a = appConf.pages) == null ? void 0 : _a.ssoLogin) && ((_b = appConf.pages.ssoLogin) == null ? void 0 : _b.logout)) {
6986
+ let redictUrl = isFunction(appConf.pages.ssoLogin.logout) ? appConf.pages.ssoLogin.logout() : appConf.pages.ssoLogin.logout;
6987
+ location.href = redictUrl;
6988
+ } else {
6989
+ go(Pages.LOGIN);
6990
+ }
6991
+ }
6603
6992
  return (_ctx, _cache) => {
6604
6993
  const _directive_icon = resolveDirective("icon");
6605
6994
  return openBlock(), createBlock(unref(Popover), {
@@ -6638,7 +7027,9 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
6638
7027
  ]),
6639
7028
  _hoisted_6$1
6640
7029
  ]),
6641
- createElementVNode("li", null, [
7030
+ createElementVNode("li", {
7031
+ onClick: _cache[0] || (_cache[0] = ($event) => signOut())
7032
+ }, [
6642
7033
  withDirectives(createElementVNode("span", null, null, 512), [
6643
7034
  [_directive_icon, "ant-design:logout-outlined"]
6644
7035
  ]),
@@ -6647,14 +7038,16 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
6647
7038
  ])
6648
7039
  ]),
6649
7040
  default: withCtx(() => {
6650
- var _a, _b;
7041
+ var _a;
6651
7042
  return [
6652
7043
  createElementVNode("div", _hoisted_8, [
6653
- createVNode(unref(Avatar), {
6654
- src: (_a = unref(getUserInfo)) == null ? void 0 : _a.avatar,
6655
- size: 28
6656
- }, null, 8, ["src"]),
6657
- createElementVNode("span", _hoisted_9, toDisplayString((_b = unref(getUserInfo)) == null ? void 0 : _b.realName), 1)
7044
+ createVNode(unref(Avatar), { size: 28 }, {
7045
+ icon: withCtx(() => [
7046
+ _hoisted_9
7047
+ ]),
7048
+ _: 1
7049
+ }),
7050
+ createElementVNode("span", _hoisted_10, toDisplayString((_a = unref(getUserInfo)) == null ? void 0 : _a.userNo), 1)
6658
7051
  ])
6659
7052
  ];
6660
7053
  }),
@@ -6667,6 +7060,7 @@ const _hoisted_1$a = { class: "lang" };
6667
7060
  const _hoisted_2$6 = ["onClick"];
6668
7061
  const _hoisted_3$3 = { fontSize: 16 };
6669
7062
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
7063
+ __name: "lang-picker",
6670
7064
  props: {
6671
7065
  reload: { type: Boolean }
6672
7066
  },
@@ -6827,6 +7221,7 @@ const _hoisted_4$1 = [
6827
7221
  _hoisted_3$2
6828
7222
  ];
6829
7223
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
7224
+ __name: "menu-type",
6830
7225
  setup(__props) {
6831
7226
  const { getMenuType, getMenuMode } = useMenu();
6832
7227
  const defMenuType = ref(unref(getMenuType));
@@ -6873,6 +7268,7 @@ const contentModeOptions = [
6873
7268
  ];
6874
7269
  const _hoisted_1$8 = { class: "dt-feature-item" };
6875
7270
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
7271
+ __name: "switch-item",
6876
7272
  props: {
6877
7273
  event: {
6878
7274
  type: Number
@@ -6906,6 +7302,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
6906
7302
  });
6907
7303
  const _hoisted_1$7 = { class: "dt-feature-item" };
6908
7304
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
7305
+ __name: "select-item",
6909
7306
  props: {
6910
7307
  event: { type: Number },
6911
7308
  disabled: { type: Boolean },
@@ -6940,6 +7337,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
6940
7337
  }
6941
7338
  });
6942
7339
  const _sfc_main$i = /* @__PURE__ */ defineComponent({
7340
+ __name: "feature",
6943
7341
  setup(__props) {
6944
7342
  const {
6945
7343
  getShowBread,
@@ -7012,6 +7410,7 @@ const _hoisted_6 = /* @__PURE__ */ createElementVNode("div", {
7012
7410
  class: "setting-theme-tips"
7013
7411
  }, " \u8BE5\u529F\u80FD\u4E3B\u8981\u5B9E\u65F6\u9884\u89C8\u5404\u79CD\u5E03\u5C40\u6548\u679C\uFF0C\u66F4\u591A\u5B8C\u6574\u914D\u7F6E\u5728 src/core/settings/theme.ts \u4E2D\u8BBE\u7F6E\uFF0C\u5728\u751F\u4EA7\u73AF\u5883\u8BE5\u5E03\u5C40\u9884\u89C8\u529F\u80FD\u5C06\u88AB\u5173\u95ED\u3002 ", -1);
7014
7412
  var _sfc_main$h = /* @__PURE__ */ defineComponent({
7413
+ __name: "setting-theme",
7015
7414
  setup(__props) {
7016
7415
  const themeStore = useThemeStore();
7017
7416
  const {
@@ -7150,6 +7549,7 @@ const _hoisted_1$5 = {
7150
7549
  const _hoisted_2$3 = ["onClick"];
7151
7550
  const _hoisted_3 = { key: 0 };
7152
7551
  const _sfc_main$g = /* @__PURE__ */ defineComponent({
7552
+ __name: "menu-search",
7153
7553
  setup(__props) {
7154
7554
  const menuList = ref([]);
7155
7555
  const router = useRouter();
@@ -7371,6 +7771,7 @@ const _hoisted_2$2 = {
7371
7771
  fontSize: 16
7372
7772
  };
7373
7773
  const _sfc_main$f = /* @__PURE__ */ defineComponent({
7774
+ __name: "menu-item-content",
7374
7775
  props: contentProps,
7375
7776
  setup(__props) {
7376
7777
  return (_ctx, _cache) => {
@@ -7385,6 +7786,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
7385
7786
  }
7386
7787
  });
7387
7788
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
7789
+ __name: "basic-menu-item",
7388
7790
  props: ItemProp,
7389
7791
  setup(__props) {
7390
7792
  const props = __props;
@@ -7401,6 +7803,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
7401
7803
  }
7402
7804
  });
7403
7805
  const _sfc_main$d = /* @__PURE__ */ defineComponent({
7806
+ __name: "basic-sub-menu-item",
7404
7807
  props: ItemProp,
7405
7808
  setup(__props) {
7406
7809
  const props = __props;
@@ -7468,6 +7871,7 @@ function useOpenKeys(menuState, menus, type) {
7468
7871
  };
7469
7872
  }
7470
7873
  const _sfc_main$c = /* @__PURE__ */ defineComponent({
7874
+ __name: "basic-menu",
7471
7875
  props: BasicMenu,
7472
7876
  emits: ["menuClick"],
7473
7877
  setup(__props, { emit: emits }) {
@@ -7530,9 +7934,9 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7530
7934
  return (_ctx, _cache) => {
7531
7935
  return openBlock(), createBlock(unref(Menu), {
7532
7936
  theme: _ctx.theme,
7533
- selectedKeys: unref(menuState).selectedKeys,
7534
- defaultSelectedKeys: unref(menuState).defaultSelectedKeys,
7535
- openKeys: unref(menuState).openKeys,
7937
+ selectedKeys: menuState.selectedKeys,
7938
+ defaultSelectedKeys: menuState.defaultSelectedKeys,
7939
+ openKeys: menuState.openKeys,
7536
7940
  inlineIndent: _ctx.inlineIndent,
7537
7941
  subMenuOpenDelay: 0.2,
7538
7942
  mode: _ctx.mode,
@@ -7651,6 +8055,7 @@ const _hoisted_2$1 = {
7651
8055
  class: "dt-header-menu"
7652
8056
  };
7653
8057
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
8058
+ __name: "index",
7654
8059
  props: {
7655
8060
  fixed: Boolean
7656
8061
  },
@@ -7763,6 +8168,7 @@ function useTrigger() {
7763
8168
  return { getTriggerAttr, getShowTrigger };
7764
8169
  }
7765
8170
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8171
+ __name: "sider-trigger",
7766
8172
  props: {
7767
8173
  type: {
7768
8174
  type: String,
@@ -7787,6 +8193,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
7787
8193
  }
7788
8194
  });
7789
8195
  const _sfc_main$8 = /* @__PURE__ */ defineComponent({
8196
+ __name: "drag-bar",
7790
8197
  setup(__props) {
7791
8198
  const { getMiniWidthNumber, getCollapsed, getCanDrag } = useMenu();
7792
8199
  const getDragBarStyle = computed(() => {
@@ -7878,6 +8285,7 @@ function useDragLine(siderRef, dragBarRef) {
7878
8285
  }
7879
8286
  }
7880
8287
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8288
+ __name: "index",
7881
8289
  setup(__props) {
7882
8290
  const { getMenuFixed, getSplit, getMenuHidden, getMenuWidth, getCollapsed, getMenuTheme, getIsSidebarType, getIsTopMenu, getRealWidth, getIsMixMode } = useMenu();
7883
8291
  useHeader();
@@ -8031,6 +8439,7 @@ function useTabDropdown() {
8031
8439
  const _hoisted_1$2 = { fontSize: 16 };
8032
8440
  const _hoisted_2 = { fontSize: 16 };
8033
8441
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8442
+ __name: "TabContent",
8034
8443
  setup(__props) {
8035
8444
  const { getDropMenuList, handleContext, handleMenuEvent } = useTabDropdown();
8036
8445
  return (_ctx, _cache) => {
@@ -8082,6 +8491,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8082
8491
  }
8083
8492
  });
8084
8493
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8494
+ __name: "TabRedo",
8085
8495
  setup(__props) {
8086
8496
  const tabStore = RouteReuseStore();
8087
8497
  const router = useRouter();
@@ -8177,6 +8587,7 @@ function useTabsDrag(affixList) {
8177
8587
  });
8178
8588
  }
8179
8589
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8590
+ __name: "index",
8180
8591
  setup(__props) {
8181
8592
  const menuLabelMap = menuList2Map();
8182
8593
  const { getShowQuick, getShowRedo } = useMultipleTab();
@@ -8267,6 +8678,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8267
8678
  }
8268
8679
  });
8269
8680
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
8681
+ __name: "multiple-header",
8270
8682
  setup(__props) {
8271
8683
  const {
8272
8684
  getHeaderHeight,
@@ -8323,6 +8735,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
8323
8735
  }
8324
8736
  });
8325
8737
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
8738
+ __name: "index",
8326
8739
  setup(__props) {
8327
8740
  const { getFooter } = useTheme();
8328
8741
  const { title, subTitle, height } = unref(getFooter);
@@ -8350,6 +8763,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
8350
8763
  });
8351
8764
  const _hoisted_1$1 = ["loading"];
8352
8765
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
8766
+ __name: "index",
8353
8767
  setup(__props) {
8354
8768
  const { getTransitionMode, getOpenPageLoading } = useApp();
8355
8769
  const { getLayoutContentMode, getPageLoading } = useTheme();
@@ -8397,17 +8811,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
8397
8811
  };
8398
8812
  }
8399
8813
  });
8400
- var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
8401
8814
  var zhCn = { exports: {} };
8402
8815
  (function(module, exports) {
8403
8816
  !function(e, _) {
8404
- module.exports = _(dayjs);
8817
+ module.exports = _(dayjs_min.exports);
8405
8818
  }(commonjsGlobal, function(e) {
8406
8819
  function _(e2) {
8407
- return e2 && typeof e2 == "object" && "default" in e2 ? e2 : { default: e2 };
8820
+ return e2 && "object" == typeof e2 && "default" in e2 ? e2 : { default: e2 };
8408
8821
  }
8409
8822
  var t = _(e), d = { name: "zh-cn", weekdays: "\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"), weekdaysShort: "\u5468\u65E5_\u5468\u4E00_\u5468\u4E8C_\u5468\u4E09_\u5468\u56DB_\u5468\u4E94_\u5468\u516D".split("_"), weekdaysMin: "\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"), months: "\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"), monthsShort: "1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"), ordinal: function(e2, _2) {
8410
- return _2 === "W" ? e2 + "\u5468" : e2 + "\u65E5";
8823
+ return "W" === _2 ? e2 + "\u5468" : e2 + "\u65E5";
8411
8824
  }, weekStart: 1, yearStart: 4, formats: { LT: "HH:mm", LTS: "HH:mm:ss", L: "YYYY/MM/DD", LL: "YYYY\u5E74M\u6708D\u65E5", LLL: "YYYY\u5E74M\u6708D\u65E5Ah\u70B9mm\u5206", LLLL: "YYYY\u5E74M\u6708D\u65E5ddddAh\u70B9mm\u5206", l: "YYYY/M/D", ll: "YYYY\u5E74M\u6708D\u65E5", lll: "YYYY\u5E74M\u6708D\u65E5 HH:mm", llll: "YYYY\u5E74M\u6708D\u65E5dddd HH:mm" }, relativeTime: { future: "%s\u5185", past: "%s\u524D", s: "\u51E0\u79D2", m: "1 \u5206\u949F", mm: "%d \u5206\u949F", h: "1 \u5C0F\u65F6", hh: "%d \u5C0F\u65F6", d: "1 \u5929", dd: "%d \u5929", M: "1 \u4E2A\u6708", MM: "%d \u4E2A\u6708", y: "1 \u5E74", yy: "%d \u5E74" }, meridiem: function(e2, _2) {
8412
8825
  var t2 = 100 * e2 + _2;
8413
8826
  return t2 < 600 ? "\u51CC\u6668" : t2 < 900 ? "\u65E9\u4E0A" : t2 < 1100 ? "\u4E0A\u5348" : t2 < 1300 ? "\u4E2D\u5348" : t2 < 1800 ? "\u4E0B\u5348" : "\u665A\u4E0A";
@@ -8420,6 +8833,7 @@ const _hoisted_1 = {
8420
8833
  class: "dt-theme"
8421
8834
  };
8422
8835
  const _sfc_main = /* @__PURE__ */ defineComponent({
8836
+ __name: "theme",
8423
8837
  setup(__props) {
8424
8838
  dayjs.locale("zh-cn");
8425
8839
  const wrapperRef = ref(null);
@@ -8506,4 +8920,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8506
8920
  };
8507
8921
  }
8508
8922
  });
8509
- export { DtBaseRouter, DtForm, DtIcon, _sfc_main$v as DtIframe, _sfc_main$G as DtModal, _sfc_main$R as DtPickIcon, index as DtTable, _sfc_main as DtTheme, FormButtons, authMounted, export2Excel, iconMounted, initComponents, initDirectives, useCurd, useForm, useModal, useModalOut, useSource, useTable };
8923
+ export { DtBaseRouter, DtForm, DtIcon, _sfc_main$v as DtIframe, _sfc_main$G as DtModal, _sfc_main$R as DtPickIcon, index as DtTable, _sfc_main as DtTheme, FormButtons, authMounted, export2Excel, iconMounted, initComponents, initDirectives, useCurd, useDialog, useForm, useModal, useModalOut, useSource, useTable };