@lx-frontend/wrap-element-ui 1.0.16-beta.1 → 1.0.16-beta.3
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/README.md
CHANGED
|
@@ -34,9 +34,9 @@ export default {
|
|
|
34
34
|
|
|
35
35
|
### 开发指南
|
|
36
36
|
|
|
37
|
-
新增或修改组件时,使用 `pnpm
|
|
37
|
+
新增或修改组件时,使用 `pnpm dev` 可以实时预览 stories。
|
|
38
38
|
|
|
39
|
-
开发完成后,可以使用 `pnpm
|
|
39
|
+
开发完成后,可以使用 `pnpm dist` 预览打包后的组件是否能正常工作。与 `pnpm dev` 的区别在于,该命令修改了组件的引用地址,指向了打包后的组件。该命令不能实时预览修改。
|
|
40
40
|
|
|
41
41
|
`build:lib`命令用于打包组件库,生成组件代码及类型定义文件。
|
|
42
42
|
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lx-frontend/wrap-element-ui",
|
|
3
|
-
"version": "1.0.16-beta.
|
|
3
|
+
"version": "1.0.16-beta.3",
|
|
4
4
|
"description": "wrap-element-ui",
|
|
5
5
|
"author": "",
|
|
6
6
|
"main": "src/components/index.ts",
|
|
7
7
|
"private": false,
|
|
8
8
|
"scripts": {
|
|
9
9
|
"clean": "rimraf dist",
|
|
10
|
-
"
|
|
11
|
-
"
|
|
10
|
+
"dev": "cross-env MODE=development storybook dev -p 6006",
|
|
11
|
+
"dist": "cross-env MODE=production pnpm build:lib && storybook dev -p 6006",
|
|
12
12
|
"build:lib": "pnpm clean && vite build",
|
|
13
13
|
"build:sb": "cross-env MODE=production rimraf storybook-static && pnpm build:lib && storybook build",
|
|
14
14
|
"preview": "serve ./storybook-static",
|
|
@@ -70,8 +70,5 @@
|
|
|
70
70
|
"vite-plugin-lib-inject-css": "^2.1.1",
|
|
71
71
|
"vite-tsconfig-paths": "^4.3.2",
|
|
72
72
|
"vue-template-compiler": "^2.6.10"
|
|
73
|
-
},
|
|
74
|
-
"dependencies": {
|
|
75
|
-
"@lx-frontend/wrap-element-ui": "1.0.15-beta.1"
|
|
76
73
|
}
|
|
77
74
|
}
|
package/src/components/EditableTable/features/bizTableHeaderPopover/BizDoubleDatePickerFilter.vue
CHANGED
|
@@ -6,42 +6,86 @@
|
|
|
6
6
|
</div>
|
|
7
7
|
<div class="editable-table-sort-filter__date-picker-content">
|
|
8
8
|
<el-date-picker
|
|
9
|
-
|
|
10
|
-
format="yyyy-MM-dd"
|
|
11
|
-
type="date"
|
|
12
|
-
size="small"
|
|
9
|
+
v-bind="datePickerCommonProps"
|
|
13
10
|
placeholder="开始日期"
|
|
14
11
|
:value="tempFilteredValue[config.prop[0]]"
|
|
15
|
-
:
|
|
16
|
-
@input="
|
|
12
|
+
:picker-options="startDateDisabledOptions"
|
|
13
|
+
@input="handleStartDateChange"
|
|
17
14
|
/>
|
|
18
15
|
<el-date-picker
|
|
19
|
-
|
|
20
|
-
format="yyyy-MM-dd"
|
|
21
|
-
size="small"
|
|
22
|
-
type="date"
|
|
16
|
+
v-bind="datePickerCommonProps"
|
|
23
17
|
placeholder="结束日期"
|
|
24
18
|
:value="tempFilteredValue[config.prop[1]]"
|
|
25
|
-
:
|
|
26
|
-
@input="
|
|
19
|
+
:picker-options="endDateDisabledOptions"
|
|
20
|
+
@input="handleEndDateChange"
|
|
27
21
|
/>
|
|
28
22
|
</div>
|
|
29
23
|
</div>
|
|
30
24
|
</template>
|
|
31
25
|
|
|
32
26
|
<script setup lang="ts">
|
|
27
|
+
import { computed } from 'vue';
|
|
33
28
|
import { IFilterDoubleDatePicker } from '../../types';
|
|
29
|
+
import dayjs from 'dayjs';
|
|
30
|
+
import type { DatePickerOptions } from 'element-ui/types/date-picker';
|
|
34
31
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
interface IFilterDoubleDatePickerProps {
|
|
33
|
+
/** 日期选择器配置 */
|
|
34
|
+
config: IFilterDoubleDatePicker;
|
|
35
|
+
/** 临时筛选值 */
|
|
36
|
+
tempFilteredValue: Record<string, string>;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const props = defineProps<IFilterDoubleDatePickerProps>();
|
|
39
40
|
|
|
40
41
|
const emit = defineEmits<{
|
|
41
|
-
(e: 'update:tempFilteredValue', key: string, value: string): void
|
|
42
|
-
}>()
|
|
43
|
-
|
|
42
|
+
(e: 'update:tempFilteredValue', key: string, value: string): void;
|
|
43
|
+
}>();
|
|
44
|
+
|
|
45
|
+
/** 日期选择器通用配置 */
|
|
46
|
+
const datePickerCommonProps = {
|
|
47
|
+
valueFormat: 'yyyy-MM-dd',
|
|
48
|
+
format: 'yyyy-MM-dd',
|
|
49
|
+
type: 'date',
|
|
50
|
+
size: 'small',
|
|
51
|
+
editable: false,
|
|
52
|
+
} as const;
|
|
53
|
+
|
|
54
|
+
/** 开始日期禁用配置 */
|
|
55
|
+
const startDateDisabledOptions = computed<DatePickerOptions>(() => {
|
|
56
|
+
const endDate = props.tempFilteredValue[props.config.prop[1]];
|
|
57
|
+
|
|
58
|
+
return {
|
|
59
|
+
disabledDate: (time: Date) => {
|
|
60
|
+
if (!endDate) return false;
|
|
61
|
+
|
|
62
|
+
const currentDate = dayjs(time);
|
|
63
|
+
return currentDate.isAfter(dayjs(endDate), 'day');
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
/** 结束日期禁用配置 */
|
|
69
|
+
const endDateDisabledOptions = computed<DatePickerOptions>(() => {
|
|
70
|
+
const startDate = props.tempFilteredValue[props.config.prop[0]];
|
|
71
|
+
|
|
72
|
+
return {
|
|
73
|
+
disabledDate: (time: Date) => {
|
|
74
|
+
if (!startDate) return false;
|
|
75
|
+
|
|
76
|
+
const currentDate = dayjs(time);
|
|
77
|
+
return currentDate.isBefore(dayjs(startDate), 'day');
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
});
|
|
44
81
|
|
|
45
|
-
|
|
82
|
+
/** 处理开始日期变更 */
|
|
83
|
+
const handleStartDateChange = (val: string | null) => {
|
|
84
|
+
emit('update:tempFilteredValue', props.config.prop[0], val || '');
|
|
85
|
+
};
|
|
46
86
|
|
|
47
|
-
|
|
87
|
+
/** 处理结束日期变更 */
|
|
88
|
+
const handleEndDateChange = (val: string | null) => {
|
|
89
|
+
emit('update:tempFilteredValue', props.config.prop[1], val || '');
|
|
90
|
+
};
|
|
91
|
+
</script>
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
clearable
|
|
10
10
|
:value="startDate"
|
|
11
11
|
separator=""
|
|
12
|
+
size="small"
|
|
12
13
|
placeholder="开始日期"
|
|
13
14
|
popper-class="month-day-picker"
|
|
14
15
|
:options="startDateOptions"
|
|
@@ -18,6 +19,7 @@
|
|
|
18
19
|
clearable
|
|
19
20
|
:value="endDate"
|
|
20
21
|
separator=""
|
|
22
|
+
size="small"
|
|
21
23
|
placeholder="结束日期"
|
|
22
24
|
popper-class="month-day-picker"
|
|
23
25
|
:options="endDateOptions"
|