@a2simcode/ui 0.0.70 → 0.0.71
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/components/barcode/index.d.ts +3 -3
- package/dist/components/barcode/src/barcode.vue.d.ts +1 -1
- package/dist/components/date/index.d.ts +98 -0
- package/dist/components/date/src/date.vue.d.ts +78 -0
- package/dist/components/index.d.ts +3 -1
- package/dist/components/slider/index.d.ts +3 -3
- package/dist/components/slider/src/slider.vue.d.ts +1 -1
- package/dist/components/tabs/index.d.ts +3 -3
- package/dist/components/tabs/src/tabs.vue.d.ts +1 -1
- package/dist/simcode-ui.es.js +4800 -4609
- package/dist/simcode-ui.umd.js +2 -2
- package/dist/stats.html +1 -1
- package/dist/ui.css +1 -1
- package/docs/components/date.md +76 -0
- package/docs/components/meta/date.ts +275 -0
- package/docs/examples/date/basic.vue +73 -0
- package/docs/examples/date/default-value.vue +59 -0
- package/docs/examples/date/format.vue +75 -0
- package/docs/examples/date/range.vue +66 -0
- package/docs/examples/date/types.vue +79 -0
- package/docs/examples/page/log.vue +437 -205
- package/docs/examples/table/editable.vue +1 -0
- package/docs/examples/table-panel/filter.vue +12 -2
- package/docs/examples/table-panel/sub-table-lazy.vue +18 -0
- package/package.json +1 -1
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"props": [
|
|
3
|
+
{
|
|
4
|
+
"name": "modelValue",
|
|
5
|
+
"description": "绑定值",
|
|
6
|
+
"type": "string | number | Date | Array<string | number | Date>"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"name": "selectType",
|
|
10
|
+
"description": "显示类型",
|
|
11
|
+
"type": "'year' | 'month' | 'date' | 'dates' | 'week' | 'datetime' | 'datetimerange' | 'daterange' | 'monthrange'",
|
|
12
|
+
"default": "'date'"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "readonly",
|
|
16
|
+
"description": "是否只读",
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"default": "false"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "disabled",
|
|
22
|
+
"description": "是否禁用",
|
|
23
|
+
"type": "boolean",
|
|
24
|
+
"default": "false"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "editable",
|
|
28
|
+
"description": "文本框可输入",
|
|
29
|
+
"type": "boolean",
|
|
30
|
+
"default": "true"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "clearable",
|
|
34
|
+
"description": "是否显示清除按钮",
|
|
35
|
+
"type": "boolean",
|
|
36
|
+
"default": "true"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "size",
|
|
40
|
+
"description": "输入框尺寸",
|
|
41
|
+
"type": "'large' | 'default' | 'small'",
|
|
42
|
+
"default": "'default'"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "placeholder",
|
|
46
|
+
"description": "非范围选择时的占位内容",
|
|
47
|
+
"type": "string",
|
|
48
|
+
"default": "''"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "startPlaceholder",
|
|
52
|
+
"description": "范围选择时开始日期的占位内容",
|
|
53
|
+
"type": "string",
|
|
54
|
+
"default": "''"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "endPlaceholder",
|
|
58
|
+
"description": "范围选择时结束日期的占位内容",
|
|
59
|
+
"type": "string",
|
|
60
|
+
"default": "''"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "format",
|
|
64
|
+
"description": "显示在输入框中的格式",
|
|
65
|
+
"type": "string"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "valueFormat",
|
|
69
|
+
"description": "绑定值的格式。 不指定则绑定值为 Date 对象",
|
|
70
|
+
"type": "string"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "rangeSeparator",
|
|
74
|
+
"description": "选择范围时的分隔符",
|
|
75
|
+
"type": "string"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "defaultValue",
|
|
79
|
+
"description": "可选,选择器打开时默认显示的时间",
|
|
80
|
+
"type": "Date | Array<Date>"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "defaultTime",
|
|
84
|
+
"description": "范围选择时选中日期所使用的当日内具体时刻",
|
|
85
|
+
"type": "Date | Array<Date>"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "shortcuts",
|
|
89
|
+
"description": "设置快捷选项,需要传入数组对象",
|
|
90
|
+
"type": "Array<{ text: string; value: Date | Function }>"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "disabledDate",
|
|
94
|
+
"description": "一个用来判断该日期是否被禁用的函数,接受一个 Date 对象作为参数。 应该返回一个 Boolean 值",
|
|
95
|
+
"type": "(date: Date) => boolean"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "teleported",
|
|
99
|
+
"description": "是否将 date-picker 的下拉列表插入至 body 元素",
|
|
100
|
+
"type": "boolean",
|
|
101
|
+
"default": "true"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "prefixIcon",
|
|
105
|
+
"description": "自定义头部图标",
|
|
106
|
+
"type": "string | Component"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"name": "clearIcon",
|
|
110
|
+
"description": "自定义清空图标",
|
|
111
|
+
"type": "string | Component"
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"events": [
|
|
115
|
+
{
|
|
116
|
+
"name": "update:modelValue",
|
|
117
|
+
"description": "绑定值更新时触发",
|
|
118
|
+
"type": "(val: string | number | Date | Array<string | number | Date>) => void"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "change",
|
|
122
|
+
"description": "用户确认选定的值时触发",
|
|
123
|
+
"type": "(val: string | number | Date | Array<string | number | Date>) => void"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"name": "blur",
|
|
127
|
+
"description": "在组件 Input 失去焦点时触发",
|
|
128
|
+
"type": "(e: FocusEvent) => void"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "focus",
|
|
132
|
+
"description": "在组件 Input 获得焦点时触发",
|
|
133
|
+
"type": "(e: FocusEvent) => void"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "calendar-change",
|
|
137
|
+
"description": "在日历所选日期更改时触发",
|
|
138
|
+
"type": "(val: [Date, Date | null]) => void"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "panel-change",
|
|
142
|
+
"description": "当日期面板改变时触发",
|
|
143
|
+
"type": "(date: Date, mode: string, view: string) => void"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"name": "visible-change",
|
|
147
|
+
"description": "当 DatePicker 的下拉列表出现/消失时触发",
|
|
148
|
+
"type": "(visibility: boolean) => void"
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"slots": [
|
|
152
|
+
{
|
|
153
|
+
"name": "default",
|
|
154
|
+
"description": "自定义内容"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "range-separator",
|
|
158
|
+
"description": "自定义范围分隔符内容"
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
"methods": [
|
|
162
|
+
{
|
|
163
|
+
"name": "ref",
|
|
164
|
+
"description": "获取 el-date-picker 实例",
|
|
165
|
+
"type": "() => any"
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"types": [
|
|
169
|
+
{
|
|
170
|
+
"name": "DateProps",
|
|
171
|
+
"properties": [
|
|
172
|
+
{
|
|
173
|
+
"name": "modelValue",
|
|
174
|
+
"type": "string | number | Date | Array<string | number | Date>",
|
|
175
|
+
"description": "绑定值"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"name": "selectType",
|
|
179
|
+
"type": "'year' | 'month' | 'date' | 'dates' | 'week' | 'datetime' | 'datetimerange' | 'daterange' | 'monthrange'",
|
|
180
|
+
"description": "显示类型"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"name": "readonly",
|
|
184
|
+
"type": "boolean",
|
|
185
|
+
"description": "是否只读"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"name": "disabled",
|
|
189
|
+
"type": "boolean",
|
|
190
|
+
"description": "是否禁用"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"name": "editable",
|
|
194
|
+
"type": "boolean",
|
|
195
|
+
"description": "文本框可输入"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"name": "clearable",
|
|
199
|
+
"type": "boolean",
|
|
200
|
+
"description": "是否显示清除按钮"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "size",
|
|
204
|
+
"type": "'large' | 'default' | 'small'",
|
|
205
|
+
"description": "输入框尺寸"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"name": "placeholder",
|
|
209
|
+
"type": "string",
|
|
210
|
+
"description": "非范围选择时的占位内容"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"name": "startPlaceholder",
|
|
214
|
+
"type": "string",
|
|
215
|
+
"description": "范围选择时开始日期的占位内容"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "endPlaceholder",
|
|
219
|
+
"type": "string",
|
|
220
|
+
"description": "范围选择时结束日期的占位内容"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"name": "format",
|
|
224
|
+
"type": "string",
|
|
225
|
+
"description": "显示在输入框中的格式"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"name": "valueFormat",
|
|
229
|
+
"type": "string",
|
|
230
|
+
"description": "绑定值的格式。 不指定则绑定值为 Date 对象"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"name": "rangeSeparator",
|
|
234
|
+
"type": "string",
|
|
235
|
+
"description": "选择范围时的分隔符"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"name": "defaultValue",
|
|
239
|
+
"type": "Date | Array<Date>",
|
|
240
|
+
"description": "可选,选择器打开时默认显示的时间"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"name": "defaultTime",
|
|
244
|
+
"type": "Date | Array<Date>",
|
|
245
|
+
"description": "范围选择时选中日期所使用的当日内具体时刻"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"name": "shortcuts",
|
|
249
|
+
"type": "Array<{ text: string; value: Date | Function }>",
|
|
250
|
+
"description": "设置快捷选项,需要传入数组对象"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"name": "disabledDate",
|
|
254
|
+
"type": "(date: Date) => boolean",
|
|
255
|
+
"description": "一个用来判断该日期是否被禁用的函数,接受一个 Date 对象作为参数。 应该返回一个 Boolean 值"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"name": "teleported",
|
|
259
|
+
"type": "boolean",
|
|
260
|
+
"description": "是否将 date-picker 的下拉列表插入至 body 元素"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"name": "prefixIcon",
|
|
264
|
+
"type": "string | Component",
|
|
265
|
+
"description": "自定义头部图标"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"name": "clearIcon",
|
|
269
|
+
"type": "string | Component",
|
|
270
|
+
"description": "自定义清空图标"
|
|
271
|
+
}
|
|
272
|
+
]
|
|
273
|
+
}
|
|
274
|
+
]
|
|
275
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="demo-date-basic">
|
|
3
|
+
<div class="block">
|
|
4
|
+
<span class="demonstration">Default</span>
|
|
5
|
+
<j-date v-model="value1" placeholder="Pick a day" />
|
|
6
|
+
</div>
|
|
7
|
+
<div class="block">
|
|
8
|
+
<span class="demonstration">Picker with quick options</span>
|
|
9
|
+
<j-date
|
|
10
|
+
v-model="value2"
|
|
11
|
+
placeholder="Pick a day"
|
|
12
|
+
:disabled-date="disabledDate"
|
|
13
|
+
:shortcuts="shortcuts"
|
|
14
|
+
/>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script setup lang="ts">
|
|
20
|
+
import { ref } from 'vue'
|
|
21
|
+
|
|
22
|
+
const value1 = ref('')
|
|
23
|
+
const value2 = ref('')
|
|
24
|
+
|
|
25
|
+
const shortcuts = [
|
|
26
|
+
{
|
|
27
|
+
text: 'Today',
|
|
28
|
+
value: new Date(),
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
text: 'Yesterday',
|
|
32
|
+
value: () => {
|
|
33
|
+
const date = new Date()
|
|
34
|
+
date.setTime(date.getTime() - 3600 * 1000 * 24)
|
|
35
|
+
return date
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
text: 'A week ago',
|
|
40
|
+
value: () => {
|
|
41
|
+
const date = new Date()
|
|
42
|
+
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
|
|
43
|
+
return date
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
const disabledDate = (time: Date) => {
|
|
49
|
+
return time.getTime() > Date.now()
|
|
50
|
+
}
|
|
51
|
+
</script>
|
|
52
|
+
|
|
53
|
+
<style scoped>
|
|
54
|
+
.demo-date-basic {
|
|
55
|
+
display: flex;
|
|
56
|
+
flex-wrap: wrap;
|
|
57
|
+
}
|
|
58
|
+
.demo-date-basic .block {
|
|
59
|
+
padding: 30px 0;
|
|
60
|
+
text-align: center;
|
|
61
|
+
border-right: solid 1px var(--el-border-color);
|
|
62
|
+
flex: 1;
|
|
63
|
+
}
|
|
64
|
+
.demo-date-basic .block:last-child {
|
|
65
|
+
border-right: none;
|
|
66
|
+
}
|
|
67
|
+
.demo-date-basic .demonstration {
|
|
68
|
+
display: block;
|
|
69
|
+
color: var(--el-text-color-secondary);
|
|
70
|
+
font-size: 14px;
|
|
71
|
+
margin-bottom: 20px;
|
|
72
|
+
}
|
|
73
|
+
</style>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="demo-date-default">
|
|
3
|
+
<div class="block">
|
|
4
|
+
<span class="demonstration">Default Value</span>
|
|
5
|
+
<j-date
|
|
6
|
+
v-model="value1"
|
|
7
|
+
select-type="date"
|
|
8
|
+
placeholder="Pick a day"
|
|
9
|
+
:default-value="new Date(2010, 9, 1)"
|
|
10
|
+
/>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="block">
|
|
13
|
+
<span class="demonstration">Default Time for Range</span>
|
|
14
|
+
<j-date
|
|
15
|
+
v-model="value2"
|
|
16
|
+
select-type="datetimerange"
|
|
17
|
+
start-placeholder="Start Date"
|
|
18
|
+
end-placeholder="End Date"
|
|
19
|
+
:default-time="defaultTime"
|
|
20
|
+
/>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</template>
|
|
24
|
+
|
|
25
|
+
<script setup lang="ts">
|
|
26
|
+
import { ref } from 'vue'
|
|
27
|
+
|
|
28
|
+
const value1 = ref('')
|
|
29
|
+
const value2 = ref('')
|
|
30
|
+
|
|
31
|
+
const defaultTime = [
|
|
32
|
+
new Date(2000, 1, 1, 12, 0, 0),
|
|
33
|
+
new Date(2000, 2, 1, 8, 0, 0),
|
|
34
|
+
]
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
<style scoped>
|
|
38
|
+
.demo-date-default {
|
|
39
|
+
display: flex;
|
|
40
|
+
flex-wrap: wrap;
|
|
41
|
+
gap: 20px;
|
|
42
|
+
}
|
|
43
|
+
.demo-date-default .block {
|
|
44
|
+
padding: 30px 0;
|
|
45
|
+
text-align: center;
|
|
46
|
+
border-right: solid 1px var(--el-border-color);
|
|
47
|
+
flex: 1;
|
|
48
|
+
min-width: 300px;
|
|
49
|
+
}
|
|
50
|
+
.demo-date-default .block:last-child {
|
|
51
|
+
border-right: none;
|
|
52
|
+
}
|
|
53
|
+
.demo-date-default .demonstration {
|
|
54
|
+
display: block;
|
|
55
|
+
color: var(--el-text-color-secondary);
|
|
56
|
+
font-size: 14px;
|
|
57
|
+
margin-bottom: 20px;
|
|
58
|
+
}
|
|
59
|
+
</style>
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="demo-date-format">
|
|
3
|
+
<div class="block">
|
|
4
|
+
<span class="demonstration">Format</span>
|
|
5
|
+
<div class="demonstration-value">Value: {{ value1 }}</div>
|
|
6
|
+
<j-date
|
|
7
|
+
v-model="value1"
|
|
8
|
+
select-type="date"
|
|
9
|
+
placeholder="Pick a day"
|
|
10
|
+
format="YYYY/MM/DD"
|
|
11
|
+
value-format="YYYY-MM-DD"
|
|
12
|
+
/>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="block">
|
|
15
|
+
<span class="demonstration">Timestamp</span>
|
|
16
|
+
<div class="demonstration-value">Value: {{ value2 }}</div>
|
|
17
|
+
<j-date
|
|
18
|
+
v-model="value2"
|
|
19
|
+
select-type="date"
|
|
20
|
+
placeholder="Pick a day"
|
|
21
|
+
format="YYYY/MM/DD"
|
|
22
|
+
value-format="x"
|
|
23
|
+
/>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="block">
|
|
26
|
+
<span class="demonstration">Month Format</span>
|
|
27
|
+
<div class="demonstration-value">Value: {{ value3 }}</div>
|
|
28
|
+
<j-date
|
|
29
|
+
v-model="value3"
|
|
30
|
+
select-type="month"
|
|
31
|
+
placeholder="Pick a month"
|
|
32
|
+
format="MMM"
|
|
33
|
+
value-format="M"
|
|
34
|
+
/>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
</template>
|
|
38
|
+
|
|
39
|
+
<script setup lang="ts">
|
|
40
|
+
import { ref } from 'vue'
|
|
41
|
+
|
|
42
|
+
const value1 = ref('')
|
|
43
|
+
const value2 = ref('')
|
|
44
|
+
const value3 = ref('')
|
|
45
|
+
</script>
|
|
46
|
+
|
|
47
|
+
<style scoped>
|
|
48
|
+
.demo-date-format {
|
|
49
|
+
display: flex;
|
|
50
|
+
flex-wrap: wrap;
|
|
51
|
+
gap: 20px;
|
|
52
|
+
}
|
|
53
|
+
.demo-date-format .block {
|
|
54
|
+
padding: 30px 0;
|
|
55
|
+
text-align: center;
|
|
56
|
+
border-right: solid 1px var(--el-border-color);
|
|
57
|
+
flex: 1;
|
|
58
|
+
min-width: 300px;
|
|
59
|
+
}
|
|
60
|
+
.demo-date-format .block:last-child {
|
|
61
|
+
border-right: none;
|
|
62
|
+
}
|
|
63
|
+
.demo-date-format .demonstration {
|
|
64
|
+
display: block;
|
|
65
|
+
color: var(--el-text-color-secondary);
|
|
66
|
+
font-size: 14px;
|
|
67
|
+
margin-bottom: 20px;
|
|
68
|
+
}
|
|
69
|
+
.demo-date-format .demonstration-value {
|
|
70
|
+
display: block;
|
|
71
|
+
color: var(--el-text-color-primary);
|
|
72
|
+
font-size: 12px;
|
|
73
|
+
margin-bottom: 10px;
|
|
74
|
+
}
|
|
75
|
+
</style>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="demo-date-range">
|
|
3
|
+
<div class="block">
|
|
4
|
+
<span class="demonstration">Date Range</span>
|
|
5
|
+
<j-date
|
|
6
|
+
v-model="value1"
|
|
7
|
+
select-type="daterange"
|
|
8
|
+
range-separator="To"
|
|
9
|
+
start-placeholder="Start date"
|
|
10
|
+
end-placeholder="End date"
|
|
11
|
+
/>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="block">
|
|
14
|
+
<span class="demonstration">Datetime Range</span>
|
|
15
|
+
<j-date
|
|
16
|
+
v-model="value2"
|
|
17
|
+
select-type="datetimerange"
|
|
18
|
+
range-separator="To"
|
|
19
|
+
start-placeholder="Start date"
|
|
20
|
+
end-placeholder="End date"
|
|
21
|
+
/>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="block">
|
|
24
|
+
<span class="demonstration">Month Range</span>
|
|
25
|
+
<j-date
|
|
26
|
+
v-model="value3"
|
|
27
|
+
select-type="monthrange"
|
|
28
|
+
range-separator="To"
|
|
29
|
+
start-placeholder="Start month"
|
|
30
|
+
end-placeholder="End month"
|
|
31
|
+
/>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</template>
|
|
35
|
+
|
|
36
|
+
<script setup lang="ts">
|
|
37
|
+
import { ref } from 'vue'
|
|
38
|
+
|
|
39
|
+
const value1 = ref('')
|
|
40
|
+
const value2 = ref('')
|
|
41
|
+
const value3 = ref('')
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
<style scoped>
|
|
45
|
+
.demo-date-range {
|
|
46
|
+
display: flex;
|
|
47
|
+
flex-wrap: wrap;
|
|
48
|
+
gap: 20px;
|
|
49
|
+
}
|
|
50
|
+
.demo-date-range .block {
|
|
51
|
+
padding: 30px 0;
|
|
52
|
+
text-align: center;
|
|
53
|
+
border-right: solid 1px var(--el-border-color);
|
|
54
|
+
flex: 1;
|
|
55
|
+
min-width: 300px;
|
|
56
|
+
}
|
|
57
|
+
.demo-date-range .block:last-child {
|
|
58
|
+
border-right: none;
|
|
59
|
+
}
|
|
60
|
+
.demo-date-range .demonstration {
|
|
61
|
+
display: block;
|
|
62
|
+
color: var(--el-text-color-secondary);
|
|
63
|
+
font-size: 14px;
|
|
64
|
+
margin-bottom: 20px;
|
|
65
|
+
}
|
|
66
|
+
</style>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="demo-date-types">
|
|
3
|
+
<div class="block">
|
|
4
|
+
<span class="demonstration">Week</span>
|
|
5
|
+
<j-date
|
|
6
|
+
v-model="value1"
|
|
7
|
+
select-type="week"
|
|
8
|
+
format="[Week] ww"
|
|
9
|
+
placeholder="Pick a week"
|
|
10
|
+
/>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="block">
|
|
13
|
+
<span class="demonstration">Month</span>
|
|
14
|
+
<j-date
|
|
15
|
+
v-model="value2"
|
|
16
|
+
select-type="month"
|
|
17
|
+
placeholder="Pick a month"
|
|
18
|
+
/>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="block">
|
|
21
|
+
<span class="demonstration">Year</span>
|
|
22
|
+
<j-date
|
|
23
|
+
v-model="value3"
|
|
24
|
+
select-type="year"
|
|
25
|
+
placeholder="Pick a year"
|
|
26
|
+
/>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="block">
|
|
29
|
+
<span class="demonstration">Dates</span>
|
|
30
|
+
<j-date
|
|
31
|
+
v-model="value4"
|
|
32
|
+
select-type="dates"
|
|
33
|
+
placeholder="Pick one or more dates"
|
|
34
|
+
/>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="block">
|
|
37
|
+
<span class="demonstration">Datetime</span>
|
|
38
|
+
<j-date
|
|
39
|
+
v-model="value5"
|
|
40
|
+
select-type="datetime"
|
|
41
|
+
placeholder="Select date and time"
|
|
42
|
+
/>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</template>
|
|
46
|
+
|
|
47
|
+
<script setup lang="ts">
|
|
48
|
+
import { ref } from 'vue'
|
|
49
|
+
|
|
50
|
+
const value1 = ref('')
|
|
51
|
+
const value2 = ref('')
|
|
52
|
+
const value3 = ref('')
|
|
53
|
+
const value4 = ref('')
|
|
54
|
+
const value5 = ref('')
|
|
55
|
+
</script>
|
|
56
|
+
|
|
57
|
+
<style scoped>
|
|
58
|
+
.demo-date-types {
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-wrap: wrap;
|
|
61
|
+
gap: 20px;
|
|
62
|
+
}
|
|
63
|
+
.demo-date-types .block {
|
|
64
|
+
padding: 30px 0;
|
|
65
|
+
text-align: center;
|
|
66
|
+
border-right: solid 1px var(--el-border-color);
|
|
67
|
+
flex: 1;
|
|
68
|
+
min-width: 300px;
|
|
69
|
+
}
|
|
70
|
+
.demo-date-types .block:last-child {
|
|
71
|
+
border-right: none;
|
|
72
|
+
}
|
|
73
|
+
.demo-date-types .demonstration {
|
|
74
|
+
display: block;
|
|
75
|
+
color: var(--el-text-color-secondary);
|
|
76
|
+
font-size: 14px;
|
|
77
|
+
margin-bottom: 20px;
|
|
78
|
+
}
|
|
79
|
+
</style>
|