@dt-frames/ui 1.0.3 → 1.0.6

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 (107) hide show
  1. package/es/assets/imgs/header/avatar.png +0 -0
  2. package/es/components/curd/src/components/dialog.d.ts +21 -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 +4 -47
  8. package/es/components/forms/src/index.d.ts +2 -6
  9. package/es/components/iframe/index.d.ts +2 -2
  10. package/es/components/index.d.ts +3 -2
  11. package/es/components/modal/src/components/close-icon.d.ts +0 -43
  12. package/es/components/modal/src/index.d.ts +0 -43
  13. package/es/components/source/src/types/table.type.d.ts +1 -1
  14. package/es/components/table/index.d.ts +1 -1
  15. package/es/components/table/src/components/setting/Column.d.ts +6 -5
  16. package/es/components/table/src/hooks/useColumns.d.ts +1 -1
  17. package/es/components/table/src/hooks/useDataSource.d.ts +1 -3
  18. package/es/components/table/src/hooks/useHeaderCode.d.ts +2 -0
  19. package/es/components/table/src/hooks/useRowSelection.d.ts +2 -3
  20. package/es/components/table/src/index.d.ts +15 -3
  21. package/es/components/table/src/props.d.ts +7 -1
  22. package/es/index.js +284 -272
  23. package/es/style/components/forms/{src/index.less → index.less} +2 -0
  24. package/es/style/components/icons/index.less +1 -0
  25. package/es/style/components/iframe/index.less +3 -0
  26. package/es/style/components/modal/{src/index.less → index.less} +0 -0
  27. package/es/style/components/table/{src/index.less → index.less} +12 -1
  28. package/es/style/theme/header/index.less +8 -4
  29. package/es/style/theme/theme.less +2 -1
  30. package/es/theme/header/components/logo.d.ts +43 -0
  31. package/es/theme/header/components/notify.d.ts +0 -1
  32. package/package.json +1 -1
  33. package/src/assets/imgs/header/avatar.png +0 -0
  34. package/src/components/curd/src/components/dialog.vue +11 -5
  35. package/src/components/curd/src/hooks/useCurd.tsx +24 -9
  36. package/src/components/curd/src/types/curd.type.ts +3 -1
  37. package/src/components/dialog/index.ts +5 -0
  38. package/src/components/dialog/src/hooks/useDialog.ts +85 -0
  39. package/src/components/forms/{src/index.less → index.less} +2 -0
  40. package/src/components/forms/index.ts +3 -4
  41. package/src/components/forms/src/components/formButton.vue +1 -1
  42. package/src/components/icons/{src/index.less → index.less} +1 -0
  43. package/src/components/iframe/index.less +3 -0
  44. package/src/components/iframe/index.ts +2 -2
  45. package/src/components/index.ts +5 -3
  46. package/src/components/modal/{src/index.less → index.less} +0 -0
  47. package/src/components/modal/src/components/close-icon.vue +3 -4
  48. package/src/components/modal/src/components/modal.tsx +1 -1
  49. package/src/components/modal/src/components/modalFooter.vue +1 -1
  50. package/src/components/modal/src/hooks/useModal.ts +0 -1
  51. package/src/components/source/src/hooks/useFetch.ts +3 -4
  52. package/src/components/source/src/hooks/useSource.ts +4 -3
  53. package/src/components/source/src/types/table.type.ts +1 -1
  54. package/src/components/table/{src/index.less → index.less} +12 -1
  55. package/src/components/table/index.ts +1 -1
  56. package/src/components/table/src/components/TableActions.vue +2 -2
  57. package/src/components/table/src/components/setting/Column.vue +1 -2
  58. package/src/components/table/src/hooks/useColumns.ts +2 -2
  59. package/src/components/table/src/hooks/useHeaderCode.ts +82 -0
  60. package/src/components/table/src/hooks/useRowSelection.ts +2 -3
  61. package/src/components/table/src/hooks/useTable.ts +13 -1
  62. package/src/components/table/src/hooks/useTableScroll.ts +5 -3
  63. package/src/components/table/src/index.vue +18 -19
  64. package/src/components/table/src/props.ts +8 -3
  65. package/src/directives/index.ts +0 -1
  66. package/src/directives/permission.ts +2 -3
  67. package/src/theme/footer/index.vue +1 -1
  68. package/src/theme/header/components/bread-crumb.vue +1 -1
  69. package/src/theme/header/components/fullscreen.vue +0 -2
  70. package/src/theme/header/components/logo.vue +4 -2
  71. package/src/theme/header/components/notify.vue +1 -2
  72. package/src/theme/header/components/user-info.vue +22 -5
  73. package/src/theme/header/helper/menu-tree.ts +3 -6
  74. package/src/theme/header/index.less +8 -4
  75. package/src/theme/sider/helper/split-menu.ts +1 -2
  76. package/src/theme/tabs/components/TabContent.vue +0 -1
  77. package/src/theme/tabs/index.vue +1 -1
  78. package/src/theme/theme.less +2 -1
  79. package/src/theme/theme.vue +4 -3
  80. package/es/assets/app-antd-dark-theme-style.e3b0c442.css +0 -0
  81. package/es/assets/app-theme-style.e3b0c442.css +0 -0
  82. package/es/assets/data/icon.d.ts +0 -4
  83. package/es/assets/data/icon.ts +0 -69
  84. package/es/assets/data/icon11.ts +0 -69
  85. package/es/assets/style/var.less +0 -42
  86. package/es/components/icons/pick-icon.d.ts +0 -529
  87. package/es/components/icons/svg-icon.d.ts +0 -44
  88. package/es/components/table/src/hooks/useFormat.d.ts +0 -2
  89. package/es/components/table/src/hooks/useVirtualScroll.d.ts +0 -5
  90. package/es/components/table/src/utils/format.d.ts +0 -1
  91. package/es/index.css +0 -1
  92. package/es/style/assets/style/var.less +0 -42
  93. package/es/style/components/icons/src/index.less +0 -96
  94. package/es/theme/content/index.d.ts +0 -27
  95. package/es/theme/header/components/menu-search.d.ts +0 -528
  96. package/es/theme/header/components/setting-theme.d.ts +0 -2580
  97. package/es/theme/header/components/user-info.d.ts +0 -452
  98. package/es/theme/header/index.d.ts +0 -4369
  99. package/es/theme/header/multiple-header.d.ts +0 -2001
  100. package/es/theme/styles/hooks/changeTheme.d.ts +0 -1
  101. package/es/theme/styles/hooks/generate.d.ts +0 -13
  102. package/es/theme/styles/index.d.ts +0 -2
  103. package/es/theme/tabs/components/TabRedo.d.ts +0 -7
  104. package/es/theme/tabs/index.d.ts +0 -2478
  105. package/es/theme/theme/initTheme.d.ts +0 -3
  106. package/es/theme/theme/util.d.ts +0 -5
  107. package/es/theme/theme.d.ts +0 -22
package/es/index.js CHANGED
@@ -1,11 +1,10 @@
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, useAuthStore, deepMerge, dateFormat, getDynamicProps, isNullAndUnDef, getPopupContainer, getDictValueByCode, formatNumber, isVnode, http, useTheme, useMenu, useHeader, localeList, DtCache, CacheKey, changeLocale, Theme, MenuMode, MenuType, useThemeStore, ContentMode, useMultipleTab, copyText, MenuSplitTye, useGo, isUrl, openWindow, RouteReuseStore, menuList2Map, useApp } from "@dt-frames/core";
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, http, getDynamicProps, isNullAndUnDef, getPopupContainer, getDictValueByCode, formatNumber, isVnode, 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
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";
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
6
  import Sortablejs from "sortablejs";
7
7
  import * as xlsx from "xlsx";
8
- import "@iconify/iconify";
9
8
  import { useRouter } from "vue-router";
10
9
  import zhCN from "ant-design-vue/es/locale/zh_CN";
11
10
  var _export_sfc = (sfc, props) => {
@@ -1876,8 +1875,9 @@ const Icons = [
1876
1875
  }
1877
1876
  ];
1878
1877
  const _hoisted_1$q = ["onClick"];
1879
- const _hoisted_2$j = ["onClick"];
1878
+ const _hoisted_2$i = ["onClick"];
1880
1879
  const _sfc_main$R = /* @__PURE__ */ defineComponent({
1880
+ __name: "pick-icon",
1881
1881
  emits: ["chooseIcon"],
1882
1882
  setup(__props, { emit: emits }) {
1883
1883
  const clsPrefix = "dt-pick-icon";
@@ -1977,7 +1977,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
1977
1977
  ]),
1978
1978
  _: 2
1979
1979
  }, 1024)
1980
- ], 8, _hoisted_2$j);
1980
+ ], 8, _hoisted_2$i);
1981
1981
  }), 128))
1982
1982
  ], 2)
1983
1983
  ], 1024))
@@ -2370,6 +2370,7 @@ var Bar = defineComponent({
2370
2370
  });
2371
2371
  const _hoisted_1$p = { class: "scrollbar" };
2372
2372
  const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2373
+ __name: "scroll-bar",
2373
2374
  props: {
2374
2375
  wrapClass: {
2375
2376
  type: [String, Array],
@@ -2481,6 +2482,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2481
2482
  }
2482
2483
  });
2483
2484
  const _sfc_main$P = /* @__PURE__ */ defineComponent({
2485
+ __name: "scroll-container",
2484
2486
  setup(__props) {
2485
2487
  const scrollbarRef = ref(null);
2486
2488
  return (_ctx, _cache) => {
@@ -2498,6 +2500,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
2498
2500
  }
2499
2501
  });
2500
2502
  const _sfc_main$O = /* @__PURE__ */ defineComponent({
2503
+ __name: "modal-wrap",
2501
2504
  props: {
2502
2505
  loading: { type: Boolean },
2503
2506
  useWrapper: { type: Boolean, default: true },
@@ -2725,6 +2728,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
2725
2728
  }
2726
2729
  var RadioButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$5]]);
2727
2730
  const _sfc_main$M = /* @__PURE__ */ defineComponent({
2731
+ __name: "formIcon",
2728
2732
  props: {
2729
2733
  value: String,
2730
2734
  placeholder: String
@@ -3249,8 +3253,7 @@ function hasAuth(el, binding) {
3249
3253
  const value = binding.value;
3250
3254
  if (!value)
3251
3255
  return;
3252
- let { getAuths } = useAuthStore();
3253
- if (!getAuths.includes(value)) {
3256
+ if (!DtCache.getLocal(CacheKey.AUTHS).includes(value)) {
3254
3257
  (_a = el.parentNode) == null ? void 0 : _a.removeChild(el);
3255
3258
  }
3256
3259
  }
@@ -3382,7 +3385,7 @@ const _hoisted_1$o = {
3382
3385
  key: 0,
3383
3386
  className: "preIcon"
3384
3387
  };
3385
- const _hoisted_2$i = {
3388
+ const _hoisted_2$h = {
3386
3389
  key: 0,
3387
3390
  className: "preIcon"
3388
3391
  };
@@ -3420,7 +3423,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
3420
3423
  ]),
3421
3424
  default: withCtx(() => [
3422
3425
  createTextVNode(" " + toDisplayString(button.name) + " ", 1),
3423
- button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$i, null, 512)), [
3426
+ button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$h, null, 512)), [
3424
3427
  [_directive_icon, button.postIcon]
3425
3428
  ]) : createCommentVNode("", true)
3426
3429
  ]),
@@ -3478,7 +3481,7 @@ var dayjs_min = { exports: {} };
3478
3481
  }, p: function(t2) {
3479
3482
  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$/, "");
3480
3483
  }, u: function(t2) {
3481
- return t2 === void 0;
3484
+ return void 0 === t2;
3482
3485
  } }, v = "en", D = {};
3483
3486
  D[v] = M;
3484
3487
  var p = function(t2) {
@@ -3487,7 +3490,7 @@ var dayjs_min = { exports: {} };
3487
3490
  var i2;
3488
3491
  if (!e2)
3489
3492
  return v;
3490
- if (typeof e2 == "string") {
3493
+ if ("string" == typeof e2) {
3491
3494
  var s2 = e2.toLowerCase();
3492
3495
  D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
3493
3496
  var u2 = e2.split("-");
@@ -3501,7 +3504,7 @@ var dayjs_min = { exports: {} };
3501
3504
  }, w = function(t2, e2) {
3502
3505
  if (p(t2))
3503
3506
  return t2.clone();
3504
- var n2 = typeof e2 == "object" ? e2 : {};
3507
+ var n2 = "object" == typeof e2 ? e2 : {};
3505
3508
  return n2.date = t2, n2.args = arguments, new _(n2);
3506
3509
  }, O = g;
3507
3510
  O.l = S, O.i = p, O.w = function(t2, e2) {
@@ -3515,13 +3518,13 @@ var dayjs_min = { exports: {} };
3515
3518
  return m2.parse = function(t2) {
3516
3519
  this.$d = function(t3) {
3517
3520
  var e2 = t3.date, n2 = t3.utc;
3518
- if (e2 === null)
3521
+ if (null === e2)
3519
3522
  return new Date(NaN);
3520
3523
  if (O.u(e2))
3521
3524
  return new Date();
3522
3525
  if (e2 instanceof Date)
3523
3526
  return new Date(e2);
3524
- if (typeof e2 == "string" && !/Z$/i.test(e2)) {
3527
+ if ("string" == typeof e2 && !/Z$/i.test(e2)) {
3525
3528
  var r2 = e2.match(l);
3526
3529
  if (r2) {
3527
3530
  var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
@@ -4233,6 +4236,7 @@ function useForm(props) {
4233
4236
  return [registerForm, methods];
4234
4237
  }
4235
4238
  const _sfc_main$I = /* @__PURE__ */ defineComponent({
4239
+ __name: "modalFooter",
4236
4240
  props: {
4237
4241
  showSave: {
4238
4242
  type: Boolean,
@@ -4244,9 +4248,8 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
4244
4248
  "handleCancel"
4245
4249
  ],
4246
4250
  setup(__props, { emit: emits }) {
4247
- const props = __props;
4248
4251
  const buttonActions = [
4249
- { name: "\u4FDD\u5B58", preIcon: "mdi:content-save", type: "primary", flag: "OK", show: props.showSave },
4252
+ { name: "\u4FDD\u5B58", preIcon: "mdi:content-save", type: "primary", flag: "OK" },
4250
4253
  { name: "\u5173\u95ED", preIcon: "mdi:close", flag: "CANCEL" }
4251
4254
  ];
4252
4255
  function handleMethod(item) {
@@ -4272,6 +4275,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
4272
4275
  }
4273
4276
  });
4274
4277
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
4278
+ __name: "close-icon",
4275
4279
  props: {
4276
4280
  canFullscreen: { type: Boolean, default: true },
4277
4281
  fullScreen: { type: Boolean }
@@ -4297,7 +4301,6 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4297
4301
  emit("fullscreen");
4298
4302
  }
4299
4303
  return (_ctx, _cache) => {
4300
- const _directive_icon = resolveDirective("icon");
4301
4304
  return openBlock(), createElementBlock("div", {
4302
4305
  class: normalizeClass(unref(getClass))
4303
4306
  }, [
@@ -4308,9 +4311,10 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4308
4311
  placement: "bottom"
4309
4312
  }, {
4310
4313
  default: withCtx(() => [
4311
- withDirectives(createElementVNode("i", { onClick: handleFullScreen }, null, 512), [
4312
- [_directive_icon, "ic:baseline-fullscreen-exit"]
4313
- ])
4314
+ createElementVNode("i", {
4315
+ class: "i ic:baseline-fullscreen-exit",
4316
+ onClick: handleFullScreen
4317
+ })
4314
4318
  ]),
4315
4319
  _: 1
4316
4320
  })) : (openBlock(), createBlock(unref(Tooltip), {
@@ -4319,15 +4323,16 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4319
4323
  placement: "bottom"
4320
4324
  }, {
4321
4325
  default: withCtx(() => [
4322
- withDirectives(createElementVNode("i", { onClick: handleFullScreen }, null, 512), [
4323
- [_directive_icon, "ic:baseline-fullscreen"]
4324
- ])
4326
+ createElementVNode("i", {
4327
+ class: "i ic:baseline-fullscreen",
4328
+ onClick: handleFullScreen
4329
+ })
4325
4330
  ]),
4326
4331
  _: 1
4327
4332
  }))
4328
4333
  ], 64)) : createCommentVNode("", true),
4329
- createVNode(unref(DtIcon), {
4330
- "icon-class": "mdi:close",
4334
+ createElementVNode("i", {
4335
+ class: "i mdi:close",
4331
4336
  onClick: handleCancel
4332
4337
  })
4333
4338
  ], 2);
@@ -4335,6 +4340,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4335
4340
  }
4336
4341
  });
4337
4342
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
4343
+ __name: "index",
4338
4344
  props: basicProps$1,
4339
4345
  emits: ["visible-change", "height-change", "cancel", "save", "register", "update:visible"],
4340
4346
  setup(__props, { emit: emits }) {
@@ -4505,6 +4511,59 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
4505
4511
  };
4506
4512
  }
4507
4513
  });
4514
+ function useHeaderCode(code, templates = {}, changeColumns) {
4515
+ const { appConf } = useAppStore();
4516
+ if (!appConf.pages.queryColumnApi) {
4517
+ error("\u8BF7\u5728init.config.ts\u4E2D\u914D\u7F6EqueryColumnApi\uFF01");
4518
+ return;
4519
+ }
4520
+ const getAlign = (key) => key === 0 ? "center" : key === 2 ? "right" : "left";
4521
+ const renderCell = (type, ctx) => {
4522
+ switch (type) {
4523
+ case 0:
4524
+ return { date: ctx };
4525
+ case 1:
4526
+ return { dict: ctx };
4527
+ case 5:
4528
+ return { percent: ctx };
4529
+ case 7:
4530
+ if (!appConf.structure[ctx]) {
4531
+ error(`\u672A\u627E\u5230structure: ${ctx} !`);
4532
+ return {};
4533
+ }
4534
+ return { dict: appConf.structure[ctx] };
4535
+ case 10:
4536
+ return templates[ctx];
4537
+ case 11:
4538
+ return { number: ctx };
4539
+ }
4540
+ };
4541
+ function getColumns() {
4542
+ http.post(appConf.pages.queryColumnApi, { tableCode: code }).then((rsp) => {
4543
+ handleData(rsp);
4544
+ });
4545
+ }
4546
+ function handleData(data) {
4547
+ let rows = [];
4548
+ data.forEach((it) => {
4549
+ let obj = {
4550
+ title: it.cloumnName,
4551
+ dataIndex: it.cloumnCode,
4552
+ sorter: it.ifOrder,
4553
+ align: getAlign(it.textAlign),
4554
+ ifShow: Boolean(it.ifDisplay),
4555
+ defaultHidden: !Boolean(it.ifDisplay)
4556
+ };
4557
+ if (it.cloumnType !== void 0)
4558
+ obj.render = renderCell(it.cloumnType, it.dictCode);
4559
+ if (it.width)
4560
+ obj.width = Number(it.width);
4561
+ rows.push(obj);
4562
+ });
4563
+ changeColumns(rows);
4564
+ }
4565
+ getColumns();
4566
+ }
4508
4567
  function useTable(tableProps) {
4509
4568
  const tableRef = ref(null);
4510
4569
  const loadedRef = ref(false);
@@ -4516,6 +4575,11 @@ function useTable(tableProps) {
4516
4575
  if (unref(loadedRef) && instance === unref(tableRef))
4517
4576
  return;
4518
4577
  tableRef.value = instance;
4578
+ if (tableProps.columnCode) {
4579
+ useHeaderCode(tableProps.columnCode, tableProps.templates, (columns) => {
4580
+ tableProps.columns = columns;
4581
+ });
4582
+ }
4519
4583
  tableProps && instance.setProps(getDynamicProps(tableProps));
4520
4584
  watch(() => tableProps, () => {
4521
4585
  tableProps && instance.setProps(getDynamicProps(tableProps));
@@ -4580,7 +4644,7 @@ const TableProps = {
4580
4644
  resizable: { type: Boolean, default: true },
4581
4645
  minWidth: { type: Number },
4582
4646
  maxWidth: { type: Number },
4583
- virtual: { type: Boolean, default: true },
4647
+ virtual: { type: Boolean, default: false },
4584
4648
  sortFn: { type: Function, default: DEFAULT_SORT_FN },
4585
4649
  filterFn: {
4586
4650
  type: Function,
@@ -4593,6 +4657,8 @@ const TableProps = {
4593
4657
  default: "id"
4594
4658
  },
4595
4659
  defSort: { type: Object, default: null },
4660
+ columnCode: { type: String },
4661
+ templates: { type: Object },
4596
4662
  columns: { type: [Array], default: () => [] },
4597
4663
  ellipsis: { type: Boolean, default: true },
4598
4664
  dataSource: { type: Array, default: null },
@@ -4609,7 +4675,7 @@ const TableProps = {
4609
4675
  },
4610
4676
  size: {
4611
4677
  type: String,
4612
- default: "default"
4678
+ default: "small"
4613
4679
  },
4614
4680
  onTableChange: {
4615
4681
  type: Function,
@@ -4885,165 +4951,8 @@ function createTableInstance(instance) {
4885
4951
  function getTableInstance() {
4886
4952
  return inject(tableKey);
4887
4953
  }
4888
- var browser = { exports: {} };
4889
- var process = browser.exports = {};
4890
- var cachedSetTimeout;
4891
- var cachedClearTimeout;
4892
- function defaultSetTimout() {
4893
- throw new Error("setTimeout has not been defined");
4894
- }
4895
- function defaultClearTimeout() {
4896
- throw new Error("clearTimeout has not been defined");
4897
- }
4898
- (function() {
4899
- try {
4900
- if (typeof setTimeout === "function") {
4901
- cachedSetTimeout = setTimeout;
4902
- } else {
4903
- cachedSetTimeout = defaultSetTimout;
4904
- }
4905
- } catch (e) {
4906
- cachedSetTimeout = defaultSetTimout;
4907
- }
4908
- try {
4909
- if (typeof clearTimeout === "function") {
4910
- cachedClearTimeout = clearTimeout;
4911
- } else {
4912
- cachedClearTimeout = defaultClearTimeout;
4913
- }
4914
- } catch (e) {
4915
- cachedClearTimeout = defaultClearTimeout;
4916
- }
4917
- })();
4918
- function runTimeout(fun) {
4919
- if (cachedSetTimeout === setTimeout) {
4920
- return setTimeout(fun, 0);
4921
- }
4922
- if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
4923
- cachedSetTimeout = setTimeout;
4924
- return setTimeout(fun, 0);
4925
- }
4926
- try {
4927
- return cachedSetTimeout(fun, 0);
4928
- } catch (e) {
4929
- try {
4930
- return cachedSetTimeout.call(null, fun, 0);
4931
- } catch (e2) {
4932
- return cachedSetTimeout.call(this, fun, 0);
4933
- }
4934
- }
4935
- }
4936
- function runClearTimeout(marker) {
4937
- if (cachedClearTimeout === clearTimeout) {
4938
- return clearTimeout(marker);
4939
- }
4940
- if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
4941
- cachedClearTimeout = clearTimeout;
4942
- return clearTimeout(marker);
4943
- }
4944
- try {
4945
- return cachedClearTimeout(marker);
4946
- } catch (e) {
4947
- try {
4948
- return cachedClearTimeout.call(null, marker);
4949
- } catch (e2) {
4950
- return cachedClearTimeout.call(this, marker);
4951
- }
4952
- }
4953
- }
4954
- var queue = [];
4955
- var draining = false;
4956
- var currentQueue;
4957
- var queueIndex = -1;
4958
- function cleanUpNextTick() {
4959
- if (!draining || !currentQueue) {
4960
- return;
4961
- }
4962
- draining = false;
4963
- if (currentQueue.length) {
4964
- queue = currentQueue.concat(queue);
4965
- } else {
4966
- queueIndex = -1;
4967
- }
4968
- if (queue.length) {
4969
- drainQueue();
4970
- }
4971
- }
4972
- function drainQueue() {
4973
- if (draining) {
4974
- return;
4975
- }
4976
- var timeout = runTimeout(cleanUpNextTick);
4977
- draining = true;
4978
- var len = queue.length;
4979
- while (len) {
4980
- currentQueue = queue;
4981
- queue = [];
4982
- while (++queueIndex < len) {
4983
- if (currentQueue) {
4984
- currentQueue[queueIndex].run();
4985
- }
4986
- }
4987
- queueIndex = -1;
4988
- len = queue.length;
4989
- }
4990
- currentQueue = null;
4991
- draining = false;
4992
- runClearTimeout(timeout);
4993
- }
4994
- process.nextTick = function(fun) {
4995
- var args = new Array(arguments.length - 1);
4996
- if (arguments.length > 1) {
4997
- for (var i = 1; i < arguments.length; i++) {
4998
- args[i - 1] = arguments[i];
4999
- }
5000
- }
5001
- queue.push(new Item(fun, args));
5002
- if (queue.length === 1 && !draining) {
5003
- runTimeout(drainQueue);
5004
- }
5005
- };
5006
- function Item(fun, array) {
5007
- this.fun = fun;
5008
- this.array = array;
5009
- }
5010
- Item.prototype.run = function() {
5011
- this.fun.apply(null, this.array);
5012
- };
5013
- process.title = "browser";
5014
- process.browser = true;
5015
- process.env = {};
5016
- process.argv = [];
5017
- process.version = "";
5018
- process.versions = {};
5019
- function noop() {
5020
- }
5021
- process.on = noop;
5022
- process.addListener = noop;
5023
- process.once = noop;
5024
- process.off = noop;
5025
- process.removeListener = noop;
5026
- process.removeAllListeners = noop;
5027
- process.emit = noop;
5028
- process.prependListener = noop;
5029
- process.prependOnceListener = noop;
5030
- process.listeners = function(name) {
5031
- return [];
5032
- };
5033
- process.binding = function(name) {
5034
- throw new Error("process.binding is not supported");
5035
- };
5036
- process.cwd = function() {
5037
- return "/";
5038
- };
5039
- process.chdir = function(dir) {
5040
- throw new Error("process.chdir is not supported");
5041
- };
5042
- process.umask = function() {
5043
- return 0;
5044
- };
5045
4954
  const _hoisted_1$n = /* @__PURE__ */ createElementVNode("span", null, "\u5217\u63A7\u5236", -1);
5046
- const _hoisted_2$h = /* @__PURE__ */ createTextVNode(" \u5217\u5C55\u793A ");
4955
+ const _hoisted_2$g = /* @__PURE__ */ createTextVNode(" \u5217\u5C55\u793A ");
5047
4956
  const _hoisted_3$9 = /* @__PURE__ */ createTextVNode(" \u5E8F\u5217\u53F7 ");
5048
4957
  const _hoisted_4$6 = /* @__PURE__ */ createTextVNode(" \u590D\u9009\u6846 ");
5049
4958
  const _hoisted_5$3 = /* @__PURE__ */ createTextVNode("\u91CD\u7F6E");
@@ -5054,6 +4963,7 @@ const _hoisted_6$2 = {
5054
4963
  const _hoisted_7$1 = /* @__PURE__ */ createTextVNode("\u56FA\u5B9A\u5230\u5DE6\u4FA7");
5055
4964
  const _hoisted_8$1 = /* @__PURE__ */ createTextVNode("\u56FA\u5B9A\u5230\u53F3\u4FA7");
5056
4965
  const _sfc_main$F = /* @__PURE__ */ defineComponent({
4966
+ __name: "Column",
5057
4967
  emits: [
5058
4968
  "columns-change"
5059
4969
  ],
@@ -5099,7 +5009,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5099
5009
  function handleVisibleChange() {
5100
5010
  if (inited)
5101
5011
  return;
5102
- browser.exports.nextTick(() => {
5012
+ nextTick(() => {
5103
5013
  const columnListEl = unref(columnListRef);
5104
5014
  if (!columnListEl)
5105
5015
  return;
@@ -5247,12 +5157,12 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5247
5157
  }, [
5248
5158
  createVNode(unref(Checkbox), {
5249
5159
  indeterminate: unref(indeterminate),
5250
- checked: unref(state).checkAll,
5251
- "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => unref(state).checkAll = $event),
5160
+ checked: state.checkAll,
5161
+ "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => state.checkAll = $event),
5252
5162
  onChange: onCheckAllChange
5253
5163
  }, {
5254
5164
  default: withCtx(() => [
5255
- _hoisted_2$h
5165
+ _hoisted_2$g
5256
5166
  ]),
5257
5167
  _: 1
5258
5168
  }, 8, ["indeterminate", "checked"]),
@@ -5291,8 +5201,8 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5291
5201
  ]),
5292
5202
  content: withCtx(() => [
5293
5203
  createVNode(unref(CheckboxGroup), {
5294
- value: unref(state).checkedList,
5295
- "onUpdate:value": _cache[3] || (_cache[3] = ($event) => unref(state).checkedList = $event),
5204
+ value: state.checkedList,
5205
+ "onUpdate:value": _cache[3] || (_cache[3] = ($event) => state.checkedList = $event),
5296
5206
  onChange,
5297
5207
  ref_key: "columnListRef",
5298
5208
  ref: columnListRef
@@ -5325,7 +5235,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5325
5235
  default: withCtx(() => [
5326
5236
  createElementVNode("span", {
5327
5237
  class: normalizeClass({
5328
- disabled: !unref(state).checkedList.includes(item.value),
5238
+ disabled: !state.checkedList.includes(item.value),
5329
5239
  active: item.fixed === "left"
5330
5240
  })
5331
5241
  }, [
@@ -5351,7 +5261,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5351
5261
  default: withCtx(() => [
5352
5262
  createElementVNode("span", {
5353
5263
  class: normalizeClass({
5354
- disabled: !unref(state).checkedList.includes(item.value),
5264
+ disabled: !state.checkedList.includes(item.value),
5355
5265
  active: item.fixed === "right"
5356
5266
  })
5357
5267
  }, [
@@ -5385,9 +5295,10 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5385
5295
  }
5386
5296
  });
5387
5297
  const _hoisted_1$m = { key: 0 };
5388
- const _hoisted_2$g = { key: 0 };
5298
+ const _hoisted_2$f = { key: 0 };
5389
5299
  const _hoisted_3$8 = { key: 1 };
5390
5300
  const _sfc_main$E = /* @__PURE__ */ defineComponent({
5301
+ __name: "Fullscreen",
5391
5302
  setup(__props) {
5392
5303
  const table = getTableInstance();
5393
5304
  const wrapEl = ref(null);
@@ -5414,7 +5325,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
5414
5325
  createElementVNode("span", {
5415
5326
  onClick: _cache[0] || (_cache[0] = (...args) => unref(toggle) && unref(toggle)(...args))
5416
5327
  }, [
5417
- !unref(isFullscreen) ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$g, null, 512)), [
5328
+ !unref(isFullscreen) ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$f, null, 512)), [
5418
5329
  [_directive_icon, "ic:baseline-fullscreen"]
5419
5330
  ]) : withDirectives((openBlock(), createElementBlock("span", _hoisted_3$8, null, 512)), [
5420
5331
  [_directive_icon, "ic:baseline-fullscreen-exit"]
@@ -5427,10 +5338,11 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
5427
5338
  }
5428
5339
  });
5429
5340
  const _hoisted_1$l = /* @__PURE__ */ createTextVNode("\u5BC6\u5EA6");
5430
- const _hoisted_2$f = /* @__PURE__ */ createElementVNode("span", null, "\u9ED8\u8BA4", -1);
5341
+ const _hoisted_2$e = /* @__PURE__ */ createElementVNode("span", null, "\u9ED8\u8BA4", -1);
5431
5342
  const _hoisted_3$7 = /* @__PURE__ */ createElementVNode("span", null, "\u4E2D\u7B49", -1);
5432
5343
  const _hoisted_4$5 = /* @__PURE__ */ createElementVNode("span", null, "\u7D27\u51D1", -1);
5433
5344
  const _sfc_main$D = /* @__PURE__ */ defineComponent({
5345
+ __name: "Size",
5434
5346
  setup(__props) {
5435
5347
  const table = getTableInstance();
5436
5348
  const selectedKeysRef = ref([table.getSize()]);
@@ -5460,7 +5372,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
5460
5372
  default: withCtx(() => [
5461
5373
  createVNode(unref(MenuItem), { key: "default" }, {
5462
5374
  default: withCtx(() => [
5463
- _hoisted_2$f
5375
+ _hoisted_2$e
5464
5376
  ]),
5465
5377
  _: 1
5466
5378
  }),
@@ -5494,10 +5406,11 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
5494
5406
  }
5495
5407
  });
5496
5408
  const _hoisted_1$k = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA", -1);
5497
- const _hoisted_2$e = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u5F53\u524D\u9875", -1);
5409
+ const _hoisted_2$d = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u5F53\u524D\u9875", -1);
5498
5410
  const _hoisted_3$6 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u9009\u4E2D\u5217", -1);
5499
5411
  const _hoisted_4$4 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u6240\u6709\u5217", -1);
5500
5412
  const _sfc_main$C = /* @__PURE__ */ defineComponent({
5413
+ __name: "Download",
5501
5414
  setup(__props) {
5502
5415
  const table = getTableInstance();
5503
5416
  function handleTitleClick({ key }) {
@@ -5527,7 +5440,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
5527
5440
  default: withCtx(() => [
5528
5441
  createVNode(unref(MenuItem), { key: "current" }, {
5529
5442
  default: withCtx(() => [
5530
- _hoisted_2$e
5443
+ _hoisted_2$d
5531
5444
  ]),
5532
5445
  _: 1
5533
5446
  }),
@@ -5651,7 +5564,7 @@ const _sfc_main$A = defineComponent({
5651
5564
  }
5652
5565
  });
5653
5566
  const _hoisted_1$j = { class: "dt-table-header" };
5654
- const _hoisted_2$d = { class: "dt-table-header-actions" };
5567
+ const _hoisted_2$c = { class: "dt-table-header-actions" };
5655
5568
  const _hoisted_3$5 = { class: "dt-table-header-actions__left" };
5656
5569
  const _hoisted_4$3 = { class: "dt-table-header-actions__right" };
5657
5570
  const _hoisted_5$2 = {
@@ -5662,7 +5575,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
5662
5575
  const _component_FormButtons = resolveComponent("FormButtons");
5663
5576
  const _component_TableSettinCom = resolveComponent("TableSettinCom");
5664
5577
  return openBlock(), createElementBlock("div", _hoisted_1$j, [
5665
- createElementVNode("div", _hoisted_2$d, [
5578
+ createElementVNode("div", _hoisted_2$c, [
5666
5579
  createElementVNode("div", _hoisted_3$5, [
5667
5580
  createVNode(_component_FormButtons, mergeProps(_ctx.getActionsProps, { onHandleMethod: _ctx.handleMethod }), null, 16, ["onHandleMethod"]),
5668
5581
  renderSlot(_ctx.$slots, "toolbar")
@@ -5743,8 +5656,9 @@ var _sfc_main$z = defineComponent({
5743
5656
  }
5744
5657
  });
5745
5658
  const _hoisted_1$i = { class: "dt-table-action-btn" };
5746
- const _hoisted_2$c = ["color", "onClick"];
5659
+ const _hoisted_2$b = ["color", "onClick"];
5747
5660
  const _sfc_main$y = /* @__PURE__ */ defineComponent({
5661
+ __name: "TableActions",
5748
5662
  props: {
5749
5663
  fixed: {
5750
5664
  type: String,
@@ -5811,7 +5725,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
5811
5725
  withDirectives(createElementVNode("span", {
5812
5726
  color: item.color,
5813
5727
  onClick: ($event) => handleAction(item)
5814
- }, null, 8, _hoisted_2$c), [
5728
+ }, null, 8, _hoisted_2$b), [
5815
5729
  [_directive_icon, item.icon]
5816
5730
  ])
5817
5731
  ]),
@@ -5835,7 +5749,8 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
5835
5749
  default: withCtx(() => [
5836
5750
  createVNode(unref(DtIcon), {
5837
5751
  "icon-class": item.icon,
5838
- color: item.color
5752
+ color: item.color,
5753
+ size: 16
5839
5754
  }, null, 8, ["icon-class", "color"]),
5840
5755
  createElementVNode("span", null, toDisplayString(item.title), 1)
5841
5756
  ]),
@@ -5848,7 +5763,10 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
5848
5763
  })
5849
5764
  ]),
5850
5765
  default: withCtx(() => [
5851
- createVNode(unref(DtIcon), { "icon-class": "mdi:cog-outline" })
5766
+ createVNode(unref(DtIcon), {
5767
+ "icon-class": "ic:baseline-settings",
5768
+ "class-name": "dt-table-action-dropdown"
5769
+ })
5852
5770
  ]),
5853
5771
  _: 1
5854
5772
  }));
@@ -5958,7 +5876,7 @@ function handleActionColumn(propsRef, columns) {
5958
5876
  title: "\u64CD\u4F5C",
5959
5877
  align: "center",
5960
5878
  expand,
5961
- width: (expand ? column.btns.length * 30 + 40 : 70) + "px",
5879
+ width: `${expand ? column.btns.length * 30 + 40 : 70}px`,
5962
5880
  ...column,
5963
5881
  flag: ACTION_COLUMN
5964
5882
  };
@@ -6025,7 +5943,7 @@ function useColumns(propsRef, getPaginationRef) {
6025
5943
  }
6026
5944
  return columns;
6027
5945
  }
6028
- function setColumns(columnList) {
5946
+ function setColumns(columnList = []) {
6029
5947
  const columns = cloneDeep(columnList);
6030
5948
  if (!isArray$1(columns))
6031
5949
  return;
@@ -6103,12 +6021,10 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
6103
6021
  const tableHeightRef = ref(0);
6104
6022
  const filterSource = ref([]);
6105
6023
  const debounceRedoHeight = useDebounceFn(redoHeight, 100);
6106
- watch(() => {
6107
- var _a, _b;
6108
- return (_b = (_a = unref(propsRef)) == null ? void 0 : _a.dataSource) == null ? void 0 : _b.length;
6109
- }, () => {
6024
+ watch(() => propsRef.value.dataSource, (v) => {
6110
6025
  debounceRedoHeight();
6111
6026
  }, {
6027
+ deep: true,
6112
6028
  flush: "post"
6113
6029
  });
6114
6030
  windowResizeFn(calcTableHeight, 280);
@@ -6233,7 +6149,9 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
6233
6149
  createScrollWrap(bodyEl);
6234
6150
  calcScroll(bodyEl);
6235
6151
  bodyEl.addEventListener("scroll", (e) => {
6236
- calcScroll(bodyEl);
6152
+ useDebounceFn(() => {
6153
+ calcScroll(bodyEl);
6154
+ }, 100)();
6237
6155
  });
6238
6156
  }
6239
6157
  async function calcScroll(el) {
@@ -6312,6 +6230,13 @@ const _sfc_main$x = defineComponent({
6312
6230
  const {
6313
6231
  getRowClassName
6314
6232
  } = useRows(getProps);
6233
+ const {
6234
+ handleTableChange
6235
+ } = useDataSource(getProps, {
6236
+ getPaginationInfo,
6237
+ setPagination,
6238
+ clearSelectedRowKeys
6239
+ });
6315
6240
  const getBind = computed(() => {
6316
6241
  return {
6317
6242
  ...attrs,
@@ -6323,7 +6248,7 @@ const _sfc_main$x = defineComponent({
6323
6248
  pagination: toRaw(unref(getPaginationInfo)),
6324
6249
  rowSelection: unref(getRowSelectionRef),
6325
6250
  rowKey: unref(getProps).rowKey,
6326
- columns: toRaw(unref(getViewColumns)),
6251
+ columns: unref(getViewColumns),
6327
6252
  tableLayout: "fixed"
6328
6253
  };
6329
6254
  });
@@ -6336,13 +6261,6 @@ const _sfc_main$x = defineComponent({
6336
6261
  }
6337
6262
  };
6338
6263
  const { getHeaderProps } = useTableHeader(getProps, slots, handlers);
6339
- const {
6340
- handleTableChange
6341
- } = useDataSource(getProps, {
6342
- getPaginationInfo,
6343
- setPagination,
6344
- clearSelectedRowKeys
6345
- });
6346
6264
  emit("register", tableAction);
6347
6265
  return {
6348
6266
  tableElRef,
@@ -6369,7 +6287,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
6369
6287
  onResizeColumn: _ctx.handleResizeColumn
6370
6288
  }), createSlots({
6371
6289
  bodyCell: withCtx(({ column, record, index: index2 }) => [
6372
- column.render ? (openBlock(), createBlock(_component_TableRender, {
6290
+ (column == null ? void 0 : column.render) ? (openBlock(), createBlock(_component_TableRender, {
6373
6291
  key: 0,
6374
6292
  column,
6375
6293
  record,
@@ -6417,9 +6335,7 @@ function useFetch(api, baseUrl = "") {
6417
6335
  if (afterFetch && isFunction(afterFetch)) {
6418
6336
  data = afterFetch(data);
6419
6337
  }
6420
- if (data.status) {
6421
- resolve(data.data);
6422
- }
6338
+ resolve(data == null ? void 0 : data.data);
6423
6339
  }, (error2) => {
6424
6340
  reject(error2);
6425
6341
  });
@@ -6496,7 +6412,7 @@ function useSource(opt) {
6496
6412
  pageNo: pagination2.current - 1,
6497
6413
  pageSize: pagination2.pageSize
6498
6414
  };
6499
- baseData.orderDTOs = sort;
6415
+ baseData.orderDTOs = [];
6500
6416
  if (needSearch)
6501
6417
  search();
6502
6418
  }
@@ -6506,7 +6422,7 @@ function useSource(opt) {
6506
6422
  fetch(toRaw(baseData)).then((rsp) => {
6507
6423
  var _a2, _b2, _c2;
6508
6424
  const { records, pageDTO } = rsp;
6509
- dataSource.value = records;
6425
+ dataSource.value.splice(0, dataSource.value.length, ...records);
6510
6426
  pagination.value = {
6511
6427
  current: ((_a2 = pageDTO == null ? void 0 : pageDTO.pageNo) != null ? _a2 : 0) + 1,
6512
6428
  pageSize: (_b2 = pageDTO == null ? void 0 : pageDTO.pageSize) != null ? _b2 : 10,
@@ -6599,31 +6515,38 @@ const basicProps = {
6599
6515
  }
6600
6516
  };
6601
6517
  const _sfc_main$w = /* @__PURE__ */ defineComponent({
6518
+ __name: "dialog",
6602
6519
  props: {
6603
6520
  ...basicProps,
6604
6521
  ...{
6605
6522
  onRegister: { type: Function },
6606
6523
  formProps: {
6607
6524
  type: Object
6525
+ },
6526
+ formsVal: {
6527
+ type: Object
6608
6528
  }
6609
6529
  }
6610
6530
  },
6611
6531
  setup(__props) {
6612
6532
  const props = __props;
6613
- const [registerDialog, {}] = useModal({
6533
+ const [registerDialog] = useModal({
6614
6534
  ...omit(toRaw(props), [
6615
6535
  "actions",
6616
6536
  "curd",
6617
6537
  "formProps",
6538
+ "formsVal",
6618
6539
  "onRegister",
6619
6540
  "schemas"
6620
- ])
6541
+ ]),
6542
+ destroyOnClose: true
6621
6543
  });
6622
6544
  const [registerForm, { getFormValues, setFormValues }] = useForm({
6545
+ ...props.formProps.value || {},
6623
6546
  schemas: props.schemas,
6624
6547
  mode: "dialog"
6625
6548
  });
6626
- watch(() => props.formProps.value, (v) => {
6549
+ watch(() => props.formsVal.value, (v) => {
6627
6550
  if (v) {
6628
6551
  setFormValues(toRaw(v));
6629
6552
  }
@@ -6631,7 +6554,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
6631
6554
  function handleSave() {
6632
6555
  var _a;
6633
6556
  if (props.curd && isFunction((_a = props.curd) == null ? void 0 : _a.onAdd)) {
6634
- let obj = Object.assign({}, props.formProps.value || {}, getFormValues());
6557
+ let obj = Object.assign({}, props.formsVal.value || {}, getFormValues());
6635
6558
  obj.id ? props.curd.onUpdate(obj) : props.curd.onAdd(obj);
6636
6559
  }
6637
6560
  }
@@ -6649,17 +6572,21 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
6649
6572
  }
6650
6573
  });
6651
6574
  function useCurd(curdOpt) {
6652
- const formProps = ref();
6575
+ const formsVal = ref();
6653
6576
  const [register, {
6654
6577
  closeModal,
6655
6578
  setModalProps,
6656
6579
  openModal
6657
6580
  }] = useModalOut();
6581
+ const {
6582
+ confirm
6583
+ } = useMessage();
6658
6584
  const DtCurdModal = () => {
6659
6585
  return h(createVNode("div", {
6660
6586
  "class": "curdModal"
6661
6587
  }, [createVNode(_sfc_main$w, mergeProps(curdOpt, {
6662
- "formProps": formProps,
6588
+ "formsVal": formsVal,
6589
+ "formProps": curdOpt.formProps,
6663
6590
  "onRegister": register
6664
6591
  }), null)]));
6665
6592
  };
@@ -6674,7 +6601,14 @@ function useCurd(curdOpt) {
6674
6601
  curd
6675
6602
  } = curdOpt;
6676
6603
  if (curd && curd.onDeletes && isFunction(curd.onDeletes)) {
6677
- curd.onDeletes([row[primaryKey]]);
6604
+ confirm({
6605
+ title: "\u5220\u9664\u786E\u8BA4",
6606
+ content: "\u786E\u8BA4\u8981\u5220\u9664\u9009\u4E2D\u7684\u6570\u636E\uFF1F",
6607
+ iconType: "warning",
6608
+ onOk() {
6609
+ curd.onDeletes([row[primaryKey]]);
6610
+ }
6611
+ });
6678
6612
  } else {
6679
6613
  error(`\u7F3A\u5C11curd\u51FD\u6570\u914D\u7F6E, \u8BF7\u5C06useSource\u4E2D\u8FD4\u56DE\u7684curd\u53C2\u6570\u4F20\u5165useCurd\u914D\u7F6E\u9879\u4E2D!`);
6680
6614
  }
@@ -6687,7 +6621,7 @@ function useCurd(curdOpt) {
6687
6621
  curd
6688
6622
  } = curdOpt;
6689
6623
  curd.onQueryById(row[primaryKey]).then((rsp) => {
6690
- formProps.value = rsp;
6624
+ formsVal.value = rsp;
6691
6625
  });
6692
6626
  openModal();
6693
6627
  }
@@ -6696,7 +6630,14 @@ function useCurd(curdOpt) {
6696
6630
  curd
6697
6631
  } = curdOpt;
6698
6632
  if (curd && curd.onDeletes && isFunction(curd.onDeletes)) {
6699
- curd.onDeletes(ids);
6633
+ confirm({
6634
+ title: "\u6279\u91CF\u5220\u9664\u786E\u8BA4",
6635
+ content: "\u786E\u8BA4\u8981\u6279\u91CF\u5220\u9664\u9009\u4E2D\u7684\u6570\u636E\uFF1F",
6636
+ iconType: "warning",
6637
+ onOk() {
6638
+ curd.onDeletes(ids);
6639
+ }
6640
+ });
6700
6641
  } else {
6701
6642
  error(`\u7F3A\u5C11curd\u51FD\u6570\u914D\u7F6E, \u8BF7\u5C06useSource\u4E2D\u8FD4\u56DE\u7684curd\u53C2\u6570\u4F20\u5165useCurd\u914D\u7F6E\u9879\u4E2D!`);
6702
6643
  }
@@ -6710,8 +6651,9 @@ function useCurd(curdOpt) {
6710
6651
  };
6711
6652
  }
6712
6653
  const _hoisted_1$h = { class: "iframe-page" };
6713
- const _hoisted_2$b = ["src"];
6654
+ const _hoisted_2$a = ["src"];
6714
6655
  const _sfc_main$v = /* @__PURE__ */ defineComponent({
6656
+ __name: "index",
6715
6657
  props: {
6716
6658
  showLoading: {
6717
6659
  type: Boolean,
@@ -6744,7 +6686,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
6744
6686
  ref_key: "frameRef",
6745
6687
  ref: frameRef,
6746
6688
  onLoad: _cache[0] || (_cache[0] = ($event) => afterLoaded())
6747
- }, null, 40, _hoisted_2$b)
6689
+ }, null, 40, _hoisted_2$a)
6748
6690
  ]),
6749
6691
  _: 1
6750
6692
  }, 8, ["spinning"])
@@ -6752,6 +6694,23 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
6752
6694
  };
6753
6695
  }
6754
6696
  });
6697
+ function useDialog() {
6698
+ function createDialog(component, options) {
6699
+ return new Promise((resolve) => {
6700
+ const div = document.createElement("div");
6701
+ document.body.appendChild(div);
6702
+ render$1();
6703
+ function render$1() {
6704
+ const vm = createVNode(component.children[0]);
6705
+ render(vm, div);
6706
+ return vm;
6707
+ }
6708
+ });
6709
+ }
6710
+ return {
6711
+ createDialog
6712
+ };
6713
+ }
6755
6714
  const dtComponents = [
6756
6715
  { name: "dt-base-router", component: DtBaseRouter },
6757
6716
  { name: "dt-icon", component: DtIcon },
@@ -6767,6 +6726,7 @@ function initComponents() {
6767
6726
  };
6768
6727
  }
6769
6728
  const _sfc_main$u = /* @__PURE__ */ defineComponent({
6729
+ __name: "back-top",
6770
6730
  setup(__props) {
6771
6731
  const getTarget = () => document.getElementById("dt-layout-content");
6772
6732
  const { getShowBackToTop } = useTheme();
@@ -6780,23 +6740,23 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
6780
6740
  }
6781
6741
  });
6782
6742
  const _sfc_main$t = /* @__PURE__ */ defineComponent({
6743
+ __name: "index",
6783
6744
  setup(__props) {
6784
6745
  return (_ctx, _cache) => {
6785
6746
  return openBlock(), createBlock(_sfc_main$u);
6786
6747
  };
6787
6748
  }
6788
6749
  });
6789
- 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=";
6790
- const _hoisted_1$g = /* @__PURE__ */ createElementVNode("img", { src: _imports_0 }, null, -1);
6791
- const _hoisted_2$a = { class: "dt-logo__title" };
6750
+ const _hoisted_1$g = { class: "dt-logo__title" };
6792
6751
  const _sfc_main$s = /* @__PURE__ */ defineComponent({
6752
+ __name: "logo",
6793
6753
  props: {
6794
6754
  theme: { type: String, validator: (v) => ["light", "dark"].includes(v) },
6795
6755
  showTitle: { type: Boolean, default: true }
6796
6756
  },
6797
6757
  setup(__props) {
6798
6758
  const props = __props;
6799
- const title = "Ithink-DT \u6DF1\u8FEA\u79D1\u6280";
6759
+ const title = "\u9686\u57FA\u7A0E\u52A1\u540E\u53F0\u7BA1\u7406\u7CFB\u7EDF";
6800
6760
  const { getCollapsedShowTitle } = useMenu();
6801
6761
  const getLogoClass = computed(() => {
6802
6762
  return [
@@ -6809,8 +6769,12 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
6809
6769
  return openBlock(), createElementBlock("div", {
6810
6770
  class: normalizeClass(["dt-logo", unref(getLogoClass)])
6811
6771
  }, [
6812
- _hoisted_1$g,
6813
- withDirectives(createElementVNode("div", _hoisted_2$a, toDisplayString(title), 512), [
6772
+ createVNode(unref(DtIcon), {
6773
+ "icon-class": "logo",
6774
+ size: 42,
6775
+ "class-name": "brand-logo"
6776
+ }),
6777
+ withDirectives(createElementVNode("div", _hoisted_1$g, toDisplayString(title), 512), [
6814
6778
  [vShow, __props.showTitle]
6815
6779
  ])
6816
6780
  ], 2);
@@ -6820,6 +6784,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
6820
6784
  const _hoisted_1$f = { key: 0 };
6821
6785
  const _hoisted_2$9 = { key: 1 };
6822
6786
  const _sfc_main$r = /* @__PURE__ */ defineComponent({
6787
+ __name: "trigger",
6823
6788
  props: { theme: String },
6824
6789
  setup(__props) {
6825
6790
  const props = __props;
@@ -6845,8 +6810,7 @@ function deleteChildrenProp(menu) {
6845
6810
  return obj;
6846
6811
  }
6847
6812
  function getBreadCrumb(path, menus) {
6848
- const { getMenus: getMenus2 } = useAuthStore();
6849
- const _menus = menus || getMenus2;
6813
+ const _menus = menus || DtCache.getLocal(CacheKey.MENUS) || [];
6850
6814
  let routes = [];
6851
6815
  let getParentByPath = (menu, path2 = "") => {
6852
6816
  if (menu.children && menu.children.length) {
@@ -6866,7 +6830,6 @@ function getBreadCrumb(path, menus) {
6866
6830
  return routes;
6867
6831
  }
6868
6832
  function getFilterMenu(filter = "", flag = false) {
6869
- const { getMenus: getMenus2 } = useAuthStore();
6870
6833
  let _menus = [];
6871
6834
  if (!trim(filter) && !flag)
6872
6835
  return _menus;
@@ -6879,11 +6842,12 @@ function getFilterMenu(filter = "", flag = false) {
6879
6842
  }
6880
6843
  });
6881
6844
  };
6882
- getTargetMenus(getMenus2);
6845
+ getTargetMenus(DtCache.getLocal(CacheKey.MENUS));
6883
6846
  return _menus;
6884
6847
  }
6885
6848
  const _hoisted_1$e = { class: "dt-breadcrumb" };
6886
6849
  const _sfc_main$q = /* @__PURE__ */ defineComponent({
6850
+ __name: "bread-crumb",
6887
6851
  setup(__props) {
6888
6852
  let routes = ref([]);
6889
6853
  const { currentRoute } = useRouter();
@@ -6909,8 +6873,8 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
6909
6873
  });
6910
6874
  const _hoisted_1$d = /* @__PURE__ */ createElementVNode("span", { class: "red-dot" }, null, -1);
6911
6875
  const _sfc_main$p = /* @__PURE__ */ defineComponent({
6876
+ __name: "notify",
6912
6877
  setup(__props) {
6913
- ref("1");
6914
6878
  const { getShowNotice } = useHeader();
6915
6879
  return (_ctx, _cache) => {
6916
6880
  const _directive_icon = resolveDirective("icon");
@@ -6937,6 +6901,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
6937
6901
  const _hoisted_1$c = { key: 0 };
6938
6902
  const _hoisted_2$8 = { key: 1 };
6939
6903
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
6904
+ __name: "fullscreen",
6940
6905
  setup(__props) {
6941
6906
  const { toggle, isFullscreen } = useFullscreen();
6942
6907
  return (_ctx, _cache) => {
@@ -6954,6 +6919,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
6954
6919
  };
6955
6920
  }
6956
6921
  });
6922
+ var _imports_0 = "data:image/png;base64,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";
6957
6923
  const _hoisted_1$b = { class: "user-operate" };
6958
6924
  const _hoisted_2$7 = ["onClick"];
6959
6925
  const _hoisted_3$4 = /* @__PURE__ */ createTextVNode(" \u4E2A\u4EBA\u4E2D\u5FC3 ");
@@ -6962,11 +6928,24 @@ const _hoisted_5$1 = /* @__PURE__ */ createElementVNode("li", { class: "border-b
6962
6928
  const _hoisted_6$1 = /* @__PURE__ */ createTextVNode(" \u9501\u5B9A\u5C4F\u5E55 ");
6963
6929
  const _hoisted_7 = /* @__PURE__ */ createTextVNode(" \u9000\u51FA\u7CFB\u7EDF ");
6964
6930
  const _hoisted_8 = { class: "userInfo" };
6965
- const _hoisted_9 = { class: "name" };
6931
+ const _hoisted_9 = /* @__PURE__ */ createElementVNode("img", { src: _imports_0 }, null, -1);
6932
+ const _hoisted_10 = { class: "name" };
6966
6933
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
6934
+ __name: "user-info",
6967
6935
  setup(__props) {
6968
- const { getUserInfo } = useAuthStore();
6936
+ const getUserInfo = DtCache.getLocal(CacheKey.USER_INFO);
6969
6937
  const { getUserActions } = useHeader();
6938
+ const { appConf } = useAppStore();
6939
+ const go = useGo();
6940
+ function signOut() {
6941
+ var _a, _b;
6942
+ if (isObject((_a = appConf.pages) == null ? void 0 : _a.ssoLogin) && ((_b = appConf.pages.ssoLogin) == null ? void 0 : _b.logout)) {
6943
+ let redictUrl = isFunction(appConf.pages.ssoLogin.logout) ? appConf.pages.ssoLogin.logout() : appConf.pages.ssoLogin.logout;
6944
+ location.href = redictUrl;
6945
+ } else {
6946
+ go(Pages.LOGIN);
6947
+ }
6948
+ }
6970
6949
  return (_ctx, _cache) => {
6971
6950
  const _directive_icon = resolveDirective("icon");
6972
6951
  return openBlock(), createBlock(unref(Popover), {
@@ -7005,7 +6984,9 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
7005
6984
  ]),
7006
6985
  _hoisted_6$1
7007
6986
  ]),
7008
- createElementVNode("li", null, [
6987
+ createElementVNode("li", {
6988
+ onClick: _cache[0] || (_cache[0] = ($event) => signOut())
6989
+ }, [
7009
6990
  withDirectives(createElementVNode("span", null, null, 512), [
7010
6991
  [_directive_icon, "ant-design:logout-outlined"]
7011
6992
  ]),
@@ -7013,15 +6994,20 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
7013
6994
  ])
7014
6995
  ])
7015
6996
  ]),
7016
- default: withCtx(() => [
7017
- createElementVNode("div", _hoisted_8, [
7018
- createVNode(unref(Avatar), {
7019
- src: unref(getUserInfo).avatar,
7020
- size: 28
7021
- }, null, 8, ["src"]),
7022
- createElementVNode("span", _hoisted_9, toDisplayString(unref(getUserInfo).realName), 1)
7023
- ])
7024
- ]),
6997
+ default: withCtx(() => {
6998
+ var _a;
6999
+ return [
7000
+ createElementVNode("div", _hoisted_8, [
7001
+ createVNode(unref(Avatar), { size: 28 }, {
7002
+ icon: withCtx(() => [
7003
+ _hoisted_9
7004
+ ]),
7005
+ _: 1
7006
+ }),
7007
+ createElementVNode("span", _hoisted_10, toDisplayString((_a = unref(getUserInfo)) == null ? void 0 : _a.userNo), 1)
7008
+ ])
7009
+ ];
7010
+ }),
7025
7011
  _: 1
7026
7012
  });
7027
7013
  };
@@ -7031,6 +7017,7 @@ const _hoisted_1$a = { class: "lang" };
7031
7017
  const _hoisted_2$6 = ["onClick"];
7032
7018
  const _hoisted_3$3 = { fontSize: 16 };
7033
7019
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
7020
+ __name: "lang-picker",
7034
7021
  props: {
7035
7022
  reload: { type: Boolean }
7036
7023
  },
@@ -7191,6 +7178,7 @@ const _hoisted_4$1 = [
7191
7178
  _hoisted_3$2
7192
7179
  ];
7193
7180
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
7181
+ __name: "menu-type",
7194
7182
  setup(__props) {
7195
7183
  const { getMenuType, getMenuMode } = useMenu();
7196
7184
  const defMenuType = ref(unref(getMenuType));
@@ -7237,6 +7225,7 @@ const contentModeOptions = [
7237
7225
  ];
7238
7226
  const _hoisted_1$8 = { class: "dt-feature-item" };
7239
7227
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
7228
+ __name: "switch-item",
7240
7229
  props: {
7241
7230
  event: {
7242
7231
  type: Number
@@ -7270,6 +7259,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
7270
7259
  });
7271
7260
  const _hoisted_1$7 = { class: "dt-feature-item" };
7272
7261
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
7262
+ __name: "select-item",
7273
7263
  props: {
7274
7264
  event: { type: Number },
7275
7265
  disabled: { type: Boolean },
@@ -7304,6 +7294,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
7304
7294
  }
7305
7295
  });
7306
7296
  const _sfc_main$i = /* @__PURE__ */ defineComponent({
7297
+ __name: "feature",
7307
7298
  setup(__props) {
7308
7299
  const {
7309
7300
  getShowBread,
@@ -7376,6 +7367,7 @@ const _hoisted_6 = /* @__PURE__ */ createElementVNode("div", {
7376
7367
  class: "setting-theme-tips"
7377
7368
  }, " \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);
7378
7369
  var _sfc_main$h = /* @__PURE__ */ defineComponent({
7370
+ __name: "setting-theme",
7379
7371
  setup(__props) {
7380
7372
  const themeStore = useThemeStore();
7381
7373
  const {
@@ -7514,6 +7506,7 @@ const _hoisted_1$5 = {
7514
7506
  const _hoisted_2$3 = ["onClick"];
7515
7507
  const _hoisted_3 = { key: 0 };
7516
7508
  const _sfc_main$g = /* @__PURE__ */ defineComponent({
7509
+ __name: "menu-search",
7517
7510
  setup(__props) {
7518
7511
  const menuList = ref([]);
7519
7512
  const router = useRouter();
@@ -7604,8 +7597,7 @@ function useSplitMenu(splitType) {
7604
7597
  }
7605
7598
  async function getMenus2() {
7606
7599
  if (unref(normalType)) {
7607
- const { getMenus: getMenus3 } = useAuthStore();
7608
- menusRef.value = getMenus3;
7600
+ menusRef.value = DtCache.getLocal(CacheKey.MENUS);
7609
7601
  return;
7610
7602
  }
7611
7603
  if (unref(getSplitTop)) {
@@ -7736,6 +7728,7 @@ const _hoisted_2$2 = {
7736
7728
  fontSize: 16
7737
7729
  };
7738
7730
  const _sfc_main$f = /* @__PURE__ */ defineComponent({
7731
+ __name: "menu-item-content",
7739
7732
  props: contentProps,
7740
7733
  setup(__props) {
7741
7734
  return (_ctx, _cache) => {
@@ -7750,6 +7743,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
7750
7743
  }
7751
7744
  });
7752
7745
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
7746
+ __name: "basic-menu-item",
7753
7747
  props: ItemProp,
7754
7748
  setup(__props) {
7755
7749
  const props = __props;
@@ -7766,6 +7760,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
7766
7760
  }
7767
7761
  });
7768
7762
  const _sfc_main$d = /* @__PURE__ */ defineComponent({
7763
+ __name: "basic-sub-menu-item",
7769
7764
  props: ItemProp,
7770
7765
  setup(__props) {
7771
7766
  const props = __props;
@@ -7833,6 +7828,7 @@ function useOpenKeys(menuState, menus, type) {
7833
7828
  };
7834
7829
  }
7835
7830
  const _sfc_main$c = /* @__PURE__ */ defineComponent({
7831
+ __name: "basic-menu",
7836
7832
  props: BasicMenu,
7837
7833
  emits: ["menuClick"],
7838
7834
  setup(__props, { emit: emits }) {
@@ -7895,9 +7891,9 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7895
7891
  return (_ctx, _cache) => {
7896
7892
  return openBlock(), createBlock(unref(Menu), {
7897
7893
  theme: _ctx.theme,
7898
- selectedKeys: unref(menuState).selectedKeys,
7899
- defaultSelectedKeys: unref(menuState).defaultSelectedKeys,
7900
- openKeys: unref(menuState).openKeys,
7894
+ selectedKeys: menuState.selectedKeys,
7895
+ defaultSelectedKeys: menuState.defaultSelectedKeys,
7896
+ openKeys: menuState.openKeys,
7901
7897
  inlineIndent: _ctx.inlineIndent,
7902
7898
  subMenuOpenDelay: 0.2,
7903
7899
  mode: _ctx.mode,
@@ -8016,6 +8012,7 @@ const _hoisted_2$1 = {
8016
8012
  class: "dt-header-menu"
8017
8013
  };
8018
8014
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
8015
+ __name: "index",
8019
8016
  props: {
8020
8017
  fixed: Boolean
8021
8018
  },
@@ -8128,6 +8125,7 @@ function useTrigger() {
8128
8125
  return { getTriggerAttr, getShowTrigger };
8129
8126
  }
8130
8127
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8128
+ __name: "sider-trigger",
8131
8129
  props: {
8132
8130
  type: {
8133
8131
  type: String,
@@ -8152,6 +8150,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8152
8150
  }
8153
8151
  });
8154
8152
  const _sfc_main$8 = /* @__PURE__ */ defineComponent({
8153
+ __name: "drag-bar",
8155
8154
  setup(__props) {
8156
8155
  const { getMiniWidthNumber, getCollapsed, getCanDrag } = useMenu();
8157
8156
  const getDragBarStyle = computed(() => {
@@ -8243,6 +8242,7 @@ function useDragLine(siderRef, dragBarRef) {
8243
8242
  }
8244
8243
  }
8245
8244
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8245
+ __name: "index",
8246
8246
  setup(__props) {
8247
8247
  const { getMenuFixed, getSplit, getMenuHidden, getMenuWidth, getCollapsed, getMenuTheme, getIsSidebarType, getIsTopMenu, getRealWidth, getIsMixMode } = useMenu();
8248
8248
  useHeader();
@@ -8396,6 +8396,7 @@ function useTabDropdown() {
8396
8396
  const _hoisted_1$2 = { fontSize: 16 };
8397
8397
  const _hoisted_2 = { fontSize: 16 };
8398
8398
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8399
+ __name: "TabContent",
8399
8400
  setup(__props) {
8400
8401
  const { getDropMenuList, handleContext, handleMenuEvent } = useTabDropdown();
8401
8402
  return (_ctx, _cache) => {
@@ -8447,6 +8448,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8447
8448
  }
8448
8449
  });
8449
8450
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8451
+ __name: "TabRedo",
8450
8452
  setup(__props) {
8451
8453
  const tabStore = RouteReuseStore();
8452
8454
  const router = useRouter();
@@ -8542,6 +8544,7 @@ function useTabsDrag(affixList) {
8542
8544
  });
8543
8545
  }
8544
8546
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8547
+ __name: "index",
8545
8548
  setup(__props) {
8546
8549
  const menuLabelMap = menuList2Map();
8547
8550
  const { getShowQuick, getShowRedo } = useMultipleTab();
@@ -8632,6 +8635,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8632
8635
  }
8633
8636
  });
8634
8637
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
8638
+ __name: "multiple-header",
8635
8639
  setup(__props) {
8636
8640
  const {
8637
8641
  getHeaderHeight,
@@ -8688,6 +8692,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
8688
8692
  }
8689
8693
  });
8690
8694
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
8695
+ __name: "index",
8691
8696
  setup(__props) {
8692
8697
  const { getFooter } = useTheme();
8693
8698
  const { title, subTitle, height } = unref(getFooter);
@@ -8715,6 +8720,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
8715
8720
  });
8716
8721
  const _hoisted_1$1 = ["loading"];
8717
8722
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
8723
+ __name: "index",
8718
8724
  setup(__props) {
8719
8725
  const { getTransitionMode, getOpenPageLoading } = useApp();
8720
8726
  const { getLayoutContentMode, getPageLoading } = useTheme();
@@ -8768,10 +8774,10 @@ var zhCn = { exports: {} };
8768
8774
  module.exports = _(dayjs_min.exports);
8769
8775
  }(commonjsGlobal, function(e) {
8770
8776
  function _(e2) {
8771
- return e2 && typeof e2 == "object" && "default" in e2 ? e2 : { default: e2 };
8777
+ return e2 && "object" == typeof e2 && "default" in e2 ? e2 : { default: e2 };
8772
8778
  }
8773
8779
  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) {
8774
- return _2 === "W" ? e2 + "\u5468" : e2 + "\u65E5";
8780
+ return "W" === _2 ? e2 + "\u5468" : e2 + "\u65E5";
8775
8781
  }, 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) {
8776
8782
  var t2 = 100 * e2 + _2;
8777
8783
  return t2 < 600 ? "\u51CC\u6668" : t2 < 900 ? "\u65E9\u4E0A" : t2 < 1100 ? "\u4E0A\u5348" : t2 < 1300 ? "\u4E2D\u5348" : t2 < 1800 ? "\u4E0B\u5348" : "\u665A\u4E0A";
@@ -8779,8 +8785,12 @@ var zhCn = { exports: {} };
8779
8785
  return t.default.locale(d, null, true), d;
8780
8786
  });
8781
8787
  })(zhCn);
8782
- const _hoisted_1 = { class: "dt-theme" };
8788
+ const _hoisted_1 = {
8789
+ key: 0,
8790
+ class: "dt-theme"
8791
+ };
8783
8792
  const _sfc_main = /* @__PURE__ */ defineComponent({
8793
+ __name: "theme",
8784
8794
  setup(__props) {
8785
8795
  dayjs.locale("zh-cn");
8786
8796
  const wrapperRef = ref(null);
@@ -8788,6 +8798,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8788
8798
  const { getShowFullHeaderRef, getFixed, getHeaderHeight } = useHeader();
8789
8799
  const { getSplit, getShowMenu, getShowSidebar } = useMenu();
8790
8800
  const { getFooter, getShowFooter } = useTheme();
8801
+ const { getAppConf } = useAppStore();
8791
8802
  const { height } = unref(getFooter);
8792
8803
  const layoutClass = computed(() => {
8793
8804
  let cls = "ant-layout";
@@ -8810,13 +8821,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8810
8821
  };
8811
8822
  });
8812
8823
  return (_ctx, _cache) => {
8824
+ var _a;
8813
8825
  const _component_router_view = resolveComponent("router-view");
8814
- return openBlock(), createElementBlock("div", _hoisted_1, [
8826
+ return unref(currentRoute).fullPath && ((_a = unref(getAppConf)) == null ? void 0 : _a.router.unRequireAuthPage.length) ? (openBlock(), createElementBlock("div", _hoisted_1, [
8815
8827
  createVNode(unref(ConfigProvider), { locale: unref(zhCN) }, {
8816
8828
  default: withCtx(() => {
8817
- var _a;
8829
+ var _a2;
8818
8830
  return [
8819
- ((_a = unref(currentRoute).meta) == null ? void 0 : _a.requiresAuth) === false ? (openBlock(), createBlock(_component_router_view, { key: 0 })) : (openBlock(), createBlock(unref(Layout), {
8831
+ ((_a2 = unref(getAppConf)) == null ? void 0 : _a2.router.unRequireAuthPage.includes(unref(currentRoute).fullPath)) ? (openBlock(), createBlock(_component_router_view, { key: 0 })) : (openBlock(), createBlock(unref(Layout), {
8820
8832
  key: 1,
8821
8833
  class: "dt-theme"
8822
8834
  }, {
@@ -8861,8 +8873,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8861
8873
  }),
8862
8874
  _: 1
8863
8875
  }, 8, ["locale"])
8864
- ]);
8876
+ ])) : createCommentVNode("", true);
8865
8877
  };
8866
8878
  }
8867
8879
  });
8868
- export { DtBaseRouter, DtForm, _sfc_main$v as DtIFrame, DtIcon, _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 };
8880
+ 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 };