@ditari/bsui 5.0.4 → 5.0.5

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 (46) hide show
  1. package/dist/cjs/components/date/RangePicker.vue.cjs +10 -0
  2. package/dist/cjs/components/date/RangePicker.vue.cjs.map +1 -0
  3. package/dist/cjs/components/date/RangePicker.vue2.cjs +89 -0
  4. package/dist/cjs/components/date/RangePicker.vue2.cjs.map +1 -0
  5. package/dist/cjs/components/date/index.cjs +13 -0
  6. package/dist/cjs/components/date/index.cjs.map +1 -0
  7. package/dist/cjs/components/form/FormLayout.cjs +202 -0
  8. package/dist/cjs/components/form/FormLayout.cjs.map +1 -0
  9. package/dist/cjs/components/form/index.cjs +12 -0
  10. package/dist/cjs/components/form/index.cjs.map +1 -0
  11. package/dist/cjs/components/index.cjs +6 -0
  12. package/dist/cjs/components/index.cjs.map +1 -1
  13. package/dist/cjs/components/layout/List.cjs +63 -24
  14. package/dist/cjs/components/layout/List.cjs.map +1 -1
  15. package/dist/cjs/index.cjs +4 -0
  16. package/dist/cjs/index.cjs.map +1 -1
  17. package/dist/css/index.css +1 -1
  18. package/dist/esm/components/date/RangePicker.vue.mjs +6 -0
  19. package/dist/esm/components/date/RangePicker.vue.mjs.map +1 -0
  20. package/dist/esm/components/date/RangePicker.vue2.mjs +85 -0
  21. package/dist/esm/components/date/RangePicker.vue2.mjs.map +1 -0
  22. package/dist/esm/components/date/index.mjs +11 -0
  23. package/dist/esm/components/date/index.mjs.map +1 -0
  24. package/dist/esm/components/form/FormLayout.mjs +198 -0
  25. package/dist/esm/components/form/FormLayout.mjs.map +1 -0
  26. package/dist/esm/components/form/index.mjs +10 -0
  27. package/dist/esm/components/form/index.mjs.map +1 -0
  28. package/dist/esm/components/index.mjs +4 -0
  29. package/dist/esm/components/index.mjs.map +1 -1
  30. package/dist/esm/components/layout/List.mjs +64 -25
  31. package/dist/esm/components/layout/List.mjs.map +1 -1
  32. package/dist/esm/index.mjs +2 -0
  33. package/dist/esm/index.mjs.map +1 -1
  34. package/dist/style/index.scss +7 -0
  35. package/dist/types/components/date/RangePicker.vue.d.ts +293 -0
  36. package/dist/types/components/date/RangePicker.vue.d.ts.map +1 -0
  37. package/dist/types/components/date/index.d.ts +3 -0
  38. package/dist/types/components/date/index.d.ts.map +1 -0
  39. package/dist/types/components/form/FormLayout.d.ts +49 -0
  40. package/dist/types/components/form/FormLayout.d.ts.map +1 -0
  41. package/dist/types/components/form/index.d.ts +3 -0
  42. package/dist/types/components/form/index.d.ts.map +1 -0
  43. package/dist/types/components/index.d.ts +2 -0
  44. package/dist/types/components/index.d.ts.map +1 -1
  45. package/dist/types/components/layout/List.d.ts.map +1 -1
  46. package/package.json +3 -3
@@ -1 +1 @@
1
- .d-tabs-nav{flex:1;overflow:hidden}.d-tabs-nav .ant-tabs-nav{margin-bottom:0 !important}.d-tabs-nav .ant-tabs-nav:before{border-bottom-width:0}.d-tabs-nav .ant-tabs-nav-operations{display:none !important}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab{position:relative;transition:none !important;border:0;background:rgba(0,0,0,0)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:first-child{margin-left:20px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:first-child .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:nth-last-child(2){margin-right:20px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:before,.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:after{position:absolute;bottom:-1px;content:"";width:30px;height:30px;border-radius:100%;box-shadow:0 0 0 40px rgba(0,0,0,0)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:before{left:-30px;clip-path:inset(50% -10px 0 50%)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:after{right:-30px;clip-path:inset(50% 50% 0 -10px)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active{border-radius:10px 10px 0 0 !important;background:var(--active-tab-color)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active:before,.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active:after{z-index:10;box-shadow:0 0 0 30px var(--active-tab-color)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-hover-bg{position:absolute;display:flex;flex-direction:column;justify-content:center;top:0;right:0;bottom:0;left:0;z-index:-1}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-hover-bg:before{content:"";width:100%;height:25px;border-radius:6px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active)+.ant-tabs-tab .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:not(.ant-tabs-tab-active) .close-btn{color:#fff}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:not(.ant-tabs-tab-active) .tab-item{color:#fff}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab-active+.ant-tabs-tab .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab-btn{display:flex;align-items:center}.d-tabs-nav .tab-close{position:absolute;top:0;right:0;bottom:0;padding:4px;display:flex;align-items:center;justify-content:center}.d-tabs-nav .tab-close .close-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;z-index:20}.d-tabs-nav .tab-close .anticon{margin:0}.d-tabs-nav .tab-item{padding-right:30px}.d-tabs-nav .tab-dividers{position:absolute;z-index:0;height:14px;left:-2px}.d-tabs-nav .tab-dividers::before{content:"";display:block;position:absolute;top:0;left:1px;bottom:0;width:1px;opacity:1;background-color:var(--splitColor);border-radius:10px;transition:opacity .2s ease,background-color .3s}.search-popover-wrapper .ant-popover-inner{padding:0}.ant-pro-drawer-setting-handle{position:fixed;inset-block-start:240px;inset-inline-end:0;z-index:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:16px;text-align:center;backdrop-filter:saturate(180%) blur(20px);cursor:pointer;pointer-events:auto}.ant-pro-drawer-setting-handle .icon{color:#fff}.ant-pro-drawer-setting-handle-icon-dark{color:#e5e0d8}.ant-pro-drawer-setting-theme-color{margin-top:16px;overflow:hidden}.ant-pro-drawer-setting-theme-color-block{float:left;width:20px;height:20px;margin-top:8px;margin-right:8px;font-weight:700;display:flex;color:#fff;align-items:center;justify-content:center;border-radius:2px;cursor:pointer}.ant-pro-drawer-setting-block-checkbox{display:flex;min-height:42px}.ant-pro-drawer-setting-block-checkbox-selectIcon{position:absolute;right:6px;bottom:4px;font-weight:700;font-size:14px;pointer-events:none}.ant-pro-drawer-setting-block-checkbox-item{position:relative;width:44px;height:36px;margin-right:16px;overflow:hidden;background-color:#f0f2f5;border-radius:4px;box-shadow:0 1px 2.5px 0 rgba(0,0,0,.18);cursor:pointer}.ant-pro-drawer-setting-block-checkbox-item::before{position:absolute;top:0;left:0;width:33%;height:100%;background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item::after{position:absolute;top:0;left:0;width:100%;height:25%;background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-dark{background-color:rgba(0,21,41,.85)}.ant-pro-drawer-setting-block-checkbox-item-dark::before{background-color:rgba(0,21,41,.65);content:""}.ant-pro-drawer-setting-block-checkbox-item-dark::after{background-color:rgba(0,21,41,.85)}.ant-pro-drawer-setting-block-checkbox-item-light::before{background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-light::after{background-color:#fff}.ant-pro-drawer-setting-block-checkbox-item-inverted::before,.ant-pro-drawer-setting-block-checkbox-item-side::before{z-index:1;background-color:#001529;content:""}.ant-pro-drawer-setting-block-checkbox-item-inverted::after,.ant-pro-drawer-setting-block-checkbox-item-side::after{background-color:#fff}.ant-pro-drawer-setting-block-checkbox-item-top::before{background-color:rgba(0,0,0,0);content:""}.ant-pro-drawer-setting-block-checkbox-item-top::after{background-color:#001529}.ant-pro-drawer-setting-block-checkbox-item-mix::before{background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-mix::after{background-color:#001529}.ant-pro-drawer-setting-block-checkbox-theme-item{background:#2a2c2c;box-shadow:rgba(13,13,13,.18) 0px 1px 2.5px 0px}.ant-pro-drawer-setting-block-checkbox-theme-item-light::before,.ant-pro-drawer-setting-block-checkbox-theme-item-light::after{background-color:#242525}.ant-pro-drawer-setting-block-checkbox-theme-item-dark::before,.ant-pro-drawer-setting-block-checkbox-theme-item-dark::after{background-color:rgba(15,28,41,.65)}.ant-pro-drawer-setting-block-checkbox-theme-item-side::before,.ant-pro-drawer-setting-block-checkbox-theme-item-inverted::before{background-color:#0f1c29}.ant-pro-drawer-setting-block-checkbox-theme-item-side::after,.ant-pro-drawer-setting-block-checkbox-theme-item-inverted::after{background-color:#242525}.ant-pro-drawer-setting-block-checkbox-theme-item-mix::before{background-color:#242525}
1
+ .d-tabs-nav{flex:1;overflow:hidden}.d-tabs-nav .ant-tabs-nav{margin-bottom:0 !important}.d-tabs-nav .ant-tabs-nav:before{border-bottom-width:0}.d-tabs-nav .ant-tabs-nav-operations{display:none !important}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab{position:relative;transition:none !important;border:0;background:rgba(0,0,0,0)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:first-child{margin-left:20px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:first-child .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:nth-last-child(2){margin-right:20px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:before,.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:after{position:absolute;bottom:-1px;content:"";width:30px;height:30px;border-radius:100%;box-shadow:0 0 0 40px rgba(0,0,0,0)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:before{left:-30px;clip-path:inset(50% -10px 0 50%)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:after{right:-30px;clip-path:inset(50% 50% 0 -10px)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active{border-radius:10px 10px 0 0 !important;background:var(--active-tab-color)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active:before,.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab.ant-tabs-tab-active:after{z-index:10;box-shadow:0 0 0 30px var(--active-tab-color)}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-hover-bg{position:absolute;display:flex;flex-direction:column;justify-content:center;top:0;right:0;bottom:0;left:0;z-index:-1}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-hover-bg:before{content:"";width:100%;height:25px;border-radius:6px}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active) .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:hover:not(.ant-tabs-tab-active)+.ant-tabs-tab .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:not(.ant-tabs-tab-active) .close-btn{color:#fff}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab:not(.ant-tabs-tab-active) .tab-item{color:#fff}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab-active+.ant-tabs-tab .tab-dividers::before{opacity:0}.d-tabs-nav .ant-tabs-nav-list .ant-tabs-tab-btn{display:flex;align-items:center}.d-tabs-nav .tab-close{position:absolute;top:0;right:0;bottom:0;padding:4px;display:flex;align-items:center;justify-content:center}.d-tabs-nav .tab-close .close-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;z-index:20}.d-tabs-nav .tab-close .anticon{margin:0}.d-tabs-nav .tab-item{padding-right:30px}.d-tabs-nav .tab-dividers{position:absolute;z-index:0;height:14px;left:-2px}.d-tabs-nav .tab-dividers::before{content:"";display:block;position:absolute;top:0;left:1px;bottom:0;width:1px;opacity:1;background-color:var(--splitColor);border-radius:10px;transition:opacity .2s ease,background-color .3s}.search-popover-wrapper .ant-popover-inner{padding:0}.ant-pro-drawer-setting-handle{position:fixed;inset-block-start:240px;inset-inline-end:0;z-index:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:16px;text-align:center;backdrop-filter:saturate(180%) blur(20px);cursor:pointer;pointer-events:auto}.ant-pro-drawer-setting-handle .icon{color:#fff}.ant-pro-drawer-setting-handle-icon-dark{color:#e5e0d8}.ant-pro-drawer-setting-theme-color{margin-top:16px;overflow:hidden}.ant-pro-drawer-setting-theme-color-block{float:left;width:20px;height:20px;margin-top:8px;margin-right:8px;font-weight:700;display:flex;color:#fff;align-items:center;justify-content:center;border-radius:2px;cursor:pointer}.ant-pro-drawer-setting-block-checkbox{display:flex;min-height:42px}.ant-pro-drawer-setting-block-checkbox-selectIcon{position:absolute;right:6px;bottom:4px;font-weight:700;font-size:14px;pointer-events:none}.ant-pro-drawer-setting-block-checkbox-item{position:relative;width:44px;height:36px;margin-right:16px;overflow:hidden;background-color:#f0f2f5;border-radius:4px;box-shadow:0 1px 2.5px 0 rgba(0,0,0,.18);cursor:pointer}.ant-pro-drawer-setting-block-checkbox-item::before{position:absolute;top:0;left:0;width:33%;height:100%;background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item::after{position:absolute;top:0;left:0;width:100%;height:25%;background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-dark{background-color:rgba(0,21,41,.85)}.ant-pro-drawer-setting-block-checkbox-item-dark::before{background-color:rgba(0,21,41,.65);content:""}.ant-pro-drawer-setting-block-checkbox-item-dark::after{background-color:rgba(0,21,41,.85)}.ant-pro-drawer-setting-block-checkbox-item-light::before{background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-light::after{background-color:#fff}.ant-pro-drawer-setting-block-checkbox-item-inverted::before,.ant-pro-drawer-setting-block-checkbox-item-side::before{z-index:1;background-color:#001529;content:""}.ant-pro-drawer-setting-block-checkbox-item-inverted::after,.ant-pro-drawer-setting-block-checkbox-item-side::after{background-color:#fff}.ant-pro-drawer-setting-block-checkbox-item-top::before{background-color:rgba(0,0,0,0);content:""}.ant-pro-drawer-setting-block-checkbox-item-top::after{background-color:#001529}.ant-pro-drawer-setting-block-checkbox-item-mix::before{background-color:#fff;content:""}.ant-pro-drawer-setting-block-checkbox-item-mix::after{background-color:#001529}.ant-pro-drawer-setting-block-checkbox-theme-item{background:#2a2c2c;box-shadow:rgba(13,13,13,.18) 0px 1px 2.5px 0px}.ant-pro-drawer-setting-block-checkbox-theme-item-light::before,.ant-pro-drawer-setting-block-checkbox-theme-item-light::after{background-color:#242525}.ant-pro-drawer-setting-block-checkbox-theme-item-dark::before,.ant-pro-drawer-setting-block-checkbox-theme-item-dark::after{background-color:rgba(15,28,41,.65)}.ant-pro-drawer-setting-block-checkbox-theme-item-side::before,.ant-pro-drawer-setting-block-checkbox-theme-item-inverted::before{background-color:#0f1c29}.ant-pro-drawer-setting-block-checkbox-theme-item-side::after,.ant-pro-drawer-setting-block-checkbox-theme-item-inverted::after{background-color:#242525}.ant-pro-drawer-setting-block-checkbox-theme-item-mix::before{background-color:#242525}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0 !important;display:none}
@@ -0,0 +1,6 @@
1
+ import _sfc_main from './RangePicker.vue2.mjs';
2
+
3
+ "use strict";
4
+
5
+ export { _sfc_main as default };
6
+ //# sourceMappingURL=RangePicker.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangePicker.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,85 @@
1
+ import { defineComponent, ref, watch, resolveComponent, createBlock, openBlock } from 'vue';
2
+ import dayjs from '../../_virtual/dayjs.min.mjs';
3
+
4
+ "use strict";
5
+ var __defProp = Object.defineProperty;
6
+ var __defProps = Object.defineProperties;
7
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var _sfc_main = /* @__PURE__ */ defineComponent({
25
+ __name: "RangePicker",
26
+ props: {
27
+ value: { type: Object, required: true, default: () => ({}) },
28
+ startField: { type: String, required: false, default: "startTime" },
29
+ endField: { type: String, required: false, default: "endTime" },
30
+ format: { type: String, required: false, default: "YYYY-MM-DD" }
31
+ },
32
+ emits: ["update:value", "change"],
33
+ setup(__props, { emit: __emit }) {
34
+ const props = __props;
35
+ const emits = __emit;
36
+ const innerValue = ref(null);
37
+ watch(
38
+ () => props.value,
39
+ (newVal) => {
40
+ if (newVal[props.startField] && newVal[props.endField]) {
41
+ innerValue.value = [
42
+ dayjs(newVal[props.startField]),
43
+ dayjs(newVal[props.endField])
44
+ ];
45
+ } else {
46
+ innerValue.value = null;
47
+ }
48
+ },
49
+ { immediate: true }
50
+ );
51
+ const handleChange = (dates) => {
52
+ if (dates && dates.length === 2) {
53
+ const [startTime, endTime] = dates;
54
+ const formattedValue = __spreadProps(__spreadValues({}, props.value), {
55
+ // 保留原对象的所有属性
56
+ [props.startField]: startTime ? startTime.format(props.format) : null,
57
+ [props.endField]: endTime ? endTime.format(props.format) : null
58
+ });
59
+ emits("update:value", formattedValue);
60
+ emits("change", formattedValue);
61
+ } else {
62
+ const formattedValue = __spreadProps(__spreadValues({}, props.value), {
63
+ // 保留原对象的所有属性
64
+ [props.startField]: null,
65
+ [props.endField]: null
66
+ });
67
+ emits("update:value", formattedValue);
68
+ emits("change", formattedValue);
69
+ }
70
+ };
71
+ return (_ctx, _cache) => {
72
+ const _component_a_range_picker = resolveComponent("a-range-picker");
73
+ return openBlock(), createBlock(_component_a_range_picker, {
74
+ style: { "width": "100%" },
75
+ value: innerValue.value,
76
+ "onUpdate:value": _cache[0] || (_cache[0] = ($event) => innerValue.value = $event),
77
+ placeholder: ["\u5F00\u59CB\u65F6\u95F4", "\u7ED3\u675F\u65F6\u95F4"],
78
+ onChange: handleChange
79
+ }, null, 8, ["value"]);
80
+ };
81
+ }
82
+ });
83
+
84
+ export { _sfc_main as default };
85
+ //# sourceMappingURL=RangePicker.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangePicker.vue2.mjs","sources":["../../../../src/components/date/RangePicker.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, watch } from \"vue\";\r\n\r\nimport type { RangeValue } from \"ant-design-vue/es/vc-picker/interface\";\r\nimport type { Dayjs } from \"dayjs\";\r\nimport dayjs from \"dayjs\";\r\n\r\n// 定义 props 类型\r\ninterface Props {\r\n value: Record<string, unknown>; // 使用 any 以兼容任意字段\r\n startField?: string;\r\n endField?: string;\r\n format?: string;\r\n}\r\n\r\nconst props = defineProps({\n value: { type: Object, required: true, default: () => ({}) },\n startField: { type: String, required: false, default: \"startTime\" },\n endField: { type: String, required: false, default: \"endTime\" },\n format: { type: String, required: false, default: \"YYYY-MM-DD\" }\n});\r\n\r\n// 定义 emits 类型\r\nconst emits = defineEmits([\"update:value\", \"change\"]);\r\n\r\n// 定义 innerValue 的类型为 RangeValue<Dayjs>\r\nconst innerValue = ref<RangeValue<Dayjs>>(null);\r\n\r\n// 监听外部 value 变化,更新内部值\r\nwatch(\r\n () => props.value,\r\n newVal => {\r\n if (newVal[props.startField] && newVal[props.endField]) {\r\n innerValue.value = [\r\n dayjs(newVal[props.startField] as string),\r\n dayjs(newVal[props.endField] as string)\r\n ];\r\n } else {\r\n innerValue.value = null;\r\n }\r\n },\r\n { immediate: true }\r\n);\r\n\r\n// 处理日期变化\r\nconst handleChange = (dates: RangeValue<Dayjs>) => {\r\n if (dates && dates.length === 2) {\r\n const [startTime, endTime] = dates;\r\n\r\n // 创建一个新对象,保留原 params 的其他属性\r\n const formattedValue = {\r\n ...props.value, // 保留原对象的所有属性\r\n [props.startField]: startTime ? startTime.format(props.format) : null,\r\n [props.endField]: endTime ? endTime.format(props.format) : null\r\n };\r\n\r\n emits(\"update:value\", formattedValue);\r\n emits(\"change\", formattedValue);\r\n } else {\r\n // 如果日期为空,则清空 startField 和 endField\r\n const formattedValue = {\r\n ...props.value, // 保留原对象的所有属性\r\n [props.startField]: null,\r\n [props.endField]: null\r\n };\r\n\r\n emits(\"update:value\", formattedValue);\r\n emits(\"change\", formattedValue);\r\n }\r\n};\r\n</script>\r\n\r\n<template>\r\n <a-range-picker\r\n style=\"width: 100%\"\r\n v-model:value=\"innerValue\"\r\n :placeholder=\"['开始时间', '结束时间']\"\r\n @change=\"handleChange\"\r\n />\r\n</template>\r\n\r\n<style scoped></style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAQd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAGd,IAAM,MAAA,UAAA,GAAa,IAAuB,IAAI,CAAA;AAG9C,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACR,QAAA,IAAI,OAAO,KAAM,CAAA,UAAU,KAAK,MAAO,CAAA,KAAA,CAAM,QAAQ,CAAG,EAAA;AACtD,UAAA,UAAA,CAAW,KAAQ,GAAA;AAAA,YACjB,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,UAAU,CAAW,CAAA;AAAA,YACxC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,QAAQ,CAAW;AAAA,WACxC;AAAA,SACK,MAAA;AACL,UAAA,UAAA,CAAW,KAAQ,GAAA,IAAA;AAAA;AACrB,OACF;AAAA,MACA,EAAE,WAAW,IAAK;AAAA,KACpB;AAGA,IAAM,MAAA,YAAA,GAAe,CAAC,KAA6B,KAAA;AACjD,MAAI,IAAA,KAAA,IAAS,KAAM,CAAA,MAAA,KAAW,CAAG,EAAA;AAC/B,QAAM,MAAA,CAAC,SAAW,EAAA,OAAO,CAAI,GAAA,KAAA;AAG7B,QAAM,MAAA,cAAA,GAAiB,aAClB,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAM,KADY,CAAA,EAAA;AAAA;AAAA,UAErB,CAAC,MAAM,UAAU,GAAG,YAAY,SAAU,CAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAI,GAAA,IAAA;AAAA,UACjE,CAAC,MAAM,QAAQ,GAAG,UAAU,OAAQ,CAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAI,GAAA;AAAA,SAC7D,CAAA;AAEA,QAAA,KAAA,CAAM,gBAAgB,cAAc,CAAA;AACpC,QAAA,KAAA,CAAM,UAAU,cAAc,CAAA;AAAA,OACzB,MAAA;AAEL,QAAM,MAAA,cAAA,GAAiB,aAClB,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAM,KADY,CAAA,EAAA;AAAA;AAAA,UAErB,CAAC,KAAM,CAAA,UAAU,GAAG,IAAA;AAAA,UACpB,CAAC,KAAM,CAAA,QAAQ,GAAG;AAAA,SACpB,CAAA;AAEA,QAAA,KAAA,CAAM,gBAAgB,cAAc,CAAA;AACpC,QAAA,KAAA,CAAM,UAAU,cAAc,CAAA;AAAA;AAChC,KACF;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,11 @@
1
+ import './RangePicker.vue.mjs';
2
+ import _sfc_main from './RangePicker.vue2.mjs';
3
+
4
+ "use strict";
5
+ _sfc_main.install = function(app) {
6
+ app.component("DRangePicker", _sfc_main);
7
+ return app;
8
+ };
9
+
10
+ export { _sfc_main as RangePicker };
11
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/components/date/index.ts"],"sourcesContent":["import type { App } from \"vue\";\r\n\r\nimport RangePicker from \"./RangePicker.vue\";\r\n\r\nRangePicker.install = function (app: App) {\r\n app.component(\"DRangePicker\", RangePicker);\r\n return app;\r\n};\r\n\r\nexport { RangePicker };\r\n"],"names":["RangePicker"],"mappings":";;;;AAIAA,SAAY,CAAA,OAAA,GAAU,SAAU,GAAU,EAAA;AACxC,EAAI,GAAA,CAAA,SAAA,CAAU,gBAAgBA,SAAW,CAAA;AACzC,EAAO,OAAA,GAAA;AACT,CAAA;;;;"}
@@ -0,0 +1,198 @@
1
+ import { defineComponent, ref, watchEffect, watch, createVNode, onMounted } from 'vue';
2
+ import { Space, Button, Form, Row, Col, FormItem } from 'ant-design-vue';
3
+ import { SearchOutlined, ReloadOutlined, DoubleRightOutlined } from '@ant-design/icons-vue';
4
+
5
+ "use strict";
6
+ var FormLayout = /* @__PURE__ */ defineComponent({
7
+ name: "DQueryForm",
8
+ props: {
9
+ scheme: {
10
+ type: [Array, Object],
11
+ default: () => []
12
+ },
13
+ model: {
14
+ type: Object,
15
+ default: () => ({})
16
+ },
17
+ labelWidth: {
18
+ type: String,
19
+ default: "90px"
20
+ },
21
+ loading: {
22
+ type: Boolean,
23
+ default: false
24
+ }
25
+ },
26
+ emits: ["reset", "query"],
27
+ setup(props, {
28
+ slots,
29
+ emit
30
+ }) {
31
+ const {
32
+ loading,
33
+ modelValue,
34
+ formRef,
35
+ onQuery,
36
+ onReset,
37
+ onKeyup
38
+ } = useForm();
39
+ const {
40
+ rowRef,
41
+ actionSpan,
42
+ onExpend,
43
+ expendBtnVisible,
44
+ isExpend
45
+ } = useExpand();
46
+ const {
47
+ renderAction
48
+ } = useRender();
49
+ function useForm() {
50
+ const loading2 = ref(false);
51
+ const formRef2 = ref(null);
52
+ const modelValue2 = ref({});
53
+ watchEffect(() => {
54
+ modelValue2.value = props.model;
55
+ });
56
+ watch(() => props.loading, (val) => {
57
+ loading2.value = val;
58
+ });
59
+ const onQuery2 = () => {
60
+ emit("query", modelValue2.value);
61
+ };
62
+ const onReset2 = () => {
63
+ var _a;
64
+ (_a = formRef2.value) == null ? void 0 : _a.resetFields();
65
+ emit("reset");
66
+ };
67
+ const onKeyup2 = (event) => {
68
+ if (event.keyCode === 13) {
69
+ if (!loading2.value) {
70
+ emit("query", modelValue2.value);
71
+ }
72
+ }
73
+ };
74
+ return {
75
+ loading: loading2,
76
+ modelValue: modelValue2,
77
+ formRef: formRef2,
78
+ onQuery: onQuery2,
79
+ onReset: onReset2,
80
+ onKeyup: onKeyup2
81
+ };
82
+ }
83
+ function useRender() {
84
+ function renderAction2() {
85
+ return createVNode(Space, null, {
86
+ default: () => [createVNode(Button, {
87
+ "loading": loading.value,
88
+ "type": "primary",
89
+ "shape": "round",
90
+ "onClick": onQuery
91
+ }, {
92
+ default: () => "\u67E5\u8BE2",
93
+ icon: () => createVNode(SearchOutlined, null, null)
94
+ }), createVNode(Button, {
95
+ "disabled": loading.value,
96
+ "shape": "round",
97
+ "onClick": onReset
98
+ }, {
99
+ default: () => "\u91CD\u7F6E",
100
+ icon: () => createVNode(ReloadOutlined, null, null)
101
+ }), expendBtnVisible.value ? createVNode(Button, {
102
+ "onClick": onExpend,
103
+ "shape": "round"
104
+ }, {
105
+ default: () => isExpend.value ? "\u6536\u8D77" : "\u5C55\u5F00",
106
+ icon: () => createVNode(DoubleRightOutlined, {
107
+ "rotate": isExpend.value ? -90 : 90
108
+ }, null)
109
+ }) : null]
110
+ });
111
+ }
112
+ return {
113
+ renderAction: renderAction2
114
+ };
115
+ }
116
+ function useExpand() {
117
+ const gridCount = 24;
118
+ const colSpan = 6;
119
+ const colsPerRow = 4;
120
+ const actionSpan2 = ref(6);
121
+ const isExpend2 = ref(false);
122
+ const expendBtnVisible2 = ref(false);
123
+ const rowRef2 = ref(null);
124
+ onMounted(() => {
125
+ handleShowOrHidden();
126
+ });
127
+ function onExpend2() {
128
+ isExpend2.value = !isExpend2.value;
129
+ handleShowOrHidden();
130
+ }
131
+ function handleShowOrHidden() {
132
+ var _a, _b;
133
+ const colEl = Array.from((_b = (_a = rowRef2.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.children);
134
+ const colElLen = colEl.length - 1;
135
+ const occupiedCols = colElLen * colSpan;
136
+ const fullRows = Math.ceil(colElLen / colsPerRow);
137
+ const lastRowCols = occupiedCols % gridCount;
138
+ const remainingCols = gridCount - lastRowCols;
139
+ if (fullRows > 2) {
140
+ expendBtnVisible2.value = true;
141
+ } else {
142
+ actionSpan2.value = remainingCols;
143
+ }
144
+ const lastRowStartIndex = colsPerRow * (fullRows - 1) - 1;
145
+ if (expendBtnVisible2.value) {
146
+ colEl.forEach((col, index) => {
147
+ if (index >= lastRowStartIndex) {
148
+ index !== colElLen ? col.style.display = !isExpend2.value ? "none" : "block" : null;
149
+ }
150
+ });
151
+ }
152
+ if (expendBtnVisible2.value) {
153
+ isExpend2.value ? actionSpan2.value = remainingCols : actionSpan2.value = colSpan;
154
+ }
155
+ }
156
+ return {
157
+ rowRef: rowRef2,
158
+ actionSpan: actionSpan2,
159
+ onExpend: onExpend2,
160
+ expendBtnVisible: expendBtnVisible2,
161
+ isExpend: isExpend2
162
+ };
163
+ }
164
+ return () => createVNode("div", {
165
+ "onKeyup": onKeyup
166
+ }, [createVNode(Form, {
167
+ "ref": formRef,
168
+ "colon": false,
169
+ "labelCol": {
170
+ style: {
171
+ width: props.labelWidth
172
+ }
173
+ },
174
+ "model": modelValue.value
175
+ }, {
176
+ default: () => [createVNode(Row, {
177
+ "ref": rowRef
178
+ }, {
179
+ default: () => {
180
+ var _a;
181
+ return [(_a = slots.default) == null ? void 0 : _a.call(slots), createVNode(Col, {
182
+ "span": actionSpan.value,
183
+ "style": {
184
+ textAlign: "right"
185
+ }
186
+ }, {
187
+ default: () => [createVNode(FormItem, null, {
188
+ default: () => [slots.action ? slots.action() : renderAction()]
189
+ })]
190
+ })];
191
+ }
192
+ })]
193
+ })]);
194
+ }
195
+ });
196
+
197
+ export { FormLayout as default };
198
+ //# sourceMappingURL=FormLayout.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormLayout.mjs","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":["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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"}
@@ -0,0 +1,10 @@
1
+ import FormLayout from './FormLayout.mjs';
2
+
3
+ "use strict";
4
+ FormLayout.install = function(app) {
5
+ app.component(FormLayout.name, FormLayout);
6
+ return app;
7
+ };
8
+
9
+ export { FormLayout };
10
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/components/form/index.ts"],"sourcesContent":["import FormLayout from \"./FormLayout\";\r\nimport type { App } from \"vue\";\r\n\r\nFormLayout.install = function (app: App) {\r\n app.component(FormLayout.name!, FormLayout);\r\n return app;\r\n};\r\n\r\nexport { FormLayout };\r\n"],"names":[],"mappings":";;;AAGA,UAAW,CAAA,OAAA,GAAU,SAAU,GAAU,EAAA;AACvC,EAAI,GAAA,CAAA,SAAA,CAAU,UAAW,CAAA,IAAA,EAAO,UAAU,CAAA;AAC1C,EAAO,OAAA,GAAA;AACT,CAAA;;;;"}
@@ -1,3 +1,5 @@
1
+ import './date/index.mjs';
2
+ import './form/index.mjs';
1
3
  import './icon/index.mjs';
2
4
  import './layout/index.mjs';
3
5
  import './select/index.mjs';
@@ -6,6 +8,8 @@ import './table/index.mjs';
6
8
  export { default as Select } from './select/Select.vue2.mjs';
7
9
  export { default as Tab } from './tab/Tab.vue2.mjs';
8
10
  export { default as Table } from './table/Table.mjs';
11
+ export { default as RangePicker } from './date/RangePicker.vue2.mjs';
12
+ export { default as FormLayout } from './form/FormLayout.mjs';
9
13
  export { default as Moon } from './icon/Moon.vue.mjs';
10
14
  export { default as Sun } from './icon/Sun.vue.mjs';
11
15
  export { default as Layout } from './layout/Layout.vue2.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { isVNode, defineComponent, computed, onMounted, ref, nextTick, watch, onUnmounted, onActivated, onDeactivated, createVNode } from 'vue';
2
2
  import { useRoute } from 'vue-router';
3
- import { Flex, Card, Space } from 'ant-design-vue';
3
+ import { Card, Flex, Space } from 'ant-design-vue';
4
4
  import { storeToRefs } from 'pinia';
5
5
  import { useElementSize } from '@vueuse/core';
6
6
  import { useAppStore } from '@ditari/store';
@@ -59,6 +59,19 @@ const list = /* @__PURE__ */ defineComponent({
59
59
  const cardStyle = css`
60
60
  box-shadow: none !important;
61
61
  `;
62
+ const leftCardStyle = css`
63
+ .ant-card-body {
64
+ overflow-y: scroll;
65
+ -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */
66
+ scrollbar-width: none; /* 对 Firefox 生效 */
67
+
68
+ /* Webkit 浏览器 */
69
+
70
+ ::-webkit-scrollbar {
71
+ display: none;
72
+ }
73
+ }
74
+ `;
62
75
  const listStyle = computed(() => css``);
63
76
  onMounted(() => {
64
77
  playTableHeight();
@@ -125,29 +138,27 @@ const list = /* @__PURE__ */ defineComponent({
125
138
  });
126
139
  }
127
140
  }
128
- return () => {
129
- let _slot;
130
- return createVNode(Flex, {
131
- "vertical": true,
132
- "class": listStyle.value,
133
- "style": {
134
- height: "100%",
135
- padding: "24px"
136
- }
137
- }, {
138
- default: () => [slots.form && createVNode(Card, {
139
- "class": cardStyle,
140
- "ref": formRef,
141
- "style": {
142
- marginBottom: "20px"
143
- },
144
- "bodyStyle": {
145
- padding: "24px 24px 0 24px"
146
- },
147
- "bordered": false
148
- }, _isSlot(_slot = slots.form()) ? _slot : {
149
- default: () => [_slot]
150
- }), createVNode(Flex, {
141
+ function useLayout() {
142
+ function formLayout() {
143
+ return () => {
144
+ let _slot;
145
+ return slots.form && createVNode(Card, {
146
+ "class": cardStyle,
147
+ "ref": formRef,
148
+ "style": {
149
+ marginBottom: "10px"
150
+ },
151
+ "bodyStyle": {
152
+ padding: "10px 10px 0 10px"
153
+ },
154
+ "bordered": false
155
+ }, _isSlot(_slot = slots.form()) ? _slot : {
156
+ default: () => [_slot]
157
+ });
158
+ };
159
+ }
160
+ function tableLayout() {
161
+ return () => createVNode(Flex, {
151
162
  "flex": 1,
152
163
  "vertical": true
153
164
  }, {
@@ -200,9 +211,37 @@ const list = /* @__PURE__ */ defineComponent({
200
211
  })]
201
212
  })]
202
213
  })]
214
+ });
215
+ }
216
+ return createVNode(Flex, {
217
+ "class": listStyle.value,
218
+ "gap": 10,
219
+ "style": {
220
+ height: "100%",
221
+ padding: "10px"
222
+ }
223
+ }, {
224
+ default: () => [slots.left ? createVNode(Card, {
225
+ "class": [cardStyle, leftCardStyle],
226
+ "bordered": false,
227
+ "bodyStyle": {
228
+ height: "100%",
229
+ padding: "10px"
230
+ }
231
+ }, {
232
+ default: () => {
233
+ var _a;
234
+ return [(_a = slots.left) == null ? void 0 : _a.call(slots)];
235
+ }
236
+ }) : null, createVNode(Flex, {
237
+ "vertical": true,
238
+ "flex": 1
239
+ }, {
240
+ default: () => [formLayout()(), tableLayout()()]
203
241
  })]
204
242
  });
205
- };
243
+ }
244
+ return () => useLayout();
206
245
  }
207
246
  });
208
247
 
@@ -1 +1 @@
1
- {"version":3,"file":"List.mjs","sources":["../../../../src/components/layout/List.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n onActivated,\r\n onDeactivated,\r\n onMounted,\r\n onUnmounted,\r\n ref,\r\n watch,\r\n type WatchStopHandle\r\n} from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { Card, Flex, Space } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useElementSize } from \"@vueuse/core\";\r\n\r\nimport { useAppStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nconst tableRootStyle = css`\r\n height: 100%;\r\n position: relative;\r\n overflow: hidden;\r\n`;\r\n\r\nconst list = defineComponent({\r\n name: \"DListLayout\",\r\n emits: [\"refresh\"],\r\n setup(_, { slots, emit }) {\r\n const route = useRoute();\r\n const { refresh } = storeToRefs(useAppStore());\r\n const { tableRef, height, tableVisible, playTableHeight } =\r\n useTableHeight();\r\n const { formRef } = useForm();\r\n useReload();\r\n // 使用 computed 来动态计算样式\r\n const maskDivStyle = computed(() => {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n background: white;\r\n display: ${tableVisible.value ? \"block\" : \"none\"};\r\n `;\r\n });\r\n\r\n const tableWrapperStyle = css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n overflow: hidden;\r\n `;\r\n\r\n const cardStyle = css`\r\n box-shadow: none !important;\r\n `;\r\n\r\n const 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 return () => (\r\n <Flex\r\n vertical={true}\r\n class={listStyle.value}\r\n style={{ height: \"100%\", padding: \"24px\" }}\r\n >\r\n {slots.form && (\r\n <Card\r\n class={cardStyle}\r\n ref={formRef}\r\n style={{ marginBottom: \"20px\" }}\r\n bodyStyle={{ padding: \"24px 24px 0 24px\" }}\r\n bordered={false}\r\n >\r\n {slots.form()}\r\n </Card>\r\n )}\r\n\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 </Flex>\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","name","emits","setup","_","slots","emit","route","useRoute","refresh","storeToRefs","useAppStore","tableRef","height","tableVisible","playTableHeight","useTableHeight","formRef","useForm","useReload","maskDivStyle","computed","value","tableWrapperStyle","cardStyle","listStyle","onMounted","ref","$el","offsetHeight","nextTick","setTimeout","formHeight","useElementSize","watch","stopHandleWatch","_useWatch","onUnmounted","onActivated","onDeactivated","val","_slot","_createVNode","Flex","padding","default","form","Card","marginBottom","Space","tools","table"],"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 nextTick,\r\n onActivated,\r\n onDeactivated,\r\n onMounted,\r\n onUnmounted,\r\n ref,\r\n watch,\r\n type WatchStopHandle\r\n} from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { Card, Flex, Space } from \"ant-design-vue\";\r\nimport { storeToRefs } from \"pinia\";\r\nimport { useElementSize } from \"@vueuse/core\";\r\n\r\nimport { useAppStore } from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nconst tableRootStyle = css`\r\n height: 100%;\r\n position: relative;\r\n overflow: hidden;\r\n`;\r\n\r\nconst list = defineComponent({\r\n name: \"DListLayout\",\r\n emits: [\"refresh\"],\r\n setup(_, { slots, emit }) {\r\n const route = useRoute();\r\n const { refresh } = storeToRefs(useAppStore());\r\n const { tableRef, height, tableVisible, playTableHeight } =\r\n useTableHeight();\r\n const { formRef } = useForm();\r\n useReload();\r\n // 使用 computed 来动态计算样式\r\n const maskDivStyle = computed(() => {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1;\r\n background: white;\r\n display: ${tableVisible.value ? \"block\" : \"none\"};\r\n `;\r\n });\r\n\r\n const tableWrapperStyle = css`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n overflow: hidden;\r\n `;\r\n\r\n const cardStyle = css`\r\n box-shadow: none !important;\r\n `;\r\n\r\n const leftCardStyle = css`\r\n .ant-card-body {\r\n overflow-y: scroll;\r\n -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */\r\n scrollbar-width: none; /* 对 Firefox 生效 */\r\n\r\n /* Webkit 浏览器 */\r\n\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n }\r\n `;\r\n\r\n const listStyle = computed(() => css``);\r\n\r\n onMounted(() => {\r\n playTableHeight();\r\n });\r\n\r\n function useTableHeight() {\r\n const tableRef = ref();\r\n const height = ref(0);\r\n const tableVisible = ref(true);\r\n\r\n function playTableHeight() {\r\n tableVisible.value = true;\r\n height.value = tableRef?.value?.$el.offsetHeight;\r\n nextTick(() => {\r\n setTimeout(() => {\r\n tableVisible.value = false;\r\n }, 10);\r\n });\r\n }\r\n\r\n return {\r\n tableRef,\r\n height,\r\n tableVisible,\r\n playTableHeight\r\n };\r\n }\r\n\r\n function useForm() {\r\n const formRef = ref(null);\r\n const { height: formHeight } = useElementSize(formRef);\r\n watch(\r\n () => formHeight.value,\r\n () => {\r\n nextTick(() => {\r\n playTableHeight();\r\n });\r\n }\r\n );\r\n\r\n return {\r\n formRef\r\n };\r\n }\r\n\r\n // 处理标签重载\r\n function useReload() {\r\n let stopHandleWatch: WatchStopHandle;\r\n // !route.meta.keepAlive\r\n if (!route.name) {\r\n stopHandleWatch = _useWatch();\r\n // 卸载未缓存的组件\r\n onUnmounted(() => {\r\n stopHandleWatch?.();\r\n });\r\n } else {\r\n // 激活缓存页面\r\n onActivated(() => {\r\n if (refresh.value) {\r\n refresh.value = false;\r\n emit(\"refresh\");\r\n }\r\n stopHandleWatch = _useWatch();\r\n });\r\n // 离开缓存页面\r\n onDeactivated(() => {\r\n stopHandleWatch?.();\r\n });\r\n }\r\n\r\n function _useWatch() {\r\n //点击了标签重载图标\r\n return watch(\r\n () => refresh.value,\r\n val => {\r\n if (val) {\r\n // 发送刷新事件到列表页面\r\n emit(\"refresh\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n function useLayout() {\r\n function formLayout() {\r\n return () =>\r\n slots.form && (\r\n <Card\r\n class={cardStyle}\r\n ref={formRef}\r\n style={{ marginBottom: \"10px\" }}\r\n bodyStyle={{ padding: \"10px 10px 0 10px\" }}\r\n bordered={false}\r\n >\r\n {slots.form()}\r\n </Card>\r\n );\r\n }\r\n\r\n function tableLayout() {\r\n return () => (\r\n <Flex flex={1} vertical={true}>\r\n <Card\r\n class={cardStyle}\r\n style={{ height: \"100%\" }}\r\n bodyStyle={{ height: \"100%\", padding: \"10px\" }}\r\n bordered={false}\r\n >\r\n <Flex style={{ height: \"100%\" }} vertical={true}>\r\n <Space style={{ marginBottom: \"6px\" }}>{slots.tools?.()}</Space>\r\n <Flex\r\n ref={tableRef}\r\n flex={1}\r\n style={{ height: \"100%\" }}\r\n vertical={true}\r\n >\r\n <div class={tableRootStyle}>\r\n <div class={maskDivStyle.value}></div>\r\n <div class={tableWrapperStyle}>\r\n {slots.table?.({ height: height.value })}\r\n </div>\r\n </div>\r\n </Flex>\r\n </Flex>\r\n </Card>\r\n </Flex>\r\n );\r\n }\r\n\r\n return (\r\n <Flex\r\n class={listStyle.value}\r\n gap={10}\r\n style={{ height: \"100%\", padding: \"10px\" }}\r\n >\r\n {slots.left ? (\r\n <Card\r\n class={[cardStyle, leftCardStyle]}\r\n bordered={false}\r\n bodyStyle={{\r\n height: \"100%\",\r\n padding: \"10px\"\r\n }}\r\n >\r\n {slots.left?.()}\r\n </Card>\r\n ) : null}\r\n <Flex vertical={true} flex={1}>\r\n {formLayout()()}\r\n {tableLayout()()}\r\n </Flex>\r\n </Flex>\r\n );\r\n }\r\n\r\n return () => useLayout();\r\n }\r\n});\r\n\r\nexport default list;\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableRootStyle","css","list","name","emits","setup","_","slots","emit","route","useRoute","refresh","storeToRefs","useAppStore","tableRef","height","tableVisible","playTableHeight","useTableHeight","formRef","useForm","useReload","maskDivStyle","computed","value","tableWrapperStyle","cardStyle","leftCardStyle","listStyle","onMounted","ref","$el","offsetHeight","nextTick","setTimeout","formHeight","useElementSize","watch","stopHandleWatch","_useWatch","onUnmounted","onActivated","onDeactivated","val","useLayout","formLayout","_slot","form","_createVNode","Card","marginBottom","padding","default","tableLayout","Flex","Space","tools","table","left"],"mappings":"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"}
@@ -2,6 +2,8 @@ import * as index$1 from './components/index.mjs';
2
2
  export { default as Select } from './components/select/Select.vue2.mjs';
3
3
  export { default as Tab } from './components/tab/Tab.vue2.mjs';
4
4
  export { default as Table } from './components/table/Table.mjs';
5
+ export { default as RangePicker } from './components/date/RangePicker.vue2.mjs';
6
+ export { default as FormLayout } from './components/form/FormLayout.mjs';
5
7
  export { default as Moon } from './components/icon/Moon.vue.mjs';
6
8
  export { default as Sun } from './components/icon/Sun.vue.mjs';
7
9
  export { default as Layout } from './components/layout/Layout.vue2.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/index.ts"],"sourcesContent":["import * as components from \"./components\";\r\nimport type { App, DefineComponent, Plugin } from \"vue\";\r\n\r\n// import { version } from \"../package.json\";\r\n\r\nexport * from \"./components\";\r\n\r\nconsole.log(components);\r\n// 定义组件类型,确保每个组件都可能具有 `install` 方法\r\ntype ComponentWithInstall = DefineComponent<never, never, never> & {\r\n install?: (app: App) => void;\r\n};\r\n\r\nexport const install = (app: App) => {\r\n Object.keys(components).forEach(key => {\r\n const component = components[\r\n key as keyof typeof components\r\n ] as ComponentWithInstall;\r\n // 类型断言,告诉 TypeScript component 可能是一个插件\r\n const plugin = component as Plugin;\r\n // 如果组件有 install 方法,则按插件安装\r\n if (plugin.install) {\r\n app.use(plugin);\r\n }\r\n });\r\n};\r\n\r\nexport default {\r\n // version,\r\n install\r\n};\r\n"],"names":["components"],"mappings":";;;;;;;;;;;AAOA,OAAA,CAAQ,IAAIA,OAAU,CAAA;AAMT,MAAA,OAAA,GAAU,CAAC,GAAa,KAAA;AACnC,EAAA,MAAA,CAAO,IAAK,CAAAA,OAAU,CAAE,CAAA,OAAA,CAAQ,CAAO,GAAA,KAAA;AACrC,IAAM,MAAA,SAAA,GAAYA,QAChB,GACF,CAAA;AAEA,IAAA,MAAM,MAAS,GAAA,SAAA;AAEf,IAAA,IAAI,OAAO,OAAS,EAAA;AAClB,MAAA,GAAA,CAAI,IAAI,MAAM,CAAA;AAAA;AAChB,GACD,CAAA;AACH;AAEA,YAAe;AAAA;AAAA,EAEb;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/index.ts"],"sourcesContent":["import * as components from \"./components\";\r\nimport type { App, DefineComponent, Plugin } from \"vue\";\r\n\r\n// import { version } from \"../package.json\";\r\n\r\nexport * from \"./components\";\r\n\r\nconsole.log(components);\r\n// 定义组件类型,确保每个组件都可能具有 `install` 方法\r\ntype ComponentWithInstall = DefineComponent<never, never, never> & {\r\n install?: (app: App) => void;\r\n};\r\n\r\nexport const install = (app: App) => {\r\n Object.keys(components).forEach(key => {\r\n const component = components[\r\n key as keyof typeof components\r\n ] as ComponentWithInstall;\r\n // 类型断言,告诉 TypeScript component 可能是一个插件\r\n const plugin = component as Plugin;\r\n // 如果组件有 install 方法,则按插件安装\r\n if (plugin.install) {\r\n app.use(plugin);\r\n }\r\n });\r\n};\r\n\r\nexport default {\r\n // version,\r\n install\r\n};\r\n"],"names":["components"],"mappings":";;;;;;;;;;;;;AAOA,OAAA,CAAQ,IAAIA,OAAU,CAAA;AAMT,MAAA,OAAA,GAAU,CAAC,GAAa,KAAA;AACnC,EAAA,MAAA,CAAO,IAAK,CAAAA,OAAU,CAAE,CAAA,OAAA,CAAQ,CAAO,GAAA,KAAA;AACrC,IAAM,MAAA,SAAA,GAAYA,QAChB,GACF,CAAA;AAEA,IAAA,MAAM,MAAS,GAAA,SAAA;AAEf,IAAA,IAAI,OAAO,OAAS,EAAA;AAClB,MAAA,GAAA,CAAI,IAAI,MAAM,CAAA;AAAA;AAChB,GACD,CAAA;AACH;AAEA,YAAe;AAAA;AAAA,EAEb;AACF,CAAA;;;;"}
@@ -1,2 +1,9 @@
1
1
  @use "./components/tab/style" as *;
2
2
  @use "components/layout/components/settings/style" as *;
3
+
4
+ html, body {
5
+ &::-webkit-scrollbar {
6
+ width: 0 !important;
7
+ display: none;
8
+ }
9
+ }