@ditari/bsui 5.0.12 → 5.0.13

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 (35) hide show
  1. package/dist/cjs/components/dic/DicReplace.cjs +1 -0
  2. package/dist/cjs/components/dic/DicReplace.cjs.map +1 -1
  3. package/dist/cjs/components/layout/Layout.vue2.cjs +52 -48
  4. package/dist/cjs/components/layout/Layout.vue2.cjs.map +1 -1
  5. package/dist/cjs/components/layout/List.cjs +54 -46
  6. package/dist/cjs/components/layout/List.cjs.map +1 -1
  7. package/dist/cjs/components/layout/Show.cjs +41 -34
  8. package/dist/cjs/components/layout/Show.cjs.map +1 -1
  9. package/dist/cjs/components/layout/components/menu/Menu.cjs +18 -10
  10. package/dist/cjs/components/layout/components/menu/Menu.cjs.map +1 -1
  11. package/dist/cjs/components/tab/Search.cjs +6 -2
  12. package/dist/cjs/components/tab/Search.cjs.map +1 -1
  13. package/dist/css/components/tab/style/index.css +1 -1
  14. package/dist/css/index.css +1 -1
  15. package/dist/esm/components/dic/DicReplace.mjs +1 -0
  16. package/dist/esm/components/dic/DicReplace.mjs.map +1 -1
  17. package/dist/esm/components/layout/Layout.vue2.mjs +53 -49
  18. package/dist/esm/components/layout/Layout.vue2.mjs.map +1 -1
  19. package/dist/esm/components/layout/List.mjs +55 -47
  20. package/dist/esm/components/layout/List.mjs.map +1 -1
  21. package/dist/esm/components/layout/Show.mjs +43 -36
  22. package/dist/esm/components/layout/Show.mjs.map +1 -1
  23. package/dist/esm/components/layout/components/menu/Menu.mjs +18 -10
  24. package/dist/esm/components/layout/components/menu/Menu.mjs.map +1 -1
  25. package/dist/esm/components/tab/Search.mjs +6 -2
  26. package/dist/esm/components/tab/Search.mjs.map +1 -1
  27. package/dist/style/tab/style/index.scss +1 -1
  28. package/dist/types/components/dic/DicReplace.d.ts.map +1 -1
  29. package/dist/types/components/layout/Layout.vue.d.ts +24 -7
  30. package/dist/types/components/layout/Layout.vue.d.ts.map +1 -1
  31. package/dist/types/components/layout/List.d.ts.map +1 -1
  32. package/dist/types/components/layout/Show.d.ts.map +1 -1
  33. package/dist/types/components/layout/components/menu/Menu.d.ts +3 -1
  34. package/dist/types/components/layout/components/menu/Menu.d.ts.map +1 -1
  35. package/package.json +3 -3
@@ -73,6 +73,7 @@ var DicReplace = /* @__PURE__ */ vue.defineComponent({
73
73
  }
74
74
  });
75
75
  }
76
+ loadDicData().then(() => console.log("success load dic"));
76
77
  vue.watch(() => props.value, (val) => {
77
78
  replace(val);
78
79
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"DicReplace.cjs","sources":["../../../../src/components/dic/DicReplace.tsx"],"sourcesContent":["/**\n * 字典替换\n * 根据字典名字及对应的value替换成中文或者人能看懂的文字\n * @author 余春林\n */\nimport {\n defineComponent,\n inject,\n onActivated,\n onMounted,\n ref,\n watch\n} from \"vue\";\nimport { useRoute } from \"vue-router\";\n\nimport {\n useDicStore,\n useKeepAliveStore\n} from \"@ditari/store\";\n\nexport default defineComponent({\n name: \"DicRep\",\n props: {\n // 字典名称\n name: {\n type: String,\n default: \"\"\n },\n // 值\n value: {\n type: String,\n default: \"\"\n }\n },\n setup(props) {\n const { get: keepNames } = useKeepAliveStore();\n const { getDicTextByValue } = useDicStore();\n const route = useRoute();\n // 判断使用组件的页面是否被缓存\n const isKeepAlive = keepNames.some(\n (name: string) => name === route.name\n );\n const dicValueTxt = ref<string>(\"\");\n\n // 注入 fetchDic,提供默认值\n const fetchDic = inject<\n (name: string) => Promise<unknown[]>\n >(\"fetchDic\", async (name: string) => {\n console.warn(\n `fetchDic 未注入,使用默认实现,name: ${name}`\n );\n return [];\n });\n\n onActivated(async () => {\n // 缓存页面被激活的时候调用\n await loadDicData();\n });\n\n onMounted(async () => {\n if (!isKeepAlive) {\n // 未缓存页面 挂载的时候调用\n await loadDicData();\n }\n });\n\n // 请求字典数据的函数\n async function loadDicData() {\n try {\n // 调用注入进来的fetchDic方法\n await fetchDic(props.name);\n replace(props.value);\n } catch (error) {\n console.error(\"获取字典数据失败:\", error);\n }\n }\n\n watch(\n () => props.value,\n (val: string) => {\n replace(val);\n },\n {\n immediate: true\n }\n );\n\n function replace(val: string) {\n const value = val;\n const name = props.name;\n dicValueTxt.value = getDicTextByValue(name, value);\n }\n\n return () => (\n <span class={\"d-dic\"}>{dicValueTxt.value}</span>\n );\n }\n});\n"],"names":["defineComponent","name","props","type","String","default","value","setup","get","keepNames","useKeepAliveStore","getDicTextByValue","useDicStore","route","useRoute","isKeepAlive","some","dicValueTxt","ref","fetchDic","inject","console","warn","onActivated","loadDicData","onMounted","replace","error","watch","val","immediate","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,iCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,QAAA;AAAA,EACNC,KAAO,EAAA;AAAA;AAAA,IAELD,IAAM,EAAA;AAAA,MACJE,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA;AAAA,KACX;AAAA;AAAA,IAEAC,KAAO,EAAA;AAAA,MACLH,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA;AAAA;AACX,GACF;AAAA,EACAE,MAAML,KAAO,EAAA;AACX,IAAM,MAAA;AAAA,MAAEM,GAAKC,EAAAA;AAAAA,QAAcC,uBAAkB,EAAA;AAC7C,IAAM,MAAA;AAAA,MAAEC;AAAAA,QAAsBC,iBAAY,EAAA;AAC1C,IAAA,MAAMC,QAAQC,kBAAS,EAAA;AAEvB,IAAA,MAAMC,cAAcN,SAAUO,CAAAA,IAAAA,CAC3Bf,CAAiBA,IAAAA,KAAAA,IAAAA,KAASY,MAAMZ,IACnC,CAAA;AACA,IAAMgB,MAAAA,WAAAA,GAAcC,QAAY,EAAE,CAAA;AAGlC,IAAA,MAAMC,QAAWC,GAAAA,UAAAA,CAEf,UAAY,EAAA,CAAOnB,IAAiB,KAAA,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACpCoB,MAAQC,OAAAA,CAAAA,IAAAA,CACN,CAA6BrB,iFAAAA,EAAAA,IAAI,CACnC,CAAA,CAAA;AACA,MAAA,OAAO,EAAE;AAAA,KACV,CAAA,CAAA;AAEDsB,IAAAA,eAAAA,CAAY,MAAY,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAEtB,MAAA,MAAMC,WAAY,EAAA;AAAA,KACnB,CAAA,CAAA;AAEDC,IAAAA,aAAAA,CAAU,MAAY,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACpB,MAAA,IAAI,CAACV,WAAa,EAAA;AAEhB,QAAA,MAAMS,WAAY,EAAA;AAAA;AACpB,KACD,CAAA,CAAA;AAGD,IAAA,SAAeA,WAAc,GAAA;AAAA,MAAA,OAAA,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAC3B,QAAI,IAAA;AAEF,UAAML,MAAAA,QAAAA,CAASjB,MAAMD,IAAI,CAAA;AACzByB,UAAAA,OAAAA,CAAQxB,MAAMI,KAAK,CAAA;AAAA,iBACZqB,KAAO,EAAA;AACdN,UAAQM,OAAAA,CAAAA,KAAAA,CAAM,qDAAaA,KAAK,CAAA;AAAA;AAClC,OACF,CAAA;AAAA;AAEAC,IACEA,SAAA,CAAA,MAAM1B,KAAMI,CAAAA,KAAAA,EACXuB,CAAgB,GAAA,KAAA;AACfH,MAAAA,OAAAA,CAAQG,GAAG,CAAA;AAAA,KAEb,EAAA;AAAA,MACEC,SAAW,EAAA;AAAA,KAEf,CAAA;AAEA,IAAA,SAASJ,QAAQG,GAAa,EAAA;AAC5B,MAAA,MAAMvB,KAAQuB,GAAAA,GAAAA;AACd,MAAA,MAAM5B,OAAOC,KAAMD,CAAAA,IAAAA;AACnBgB,MAAYX,WAAAA,CAAAA,KAAAA,GAAQK,iBAAkBV,CAAAA,IAAAA,EAAMK,KAAK,CAAA;AAAA;AAGnD,IAAO,OAAA,MAAAyB,gBAAA,MAAA,EAAA;AAAA,MAAA,OACQ,EAAA;AAAA,KAAUd,EAAAA,CAAAA,WAAYX,CAAAA,KAAK,CACzC,CAAA;AAAA;AAEL,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"DicReplace.cjs","sources":["../../../../src/components/dic/DicReplace.tsx"],"sourcesContent":["/**\n * 字典替换\n * 根据字典名字及对应的value替换成中文或者人能看懂的文字\n * @author 余春林\n */\nimport {\n defineComponent,\n inject,\n onActivated,\n onMounted,\n ref,\n watch\n} from \"vue\";\nimport { useRoute } from \"vue-router\";\n\nimport {\n useDicStore,\n useKeepAliveStore\n} from \"@ditari/store\";\n\nexport default defineComponent({\n name: \"DicRep\",\n props: {\n // 字典名称\n name: {\n type: String,\n default: \"\"\n },\n // 值\n value: {\n type: String,\n default: \"\"\n }\n },\n setup(props) {\n const { get: keepNames } = useKeepAliveStore();\n const { getDicTextByValue } = useDicStore();\n const route = useRoute();\n // 判断使用组件的页面是否被缓存\n const isKeepAlive = keepNames.some(\n (name: string) => name === route.name\n );\n const dicValueTxt = ref<string>(\"\");\n\n // 注入 fetchDic,提供默认值\n const fetchDic = inject<\n (name: string) => Promise<unknown[]>\n >(\"fetchDic\", async (name: string) => {\n console.warn(\n `fetchDic 未注入,使用默认实现,name: ${name}`\n );\n return [];\n });\n\n onActivated(async () => {\n // 缓存页面被激活的时候调用\n await loadDicData();\n });\n\n onMounted(async () => {\n if (!isKeepAlive) {\n // 未缓存页面 挂载的时候调用\n await loadDicData();\n }\n });\n\n // 请求字典数据的函数\n async function loadDicData() {\n try {\n // 调用注入进来的fetchDic方法\n await fetchDic(props.name);\n replace(props.value);\n } catch (error) {\n console.error(\"获取字典数据失败:\", error);\n }\n }\n\n loadDicData().then(() =>\n console.log(\"success load dic\")\n );\n\n watch(\n () => props.value,\n (val: string) => {\n replace(val);\n },\n {\n immediate: true\n }\n );\n\n function replace(val: string) {\n const value = val;\n const name = props.name;\n dicValueTxt.value = getDicTextByValue(name, value);\n }\n\n return () => (\n <span class={\"d-dic\"}>{dicValueTxt.value}</span>\n );\n }\n});\n"],"names":["defineComponent","name","props","type","String","default","value","setup","get","keepNames","useKeepAliveStore","getDicTextByValue","useDicStore","route","useRoute","isKeepAlive","some","dicValueTxt","ref","fetchDic","inject","console","warn","onActivated","loadDicData","onMounted","replace","error","then","log","watch","val","immediate","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,iCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,QAAA;AAAA,EACNC,KAAO,EAAA;AAAA;AAAA,IAELD,IAAM,EAAA;AAAA,MACJE,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA;AAAA,KACX;AAAA;AAAA,IAEAC,KAAO,EAAA;AAAA,MACLH,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA;AAAA;AACX,GACF;AAAA,EACAE,MAAML,KAAO,EAAA;AACX,IAAM,MAAA;AAAA,MAAEM,GAAKC,EAAAA;AAAAA,QAAcC,uBAAkB,EAAA;AAC7C,IAAM,MAAA;AAAA,MAAEC;AAAAA,QAAsBC,iBAAY,EAAA;AAC1C,IAAA,MAAMC,QAAQC,kBAAS,EAAA;AAEvB,IAAA,MAAMC,cAAcN,SAAUO,CAAAA,IAAAA,CAC3Bf,CAAiBA,IAAAA,KAAAA,IAAAA,KAASY,MAAMZ,IACnC,CAAA;AACA,IAAMgB,MAAAA,WAAAA,GAAcC,QAAY,EAAE,CAAA;AAGlC,IAAA,MAAMC,QAAWC,GAAAA,UAAAA,CAEf,UAAY,EAAA,CAAOnB,IAAiB,KAAA,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACpCoB,MAAQC,OAAAA,CAAAA,IAAAA,CACN,CAA6BrB,iFAAAA,EAAAA,IAAI,CACnC,CAAA,CAAA;AACA,MAAA,OAAO,EAAE;AAAA,KACV,CAAA,CAAA;AAEDsB,IAAAA,eAAAA,CAAY,MAAY,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAEtB,MAAA,MAAMC,WAAY,EAAA;AAAA,KACnB,CAAA,CAAA;AAEDC,IAAAA,aAAAA,CAAU,MAAY,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACpB,MAAA,IAAI,CAACV,WAAa,EAAA;AAEhB,QAAA,MAAMS,WAAY,EAAA;AAAA;AACpB,KACD,CAAA,CAAA;AAGD,IAAA,SAAeA,WAAc,GAAA;AAAA,MAAA,OAAA,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAC3B,QAAI,IAAA;AAEF,UAAML,MAAAA,QAAAA,CAASjB,MAAMD,IAAI,CAAA;AACzByB,UAAAA,OAAAA,CAAQxB,MAAMI,KAAK,CAAA;AAAA,iBACZqB,KAAO,EAAA;AACdN,UAAQM,OAAAA,CAAAA,KAAAA,CAAM,qDAAaA,KAAK,CAAA;AAAA;AAClC,OACF,CAAA;AAAA;AAEAH,IAAAA,WAAAA,GAAcI,IAAK,CAAA,MACjBP,OAAQQ,CAAAA,GAAAA,CAAI,kBAAkB,CAChC,CAAA;AAEAC,IACEA,SAAA,CAAA,MAAM5B,KAAMI,CAAAA,KAAAA,EACXyB,CAAgB,GAAA,KAAA;AACfL,MAAAA,OAAAA,CAAQK,GAAG,CAAA;AAAA,KAEb,EAAA;AAAA,MACEC,SAAW,EAAA;AAAA,KAEf,CAAA;AAEA,IAAA,SAASN,QAAQK,GAAa,EAAA;AAC5B,MAAA,MAAMzB,KAAQyB,GAAAA,GAAAA;AACd,MAAA,MAAM9B,OAAOC,KAAMD,CAAAA,IAAAA;AACnBgB,MAAYX,WAAAA,CAAAA,KAAAA,GAAQK,iBAAkBV,CAAAA,IAAAA,EAAMK,KAAK,CAAA;AAAA;AAGnD,IAAO,OAAA,MAAA2B,gBAAA,MAAA,EAAA;AAAA,MAAA,OACQ,EAAA;AAAA,KAAUhB,EAAAA,CAAAA,WAAYX,CAAAA,KAAK,CACzC,CAAA;AAAA;AAEL,CAAC,CAAA;;;;"}
@@ -21,12 +21,17 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
21
  props: {
22
22
  watermark: { type: Object, required: false, default: () => ({
23
23
  content: ""
24
- }) }
24
+ }) },
25
+ isSettings: { type: Boolean, required: false, default: true }
25
26
  },
26
- setup(__props) {
27
+ emits: ["menuChange"],
28
+ setup(__props, { emit: __emit }) {
27
29
  const props = __props;
30
+ const emits = __emit;
28
31
  const { layout, modeConfig, sideTokenStyle } = pinia.storeToRefs(store.useAppStore());
29
32
  const route = vueRouter.useRoute();
33
+ useWatermark();
34
+ const { onMenuChange } = useMenu();
30
35
  const {
31
36
  layoutStyle,
32
37
  siderStyle,
@@ -34,7 +39,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
34
39
  rightContentStyle
35
40
  } = useStyle();
36
41
  useKeepAlive();
37
- const { watermarkContent } = useWatermark();
38
42
  function useKeepAlive() {
39
43
  const { save } = store.useKeepAliveStore();
40
44
  vue.watch(
@@ -48,21 +52,20 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
48
52
  );
49
53
  }
50
54
  function useWatermark() {
51
- const watermarkContent2 = vue.ref("");
52
- vue.provide("watermarkContent", watermarkContent2);
55
+ const watermarkContent = vue.ref("");
56
+ vue.provide("watermarkContent", watermarkContent);
53
57
  vue.watch(
54
58
  () => props.watermark,
55
59
  (val) => {
56
- watermarkContent2.value = val.content || "";
60
+ watermarkContent.value = val.content || "";
57
61
  },
58
62
  { deep: true, immediate: true }
59
63
  );
60
- return {
61
- watermarkContent: watermarkContent2
62
- };
63
64
  }
64
65
  function useStyle() {
65
- const layoutStyle2 = css.css``;
66
+ const layoutStyle2 = css.css`
67
+ height: 100vh;
68
+ `;
66
69
  const transitionStyle = css.css`
67
70
  transition: margin-left 0.4s
68
71
  cubic-bezier(0.22, 1.2, 0.36, 1);
@@ -105,62 +108,63 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
105
108
  rightContentStyle: rightContentStyle2
106
109
  };
107
110
  }
111
+ function useMenu() {
112
+ const onMenuChange2 = (item) => {
113
+ emits("menuChange", item);
114
+ };
115
+ return {
116
+ onMenuChange: onMenuChange2
117
+ };
118
+ }
108
119
  return (_ctx, _cache) => {
109
120
  const _component_a_layout_sider = vue.resolveComponent("a-layout-sider");
110
121
  const _component_a_layout_content = vue.resolveComponent("a-layout-content");
111
122
  const _component_a_layout = vue.resolveComponent("a-layout");
112
- const _component_a_watermark = vue.resolveComponent("a-watermark");
113
123
  const _component_a_back_top = vue.resolveComponent("a-back-top");
114
124
  return vue.openBlock(), vue.createElementBlock(
115
125
  vue.Fragment,
116
126
  null,
117
127
  [
118
- vue.createVNode(_component_a_watermark, { content: vue.unref(watermarkContent) }, {
128
+ vue.createVNode(_component_a_layout, {
129
+ class: vue.normalizeClass(vue.unref(layoutStyle))
130
+ }, {
119
131
  default: vue.withCtx(() => [
132
+ vue.createVNode(_component_a_layout_sider, {
133
+ collapsed: vue.unref(layout).collapsed,
134
+ "onUpdate:collapsed": _cache[0] || (_cache[0] = ($event) => vue.unref(layout).collapsed = $event),
135
+ theme: "light",
136
+ collapsible: "",
137
+ trigger: null,
138
+ class: vue.normalizeClass(vue.unref(siderStyle))
139
+ }, {
140
+ default: vue.withCtx(() => [
141
+ vue.createElementVNode("div", _hoisted_1, [
142
+ vue.renderSlot(_ctx.$slots, "logo"),
143
+ vue.createVNode(vue.unref(Menu.default), { onMenuChange: vue.unref(onMenuChange) }, null, 8, ["onMenuChange"])
144
+ ])
145
+ ]),
146
+ _: 3
147
+ /* FORWARDED */
148
+ }, 8, ["collapsed", "class"]),
120
149
  vue.createVNode(_component_a_layout, {
121
- class: vue.normalizeClass(vue.unref(layoutStyle))
150
+ class: vue.normalizeClass(vue.unref(rightStyle))
122
151
  }, {
123
152
  default: vue.withCtx(() => [
124
- vue.createVNode(_component_a_layout_sider, {
125
- collapsed: vue.unref(layout).collapsed,
126
- "onUpdate:collapsed": _cache[0] || (_cache[0] = ($event) => vue.unref(layout).collapsed = $event),
127
- theme: "light",
128
- collapsible: "",
129
- trigger: null,
130
- class: vue.normalizeClass(vue.unref(siderStyle))
131
- }, {
153
+ vue.createVNode(HeaderLayout_vue_vue_type_script_setup_true_lang.default, null, {
132
154
  default: vue.withCtx(() => [
133
- vue.createElementVNode("div", _hoisted_1, [
134
- vue.renderSlot(_ctx.$slots, "logo"),
135
- vue.createVNode(vue.unref(Menu.default))
136
- ])
155
+ vue.renderSlot(_ctx.$slots, "headerRight")
137
156
  ]),
138
157
  _: 3
139
158
  /* FORWARDED */
140
- }, 8, ["collapsed", "class"]),
141
- vue.createVNode(_component_a_layout, {
142
- class: vue.normalizeClass(vue.unref(rightStyle))
159
+ }),
160
+ vue.createVNode(_component_a_layout_content, {
161
+ class: vue.normalizeClass(vue.unref(rightContentStyle))
143
162
  }, {
144
163
  default: vue.withCtx(() => [
145
- vue.createVNode(HeaderLayout_vue_vue_type_script_setup_true_lang.default, null, {
146
- default: vue.withCtx(() => [
147
- vue.renderSlot(_ctx.$slots, "headerRight")
148
- ]),
149
- _: 3
150
- /* FORWARDED */
151
- }),
152
- vue.createVNode(_component_a_layout_content, {
153
- class: vue.normalizeClass(vue.unref(rightContentStyle))
154
- }, {
155
- default: vue.withCtx(() => [
156
- vue.createVNode(RouterContent_vue_vue_type_script_setup_true_lang.default)
157
- ]),
158
- _: 1
159
- /* STABLE */
160
- }, 8, ["class"])
164
+ vue.createVNode(RouterContent_vue_vue_type_script_setup_true_lang.default)
161
165
  ]),
162
- _: 3
163
- /* FORWARDED */
166
+ _: 1
167
+ /* STABLE */
164
168
  }, 8, ["class"])
165
169
  ]),
166
170
  _: 3
@@ -169,8 +173,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
169
173
  ]),
170
174
  _: 3
171
175
  /* FORWARDED */
172
- }, 8, ["content"]),
173
- vue.createVNode(vue.unref(SettingDrawer.default)),
176
+ }, 8, ["class"]),
177
+ __props.isSettings ? (vue.openBlock(), vue.createBlock(vue.unref(SettingDrawer.default), { key: 0 })) : vue.createCommentVNode("v-if", true),
174
178
  vue.createVNode(_component_a_back_top)
175
179
  ],
176
180
  64
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.vue2.cjs","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 {\r\n useAppStore,\r\n useKeepAliveStore\r\n} 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\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 } =\r\n storeToRefs(useAppStore());\r\nconst route = useRoute();\r\n\r\nconst {\r\n layoutStyle,\r\n siderStyle,\r\n rightStyle,\r\n rightContentStyle\r\n} = useStyle();\r\nuseKeepAlive();\r\n\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 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 return {\r\n watermarkContent\r\n };\r\n}\r\n\r\nfunction useStyle() {\r\n const layoutStyle = css``;\r\n\r\n const transitionStyle = css`\r\n transition: margin-left 0.4s\r\n 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-watermark :content=\"watermarkContent\">\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 </a-watermark>\r\n <SettingDrawer />\r\n <a-back-top></a-back-top>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["storeToRefs","useAppStore","useRoute","useKeepAliveStore","watch","watermarkContent","ref","provide","layoutStyle","css","computed","siderStyle","rightStyle","rightContentStyle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAMd,IAAA,MAAM,EAAE,MAAQ,EAAA,UAAA,EAAY,gBAC1B,GAAAA,iBAAA,CAAYC,mBAAa,CAAA;AAC3B,IAAA,MAAM,QAAQC,kBAAS,EAAA;AAEvB,IAAM,MAAA;AAAA,MACJ,WAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,QACE,QAAS,EAAA;AACb,IAAa,YAAA,EAAA;AAEb,IAAM,MAAA,EAAE,gBAAiB,EAAA,GAAI,YAAa,EAAA;AAE1C,IAAA,SAAS,YAAe,GAAA;AAEtB,MAAM,MAAA,EAAE,IAAK,EAAA,GAAIC,uBAAkB,EAAA;AAEnC,MAAAC,SAAA;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,MAAMC,MAAAA,iBAAAA,GAAmBC,QAAI,EAAE,CAAA;AAC/B,MAAAC,WAAA,CAAQ,oBAAoBF,iBAAgB,CAAA;AAE5C,MAAAD,SAAA;AAAA,QACE,MAAM,KAAM,CAAA,SAAA;AAAA,QACZ,CAAO,GAAA,KAAA;AACL,UAAAC,iBAAAA,CAAiB,KAAQ,GAAA,GAAA,CAAI,OAAW,IAAA,EAAA;AAAA,SAC1C;AAAA,QACA,EAAE,IAAA,EAAM,IAAM,EAAA,SAAA,EAAW,IAAK;AAAA,OAChC;AACA,MAAO,OAAA;AAAA,QACL,gBAAAA,EAAAA;AAAA,OACF;AAAA;AAGF,IAAA,SAAS,QAAW,GAAA;AAClB,MAAA,MAAMG,YAAc,GAAAC,OAAA,CAAA,CAAA;AAEpB,MAAA,MAAM,eAAkB,GAAAA,OAAA;AAAA;AAAA;AAAA,EAAA,CAAA;AAKxB,MAAA,MAAM,IAAO,GAAAC,YAAA;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,GAAAD,YAAA;AAAA,QACjB,MAAMD,OAAA;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,MAAMG,WAAa,GAAAF,YAAA;AAAA,QACjB,MAAMD,OAAA;AAAA,mBAAA,EACW,KAAK,KAAK,CAAA;AAAA,MAAA,EACvB,eAAe;AAAA,IAAA;AAAA,OAErB;AAEA,MAAA,MAAMI,kBAAoB,GAAAH,YAAA;AAAA,QACxB,MAAMD,OAAA;AAAA,mBACW,EAAA,MAAA,CAAO,MAAM,YAAY,CAAA;AAAA,IAAA;AAAA,OAE5C;AAEA,MAAO,OAAA;AAAA,QACL,WAAAD,EAAAA,YAAAA;AAAA,QACA,UAAAG,EAAAA,WAAAA;AAAA,QACA,UAAAC,EAAAA,WAAAA;AAAA,QACA,iBAAAC,EAAAA;AAAA,OACF;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Layout.vue2.cjs","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 {\r\n useAppStore,\r\n useKeepAliveStore\r\n} 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\n\r\nconst props = defineProps({\n watermark: { type: Object, required: false, default: () => ({\r\n content: \"\"\r\n }) },\n isSettings: { type: Boolean, required: false, default: true }\n});\r\nconst emits = defineEmits([\"menuChange\"]);\r\n\r\nconst { layout, modeConfig, sideTokenStyle } =\r\n storeToRefs(useAppStore());\r\nconst route = useRoute();\r\nuseWatermark();\r\nconst { onMenuChange } = useMenu();\r\n\r\nconst {\r\n layoutStyle,\r\n siderStyle,\r\n rightStyle,\r\n rightContentStyle\r\n} = useStyle();\r\nuseKeepAlive();\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: 100vh;\r\n `;\r\n\r\n const transitionStyle = css`\r\n transition: margin-left 0.4s\r\n 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\r\nfunction useMenu() {\r\n const onMenuChange = (item: never) => {\r\n emits(\"menuChange\", item);\r\n };\r\n\r\n return {\r\n onMenuChange\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 @menu-change=\"onMenuChange\" />\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\r\n <SettingDrawer v-if=\"isSettings\" />\r\n <a-back-top></a-back-top>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["storeToRefs","useAppStore","useRoute","useKeepAliveStore","watch","ref","provide","layoutStyle","css","computed","siderStyle","rightStyle","rightContentStyle","onMenuChange"],"mappings":"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"}
@@ -15,9 +15,9 @@ function _isSlot(s) {
15
15
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
16
16
  }
17
17
  const tableRootStyle = css.css`
18
- height: 100%;
19
- position: relative;
20
- overflow: hidden;
18
+ height: 100%;
19
+ position: relative;
20
+ overflow: hidden;
21
21
  `;
22
22
  const list = /* @__PURE__ */ vue.defineComponent({
23
23
  name: "DListLayout",
@@ -26,7 +26,7 @@ const list = /* @__PURE__ */ vue.defineComponent({
26
26
  slots,
27
27
  emit
28
28
  }) {
29
- const watermarkContent = vue.ref(vue.inject("watermarkContent"));
29
+ const watermarkContent = vue.ref(vue.inject("watermarkContent", ""));
30
30
  const route = vueRouter.useRoute();
31
31
  const {
32
32
  refresh
@@ -43,43 +43,44 @@ const list = /* @__PURE__ */ vue.defineComponent({
43
43
  useReload();
44
44
  const maskDivStyle = vue.computed(() => {
45
45
  return css.css`
46
+ position: absolute;
47
+ top: 0;
48
+ right: 0;
49
+ bottom: 0;
50
+ left: 0;
51
+ z-index: 1;
52
+ background: white;
53
+ display: ${tableVisible.value ? "block" : "none"};
54
+ `;
55
+ });
56
+ const tableWrapperStyle = css.css`
46
57
  position: absolute;
47
58
  top: 0;
48
59
  right: 0;
49
60
  bottom: 0;
50
61
  left: 0;
51
- z-index: 1;
52
- background: white;
53
- display: ${tableVisible.value ? "block" : "none"};
54
- `;
55
- });
56
- const tableWrapperStyle = css.css`
57
- position: absolute;
58
- top: 0;
59
- right: 0;
60
- bottom: 0;
61
- left: 0;
62
- overflow: hidden;
62
+ overflow: hidden;
63
63
  `;
64
64
  const cardStyle = css.css`
65
- box-shadow: none !important;
65
+ box-shadow: none !important;
66
66
  `;
67
67
  const leftCardStyle = css.css`
68
- .ant-card-body {
69
- overflow-y: scroll;
70
- -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */
71
- scrollbar-width: none; /* 对 Firefox 生效 */
68
+ .ant-card-body {
69
+ overflow-y: scroll;
70
+ -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */
71
+ scrollbar-width: none; /* 对 Firefox 生效 */
72
72
 
73
- /* Webkit 浏览器 */
73
+ /* Webkit 浏览器 */
74
74
 
75
- ::-webkit-scrollbar {
76
- display: none;
75
+ ::-webkit-scrollbar {
76
+ display: none;
77
+ }
77
78
  }
78
- }
79
79
  `;
80
80
  const listStyle = vue.computed(() => css.css`
81
- padding: 10px;
82
- height: calc(100vh - 44px);
81
+ padding: 10px;
82
+ height: 100%;
83
+ //height: calc(100vh - 44px);
83
84
  `);
84
85
  vue.onMounted(() => {
85
86
  playTableHeight();
@@ -221,27 +222,34 @@ const list = /* @__PURE__ */ vue.defineComponent({
221
222
  })]
222
223
  });
223
224
  }
224
- return vue.createVNode(antDesignVue.Flex, {
225
- "class": [listStyle.value, "app-list"],
226
- "gap": 10
225
+ return vue.createVNode(antDesignVue.Watermark, {
226
+ "style": {
227
+ height: "100%"
228
+ },
229
+ "content": watermarkContent.value
227
230
  }, {
228
- default: () => [slots.left ? vue.createVNode(antDesignVue.Card, {
229
- "class": [cardStyle, leftCardStyle],
230
- "bordered": false,
231
- "bodyStyle": {
232
- height: "100%",
233
- padding: "10px"
234
- }
231
+ default: () => [vue.createVNode(antDesignVue.Flex, {
232
+ "class": [listStyle.value, "app-list"],
233
+ "gap": 10
235
234
  }, {
236
- default: () => {
237
- var _a;
238
- return [(_a = slots.left) == null ? void 0 : _a.call(slots)];
239
- }
240
- }) : null, vue.createVNode(antDesignVue.Flex, {
241
- "vertical": true,
242
- "flex": 1
243
- }, {
244
- default: () => [formLayout()(), tableLayout()()]
235
+ default: () => [slots.left ? vue.createVNode(antDesignVue.Card, {
236
+ "class": [cardStyle, leftCardStyle],
237
+ "bordered": false,
238
+ "bodyStyle": {
239
+ height: "100%",
240
+ padding: "10px"
241
+ }
242
+ }, {
243
+ default: () => {
244
+ var _a;
245
+ return [(_a = slots.left) == null ? void 0 : _a.call(slots)];
246
+ }
247
+ }) : null, vue.createVNode(antDesignVue.Flex, {
248
+ "vertical": true,
249
+ "flex": 1
250
+ }, {
251
+ default: () => [formLayout()(), tableLayout()()]
252
+ })]
245
253
  })]
246
254
  });
247
255
  }
@@ -1 +1 @@
1
- {"version":3,"file":"List.cjs","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 {\r\n Card,\r\n Flex,\r\n Space,\r\n Watermark\r\n} 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(\r\n inject(\"watermarkContent\")\r\n );\r\n const route = useRoute();\r\n const { refresh } = storeToRefs(useAppStore());\r\n const {\r\n tableRef,\r\n height,\r\n tableVisible,\r\n 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(\r\n () => css`\r\n padding: 10px;\r\n height: calc(100vh - 44px);\r\n `\r\n );\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 } =\r\n 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={{\r\n height: \"100%\",\r\n padding: \"10px\"\r\n }}\r\n bordered={false}\r\n >\r\n <Flex\r\n style={{ height: \"100%\" }}\r\n vertical={true}\r\n >\r\n <Space style={{ marginBottom: \"6px\" }}>\r\n {slots.tools?.()}\r\n </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?.({\r\n height: height.value\r\n })}\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, \"app-list\"]}\r\n gap={10}\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","defineComponent","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","left"],"mappings":"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"}
1
+ {"version":3,"file":"List.cjs","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 {\r\n Card,\r\n Flex,\r\n Space,\r\n Watermark\r\n} 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(\r\n inject(\"watermarkContent\", \"\")\r\n );\r\n const route = useRoute();\r\n const { refresh } = storeToRefs(useAppStore());\r\n const {\r\n tableRef,\r\n height,\r\n tableVisible,\r\n 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(\r\n () => css`\r\n padding: 10px;\r\n height: 100%;\r\n //height: calc(100vh - 44px);\r\n `\r\n );\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 } =\r\n 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={{\r\n height: \"100%\",\r\n padding: \"10px\"\r\n }}\r\n bordered={false}\r\n >\r\n <Flex\r\n style={{ height: \"100%\" }}\r\n vertical={true}\r\n >\r\n <Space style={{ marginBottom: \"6px\" }}>\r\n {slots.tools?.()}\r\n </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?.({\r\n height: height.value\r\n })}\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 style={{ height: \"100%\" }} content={watermarkContent.value}>\r\n <Flex\r\n class={[listStyle.value, \"app-list\"]}\r\n gap={10}\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","defineComponent","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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"}
@@ -30,6 +30,7 @@ const show = /* @__PURE__ */ vue.defineComponent({
30
30
  const {
31
31
  useToken
32
32
  } = antDesignVue.theme;
33
+ const watermarkContent = vue.ref(vue.inject("watermarkContent", ""));
33
34
  const {
34
35
  token
35
36
  } = useToken();
@@ -73,13 +74,15 @@ const show = /* @__PURE__ */ vue.defineComponent({
73
74
  }
74
75
  `);
75
76
  const contentStyle = vue.computed(() => css.css`
76
- padding: 10px 10px ${slots.footer ? "70px" : "0"};
77
- background: inherit;
77
+ padding: 10px 10px
78
+ ${slots.bottomFooter ? "50px" : "0"};
79
+ background: ${token.value.colorBgLayout};
78
80
  `);
79
81
  const footerStyle = vue.computed(() => css.css`
80
82
  position: fixed;
81
83
  right: 0;
82
84
  bottom: 0;
85
+ height: 50px;
83
86
  left: ${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px;
84
87
  z-index: 10;
85
88
  padding: 10px;
@@ -106,40 +109,44 @@ const show = /* @__PURE__ */ vue.defineComponent({
106
109
  expose({
107
110
  close: onClosePage
108
111
  });
109
- return () => vue.createVNode(antDesignVue.Flex, {
110
- "vertical": true
112
+ return () => vue.createVNode(antDesignVue.Watermark, {
113
+ "content": watermarkContent.value
111
114
  }, {
112
- default: () => {
113
- var _a, _b;
114
- return [vue.createVNode(antDesignVue.PageHeader, {
115
- "ghost": ghost.value,
116
- "class": pageHeaderStyle.value,
117
- "onBack": () => onBack(),
118
- "title": pageTitle()
119
- }, {
120
- backIcon: () => vue.createVNode("div", null, [vue.createVNode(iconsVue.LeftOutlined, {
121
- "style": {
122
- fontSize: "26px"
115
+ default: () => [vue.createVNode(antDesignVue.Flex, {
116
+ "vertical": true
117
+ }, {
118
+ default: () => {
119
+ var _a, _b;
120
+ return [vue.createVNode(antDesignVue.PageHeader, {
121
+ "ghost": ghost.value,
122
+ "class": pageHeaderStyle.value,
123
+ "onBack": () => onBack(),
124
+ "title": pageTitle()
125
+ }, {
126
+ backIcon: () => vue.createVNode("div", null, [vue.createVNode(iconsVue.LeftOutlined, {
127
+ "style": {
128
+ fontSize: "26px"
129
+ }
130
+ }, null)]),
131
+ extra: () => {
132
+ var _a2;
133
+ return (_a2 = slots.extra) == null ? void 0 : _a2.call(slots);
134
+ },
135
+ footer: () => {
136
+ var _a2;
137
+ return (_a2 = slots.footer) == null ? void 0 : _a2.call(slots);
138
+ },
139
+ subTitle: () => {
140
+ var _a2;
141
+ return (_a2 = slots.subTitle) == null ? void 0 : _a2.call(slots);
123
142
  }
124
- }, null)]),
125
- extra: () => {
126
- var _a2;
127
- return (_a2 = slots.extra) == null ? void 0 : _a2.call(slots);
128
- },
129
- footer: () => {
130
- var _a2;
131
- return (_a2 = slots.footer) == null ? void 0 : _a2.call(slots);
132
- },
133
- subTitle: () => {
134
- var _a2;
135
- return (_a2 = slots.subTitle) == null ? void 0 : _a2.call(slots);
136
- }
137
- }), vue.createVNode("div", {
138
- "class": contentStyle.value
139
- }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), slots.bottomFooter ? vue.createVNode("div", {
140
- "class": footerStyle.value
141
- }, [(_b = slots.bottomFooter) == null ? void 0 : _b.call(slots)]) : null];
142
- }
143
+ }), vue.createVNode("div", {
144
+ "class": contentStyle.value
145
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), slots.bottomFooter ? vue.createVNode("div", {
146
+ "class": footerStyle.value
147
+ }, [(_b = slots.bottomFooter) == null ? void 0 : _b.call(slots)]) : null];
148
+ }
149
+ })]
143
150
  });
144
151
  }
145
152
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Show.cjs","sources":["../../../../src/components/layout/Show.tsx"],"sourcesContent":["import {\r\n computed,\r\n ComputedRef,\r\n defineComponent,\r\n ref\r\n} from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { Flex, PageHeader, theme } 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 { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } =\r\n useToken();\r\n\r\n const { layout, modeConfig, refresh } =\r\n storeToRefs(useAppStore());\r\n const { deleteTabs } = useNavTabStore();\r\n\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\r\n ? \"box-shadow:0 10px 10px rgba(0, 0, 0, 0.15);\"\r\n : \"\"}\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: ${modeConfig.value.mode !== \"light\"\r\n ? token.value.colorBgContainer\r\n : \"#fff\"};\r\n box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);\r\n transition: left 0.4s\r\n cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `\r\n );\r\n const pageTitle = () => (\r\n <div>{route.meta.title || \"无标题\"}</div>\r\n );\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 <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\r\n style={{ fontSize: \"26px\" }}\r\n />\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}>\r\n {slots.default?.()}\r\n </div>\r\n {slots.bottomFooter ? (\r\n <div class={footerStyle.value}>\r\n {slots.bottomFooter?.()}\r\n </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","defineComponent","name","props","setup","slots","expose","useToken","theme","token","layout","modeConfig","refresh","storeToRefs","useAppStore","deleteTabs","useNavTabStore","route","useRoute","router","useRouter","y","useWindowScroll","pageHeaderStyle","computed","css","value","headerHeight","colorBgLayout","contentStyle","footer","footerStyle","collapsed","collapsedWidth","sideWidth","mode","colorBgContainer","pageTitle","_createVNode","meta","title","ghost","ref","onBack","fullPath","go","onClosePage","Flex","PageHeader","backIcon","LeftOutlined","fontSize","extra","_a","subTitle","bottomFooter"],"mappings":"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"}
1
+ {"version":3,"file":"Show.cjs","sources":["../../../../src/components/layout/Show.tsx"],"sourcesContent":["import {\r\n computed,\r\n ComputedRef,\r\n defineComponent,\r\n inject,\r\n ref\r\n} from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport {\r\n Flex,\r\n PageHeader,\r\n theme,\r\n Watermark\r\n} 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 { useToken } = theme;\r\n const watermarkContent = ref(\r\n inject(\"watermarkContent\", \"\")\r\n );\r\n const { token }: { token: ComputedRef<GlobalToken> } =\r\n useToken();\r\n\r\n const { layout, modeConfig, refresh } =\r\n storeToRefs(useAppStore());\r\n const { deleteTabs } = useNavTabStore();\r\n\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\r\n ? \"box-shadow:0 10px 10px rgba(0, 0, 0, 0.15);\"\r\n : \"\"}\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\r\n ${slots.bottomFooter ? \"50px\" : \"0\"};\r\n background: ${token.value.colorBgLayout};\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 height: 50px;\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: ${modeConfig.value.mode !== \"light\"\r\n ? token.value.colorBgContainer\r\n : \"#fff\"};\r\n box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);\r\n transition: left 0.4s\r\n cubic-bezier(0.22, 1.2, 0.36, 1);\r\n `\r\n );\r\n const pageTitle = () => (\r\n <div>{route.meta.title || \"无标题\"}</div>\r\n );\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}>\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\r\n style={{ fontSize: \"26px\" }}\r\n />\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}>\r\n {slots.default?.()}\r\n </div>\r\n {slots.bottomFooter ? (\r\n <div class={footerStyle.value}>\r\n {slots.bottomFooter?.()}\r\n </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","defineComponent","name","props","setup","slots","expose","useToken","theme","watermarkContent","ref","inject","token","layout","modeConfig","refresh","storeToRefs","useAppStore","deleteTabs","useNavTabStore","route","useRoute","router","useRouter","y","useWindowScroll","pageHeaderStyle","computed","css","value","headerHeight","colorBgLayout","contentStyle","bottomFooter","footerStyle","collapsed","collapsedWidth","sideWidth","mode","colorBgContainer","pageTitle","_createVNode","meta","title","ghost","onBack","fullPath","go","onClosePage","Watermark","Flex","PageHeader","backIcon","LeftOutlined","fontSize","extra","_a","footer","subTitle"],"mappings":"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"}