@ditari/bsui 5.0.11 → 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.
- package/dist/cjs/components/date/RangePicker.vue2.cjs +10 -2
- package/dist/cjs/components/date/RangePicker.vue2.cjs.map +1 -1
- package/dist/cjs/components/dic/DicReplace.cjs +94 -0
- package/dist/cjs/components/dic/DicReplace.cjs.map +1 -0
- package/dist/cjs/components/dic/index.cjs +14 -0
- package/dist/cjs/components/dic/index.cjs.map +1 -0
- package/dist/cjs/components/form/FormLayout.cjs.map +1 -1
- package/dist/cjs/components/icon/Moon.vue.cjs.map +1 -1
- package/dist/cjs/components/icon/Sun.vue.cjs.map +1 -1
- package/dist/cjs/components/index.cjs +3 -0
- package/dist/cjs/components/index.cjs.map +1 -1
- package/dist/cjs/components/layout/Layout.vue2.cjs +26 -8
- package/dist/cjs/components/layout/Layout.vue2.cjs.map +1 -1
- package/dist/cjs/components/layout/List.cjs +31 -31
- package/dist/cjs/components/layout/List.cjs.map +1 -1
- package/dist/cjs/components/layout/Show.cjs +9 -5
- package/dist/cjs/components/layout/Show.cjs.map +1 -1
- package/dist/cjs/components/layout/components/index.cjs.map +1 -1
- package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs +6 -1
- package/dist/cjs/components/layout/components/layout/HeaderLayout.vue2.cjs.map +1 -1
- package/dist/cjs/components/layout/components/layout/ThemeApp.vue2.cjs +3 -0
- package/dist/cjs/components/layout/components/layout/ThemeApp.vue2.cjs.map +1 -1
- package/dist/cjs/components/layout/components/menu/Menu.cjs +18 -10
- package/dist/cjs/components/layout/components/menu/Menu.cjs.map +1 -1
- package/dist/cjs/components/layout/components/settings/BlockCheckbox.vue2.cjs +3 -1
- package/dist/cjs/components/layout/components/settings/BlockCheckbox.vue2.cjs.map +1 -1
- package/dist/cjs/components/layout/components/settings/SettingDrawer.cjs +2 -3
- package/dist/cjs/components/layout/components/settings/SettingDrawer.cjs.map +1 -1
- package/dist/cjs/components/select/Select.vue2.cjs +61 -4
- package/dist/cjs/components/select/Select.vue2.cjs.map +1 -1
- package/dist/cjs/components/tab/Search.cjs +44 -7
- package/dist/cjs/components/tab/Search.cjs.map +1 -1
- package/dist/cjs/components/tab/Tab.vue2.cjs +31 -7
- package/dist/cjs/components/tab/Tab.vue2.cjs.map +1 -1
- package/dist/cjs/components/table/Table.cjs.map +1 -1
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/utils/useTheme.cjs +11 -13
- package/dist/cjs/utils/useTheme.cjs.map +1 -1
- package/dist/css/components/tab/style/index.css +1 -1
- package/dist/css/index.css +1 -1
- package/dist/esm/components/date/RangePicker.vue2.mjs +10 -2
- package/dist/esm/components/date/RangePicker.vue2.mjs.map +1 -1
- package/dist/esm/components/dic/DicReplace.mjs +90 -0
- package/dist/esm/components/dic/DicReplace.mjs.map +1 -0
- package/dist/esm/components/dic/index.mjs +10 -0
- package/dist/esm/components/dic/index.mjs.map +1 -0
- package/dist/esm/components/form/FormLayout.mjs.map +1 -1
- package/dist/esm/components/icon/Moon.vue.mjs.map +1 -1
- package/dist/esm/components/icon/Sun.vue.mjs.map +1 -1
- package/dist/esm/components/index.mjs +2 -0
- package/dist/esm/components/index.mjs.map +1 -1
- package/dist/esm/components/layout/Layout.vue2.mjs +27 -9
- package/dist/esm/components/layout/Layout.vue2.mjs.map +1 -1
- package/dist/esm/components/layout/List.mjs +31 -31
- package/dist/esm/components/layout/List.mjs.map +1 -1
- package/dist/esm/components/layout/Show.mjs +9 -5
- package/dist/esm/components/layout/Show.mjs.map +1 -1
- package/dist/esm/components/layout/components/index.mjs.map +1 -1
- package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs +6 -1
- package/dist/esm/components/layout/components/layout/HeaderLayout.vue2.mjs.map +1 -1
- package/dist/esm/components/layout/components/layout/ThemeApp.vue2.mjs +3 -0
- package/dist/esm/components/layout/components/layout/ThemeApp.vue2.mjs.map +1 -1
- package/dist/esm/components/layout/components/menu/Menu.mjs +18 -10
- package/dist/esm/components/layout/components/menu/Menu.mjs.map +1 -1
- package/dist/esm/components/layout/components/settings/BlockCheckbox.vue2.mjs +3 -1
- package/dist/esm/components/layout/components/settings/BlockCheckbox.vue2.mjs.map +1 -1
- package/dist/esm/components/layout/components/settings/SettingDrawer.mjs +2 -3
- package/dist/esm/components/layout/components/settings/SettingDrawer.mjs.map +1 -1
- package/dist/esm/components/select/Select.vue2.mjs +63 -6
- package/dist/esm/components/select/Select.vue2.mjs.map +1 -1
- package/dist/esm/components/tab/Search.mjs +44 -7
- package/dist/esm/components/tab/Search.mjs.map +1 -1
- package/dist/esm/components/tab/Tab.vue2.mjs +32 -8
- package/dist/esm/components/tab/Tab.vue2.mjs.map +1 -1
- package/dist/esm/components/table/Table.mjs.map +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/utils/useTheme.mjs +11 -13
- package/dist/esm/utils/useTheme.mjs.map +1 -1
- package/dist/style/index.scss +2 -1
- package/dist/style/layout/components/settings/style/index.scss +24 -24
- package/dist/style/tab/style/index.scss +1 -2
- package/dist/types/components/date/RangePicker.vue.d.ts.map +1 -1
- package/dist/types/components/dic/DicReplace.d.ts +24 -0
- package/dist/types/components/dic/DicReplace.d.ts.map +1 -0
- package/dist/types/components/dic/index.d.ts +3 -0
- package/dist/types/components/dic/index.d.ts.map +1 -0
- package/dist/types/components/form/FormLayout.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/layout/Layout.vue.d.ts +25 -3
- package/dist/types/components/layout/Layout.vue.d.ts.map +1 -1
- package/dist/types/components/layout/List.d.ts.map +1 -1
- package/dist/types/components/layout/Show.d.ts.map +1 -1
- package/dist/types/components/layout/components/index.d.ts.map +1 -1
- package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts +2 -0
- package/dist/types/components/layout/components/layout/HeaderLayout.vue.d.ts.map +1 -1
- package/dist/types/components/layout/components/layout/ThemeApp.vue.d.ts.map +1 -1
- package/dist/types/components/layout/components/menu/Menu.d.ts +3 -1
- package/dist/types/components/layout/components/menu/Menu.d.ts.map +1 -1
- package/dist/types/components/layout/components/settings/BlockCheckbox.vue.d.ts.map +1 -1
- package/dist/types/components/layout/components/settings/SettingDrawer.d.ts.map +1 -1
- package/dist/types/components/select/Select.vue.d.ts +2 -1
- package/dist/types/components/select/Select.vue.d.ts.map +1 -1
- package/dist/types/components/tab/Search.d.ts.map +1 -1
- package/dist/types/components/tab/Tab.vue.d.ts +5 -2
- package/dist/types/components/tab/Tab.vue.d.ts.map +1 -1
- package/dist/types/components/table/Table.d.ts.map +1 -1
- package/dist/types/components/table/interface.d.ts.map +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/useTheme.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -95,8 +95,16 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
95
95
|
(_b = endTime == null ? void 0 : endTime.format(props.format)) != null ? _b : null
|
|
96
96
|
);
|
|
97
97
|
} else {
|
|
98
|
-
updatedValue = setNestedValue(
|
|
99
|
-
|
|
98
|
+
updatedValue = setNestedValue(
|
|
99
|
+
updatedValue,
|
|
100
|
+
props.startField,
|
|
101
|
+
null
|
|
102
|
+
);
|
|
103
|
+
updatedValue = setNestedValue(
|
|
104
|
+
updatedValue,
|
|
105
|
+
props.endField,
|
|
106
|
+
null
|
|
107
|
+
);
|
|
100
108
|
}
|
|
101
109
|
emits("update:value", updatedValue);
|
|
102
110
|
emits("change", updatedValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangePicker.vue2.cjs","sources":["../../../../src/components/date/RangePicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, watch } from \"vue\";\r\n\r\nimport type { RangeValue } from \"ant-design-vue/es/vc-picker/interface\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport dayjs from \"dayjs\";\r\n\r\n// 工具函数:规范化路径\r\nconst normalizePath = (field: string | string[]): string[] => {\r\n return Array.isArray(field) ? field : [field];\r\n};\r\n\r\n// 工具函数:获取嵌套值\r\nconst getNestedValue = <T extends Record<string, unknown>>(\r\n obj: T,\r\n field: string | string[]\r\n): string | null | undefined => {\r\n const path = normalizePath(field);\r\n let current: unknown = obj;\r\n\r\n for (const key of path) {\r\n if (current
|
|
1
|
+
{"version":3,"file":"RangePicker.vue2.cjs","sources":["../../../../src/components/date/RangePicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, watch } from \"vue\";\r\n\r\nimport type { RangeValue } from \"ant-design-vue/es/vc-picker/interface\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport dayjs from \"dayjs\";\r\n\r\n// 工具函数:规范化路径\r\nconst normalizePath = (\r\n field: string | string[]\r\n): string[] => {\r\n return Array.isArray(field) ? field : [field];\r\n};\r\n\r\n// 工具函数:获取嵌套值\r\nconst getNestedValue = <T extends Record<string, unknown>>(\r\n obj: T,\r\n field: string | string[]\r\n): string | null | undefined => {\r\n const path = normalizePath(field);\r\n let current: unknown = obj;\r\n\r\n for (const key of path) {\r\n if (\r\n current &&\r\n typeof current === \"object\" &&\r\n key in current\r\n ) {\r\n current = (current as Record<string, unknown>)[key];\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n return current as string | null | undefined;\r\n};\r\n\r\n// 工具函数:设置嵌套值\r\nconst setNestedValue = <T extends Record<string, unknown>>(\r\n obj: T,\r\n field: string | string[],\r\n value: string | null\r\n): T => {\r\n const path = normalizePath(field);\r\n const newObj = { ...obj };\r\n let current: Record<string, unknown> = newObj;\r\n\r\n for (let i = 0; i < path.length - 1; i++) {\r\n const key = path[i];\r\n if (\r\n !(key in current) ||\r\n typeof current[key] !== \"object\" ||\r\n current[key] === null\r\n ) {\r\n current[key] = {};\r\n } else {\r\n current[key] = { ...current[key] };\r\n }\r\n current = current[key] as Record<string, unknown>;\r\n }\r\n\r\n current[path[path.length - 1]] = value;\r\n return newObj as T;\r\n};\r\n\r\n// 定义 props 类型\r\ninterface Props {\r\n value: Record<string, unknown>;\r\n startField?: string | string[];\r\n endField?: string | string[];\r\n format?: string;\r\n}\r\n\r\nconst props = defineProps({\n value: { type: Object, required: true, default: () => ({}) },\n startField: { type: [String, Array], required: false, default: \"startTime\" },\n endField: { type: [String, Array], required: false, default: \"endTime\" },\n format: { type: String, required: false, default: \"YYYY-MM-DD\" }\n});\r\n\r\n// 定义 emits 类型\r\nconst emits = defineEmits([\"update:value\", \"change\"]);\r\n\r\n// 内部值,用于日期选择器\r\nconst innerValue = ref<RangeValue<Dayjs>>(null);\r\n\r\n// 监听外部 value 变化,同步内部值\r\nwatch(\r\n () => props.value,\r\n newVal => {\r\n const start = getNestedValue(newVal, props.startField);\r\n const end = getNestedValue(newVal, props.endField);\r\n\r\n if (start && end) {\r\n innerValue.value = [dayjs(start), dayjs(end)];\r\n } else {\r\n innerValue.value = null;\r\n }\r\n },\r\n { immediate: true, deep: true }\r\n);\r\n\r\n// 处理日期变化\r\nconst handleChange = (dates: RangeValue<Dayjs>) => {\r\n let updatedValue = { ...props.value };\r\n\r\n if (dates && dates.length === 2) {\r\n const [startTime, endTime] = dates;\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.startField,\r\n startTime?.format(props.format) ?? null\r\n );\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.endField,\r\n endTime?.format(props.format) ?? null\r\n );\r\n } else {\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.startField,\r\n null\r\n );\r\n updatedValue = setNestedValue(\r\n updatedValue,\r\n props.endField,\r\n null\r\n );\r\n }\r\n\r\n emits(\"update:value\", updatedValue);\r\n emits(\"change\", updatedValue);\r\n};\r\n</script>\r\n\r\n<template>\r\n <a-range-picker\r\n style=\"width: 100%\"\r\n v-model:value=\"innerValue\"\r\n :placeholder=\"['开始时间', '结束时间']\"\r\n @change=\"handleChange\"\r\n />\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["ref","watch","dayjs"],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var vueRouter = require('vue-router');
|
|
7
|
+
var store = require('@ditari/store');
|
|
8
|
+
|
|
9
|
+
"use strict";
|
|
10
|
+
var __async = (__this, __arguments, generator) => {
|
|
11
|
+
return new Promise((resolve, reject) => {
|
|
12
|
+
var fulfilled = (value) => {
|
|
13
|
+
try {
|
|
14
|
+
step(generator.next(value));
|
|
15
|
+
} catch (e) {
|
|
16
|
+
reject(e);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
var rejected = (value) => {
|
|
20
|
+
try {
|
|
21
|
+
step(generator.throw(value));
|
|
22
|
+
} catch (e) {
|
|
23
|
+
reject(e);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
27
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var DicReplace = /* @__PURE__ */ vue.defineComponent({
|
|
31
|
+
name: "DicRep",
|
|
32
|
+
props: {
|
|
33
|
+
// 字典名称
|
|
34
|
+
name: {
|
|
35
|
+
type: String,
|
|
36
|
+
default: ""
|
|
37
|
+
},
|
|
38
|
+
// 值
|
|
39
|
+
value: {
|
|
40
|
+
type: String,
|
|
41
|
+
default: ""
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
setup(props) {
|
|
45
|
+
const {
|
|
46
|
+
get: keepNames
|
|
47
|
+
} = store.useKeepAliveStore();
|
|
48
|
+
const {
|
|
49
|
+
getDicTextByValue
|
|
50
|
+
} = store.useDicStore();
|
|
51
|
+
const route = vueRouter.useRoute();
|
|
52
|
+
const isKeepAlive = keepNames.some((name) => name === route.name);
|
|
53
|
+
const dicValueTxt = vue.ref("");
|
|
54
|
+
const fetchDic = vue.inject("fetchDic", (name) => __async(this, null, function* () {
|
|
55
|
+
console.warn(`fetchDic \u672A\u6CE8\u5165\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u5B9E\u73B0\uFF0Cname: ${name}`);
|
|
56
|
+
return [];
|
|
57
|
+
}));
|
|
58
|
+
vue.onActivated(() => __async(this, null, function* () {
|
|
59
|
+
yield loadDicData();
|
|
60
|
+
}));
|
|
61
|
+
vue.onMounted(() => __async(this, null, function* () {
|
|
62
|
+
if (!isKeepAlive) {
|
|
63
|
+
yield loadDicData();
|
|
64
|
+
}
|
|
65
|
+
}));
|
|
66
|
+
function loadDicData() {
|
|
67
|
+
return __async(this, null, function* () {
|
|
68
|
+
try {
|
|
69
|
+
yield fetchDic(props.name);
|
|
70
|
+
replace(props.value);
|
|
71
|
+
} catch (error) {
|
|
72
|
+
console.error("\u83B7\u53D6\u5B57\u5178\u6570\u636E\u5931\u8D25:", error);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
loadDicData().then(() => console.log("success load dic"));
|
|
77
|
+
vue.watch(() => props.value, (val) => {
|
|
78
|
+
replace(val);
|
|
79
|
+
}, {
|
|
80
|
+
immediate: true
|
|
81
|
+
});
|
|
82
|
+
function replace(val) {
|
|
83
|
+
const value = val;
|
|
84
|
+
const name = props.name;
|
|
85
|
+
dicValueTxt.value = getDicTextByValue(name, value);
|
|
86
|
+
}
|
|
87
|
+
return () => vue.createVNode("span", {
|
|
88
|
+
"class": "d-dic"
|
|
89
|
+
}, [dicValueTxt.value]);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
exports.default = DicReplace;
|
|
94
|
+
//# sourceMappingURL=DicReplace.cjs.map
|
|
@@ -0,0 +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 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;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var DicReplace = require('./DicReplace.cjs');
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
DicReplace.default.install = function(app) {
|
|
9
|
+
app.component(DicReplace.default.name, DicReplace.default);
|
|
10
|
+
return app;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
exports.default = DicReplace.default;
|
|
14
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/dic/index.ts"],"sourcesContent":["import DicReplace from \"./DicReplace\";\nimport type { App } from \"vue\";\n\nDicReplace.install = function (app: App) {\n app.component(DicReplace.name!, DicReplace);\n return app;\n};\nexport default DicReplace;\n"],"names":["DicReplace"],"mappings":";;;;;;;AAGAA,kBAAW,CAAA,OAAA,GAAU,SAAU,GAAU,EAAA;AACvC,EAAI,GAAA,CAAA,SAAA,CAAUA,kBAAW,CAAA,IAAA,EAAOA,kBAAU,CAAA;AAC1C,EAAO,OAAA,GAAA;AACT,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormLayout.cjs","sources":["../../../../src/components/form/FormLayout.tsx"],"sourcesContent":["import { defineComponent, onMounted, ref, watch, watchEffect } from \"vue\";\r\nimport { Button, Col, Form, FormItem, Row, Space } from \"ant-design-vue\";\r\n\r\nimport {\r\n DoubleRightOutlined,\r\n ReloadOutlined,\r\n SearchOutlined\r\n} from \"@ant-design/icons-vue\";\r\n\r\n/**\r\n * 查询表单渲染\r\n * 展开,隐藏功能\r\n */\r\nexport default defineComponent({\r\n name: \"DQueryForm\",\r\n props: {\r\n scheme: {\r\n type: [Array, Object] as unknown as () => any[] | Record<string, any>,\r\n default: () => []\r\n },\r\n model: {\r\n type: Object as () => Record<string, unknown>,\r\n default: () => ({})\r\n },\r\n labelWidth: {\r\n type: String,\r\n default: \"90px\"\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n emits: [\"reset\", \"query\"],\r\n setup(props, { slots, emit }) {\r\n // 表单\r\n const { loading, modelValue, formRef, onQuery, onReset, onKeyup } =\r\n useForm();\r\n // 展开\r\n const { rowRef, actionSpan, onExpend, expendBtnVisible, isExpend } =\r\n useExpand();\r\n //渲染操作列\r\n const { renderAction } = useRender();\r\n\r\n function useForm() {\r\n const loading = ref(false);\r\n const formRef = ref<any>(null);\r\n const modelValue = ref<any>({});\r\n\r\n watchEffect(() => {\r\n modelValue.value = props.model;\r\n });\r\n\r\n watch(\r\n () => props.loading,\r\n val => {\r\n loading.value = val;\r\n }\r\n );\r\n\r\n /// 监听回车事件\r\n // watch(enterKey, (v) => {\r\n // if (v) {\r\n // // 有路由名字会被keepalive进行缓存\r\n // // 用于判断当前页面是否被激活 因为页面被缓存的时候,页面切换后,回车事件依然会触发\r\n // const isActive = keepStore.list.some((name) => name === route.name);\r\n // console.log(route.name);\r\n // if (!loading.value && isActive) {\r\n // emit(\"query\", modelValue.value);\r\n // }\r\n // //TODO 逻辑有问题\r\n // if (!route.name) {\r\n // // 没有路由名字,不会被缓存\r\n // if (!loading.value) {\r\n // emit(\"query\", modelValue.value);\r\n // }\r\n // } else {\r\n //\r\n // }\r\n // }\r\n // });\r\n\r\n const onQuery = () => {\r\n emit(\"query\", modelValue.value);\r\n };\r\n\r\n const onReset = () => {\r\n formRef.value?.resetFields();\r\n emit(\"reset\");\r\n };\r\n\r\n const onKeyup = (event: any) => {\r\n if (event.keyCode === 13) {\r\n if (!loading.value) {\r\n emit(\"query\", modelValue.value);\r\n }\r\n }\r\n };\r\n return {\r\n loading,\r\n modelValue,\r\n formRef,\r\n onQuery,\r\n onReset,\r\n onKeyup\r\n };\r\n }\r\n\r\n function useRender() {\r\n /**\r\n * 操作按钮渲染\r\n */\r\n function renderAction() {\r\n return (\r\n <Space>\r\n <Button\r\n loading={loading.value}\r\n type={\"primary\"}\r\n shape={\"round\"}\r\n onClick={onQuery}\r\n >\r\n {{\r\n default: () => \"查询\",\r\n icon: () => <SearchOutlined />\r\n }}\r\n </Button>\r\n <Button disabled={loading.value} shape={\"round\"} onClick={onReset}>\r\n {{\r\n default: () => \"重置\",\r\n icon: () => <ReloadOutlined />\r\n }}\r\n </Button>\r\n {expendBtnVisible.value ? (\r\n <Button onClick={onExpend} shape={\"round\"}>\r\n {{\r\n default: () => (isExpend.value ? \"收起\" : \"展开\"),\r\n icon: () => (\r\n <DoubleRightOutlined rotate={isExpend.value ? -90 : 90} />\r\n )\r\n }}\r\n </Button>\r\n ) : null}\r\n </Space>\r\n );\r\n }\r\n\r\n return {\r\n renderAction\r\n };\r\n }\r\n\r\n function useExpand() {\r\n // 为24网格布局\r\n const gridCount = 24;\r\n // 每列占6个格子\r\n const colSpan = 6;\r\n // 每行显示4列\r\n const colsPerRow = 4;\r\n // 操作按钮span\r\n const actionSpan = ref(6);\r\n // 控制展开或隐藏按钮文本\r\n const isExpend = ref(false);\r\n // 控制展开按按钮是否显示\r\n const expendBtnVisible = ref(false);\r\n // 行对象\r\n const rowRef = ref<any>(null);\r\n\r\n onMounted(() => {\r\n handleShowOrHidden();\r\n });\r\n\r\n function onExpend() {\r\n isExpend.value = !isExpend.value;\r\n handleShowOrHidden();\r\n }\r\n\r\n /**\r\n * 处理隐藏或显示\r\n */\r\n function handleShowOrHidden() {\r\n const colEl = Array.from(rowRef.value?.$el?.children);\r\n // col总条数 减掉操作栏按钮的div个数为1\r\n const colElLen = colEl.length - 1;\r\n // 已占用的网格数 = col总条数 * 每列占用的网格数\r\n const occupiedCols = colElLen * colSpan;\r\n // 总行数 = 总div数 / 每行显示的列数\r\n const fullRows = Math.ceil(colElLen / colsPerRow);\r\n // 最后一行的网格数 = 已占用的网格数 % 24\r\n const lastRowCols = occupiedCols % gridCount;\r\n // 最后一行剩余的网格数\r\n const remainingCols = gridCount - lastRowCols;\r\n\r\n // 网格行大于2才显示展开或隐藏按钮\r\n if (fullRows > 2) {\r\n expendBtnVisible.value = true;\r\n } else {\r\n // 如果没有大于两行,操作栏占用剩余的宽度\r\n actionSpan.value = remainingCols;\r\n }\r\n // 最后一行的起始索引\r\n const lastRowStartIndex = colsPerRow * (fullRows - 1) - 1;\r\n // 只有展开按钮显示时才处理\r\n if (expendBtnVisible.value) {\r\n colEl.forEach((col: any, index) => {\r\n if (index >= lastRowStartIndex) {\r\n // 最后一个元素不隐藏 是操作按钮的div\r\n index !== colElLen\r\n ? (col.style.display = !isExpend.value ? \"none\" : \"block\")\r\n : null; // 隐藏元素\r\n }\r\n });\r\n }\r\n\r\n if (expendBtnVisible.value) {\r\n // 如果是展开状态 则操作按钮占用剩余的网格数 否则占用6个网格\r\n isExpend.value\r\n ? (actionSpan.value = remainingCols)\r\n : (actionSpan.value = colSpan);\r\n }\r\n }\r\n\r\n return {\r\n rowRef,\r\n actionSpan,\r\n onExpend,\r\n expendBtnVisible,\r\n isExpend\r\n };\r\n }\r\n\r\n return () => (\r\n <div onKeyup={onKeyup}>\r\n <Form\r\n ref={formRef}\r\n colon={false}\r\n labelCol={{ style: { width: props.labelWidth } }}\r\n model={modelValue.value}\r\n >\r\n <Row ref={rowRef}>\r\n {slots.default?.()}\r\n <Col span={actionSpan.value} style={{ textAlign: \"right\" }}>\r\n <FormItem>\r\n {slots.action ? slots.action() : renderAction()}\r\n </FormItem>\r\n </Col>\r\n </Row>\r\n </Form>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["defineComponent","name","props","scheme","type","Array","Object","default","model","labelWidth","String","loading","Boolean","emits","setup","slots","emit","modelValue","formRef","onQuery","onReset","onKeyup","useForm","rowRef","actionSpan","onExpend","expendBtnVisible","isExpend","useExpand","renderAction","useRender","ref","watchEffect","value","watch","val","resetFields","event","keyCode","_createVNode","Space","Button","icon","SearchOutlined","ReloadOutlined","DoubleRightOutlined","gridCount","colSpan","colsPerRow","onMounted","handleShowOrHidden","colEl","from","$el","children","colElLen","length","occupiedCols","fullRows","Math","ceil","lastRowCols","remainingCols","lastRowStartIndex","forEach","col","index","style","display","Form","width","Row","Col","textAlign","FormItem","action"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormLayout.cjs","sources":["../../../../src/components/form/FormLayout.tsx"],"sourcesContent":["import {\r\n defineComponent,\r\n onMounted,\r\n ref,\r\n watch,\r\n watchEffect\r\n} from \"vue\";\r\nimport {\r\n Button,\r\n Col,\r\n Form,\r\n FormItem,\r\n Row,\r\n Space\r\n} from \"ant-design-vue\";\r\n\r\nimport {\r\n DoubleRightOutlined,\r\n ReloadOutlined,\r\n SearchOutlined\r\n} from \"@ant-design/icons-vue\";\r\n\r\n/**\r\n * 查询表单渲染\r\n * 展开,隐藏功能\r\n */\r\nexport default defineComponent({\r\n name: \"DQueryForm\",\r\n props: {\r\n scheme: {\r\n type: [Array, Object] as unknown as () =>\r\n | any[]\r\n | Record<string, any>,\r\n default: () => []\r\n },\r\n model: {\r\n type: Object as () => Record<string, unknown>,\r\n default: () => ({})\r\n },\r\n labelWidth: {\r\n type: String,\r\n default: \"90px\"\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n emits: [\"reset\", \"query\"],\r\n setup(props, { slots, emit }) {\r\n // 表单\r\n const {\r\n loading,\r\n modelValue,\r\n formRef,\r\n onQuery,\r\n onReset,\r\n onKeyup\r\n } = useForm();\r\n // 展开\r\n const {\r\n rowRef,\r\n actionSpan,\r\n onExpend,\r\n expendBtnVisible,\r\n isExpend\r\n } = useExpand();\r\n //渲染操作列\r\n const { renderAction } = useRender();\r\n\r\n function useForm() {\r\n const loading = ref(false);\r\n const formRef = ref<any>(null);\r\n const modelValue = ref<any>({});\r\n\r\n watchEffect(() => {\r\n modelValue.value = props.model;\r\n });\r\n\r\n watch(\r\n () => props.loading,\r\n val => {\r\n loading.value = val;\r\n }\r\n );\r\n\r\n /// 监听回车事件\r\n // watch(enterKey, (v) => {\r\n // if (v) {\r\n // // 有路由名字会被keepalive进行缓存\r\n // // 用于判断当前页面是否被激活 因为页面被缓存的时候,页面切换后,回车事件依然会触发\r\n // const isActive = keepStore.list.some((name) => name === route.name);\r\n // console.log(route.name);\r\n // if (!loading.value && isActive) {\r\n // emit(\"query\", modelValue.value);\r\n // }\r\n // //TODO 逻辑有问题\r\n // if (!route.name) {\r\n // // 没有路由名字,不会被缓存\r\n // if (!loading.value) {\r\n // emit(\"query\", modelValue.value);\r\n // }\r\n // } else {\r\n //\r\n // }\r\n // }\r\n // });\r\n\r\n const onQuery = () => {\r\n emit(\"query\", modelValue.value);\r\n };\r\n\r\n const onReset = () => {\r\n formRef.value?.resetFields();\r\n emit(\"reset\");\r\n };\r\n\r\n const onKeyup = (event: any) => {\r\n if (event.keyCode === 13) {\r\n if (!loading.value) {\r\n emit(\"query\", modelValue.value);\r\n }\r\n }\r\n };\r\n return {\r\n loading,\r\n modelValue,\r\n formRef,\r\n onQuery,\r\n onReset,\r\n onKeyup\r\n };\r\n }\r\n\r\n function useRender() {\r\n /**\r\n * 操作按钮渲染\r\n */\r\n function renderAction() {\r\n return (\r\n <Space>\r\n <Button\r\n loading={loading.value}\r\n type={\"primary\"}\r\n shape={\"round\"}\r\n onClick={onQuery}\r\n >\r\n {{\r\n default: () => \"查询\",\r\n icon: () => <SearchOutlined />\r\n }}\r\n </Button>\r\n <Button\r\n disabled={loading.value}\r\n shape={\"round\"}\r\n onClick={onReset}\r\n >\r\n {{\r\n default: () => \"重置\",\r\n icon: () => <ReloadOutlined />\r\n }}\r\n </Button>\r\n {expendBtnVisible.value ? (\r\n <Button onClick={onExpend} shape={\"round\"}>\r\n {{\r\n default: () =>\r\n isExpend.value ? \"收起\" : \"展开\",\r\n icon: () => (\r\n <DoubleRightOutlined\r\n rotate={isExpend.value ? -90 : 90}\r\n />\r\n )\r\n }}\r\n </Button>\r\n ) : null}\r\n </Space>\r\n );\r\n }\r\n\r\n return {\r\n renderAction\r\n };\r\n }\r\n\r\n function useExpand() {\r\n // 为24网格布局\r\n const gridCount = 24;\r\n // 每列占6个格子\r\n const colSpan = 6;\r\n // 每行显示4列\r\n const colsPerRow = 4;\r\n // 操作按钮span\r\n const actionSpan = ref(6);\r\n // 控制展开或隐藏按钮文本\r\n const isExpend = ref(false);\r\n // 控制展开按按钮是否显示\r\n const expendBtnVisible = ref(false);\r\n // 行对象\r\n const rowRef = ref<any>(null);\r\n\r\n onMounted(() => {\r\n handleShowOrHidden();\r\n });\r\n\r\n function onExpend() {\r\n isExpend.value = !isExpend.value;\r\n handleShowOrHidden();\r\n }\r\n\r\n /**\r\n * 处理隐藏或显示\r\n */\r\n function handleShowOrHidden() {\r\n const colEl = Array.from(\r\n rowRef.value?.$el?.children\r\n );\r\n // col总条数 减掉操作栏按钮的div个数为1\r\n const colElLen = colEl.length - 1;\r\n // 已占用的网格数 = col总条数 * 每列占用的网格数\r\n const occupiedCols = colElLen * colSpan;\r\n // 总行数 = 总div数 / 每行显示的列数\r\n const fullRows = Math.ceil(colElLen / colsPerRow);\r\n // 最后一行的网格数 = 已占用的网格数 % 24\r\n const lastRowCols = occupiedCols % gridCount;\r\n // 最后一行剩余的网格数\r\n const remainingCols = gridCount - lastRowCols;\r\n\r\n // 网格行大于2才显示展开或隐藏按钮\r\n if (fullRows > 2) {\r\n expendBtnVisible.value = true;\r\n } else {\r\n // 如果没有大于两行,操作栏占用剩余的宽度\r\n actionSpan.value = remainingCols;\r\n }\r\n // 最后一行的起始索引\r\n const lastRowStartIndex =\r\n colsPerRow * (fullRows - 1) - 1;\r\n // 只有展开按钮显示时才处理\r\n if (expendBtnVisible.value) {\r\n colEl.forEach((col: any, index) => {\r\n if (index >= lastRowStartIndex) {\r\n // 最后一个元素不隐藏 是操作按钮的div\r\n index !== colElLen\r\n ? (col.style.display = !isExpend.value\r\n ? \"none\"\r\n : \"block\")\r\n : null; // 隐藏元素\r\n }\r\n });\r\n }\r\n\r\n if (expendBtnVisible.value) {\r\n // 如果是展开状态 则操作按钮占用剩余的网格数 否则占用6个网格\r\n isExpend.value\r\n ? (actionSpan.value = remainingCols)\r\n : (actionSpan.value = colSpan);\r\n }\r\n }\r\n\r\n return {\r\n rowRef,\r\n actionSpan,\r\n onExpend,\r\n expendBtnVisible,\r\n isExpend\r\n };\r\n }\r\n\r\n return () => (\r\n <div onKeyup={onKeyup}>\r\n <Form\r\n ref={formRef}\r\n colon={false}\r\n labelCol={{ style: { width: props.labelWidth } }}\r\n model={modelValue.value}\r\n >\r\n <Row ref={rowRef}>\r\n {slots.default?.()}\r\n <Col\r\n span={actionSpan.value}\r\n style={{ textAlign: \"right\" }}\r\n >\r\n <FormItem>\r\n {slots.action\r\n ? slots.action()\r\n : renderAction()}\r\n </FormItem>\r\n </Col>\r\n </Row>\r\n </Form>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["defineComponent","name","props","scheme","type","Array","Object","default","model","labelWidth","String","loading","Boolean","emits","setup","slots","emit","modelValue","formRef","onQuery","onReset","onKeyup","useForm","rowRef","actionSpan","onExpend","expendBtnVisible","isExpend","useExpand","renderAction","useRender","ref","watchEffect","value","watch","val","resetFields","event","keyCode","_createVNode","Space","Button","icon","SearchOutlined","ReloadOutlined","DoubleRightOutlined","gridCount","colSpan","colsPerRow","onMounted","handleShowOrHidden","colEl","from","$el","children","colElLen","length","occupiedCols","fullRows","Math","ceil","lastRowCols","remainingCols","lastRowStartIndex","forEach","col","index","style","display","Form","width","Row","Col","textAlign","FormItem","action"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Moon.vue.cjs","sources":["../../../../src/components/icon/Moon.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\r\n\r\n<template>\r\n <svg
|
|
1
|
+
{"version":3,"file":"Moon.vue.cjs","sources":["../../../../src/components/icon/Moon.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\r\n\r\n<template>\r\n <svg\r\n width=\"48\"\r\n height=\"48\"\r\n viewBox=\"0 0 48 48\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M42.108 29.769c.124-.387-.258-.736-.645-.613A17.99 17.99 0 0136 30c-9.941 0-18-8.059-18-18 0-1.905.296-3.74.844-5.463.123-.387-.226-.769-.613-.645C10.558 8.334 5 15.518 5 24c0 10.493 8.507 19 19 19 8.482 0 15.666-5.558 18.108-13.231z\"\r\n fill=\"#4E5969\"\r\n />\r\n </svg>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["_openBlock","_createElementBlock","_createElementVNode"],"mappings":";;;;;;;;;AAII,MAAA,UAAU,GAAA;AAAA,EACV;EACA;EACA,OAAW,EAAA,WAAA;AAAA;;AAJb,SAAA,WAAA,CAAA,MAAA,MAAA,EAAA;EASI,OAAAA,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA,UAAA,EAAA,OAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA;AAAA,IAFAC,sBAAA;AAAA,MAA6O,MAAA;AAAA,MAAA;AAAA,QAC7O,CAAA,EAAA,2OAAA;AAAA;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sun.vue.cjs","sources":["../../../../src/components/icon/Sun.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\r\n\r\n<template>\r\n <svg
|
|
1
|
+
{"version":3,"file":"Sun.vue.cjs","sources":["../../../../src/components/icon/Sun.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\r\n\r\n<template>\r\n <svg\r\n width=\"22\"\r\n height=\"22\"\r\n viewBox=\"0 0 48 48\"\r\n fill=\"none\"\r\n >\r\n <circle cx=\"24\" cy=\"24\" r=\"9\" fill=\"red\" />\r\n <path\r\n d=\"M21 5.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5zM21 37.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5zM42.5 21a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5h5zM10.5 21a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5h5zM39.203 34.96a.5.5 0 010 .707l-3.536 3.536a.5.5 0 01-.707 0l-3.535-3.536a.5.5 0 010-.707l3.535-3.535a.5.5 0 01.707 0l3.536 3.535zM16.575 12.333a.5.5 0 010 .707l-3.535 3.535a.5.5 0 01-.707 0L8.797 13.04a.5.5 0 010-.707l3.536-3.536a.5.5 0 01.707 0l3.535 3.536zM13.04 39.203a.5.5 0 01-.707 0l-3.536-3.536a.5.5 0 010-.707l3.536-3.535a.5.5 0 01.707 0l3.536 3.535a.5.5 0 010 .707l-3.536 3.536zM35.668 16.575a.5.5 0 01-.708 0l-3.535-3.535a.5.5 0 010-.707l3.535-3.536a.5.5 0 01.708 0l3.535 3.536a.5.5 0 010 .707l-3.535 3.535z\"\r\n fill=\"#4E5969\"\r\n />\r\n </svg>\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":["_openBlock","_createElementBlock","_createElementVNode"],"mappings":";;;;;;;;;AAII,MAAA,UAAU,GAAA;AAAA,EACV;EACA;EACA,OAAW,EAAA,WAAA;AAAA;;AAJb,SAAA,WAAA,CAAA,MAAA,MAAA,EAAA;EAM6C,OAAAA,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA,UAAA,EAAA,OAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA;AAAA,IAAnCC,sBAAA;AAAA,MAAO,QAAA;AAAA,MAAA;AAAA,QAAC,EAAG,EAAA,IAAA;AAAA,QAAK,EAAK,EAAA,IAAA;AAAA,QAAC,CAAA,EAAA,GAAA;AAAA;OAC9B;AAAA,MAGE,IAAA;AAAA,MAAA,CAAA;AAAA;AAAA,KAAA;AAAA,IAFAA,sBAAA;AAAA,MAAo0B,MAAA;AAAA,MAAA;AAAA,QACp0B,CAAA,EAAA,k0BAAA;AAAA;;;;;;;;;;;;"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('./date/index.cjs');
|
|
4
|
+
require('./dic/index.cjs');
|
|
4
5
|
require('./form/index.cjs');
|
|
5
6
|
require('./icon/index.cjs');
|
|
6
7
|
require('./layout/index.cjs');
|
|
7
8
|
require('./select/index.cjs');
|
|
8
9
|
require('./tab/index.cjs');
|
|
9
10
|
require('./table/index.cjs');
|
|
11
|
+
var DicReplace = require('./dic/DicReplace.cjs');
|
|
10
12
|
var Select_vue_vue_type_script_setup_true_lang = require('./select/Select.vue2.cjs');
|
|
11
13
|
var Tab_vue_vue_type_script_setup_true_lang = require('./tab/Tab.vue2.cjs');
|
|
12
14
|
var Table = require('./table/Table.cjs');
|
|
@@ -23,6 +25,7 @@ var Show = require('./layout/Show.cjs');
|
|
|
23
25
|
|
|
24
26
|
"use strict";
|
|
25
27
|
|
|
28
|
+
exports.DicRep = DicReplace.default;
|
|
26
29
|
exports.Select = Select_vue_vue_type_script_setup_true_lang.default;
|
|
27
30
|
exports.Tab = Tab_vue_vue_type_script_setup_true_lang.default;
|
|
28
31
|
exports.Table = Table.default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -21,15 +21,24 @@ 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
|
-
|
|
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();
|
|
30
|
-
const { layoutStyle, siderStyle, rightStyle, rightContentStyle } = useStyle();
|
|
31
|
-
useKeepAlive();
|
|
32
33
|
useWatermark();
|
|
34
|
+
const { onMenuChange } = useMenu();
|
|
35
|
+
const {
|
|
36
|
+
layoutStyle,
|
|
37
|
+
siderStyle,
|
|
38
|
+
rightStyle,
|
|
39
|
+
rightContentStyle
|
|
40
|
+
} = useStyle();
|
|
41
|
+
useKeepAlive();
|
|
33
42
|
function useKeepAlive() {
|
|
34
43
|
const { save } = store.useKeepAliveStore();
|
|
35
44
|
vue.watch(
|
|
@@ -55,10 +64,11 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
55
64
|
}
|
|
56
65
|
function useStyle() {
|
|
57
66
|
const layoutStyle2 = css.css`
|
|
58
|
-
height:
|
|
67
|
+
height: 100vh;
|
|
59
68
|
`;
|
|
60
69
|
const transitionStyle = css.css`
|
|
61
|
-
transition: margin-left 0.4s
|
|
70
|
+
transition: margin-left 0.4s
|
|
71
|
+
cubic-bezier(0.22, 1.2, 0.36, 1);
|
|
62
72
|
`;
|
|
63
73
|
const left = vue.computed(
|
|
64
74
|
() => `${layout.value.collapsed ? layout.value.collapsedWidth : layout.value.sideWidth}px`
|
|
@@ -98,6 +108,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
98
108
|
rightContentStyle: rightContentStyle2
|
|
99
109
|
};
|
|
100
110
|
}
|
|
111
|
+
function useMenu() {
|
|
112
|
+
const onMenuChange2 = (item) => {
|
|
113
|
+
emits("menuChange", item);
|
|
114
|
+
};
|
|
115
|
+
return {
|
|
116
|
+
onMenuChange: onMenuChange2
|
|
117
|
+
};
|
|
118
|
+
}
|
|
101
119
|
return (_ctx, _cache) => {
|
|
102
120
|
const _component_a_layout_sider = vue.resolveComponent("a-layout-sider");
|
|
103
121
|
const _component_a_layout_content = vue.resolveComponent("a-layout-content");
|
|
@@ -122,7 +140,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
122
140
|
default: vue.withCtx(() => [
|
|
123
141
|
vue.createElementVNode("div", _hoisted_1, [
|
|
124
142
|
vue.renderSlot(_ctx.$slots, "logo"),
|
|
125
|
-
vue.createVNode(vue.unref(Menu.default))
|
|
143
|
+
vue.createVNode(vue.unref(Menu.default), { onMenuChange: vue.unref(onMenuChange) }, null, 8, ["onMenuChange"])
|
|
126
144
|
])
|
|
127
145
|
]),
|
|
128
146
|
_: 3
|
|
@@ -156,7 +174,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
156
174
|
_: 3
|
|
157
175
|
/* FORWARDED */
|
|
158
176
|
}, 8, ["class"]),
|
|
159
|
-
vue.
|
|
177
|
+
__props.isSettings ? (vue.openBlock(), vue.createBlock(vue.unref(SettingDrawer.default), { key: 0 })) : vue.createCommentVNode("v-if", true),
|
|
160
178
|
vue.createVNode(_component_a_back_top)
|
|
161
179
|
],
|
|
162
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 {
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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,41 +43,45 @@ 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
|
-
|
|
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
|
-
|
|
65
|
+
box-shadow: none !important;
|
|
66
66
|
`;
|
|
67
67
|
const leftCardStyle = css.css`
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
.ant-card-body {
|
|
69
|
+
overflow-y: scroll;
|
|
70
|
+
-ms-overflow-style: none; /* 对 IE 和 Edge 生效 */
|
|
71
|
+
scrollbar-width: none; /* 对 Firefox 生效 */
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
/* Webkit 浏览器 */
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
::-webkit-scrollbar {
|
|
76
|
+
display: none;
|
|
77
|
+
}
|
|
77
78
|
}
|
|
78
|
-
}
|
|
79
79
|
`;
|
|
80
|
-
const listStyle = vue.computed(() => css.css
|
|
80
|
+
const listStyle = vue.computed(() => css.css`
|
|
81
|
+
padding: 10px;
|
|
82
|
+
height: 100%;
|
|
83
|
+
//height: calc(100vh - 44px);
|
|
84
|
+
`);
|
|
81
85
|
vue.onMounted(() => {
|
|
82
86
|
playTableHeight();
|
|
83
87
|
});
|
|
@@ -226,11 +230,7 @@ const list = /* @__PURE__ */ vue.defineComponent({
|
|
|
226
230
|
}, {
|
|
227
231
|
default: () => [vue.createVNode(antDesignVue.Flex, {
|
|
228
232
|
"class": [listStyle.value, "app-list"],
|
|
229
|
-
"gap": 10
|
|
230
|
-
"style": {
|
|
231
|
-
height: "100%",
|
|
232
|
-
padding: "10px"
|
|
233
|
-
}
|
|
233
|
+
"gap": 10
|
|
234
234
|
}, {
|
|
235
235
|
default: () => [slots.left ? vue.createVNode(antDesignVue.Card, {
|
|
236
236
|
"class": [cardStyle, leftCardStyle],
|
|
@@ -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 { Card, Flex, Space, Watermark } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useElementSize } from \"@vueuse/core\";\r\n\r\nimport { useAppStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nconst tableRootStyle = css`\r\n height: 100%;\r\n position: relative;\r\n overflow: hidden;\r\n`;\r\n\r\nconst list = defineComponent({\r\n name: \"DListLayout\",\r\n emits: [\"refresh\"],\r\n setup(_, { slots, emit }) {\r\n const watermarkContent = ref(inject(\"watermarkContent\"));\r\n const route = useRoute();\r\n const { refresh } = storeToRefs(useAppStore());\r\n const { tableRef, height, tableVisible, playTableHeight } =\r\n useTableHeight();\r\n const { formRef } = useForm();\r\n useReload();\r\n // 使用 computed 来动态计算样式\r\n const maskDivStyle = computed(() => {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n background: white;\r\n display: ${tableVisible.value ? \"block\" : \"none\"};\r\n `;\r\n });\r\n\r\n const tableWrapperStyle = css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n overflow: hidden;\r\n `;\r\n\r\n const cardStyle = css`\r\n box-shadow: none !important;\r\n `;\r\n\r\n const leftCardStyle = css`\r\n .ant-card-body {\r\n overflow-y: scroll;\r\n -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */\r\n scrollbar-width: none; /* 对 Firefox 生效 */\r\n\r\n /* Webkit 浏览器 */\r\n\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n }\r\n `;\r\n\r\n const listStyle = computed(() => css``);\r\n\r\n onMounted(() => {\r\n playTableHeight();\r\n });\r\n\r\n function useTableHeight() {\r\n const tableRef = ref();\r\n const height = ref(0);\r\n const tableVisible = ref(true);\r\n\r\n function playTableHeight() {\r\n tableVisible.value = true;\r\n height.value = tableRef?.value?.$el.offsetHeight;\r\n nextTick(() => {\r\n setTimeout(() => {\r\n tableVisible.value = false;\r\n }, 10);\r\n });\r\n }\r\n\r\n return {\r\n tableRef,\r\n height,\r\n tableVisible,\r\n playTableHeight\r\n };\r\n }\r\n\r\n function useForm() {\r\n const formRef = ref(null);\r\n const { height: formHeight } = useElementSize(formRef);\r\n watch(\r\n () => formHeight.value,\r\n () => {\r\n nextTick(() => {\r\n playTableHeight();\r\n });\r\n }\r\n );\r\n\r\n return {\r\n formRef\r\n };\r\n }\r\n\r\n // 处理标签重载\r\n function useReload() {\r\n let stopHandleWatch: WatchStopHandle;\r\n // !route.meta.keepAlive\r\n if (!route.name) {\r\n stopHandleWatch = _useWatch();\r\n // 卸载未缓存的组件\r\n onUnmounted(() => {\r\n stopHandleWatch?.();\r\n });\r\n } else {\r\n // 激活缓存页面\r\n onActivated(() => {\r\n if (refresh.value) {\r\n refresh.value = false;\r\n emit(\"refresh\");\r\n }\r\n stopHandleWatch = _useWatch();\r\n });\r\n // 离开缓存页面\r\n onDeactivated(() => {\r\n stopHandleWatch?.();\r\n });\r\n }\r\n\r\n function _useWatch() {\r\n //点击了标签重载图标\r\n return watch(\r\n () => refresh.value,\r\n val => {\r\n if (val) {\r\n // 发送刷新事件到列表页面\r\n emit(\"refresh\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n function useLayout() {\r\n function formLayout() {\r\n return () =>\r\n slots.form && (\r\n <Card\r\n class={cardStyle}\r\n ref={formRef}\r\n style={{ marginBottom: \"10px\" }}\r\n bodyStyle={{ padding: \"10px 10px 0 10px\" }}\r\n bordered={false}\r\n >\r\n {slots.form()}\r\n </Card>\r\n );\r\n }\r\n\r\n function tableLayout() {\r\n return () => (\r\n <Flex flex={1} vertical={true}>\r\n <Card\r\n class={cardStyle}\r\n style={{ height: \"100%\" }}\r\n bodyStyle={{ height: \"100%\", padding: \"10px\" }}\r\n bordered={false}\r\n >\r\n <Flex style={{ height: \"100%\" }} vertical={true}>\r\n <Space style={{ marginBottom: \"6px\" }}>{slots.tools?.()}</Space>\r\n <Flex\r\n ref={tableRef}\r\n flex={1}\r\n style={{ height: \"100%\" }}\r\n vertical={true}\r\n >\r\n <div class={tableRootStyle}>\r\n <div class={maskDivStyle.value}></div>\r\n <div class={tableWrapperStyle}>\r\n {slots.table?.({ height: height.value })}\r\n </div>\r\n </div>\r\n </Flex>\r\n </Flex>\r\n </Card>\r\n </Flex>\r\n );\r\n }\r\n\r\n return (\r\n <Watermark\r\n style={{ height: \"100%\" }}\r\n content={watermarkContent.value as string}\r\n >\r\n <Flex\r\n class={[listStyle.value, \"app-list\"]}\r\n gap={10}\r\n style={{ height: \"100%\", padding: \"10px\" }}\r\n >\r\n {slots.left ? (\r\n <Card\r\n class={[cardStyle, leftCardStyle]}\r\n bordered={false}\r\n bodyStyle={{\r\n height: \"100%\",\r\n padding: \"10px\"\r\n }}\r\n >\r\n {slots.left?.()}\r\n </Card>\r\n ) : null}\r\n <Flex vertical={true} flex={1}>\r\n {formLayout()()}\r\n {tableLayout()()}\r\n </Flex>\r\n </Flex>\r\n </Watermark>\r\n );\r\n }\r\n\r\n return () => useLayout();\r\n }\r\n});\r\n\r\nexport default list;\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableRootStyle","css","list","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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"}
|
|
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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"}
|