@ditari/bsui 5.0.6 → 5.0.8

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 (70) hide show
  1. package/dist/cjs/components/date/RangePicker.vue2.cjs +7 -20
  2. package/dist/cjs/components/date/RangePicker.vue2.cjs.map +1 -1
  3. package/dist/cjs/components/index.cjs +6 -0
  4. package/dist/cjs/components/index.cjs.map +1 -1
  5. package/dist/cjs/components/layout/Layout.vue2.cjs +40 -54
  6. package/dist/cjs/components/layout/Layout.vue2.cjs.map +1 -1
  7. package/dist/cjs/components/layout/List.cjs +27 -19
  8. package/dist/cjs/components/layout/List.cjs.map +1 -1
  9. package/dist/cjs/components/layout/Show.cjs +55 -34
  10. package/dist/cjs/components/layout/Show.cjs.map +1 -1
  11. package/dist/cjs/components/layout/components/index.cjs +26 -0
  12. package/dist/cjs/components/layout/components/index.cjs.map +1 -0
  13. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs +4 -2
  14. package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs.map +1 -1
  15. package/dist/cjs/components/layout/components/layout/ThemeApp.vue2.cjs +1 -1
  16. package/dist/cjs/components/layout/components/layout/ThemeApp.vue2.cjs.map +1 -1
  17. package/dist/cjs/components/layout/components/menu/Menu.cjs +18 -14
  18. package/dist/cjs/components/layout/components/menu/Menu.cjs.map +1 -1
  19. package/dist/cjs/components/layout/index.cjs +11 -4
  20. package/dist/cjs/components/layout/index.cjs.map +1 -1
  21. package/dist/cjs/components/tab/Search.cjs +15 -6
  22. package/dist/cjs/components/tab/Search.cjs.map +1 -1
  23. package/dist/cjs/components/tab/Tab.vue2.cjs +1 -1
  24. package/dist/cjs/components/tab/Tab.vue2.cjs.map +1 -1
  25. package/dist/cjs/index.cjs +6 -0
  26. package/dist/cjs/index.cjs.map +1 -1
  27. package/dist/css/components/layout/components/settings/style/index.css +1 -1
  28. package/dist/css/index.css +1 -1
  29. package/dist/esm/components/date/RangePicker.vue2.mjs +8 -21
  30. package/dist/esm/components/date/RangePicker.vue2.mjs.map +1 -1
  31. package/dist/esm/components/index.mjs +3 -0
  32. package/dist/esm/components/index.mjs.map +1 -1
  33. package/dist/esm/components/layout/Layout.vue2.mjs +44 -58
  34. package/dist/esm/components/layout/Layout.vue2.mjs.map +1 -1
  35. package/dist/esm/components/layout/List.mjs +29 -21
  36. package/dist/esm/components/layout/List.mjs.map +1 -1
  37. package/dist/esm/components/layout/Show.mjs +57 -36
  38. package/dist/esm/components/layout/Show.mjs.map +1 -1
  39. package/dist/esm/components/layout/components/index.mjs +22 -0
  40. package/dist/esm/components/layout/components/index.mjs.map +1 -0
  41. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs +4 -2
  42. package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs.map +1 -1
  43. package/dist/esm/components/layout/components/layout/ThemeApp.vue2.mjs +1 -1
  44. package/dist/esm/components/layout/components/layout/ThemeApp.vue2.mjs.map +1 -1
  45. package/dist/esm/components/layout/components/menu/Menu.mjs +19 -15
  46. package/dist/esm/components/layout/components/menu/Menu.mjs.map +1 -1
  47. package/dist/esm/components/layout/index.mjs +8 -4
  48. package/dist/esm/components/layout/index.mjs.map +1 -1
  49. package/dist/esm/components/tab/Search.mjs +15 -6
  50. package/dist/esm/components/tab/Search.mjs.map +1 -1
  51. package/dist/esm/components/tab/Tab.vue2.mjs +1 -1
  52. package/dist/esm/components/tab/Tab.vue2.mjs.map +1 -1
  53. package/dist/esm/index.mjs +3 -0
  54. package/dist/esm/index.mjs.map +1 -1
  55. package/dist/style/index.scss +18 -0
  56. package/dist/style/layout/components/settings/style/index.scss +1 -1
  57. package/dist/types/components/layout/Layout.vue.d.ts +7 -12
  58. package/dist/types/components/layout/Layout.vue.d.ts.map +1 -1
  59. package/dist/types/components/layout/List.d.ts.map +1 -1
  60. package/dist/types/components/layout/Show.d.ts.map +1 -1
  61. package/dist/types/components/layout/components/index.d.ts +5 -0
  62. package/dist/types/components/layout/components/index.d.ts.map +1 -0
  63. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts +4 -2
  64. package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts.map +1 -1
  65. package/dist/types/components/layout/components/menu/Menu.d.ts.map +1 -1
  66. package/dist/types/components/layout/index.d.ts +1 -0
  67. package/dist/types/components/layout/index.d.ts.map +1 -1
  68. package/dist/types/components/tab/Search.d.ts.map +1 -1
  69. package/dist/types/components/tab/Tab.vue.d.ts +2 -2
  70. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, watch, resolveComponent, createElementBlock, openBlock, Fragment, createTextVNode, createVNode, toDisplayString } from 'vue';
1
+ import { defineComponent, ref, watch, resolveComponent, createBlock, openBlock } from 'vue';
2
2
  import dayjs from '../../_virtual/dayjs.min.mjs';
3
3
 
4
4
  "use strict";
@@ -70,26 +70,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
70
70
  };
71
71
  return (_ctx, _cache) => {
72
72
  const _component_a_range_picker = resolveComponent("a-range-picker");
73
- return openBlock(), createElementBlock(
74
- Fragment,
75
- null,
76
- [
77
- createTextVNode(
78
- toDisplayString(innerValue.value) + " ",
79
- 1
80
- /* TEXT */
81
- ),
82
- createVNode(_component_a_range_picker, {
83
- style: { "width": "100%" },
84
- value: innerValue.value,
85
- "onUpdate:value": _cache[0] || (_cache[0] = ($event) => innerValue.value = $event),
86
- placeholder: ["\u5F00\u59CB\u65F6\u95F4", "\u7ED3\u675F\u65F6\u95F4"],
87
- onChange: handleChange
88
- }, null, 8, ["value"])
89
- ],
90
- 64
91
- /* STABLE_FRAGMENT */
92
- );
73
+ return openBlock(), createBlock(_component_a_range_picker, {
74
+ style: { "width": "100%" },
75
+ value: innerValue.value,
76
+ "onUpdate:value": _cache[0] || (_cache[0] = ($event) => innerValue.value = $event),
77
+ placeholder: ["\u5F00\u59CB\u65F6\u95F4", "\u7ED3\u675F\u65F6\u95F4"],
78
+ onChange: handleChange
79
+ }, null, 8, ["value"]);
93
80
  };
94
81
  }
95
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RangePicker.vue2.mjs","sources":["../../../../src/components/date/RangePicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, watch } from \"vue\";\r\n\r\nimport type { RangeValue } from \"ant-design-vue/es/vc-picker/interface\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport dayjs from \"dayjs\";\r\n\r\n// 定义 props 类型\r\ninterface Props {\r\n value: Record<string, unknown>; // 使用 any 以兼容任意字段\r\n startField?: string;\r\n endField?: string;\r\n format?: string;\r\n}\r\n\r\nconst props = defineProps({\n value: { type: Object, required: true, default: () => ({}) },\n startField: { type: String, required: false, default: \"startTime\" },\n endField: { type: String, required: false, default: \"endTime\" },\n format: { type: String, required: false, default: \"YYYY-MM-DD\" }\n});\r\n\r\n// 定义 emits 类型\r\nconst emits = defineEmits([\"update:value\", \"change\"]);\r\n\r\n// 定义 innerValue 的类型为 RangeValue<Dayjs>\r\nconst innerValue = ref<RangeValue<Dayjs>>(null);\r\n\r\n// 监听外部 value 变化,更新内部值\r\nwatch(\r\n () => props.value,\r\n newVal => {\r\n if (newVal[props.startField] && newVal[props.endField]) {\r\n innerValue.value = [\r\n dayjs(newVal[props.startField] as string),\r\n dayjs(newVal[props.endField] as string)\r\n ];\r\n } else {\r\n innerValue.value = null;\r\n }\r\n },\r\n { immediate: true, deep: true }\r\n);\r\n\r\n// 处理日期变化\r\nconst handleChange = (dates: RangeValue<Dayjs>) => {\r\n if (dates && dates.length === 2) {\r\n const [startTime, endTime] = dates;\r\n\r\n // 创建一个新对象,保留原 params 的其他属性\r\n const formattedValue = {\r\n ...props.value, // 保留原对象的所有属性\r\n [props.startField]: startTime ? startTime.format(props.format) : null,\r\n [props.endField]: endTime ? endTime.format(props.format) : null\r\n };\r\n\r\n emits(\"update:value\", formattedValue);\r\n emits(\"change\", formattedValue);\r\n } else {\r\n // 如果日期为空,则清空 startField 和 endField\r\n const formattedValue = {\r\n ...props.value, // 保留原对象的所有属性\r\n [props.startField]: null,\r\n [props.endField]: null\r\n };\r\n\r\n emits(\"update:value\", formattedValue);\r\n emits(\"change\", formattedValue);\r\n }\r\n};\r\n</script>\r\n\r\n<template>\r\n {{ innerValue }}\r\n <a-range-picker\r\n style=\"width: 100%\"\r\n v-model:value=\"innerValue\"\r\n :placeholder=\"['开始时间', '结束时间']\"\r\n @change=\"handleChange\"\r\n />\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAQd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAGd,IAAM,MAAA,UAAA,GAAa,IAAuB,IAAI,CAAA;AAG9C,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACR,QAAA,IAAI,OAAO,KAAM,CAAA,UAAU,KAAK,MAAO,CAAA,KAAA,CAAM,QAAQ,CAAG,EAAA;AACtD,UAAA,UAAA,CAAW,KAAQ,GAAA;AAAA,YACjB,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,UAAU,CAAW,CAAA;AAAA,YACxC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,QAAQ,CAAW;AAAA,WACxC;AAAA,SACK,MAAA;AACL,UAAA,UAAA,CAAW,KAAQ,GAAA,IAAA;AAAA;AACrB,OACF;AAAA,MACA,EAAE,SAAA,EAAW,IAAM,EAAA,IAAA,EAAM,IAAK;AAAA,KAChC;AAGA,IAAM,MAAA,YAAA,GAAe,CAAC,KAA6B,KAAA;AACjD,MAAI,IAAA,KAAA,IAAS,KAAM,CAAA,MAAA,KAAW,CAAG,EAAA;AAC/B,QAAM,MAAA,CAAC,SAAW,EAAA,OAAO,CAAI,GAAA,KAAA;AAG7B,QAAM,MAAA,cAAA,GAAiB,aAClB,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAM,KADY,CAAA,EAAA;AAAA;AAAA,UAErB,CAAC,MAAM,UAAU,GAAG,YAAY,SAAU,CAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAI,GAAA,IAAA;AAAA,UACjE,CAAC,MAAM,QAAQ,GAAG,UAAU,OAAQ,CAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAI,GAAA;AAAA,SAC7D,CAAA;AAEA,QAAA,KAAA,CAAM,gBAAgB,cAAc,CAAA;AACpC,QAAA,KAAA,CAAM,UAAU,cAAc,CAAA;AAAA,OACzB,MAAA;AAEL,QAAM,MAAA,cAAA,GAAiB,aAClB,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAM,KADY,CAAA,EAAA;AAAA;AAAA,UAErB,CAAC,KAAM,CAAA,UAAU,GAAG,IAAA;AAAA,UACpB,CAAC,KAAM,CAAA,QAAQ,GAAG;AAAA,SACpB,CAAA;AAEA,QAAA,KAAA,CAAM,gBAAgB,cAAc,CAAA;AACpC,QAAA,KAAA,CAAM,UAAU,cAAc,CAAA;AAAA;AAChC,KACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"RangePicker.vue2.mjs","sources":["../../../../src/components/date/RangePicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, watch } from \"vue\";\r\n\r\nimport type { RangeValue } from \"ant-design-vue/es/vc-picker/interface\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport dayjs from \"dayjs\";\r\n\r\n// 定义 props 类型\r\ninterface Props {\r\n value: Record<string, unknown>; // 使用 any 以兼容任意字段\r\n startField?: string;\r\n endField?: string;\r\n format?: string;\r\n}\r\n\r\nconst props = defineProps({\n value: { type: Object, required: true, default: () => ({}) },\n startField: { type: String, required: false, default: \"startTime\" },\n endField: { type: String, required: false, default: \"endTime\" },\n format: { type: String, required: false, default: \"YYYY-MM-DD\" }\n});\r\n\r\n// 定义 emits 类型\r\nconst emits = defineEmits([\"update:value\", \"change\"]);\r\n\r\n// 定义 innerValue 的类型为 RangeValue<Dayjs>\r\nconst innerValue = ref<RangeValue<Dayjs>>(null);\r\n\r\n// 监听外部 value 变化,更新内部值\r\nwatch(\r\n () => props.value,\r\n newVal => {\r\n if (newVal[props.startField] && newVal[props.endField]) {\r\n innerValue.value = [\r\n dayjs(newVal[props.startField] as string),\r\n dayjs(newVal[props.endField] as string)\r\n ];\r\n } else {\r\n innerValue.value = null;\r\n }\r\n },\r\n { immediate: true, deep: true }\r\n);\r\n\r\n// 处理日期变化\r\nconst handleChange = (dates: RangeValue<Dayjs>) => {\r\n if (dates && dates.length === 2) {\r\n const [startTime, endTime] = dates;\r\n\r\n // 创建一个新对象,保留原 params 的其他属性\r\n const formattedValue = {\r\n ...props.value, // 保留原对象的所有属性\r\n [props.startField]: startTime ? startTime.format(props.format) : null,\r\n [props.endField]: endTime ? endTime.format(props.format) : null\r\n };\r\n\r\n emits(\"update:value\", formattedValue);\r\n emits(\"change\", formattedValue);\r\n } else {\r\n // 如果日期为空,则清空 startField 和 endField\r\n const formattedValue = {\r\n ...props.value, // 保留原对象的所有属性\r\n [props.startField]: null,\r\n [props.endField]: null\r\n };\r\n\r\n emits(\"update:value\", formattedValue);\r\n emits(\"change\", formattedValue);\r\n }\r\n};\r\n</script>\r\n\r\n<template>\r\n <a-range-picker\r\n style=\"width: 100%\"\r\n v-model:value=\"innerValue\"\r\n :placeholder=\"['开始时间', '结束时间']\"\r\n @change=\"handleChange\"\r\n />\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAQd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAGd,IAAM,MAAA,UAAA,GAAa,IAAuB,IAAI,CAAA;AAG9C,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACR,QAAA,IAAI,OAAO,KAAM,CAAA,UAAU,KAAK,MAAO,CAAA,KAAA,CAAM,QAAQ,CAAG,EAAA;AACtD,UAAA,UAAA,CAAW,KAAQ,GAAA;AAAA,YACjB,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,UAAU,CAAW,CAAA;AAAA,YACxC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,QAAQ,CAAW;AAAA,WACxC;AAAA,SACK,MAAA;AACL,UAAA,UAAA,CAAW,KAAQ,GAAA,IAAA;AAAA;AACrB,OACF;AAAA,MACA,EAAE,SAAA,EAAW,IAAM,EAAA,IAAA,EAAM,IAAK;AAAA,KAChC;AAGA,IAAM,MAAA,YAAA,GAAe,CAAC,KAA6B,KAAA;AACjD,MAAI,IAAA,KAAA,IAAS,KAAM,CAAA,MAAA,KAAW,CAAG,EAAA;AAC/B,QAAM,MAAA,CAAC,SAAW,EAAA,OAAO,CAAI,GAAA,KAAA;AAG7B,QAAM,MAAA,cAAA,GAAiB,aAClB,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAM,KADY,CAAA,EAAA;AAAA;AAAA,UAErB,CAAC,MAAM,UAAU,GAAG,YAAY,SAAU,CAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAI,GAAA,IAAA;AAAA,UACjE,CAAC,MAAM,QAAQ,GAAG,UAAU,OAAQ,CAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAI,GAAA;AAAA,SAC7D,CAAA;AAEA,QAAA,KAAA,CAAM,gBAAgB,cAAc,CAAA;AACpC,QAAA,KAAA,CAAM,UAAU,cAAc,CAAA;AAAA,OACzB,MAAA;AAEL,QAAM,MAAA,cAAA,GAAiB,aAClB,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAM,KADY,CAAA,EAAA;AAAA;AAAA,UAErB,CAAC,KAAM,CAAA,UAAU,GAAG,IAAA;AAAA,UACpB,CAAC,KAAM,CAAA,QAAQ,GAAG;AAAA,SACpB,CAAA;AAEA,QAAA,KAAA,CAAM,gBAAgB,cAAc,CAAA;AACpC,QAAA,KAAA,CAAM,UAAU,cAAc,CAAA;AAAA;AAChC,KACF;;;;;;;;;;;;;;;;"}
@@ -12,6 +12,9 @@ export { default as RangePicker } from './date/RangePicker.vue2.mjs';
12
12
  export { default as FormLayout } from './form/FormLayout.mjs';
13
13
  export { default as Moon } from './icon/Moon.vue.mjs';
14
14
  export { default as Sun } from './icon/Sun.vue.mjs';
15
+ export { default as AppTheme } from './layout/components/layout/ThemeApp.vue2.mjs';
16
+ export { default as HeaderLayout } from './layout/components/layout/HeaderLayout.vue2.mjs';
17
+ export { default as Menu } from './layout/components/menu/Menu.mjs';
15
18
  export { default as Layout } from './layout/Layout.vue2.mjs';
16
19
  export { default as List } from './layout/List.mjs';
17
20
  export { default as Show } from './layout/Show.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
@@ -1,18 +1,17 @@
1
- import { defineComponent, watch, ref, computed, resolveComponent, createElementBlock, openBlock, Fragment, createVNode, withCtx, normalizeClass, unref, renderSlot } from 'vue';
1
+ import { defineComponent, watch, ref, provide, computed, resolveComponent, createElementBlock, openBlock, Fragment, createVNode, normalizeClass, unref, withCtx, createElementVNode, renderSlot } from 'vue';
2
2
  import { useRoute } from 'vue-router';
3
3
  import { storeToRefs } from 'pinia';
4
- import DMenu from './components/menu/Menu.mjs';
4
+ import Menu from './components/menu/Menu.mjs';
5
5
  import SettingDrawer from './components/settings/SettingDrawer.mjs';
6
6
  import { useAppStore, useKeepAliveStore } from '@ditari/store';
7
7
  import { css } from '@emotion/css';
8
8
  import './components/layout/HeaderLayout.vue.mjs';
9
9
  import './components/layout/RouterContent.vue.mjs';
10
- import './components/layout/ThemeApp.vue.mjs';
11
- import _sfc_main$1 from './components/layout/ThemeApp.vue2.mjs';
12
- import _sfc_main$2 from './components/layout/HeaderLayout.vue2.mjs';
13
- import _sfc_main$3 from './components/layout/RouterContent.vue2.mjs';
10
+ import _sfc_main$1 from './components/layout/HeaderLayout.vue2.mjs';
11
+ import _sfc_main$2 from './components/layout/RouterContent.vue2.mjs';
14
12
 
15
13
  "use strict";
14
+ const _hoisted_1 = { class: "app-side" };
16
15
  var _sfc_main = /* @__PURE__ */ defineComponent({
17
16
  __name: "Layout",
18
17
  props: {
@@ -22,11 +21,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
22
21
  },
23
22
  setup(__props) {
24
23
  const props = __props;
25
- const { layout } = storeToRefs(useAppStore());
24
+ const { layout, modeConfig, sideTokenStyle } = storeToRefs(useAppStore());
26
25
  const route = useRoute();
27
26
  const { layoutStyle, siderStyle, rightStyle, rightContentStyle } = useStyle();
28
27
  useKeepAlive();
29
- const { watermarkContent } = useWatermark();
28
+ useWatermark();
30
29
  function useKeepAlive() {
31
30
  const { save } = useKeepAliveStore();
32
31
  watch(
@@ -40,17 +39,15 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
40
39
  );
41
40
  }
42
41
  function useWatermark() {
43
- const watermarkContent2 = ref("");
42
+ const watermarkContent = ref("");
43
+ provide("watermarkContent", watermarkContent);
44
44
  watch(
45
45
  () => props.watermark,
46
46
  (val) => {
47
- watermarkContent2.value = val.content || "";
47
+ watermarkContent.value = val.content || "";
48
48
  },
49
49
  { deep: true, immediate: true }
50
50
  );
51
- return {
52
- watermarkContent: watermarkContent2
53
- };
54
51
  }
55
52
  function useStyle() {
56
53
  const layoutStyle2 = css`
@@ -68,11 +65,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
68
65
  top: 0;
69
66
  bottom: 0;
70
67
  left: 0;
68
+ z-index: 1;
71
69
  width: ${layout.value.sideWidth}px;
72
70
 
73
- .ant-layout-sider-children {
71
+ .app-side {
72
+ height: 100%;
74
73
  display: flex;
75
74
  flex-direction: column;
75
+ ${modeConfig.value.mode === "light" ? `background:${sideTokenStyle.value.bgColor};` : ""}
76
76
  }
77
77
  `
78
78
  );
@@ -97,66 +97,52 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
97
97
  return (_ctx, _cache) => {
98
98
  const _component_a_layout_sider = resolveComponent("a-layout-sider");
99
99
  const _component_a_layout_content = resolveComponent("a-layout-content");
100
- const _component_a_watermark = resolveComponent("a-watermark");
101
100
  const _component_a_layout = resolveComponent("a-layout");
102
101
  const _component_a_back_top = resolveComponent("a-back-top");
103
102
  return openBlock(), createElementBlock(
104
103
  Fragment,
105
104
  null,
106
105
  [
107
- createVNode(_sfc_main$1, null, {
106
+ createVNode(_component_a_layout, {
107
+ class: normalizeClass(unref(layoutStyle))
108
+ }, {
108
109
  default: withCtx(() => [
110
+ createVNode(_component_a_layout_sider, {
111
+ collapsed: unref(layout).collapsed,
112
+ "onUpdate:collapsed": _cache[0] || (_cache[0] = ($event) => unref(layout).collapsed = $event),
113
+ theme: "light",
114
+ collapsible: "",
115
+ trigger: null,
116
+ class: normalizeClass(unref(siderStyle))
117
+ }, {
118
+ default: withCtx(() => [
119
+ createElementVNode("div", _hoisted_1, [
120
+ renderSlot(_ctx.$slots, "logo"),
121
+ createVNode(unref(Menu))
122
+ ])
123
+ ]),
124
+ _: 3
125
+ /* FORWARDED */
126
+ }, 8, ["collapsed", "class"]),
109
127
  createVNode(_component_a_layout, {
110
- class: normalizeClass(unref(layoutStyle))
128
+ class: normalizeClass(unref(rightStyle))
111
129
  }, {
112
130
  default: withCtx(() => [
113
- createVNode(_component_a_layout_sider, {
114
- collapsed: unref(layout).collapsed,
115
- "onUpdate:collapsed": _cache[0] || (_cache[0] = ($event) => unref(layout).collapsed = $event),
116
- theme: "light",
117
- collapsible: "",
118
- trigger: null,
119
- class: normalizeClass(unref(siderStyle))
120
- }, {
131
+ createVNode(_sfc_main$1, null, {
121
132
  default: withCtx(() => [
122
- renderSlot(_ctx.$slots, "logo"),
123
- createVNode(unref(DMenu))
133
+ renderSlot(_ctx.$slots, "headerRight")
124
134
  ]),
125
135
  _: 3
126
136
  /* FORWARDED */
127
- }, 8, ["collapsed", "class"]),
128
- createVNode(_component_a_layout, {
129
- class: normalizeClass(unref(rightStyle))
137
+ }),
138
+ createVNode(_component_a_layout_content, {
139
+ class: normalizeClass(unref(rightContentStyle))
130
140
  }, {
131
141
  default: withCtx(() => [
132
- createVNode(_component_a_watermark, {
133
- content: unref(watermarkContent),
134
- style: { "display": "flex", "height": "100%" }
135
- }, {
136
- default: withCtx(() => [
137
- createVNode(_sfc_main$2, null, {
138
- default: withCtx(() => [
139
- renderSlot(_ctx.$slots, "headerRight")
140
- ]),
141
- _: 3
142
- /* FORWARDED */
143
- }),
144
- createVNode(_component_a_layout_content, {
145
- class: normalizeClass(unref(rightContentStyle))
146
- }, {
147
- default: withCtx(() => [
148
- createVNode(_sfc_main$3)
149
- ]),
150
- _: 1
151
- /* STABLE */
152
- }, 8, ["class"])
153
- ]),
154
- _: 3
155
- /* FORWARDED */
156
- }, 8, ["content"])
142
+ createVNode(_sfc_main$2)
157
143
  ]),
158
- _: 3
159
- /* FORWARDED */
144
+ _: 1
145
+ /* STABLE */
160
146
  }, 8, ["class"])
161
147
  ]),
162
148
  _: 3
@@ -165,7 +151,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
165
151
  ]),
166
152
  _: 3
167
153
  /* FORWARDED */
168
- }),
154
+ }, 8, ["class"]),
169
155
  createVNode(unref(SettingDrawer)),
170
156
  createVNode(_component_a_back_top)
171
157
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.vue2.mjs","sources":["../../../../src/components/layout/Layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, ref, watch } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport DMenu from \"./components/menu/Menu\";\r\nimport SettingDrawer from \"./components/settings/SettingDrawer\";\r\nimport { useAppStore, useKeepAliveStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nimport HeaderLayout from \"./components/layout/HeaderLayout.vue\";\r\nimport RouterContent from \"./components/layout/RouterContent.vue\";\r\nimport AppTheme from \"./components/layout/ThemeApp.vue\";\r\n\r\nconst props = defineProps({\n watermark: { type: Object, required: false, default: () => ({\r\n content: \"\"\r\n }) }\n});\r\n\r\nconst { layout } = storeToRefs(useAppStore());\r\nconst route = useRoute();\r\n\r\nconst { layoutStyle, siderStyle, rightStyle, rightContentStyle } = useStyle();\r\nuseKeepAlive();\r\nconst { watermarkContent } = useWatermark();\r\n\r\nfunction useKeepAlive() {\r\n // 保存需要被缓存的标签\r\n const { save } = useKeepAliveStore();\r\n\r\n watch(\r\n () => route.path,\r\n () => {\r\n save(route);\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n}\r\n\r\nfunction useWatermark() {\r\n const watermarkContent = ref(\"\");\r\n // 监听 watermark 的变化\r\n watch(\r\n () => props.watermark,\r\n val => {\r\n watermarkContent.value = val.content || \"\";\r\n },\r\n { deep: true, immediate: true }\r\n );\r\n\r\n return {\r\n watermarkContent\r\n };\r\n}\r\n\r\nfunction useStyle() {\r\n const layoutStyle = css`\r\n height: 100%;\r\n `;\r\n\r\n const transitionStyle = css`\r\n transition: margin-left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `;\r\n\r\n const left = computed(\r\n () =>\r\n `${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px`\r\n );\r\n\r\n const siderStyle = computed(\r\n () => css`\r\n position: fixed !important;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n width: ${layout.value.sideWidth}px;\r\n\r\n .ant-layout-sider-children {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n `\r\n );\r\n\r\n const rightStyle = computed(\r\n () => css`\r\n margin-left: ${left.value};\r\n ${transitionStyle}\r\n `\r\n );\r\n\r\n const rightContentStyle = computed(\r\n () => css`\r\n padding-top: ${layout.value.headerHeight}px;\r\n `\r\n );\r\n\r\n return {\r\n layoutStyle,\r\n siderStyle,\r\n rightStyle,\r\n rightContentStyle\r\n };\r\n}\r\n</script>\r\n\r\n<template>\r\n <app-theme>\r\n <a-layout :class=\"layoutStyle\">\r\n <a-layout-sider\r\n v-model:collapsed=\"layout.collapsed\"\r\n theme=\"light\"\r\n collapsible\r\n :trigger=\"null\"\r\n :class=\"siderStyle\"\r\n >\r\n <slot name=\"logo\"></slot>\r\n <d-menu />\r\n </a-layout-sider>\r\n <a-layout :class=\"rightStyle\">\r\n <a-watermark\r\n :content=\"watermarkContent\"\r\n style=\"display: flex; height: 100%\"\r\n >\r\n <header-layout>\r\n <slot name=\"headerRight\"></slot>\r\n </header-layout>\r\n <a-layout-content :class=\"rightContentStyle\">\r\n <RouterContent />\r\n </a-layout-content>\r\n </a-watermark>\r\n </a-layout>\r\n </a-layout>\r\n </app-theme>\r\n <SettingDrawer />\r\n <a-back-top></a-back-top>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["watermarkContent","layoutStyle","siderStyle","rightStyle","rightContentStyle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAMd,IAAA,MAAM,EAAE,MAAA,EAAW,GAAA,WAAA,CAAY,aAAa,CAAA;AAC5C,IAAA,MAAM,QAAQ,QAAS,EAAA;AAEvB,IAAA,MAAM,EAAE,WAAa,EAAA,UAAA,EAAY,UAAY,EAAA,iBAAA,KAAsB,QAAS,EAAA;AAC5E,IAAa,YAAA,EAAA;AACb,IAAM,MAAA,EAAE,gBAAiB,EAAA,GAAI,YAAa,EAAA;AAE1C,IAAA,SAAS,YAAe,GAAA;AAEtB,MAAM,MAAA,EAAE,IAAK,EAAA,GAAI,iBAAkB,EAAA;AAEnC,MAAA,KAAA;AAAA,QACE,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,MAAM;AACJ,UAAA,IAAA,CAAK,KAAK,CAAA;AAAA,SACZ;AAAA,QACA;AAAA,UACE,SAAW,EAAA;AAAA;AACb,OACF;AAAA;AAGF,IAAA,SAAS,YAAe,GAAA;AACtB,MAAMA,MAAAA,iBAAAA,GAAmB,IAAI,EAAE,CAAA;AAE/B,MAAA,KAAA;AAAA,QACE,MAAM,KAAM,CAAA,SAAA;AAAA,QACZ,CAAO,GAAA,KAAA;AACL,UAAAA,iBAAAA,CAAiB,KAAQ,GAAA,GAAA,CAAI,OAAW,IAAA,EAAA;AAAA,SAC1C;AAAA,QACA,EAAE,IAAA,EAAM,IAAM,EAAA,SAAA,EAAW,IAAK;AAAA,OAChC;AAEA,MAAO,OAAA;AAAA,QACL,gBAAAA,EAAAA;AAAA,OACF;AAAA;AAGF,IAAA,SAAS,QAAW,GAAA;AAClB,MAAA,MAAMC,YAAc,GAAA,GAAA;AAAA;AAAA,EAAA,CAAA;AAIpB,MAAA,MAAM,eAAkB,GAAA,GAAA;AAAA;AAAA,EAAA,CAAA;AAIxB,MAAA,MAAM,IAAO,GAAA,QAAA;AAAA,QACX,MACE,CAAG,EAAA,MAAA,CAAO,KAAM,CAAA,SAAA,GAAY,OAAO,KAAM,CAAA,cAAA,GAAiB,MAAO,CAAA,KAAA,CAAM,SAAS,CAAA,EAAA;AAAA,OACpF;AAEA,MAAA,MAAMC,WAAa,GAAA,QAAA;AAAA,QACjB,MAAM,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAKK,EAAA,MAAA,CAAO,MAAM,SAAS,CAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,OAOnC;AAEA,MAAA,MAAMC,WAAa,GAAA,QAAA;AAAA,QACjB,MAAM,GAAA;AAAA,mBAAA,EACW,KAAK,KAAK,CAAA;AAAA,MAAA,EACvB,eAAe;AAAA,IAAA;AAAA,OAErB;AAEA,MAAA,MAAMC,kBAAoB,GAAA,QAAA;AAAA,QACxB,MAAM,GAAA;AAAA,mBACW,EAAA,MAAA,CAAO,MAAM,YAAY,CAAA;AAAA,IAAA;AAAA,OAE5C;AAEA,MAAO,OAAA;AAAA,QACL,WAAAH,EAAAA,YAAAA;AAAA,QACA,UAAAC,EAAAA,WAAAA;AAAA,QACA,UAAAC,EAAAA,WAAAA;AAAA,QACA,iBAAAC,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Layout.vue2.mjs","sources":["../../../../src/components/layout/Layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, provide, ref, watch } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport DMenu from \"./components/menu/Menu\";\r\nimport SettingDrawer from \"./components/settings/SettingDrawer\";\r\nimport { useAppStore, useKeepAliveStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nimport HeaderLayout from \"./components/layout/HeaderLayout.vue\";\r\nimport RouterContent from \"./components/layout/RouterContent.vue\";\r\nimport AppTheme from \"./components/layout/ThemeApp.vue\";\r\n\r\nconst props = defineProps({\n watermark: { type: Object, required: false, default: () => ({\r\n content: \"\"\r\n }) }\n});\r\n\r\nconst { layout, modeConfig, sideTokenStyle } = storeToRefs(useAppStore());\r\nconst route = useRoute();\r\n\r\nconst { layoutStyle, siderStyle, rightStyle, rightContentStyle } = useStyle();\r\nuseKeepAlive();\r\nuseWatermark();\r\n\r\nfunction useKeepAlive() {\r\n // 保存需要被缓存的标签\r\n const { save } = useKeepAliveStore();\r\n\r\n watch(\r\n () => route.path,\r\n () => {\r\n save(route);\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n}\r\n\r\nfunction useWatermark() {\r\n const watermarkContent = ref(\"\");\r\n provide(\"watermarkContent\", watermarkContent);\r\n // 监听 watermark 的变化\r\n watch(\r\n () => props.watermark,\r\n val => {\r\n watermarkContent.value = val.content || \"\";\r\n },\r\n { deep: true, immediate: true }\r\n );\r\n}\r\n\r\nfunction useStyle() {\r\n const layoutStyle = css`\r\n height: 100%;\r\n `;\r\n\r\n const transitionStyle = css`\r\n transition: margin-left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `;\r\n\r\n const left = computed(\r\n () =>\r\n `${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px`\r\n );\r\n\r\n const siderStyle = computed(\r\n () => css`\r\n position: fixed !important;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n width: ${layout.value.sideWidth}px;\r\n\r\n .app-side {\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n ${modeConfig.value.mode === \"light\"\r\n ? `background:${sideTokenStyle.value.bgColor};`\r\n : \"\"}\r\n }\r\n `\r\n );\r\n\r\n const rightStyle = computed(\r\n () => css`\r\n margin-left: ${left.value};\r\n ${transitionStyle}\r\n `\r\n );\r\n\r\n const rightContentStyle = computed(\r\n () => css`\r\n padding-top: ${layout.value.headerHeight}px;\r\n `\r\n );\r\n\r\n return {\r\n layoutStyle,\r\n siderStyle,\r\n rightStyle,\r\n rightContentStyle\r\n };\r\n}\r\n</script>\r\n\r\n<template>\r\n <a-layout :class=\"layoutStyle\">\r\n <a-layout-sider\r\n v-model:collapsed=\"layout.collapsed\"\r\n theme=\"light\"\r\n collapsible\r\n :trigger=\"null\"\r\n :class=\"siderStyle\"\r\n >\r\n <div class=\"app-side\">\r\n <slot name=\"logo\"></slot>\r\n <d-menu />\r\n </div>\r\n </a-layout-sider>\r\n <a-layout :class=\"rightStyle\">\r\n <header-layout>\r\n <slot name=\"headerRight\"></slot>\r\n </header-layout>\r\n <a-layout-content :class=\"rightContentStyle\">\r\n <RouterContent />\r\n </a-layout-content>\r\n </a-layout>\r\n </a-layout>\r\n <SettingDrawer />\r\n <a-back-top></a-back-top>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["layoutStyle","siderStyle","rightStyle","rightContentStyle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAcA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAMd,IAAA,MAAM,EAAE,MAAQ,EAAA,UAAA,EAAY,gBAAmB,GAAA,WAAA,CAAY,aAAa,CAAA;AACxE,IAAA,MAAM,QAAQ,QAAS,EAAA;AAEvB,IAAA,MAAM,EAAE,WAAa,EAAA,UAAA,EAAY,UAAY,EAAA,iBAAA,KAAsB,QAAS,EAAA;AAC5E,IAAa,YAAA,EAAA;AACb,IAAa,YAAA,EAAA;AAEb,IAAA,SAAS,YAAe,GAAA;AAEtB,MAAM,MAAA,EAAE,IAAK,EAAA,GAAI,iBAAkB,EAAA;AAEnC,MAAA,KAAA;AAAA,QACE,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,MAAM;AACJ,UAAA,IAAA,CAAK,KAAK,CAAA;AAAA,SACZ;AAAA,QACA;AAAA,UACE,SAAW,EAAA;AAAA;AACb,OACF;AAAA;AAGF,IAAA,SAAS,YAAe,GAAA;AACtB,MAAM,MAAA,gBAAA,GAAmB,IAAI,EAAE,CAAA;AAC/B,MAAA,OAAA,CAAQ,oBAAoB,gBAAgB,CAAA;AAE5C,MAAA,KAAA;AAAA,QACE,MAAM,KAAM,CAAA,SAAA;AAAA,QACZ,CAAO,GAAA,KAAA;AACL,UAAiB,gBAAA,CAAA,KAAA,GAAQ,IAAI,OAAW,IAAA,EAAA;AAAA,SAC1C;AAAA,QACA,EAAE,IAAA,EAAM,IAAM,EAAA,SAAA,EAAW,IAAK;AAAA,OAChC;AAAA;AAGF,IAAA,SAAS,QAAW,GAAA;AAClB,MAAA,MAAMA,YAAc,GAAA,GAAA;AAAA;AAAA,EAAA,CAAA;AAIpB,MAAA,MAAM,eAAkB,GAAA,GAAA;AAAA;AAAA,EAAA,CAAA;AAIxB,MAAA,MAAM,IAAO,GAAA,QAAA;AAAA,QACX,MACE,CAAG,EAAA,MAAA,CAAO,KAAM,CAAA,SAAA,GAAY,OAAO,KAAM,CAAA,cAAA,GAAiB,MAAO,CAAA,KAAA,CAAM,SAAS,CAAA,EAAA;AAAA,OACpF;AAEA,MAAA,MAAMC,WAAa,GAAA,QAAA;AAAA,QACjB,MAAM,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMK,EAAA,MAAA,CAAO,MAAM,SAAS,CAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,QAM3B,EAAA,UAAA,CAAW,MAAM,IAAS,KAAA,OAAA,GACxB,cAAc,cAAe,CAAA,KAAA,CAAM,OAAO,CAAA,CAAA,CAAA,GAC1C,EAAE;AAAA;AAAA,IAAA;AAAA,OAGZ;AAEA,MAAA,MAAMC,WAAa,GAAA,QAAA;AAAA,QACjB,MAAM,GAAA;AAAA,mBAAA,EACW,KAAK,KAAK,CAAA;AAAA,MAAA,EACvB,eAAe;AAAA,IAAA;AAAA,OAErB;AAEA,MAAA,MAAMC,kBAAoB,GAAA,QAAA;AAAA,QACxB,MAAM,GAAA;AAAA,mBACW,EAAA,MAAA,CAAO,MAAM,YAAY,CAAA;AAAA,IAAA;AAAA,OAE5C;AAEA,MAAO,OAAA;AAAA,QACL,WAAAH,EAAAA,YAAAA;AAAA,QACA,UAAAC,EAAAA,WAAAA;AAAA,QACA,UAAAC,EAAAA,WAAAA;AAAA,QACA,iBAAAC,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
- import { isVNode, defineComponent, computed, onMounted, ref, nextTick, watch, onUnmounted, onActivated, onDeactivated, createVNode } from 'vue';
1
+ import { isVNode, defineComponent, ref, inject, computed, onMounted, nextTick, watch, onUnmounted, onActivated, onDeactivated, createVNode } from 'vue';
2
2
  import { useRoute } from 'vue-router';
3
- import { Card, Flex, Space } from 'ant-design-vue';
3
+ import { Card, Flex, Space, Watermark } from 'ant-design-vue';
4
4
  import { storeToRefs } from 'pinia';
5
5
  import { useElementSize } from '@vueuse/core';
6
6
  import { useAppStore } from '@ditari/store';
@@ -22,6 +22,7 @@ const list = /* @__PURE__ */ defineComponent({
22
22
  slots,
23
23
  emit
24
24
  }) {
25
+ const watermarkContent = ref(inject("watermarkContent"));
25
26
  const route = useRoute();
26
27
  const {
27
28
  refresh
@@ -213,31 +214,38 @@ const list = /* @__PURE__ */ defineComponent({
213
214
  })]
214
215
  });
215
216
  }
216
- return createVNode(Flex, {
217
- "class": listStyle.value,
218
- "gap": 10,
217
+ return createVNode(Watermark, {
219
218
  "style": {
220
- height: "100%",
221
- padding: "10px"
222
- }
219
+ height: "100%"
220
+ },
221
+ "content": watermarkContent.value
223
222
  }, {
224
- default: () => [slots.left ? createVNode(Card, {
225
- "class": [cardStyle, leftCardStyle],
226
- "bordered": false,
227
- "bodyStyle": {
223
+ default: () => [createVNode(Flex, {
224
+ "class": [listStyle.value, "app-list"],
225
+ "gap": 10,
226
+ "style": {
228
227
  height: "100%",
229
228
  padding: "10px"
230
229
  }
231
230
  }, {
232
- default: () => {
233
- var _a;
234
- return [(_a = slots.left) == null ? void 0 : _a.call(slots)];
235
- }
236
- }) : null, createVNode(Flex, {
237
- "vertical": true,
238
- "flex": 1
239
- }, {
240
- default: () => [formLayout()(), tableLayout()()]
231
+ default: () => [slots.left ? createVNode(Card, {
232
+ "class": [cardStyle, leftCardStyle],
233
+ "bordered": false,
234
+ "bodyStyle": {
235
+ height: "100%",
236
+ padding: "10px"
237
+ }
238
+ }, {
239
+ default: () => {
240
+ var _a;
241
+ return [(_a = slots.left) == null ? void 0 : _a.call(slots)];
242
+ }
243
+ }) : null, createVNode(Flex, {
244
+ "vertical": true,
245
+ "flex": 1
246
+ }, {
247
+ default: () => [formLayout()(), tableLayout()()]
248
+ })]
241
249
  })]
242
250
  });
243
251
  }
@@ -1 +1 @@
1
- {"version":3,"file":"List.mjs","sources":["../../../../src/components/layout/List.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n onActivated,\r\n onDeactivated,\r\n onMounted,\r\n onUnmounted,\r\n ref,\r\n watch,\r\n type WatchStopHandle\r\n} from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { Card, Flex, Space } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useElementSize } from \"@vueuse/core\";\r\n\r\nimport { useAppStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nconst tableRootStyle = css`\r\n height: 100%;\r\n position: relative;\r\n overflow: hidden;\r\n`;\r\n\r\nconst list = defineComponent({\r\n name: \"DListLayout\",\r\n emits: [\"refresh\"],\r\n setup(_, { slots, emit }) {\r\n const route = useRoute();\r\n const { refresh } = storeToRefs(useAppStore());\r\n const { tableRef, height, tableVisible, playTableHeight } =\r\n useTableHeight();\r\n const { formRef } = useForm();\r\n useReload();\r\n // 使用 computed 来动态计算样式\r\n const maskDivStyle = computed(() => {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n background: white;\r\n display: ${tableVisible.value ? \"block\" : \"none\"};\r\n `;\r\n });\r\n\r\n const tableWrapperStyle = css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n overflow: hidden;\r\n `;\r\n\r\n const cardStyle = css`\r\n box-shadow: none !important;\r\n `;\r\n\r\n const leftCardStyle = css`\r\n .ant-card-body {\r\n overflow-y: scroll;\r\n -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */\r\n scrollbar-width: none; /* 对 Firefox 生效 */\r\n\r\n /* Webkit 浏览器 */\r\n\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n }\r\n `;\r\n\r\n const listStyle = computed(() => css``);\r\n\r\n onMounted(() => {\r\n playTableHeight();\r\n });\r\n\r\n function useTableHeight() {\r\n const tableRef = ref();\r\n const height = ref(0);\r\n const tableVisible = ref(true);\r\n\r\n function playTableHeight() {\r\n tableVisible.value = true;\r\n height.value = tableRef?.value?.$el.offsetHeight;\r\n nextTick(() => {\r\n setTimeout(() => {\r\n tableVisible.value = false;\r\n }, 10);\r\n });\r\n }\r\n\r\n return {\r\n tableRef,\r\n height,\r\n tableVisible,\r\n playTableHeight\r\n };\r\n }\r\n\r\n function useForm() {\r\n const formRef = ref(null);\r\n const { height: formHeight } = useElementSize(formRef);\r\n watch(\r\n () => formHeight.value,\r\n () => {\r\n nextTick(() => {\r\n playTableHeight();\r\n });\r\n }\r\n );\r\n\r\n return {\r\n formRef\r\n };\r\n }\r\n\r\n // 处理标签重载\r\n function useReload() {\r\n let stopHandleWatch: WatchStopHandle;\r\n // !route.meta.keepAlive\r\n if (!route.name) {\r\n stopHandleWatch = _useWatch();\r\n // 卸载未缓存的组件\r\n onUnmounted(() => {\r\n stopHandleWatch?.();\r\n });\r\n } else {\r\n // 激活缓存页面\r\n onActivated(() => {\r\n if (refresh.value) {\r\n refresh.value = false;\r\n emit(\"refresh\");\r\n }\r\n stopHandleWatch = _useWatch();\r\n });\r\n // 离开缓存页面\r\n onDeactivated(() => {\r\n stopHandleWatch?.();\r\n });\r\n }\r\n\r\n function _useWatch() {\r\n //点击了标签重载图标\r\n return watch(\r\n () => refresh.value,\r\n val => {\r\n if (val) {\r\n // 发送刷新事件到列表页面\r\n emit(\"refresh\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n function useLayout() {\r\n function formLayout() {\r\n return () =>\r\n slots.form && (\r\n <Card\r\n class={cardStyle}\r\n ref={formRef}\r\n style={{ marginBottom: \"10px\" }}\r\n bodyStyle={{ padding: \"10px 10px 0 10px\" }}\r\n bordered={false}\r\n >\r\n {slots.form()}\r\n </Card>\r\n );\r\n }\r\n\r\n function tableLayout() {\r\n return () => (\r\n <Flex flex={1} vertical={true}>\r\n <Card\r\n class={cardStyle}\r\n style={{ height: \"100%\" }}\r\n bodyStyle={{ height: \"100%\", padding: \"10px\" }}\r\n bordered={false}\r\n >\r\n <Flex style={{ height: \"100%\" }} vertical={true}>\r\n <Space style={{ marginBottom: \"6px\" }}>{slots.tools?.()}</Space>\r\n <Flex\r\n ref={tableRef}\r\n flex={1}\r\n style={{ height: \"100%\" }}\r\n vertical={true}\r\n >\r\n <div class={tableRootStyle}>\r\n <div class={maskDivStyle.value}></div>\r\n <div class={tableWrapperStyle}>\r\n {slots.table?.({ height: height.value })}\r\n </div>\r\n </div>\r\n </Flex>\r\n </Flex>\r\n </Card>\r\n </Flex>\r\n );\r\n }\r\n\r\n return (\r\n <Flex\r\n class={listStyle.value}\r\n gap={10}\r\n style={{ height: \"100%\", padding: \"10px\" }}\r\n >\r\n {slots.left ? (\r\n <Card\r\n class={[cardStyle, leftCardStyle]}\r\n bordered={false}\r\n bodyStyle={{\r\n height: \"100%\",\r\n padding: \"10px\"\r\n }}\r\n >\r\n {slots.left?.()}\r\n </Card>\r\n ) : null}\r\n <Flex vertical={true} flex={1}>\r\n {formLayout()()}\r\n {tableLayout()()}\r\n </Flex>\r\n </Flex>\r\n );\r\n }\r\n\r\n return () => useLayout();\r\n }\r\n});\r\n\r\nexport default list;\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableRootStyle","css","list","name","emits","setup","_","slots","emit","route","useRoute","refresh","storeToRefs","useAppStore","tableRef","height","tableVisible","playTableHeight","useTableHeight","formRef","useForm","useReload","maskDivStyle","computed","value","tableWrapperStyle","cardStyle","leftCardStyle","listStyle","onMounted","ref","$el","offsetHeight","nextTick","setTimeout","formHeight","useElementSize","watch","stopHandleWatch","_useWatch","onUnmounted","onActivated","onDeactivated","val","useLayout","formLayout","_slot","form","_createVNode","Card","marginBottom","padding","default","tableLayout","Flex","Space","tools","table","left"],"mappings":"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"}
1
+ {"version":3,"file":"List.mjs","sources":["../../../../src/components/layout/List.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n inject,\r\n nextTick,\r\n onActivated,\r\n onDeactivated,\r\n onMounted,\r\n onUnmounted,\r\n ref,\r\n watch,\r\n type WatchStopHandle\r\n} from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { Card, Flex, Space, Watermark } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useElementSize } from \"@vueuse/core\";\r\n\r\nimport { useAppStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nconst tableRootStyle = css`\r\n height: 100%;\r\n position: relative;\r\n overflow: hidden;\r\n`;\r\n\r\nconst list = defineComponent({\r\n name: \"DListLayout\",\r\n emits: [\"refresh\"],\r\n setup(_, { slots, emit }) {\r\n const watermarkContent = ref(inject(\"watermarkContent\"));\r\n const route = useRoute();\r\n const { refresh } = storeToRefs(useAppStore());\r\n const { tableRef, height, tableVisible, playTableHeight } =\r\n useTableHeight();\r\n const { formRef } = useForm();\r\n useReload();\r\n // 使用 computed 来动态计算样式\r\n const maskDivStyle = computed(() => {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n background: white;\r\n display: ${tableVisible.value ? \"block\" : \"none\"};\r\n `;\r\n });\r\n\r\n const tableWrapperStyle = css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n overflow: hidden;\r\n `;\r\n\r\n const cardStyle = css`\r\n box-shadow: none !important;\r\n `;\r\n\r\n const leftCardStyle = css`\r\n .ant-card-body {\r\n overflow-y: scroll;\r\n -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */\r\n scrollbar-width: none; /* 对 Firefox 生效 */\r\n\r\n /* Webkit 浏览器 */\r\n\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n }\r\n `;\r\n\r\n const listStyle = computed(() => css``);\r\n\r\n onMounted(() => {\r\n playTableHeight();\r\n });\r\n\r\n function useTableHeight() {\r\n const tableRef = ref();\r\n const height = ref(0);\r\n const tableVisible = ref(true);\r\n\r\n function playTableHeight() {\r\n tableVisible.value = true;\r\n height.value = tableRef?.value?.$el.offsetHeight;\r\n nextTick(() => {\r\n setTimeout(() => {\r\n tableVisible.value = false;\r\n }, 10);\r\n });\r\n }\r\n\r\n return {\r\n tableRef,\r\n height,\r\n tableVisible,\r\n playTableHeight\r\n };\r\n }\r\n\r\n function useForm() {\r\n const formRef = ref(null);\r\n const { height: formHeight } = useElementSize(formRef);\r\n watch(\r\n () => formHeight.value,\r\n () => {\r\n nextTick(() => {\r\n playTableHeight();\r\n });\r\n }\r\n );\r\n\r\n return {\r\n formRef\r\n };\r\n }\r\n\r\n // 处理标签重载\r\n function useReload() {\r\n let stopHandleWatch: WatchStopHandle;\r\n // !route.meta.keepAlive\r\n if (!route.name) {\r\n stopHandleWatch = _useWatch();\r\n // 卸载未缓存的组件\r\n onUnmounted(() => {\r\n stopHandleWatch?.();\r\n });\r\n } else {\r\n // 激活缓存页面\r\n onActivated(() => {\r\n if (refresh.value) {\r\n refresh.value = false;\r\n emit(\"refresh\");\r\n }\r\n stopHandleWatch = _useWatch();\r\n });\r\n // 离开缓存页面\r\n onDeactivated(() => {\r\n stopHandleWatch?.();\r\n });\r\n }\r\n\r\n function _useWatch() {\r\n //点击了标签重载图标\r\n return watch(\r\n () => refresh.value,\r\n val => {\r\n if (val) {\r\n // 发送刷新事件到列表页面\r\n emit(\"refresh\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n function useLayout() {\r\n function formLayout() {\r\n return () =>\r\n slots.form && (\r\n <Card\r\n class={cardStyle}\r\n ref={formRef}\r\n style={{ marginBottom: \"10px\" }}\r\n bodyStyle={{ padding: \"10px 10px 0 10px\" }}\r\n bordered={false}\r\n >\r\n {slots.form()}\r\n </Card>\r\n );\r\n }\r\n\r\n function tableLayout() {\r\n return () => (\r\n <Flex flex={1} vertical={true}>\r\n <Card\r\n class={cardStyle}\r\n style={{ height: \"100%\" }}\r\n bodyStyle={{ height: \"100%\", padding: \"10px\" }}\r\n bordered={false}\r\n >\r\n <Flex style={{ height: \"100%\" }} vertical={true}>\r\n <Space style={{ marginBottom: \"6px\" }}>{slots.tools?.()}</Space>\r\n <Flex\r\n ref={tableRef}\r\n flex={1}\r\n style={{ height: \"100%\" }}\r\n vertical={true}\r\n >\r\n <div class={tableRootStyle}>\r\n <div class={maskDivStyle.value}></div>\r\n <div class={tableWrapperStyle}>\r\n {slots.table?.({ height: height.value })}\r\n </div>\r\n </div>\r\n </Flex>\r\n </Flex>\r\n </Card>\r\n </Flex>\r\n );\r\n }\r\n\r\n return (\r\n <Watermark\r\n style={{ height: \"100%\" }}\r\n content={watermarkContent.value as string}\r\n >\r\n <Flex\r\n class={[listStyle.value, \"app-list\"]}\r\n gap={10}\r\n style={{ height: \"100%\", padding: \"10px\" }}\r\n >\r\n {slots.left ? (\r\n <Card\r\n class={[cardStyle, leftCardStyle]}\r\n bordered={false}\r\n bodyStyle={{\r\n height: \"100%\",\r\n padding: \"10px\"\r\n }}\r\n >\r\n {slots.left?.()}\r\n </Card>\r\n ) : null}\r\n <Flex vertical={true} flex={1}>\r\n {formLayout()()}\r\n {tableLayout()()}\r\n </Flex>\r\n </Flex>\r\n </Watermark>\r\n );\r\n }\r\n\r\n return () => useLayout();\r\n }\r\n});\r\n\r\nexport default list;\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableRootStyle","css","list","name","emits","setup","_","slots","emit","watermarkContent","ref","inject","route","useRoute","refresh","storeToRefs","useAppStore","tableRef","height","tableVisible","playTableHeight","useTableHeight","formRef","useForm","useReload","maskDivStyle","computed","value","tableWrapperStyle","cardStyle","leftCardStyle","listStyle","onMounted","$el","offsetHeight","nextTick","setTimeout","formHeight","useElementSize","watch","stopHandleWatch","_useWatch","onUnmounted","onActivated","onDeactivated","val","useLayout","formLayout","_slot","form","_createVNode","Card","marginBottom","padding","default","tableLayout","Flex","Space","tools","table","Watermark","left"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { defineComponent, computed, createVNode, ref } from 'vue';
1
+ import { defineComponent, ref, inject, computed, createVNode } from 'vue';
2
2
  import { useRoute, useRouter } from 'vue-router';
3
- import { Flex, PageHeader } from 'ant-design-vue';
3
+ import { theme, Watermark, Flex, PageHeader } from 'ant-design-vue';
4
4
  import { storeToRefs } from 'pinia';
5
5
  import { useWindowScroll } from '@vueuse/core';
6
6
  import { LeftOutlined } from '@ant-design/icons-vue';
@@ -23,8 +23,16 @@ const show = /* @__PURE__ */ defineComponent({
23
23
  slots,
24
24
  expose
25
25
  }) {
26
+ const watermarkContent = ref(inject("watermarkContent"));
26
27
  const {
27
- layout
28
+ useToken
29
+ } = theme;
30
+ const {
31
+ token
32
+ } = useToken();
33
+ const {
34
+ layout,
35
+ refresh
28
36
  } = storeToRefs(useAppStore());
29
37
  const {
30
38
  deleteTabs
@@ -38,12 +46,14 @@ const show = /* @__PURE__ */ defineComponent({
38
46
  position: sticky;
39
47
  top: ${layout.value.headerHeight}px;
40
48
  z-index: 10;
41
- padding: 4px 24px;
49
+ padding: 0;
42
50
  transition: all 0.3s;
51
+ background-color: ${token.value.colorBgLayout};
43
52
 
44
- ${y.value > 0 ? "box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);" : ""}
53
+ ${y.value > 0 ? "box-shadow:0 10px 10px rgba(0, 0, 0, 0.15);" : ""}
45
54
  .ant-page-header-back {
46
55
  height: 100%;
56
+ margin-right: 0;
47
57
 
48
58
  .ant-page-header-back-button {
49
59
  height: 100%;
@@ -53,9 +63,14 @@ const show = /* @__PURE__ */ defineComponent({
53
63
  justify-content: center;
54
64
  }
55
65
  }
66
+
67
+ .ant-page-header-heading-title {
68
+ font-size: 14px;
69
+ }
56
70
  `);
57
71
  const contentStyle = computed(() => css`
58
72
  padding: 10px 10px ${slots.footer ? "70px" : "0"};
73
+ background: inherit;
59
74
  `);
60
75
  const footerStyle = computed(() => css`
61
76
  position: fixed;
@@ -79,45 +94,51 @@ const show = /* @__PURE__ */ defineComponent({
79
94
  }
80
95
  };
81
96
  const onClosePage = () => {
97
+ refresh.value = true;
82
98
  deleteTabs(route.fullPath);
83
99
  router.go(-1);
84
100
  };
85
101
  expose({
86
102
  close: onClosePage
87
103
  });
88
- return () => createVNode(Flex, {
89
- "vertical": true
104
+ return () => createVNode(Watermark, {
105
+ "content": watermarkContent.value
90
106
  }, {
91
- default: () => {
92
- var _a, _b;
93
- return [createVNode(PageHeader, {
94
- "class": pageHeaderStyle.value,
95
- "onBack": () => onBack(),
96
- "title": pageTitle()
97
- }, {
98
- backIcon: () => createVNode("div", null, [createVNode(LeftOutlined, {
99
- "style": {
100
- fontSize: "26px"
107
+ default: () => [createVNode(Flex, {
108
+ "vertical": true
109
+ }, {
110
+ default: () => {
111
+ var _a, _b;
112
+ return [createVNode(PageHeader, {
113
+ "ghost": ghost.value,
114
+ "class": pageHeaderStyle.value,
115
+ "onBack": () => onBack(),
116
+ "title": pageTitle()
117
+ }, {
118
+ backIcon: () => createVNode("div", null, [createVNode(LeftOutlined, {
119
+ "style": {
120
+ fontSize: "26px"
121
+ }
122
+ }, null)]),
123
+ extra: () => {
124
+ var _a2;
125
+ return (_a2 = slots.extra) == null ? void 0 : _a2.call(slots);
126
+ },
127
+ footer: () => {
128
+ var _a2;
129
+ return (_a2 = slots.footer) == null ? void 0 : _a2.call(slots);
130
+ },
131
+ subTitle: () => {
132
+ var _a2;
133
+ return (_a2 = slots.subTitle) == null ? void 0 : _a2.call(slots);
101
134
  }
102
- }, null)]),
103
- extra: () => {
104
- var _a2;
105
- return (_a2 = slots.extra) == null ? void 0 : _a2.call(slots);
106
- },
107
- footer: () => {
108
- var _a2;
109
- return (_a2 = slots.footer) == null ? void 0 : _a2.call(slots);
110
- },
111
- subTitle: () => {
112
- var _a2;
113
- return (_a2 = slots.subTitle) == null ? void 0 : _a2.call(slots);
114
- }
115
- }), createVNode("div", {
116
- "class": contentStyle.value
117
- }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), slots.showfooter ? createVNode("div", {
118
- "class": footerStyle.value
119
- }, [(_b = slots.showfooter) == null ? void 0 : _b.call(slots)]) : null];
120
- }
135
+ }), createVNode("div", {
136
+ "class": contentStyle.value
137
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), slots.bottomFooter ? createVNode("div", {
138
+ "class": footerStyle.value
139
+ }, [(_b = slots.bottomFooter) == null ? void 0 : _b.call(slots)]) : null];
140
+ }
141
+ })]
121
142
  });
122
143
  }
123
144
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Show.mjs","sources":["../../../../src/components/layout/Show.tsx"],"sourcesContent":["import { computed, defineComponent, ref } from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { Flex, PageHeader } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useWindowScroll } from \"@vueuse/core\";\r\n\r\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\r\nimport { useAppStore, useNavTabStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nconst getProps = () => {\r\n return {\r\n close: {\r\n type: Boolean,\r\n default: false\r\n }\r\n };\r\n};\r\nconst show = defineComponent({\r\n name: \"DShowLayout\",\r\n props: getProps(),\r\n setup(props, { slots, expose }) {\r\n const { layout } = storeToRefs(useAppStore());\r\n const { deleteTabs } = useNavTabStore();\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n const { y } = useWindowScroll();\r\n\r\n const pageHeaderStyle = computed(\r\n () => css`\r\n position: sticky;\r\n top: ${layout.value.headerHeight}px;\r\n z-index: 10;\r\n padding: 4px 24px;\r\n transition: all 0.3s;\r\n\r\n ${y.value > 0 ? \"box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);\" : \"\"}\r\n .ant-page-header-back {\r\n height: 100%;\r\n\r\n .ant-page-header-back-button {\r\n height: 100%;\r\n padding: 0 6px !important;\r\n display: flex !important;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n }\r\n `\r\n );\r\n const contentStyle = computed(\r\n () => css`\r\n padding: 10px 10px ${slots.footer ? \"70px\" : \"0\"};\r\n `\r\n );\r\n const footerStyle = computed(\r\n () => css`\r\n position: fixed;\r\n right: 0;\r\n bottom: 0;\r\n left: ${layout.value.collapsed\r\n ? layout.value.collapsedWidth\r\n : layout.value.sideWidth}px;\r\n z-index: 10;\r\n padding: 10px;\r\n background: #fff;\r\n box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);\r\n transition: left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `\r\n );\r\n const pageTitle = () => <div>{route.meta.title || \"无标题\"}</div>;\r\n const ghost = ref(false);\r\n\r\n const onBack = () => {\r\n if (props.close) {\r\n // 返回关闭标签\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n } else {\r\n // 不关闭标签\r\n router.go(-1);\r\n }\r\n };\r\n\r\n const onClosePage = () => {\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n };\r\n\r\n expose({\r\n close: onClosePage\r\n });\r\n\r\n return () => (\r\n <Flex vertical={true}>\r\n <PageHeader\r\n class={pageHeaderStyle.value}\r\n onBack={() => onBack()}\r\n title={pageTitle()}\r\n >\r\n {{\r\n backIcon: () => (\r\n <div>\r\n <LeftOutlined style={{ fontSize: \"26px\" }} />\r\n </div>\r\n ),\r\n extra: () => slots.extra?.(),\r\n footer: () => slots.footer?.(),\r\n subTitle: () => slots.subTitle?.()\r\n }}\r\n </PageHeader>\r\n <div class={contentStyle.value}>{slots.default?.()}</div>\r\n {slots.showfooter ? (\r\n <div class={footerStyle.value}>{slots.showfooter?.()}</div>\r\n ) : null}\r\n </Flex>\r\n );\r\n }\r\n});\r\n\r\nexport default show;\r\n"],"names":["getProps","close","type","Boolean","default","show","name","props","setup","slots","expose","layout","storeToRefs","useAppStore","deleteTabs","useNavTabStore","route","useRoute","router","useRouter","y","useWindowScroll","pageHeaderStyle","computed","css","value","headerHeight","contentStyle","footer","footerStyle","collapsed","collapsedWidth","sideWidth","pageTitle","_createVNode","meta","title","ghost","ref","onBack","fullPath","go","onClosePage","Flex","PageHeader","backIcon","LeftOutlined","fontSize","extra","_a","subTitle","showfooter"],"mappings":"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"}
1
+ {"version":3,"file":"Show.mjs","sources":["../../../../src/components/layout/Show.tsx"],"sourcesContent":["import { computed, ComputedRef, defineComponent, inject, ref } from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { Flex, PageHeader, theme, Watermark } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useWindowScroll } from \"@vueuse/core\";\r\n\r\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\r\nimport { useAppStore, useNavTabStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\n\r\nconst getProps = () => {\r\n return {\r\n close: {\r\n type: Boolean,\r\n default: false\r\n }\r\n };\r\n};\r\nconst show = defineComponent({\r\n name: \"DShowLayout\",\r\n props: getProps(),\r\n setup(props, { slots, expose }) {\r\n const watermarkContent = ref(inject(\"watermarkContent\"));\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } = useToken();\r\n const { layout, refresh } = storeToRefs(useAppStore());\r\n const { deleteTabs } = useNavTabStore();\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n const { y } = useWindowScroll();\r\n\r\n const pageHeaderStyle = computed(\r\n () => css`\r\n position: sticky;\r\n top: ${layout.value.headerHeight}px;\r\n z-index: 10;\r\n padding: 0;\r\n transition: all 0.3s;\r\n background-color: ${token.value.colorBgLayout};\r\n\r\n ${y.value > 0 ? \"box-shadow:0 10px 10px rgba(0, 0, 0, 0.15);\" : \"\"}\r\n .ant-page-header-back {\r\n height: 100%;\r\n margin-right: 0;\r\n\r\n .ant-page-header-back-button {\r\n height: 100%;\r\n padding: 0 6px !important;\r\n display: flex !important;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n }\r\n\r\n .ant-page-header-heading-title {\r\n font-size: 14px;\r\n }\r\n `\r\n );\r\n const contentStyle = computed(\r\n () => css`\r\n padding: 10px 10px ${slots.footer ? \"70px\" : \"0\"};\r\n background: inherit;\r\n `\r\n );\r\n const footerStyle = computed(\r\n () => css`\r\n position: fixed;\r\n right: 0;\r\n bottom: 0;\r\n left: ${layout.value.collapsed\r\n ? layout.value.collapsedWidth\r\n : layout.value.sideWidth}px;\r\n z-index: 10;\r\n padding: 10px;\r\n background: #fff;\r\n box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);\r\n transition: left 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `\r\n );\r\n const pageTitle = () => <div>{route.meta.title || \"无标题\"}</div>;\r\n const ghost = ref(false);\r\n\r\n const onBack = () => {\r\n if (props.close) {\r\n // 返回关闭标签\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n } else {\r\n // 不关闭标签\r\n router.go(-1);\r\n }\r\n };\r\n\r\n const onClosePage = () => {\r\n refresh.value = true;\r\n deleteTabs(route.fullPath);\r\n router.go(-1);\r\n };\r\n\r\n expose({\r\n close: onClosePage\r\n });\r\n\r\n return () => (\r\n <Watermark content={watermarkContent.value as string}>\r\n <Flex vertical={true}>\r\n <PageHeader\r\n ghost={ghost.value}\r\n class={pageHeaderStyle.value}\r\n onBack={() => onBack()}\r\n title={pageTitle()}\r\n >\r\n {{\r\n backIcon: () => (\r\n <div>\r\n <LeftOutlined style={{ fontSize: \"26px\" }} />\r\n </div>\r\n ),\r\n extra: () => slots.extra?.(),\r\n footer: () => slots.footer?.(),\r\n subTitle: () => slots.subTitle?.()\r\n }}\r\n </PageHeader>\r\n <div class={contentStyle.value}>{slots.default?.()}</div>\r\n {slots.bottomFooter ? (\r\n <div class={footerStyle.value}>{slots.bottomFooter?.()}</div>\r\n ) : null}\r\n </Flex>\r\n </Watermark>\r\n );\r\n }\r\n});\r\n\r\nexport default show;\r\n"],"names":["getProps","close","type","Boolean","default","show","name","props","setup","slots","expose","watermarkContent","ref","inject","useToken","theme","token","layout","refresh","storeToRefs","useAppStore","deleteTabs","useNavTabStore","route","useRoute","router","useRouter","y","useWindowScroll","pageHeaderStyle","computed","css","value","headerHeight","colorBgLayout","contentStyle","footer","footerStyle","collapsed","collapsedWidth","sideWidth","pageTitle","_createVNode","meta","title","ghost","onBack","fullPath","go","onClosePage","Watermark","Flex","PageHeader","backIcon","LeftOutlined","fontSize","extra","_a","subTitle","bottomFooter"],"mappings":"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"}