@ditari/bsui 1.1.34 → 1.1.36
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/CHANGELOG.md +12 -0
- package/dist/cjs/date/RangePicker.cjs +13 -3
- package/dist/cjs/date/RangePicker.cjs.map +1 -1
- package/dist/cjs/layout/List.vue2.cjs +8 -7
- package/dist/cjs/layout/List.vue2.cjs.map +1 -1
- package/dist/cjs/select/Select.vue.d.ts +2 -2
- package/dist/esm/date/RangePicker.mjs +13 -3
- package/dist/esm/date/RangePicker.mjs.map +1 -1
- package/dist/esm/layout/List.vue2.mjs +10 -9
- package/dist/esm/layout/List.vue2.mjs.map +1 -1
- package/dist/esm/select/Select.vue.d.ts +2 -2
- package/example/src/views/table/List.vue +23 -29
- package/package.json +1 -1
- package/src/date/RangePicker.tsx +14 -3
- package/src/layout/List.vue +12 -13
package/CHANGELOG.md
CHANGED
|
@@ -28,7 +28,6 @@ var RangePicker = /* @__PURE__ */ vue.defineComponent({
|
|
|
28
28
|
attrs
|
|
29
29
|
}) {
|
|
30
30
|
const dates = vue.ref([]);
|
|
31
|
-
const modelValue = vue.ref(props.value);
|
|
32
31
|
const internalModel = vue.ref((props == null ? void 0 : props.value) || {});
|
|
33
32
|
const onChange = (dates2) => {
|
|
34
33
|
if (!dates2) {
|
|
@@ -43,11 +42,22 @@ var RangePicker = /* @__PURE__ */ vue.defineComponent({
|
|
|
43
42
|
emit("update:value", internalModel.value);
|
|
44
43
|
};
|
|
45
44
|
vue.watchEffect(() => {
|
|
45
|
+
const value = props.value;
|
|
46
46
|
props.field.forEach((key, index) => {
|
|
47
|
-
if (
|
|
47
|
+
if (value[key] === "") {
|
|
48
48
|
dates.value && (dates.value[index] = "");
|
|
49
49
|
} else {
|
|
50
|
-
dates.value && (dates.value[index] =
|
|
50
|
+
dates.value && (dates.value[index] = value[key]);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
vue.watchEffect(() => {
|
|
55
|
+
const value = props.value;
|
|
56
|
+
props.field.forEach((key, index) => {
|
|
57
|
+
if (value[key] === "") {
|
|
58
|
+
dates.value && (dates.value[index] = "");
|
|
59
|
+
} else {
|
|
60
|
+
dates.value && (dates.value[index] = value[key]);
|
|
51
61
|
}
|
|
52
62
|
});
|
|
53
63
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangePicker.cjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watchEffect } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n
|
|
1
|
+
{"version":3,"file":"RangePicker.cjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watchEffect } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["defineComponent","name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","onChange","forEach","key","index","watchEffect","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
|
|
@@ -72,14 +72,15 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
72
72
|
() => formHeight.value,
|
|
73
73
|
() => {
|
|
74
74
|
calcHeight();
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
window.addEventListener(
|
|
78
|
-
"resize",
|
|
79
|
-
core.useDebounceFn(() => {
|
|
80
|
-
calcHeight();
|
|
81
|
-
})
|
|
75
|
+
},
|
|
76
|
+
{ immediate: true }
|
|
82
77
|
);
|
|
78
|
+
vue.watchEffect(() => {
|
|
79
|
+
calcHeight();
|
|
80
|
+
});
|
|
81
|
+
core.useResizeObserver(document.body, () => {
|
|
82
|
+
calcHeight();
|
|
83
|
+
});
|
|
83
84
|
function calcHeight() {
|
|
84
85
|
show.value = false;
|
|
85
86
|
vue.nextTick(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.vue2.cjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick\n} from \"vue\";\nimport {
|
|
1
|
+
{"version":3,"file":"List.vue2.cjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick,\n watchEffect\n} from \"vue\";\nimport { useElementSize, useResizeObserver } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n calcHeight();\n },\n { immediate: true }\n);\n\nwatchEffect(() => {\n calcHeight();\n});\n\nuseResizeObserver(document.body, () => {\n calcHeight();\n});\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n nextTick(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n });\n}\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":["useSlots","store","useSettingsStore","useRoute","inject","storeToRefs","ref","watch","onUnmounted","onActivated","onDeactivated","useElementSize","watchEffect","useResizeObserver","nextTick"],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
26
26
|
};
|
|
27
27
|
}, {
|
|
28
28
|
props: any;
|
|
29
|
-
emits: (event: "select" | "
|
|
29
|
+
emits: (event: "select" | "update:value" | "change", ...args: any[]) => void;
|
|
30
30
|
getDicByKey: (key: string) => any;
|
|
31
31
|
modelValue: any;
|
|
32
32
|
data: any;
|
|
@@ -40,7 +40,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
40
40
|
onChange: () => void;
|
|
41
41
|
};
|
|
42
42
|
onFilterOption: (inputValue: any, options: any) => any;
|
|
43
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "
|
|
43
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "update:value" | "change")[], "select" | "update:value" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
44
44
|
value: {
|
|
45
45
|
type: null;
|
|
46
46
|
required: true;
|
|
@@ -24,7 +24,6 @@ var RangePicker = /* @__PURE__ */ defineComponent({
|
|
|
24
24
|
attrs
|
|
25
25
|
}) {
|
|
26
26
|
const dates = ref([]);
|
|
27
|
-
const modelValue = ref(props.value);
|
|
28
27
|
const internalModel = ref((props == null ? void 0 : props.value) || {});
|
|
29
28
|
const onChange = (dates2) => {
|
|
30
29
|
if (!dates2) {
|
|
@@ -39,11 +38,22 @@ var RangePicker = /* @__PURE__ */ defineComponent({
|
|
|
39
38
|
emit("update:value", internalModel.value);
|
|
40
39
|
};
|
|
41
40
|
watchEffect(() => {
|
|
41
|
+
const value = props.value;
|
|
42
42
|
props.field.forEach((key, index) => {
|
|
43
|
-
if (
|
|
43
|
+
if (value[key] === "") {
|
|
44
44
|
dates.value && (dates.value[index] = "");
|
|
45
45
|
} else {
|
|
46
|
-
dates.value && (dates.value[index] =
|
|
46
|
+
dates.value && (dates.value[index] = value[key]);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
watchEffect(() => {
|
|
51
|
+
const value = props.value;
|
|
52
|
+
props.field.forEach((key, index) => {
|
|
53
|
+
if (value[key] === "") {
|
|
54
|
+
dates.value && (dates.value[index] = "");
|
|
55
|
+
} else {
|
|
56
|
+
dates.value && (dates.value[index] = value[key]);
|
|
47
57
|
}
|
|
48
58
|
});
|
|
49
59
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangePicker.mjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watchEffect } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n
|
|
1
|
+
{"version":3,"file":"RangePicker.mjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watchEffect } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","onChange","forEach","key","index","watchEffect","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent, useSlots, inject, ref, watch, onUnmounted, onActivated, onDeactivated, nextTick, resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, normalizeClass, unref, normalizeStyle, withCtx, renderSlot, withDirectives, vShow } from 'vue';
|
|
2
|
-
import { useElementSize,
|
|
1
|
+
import { defineComponent, useSlots, inject, ref, watch, onUnmounted, onActivated, onDeactivated, watchEffect, nextTick, resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, normalizeClass, unref, normalizeStyle, withCtx, renderSlot, withDirectives, vShow } from 'vue';
|
|
2
|
+
import { useElementSize, useResizeObserver } from '@vueuse/core';
|
|
3
3
|
import { useSettingsStore } from '@ditari/store';
|
|
4
4
|
import { storeToRefs } from 'pinia';
|
|
5
5
|
import { useRoute } from 'vue-router';
|
|
@@ -68,14 +68,15 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
68
68
|
() => formHeight.value,
|
|
69
69
|
() => {
|
|
70
70
|
calcHeight();
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
window.addEventListener(
|
|
74
|
-
"resize",
|
|
75
|
-
useDebounceFn(() => {
|
|
76
|
-
calcHeight();
|
|
77
|
-
})
|
|
71
|
+
},
|
|
72
|
+
{ immediate: true }
|
|
78
73
|
);
|
|
74
|
+
watchEffect(() => {
|
|
75
|
+
calcHeight();
|
|
76
|
+
});
|
|
77
|
+
useResizeObserver(document.body, () => {
|
|
78
|
+
calcHeight();
|
|
79
|
+
});
|
|
79
80
|
function calcHeight() {
|
|
80
81
|
show.value = false;
|
|
81
82
|
nextTick(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.vue2.mjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick\n} from \"vue\";\nimport {
|
|
1
|
+
{"version":3,"file":"List.vue2.mjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick,\n watchEffect\n} from \"vue\";\nimport { useElementSize, useResizeObserver } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n calcHeight();\n },\n { immediate: true }\n);\n\nwatchEffect(() => {\n calcHeight();\n});\n\nuseResizeObserver(document.body, () => {\n calcHeight();\n});\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n nextTick(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n });\n}\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
26
26
|
};
|
|
27
27
|
}, {
|
|
28
28
|
props: any;
|
|
29
|
-
emits: (event: "select" | "
|
|
29
|
+
emits: (event: "select" | "update:value" | "change", ...args: any[]) => void;
|
|
30
30
|
getDicByKey: (key: string) => any;
|
|
31
31
|
modelValue: any;
|
|
32
32
|
data: any;
|
|
@@ -40,7 +40,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
40
40
|
onChange: () => void;
|
|
41
41
|
};
|
|
42
42
|
onFilterOption: (inputValue: any, options: any) => any;
|
|
43
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "
|
|
43
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "update:value" | "change")[], "select" | "update:value" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
44
44
|
value: {
|
|
45
45
|
type: null;
|
|
46
46
|
required: true;
|
|
@@ -263,10 +263,10 @@ const onQuery = () => {
|
|
|
263
263
|
|
|
264
264
|
const queryParams = ref({ from: "", to: "" });
|
|
265
265
|
|
|
266
|
-
const format = ref("YYYY-MM-DD");
|
|
267
266
|
setTimeout(() => {
|
|
268
|
-
|
|
269
|
-
|
|
267
|
+
queryParams.value.from = "2023-02-04";
|
|
268
|
+
queryParams.value.to = "2023-05-06";
|
|
269
|
+
}, 3000);
|
|
270
270
|
</script>
|
|
271
271
|
<script lang="ts">
|
|
272
272
|
export default {
|
|
@@ -279,13 +279,7 @@ export default {
|
|
|
279
279
|
<d-query-form :value="formState" :scheme="scheme" @query="onQuery">
|
|
280
280
|
</d-query-form>
|
|
281
281
|
{{ queryParams }}
|
|
282
|
-
<d-range-picker
|
|
283
|
-
v-model:value="queryParams"
|
|
284
|
-
:format="format"
|
|
285
|
-
:value-format="format"
|
|
286
|
-
:field="['from', 'to']"
|
|
287
|
-
picker="year"
|
|
288
|
-
/>
|
|
282
|
+
<d-range-picker v-model:value="queryParams" :field="['from', 'to']" />
|
|
289
283
|
</template>
|
|
290
284
|
<template #table="{ height }">
|
|
291
285
|
<d-table
|
|
@@ -295,25 +289,7 @@ export default {
|
|
|
295
289
|
:expanded-row-keys="['1', '2']"
|
|
296
290
|
:data="data"
|
|
297
291
|
:config="config"
|
|
298
|
-
:height="height
|
|
299
|
-
@change="
|
|
300
|
-
() => {
|
|
301
|
-
console.log('change');
|
|
302
|
-
}
|
|
303
|
-
"
|
|
304
|
-
>
|
|
305
|
-
<template #action>
|
|
306
|
-
<a-button>ok</a-button>
|
|
307
|
-
</template>
|
|
308
|
-
</d-table>
|
|
309
|
-
<d-table
|
|
310
|
-
v-model:keys="selectedRowKeys"
|
|
311
|
-
row-key="id"
|
|
312
|
-
:loading="loading"
|
|
313
|
-
:expanded-row-keys="['1', '2']"
|
|
314
|
-
:data="data"
|
|
315
|
-
:config="config"
|
|
316
|
-
:height="200"
|
|
292
|
+
:height="height"
|
|
317
293
|
@change="
|
|
318
294
|
() => {
|
|
319
295
|
console.log('change');
|
|
@@ -324,6 +300,24 @@ export default {
|
|
|
324
300
|
<a-button>ok</a-button>
|
|
325
301
|
</template>
|
|
326
302
|
</d-table>
|
|
303
|
+
<!-- <d-table-->
|
|
304
|
+
<!-- v-model:keys="selectedRowKeys"-->
|
|
305
|
+
<!-- row-key="id"-->
|
|
306
|
+
<!-- :loading="loading"-->
|
|
307
|
+
<!-- :expanded-row-keys="['1', '2']"-->
|
|
308
|
+
<!-- :data="data"-->
|
|
309
|
+
<!-- :config="config"-->
|
|
310
|
+
<!-- :height="200"-->
|
|
311
|
+
<!-- @change="-->
|
|
312
|
+
<!-- () => {-->
|
|
313
|
+
<!-- console.log('change');-->
|
|
314
|
+
<!-- }-->
|
|
315
|
+
<!-- "-->
|
|
316
|
+
<!-- >-->
|
|
317
|
+
<!-- <template #action>-->
|
|
318
|
+
<!-- <a-button>ok</a-button>-->
|
|
319
|
+
<!-- </template>-->
|
|
320
|
+
<!-- </d-table>-->
|
|
327
321
|
</template>
|
|
328
322
|
<!-- <TestModal v-model:visible="visible" />-->
|
|
329
323
|
</d-list-layout>
|
package/package.json
CHANGED
package/src/date/RangePicker.tsx
CHANGED
|
@@ -25,7 +25,6 @@ export default defineComponent({
|
|
|
25
25
|
emits: ["update:value"],
|
|
26
26
|
setup(props, { emit, attrs }) {
|
|
27
27
|
const dates = ref<string[]>([]);
|
|
28
|
-
const modelValue: any = ref(props.value);
|
|
29
28
|
|
|
30
29
|
//内部model
|
|
31
30
|
const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});
|
|
@@ -45,11 +44,23 @@ export default defineComponent({
|
|
|
45
44
|
};
|
|
46
45
|
|
|
47
46
|
watchEffect(() => {
|
|
47
|
+
const value: any = props.value;
|
|
48
48
|
props.field.forEach((key, index) => {
|
|
49
|
-
if (
|
|
49
|
+
if (value[key] === "") {
|
|
50
50
|
dates.value && (dates.value[index] = "");
|
|
51
51
|
} else {
|
|
52
|
-
dates.value && (dates.value[index] =
|
|
52
|
+
dates.value && (dates.value[index] = value[key]);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
watchEffect(() => {
|
|
58
|
+
const value: any = props.value;
|
|
59
|
+
props.field.forEach((key, index) => {
|
|
60
|
+
if (value[key] === "") {
|
|
61
|
+
dates.value && (dates.value[index] = "");
|
|
62
|
+
} else {
|
|
63
|
+
dates.value && (dates.value[index] = value[key]);
|
|
53
64
|
}
|
|
54
65
|
});
|
|
55
66
|
});
|
package/src/layout/List.vue
CHANGED
|
@@ -8,9 +8,10 @@ import {
|
|
|
8
8
|
onUnmounted,
|
|
9
9
|
WatchStopHandle,
|
|
10
10
|
inject,
|
|
11
|
-
nextTick
|
|
11
|
+
nextTick,
|
|
12
|
+
watchEffect
|
|
12
13
|
} from "vue";
|
|
13
|
-
import {
|
|
14
|
+
import { useElementSize, useResizeObserver } from "@vueuse/core";
|
|
14
15
|
import { useSettingsStore } from "@ditari/store";
|
|
15
16
|
import { storeToRefs } from "pinia";
|
|
16
17
|
import { useRoute } from "vue-router";
|
|
@@ -86,15 +87,17 @@ watch(
|
|
|
86
87
|
() => formHeight.value,
|
|
87
88
|
() => {
|
|
88
89
|
calcHeight();
|
|
89
|
-
}
|
|
90
|
+
},
|
|
91
|
+
{ immediate: true }
|
|
90
92
|
);
|
|
91
93
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
);
|
|
94
|
+
watchEffect(() => {
|
|
95
|
+
calcHeight();
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
useResizeObserver(document.body, () => {
|
|
99
|
+
calcHeight();
|
|
100
|
+
});
|
|
98
101
|
|
|
99
102
|
// 动态计算高度
|
|
100
103
|
function calcHeight() {
|
|
@@ -104,10 +107,6 @@ function calcHeight() {
|
|
|
104
107
|
show.value = true;
|
|
105
108
|
});
|
|
106
109
|
}
|
|
107
|
-
|
|
108
|
-
// nextTick(() => {
|
|
109
|
-
// calcHeight();
|
|
110
|
-
// });
|
|
111
110
|
</script>
|
|
112
111
|
<template>
|
|
113
112
|
<div class="ditari-list-layout">
|