@ditari/bsui 5.1.20 → 5.1.22

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 (85) hide show
  1. package/dist/cjs/components/action-bar/ActionBar.vue.d.ts +2 -1
  2. package/dist/cjs/components/action-bar/ActionBar.vue2.cjs +1 -1
  3. package/dist/cjs/components/action-bar/ActionBar.vue2.cjs.map +1 -1
  4. package/dist/cjs/components/card/Card.cjs +8 -2
  5. package/dist/cjs/components/card/Card.cjs.map +1 -1
  6. package/dist/cjs/components/card/style.cjs +4 -2
  7. package/dist/cjs/components/card/style.cjs.map +1 -1
  8. package/dist/cjs/components/desensitize/Desensitize.cjs +99 -0
  9. package/dist/cjs/components/desensitize/Desensitize.cjs.map +1 -0
  10. package/dist/cjs/components/desensitize/Desensitize.d.ts +60 -0
  11. package/dist/cjs/components/desensitize/index.cjs +15 -0
  12. package/dist/cjs/components/desensitize/index.cjs.map +1 -0
  13. package/dist/cjs/components/desensitize/index.d.ts +4 -0
  14. package/dist/cjs/components/desensitize/style.cjs +22 -0
  15. package/dist/cjs/components/desensitize/style.cjs.map +1 -0
  16. package/dist/cjs/components/desensitize/style.d.ts +6 -0
  17. package/dist/cjs/components/dic/DicReplace.cjs +2 -1
  18. package/dist/cjs/components/dic/DicReplace.cjs.map +1 -1
  19. package/dist/cjs/components/layout/AppContext.cjs.map +1 -1
  20. package/dist/cjs/components/layout/AppLayout.cjs.map +1 -1
  21. package/dist/cjs/components/layout/List.cjs.map +1 -1
  22. package/dist/cjs/components/layout/Show.cjs.map +1 -1
  23. package/dist/cjs/components/layout/components/layout/RouterContentName.vue2.cjs.map +1 -1
  24. package/dist/cjs/components/layout/components/mobile/MobileList.cjs.map +1 -1
  25. package/dist/cjs/components/layout/style.cjs.map +1 -1
  26. package/dist/cjs/components/select/Select.vue2.cjs.map +1 -1
  27. package/dist/cjs/components/table-form/TableForm.cjs.map +1 -1
  28. package/dist/cjs/components/table-form/TableFormItem.cjs.map +1 -1
  29. package/dist/cjs/components/table-form/index.cjs.map +1 -1
  30. package/dist/cjs/components/table-form/interface.cjs.map +1 -1
  31. package/dist/cjs/components/table-form/style.cjs.map +1 -1
  32. package/dist/cjs/hooks/useDesign.cjs.map +1 -1
  33. package/dist/cjs/index.cjs +0 -1
  34. package/dist/cjs/index.cjs.map +1 -1
  35. package/dist/cjs/utils/withInstall.cjs.map +1 -1
  36. package/dist/esm/components/action-bar/ActionBar.vue.d.ts +2 -1
  37. package/dist/esm/components/action-bar/ActionBar.vue2.mjs +2 -2
  38. package/dist/esm/components/action-bar/ActionBar.vue2.mjs.map +1 -1
  39. package/dist/esm/components/card/Card.mjs +8 -2
  40. package/dist/esm/components/card/Card.mjs.map +1 -1
  41. package/dist/esm/components/card/style.mjs +4 -2
  42. package/dist/esm/components/card/style.mjs.map +1 -1
  43. package/dist/esm/components/desensitize/Desensitize.d.ts +60 -0
  44. package/dist/esm/components/desensitize/Desensitize.mjs +97 -0
  45. package/dist/esm/components/desensitize/Desensitize.mjs.map +1 -0
  46. package/dist/esm/components/desensitize/index.d.ts +4 -0
  47. package/dist/esm/components/desensitize/index.mjs +10 -0
  48. package/dist/esm/components/desensitize/index.mjs.map +1 -0
  49. package/dist/esm/components/desensitize/style.d.ts +6 -0
  50. package/dist/esm/components/desensitize/style.mjs +20 -0
  51. package/dist/esm/components/desensitize/style.mjs.map +1 -0
  52. package/dist/esm/components/dic/DicReplace.mjs +2 -1
  53. package/dist/esm/components/dic/DicReplace.mjs.map +1 -1
  54. package/dist/esm/components/layout/AppContext.mjs.map +1 -1
  55. package/dist/esm/components/layout/AppLayout.mjs.map +1 -1
  56. package/dist/esm/components/layout/List.mjs.map +1 -1
  57. package/dist/esm/components/layout/Show.mjs.map +1 -1
  58. package/dist/esm/components/layout/components/layout/RouterContentName.vue2.mjs.map +1 -1
  59. package/dist/esm/components/layout/components/mobile/MobileList.mjs.map +1 -1
  60. package/dist/esm/components/layout/style.mjs.map +1 -1
  61. package/dist/esm/components/select/Select.vue2.mjs.map +1 -1
  62. package/dist/esm/components/table-form/TableForm.mjs.map +1 -1
  63. package/dist/esm/components/table-form/TableFormItem.mjs.map +1 -1
  64. package/dist/esm/components/table-form/index.mjs.map +1 -1
  65. package/dist/esm/components/table-form/interface.mjs.map +1 -1
  66. package/dist/esm/components/table-form/style.mjs.map +1 -1
  67. package/dist/esm/hooks/useDesign.mjs.map +1 -1
  68. package/dist/esm/index.mjs +0 -1
  69. package/dist/esm/index.mjs.map +1 -1
  70. package/dist/esm/utils/withInstall.mjs.map +1 -1
  71. package/dist/types/components/action-bar/ActionBar.vue.d.ts +2 -1
  72. package/dist/types/components/action-bar/ActionBar.vue.d.ts.map +1 -1
  73. package/dist/types/components/card/Card.d.ts.map +1 -1
  74. package/dist/types/components/card/style.d.ts.map +1 -1
  75. package/dist/types/components/desensitize/Desensitize.d.ts +60 -0
  76. package/dist/types/components/desensitize/Desensitize.d.ts.map +1 -0
  77. package/dist/types/components/desensitize/index.d.ts +4 -0
  78. package/dist/types/components/desensitize/index.d.ts.map +1 -0
  79. package/dist/types/components/desensitize/style.d.ts +6 -0
  80. package/dist/types/components/desensitize/style.d.ts.map +1 -0
  81. package/dist/types/components/dic/DicReplace.d.ts.map +1 -1
  82. package/dist/types/components/layout/components/layout/RouterContentName.vue.d.ts.map +1 -1
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/package.json +3 -3
  85. package/src/index.ts +0 -1
@@ -0,0 +1,60 @@
1
+ export declare const Desensitize: import("../../utils/withInstall").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ value: {
3
+ type: () => string | undefined;
4
+ required: true;
5
+ };
6
+ style: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ rule: {
11
+ type: StringConstructor;
12
+ required: true;
13
+ };
14
+ regex: {
15
+ type: StringConstructor;
16
+ default: string;
17
+ };
18
+ regexValue: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ eye: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
27
+ value: {
28
+ type: () => string | undefined;
29
+ required: true;
30
+ };
31
+ style: {
32
+ type: StringConstructor;
33
+ default: string;
34
+ };
35
+ rule: {
36
+ type: StringConstructor;
37
+ required: true;
38
+ };
39
+ regex: {
40
+ type: StringConstructor;
41
+ default: string;
42
+ };
43
+ regexValue: {
44
+ type: StringConstructor;
45
+ default: string;
46
+ };
47
+ eye: {
48
+ type: BooleanConstructor;
49
+ default: boolean;
50
+ };
51
+ }>> & Readonly<{}>, {
52
+ style: string;
53
+ regex: string;
54
+ regexValue: string;
55
+ eye: boolean;
56
+ }, {}, {
57
+ EyeOutlined: import("@ant-design/icons-vue/lib/icons/EyeOutlined").EyeOutlinedIconType;
58
+ EyeInvisibleOutlined: import("@ant-design/icons-vue/lib/icons/EyeInvisibleOutlined").EyeInvisibleOutlinedIconType;
59
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
60
+ //# sourceMappingURL=Desensitize.d.ts.map
@@ -0,0 +1,97 @@
1
+ import { defineComponent, ref, computed, createVNode, withDirectives, resolveComponent, vShow } from 'vue';
2
+ import { EyeInvisibleOutlined, EyeOutlined } from '@ant-design/icons-vue';
3
+ import { cx } from '@emotion/css';
4
+ import { useDesign } from '../../hooks/useDesign.mjs';
5
+ import { withInstall } from '../../utils/withInstall.mjs';
6
+ import { useStyle } from './style.mjs';
7
+
8
+ "use strict";
9
+ const _Desensitize = /* @__PURE__ */ defineComponent({
10
+ name: "DDesensitize",
11
+ components: {
12
+ EyeOutlined,
13
+ EyeInvisibleOutlined
14
+ },
15
+ props: {
16
+ value: {
17
+ // type: [string,number] 可以使用PropType 来声明对象类型
18
+ // type: String as () => string | number,
19
+ type: String,
20
+ required: true
21
+ },
22
+ // 替换样式
23
+ style: {
24
+ type: String,
25
+ default: "*"
26
+ },
27
+ // 替换规则 id 和mobile
28
+ rule: {
29
+ type: String,
30
+ required: true
31
+ },
32
+ // 正则表达式
33
+ regex: {
34
+ type: String,
35
+ default: ""
36
+ },
37
+ // 替换方式
38
+ regexValue: {
39
+ type: String,
40
+ default: ""
41
+ },
42
+ eye: {
43
+ type: Boolean,
44
+ default: false
45
+ }
46
+ },
47
+ setup(props) {
48
+ const {
49
+ getPrefixCls
50
+ } = useDesign("desensitize");
51
+ const styles = useStyle();
52
+ const invisible = ref(true);
53
+ const desensitizedString = computed(() => {
54
+ const value = props.value;
55
+ const rule = props.rule;
56
+ const regex = props.regex;
57
+ const regexValue = props.regexValue;
58
+ let str = "";
59
+ if (!value) {
60
+ return "";
61
+ }
62
+ if (rule) {
63
+ switch (rule) {
64
+ case "mobile":
65
+ str = value.replace(/(\d{3})\d{4}(\d{4})/, "$1*****$2");
66
+ break;
67
+ case "id":
68
+ str = value.replace(/(\d{4})\d{10}(\w{4})/, "$1*****$2");
69
+ break;
70
+ }
71
+ } else {
72
+ str = value.replace(regex, regexValue);
73
+ }
74
+ return str;
75
+ });
76
+ return () => {
77
+ const rootCls = getPrefixCls();
78
+ const valueCls = getPrefixCls("value");
79
+ const iconCls = getPrefixCls("icon");
80
+ return createVNode("div", {
81
+ "class": cx(rootCls, styles.container)
82
+ }, [createVNode("span", {
83
+ "class": cx(valueCls, styles.value)
84
+ }, [invisible.value ? desensitizedString.value : props.value]), props.eye ? createVNode("span", {
85
+ "class": cx(iconCls, styles.icon)
86
+ }, [withDirectives(createVNode(resolveComponent("eye-outlined"), {
87
+ "onClick": () => invisible.value = !invisible.value
88
+ }, null), [[vShow, !invisible.value]]), withDirectives(createVNode(resolveComponent("eye-invisible-outlined"), {
89
+ "onClick": () => invisible.value = !invisible.value
90
+ }, null), [[vShow, invisible.value]])]) : void 0]);
91
+ };
92
+ }
93
+ });
94
+ const Desensitize = withInstall(_Desensitize);
95
+
96
+ export { Desensitize };
97
+ //# sourceMappingURL=Desensitize.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Desensitize.mjs","sources":["../../../../src/components/desensitize/Desensitize.tsx"],"sourcesContent":["/**\r\n * 脱敏\r\n * @author 余春林\r\n */\r\nimport { defineComponent, computed, ref } from \"vue\";\r\nimport { EyeOutlined, EyeInvisibleOutlined } from \"@ant-design/icons-vue\";\r\nimport { cx } from \"@emotion/css\";\r\n\r\nimport { useDesign } from \"../../hooks/useDesign\";\r\nimport { withInstall } from \"../../utils/withInstall\";\r\n\r\nimport { useStyle } from \"./style\";\r\n\r\nconst _Desensitize = defineComponent({\r\n name: \"DDesensitize\",\r\n components: {\r\n EyeOutlined,\r\n EyeInvisibleOutlined\r\n },\r\n props: {\r\n value: {\r\n // type: [string,number] 可以使用PropType 来声明对象类型\r\n // type: String as () => string | number,\r\n type: String as () => string | undefined,\r\n required: true\r\n },\r\n // 替换样式\r\n style: {\r\n type: String,\r\n default: \"*\"\r\n },\r\n // 替换规则 id 和mobile\r\n rule: {\r\n type: String,\r\n required: true\r\n },\r\n // 正则表达式\r\n regex: {\r\n type: String,\r\n default: \"\"\r\n },\r\n // 替换方式\r\n regexValue: {\r\n type: String,\r\n default: \"\"\r\n },\r\n eye: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n setup(props) {\r\n const { getPrefixCls } = useDesign(\"desensitize\");\r\n const styles = useStyle();\r\n\r\n // 控制显示隐藏脱敏或者不脱敏\r\n const invisible = ref(true);\r\n const desensitizedString = computed(() => {\r\n const value = props.value;\r\n const rule = props.rule;\r\n const regex = props.regex;\r\n const regexValue = props.regexValue;\r\n let str = \"\";\r\n if (!value) {\r\n return \"\";\r\n }\r\n if (rule) {\r\n switch (rule) {\r\n case \"mobile\":\r\n str = value.replace(/(\\d{3})\\d{4}(\\d{4})/, \"$1*****$2\");\r\n break;\r\n case \"id\":\r\n str = value.replace(/(\\d{4})\\d{10}(\\w{4})/, \"$1*****$2\");\r\n break;\r\n }\r\n } else {\r\n str = value.replace(regex, regexValue);\r\n }\r\n return str;\r\n });\r\n return () => {\r\n const rootCls = getPrefixCls();\r\n const valueCls = getPrefixCls(\"value\");\r\n const iconCls = getPrefixCls(\"icon\");\r\n\r\n return (\r\n <div class={cx(rootCls, styles.container)}>\r\n <span class={cx(valueCls, styles.value)}>\r\n {invisible.value ? desensitizedString.value : props.value}\r\n </span>\r\n {props.eye ? (\r\n <span class={cx(iconCls, styles.icon)}>\r\n <eye-outlined\r\n onClick={() => (invisible.value = !invisible.value)}\r\n v-show={!invisible.value}\r\n />\r\n <eye-invisible-outlined\r\n onClick={() => (invisible.value = !invisible.value)}\r\n v-show={invisible.value}\r\n />\r\n </span>\r\n ) : undefined}\r\n </div>\r\n );\r\n };\r\n }\r\n});\r\n\r\nexport const Desensitize = withInstall(_Desensitize);\r\n"],"names":["_Desensitize","defineComponent","name","components","EyeOutlined","EyeInvisibleOutlined","props","value","type","String","required","style","default","rule","regex","regexValue","eye","Boolean","setup","getPrefixCls","useDesign","styles","useStyle","invisible","ref","desensitizedString","computed","str","replace","rootCls","valueCls","iconCls","_createVNode","cx","container","icon","_withDirectives","_resolveComponent","onClick","_vShow","undefined","Desensitize","withInstall"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Desensitize } from "./Desensitize";
2
+ export { Desensitize };
3
+ export default Desensitize;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { Desensitize } from './Desensitize.mjs';
2
+
3
+ "use strict";
4
+ Desensitize.install = function(app) {
5
+ app.component(Desensitize.name, Desensitize);
6
+ return app;
7
+ };
8
+
9
+ export { Desensitize, Desensitize as default };
10
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/components/desensitize/index.ts"],"sourcesContent":["import type { App } from \"vue\";\r\nimport { Desensitize } from \"./Desensitize\";\r\n\r\nDesensitize.install = function (app: App) {\r\n app.component(Desensitize.name!, Desensitize);\r\n return app;\r\n};\r\n\r\nexport { Desensitize };\r\n\r\nexport default Desensitize;\r\n"],"names":[],"mappings":";;;AAGA,WAAA,CAAY,OAAA,GAAU,SAAU,GAAA,EAAU;AACxC,EAAA,GAAA,CAAI,SAAA,CAAU,WAAA,CAAY,IAAA,EAAO,WAAW,CAAA;AAC5C,EAAA,OAAO,GAAA;AACT,CAAA;;;;"}
@@ -0,0 +1,6 @@
1
+ export declare const useStyle: () => {
2
+ container: string;
3
+ value: string;
4
+ icon: string;
5
+ };
6
+ //# sourceMappingURL=style.d.ts.map
@@ -0,0 +1,20 @@
1
+ import { css } from '@emotion/css';
2
+
3
+ "use strict";
4
+ const useStyle = () => {
5
+ return {
6
+ container: css`
7
+ display: inline-block;
8
+ `,
9
+ value: css`
10
+ padding: 0 4px;
11
+ `,
12
+ icon: css`
13
+ cursor: pointer;
14
+ margin-left: 4px;
15
+ `
16
+ };
17
+ };
18
+
19
+ export { useStyle };
20
+ //# sourceMappingURL=style.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.mjs","sources":["../../../../src/components/desensitize/style.ts"],"sourcesContent":["import { css } from \"@emotion/css\";\r\n\r\nexport const useStyle = () => {\r\n return {\r\n container: css`\r\n display: inline-block;\r\n `,\r\n value: css`\r\n padding: 0 4px;\r\n `,\r\n icon: css`\r\n cursor: pointer;\r\n margin-left: 4px;\r\n `\r\n };\r\n};\r\n"],"names":[],"mappings":";;;AAEO,MAAM,WAAW,MAAM;AAC5B,EAAA,OAAO;AAAA,IACL,SAAA,EAAW,GAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAGX,KAAA,EAAO,GAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAGP,IAAA,EAAM,GAAA;AAAA;AAAA;AAAA,IAAA;AAAA,GAIR;AACF;;;;"}
@@ -72,7 +72,8 @@ var DicReplace = /* @__PURE__ */ defineComponent({
72
72
  }
73
73
  });
74
74
  }
75
- loadDicData().then(() => console.log("success load dic"));
75
+ loadDicData().then(() => {
76
+ });
76
77
  watch(() => props.value, (val) => {
77
78
  replace(val);
78
79
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"DicReplace.mjs","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\";\nimport { storeToRefs } from \"pinia\";\n\nimport { useDicStore, useNavTabStore } 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, Number],\n default: \"\"\n }\n },\n setup(props) {\n const { list } = storeToRefs(useNavTabStore());\n const { getDicTextByValue } = useDicStore();\n const route = useRoute();\n // 判断使用组件的页面是否被缓存\n const isKeepAlive = list.value.some(\n item =>\n item.fullPath === route.fullPath &&\n item.meta?.keepAlive\n );\n const dicValueTxt = ref<string>(\"\");\n\n // 注入 fetchDic,提供默认值\n const fetchDic = inject<\n (name: string) => Promise<unknown[]>\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\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 | number) => {\n replace(val);\n },\n {\n immediate: true\n }\n );\n\n function replace(val: string | number) {\n const value = val;\n const name = props.name;\n dicValueTxt.value = getDicTextByValue(\n name,\n value?.toString()\n );\n }\n\n return () => (\n <span class={\"d-dic\"}>{dicValueTxt.value}</span>\n );\n }\n});\n"],"names":["name","props","type","String","default","value","Number","setup","list","storeToRefs","useNavTabStore","getDicTextByValue","useDicStore","route","useRoute","isKeepAlive","some","item","fullPath","meta","keepAlive","dicValueTxt","ref","fetchDic","inject","_name","onActivated","loadDicData","onMounted","replace","error","console","then","log","watch","val","immediate","toString","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"DicReplace.mjs","sources":["../../../../src/components/dic/DicReplace.tsx"],"sourcesContent":["/**\r\n * 字典替换\r\n * 根据字典名字及对应的value替换成中文或者人能看懂的文字\r\n * @author 余春林\r\n */\r\nimport {\r\n defineComponent,\r\n inject,\r\n onActivated,\r\n onMounted,\r\n ref,\r\n watch\r\n} from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport { useDicStore, useNavTabStore } from \"@ditari/store\";\r\n\r\nexport default defineComponent({\r\n name: \"DicRep\",\r\n props: {\r\n // 字典名称\r\n name: {\r\n type: String,\r\n default: \"\"\r\n },\r\n // 值\r\n value: {\r\n type: [String, Number],\r\n default: \"\"\r\n }\r\n },\r\n setup(props) {\r\n const { list } = storeToRefs(useNavTabStore());\r\n const { getDicTextByValue } = useDicStore();\r\n const route = useRoute();\r\n // 判断使用组件的页面是否被缓存\r\n const isKeepAlive = list.value.some(\r\n item =>\r\n item.fullPath === route.fullPath &&\r\n item.meta?.keepAlive\r\n );\r\n const dicValueTxt = ref<string>(\"\");\r\n\r\n // 注入 fetchDic,提供默认值\r\n const fetchDic = inject<\r\n (name: string) => Promise<unknown[]>\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n >(\"fetchDic\", async (_name: string) => {\r\n // console.warn(\r\n // `fetchDic 未注入,使用默认实现,name: ${name}`\r\n // );\r\n return [];\r\n });\r\n\r\n onActivated(async () => {\r\n // 缓存页面被激活的时候调用\r\n await loadDicData();\r\n });\r\n\r\n onMounted(async () => {\r\n if (!isKeepAlive) {\r\n // 未缓存页面 挂载的时候调用\r\n await loadDicData();\r\n }\r\n });\r\n\r\n // 请求字典数据的函数\r\n async function loadDicData() {\r\n try {\r\n // 调用注入进来的fetchDic方法\r\n await fetchDic(props.name);\r\n replace(props.value);\r\n } catch (error) {\r\n console.error(\"获取字典数据失败:\", error);\r\n }\r\n }\r\n\r\n loadDicData().then(() =>{\r\n // console.log(\"success load dic\")\r\n }\r\n );\r\n\r\n watch(\r\n () => props.value,\r\n (val: string | number) => {\r\n replace(val);\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n function replace(val: string | number) {\r\n const value = val;\r\n const name = props.name;\r\n dicValueTxt.value = getDicTextByValue(\r\n name,\r\n value?.toString()\r\n );\r\n }\r\n\r\n return () => (\r\n <span class={\"d-dic\"}>{dicValueTxt.value}</span>\r\n );\r\n }\r\n});\r\n"],"names":["name","props","type","String","default","value","Number","setup","list","storeToRefs","useNavTabStore","getDicTextByValue","useDicStore","route","useRoute","isKeepAlive","some","item","fullPath","meta","keepAlive","dicValueTxt","ref","fetchDic","inject","_name","onActivated","loadDicData","onMounted","replace","error","console","then","watch","val","immediate","toString","_createVNode"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppContext.mjs","sources":["../../../../src/components/layout/AppContext.ts"],"sourcesContent":["import { ComputedRef, VNode } from \"vue\";\n\nexport const AppContextKey = Symbol(\"d-bsui-context\");\nexport interface AppContext {\n // 水印\n watermarkContent?: ComputedRef<{ content: string }>;\n renderMenuIcon?: (item: {\n icon: string;\n }) => VNode | VNode[];\n // 缓存方式 Name:组件名称 Path:路径缓\n keepAliveMode: \"Name\" | \"Path\";\n // 多标签重载\n onReloadPage?: (item: { [key: string]: unknown }) => void;\n // 多标签是否开启右键菜单\n enableTabContextMenu?: boolean;\n}\n"],"names":[],"mappings":";AAEO,MAAM,aAAA,GAAgB,OAAO,gBAAgB;;;;"}
1
+ {"version":3,"file":"AppContext.mjs","sources":["../../../../src/components/layout/AppContext.ts"],"sourcesContent":["import { ComputedRef, VNode } from \"vue\";\r\n\r\nexport const AppContextKey = Symbol(\"d-bsui-context\");\r\nexport interface AppContext {\r\n // 水印\r\n watermarkContent?: ComputedRef<{ content: string }>;\r\n renderMenuIcon?: (item: {\r\n icon: string;\r\n }) => VNode | VNode[];\r\n // 缓存方式 Name:组件名称 Path:路径缓\r\n keepAliveMode: \"Name\" | \"Path\";\r\n // 多标签重载\r\n onReloadPage?: (item: { [key: string]: unknown }) => void;\r\n // 多标签是否开启右键菜单\r\n enableTabContextMenu?: boolean;\r\n}\r\n"],"names":[],"mappings":";AAEO,MAAM,aAAA,GAAgB,OAAO,gBAAgB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppLayout.mjs","sources":["../../../../src/components/layout/AppLayout.tsx"],"sourcesContent":["import { defineComponent } from \"vue\";\nimport { storeToRefs } from \"pinia\";\n\nimport { useAppLayoutStyle } from \"./style\";\nimport { useDeviceStore } from \"@ditari/store\";\nimport { cx } from \"@emotion/css\";\n\nimport { useDesign } from \"../../hooks/useDesign\";\n\nconst DAppLayout = defineComponent({\n name: \"DAppLayout\",\n setup(_, { slots }) {\n const deviceStore = useDeviceStore();\n // 使用 storeToRefs 解构出响应式引用\n const { isMobile, isTablet, isDesktop } =\n storeToRefs(deviceStore);\n\n const { getPrefixCls } = useDesign(\"app-layout\");\n const styles = useAppLayoutStyle();\n\n return () => {\n const rootCls = getPrefixCls();\n const mobileCls = getPrefixCls(\"mobile\");\n const tabletCls = getPrefixCls(\"tablet\");\n const desktopCls = getPrefixCls(\"desktop\");\n\n let layoutContent;\n if (isMobile.value) {\n layoutContent = slots.mobile ? (\n <div class={cx(mobileCls, styles.mobile)}>\n {slots.mobile()}\n </div>\n ) : undefined;\n } else if (isTablet.value) {\n layoutContent = slots.tablet ? (\n <div class={cx(tabletCls)}>{slots.tablet()}</div>\n ) : undefined;\n } else {\n layoutContent = slots.desktop ? (\n <div class={cx(desktopCls)}>\n {slots.desktop()}\n </div>\n ) : undefined;\n }\n\n return (\n <div class={cx(rootCls, styles.appLayout)}>\n {layoutContent}\n </div>\n );\n };\n }\n});\n\nexport default DAppLayout;\n"],"names":["DAppLayout","defineComponent","name","setup","_","slots","deviceStore","useDeviceStore","isMobile","isTablet","isDesktop","storeToRefs","getPrefixCls","useDesign","styles","useAppLayoutStyle","rootCls","mobileCls","tabletCls","desktopCls","layoutContent","value","mobile","_createVNode","cx","undefined","tablet","desktop","appLayout"],"mappings":";;;;;;;;AASA,MAAMA,6BAAaC,eAAAA,CAAgB;AAAA,EACjCC,IAAAA,EAAM,YAAA;AAAA,EACNC,MAAMC,CAAAA,EAAG;AAAA,IAAEC;AAAAA,GAAM,EAAG;AAClB,IAAA,MAAMC,cAAcC,cAAAA,EAAe;AAEnC,IAAA,MAAM;AAAA,MAAEC,QAAAA;AAAAA,MAAUC,QAAAA;AAAAA,MAAUC;AAAAA,KAAU,GACpCC,YAAYL,WAAW,CAAA;AAEzB,IAAA,MAAM;AAAA,MAAEM;AAAAA,KAAa,GAAIC,UAAU,YAAY,CAAA;AAC/C,IAAA,MAAMC,SAASC,iBAAAA,EAAkB;AAEjC,IAAA,OAAO,MAAM;AACX,MAAA,MAAMC,UAAUJ,YAAAA,EAAa;AAC7B,MAAA,MAAMK,SAAAA,GAAYL,aAAa,QAAQ,CAAA;AACvC,MAAA,MAAMM,SAAAA,GAAYN,aAAa,QAAQ,CAAA;AACvC,MAAA,MAAMO,UAAAA,GAAaP,aAAa,SAAS,CAAA;AAEzC,MAAA,IAAIQ,aAAAA;AACJ,MAAA,IAAIZ,SAASa,KAAAA,EAAO;AAClBD,QAAAA,aAAAA,GAAgBf,KAAAA,CAAMiB,MAAAA,GAAMC,WAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACdC,EAAAA,CAAGP,SAAAA,EAAWH,MAAAA,CAAOQ,MAAM;AAAA,WAAC,CACrCjB,KAAAA,CAAMiB,MAAAA,EAAQ,KAEfG,KAAAA,CAAAA;AAAAA,MACN,CAAA,MAAA,IAAWhB,SAASY,KAAAA,EAAO;AACzBD,QAAAA,aAAAA,GAAgBf,KAAAA,CAAMqB,MAAAA,GAAMH,WAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACdC,GAAGN,SAAS;AAAA,WAAC,CAAGb,KAAAA,CAAMqB,MAAAA,EAAQ,KACxCD,KAAAA,CAAAA;AAAAA,MACN,CAAA,MAAO;AACLL,QAAAA,aAAAA,GAAgBf,KAAAA,CAAMsB,OAAAA,GAAOJ,WAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACfC,GAAGL,UAAU;AAAA,WAAC,CACvBd,KAAAA,CAAMsB,OAAAA,EAAS,KAEhBF,KAAAA,CAAAA;AAAAA,MACN;AAEA,MAAA,OAAAF,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACcC,EAAAA,CAAGR,OAAAA,EAASF,MAAAA,CAAOc,SAAS;AAAA,OAAC,EAAA,CACtCR,aAAa,CAAA,CAAA;AAAA,IAGpB,CAAA;AAAA,EACF;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"AppLayout.mjs","sources":["../../../../src/components/layout/AppLayout.tsx"],"sourcesContent":["import { defineComponent } from \"vue\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport { useAppLayoutStyle } from \"./style\";\r\nimport { useDeviceStore } from \"@ditari/store\";\r\nimport { cx } from \"@emotion/css\";\r\n\r\nimport { useDesign } from \"../../hooks/useDesign\";\r\n\r\nconst DAppLayout = defineComponent({\r\n name: \"DAppLayout\",\r\n setup(_, { slots }) {\r\n const deviceStore = useDeviceStore();\r\n // 使用 storeToRefs 解构出响应式引用\r\n const { isMobile, isTablet, isDesktop } =\r\n storeToRefs(deviceStore);\r\n\r\n const { getPrefixCls } = useDesign(\"app-layout\");\r\n const styles = useAppLayoutStyle();\r\n\r\n return () => {\r\n const rootCls = getPrefixCls();\r\n const mobileCls = getPrefixCls(\"mobile\");\r\n const tabletCls = getPrefixCls(\"tablet\");\r\n const desktopCls = getPrefixCls(\"desktop\");\r\n\r\n let layoutContent;\r\n if (isMobile.value) {\r\n layoutContent = slots.mobile ? (\r\n <div class={cx(mobileCls, styles.mobile)}>\r\n {slots.mobile()}\r\n </div>\r\n ) : undefined;\r\n } else if (isTablet.value) {\r\n layoutContent = slots.tablet ? (\r\n <div class={cx(tabletCls)}>{slots.tablet()}</div>\r\n ) : undefined;\r\n } else {\r\n layoutContent = slots.desktop ? (\r\n <div class={cx(desktopCls)}>\r\n {slots.desktop()}\r\n </div>\r\n ) : undefined;\r\n }\r\n\r\n return (\r\n <div class={cx(rootCls, styles.appLayout)}>\r\n {layoutContent}\r\n </div>\r\n );\r\n };\r\n }\r\n});\r\n\r\nexport default DAppLayout;\r\n"],"names":["DAppLayout","defineComponent","name","setup","_","slots","deviceStore","useDeviceStore","isMobile","isTablet","isDesktop","storeToRefs","getPrefixCls","useDesign","styles","useAppLayoutStyle","rootCls","mobileCls","tabletCls","desktopCls","layoutContent","value","mobile","_createVNode","cx","undefined","tablet","desktop","appLayout"],"mappings":";;;;;;;;AASA,MAAMA,6BAAaC,eAAAA,CAAgB;AAAA,EACjCC,IAAAA,EAAM,YAAA;AAAA,EACNC,MAAMC,CAAAA,EAAG;AAAA,IAAEC;AAAAA,GAAM,EAAG;AAClB,IAAA,MAAMC,cAAcC,cAAAA,EAAe;AAEnC,IAAA,MAAM;AAAA,MAAEC,QAAAA;AAAAA,MAAUC,QAAAA;AAAAA,MAAUC;AAAAA,KAAU,GACpCC,YAAYL,WAAW,CAAA;AAEzB,IAAA,MAAM;AAAA,MAAEM;AAAAA,KAAa,GAAIC,UAAU,YAAY,CAAA;AAC/C,IAAA,MAAMC,SAASC,iBAAAA,EAAkB;AAEjC,IAAA,OAAO,MAAM;AACX,MAAA,MAAMC,UAAUJ,YAAAA,EAAa;AAC7B,MAAA,MAAMK,SAAAA,GAAYL,aAAa,QAAQ,CAAA;AACvC,MAAA,MAAMM,SAAAA,GAAYN,aAAa,QAAQ,CAAA;AACvC,MAAA,MAAMO,UAAAA,GAAaP,aAAa,SAAS,CAAA;AAEzC,MAAA,IAAIQ,aAAAA;AACJ,MAAA,IAAIZ,SAASa,KAAAA,EAAO;AAClBD,QAAAA,aAAAA,GAAgBf,KAAAA,CAAMiB,MAAAA,GAAMC,WAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACdC,EAAAA,CAAGP,SAAAA,EAAWH,MAAAA,CAAOQ,MAAM;AAAA,WAAC,CACrCjB,KAAAA,CAAMiB,MAAAA,EAAQ,KAEfG,KAAAA,CAAAA;AAAAA,MACN,CAAA,MAAA,IAAWhB,SAASY,KAAAA,EAAO;AACzBD,QAAAA,aAAAA,GAAgBf,KAAAA,CAAMqB,MAAAA,GAAMH,WAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACdC,GAAGN,SAAS;AAAA,WAAC,CAAGb,KAAAA,CAAMqB,MAAAA,EAAQ,KACxCD,KAAAA,CAAAA;AAAAA,MACN,CAAA,MAAO;AACLL,QAAAA,aAAAA,GAAgBf,KAAAA,CAAMsB,OAAAA,GAAOJ,WAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACfC,GAAGL,UAAU;AAAA,WAAC,CACvBd,KAAAA,CAAMsB,OAAAA,EAAS,KAEhBF,KAAAA,CAAAA;AAAAA,MACN;AAEA,MAAA,OAAAF,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACcC,EAAAA,CAAGR,OAAAA,EAASF,MAAAA,CAAOc,SAAS;AAAA,OAAC,EAAA,CACtCR,aAAa,CAAA,CAAA;AAAA,IAGpB,CAAA;AAAA,EACF;AACF,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"List.mjs","sources":["../../../../src/components/layout/List.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onActivated,\n onDeactivated,\n onMounted,\n onUnmounted,\n ref,\n watch,\n type WatchStopHandle\n} from \"vue\";\nimport { useRoute } from \"vue-router\";\nimport {\n Card,\n Flex,\n Space,\n Watermark\n} from \"ant-design-vue\";\nimport { storeToRefs } from \"pinia\";\nimport { useElementSize } from \"@vueuse/core\";\n\nimport { AppContext, AppContextKey } from \"./AppContext\";\nimport MobileList from \"./components/mobile/MobileList\";\nimport { useAppStore, useDeviceStore } from \"@ditari/store\";\nimport { css } from \"@emotion/css\";\n\nconst tableRootStyle = css`\n height: 100%;\n position: relative;\n overflow: hidden;\n`;\n\nconst list = defineComponent({\n name: \"DListLayout\",\n emits: [\"refresh\"],\n setup(_, { slots, emit }) {\n const appContext = inject<AppContext | null>(\n AppContextKey,\n null\n );\n\n const watermarkContent = computed(\n () => appContext?.watermarkContent?.value.content\n );\n\n const route = useRoute();\n const { refresh } = storeToRefs(useAppStore());\n const {\n tableRef,\n height,\n tableVisible,\n playTableHeight\n } = useTableHeight();\n const { formRef } = useForm();\n useReload();\n // 使用 computed 来动态计算样式\n const maskDivStyle = computed(() => {\n return css`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n background: white;\n display: ${tableVisible.value ? \"block\" : \"none\"};\n `;\n });\n\n const tableWrapperStyle = css`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: hidden;\n `;\n\n const cardStyle = css`\n box-shadow: none !important;\n `;\n\n const leftCardStyle = css`\n .ant-card-body {\n overflow-y: scroll;\n -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */\n scrollbar-width: none; /* 对 Firefox 生效 */\n\n /* Webkit 浏览器 */\n\n ::-webkit-scrollbar {\n display: none;\n }\n }\n `;\n\n const listStyle = computed(\n () => css`\n padding: 10px;\n height: 100%;\n //height: calc(100vh - 44px);\n `\n );\n\n onMounted(() => {\n playTableHeight();\n });\n\n function useTableHeight() {\n const tableRef = ref();\n const height = ref(0);\n const tableVisible = ref(false);\n\n // 使用 ResizeObserver 响应式监听容器大小变化\n const containerEl = computed(() => tableRef.value?.$el);\n const { height: containerHeight } = useElementSize(containerEl);\n\n // 监听容器高度变化\n watch(\n containerHeight,\n newHeight => {\n if (newHeight > 0) {\n height.value = newHeight;\n }\n },\n { immediate: true }\n );\n\n function playTableHeight() {\n nextTick(() => {\n const el = tableRef.value?.$el;\n if (el && el.offsetHeight > 0) {\n height.value = el.offsetHeight;\n }\n });\n }\n\n return {\n tableRef,\n height,\n tableVisible,\n playTableHeight\n };\n }\n\n function useForm() {\n const formRef = ref<{ $el: HTMLElement } | null>(null);\n\n // 使用 computed 获取 DOM 元素,解决 useElementSize 需要监听 DOM 的问题\n const formEl = computed(() => formRef.value?.$el);\n const { height: formHeight } = useElementSize(formEl);\n\n watch(\n () => formHeight.value,\n () => {\n nextTick(() => {\n playTableHeight();\n });\n }\n );\n\n return {\n formRef\n };\n }\n\n // 处理标签重载\n function useReload() {\n let stopHandleWatch: WatchStopHandle;\n if (!route.name && !route.meta.keepAlive) {\n stopHandleWatch = _useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch?.();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emit(\"refresh\");\n }\n stopHandleWatch = _useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch?.();\n });\n }\n\n function _useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n val => {\n if (val) {\n // 发送刷新事件到列表页面\n emit(\"refresh\");\n }\n }\n );\n }\n }\n\n function useLayout() {\n function formLayout() {\n return () =>\n slots.form && (\n <Card\n class={cardStyle}\n ref={formRef}\n style={{ marginBottom: \"10px\" }}\n bodyStyle={{ padding: \"10px 10px 0 10px\" }}\n bordered={false}\n >\n {slots.form()}\n </Card>\n );\n }\n\n function tableLayout() {\n return () => (\n <Flex flex={1} vertical={true}>\n <Card\n class={cardStyle}\n style={{ height: \"100%\" }}\n bodyStyle={{\n height: \"100%\",\n padding: \"10px\"\n }}\n bordered={false}\n >\n <Flex\n style={{ height: \"100%\" }}\n vertical={true}\n >\n <Space style={{ marginBottom: \"6px\" }}>\n {slots.tools?.()}\n </Space>\n <Flex\n ref={tableRef}\n flex={1}\n style={{ height: \"100%\" }}\n vertical={true}\n >\n <div class={tableRootStyle}>\n <div class={maskDivStyle.value}></div>\n <div class={tableWrapperStyle}>\n {slots.table?.({\n height: height.value\n })}\n </div>\n </div>\n </Flex>\n </Flex>\n </Card>\n </Flex>\n );\n }\n\n return (\n <Watermark\n style={{ height: \"100%\" }}\n content={watermarkContent.value}\n >\n <Flex\n class={[listStyle.value, \"app-list\"]}\n gap={10}\n >\n {slots.left ? (\n <Card\n class={[cardStyle, leftCardStyle]}\n bordered={false}\n bodyStyle={{\n height: \"100%\",\n padding: \"10px\"\n }}\n >\n {slots.left?.()}\n </Card>\n ) : null}\n <Flex vertical={true} flex={1}>\n {formLayout()()}\n {tableLayout()()}\n </Flex>\n </Flex>\n {slots.extra?.()}\n </Watermark>\n );\n }\n\n return () => {\n const deviceStore = useDeviceStore();\n // 使用 storeToRefs 解构出响应式引用\n const { isMobile, isTablet, isDesktop } =\n storeToRefs(deviceStore);\n\n if (isMobile.value) {\n return (\n <MobileList>\n {{\n table: () => slots.table?.()\n }}\n </MobileList>\n );\n }\n\n if (isDesktop.value || isTablet.value) {\n return useLayout();\n }\n };\n }\n});\n\nexport default list;\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableRootStyle","css","list","defineComponent","name","emits","setup","_","slots","emit","appContext","inject","AppContextKey","watermarkContent","computed","value","content","route","useRoute","refresh","storeToRefs","useAppStore","tableRef","height","tableVisible","playTableHeight","useTableHeight","formRef","useForm","useReload","maskDivStyle","tableWrapperStyle","cardStyle","leftCardStyle","listStyle","onMounted","ref","containerEl","$el","containerHeight","useElementSize","watch","newHeight","immediate","nextTick","el","offsetHeight","formEl","formHeight","stopHandleWatch","meta","keepAlive","_useWatch","onUnmounted","onActivated","onDeactivated","val","useLayout","formLayout","_slot","form","_createVNode","Card","marginBottom","padding","default","tableLayout","Flex","Space","tools","table","Watermark","left","_a","extra","deviceStore","useDeviceStore","isMobile","isTablet","isDesktop","MobileList"],"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 {\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 { AppContext, AppContextKey } from \"./AppContext\";\r\nimport MobileList from \"./components/mobile/MobileList\";\r\nimport { useAppStore, useDeviceStore } 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 appContext = inject<AppContext | null>(\r\n AppContextKey,\r\n null\r\n );\r\n\r\n const watermarkContent = computed(\r\n () => appContext?.watermarkContent?.value.content\r\n );\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(false);\r\n\r\n // 使用 ResizeObserver 响应式监听容器大小变化\r\n const containerEl = computed(() => tableRef.value?.$el);\r\n const { height: containerHeight } = useElementSize(containerEl);\r\n\r\n // 监听容器高度变化\r\n watch(\r\n containerHeight,\r\n newHeight => {\r\n if (newHeight > 0) {\r\n height.value = newHeight;\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n\r\n function playTableHeight() {\r\n nextTick(() => {\r\n const el = tableRef.value?.$el;\r\n if (el && el.offsetHeight > 0) {\r\n height.value = el.offsetHeight;\r\n }\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<{ $el: HTMLElement } | null>(null);\r\n\r\n // 使用 computed 获取 DOM 元素,解决 useElementSize 需要监听 DOM 的问题\r\n const formEl = computed(() => formRef.value?.$el);\r\n const { height: formHeight } = useElementSize(formEl);\r\n\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 if (!route.name && !route.meta.keepAlive) {\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\r\n style={{ height: \"100%\" }}\r\n content={watermarkContent.value}\r\n >\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 {slots.extra?.()}\r\n </Watermark>\r\n );\r\n }\r\n\r\n return () => {\r\n const deviceStore = useDeviceStore();\r\n // 使用 storeToRefs 解构出响应式引用\r\n const { isMobile, isTablet, isDesktop } =\r\n storeToRefs(deviceStore);\r\n\r\n if (isMobile.value) {\r\n return (\r\n <MobileList>\r\n {{\r\n table: () => slots.table?.()\r\n }}\r\n </MobileList>\r\n );\r\n }\r\n\r\n if (isDesktop.value || isTablet.value) {\r\n return useLayout();\r\n }\r\n };\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","appContext","inject","AppContextKey","watermarkContent","computed","value","content","route","useRoute","refresh","storeToRefs","useAppStore","tableRef","height","tableVisible","playTableHeight","useTableHeight","formRef","useForm","useReload","maskDivStyle","tableWrapperStyle","cardStyle","leftCardStyle","listStyle","onMounted","ref","containerEl","$el","containerHeight","useElementSize","watch","newHeight","immediate","nextTick","el","offsetHeight","formEl","formHeight","stopHandleWatch","meta","keepAlive","_useWatch","onUnmounted","onActivated","onDeactivated","val","useLayout","formLayout","_slot","form","_createVNode","Card","marginBottom","padding","default","tableLayout","Flex","Space","tools","table","Watermark","left","_a","extra","deviceStore","useDeviceStore","isMobile","isTablet","isDesktop","MobileList"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Show.mjs","sources":["../../../../src/components/layout/Show.tsx"],"sourcesContent":["import {\n computed,\n ComputedRef,\n defineComponent,\n inject,\n ref\n} from \"vue\";\nimport { useRoute, useRouter } from \"vue-router\";\nimport {\n Flex,\n PageHeader,\n Spin,\n theme,\n Watermark\n} from \"ant-design-vue\";\nimport { storeToRefs } from \"pinia\";\nimport { useWindowScroll } from \"@vueuse/core\";\n\nimport { AppContext, AppContextKey } from \"./AppContext\";\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\nimport { useAppStore, useNavTabStore } from \"@ditari/store\";\nimport { css, cx } from \"@emotion/css\";\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\n\nimport { useDesign } from \"../../hooks/useDesign\";\n\nconst getProps = () => {\n return {\n close: {\n type: Boolean,\n default: false\n },\n loading: {\n type: Boolean,\n default: false\n },\n loadingText: {\n type: String,\n default: \"正在请求...\"\n }\n };\n};\nconst show = defineComponent({\n name: \"DShowLayout\",\n props: getProps(),\n setup(props, { slots, expose }) {\n const { useToken } = theme;\n\n const appContext = inject<AppContext | null>(\n AppContextKey,\n null\n );\n\n const { getPrefixCls } = useDesign(\"show-layout\");\n // 生成语义化类名\n const rootCls = getPrefixCls();\n\n const watermarkContent = computed(\n () => appContext?.watermarkContent?.value.content\n );\n\n const { token }: { token: ComputedRef<GlobalToken> } =\n useToken();\n\n const loading = computed(() => props.loading);\n const loadingText = computed(() => props.loadingText);\n\n const { layout, modeConfig, refresh } =\n storeToRefs(useAppStore());\n const { deleteTabs } = useNavTabStore();\n\n const route = useRoute();\n const router = useRouter();\n\n const { y } = useWindowScroll();\n\n const pageHeaderStyle = computed(\n () => css`\n position: sticky;\n top: ${layout.value.headerHeight}px;\n z-index: 10;\n padding: 0;\n transition: all 0.3s;\n background-color: ${token.value.colorBgLayout};\n\n ${y.value > 0\n ? \"box-shadow:0 10px 10px rgba(0, 0, 0, 0.15);\"\n : \"\"}\n .ant-page-header-back {\n height: 100%;\n margin-right: 0;\n\n .ant-page-header-back-button {\n height: 100%;\n padding: 0 6px !important;\n display: flex !important;\n align-items: center;\n justify-content: center;\n }\n }\n\n .ant-page-header-heading-title {\n font-size: 14px;\n }\n `\n );\n const contentStyle = computed(\n () => css`\n padding: 10px 10px\n ${slots.bottomFooter ? \"50px\" : \"0\"};\n background: ${token.value.colorBgLayout};\n `\n );\n const footerStyle = computed(\n () => css`\n position: fixed;\n right: 0;\n bottom: 0;\n height: 50px;\n left: ${layout.value.collapsed\n ? layout.value.collapsedWidth\n : layout.value.sideWidth}px;\n z-index: 10;\n padding: 10px;\n background: ${modeConfig.value.mode !== \"light\"\n ? token.value.colorBgContainer\n : \"#fff\"};\n box-shadow: 6px 0 10px rgba(0, 0, 0, 0.15);\n transition: left 0.4s\n cubic-bezier(0.22, 1.2, 0.36, 1);\n `\n );\n const pageTitle = () => (\n <div>{route.meta.title || \"无标题\"}</div>\n );\n const ghost = ref(false);\n\n const onBack = () => {\n if (props.close) {\n // 返回关闭标签\n deleteTabs(route.fullPath);\n router.go(-1);\n } else {\n // 不关闭标签\n router.go(-1);\n }\n };\n\n const onClosePage = () => {\n refresh.value = true;\n deleteTabs(route.fullPath);\n router.go(-1);\n };\n\n expose({\n close: onClosePage\n });\n\n function showContent() {\n return (\n <div\n class={cx(rootCls)}\n style={{\n display: !loading.value ? \"block\" : \"none\"\n }}\n >\n <Watermark content={watermarkContent.value}>\n <Flex vertical={true}>\n <PageHeader\n ghost={ghost.value}\n class={pageHeaderStyle.value}\n onBack={() => onBack()}\n title={pageTitle()}\n >\n {{\n backIcon: () => (\n <div>\n <LeftOutlined\n style={{ fontSize: \"26px\" }}\n />\n </div>\n ),\n extra: () => slots.extra?.(),\n footer: () => slots.footer?.(),\n subTitle: () => slots.subTitle?.()\n }}\n </PageHeader>\n\n <div class={contentStyle.value}>\n {slots.default?.()}\n </div>\n\n {slots.bottomFooter ? (\n <div class={footerStyle.value}>\n {slots.bottomFooter?.()}\n </div>\n ) : null}\n </Flex>\n </Watermark>\n </div>\n );\n }\n\n function loadingContent() {\n return (\n <div\n style={{\n height: \"100%\",\n display: loading.value ? \"block\" : \"none\"\n }}\n >\n <div\n style={{\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n }}\n >\n {slots.loading ? (\n slots.loading()\n ) : (\n <Spin tip={loadingText.value}></Spin>\n )}\n </div>\n </div>\n );\n }\n\n return () => (\n <div style={{ height: \"100%\" }}>\n {showContent()}\n {loadingContent()}\n </div>\n );\n }\n});\n\nexport default show;\n"],"names":["getProps","close","type","Boolean","default","loading","loadingText","String","show","defineComponent","name","props","setup","slots","expose","useToken","theme","appContext","inject","AppContextKey","getPrefixCls","useDesign","rootCls","watermarkContent","computed","value","content","token","layout","modeConfig","refresh","storeToRefs","useAppStore","deleteTabs","useNavTabStore","route","useRoute","router","useRouter","y","useWindowScroll","pageHeaderStyle","css","headerHeight","colorBgLayout","contentStyle","bottomFooter","footerStyle","collapsed","collapsedWidth","sideWidth","mode","colorBgContainer","pageTitle","_createVNode","meta","title","ghost","ref","onBack","fullPath","go","onClosePage","showContent","cx","display","Watermark","Flex","PageHeader","backIcon","LeftOutlined","fontSize","extra","_a","footer","subTitle","loadingContent","height","justifyContent","alignItems","Spin"],"mappings":"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"}
1
+ {"version":3,"file":"Show.mjs","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 Spin,\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 { AppContext, AppContextKey } from \"./AppContext\";\r\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\r\nimport { useAppStore, useNavTabStore } from \"@ditari/store\";\r\nimport { css, cx } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\n\r\nimport { useDesign } from \"../../hooks/useDesign\";\r\n\r\nconst getProps = () => {\r\n return {\r\n close: {\r\n type: Boolean,\r\n default: false\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n },\r\n loadingText: {\r\n type: String,\r\n default: \"正在请求...\"\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\r\n const appContext = inject<AppContext | null>(\r\n AppContextKey,\r\n null\r\n );\r\n\r\n const { getPrefixCls } = useDesign(\"show-layout\");\r\n // 生成语义化类名\r\n const rootCls = getPrefixCls();\r\n\r\n const watermarkContent = computed(\r\n () => appContext?.watermarkContent?.value.content\r\n );\r\n\r\n const { token }: { token: ComputedRef<GlobalToken> } =\r\n useToken();\r\n\r\n const loading = computed(() => props.loading);\r\n const loadingText = computed(() => props.loadingText);\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 function showContent() {\r\n return (\r\n <div\r\n class={cx(rootCls)}\r\n style={{\r\n display: !loading.value ? \"block\" : \"none\"\r\n }}\r\n >\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\r\n <div class={contentStyle.value}>\r\n {slots.default?.()}\r\n </div>\r\n\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 </div>\r\n );\r\n }\r\n\r\n function loadingContent() {\r\n return (\r\n <div\r\n style={{\r\n height: \"100%\",\r\n display: loading.value ? \"block\" : \"none\"\r\n }}\r\n >\r\n <div\r\n style={{\r\n height: \"100%\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\"\r\n }}\r\n >\r\n {slots.loading ? (\r\n slots.loading()\r\n ) : (\r\n <Spin tip={loadingText.value}></Spin>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return () => (\r\n <div style={{ height: \"100%\" }}>\r\n {showContent()}\r\n {loadingContent()}\r\n </div>\r\n );\r\n }\r\n});\r\n\r\nexport default show;\r\n"],"names":["getProps","close","type","Boolean","default","loading","loadingText","String","show","defineComponent","name","props","setup","slots","expose","useToken","theme","appContext","inject","AppContextKey","getPrefixCls","useDesign","rootCls","watermarkContent","computed","value","content","token","layout","modeConfig","refresh","storeToRefs","useAppStore","deleteTabs","useNavTabStore","route","useRoute","router","useRouter","y","useWindowScroll","pageHeaderStyle","css","headerHeight","colorBgLayout","contentStyle","bottomFooter","footerStyle","collapsed","collapsedWidth","sideWidth","mode","colorBgContainer","pageTitle","_createVNode","meta","title","ghost","ref","onBack","fullPath","go","onClosePage","showContent","cx","display","Watermark","Flex","PageHeader","backIcon","LeftOutlined","fontSize","extra","_a","footer","subTitle","loadingContent","height","justifyContent","alignItems","Spin"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RouterContentName.vue2.mjs","sources":["../../../../../../src/components/layout/components/layout/RouterContentName.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { useRoute } from \"vue-router\";\nimport { storeToRefs } from \"pinia\";\n\nimport { useKeepAliveStore } from \"@ditari/store\";\n\nconst keepAliveStore = useKeepAliveStore();\n\nconst { get } = storeToRefs(keepAliveStore);\nconst keepAliveNames = computed<string[]>(() => get.value);\n\nconst route = useRoute();\n</script>\n\n<template>\n <div>name</div>\n <router-view v-slot=\"{ Component }\">\n <transition name=\"main\" mode=\"out-in\" appear>\n <keep-alive :include=\"keepAliveNames\">\n <component :is=\"Component\" :key=\"route.fullPath\" />\n </keep-alive>\n </transition>\n </router-view>\n</template>\n\n<style scoped></style>\n"],"names":["_createElementVNode","_createVNode","_withCtx","_Transition","_createBlock","_KeepAlive","_openBlock","_resolveDynamicComponent","_unref"],"mappings":";;;;;;;;;AAOA,IAAA,MAAM,iBAAiB,iBAAA,EAAkB;AAEzC,IAAA,MAAM,EAAE,GAAA,EAAI,GAAI,WAAA,CAAY,cAAc,CAAA;AAC1C,IAAA,MAAM,cAAA,GAAiB,QAAA,CAAmB,MAAM,GAAA,CAAI,KAAK,CAAA;AAEzD,IAAA,MAAM,QAAQ,QAAA,EAAS;;;;;;;UAIrB,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAAA,kBAAA;AAAA,YAAe,KAAA;AAAA;YAAV,MAAA;AAAA,YAAI,CAAA;AAAA;AAAA,WAAA,CAAA;AAAA,UACTC,WAAA,CAMc,wBAAA,IAAA,EAAA;AAAA,YALZ,OAAA,EAAAC,OAAA,CAAA,CAIa,EALQ,WAAS,KAAA;AAAA,cAC9BD,WAAA;AAAA,gBAIaE,UAAA;AAAA,gBAAA;AAAA,kBAJD,IAAA,EAAK,MAAA;AAAA,kBAAO,IAAA,EAAK,QAAA;AAAA,kBAAS,MAAA,EAAA;AAAA;;mCACpC,MAEa;AAAA,kCAFbC,WAAA,CAEaC,SAAA,EAAA,EAFA,OAAA,EAAS,cAAA,CAAA,OAAc,EAAA;AAAA,uBAClCC,SAAA,EAAA,EAAAF,WAAA,CAAmDG,uBAAA,CAAnC,SAAS,CAAA,EAAA;AAAA,wBAAG,GAAA,EAAKC,KAAA,CAAA,KAAA,CAAA,CAAM;AAAA;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"RouterContentName.vue2.mjs","sources":["../../../../../../src/components/layout/components/layout/RouterContentName.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport { useKeepAliveStore } from \"@ditari/store\";\r\n\r\nconst keepAliveStore = useKeepAliveStore();\r\n\r\nconst { get } = storeToRefs(keepAliveStore);\r\nconst keepAliveNames = computed<string[]>(() => get.value);\r\n\r\nconst route = useRoute();\r\n</script>\r\n\r\n<template>\r\n <div>name</div>\r\n <router-view v-slot=\"{ Component }\">\r\n <transition name=\"main\" mode=\"out-in\" appear>\r\n <keep-alive :include=\"keepAliveNames\">\r\n <component :is=\"Component\" :key=\"route.fullPath\" />\r\n </keep-alive>\r\n </transition>\r\n </router-view>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["_createElementVNode","_createVNode","_withCtx","_Transition","_createBlock","_KeepAlive","_openBlock","_resolveDynamicComponent","_unref"],"mappings":";;;;;;;;;AAOA,IAAA,MAAM,iBAAiB,iBAAA,EAAkB;AAEzC,IAAA,MAAM,EAAE,GAAA,EAAI,GAAI,WAAA,CAAY,cAAc,CAAA;AAC1C,IAAA,MAAM,cAAA,GAAiB,QAAA,CAAmB,MAAM,GAAA,CAAI,KAAK,CAAA;AAEzD,IAAA,MAAM,QAAQ,QAAA,EAAS;;;;;;;UAIrB,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAAA,kBAAA;AAAA,YAAe,KAAA;AAAA;YAAV,MAAA;AAAA,YAAI,CAAA;AAAA;AAAA,WAAA,CAAA;AAAA,UACTC,WAAA,CAMc,wBAAA,IAAA,EAAA;AAAA,YALZ,OAAA,EAAAC,OAAA,CAAA,CAIa,EALQ,WAAS,KAAA;AAAA,cAC9BD,WAAA;AAAA,gBAIaE,UAAA;AAAA,gBAAA;AAAA,kBAJD,IAAA,EAAK,MAAA;AAAA,kBAAO,IAAA,EAAK,QAAA;AAAA,kBAAS,MAAA,EAAA;AAAA;;mCACpC,MAEa;AAAA,kCAFbC,WAAA,CAEaC,SAAA,EAAA,EAFA,OAAA,EAAS,cAAA,CAAA,OAAc,EAAA;AAAA,uBAClCC,SAAA,EAAA,EAAAF,WAAA,CAAmDG,uBAAA,CAAnC,SAAS,CAAA,EAAA;AAAA,wBAAG,GAAA,EAAKC,KAAA,CAAA,KAAA,CAAA,CAAM;AAAA;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MobileList.mjs","sources":["../../../../../../src/components/layout/components/mobile/MobileList.tsx"],"sourcesContent":["import { computed, defineComponent } from \"vue\";\nimport { useRoute } from \"vue-router\";\nimport { PageHeader } from \"ant-design-vue\";\n\nimport { css, cx } from \"@emotion/css\";\n\nimport { useDesign } from \"../../../../hooks/useDesign\";\n\nfunction useStyle() {\n return {\n container: css`\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: red;\n `,\n header: css`\n height: 44px;\n background-color: blue;\n `,\n content: css`\n flex: 1;\n `\n };\n}\nconst DMobileList = defineComponent({\n name: \"DMobileList\",\n setup(_, { slots }) {\n const route = useRoute();\n const title = computed(() => route.meta?.title);\n\n return () => {\n const { getPrefixCls } = useDesign(\"mobile-list\");\n const styles = useStyle();\n\n // --- 关键点 1: 只调用一次插槽函数 ---\n const tableContent = slots.table\n ? slots.table()\n : null;\n let extractedProps = {};\n\n // --- 关键点 2: 提取 Props 逻辑 ---\n if (tableContent) {\n // 过滤掉注释和空文本,找到真正的组件\n const tableVNode = tableContent.find(\n vnode =>\n typeof vnode.type === \"object\" ||\n typeof vnode.type === \"string\"\n );\n\n if (tableVNode) {\n extractedProps = tableVNode.props || {};\n console.log(\n \"成功拿到 Table Props:\",\n extractedProps\n );\n }\n }\n\n return (\n <div class={cx(getPrefixCls(), styles.container)}>\n <div\n class={cx(\n getPrefixCls(\"header\"),\n styles.header\n )}\n >\n {title.value}\n </div>\n <div\n class={cx(\n getPrefixCls(\"content\"),\n styles.content\n )}\n >\n {/* --- 关键点 3: 直接渲染已经生成的 VNodes --- */}\n {tableContent}\n </div>\n </div>\n );\n };\n }\n});\n\nexport default DMobileList;\n"],"names":["useStyle","container","css","header","content","DMobileList","defineComponent","name","setup","_","slots","route","useRoute","title","computed","meta","getPrefixCls","useDesign","styles","tableContent","table","extractedProps","tableVNode","find","vnode","type","props","console","log","_createVNode","cx","value"],"mappings":";;;;;;AAQA,SAASA,QAAAA,GAAW;AAClB,EAAA,OAAO;AAAA,IACLC,SAAAA,EAAWC,GAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAAAA,CAAAA;AAAAA,IAMXC,MAAAA,EAAQD,GAAAA;AAAAA;AAAAA;AAAAA,IAAAA,CAAAA;AAAAA,IAIRE,OAAAA,EAASF,GAAAA;AAAAA;AAAAA,IAAAA;AAAAA,GAGX;AACF;AACA,MAAMG,8BAAcC,eAAAA,CAAgB;AAAA,EAClCC,IAAAA,EAAM,aAAA;AAAA,EACNC,MAAMC,CAAAA,EAAG;AAAA,IAAEC;AAAAA,GAAM,EAAG;AAClB,IAAA,MAAMC,QAAQC,QAAAA,EAAS;AACvB,IAAA,MAAMC,KAAAA,GAAQC,SAAS,MAAA;AA7B3B,MAAA,IAAA,EAAA;AA6BiCH,MAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMI,SAANJ,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAYE,KAAAA;AAAAA,IAAAA,CAAK,CAAA;AAE9C,IAAA,OAAO,MAAM;AACX,MAAA,MAAM;AAAA,QAAEG;AAAAA,OAAa,GAAIC,UAAU,aAAa,CAAA;AAChD,MAAA,MAAMC,SAASlB,QAAAA,EAAS;AAGxB,MAAA,MAAMmB,YAAAA,GAAeT,KAAAA,CAAMU,KAAAA,GACvBV,KAAAA,CAAMU,OAAM,GACZ,IAAA;AACJ,MAAA,IAAIC,iBAAiB,EAAC;AAGtB,MAAA,IAAIF,YAAAA,EAAc;AAEhB,QAAA,MAAMG,UAAAA,GAAaH,YAAAA,CAAaI,IAAAA,CAC9BC,CAAAA,KAAAA,KACE,OAAOA,KAAAA,CAAMC,IAAAA,KAAS,QAAA,IACtB,OAAOD,KAAAA,CAAMC,IAAAA,KAAS,QAC1B,CAAA;AAEA,QAAA,IAAIH,UAAAA,EAAY;AACdD,UAAAA,cAAAA,GAAiBC,UAAAA,CAAWI,SAAS,EAAC;AACtCC,UAAAA,OAAAA,CAAQC,GAAAA,CACN,yCACAP,cACF,CAAA;AAAA,QACF;AAAA,MACF;AAEA,MAAA,OAAAQ,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACcC,EAAAA,CAAGd,YAAAA,EAAa,EAAGE,OAAOjB,SAAS;AAAA,OAAC,EAAA,CAAA4B,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,SAErCC,EAAAA,CACLd,YAAAA,CAAa,QAAQ,CAAA,EACrBE,OAAOf,MACT;AAAA,SAAC,CAEAU,KAAAA,CAAMkB,KAAK,CAAA,CAAA,EAAAF,YAAA,KAAA,EAAA;AAAA,QAAA,SAGLC,EAAAA,CACLd,YAAAA,CAAa,SAAS,CAAA,EACtBE,OAAOd,OACT;AAAA,OAAC,EAAA,CAGAe,YAAY,CAAA,CAAA,CAAA,CAAA;AAAA,IAIrB,CAAA;AAAA,EACF;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"MobileList.mjs","sources":["../../../../../../src/components/layout/components/mobile/MobileList.tsx"],"sourcesContent":["import { computed, defineComponent } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { PageHeader } from \"ant-design-vue\";\r\n\r\nimport { css, cx } from \"@emotion/css\";\r\n\r\nimport { useDesign } from \"../../../../hooks/useDesign\";\r\n\r\nfunction useStyle() {\r\n return {\r\n container: css`\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n background-color: red;\r\n `,\r\n header: css`\r\n height: 44px;\r\n background-color: blue;\r\n `,\r\n content: css`\r\n flex: 1;\r\n `\r\n };\r\n}\r\nconst DMobileList = defineComponent({\r\n name: \"DMobileList\",\r\n setup(_, { slots }) {\r\n const route = useRoute();\r\n const title = computed(() => route.meta?.title);\r\n\r\n return () => {\r\n const { getPrefixCls } = useDesign(\"mobile-list\");\r\n const styles = useStyle();\r\n\r\n // --- 关键点 1: 只调用一次插槽函数 ---\r\n const tableContent = slots.table\r\n ? slots.table()\r\n : null;\r\n let extractedProps = {};\r\n\r\n // --- 关键点 2: 提取 Props 逻辑 ---\r\n if (tableContent) {\r\n // 过滤掉注释和空文本,找到真正的组件\r\n const tableVNode = tableContent.find(\r\n vnode =>\r\n typeof vnode.type === \"object\" ||\r\n typeof vnode.type === \"string\"\r\n );\r\n\r\n if (tableVNode) {\r\n extractedProps = tableVNode.props || {};\r\n console.log(\r\n \"成功拿到 Table Props:\",\r\n extractedProps\r\n );\r\n }\r\n }\r\n\r\n return (\r\n <div class={cx(getPrefixCls(), styles.container)}>\r\n <div\r\n class={cx(\r\n getPrefixCls(\"header\"),\r\n styles.header\r\n )}\r\n >\r\n {title.value}\r\n </div>\r\n <div\r\n class={cx(\r\n getPrefixCls(\"content\"),\r\n styles.content\r\n )}\r\n >\r\n {/* --- 关键点 3: 直接渲染已经生成的 VNodes --- */}\r\n {tableContent}\r\n </div>\r\n </div>\r\n );\r\n };\r\n }\r\n});\r\n\r\nexport default DMobileList;\r\n"],"names":["useStyle","container","css","header","content","DMobileList","defineComponent","name","setup","_","slots","route","useRoute","title","computed","meta","getPrefixCls","useDesign","styles","tableContent","table","extractedProps","tableVNode","find","vnode","type","props","console","log","_createVNode","cx","value"],"mappings":";;;;;;AAQA,SAASA,QAAAA,GAAW;AAClB,EAAA,OAAO;AAAA,IACLC,SAAAA,EAAWC,GAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAAAA,CAAAA;AAAAA,IAMXC,MAAAA,EAAQD,GAAAA;AAAAA;AAAAA;AAAAA,IAAAA,CAAAA;AAAAA,IAIRE,OAAAA,EAASF,GAAAA;AAAAA;AAAAA,IAAAA;AAAAA,GAGX;AACF;AACA,MAAMG,8BAAcC,eAAAA,CAAgB;AAAA,EAClCC,IAAAA,EAAM,aAAA;AAAA,EACNC,MAAMC,CAAAA,EAAG;AAAA,IAAEC;AAAAA,GAAM,EAAG;AAClB,IAAA,MAAMC,QAAQC,QAAAA,EAAS;AACvB,IAAA,MAAMC,KAAAA,GAAQC,SAAS,MAAA;AA7B3B,MAAA,IAAA,EAAA;AA6BiCH,MAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMI,SAANJ,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAYE,KAAAA;AAAAA,IAAAA,CAAK,CAAA;AAE9C,IAAA,OAAO,MAAM;AACX,MAAA,MAAM;AAAA,QAAEG;AAAAA,OAAa,GAAIC,UAAU,aAAa,CAAA;AAChD,MAAA,MAAMC,SAASlB,QAAAA,EAAS;AAGxB,MAAA,MAAMmB,YAAAA,GAAeT,KAAAA,CAAMU,KAAAA,GACvBV,KAAAA,CAAMU,OAAM,GACZ,IAAA;AACJ,MAAA,IAAIC,iBAAiB,EAAC;AAGtB,MAAA,IAAIF,YAAAA,EAAc;AAEhB,QAAA,MAAMG,UAAAA,GAAaH,YAAAA,CAAaI,IAAAA,CAC9BC,CAAAA,KAAAA,KACE,OAAOA,KAAAA,CAAMC,IAAAA,KAAS,QAAA,IACtB,OAAOD,KAAAA,CAAMC,IAAAA,KAAS,QAC1B,CAAA;AAEA,QAAA,IAAIH,UAAAA,EAAY;AACdD,UAAAA,cAAAA,GAAiBC,UAAAA,CAAWI,SAAS,EAAC;AACtCC,UAAAA,OAAAA,CAAQC,GAAAA,CACN,yCACAP,cACF,CAAA;AAAA,QACF;AAAA,MACF;AAEA,MAAA,OAAAQ,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACcC,EAAAA,CAAGd,YAAAA,EAAa,EAAGE,OAAOjB,SAAS;AAAA,OAAC,EAAA,CAAA4B,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,SAErCC,EAAAA,CACLd,YAAAA,CAAa,QAAQ,CAAA,EACrBE,OAAOf,MACT;AAAA,SAAC,CAEAU,KAAAA,CAAMkB,KAAK,CAAA,CAAA,EAAAF,YAAA,KAAA,EAAA;AAAA,QAAA,SAGLC,EAAAA,CACLd,YAAAA,CAAa,SAAS,CAAA,EACtBE,OAAOd,OACT;AAAA,OAAC,EAAA,CAGAe,YAAY,CAAA,CAAA,CAAA,CAAA;AAAA,IAIrB,CAAA;AAAA,EACF;AACF,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","sources":["../../../../src/components/layout/style.ts"],"sourcesContent":["import { ComputedRef } from \"vue\";\n\nimport { css } from \"@emotion/css\";\n\nexport const useAppLayoutStyle = () => {\n return {\n appLayout: css`\n height: 100%;\n `,\n mobile: css`\n height: 100%;\n background: #e7e7e7;\n `\n };\n};\n"],"names":[],"mappings":";;;AAIO,MAAM,oBAAoB,MAAM;AACrC,EAAA,OAAO;AAAA,IACL,SAAA,EAAW,GAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAGX,MAAA,EAAQ,GAAA;AAAA;AAAA;AAAA,IAAA;AAAA,GAIV;AACF;;;;"}
1
+ {"version":3,"file":"style.mjs","sources":["../../../../src/components/layout/style.ts"],"sourcesContent":["import { ComputedRef } from \"vue\";\r\n\r\nimport { css } from \"@emotion/css\";\r\n\r\nexport const useAppLayoutStyle = () => {\r\n return {\r\n appLayout: css`\r\n height: 100%;\r\n `,\r\n mobile: css`\r\n height: 100%;\r\n background: #e7e7e7;\r\n `\r\n };\r\n};\r\n"],"names":[],"mappings":";;;AAIO,MAAM,oBAAoB,MAAM;AACrC,EAAA,OAAO;AAAA,IACL,SAAA,EAAW,GAAA;AAAA;AAAA,IAAA,CAAA;AAAA,IAGX,MAAA,EAAQ,GAAA;AAAA;AAAA;AAAA,IAAA;AAAA,GAIV;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.vue2.mjs","sources":["../../../../src/components/select/Select.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\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\ninterface DicItem {\n value: string | number;\n label: string;\n}\n\nconst props = defineProps({\n value: { required: true, default: undefined },\n name: { type: String, required: true, default: \"\" },\n disabled: { type: Boolean, required: false, default: false },\n placeholder: { type: String, required: false, default: \"请填写默认占位符啊!\" },\n include: { type: Array, required: false, default: () => [] }\n});\n\nconst emits = defineEmits([\"update:value\", \"change\", \"select\"]);\n\nconst { getDicByKey } = useDicStore();\nconst { get: keepNames } = useKeepAliveStore();\n\nconst { modelValue, data, onSelect, onChange } =\n useSelect();\n\nfunction useSelect() {\n const route = useRoute();\n const loadingStatus = ref(false);\n // 判断使用组件的页面是否被缓存\n const isKeepAlive = keepNames.some(\n (name: string) => name === route.name\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 // 字典数据\n let dicData: DicItem[] = [...getDicByKey(props.name)];\n const data = ref<DicItem[]>(dicData);\n\n // 取值\n const modelValue = ref<string | number | undefined>(\n props.value\n );\n\n onActivated(() => {\n // 缓存页面被激活的时候调用\n loadDicData();\n });\n\n onMounted(() => {\n if (!isKeepAlive) {\n // 未缓存页面 挂载的时候调用\n loadDicData();\n }\n });\n\n // 监听value值的变化\n watch(\n () => props.value,\n val => {\n modelValue.value = val;\n }\n );\n\n setTimeout(() => {\n if (!loadingStatus.value) {\n loadDicData();\n }\n }, 1000);\n\n // 请求字典数据的函数\n async function loadDicData() {\n try {\n loadingStatus.value = true;\n // 调用注入进来的fetchDic方法\n await fetchDic(props.name);\n dicData = [...getDicByKey(props.name)];\n\n if (props.include.length > 0) {\n data.value = dicData.filter((item: DicItem) => {\n return props.include.some(\n (i: string | number) => i === item.value\n );\n });\n } else {\n data.value = dicData;\n }\n } catch (error) {\n console.error(\"获取字典数据失败:\", error);\n }\n }\n\n // 监听用户搜索事件\n const onSearch = (keywords: string) => {\n sendWorkerSearch(keywords);\n };\n\n // 发送搜索到webworker\n function sendWorkerSearch(keywords: string) {\n keywords = keywords ?? \"\";\n data.value = dicData\n .filter((item: DicItem) => {\n return (\n item.value\n .toString()\n .toLowerCase()\n .indexOf(keywords.toLowerCase()) !== -1 ||\n item.label\n .toLowerCase()\n .includes(keywords.toLowerCase())\n );\n })\n .slice(0, 10);\n if (data.value.length === 0) {\n data.value = [...dicData].slice(0, 10);\n }\n }\n\n // 监听下拉选择事件\n const onSelect = (value: string | number) => {\n // 发射选择的数据\n emits(\"update:value\", value);\n // 处理下拉后返回数据的\n onSelectHandler();\n };\n\n // 监听数据改变\n const onChange = () => {\n emits(\"update:value\", modelValue.value);\n emits(\"change\", modelValue.value);\n };\n\n /**\n * 根据当前选中的value匹配对应的整条数据\n * 然后返回给父组件\n */\n function onSelectHandler() {\n const dicList = getDicByKey(props.name);\n const rs = dicList.find(\n (obj: DicItem) => obj.value === modelValue.value\n );\n emits(\"select\", rs);\n }\n\n watch(\n () => props.include,\n (val: Array<string | number>) => {\n if (val.length > 0) {\n // 只过滤出来include包含的数据\n data.value = dicData.filter((item: DicItem) => {\n return val.some(\n (i: string | number) => i === item.value\n );\n });\n } else {\n data.value = dicData;\n }\n },\n {\n immediate: true\n }\n );\n\n return {\n data,\n modelValue,\n onSearch,\n onSelect,\n onChange\n };\n}\n\n/**\n * 过滤筛选\n * @param inputValue\n * @param options\n */\nconst onFilterOption = (\n inputValue: string,\n options: DicItem\n) => {\n return (\n options.value\n .toString()\n .toLowerCase()\n .indexOf(inputValue.toLowerCase()) !== -1 ||\n options.label\n .toLowerCase()\n .includes(inputValue.toLowerCase())\n );\n};\n</script>\n\n<template>\n <a-select\n v-model:value=\"modelValue\"\n style=\"width: 100%\"\n allow-clear\n show-search\n :options=\"data\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :filter-option=\"onFilterOption\"\n @select=\"onSelect\"\n @change=\"onChange\"\n >\n </a-select>\n</template>\n\n<style scoped></style>\n"],"names":["data","modelValue","onSelect","onChange","_createBlock","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"Select.vue2.mjs","sources":["../../../../src/components/select/Select.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport {\r\n inject,\r\n onActivated,\r\n onMounted,\r\n ref,\r\n watch\r\n} from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\n\r\nimport {\r\n useDicStore,\r\n useKeepAliveStore\r\n} from \"@ditari/store\";\r\n\r\ninterface DicItem {\r\n value: string | number;\r\n label: string;\r\n}\r\n\r\nconst props = defineProps({\n value: { required: true, default: undefined },\n name: { type: String, required: true, default: \"\" },\n disabled: { type: Boolean, required: false, default: false },\n placeholder: { type: String, required: false, default: \"请填写默认占位符啊!\" },\n include: { type: Array, required: false, default: () => [] }\n});\r\n\r\nconst emits = defineEmits([\"update:value\", \"change\", \"select\"]);\r\n\r\nconst { getDicByKey } = useDicStore();\r\nconst { get: keepNames } = useKeepAliveStore();\r\n\r\nconst { modelValue, data, onSelect, onChange } =\r\n useSelect();\r\n\r\nfunction useSelect() {\r\n const route = useRoute();\r\n const loadingStatus = ref(false);\r\n // 判断使用组件的页面是否被缓存\r\n const isKeepAlive = keepNames.some(\r\n (name: string) => name === route.name\r\n );\r\n // 注入 fetchDic,提供默认值\r\n const fetchDic = inject<\r\n (name: string) => Promise<unknown[]>\r\n >(\"fetchDic\", async (name: string) => {\r\n // console.warn(\r\n // `fetchDic 未注入,使用默认实现,name: ${name}`\r\n // );\r\n return [];\r\n });\r\n\r\n // 字典数据\r\n let dicData: DicItem[] = [...getDicByKey(props.name)];\r\n const data = ref<DicItem[]>(dicData);\r\n\r\n // 取值\r\n const modelValue = ref<string | number | undefined>(\r\n props.value\r\n );\r\n\r\n onActivated(() => {\r\n // 缓存页面被激活的时候调用\r\n loadDicData();\r\n });\r\n\r\n onMounted(() => {\r\n if (!isKeepAlive) {\r\n // 未缓存页面 挂载的时候调用\r\n loadDicData();\r\n }\r\n });\r\n\r\n // 监听value值的变化\r\n watch(\r\n () => props.value,\r\n val => {\r\n modelValue.value = val;\r\n }\r\n );\r\n\r\n setTimeout(() => {\r\n if (!loadingStatus.value) {\r\n loadDicData();\r\n }\r\n }, 1000);\r\n\r\n // 请求字典数据的函数\r\n async function loadDicData() {\r\n try {\r\n loadingStatus.value = true;\r\n // 调用注入进来的fetchDic方法\r\n await fetchDic(props.name);\r\n dicData = [...getDicByKey(props.name)];\r\n\r\n if (props.include.length > 0) {\r\n data.value = dicData.filter((item: DicItem) => {\r\n return props.include.some(\r\n (i: string | number) => i === item.value\r\n );\r\n });\r\n } else {\r\n data.value = dicData;\r\n }\r\n } catch (error) {\r\n console.error(\"获取字典数据失败:\", error);\r\n }\r\n }\r\n\r\n // 监听用户搜索事件\r\n const onSearch = (keywords: string) => {\r\n sendWorkerSearch(keywords);\r\n };\r\n\r\n // 发送搜索到webworker\r\n function sendWorkerSearch(keywords: string) {\r\n keywords = keywords ?? \"\";\r\n data.value = dicData\r\n .filter((item: DicItem) => {\r\n return (\r\n item.value\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(keywords.toLowerCase()) !== -1 ||\r\n item.label\r\n .toLowerCase()\r\n .includes(keywords.toLowerCase())\r\n );\r\n })\r\n .slice(0, 10);\r\n if (data.value.length === 0) {\r\n data.value = [...dicData].slice(0, 10);\r\n }\r\n }\r\n\r\n // 监听下拉选择事件\r\n const onSelect = (value: string | number) => {\r\n // 发射选择的数据\r\n emits(\"update:value\", value);\r\n // 处理下拉后返回数据的\r\n onSelectHandler();\r\n };\r\n\r\n // 监听数据改变\r\n const onChange = () => {\r\n emits(\"update:value\", modelValue.value);\r\n emits(\"change\", modelValue.value);\r\n };\r\n\r\n /**\r\n * 根据当前选中的value匹配对应的整条数据\r\n * 然后返回给父组件\r\n */\r\n function onSelectHandler() {\r\n const dicList = getDicByKey(props.name);\r\n const rs = dicList.find(\r\n (obj: DicItem) => obj.value === modelValue.value\r\n );\r\n emits(\"select\", rs);\r\n }\r\n\r\n watch(\r\n () => props.include,\r\n (val: Array<string | number>) => {\r\n if (val.length > 0) {\r\n // 只过滤出来include包含的数据\r\n data.value = dicData.filter((item: DicItem) => {\r\n return val.some(\r\n (i: string | number) => i === item.value\r\n );\r\n });\r\n } else {\r\n data.value = dicData;\r\n }\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n return {\r\n data,\r\n modelValue,\r\n onSearch,\r\n onSelect,\r\n onChange\r\n };\r\n}\r\n\r\n/**\r\n * 过滤筛选\r\n * @param inputValue\r\n * @param options\r\n */\r\nconst onFilterOption = (\r\n inputValue: string,\r\n options: DicItem\r\n) => {\r\n return (\r\n options.value\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(inputValue.toLowerCase()) !== -1 ||\r\n options.label\r\n .toLowerCase()\r\n .includes(inputValue.toLowerCase())\r\n );\r\n};\r\n</script>\r\n\r\n<template>\r\n <a-select\r\n v-model:value=\"modelValue\"\r\n style=\"width: 100%\"\r\n allow-clear\r\n show-search\r\n :options=\"data\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :filter-option=\"onFilterOption\"\r\n @select=\"onSelect\"\r\n @change=\"onChange\"\r\n >\r\n </a-select>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["data","modelValue","onSelect","onChange","_createBlock","_unref"],"mappings":"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"}