hy-dispatch-ui-v3 0.2.2 → 0.2.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/es/components/appConfigProvider/appConfigProvider.vue.mjs +3 -1
- package/es/components/appDatePicker/appDatePicker.vue.mjs +57 -3
- package/es/components/appDatePicker/index.mjs +2 -1
- package/es/components/appForm/cpns/appFormItem.vue.mjs +37 -7
- package/es/components/appForm/js/useAppForm.mjs +5 -40
- package/es/components/appIcon/appIcon.vue.mjs +5 -1
- package/es/components/appSearch/cpns/appSearchItem.vue.mjs +33 -3
- package/es/components/appSearch/js/index.mjs +1 -1
- package/es/components/appSearch/js/useAppSearch.mjs +9 -39
- package/es/components/appTimePicker/appTimePicker.vue.mjs +154 -0
- package/es/components/appTimePicker/index.mjs +7 -0
- package/es/components/appTimePicker/style/appTimePicker.scss +0 -0
- package/es/components/appTree/appTree.vue.mjs +11 -8
- package/es/components/appTree/config/tree-config.mjs +33 -0
- package/es/components/appTree/js/index.mjs +10 -12
- package/es/components/appVideoPlayer/appVideoPlayer.vue.mjs +6 -6
- package/es/components/index.mjs +2 -1
- package/es/hooks/index.mjs +1 -0
- package/es/hooks/useEnsureHyIcon.mjs +12 -0
- package/es/hooks/useGlobalConfig.mjs +5 -0
- package/es/index.mjs +3 -1
- package/es/locale/en.mjs +21 -11
- package/es/locale/zh_CN.mjs +21 -11
- package/es/static/_sprite.js +33 -0
- package/es/static/hy-svg-icons/ai.js +30 -0
- package/es/static/hy-svg-icons/batch.js +8 -0
- package/es/static/hy-svg-icons.js +10 -10
- package/es/static/index.js +2 -2
- package/es/static/protocolcheck.js +109 -85
- package/es/static/vite-plugin-hy-svg-icons.js +240 -0
- package/es/utils/date.mjs +1 -0
- package/lib/components/appConfigProvider/appConfigProvider.vue.js +3 -1
- package/lib/components/appDatePicker/appDatePicker.vue.js +56 -2
- package/lib/components/appDatePicker/index.js +2 -0
- package/lib/components/appForm/cpns/appFormItem.vue.js +38 -8
- package/lib/components/appForm/js/useAppForm.js +5 -40
- package/lib/components/appIcon/appIcon.vue.js +4 -0
- package/lib/components/appSearch/cpns/appSearchItem.vue.js +34 -4
- package/lib/components/appSearch/js/index.js +1 -1
- package/lib/components/appSearch/js/useAppSearch.js +9 -39
- package/lib/components/appTimePicker/appTimePicker.vue.js +158 -0
- package/lib/components/appTimePicker/index.js +13 -0
- package/lib/components/appTimePicker/style/appTimePicker.scss +0 -0
- package/lib/components/appTree/appTree.vue.js +10 -7
- package/lib/components/appTree/config/tree-config.js +37 -0
- package/lib/components/appTree/js/index.js +10 -12
- package/lib/components/appVideoPlayer/appVideoPlayer.vue.js +6 -6
- package/lib/components/index.js +12 -8
- package/lib/hooks/index.js +3 -0
- package/lib/hooks/useEnsureHyIcon.js +15 -0
- package/lib/hooks/useGlobalConfig.js +5 -0
- package/lib/index.js +15 -8
- package/lib/locale/en.js +21 -11
- package/lib/locale/zh_CN.js +21 -11
- package/lib/static/_sprite.js +33 -0
- package/lib/static/hy-svg-icons/ai.js +30 -0
- package/lib/static/hy-svg-icons/batch.js +8 -0
- package/lib/static/hy-svg-icons.js +10 -12
- package/lib/static/index.js +2 -5
- package/lib/static/protocolcheck.js +109 -87
- package/lib/static/vite-plugin-hy-svg-icons.js +240 -0
- package/lib/utils/date.js +1 -0
- package/package.json +3 -3
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var elementPlus = require('element-plus');
|
|
7
|
+
var date = require('../../utils/date.js');
|
|
7
8
|
var is = require('../../utils/is.js');
|
|
9
|
+
var useLocale = require('../../hooks/useLocale.js');
|
|
8
10
|
|
|
9
11
|
import "./style/appDatePicker.scss";
|
|
10
12
|
|
|
@@ -25,7 +27,15 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
25
27
|
type: String,
|
|
26
28
|
default: "date"
|
|
27
29
|
// 'year' | 'years' |'month' | 'months' | 'date' | 'dates' | 'datetime' | 'week' | 'datetimerange' | 'daterange' | 'monthrange' | 'yearrange'
|
|
28
|
-
}
|
|
30
|
+
},
|
|
31
|
+
format: {
|
|
32
|
+
type: String
|
|
33
|
+
},
|
|
34
|
+
valueFormat: {
|
|
35
|
+
type: String
|
|
36
|
+
},
|
|
37
|
+
startPlaceholder: String,
|
|
38
|
+
endPlaceholder: String
|
|
29
39
|
}, {
|
|
30
40
|
"modelValue": { type: [String, Date, Array] },
|
|
31
41
|
"modelModifiers": {},
|
|
@@ -38,10 +48,43 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
38
48
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
39
49
|
const props = __props;
|
|
40
50
|
const emits = __emit;
|
|
51
|
+
const { t } = useLocale.useLocale();
|
|
41
52
|
const appDatePicker = vue.useTemplateRef("appDatePicker");
|
|
42
53
|
const dateValue = vue.useModel(__props, "modelValue");
|
|
43
54
|
const startValue = vue.useModel(__props, "start");
|
|
44
55
|
const endValue = vue.useModel(__props, "end");
|
|
56
|
+
const startPlaceholder = vue.computed(() => {
|
|
57
|
+
if (props.startPlaceholder) {
|
|
58
|
+
return props.startPlaceholder;
|
|
59
|
+
}
|
|
60
|
+
switch (props.type) {
|
|
61
|
+
case "daterange":
|
|
62
|
+
return t("datePicker.startDate");
|
|
63
|
+
case "datetimerange":
|
|
64
|
+
return t("datePicker.startDateTime");
|
|
65
|
+
case "monthrange":
|
|
66
|
+
return t("datePicker.startMonth");
|
|
67
|
+
case "yearrange":
|
|
68
|
+
return t("datePicker.startYear");
|
|
69
|
+
}
|
|
70
|
+
return null;
|
|
71
|
+
});
|
|
72
|
+
const endPlaceholder = vue.computed(() => {
|
|
73
|
+
if (props.endPlaceholder) {
|
|
74
|
+
return props.endPlaceholder;
|
|
75
|
+
}
|
|
76
|
+
switch (props.type) {
|
|
77
|
+
case "daterange":
|
|
78
|
+
return t("datePicker.endDate");
|
|
79
|
+
case "datetimerange":
|
|
80
|
+
return t("datePicker.endDateTime");
|
|
81
|
+
case "monthrange":
|
|
82
|
+
return t("datePicker.endMonth");
|
|
83
|
+
case "yearrange":
|
|
84
|
+
return t("datePicker.endYear");
|
|
85
|
+
}
|
|
86
|
+
return null;
|
|
87
|
+
});
|
|
45
88
|
vue.watch(
|
|
46
89
|
() => [startValue.value, endValue.value],
|
|
47
90
|
([start, end]) => {
|
|
@@ -55,6 +98,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
55
98
|
},
|
|
56
99
|
{ immediate: true }
|
|
57
100
|
);
|
|
101
|
+
function dateFormHandler(format) {
|
|
102
|
+
if (format) return format;
|
|
103
|
+
return date.getDefaultValueFormatByType(props.type);
|
|
104
|
+
}
|
|
58
105
|
function onChangeHandler(value) {
|
|
59
106
|
const { timeRangeFill } = props;
|
|
60
107
|
const isFill = timeRangeFill && ["daterange"].includes(props.type);
|
|
@@ -94,7 +141,14 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
94
141
|
modelValue: dateValue.value,
|
|
95
142
|
"onUpdate:modelValue": ($event) => dateValue.value = $event,
|
|
96
143
|
type: __props.type
|
|
97
|
-
}, _ctx.$attrs, {
|
|
144
|
+
}, _ctx.$attrs, {
|
|
145
|
+
format: dateFormHandler(__props.format),
|
|
146
|
+
valueFormat: dateFormHandler(__props.valueFormat),
|
|
147
|
+
"start-placeholder": startPlaceholder.value,
|
|
148
|
+
"range-separator": vue.unref(t)("datePicker.to"),
|
|
149
|
+
"end-placeholder": endPlaceholder.value,
|
|
150
|
+
onChange: onChangeHandler
|
|
151
|
+
}), null, 16, ["modelValue", "onUpdate:modelValue", "type", "format", "valueFormat", "start-placeholder", "range-separator", "end-placeholder"]);
|
|
98
152
|
};
|
|
99
153
|
}
|
|
100
154
|
});
|
|
@@ -6,6 +6,8 @@ var appDatePicker = require('./appDatePicker.vue.js');
|
|
|
6
6
|
var handler = require('../../utils/handler.js');
|
|
7
7
|
|
|
8
8
|
const AppDatePicker = handler.withInstall(appDatePicker.default);
|
|
9
|
+
const ElDatePicker = handler.withInstall(appDatePicker.default, "ElDatePicker");
|
|
9
10
|
|
|
10
11
|
exports.AppDatePicker = AppDatePicker;
|
|
12
|
+
exports.ElDatePicker = ElDatePicker;
|
|
11
13
|
exports.default = AppDatePicker;
|
|
@@ -5,12 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var elementPlus = require('element-plus');
|
|
7
7
|
var iconsVue = require('@element-plus/icons-vue');
|
|
8
|
-
var index$3 = require('../../appDatePicker/index.js');
|
|
9
|
-
var index$4 = require('../../appOrgCascader/index.js');
|
|
10
8
|
var index = require('../js/index.js');
|
|
11
9
|
var form = require('../../../utils/form.js');
|
|
12
10
|
var index$1 = require('../../appTooltip/index.js');
|
|
13
11
|
var index$2 = require('../../appInput/index.js');
|
|
12
|
+
var index$3 = require('../../appDatePicker/index.js');
|
|
13
|
+
var index$4 = require('../../appTimePicker/index.js');
|
|
14
|
+
var index$5 = require('../../appOrgCascader/index.js');
|
|
14
15
|
var is = require('../../../utils/is.js');
|
|
15
16
|
var handler = require('../../../utils/handler.js');
|
|
16
17
|
|
|
@@ -222,9 +223,38 @@ const _sfc_main = {
|
|
|
222
223
|
],
|
|
223
224
|
64
|
|
224
225
|
/* STABLE_FRAGMENT */
|
|
225
|
-
)) : __props.column.type === "
|
|
226
|
+
)) : __props.column.type === "time-picker" ? (vue.openBlock(), vue.createElementBlock(
|
|
226
227
|
vue.Fragment,
|
|
227
228
|
{ key: 4 },
|
|
229
|
+
[
|
|
230
|
+
vue.createCommentVNode(" \u65F6\u95F4\u9009\u62E9\u6846 "),
|
|
231
|
+
__props.column.attrs.isRange ? (vue.openBlock(), vue.createBlock(vue.unref(index$4.AppTimePicker), vue.mergeProps({
|
|
232
|
+
key: 0,
|
|
233
|
+
start: bindValue.value,
|
|
234
|
+
"onUpdate:start": ($event) => bindValue.value = $event,
|
|
235
|
+
end: bindValue2.value,
|
|
236
|
+
"onUpdate:end": ($event) => bindValue2.value = $event,
|
|
237
|
+
"is-range": true,
|
|
238
|
+
style: { "width": "100%" }
|
|
239
|
+
}, __props.column.attrs, {
|
|
240
|
+
disabled: vue.unref(index.isDisabled)(props, __props.column),
|
|
241
|
+
onChange: onChangeHandler
|
|
242
|
+
}), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "disabled"])) : (vue.openBlock(), vue.createBlock(vue.unref(index$4.AppTimePicker), vue.mergeProps({
|
|
243
|
+
key: 1,
|
|
244
|
+
modelValue: bindValue.value,
|
|
245
|
+
"onUpdate:modelValue": ($event) => bindValue.value = $event,
|
|
246
|
+
"is-range": false,
|
|
247
|
+
style: { "width": "100%" }
|
|
248
|
+
}, __props.column.attrs, {
|
|
249
|
+
disabled: vue.unref(index.isDisabled)(props, __props.column),
|
|
250
|
+
onChange: onChangeHandler
|
|
251
|
+
}), null, 16, ["modelValue", "onUpdate:modelValue", "disabled"]))
|
|
252
|
+
],
|
|
253
|
+
64
|
|
254
|
+
/* STABLE_FRAGMENT */
|
|
255
|
+
)) : __props.column.type === "radio" ? (vue.openBlock(), vue.createElementBlock(
|
|
256
|
+
vue.Fragment,
|
|
257
|
+
{ key: 5 },
|
|
228
258
|
[
|
|
229
259
|
vue.createCommentVNode(" \u5355\u9009 "),
|
|
230
260
|
vue.createVNode(vue.unref(elementPlus.ElRadioGroup), vue.mergeProps({
|
|
@@ -240,7 +270,7 @@ const _sfc_main = {
|
|
|
240
270
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
241
271
|
)) : __props.column.type === "checkbox" ? (vue.openBlock(), vue.createElementBlock(
|
|
242
272
|
vue.Fragment,
|
|
243
|
-
{ key:
|
|
273
|
+
{ key: 6 },
|
|
244
274
|
[
|
|
245
275
|
vue.createCommentVNode(" \u591A\u9009 "),
|
|
246
276
|
vue.createVNode(vue.unref(elementPlus.ElCheckboxGroup), vue.mergeProps({
|
|
@@ -256,7 +286,7 @@ const _sfc_main = {
|
|
|
256
286
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
257
287
|
)) : __props.column.type === "switch" ? (vue.openBlock(), vue.createElementBlock(
|
|
258
288
|
vue.Fragment,
|
|
259
|
-
{ key:
|
|
289
|
+
{ key: 7 },
|
|
260
290
|
[
|
|
261
291
|
vue.createCommentVNode(" \u5F00\u5173 "),
|
|
262
292
|
vue.createVNode(vue.unref(elementPlus.ElSwitch), vue.mergeProps({
|
|
@@ -271,7 +301,7 @@ const _sfc_main = {
|
|
|
271
301
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
272
302
|
)) : __props.column.type === "input-number" ? (vue.openBlock(), vue.createElementBlock(
|
|
273
303
|
vue.Fragment,
|
|
274
|
-
{ key:
|
|
304
|
+
{ key: 8 },
|
|
275
305
|
[
|
|
276
306
|
vue.createCommentVNode(" \u6570\u5B57\u8F93\u5165\u6846 "),
|
|
277
307
|
vue.createVNode(vue.unref(elementPlus.ElInputNumber), vue.mergeProps({
|
|
@@ -286,10 +316,10 @@ const _sfc_main = {
|
|
|
286
316
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
287
317
|
)) : __props.column.type === "org-cascader" ? (vue.openBlock(), vue.createElementBlock(
|
|
288
318
|
vue.Fragment,
|
|
289
|
-
{ key:
|
|
319
|
+
{ key: 9 },
|
|
290
320
|
[
|
|
291
321
|
vue.createCommentVNode(" \u90E8\u95E8\u7EA7\u8054\u9009\u62E9\u6846 "),
|
|
292
|
-
vue.createVNode(vue.unref(index$
|
|
322
|
+
vue.createVNode(vue.unref(index$5.AppOrgCascader), vue.mergeProps({
|
|
293
323
|
modelValue: bindValue.value,
|
|
294
324
|
"onUpdate:modelValue": ($event) => bindValue.value = $event,
|
|
295
325
|
class: "w-full"
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
var vue = require('vue');
|
|
4
4
|
var form = require('../../../utils/form.js');
|
|
5
5
|
var handler = require('../../../utils/handler.js');
|
|
6
|
-
var date = require('../../../utils/date.js');
|
|
7
6
|
var is = require('../../../utils/is.js');
|
|
8
7
|
var useLocale = require('../../../hooks/useLocale.js');
|
|
9
8
|
|
|
@@ -25,33 +24,9 @@ const genPlaceholderHandler = (config) => {
|
|
|
25
24
|
placeholder = placeholder || t("hy.pleaseEnterPlaceholder", [label]);
|
|
26
25
|
break;
|
|
27
26
|
case "select":
|
|
28
|
-
placeholder = placeholder || t("hy.pleaseSelectPlaceholder", [label]);
|
|
29
|
-
break;
|
|
30
27
|
case "date-picker":
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
)) {
|
|
34
|
-
switch (attrs.type) {
|
|
35
|
-
case "yearrange":
|
|
36
|
-
startPlaceholder = startPlaceholder || t("hy.startYear");
|
|
37
|
-
endPlaceholder = endPlaceholder || t("hy.endYear");
|
|
38
|
-
break;
|
|
39
|
-
case "monthrange":
|
|
40
|
-
startPlaceholder = startPlaceholder || t("hy.startMonth");
|
|
41
|
-
endPlaceholder = endPlaceholder || t("hy.endMonth");
|
|
42
|
-
break;
|
|
43
|
-
case "daterange":
|
|
44
|
-
startPlaceholder = startPlaceholder || t("hy.startDate");
|
|
45
|
-
endPlaceholder = endPlaceholder || t("hy.endDate");
|
|
46
|
-
break;
|
|
47
|
-
case "datetimerange":
|
|
48
|
-
startPlaceholder = startPlaceholder || t("hy.startDateTime");
|
|
49
|
-
endPlaceholder = endPlaceholder || t("hy.endDateTime");
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
} else {
|
|
53
|
-
placeholder = placeholder || t("hy.pleaseSelectPlaceholder", [label]);
|
|
54
|
-
}
|
|
28
|
+
case "time-picker":
|
|
29
|
+
placeholder = placeholder || t("hy.pleaseSelectPlaceholder", [label]);
|
|
55
30
|
break;
|
|
56
31
|
default:
|
|
57
32
|
placeholder = placeholder || label;
|
|
@@ -88,7 +63,7 @@ const rulesHandler = (config) => {
|
|
|
88
63
|
};
|
|
89
64
|
function appFormItemHandler(column = {}) {
|
|
90
65
|
const label = genDefaultLabel(column);
|
|
91
|
-
const { placeholder
|
|
66
|
+
const { placeholder} = genPlaceholderHandler({ ...column, label });
|
|
92
67
|
const attrs = { ...column.attrs || {}, placeholder };
|
|
93
68
|
column = handler.mergeDeep(
|
|
94
69
|
{ ...column },
|
|
@@ -97,7 +72,8 @@ function appFormItemHandler(column = {}) {
|
|
|
97
72
|
field: column.prop,
|
|
98
73
|
label,
|
|
99
74
|
readonly: column.readonly || false,
|
|
100
|
-
rules: rulesHandler(column)
|
|
75
|
+
rules: rulesHandler(column),
|
|
76
|
+
attrs
|
|
101
77
|
}
|
|
102
78
|
);
|
|
103
79
|
if (/^(input)$/.test(column.type)) {
|
|
@@ -122,17 +98,6 @@ function appFormItemHandler(column = {}) {
|
|
|
122
98
|
}
|
|
123
99
|
}
|
|
124
100
|
};
|
|
125
|
-
} else if (/^date-picker$/.test(column.type)) {
|
|
126
|
-
return {
|
|
127
|
-
...column,
|
|
128
|
-
attrs: {
|
|
129
|
-
format: attrs.format || date.getDefaultValueFormatByType(attrs.type),
|
|
130
|
-
valueFormat: attrs.valueFormat || date.getDefaultValueFormatByType(attrs.type),
|
|
131
|
-
...attrs,
|
|
132
|
-
startPlaceholder,
|
|
133
|
-
endPlaceholder
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
101
|
} else if (/^(extra)$/.test(column.type)) {
|
|
137
102
|
return {
|
|
138
103
|
...column,
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
|
+
var useEnsureHyIcon = require('../../hooks/useEnsureHyIcon.js');
|
|
6
7
|
|
|
7
8
|
import "./style/appIcon.scss";
|
|
8
9
|
|
|
@@ -27,6 +28,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
27
28
|
},
|
|
28
29
|
setup(__props) {
|
|
29
30
|
const props = __props;
|
|
31
|
+
const { ensureHyIcon } = useEnsureHyIcon.useEnsureHyIcon();
|
|
32
|
+
vue.onMounted(() => ensureHyIcon(props.svgName));
|
|
33
|
+
vue.watch(() => props.svgName, ensureHyIcon);
|
|
30
34
|
const iconName = vue.computed(() => `#${props.prefix}${props.svgName}`);
|
|
31
35
|
const svgClass = vue.computed(() => {
|
|
32
36
|
if (props.className) {
|
|
@@ -5,11 +5,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var elementPlus = require('element-plus');
|
|
7
7
|
var index = require('../js/index.js');
|
|
8
|
-
var index$2 = require('../../appDatePicker/index.js');
|
|
9
|
-
var index$3 = require('../../appOrgCascader/index.js');
|
|
10
8
|
var is = require('../../../utils/is.js');
|
|
11
9
|
var form = require('../../../utils/form.js');
|
|
12
10
|
var index$1 = require('../../appInput/index.js');
|
|
11
|
+
var index$2 = require('../../appDatePicker/index.js');
|
|
12
|
+
var index$3 = require('../../appTimePicker/index.js');
|
|
13
|
+
var index$4 = require('../../appOrgCascader/index.js');
|
|
13
14
|
|
|
14
15
|
const _sfc_main = {
|
|
15
16
|
__name: "appSearchItem",
|
|
@@ -179,12 +180,41 @@ const _sfc_main = {
|
|
|
179
180
|
],
|
|
180
181
|
64
|
|
181
182
|
/* STABLE_FRAGMENT */
|
|
182
|
-
)) : __props.column.type === "
|
|
183
|
+
)) : __props.column.type === "time-picker" ? (vue.openBlock(), vue.createElementBlock(
|
|
183
184
|
vue.Fragment,
|
|
184
185
|
{ key: 4 },
|
|
186
|
+
[
|
|
187
|
+
vue.createCommentVNode(" \u65F6\u95F4\u9009\u62E9\u6846 "),
|
|
188
|
+
__props.column.attrs.isRange ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.AppTimePicker), vue.mergeProps({
|
|
189
|
+
key: 0,
|
|
190
|
+
start: bindValue.value,
|
|
191
|
+
"onUpdate:start": ($event) => bindValue.value = $event,
|
|
192
|
+
end: bindValue2.value,
|
|
193
|
+
"onUpdate:end": ($event) => bindValue2.value = $event,
|
|
194
|
+
"is-range": true,
|
|
195
|
+
style: { "width": "100%" }
|
|
196
|
+
}, __props.column.attrs, {
|
|
197
|
+
disabled: vue.unref(index.isDisabled)(props, __props.column),
|
|
198
|
+
onChange: onChangeHandler
|
|
199
|
+
}), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "disabled"])) : (vue.openBlock(), vue.createBlock(vue.unref(index$3.AppTimePicker), vue.mergeProps({
|
|
200
|
+
key: 1,
|
|
201
|
+
modelValue: bindValue.value,
|
|
202
|
+
"onUpdate:modelValue": ($event) => bindValue.value = $event,
|
|
203
|
+
"is-range": false,
|
|
204
|
+
style: { "width": "100%" }
|
|
205
|
+
}, __props.column.attrs, {
|
|
206
|
+
disabled: vue.unref(index.isDisabled)(props, __props.column),
|
|
207
|
+
onChange: onChangeHandler
|
|
208
|
+
}), null, 16, ["modelValue", "onUpdate:modelValue", "disabled"]))
|
|
209
|
+
],
|
|
210
|
+
64
|
|
211
|
+
/* STABLE_FRAGMENT */
|
|
212
|
+
)) : __props.column.type === "org-cascader" ? (vue.openBlock(), vue.createElementBlock(
|
|
213
|
+
vue.Fragment,
|
|
214
|
+
{ key: 5 },
|
|
185
215
|
[
|
|
186
216
|
vue.createCommentVNode(" \u90E8\u95E8\u7EA7\u8054\u9009\u62E9\u6846 "),
|
|
187
|
-
vue.createVNode(vue.unref(index$
|
|
217
|
+
vue.createVNode(vue.unref(index$4.AppOrgCascader), vue.mergeProps({
|
|
188
218
|
modelValue: bindValue.value,
|
|
189
219
|
"onUpdate:modelValue": ($event) => bindValue.value = $event
|
|
190
220
|
}, __props.column.attrs, {
|
|
@@ -11,7 +11,7 @@ function columnItemStyle(props, column) {
|
|
|
11
11
|
if (is.isNumber(width)) {
|
|
12
12
|
style.width = `${width}px`;
|
|
13
13
|
} else if (is.isString(width)) {
|
|
14
|
-
style.width =
|
|
14
|
+
style.width = /^\d+$/.test(width) ? `${width}px` : width;
|
|
15
15
|
}
|
|
16
16
|
return style;
|
|
17
17
|
}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
var vue = require('vue');
|
|
4
4
|
var handler = require('../../../utils/handler.js');
|
|
5
5
|
var form = require('../../../utils/form.js');
|
|
6
|
-
var date = require('../../../utils/date.js');
|
|
7
6
|
var useLocale = require('../../../hooks/useLocale.js');
|
|
8
7
|
var is = require('../../../utils/is.js');
|
|
9
8
|
|
|
@@ -23,33 +22,12 @@ const genPlaceholderHandler = (config) => {
|
|
|
23
22
|
switch (type) {
|
|
24
23
|
case "input":
|
|
25
24
|
placeholder = placeholder || t("hy.pleaseEnterPlaceholder", [label]);
|
|
25
|
+
break;
|
|
26
26
|
case "select":
|
|
27
|
-
placeholder = placeholder || t("hy.pleaseSelectPlaceholder", [label]);
|
|
28
27
|
case "date-picker":
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
switch (attrs.type) {
|
|
33
|
-
case "yearrange":
|
|
34
|
-
startPlaceholder = startPlaceholder || t("hy.startYear");
|
|
35
|
-
endPlaceholder = endPlaceholder || t("hy.endYear");
|
|
36
|
-
break;
|
|
37
|
-
case "monthrange":
|
|
38
|
-
startPlaceholder = startPlaceholder || t("hy.startMonth");
|
|
39
|
-
endPlaceholder = endPlaceholder || t("hy.endMonth");
|
|
40
|
-
break;
|
|
41
|
-
case "daterange":
|
|
42
|
-
startPlaceholder = startPlaceholder || t("hy.startDate");
|
|
43
|
-
endPlaceholder = endPlaceholder || t("hy.endDate");
|
|
44
|
-
break;
|
|
45
|
-
case "datetimerange":
|
|
46
|
-
startPlaceholder = startPlaceholder || t("hy.startDateTime");
|
|
47
|
-
endPlaceholder = endPlaceholder || t("hy.endDateTime");
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
} else {
|
|
51
|
-
placeholder = placeholder || t("hy.pleaseSelectPlaceholder", [label]);
|
|
52
|
-
}
|
|
28
|
+
case "time-picker":
|
|
29
|
+
placeholder = placeholder || t("hy.pleaseSelectPlaceholder", [label]);
|
|
30
|
+
break;
|
|
53
31
|
default:
|
|
54
32
|
placeholder = placeholder || label;
|
|
55
33
|
}
|
|
@@ -73,6 +51,8 @@ const genColumnWidth = (config) => {
|
|
|
73
51
|
default:
|
|
74
52
|
inputWidth = 145;
|
|
75
53
|
}
|
|
54
|
+
} else if (type === "time-picker" && attrs.isRange) {
|
|
55
|
+
width = 350;
|
|
76
56
|
} else {
|
|
77
57
|
width = 250;
|
|
78
58
|
}
|
|
@@ -107,7 +87,7 @@ const timeRangeOptionsHandler = (config) => {
|
|
|
107
87
|
};
|
|
108
88
|
function appSearchItemHandler(column = {}) {
|
|
109
89
|
const label = genDefaultLabel(column);
|
|
110
|
-
const { placeholder
|
|
90
|
+
const { placeholder} = genPlaceholderHandler({ ...column, label });
|
|
111
91
|
const attrs = {
|
|
112
92
|
clearable: true,
|
|
113
93
|
...column.attrs || {},
|
|
@@ -123,7 +103,8 @@ function appSearchItemHandler(column = {}) {
|
|
|
123
103
|
readonly: column.readonly || false,
|
|
124
104
|
width,
|
|
125
105
|
inputWidth,
|
|
126
|
-
timeRangeOptions: timeRangeOptionsHandler(column)
|
|
106
|
+
timeRangeOptions: timeRangeOptionsHandler(column),
|
|
107
|
+
attrs
|
|
127
108
|
}
|
|
128
109
|
);
|
|
129
110
|
if (/^(input)$/.test(column.type)) {
|
|
@@ -148,17 +129,6 @@ function appSearchItemHandler(column = {}) {
|
|
|
148
129
|
}
|
|
149
130
|
}
|
|
150
131
|
};
|
|
151
|
-
} else if (/^date-picker$/.test(column.type)) {
|
|
152
|
-
return {
|
|
153
|
-
...column,
|
|
154
|
-
attrs: {
|
|
155
|
-
format: attrs.format || date.getDefaultValueFormatByType(attrs.type),
|
|
156
|
-
valueFormat: attrs.valueFormat || date.getDefaultValueFormatByType(attrs.type),
|
|
157
|
-
...attrs,
|
|
158
|
-
startPlaceholder,
|
|
159
|
-
endPlaceholder
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
132
|
}
|
|
163
133
|
return column;
|
|
164
134
|
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var dayjs = require('dayjs');
|
|
7
|
+
var elementPlus = require('element-plus');
|
|
8
|
+
var useLocale = require('../../hooks/useLocale.js');
|
|
9
|
+
var is = require('../../utils/is.js');
|
|
10
|
+
|
|
11
|
+
import "./style/appTimePicker.scss";
|
|
12
|
+
|
|
13
|
+
const __default__ = vue.defineComponent({
|
|
14
|
+
name: "AppTimePicker"
|
|
15
|
+
});
|
|
16
|
+
const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
17
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
18
|
+
isRange: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: false
|
|
21
|
+
},
|
|
22
|
+
format: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: "HH:mm:ss"
|
|
25
|
+
},
|
|
26
|
+
valueFormat: {
|
|
27
|
+
type: String
|
|
28
|
+
},
|
|
29
|
+
disabledSeconds: Function,
|
|
30
|
+
startPlaceholder: String,
|
|
31
|
+
endPlaceholder: String
|
|
32
|
+
}, {
|
|
33
|
+
"modelValue": {
|
|
34
|
+
type: [String, Number, Date, Array]
|
|
35
|
+
},
|
|
36
|
+
"modelModifiers": {},
|
|
37
|
+
"start": { type: [String, Number, Date] },
|
|
38
|
+
"startModifiers": {},
|
|
39
|
+
"end": { type: [String, Number, Date] },
|
|
40
|
+
"endModifiers": {}
|
|
41
|
+
}),
|
|
42
|
+
emits: /* @__PURE__ */ vue.mergeModels(["change"], ["update:modelValue", "update:start", "update:end"]),
|
|
43
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
44
|
+
const props = __props;
|
|
45
|
+
const emits = __emit;
|
|
46
|
+
const { t } = useLocale.useLocale();
|
|
47
|
+
const appTimePicker = vue.useTemplateRef("appTimePicker");
|
|
48
|
+
const timeValue = vue.useModel(__props, "modelValue");
|
|
49
|
+
const startValue = vue.useModel(__props, "start");
|
|
50
|
+
const endValue = vue.useModel(__props, "end");
|
|
51
|
+
const startPlaceholder = vue.computed(() => {
|
|
52
|
+
if (props.startPlaceholder) {
|
|
53
|
+
return props.startPlaceholder;
|
|
54
|
+
}
|
|
55
|
+
return t("timePicker.startTime");
|
|
56
|
+
});
|
|
57
|
+
const endPlaceholder = vue.computed(() => {
|
|
58
|
+
if (props.endPlaceholder) {
|
|
59
|
+
return props.endPlaceholder;
|
|
60
|
+
}
|
|
61
|
+
return t("timePicker.endTime");
|
|
62
|
+
});
|
|
63
|
+
const disabledSecondsHandler = vue.computed(() => {
|
|
64
|
+
return (hour, minute, role, comparingDate) => {
|
|
65
|
+
if (props.disabledSeconds) {
|
|
66
|
+
return props.disabledSeconds(hour, minute, role, comparingDate);
|
|
67
|
+
}
|
|
68
|
+
if (props.isRange && is.isArray(timeValue.value) && timeValue.value.length === 2) {
|
|
69
|
+
const spinnerValue = role === "start" ? timeValue.value[1] : timeValue.value[0];
|
|
70
|
+
const spinnerHours = sliceTime(spinnerValue, "HH");
|
|
71
|
+
const spinnerMinutes = sliceTime(spinnerValue, "mm");
|
|
72
|
+
const spinnerSeconds = sliceTime(spinnerValue, "ss");
|
|
73
|
+
const isEqual = spinnerHours === hour && spinnerMinutes === minute;
|
|
74
|
+
if (isEqual) {
|
|
75
|
+
return role === "start" ? makeRange(Math.max(0, spinnerSeconds), 60) : makeRange(0, Math.min(spinnerSeconds, 60));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
});
|
|
80
|
+
vue.watch(
|
|
81
|
+
() => [startValue.value, endValue.value],
|
|
82
|
+
([start, end]) => {
|
|
83
|
+
if (props.isRange && start && end) {
|
|
84
|
+
timeValue.value = [start, end];
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{ immediate: true }
|
|
88
|
+
);
|
|
89
|
+
const makeRange = (start, end) => {
|
|
90
|
+
const result = [];
|
|
91
|
+
for (let i = start; i <= end; i++) {
|
|
92
|
+
result.push(i);
|
|
93
|
+
}
|
|
94
|
+
return result;
|
|
95
|
+
};
|
|
96
|
+
const sliceTime = (date, format) => {
|
|
97
|
+
if (!date) return null;
|
|
98
|
+
const valueFormat = timeFormHandler(props.valueFormat);
|
|
99
|
+
if (!valueFormat) {
|
|
100
|
+
return Number(dayjs(date).format(format));
|
|
101
|
+
}
|
|
102
|
+
const result = valueFormat.match(format);
|
|
103
|
+
if (!result) return null;
|
|
104
|
+
return Number(date.slice(result.index, result.index + format.length));
|
|
105
|
+
};
|
|
106
|
+
function timeFormHandler(format) {
|
|
107
|
+
if (format) return format;
|
|
108
|
+
return "HH:mm:ss";
|
|
109
|
+
}
|
|
110
|
+
function onChangeHandler(value) {
|
|
111
|
+
const { timeRangeFill } = props;
|
|
112
|
+
if (props.isRange) {
|
|
113
|
+
startValue.value = is.isArray(value) ? value[0] : null;
|
|
114
|
+
endValue.value = is.isArray(value) ? value[1] : null;
|
|
115
|
+
} else {
|
|
116
|
+
timeValue.value = value;
|
|
117
|
+
}
|
|
118
|
+
emits("change", timeValue.value);
|
|
119
|
+
}
|
|
120
|
+
__expose({
|
|
121
|
+
focus() {
|
|
122
|
+
if (!vue.unref(appTimePicker)) return;
|
|
123
|
+
vue.unref(appTimePicker).focus();
|
|
124
|
+
},
|
|
125
|
+
blur() {
|
|
126
|
+
if (!vue.unref(appTimePicker)) return;
|
|
127
|
+
vue.unref(appTimePicker).blur();
|
|
128
|
+
},
|
|
129
|
+
handleOpen() {
|
|
130
|
+
if (!vue.unref(appTimePicker)) return;
|
|
131
|
+
vue.unref(appTimePicker).handleOpen();
|
|
132
|
+
},
|
|
133
|
+
handleClose() {
|
|
134
|
+
if (!vue.unref(appTimePicker)) return;
|
|
135
|
+
vue.unref(appTimePicker).handleClose();
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
return (_ctx, _cache) => {
|
|
139
|
+
return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElTimePicker), vue.mergeProps({
|
|
140
|
+
ref_key: "appTimePicker",
|
|
141
|
+
ref: appTimePicker,
|
|
142
|
+
modelValue: timeValue.value,
|
|
143
|
+
"onUpdate:modelValue": ($event) => timeValue.value = $event
|
|
144
|
+
}, _ctx.$attrs, {
|
|
145
|
+
isRange: __props.isRange,
|
|
146
|
+
format: timeFormHandler(__props.format),
|
|
147
|
+
valueFormat: timeFormHandler(__props.valueFormat),
|
|
148
|
+
disabledSeconds: disabledSecondsHandler.value,
|
|
149
|
+
"start-placeholder": startPlaceholder.value,
|
|
150
|
+
"range-separator": vue.unref(t)("timePicker.to"),
|
|
151
|
+
"end-placeholder": endPlaceholder.value,
|
|
152
|
+
onChange: onChangeHandler
|
|
153
|
+
}), null, 16, ["modelValue", "onUpdate:modelValue", "isRange", "format", "valueFormat", "disabledSeconds", "start-placeholder", "range-separator", "end-placeholder"]);
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
exports.default = _sfc_main;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var appTimePicker = require('./appTimePicker.vue.js');
|
|
6
|
+
var handler = require('../../utils/handler.js');
|
|
7
|
+
|
|
8
|
+
const AppTimePicker = handler.withInstall(appTimePicker.default);
|
|
9
|
+
const ElTimePicker = handler.withInstall(appTimePicker.default, "ElTimePicker");
|
|
10
|
+
|
|
11
|
+
exports.AppTimePicker = AppTimePicker;
|
|
12
|
+
exports.ElTimePicker = ElTimePicker;
|
|
13
|
+
exports.default = AppTimePicker;
|
|
File without changes
|