ele-admin-plus 1.4.1-beta.1 → 1.4.1

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 (224) hide show
  1. package/es/core-components.d.ts +2 -0
  2. package/es/core-components.js +104 -100
  3. package/es/ele-app/plus.d.ts +9 -1
  4. package/es/ele-app/plusx.d.ts +26 -13
  5. package/es/ele-backtop/index.js +7 -1
  6. package/es/ele-basic-select/components/select-view.d.ts +53 -22
  7. package/es/ele-basic-select/components/select-view.js +57 -20
  8. package/es/ele-basic-select/index.d.ts +39 -19
  9. package/es/ele-basic-select/index.js +62 -13
  10. package/es/ele-basic-select/props.d.ts +33 -21
  11. package/es/ele-basic-select/props.js +33 -21
  12. package/es/ele-basic-select/style/index.js +2 -0
  13. package/es/ele-basic-select/types.d.ts +1 -1
  14. package/es/ele-config-provider/components/receiver-view.d.ts +2 -0
  15. package/es/ele-config-provider/components/receiver-view.js +74 -72
  16. package/es/ele-config-provider/receiver.d.ts +2 -2
  17. package/es/ele-config-provider/receiver.js +5 -1
  18. package/es/ele-config-provider/types.d.ts +10 -1
  19. package/es/ele-copyable/index.d.ts +2 -4
  20. package/es/ele-cron-builder/index.d.ts +24 -0
  21. package/es/ele-cron-builder/index.js +81 -0
  22. package/es/ele-cron-builder/props.d.ts +31 -0
  23. package/es/ele-cron-builder/props.js +24 -0
  24. package/es/ele-cron-builder/style/index.d.ts +1 -0
  25. package/es/ele-cron-builder/style/index.js +4 -0
  26. package/es/ele-cron-builder/style/index.scss +6 -0
  27. package/es/ele-cron-builder/types.d.ts +8 -0
  28. package/es/ele-cron-panel/components/cron-day.d.ts +25 -0
  29. package/es/ele-cron-panel/components/cron-day.js +232 -0
  30. package/es/ele-cron-panel/components/cron-hour.d.ts +25 -0
  31. package/es/ele-cron-panel/components/cron-hour.js +174 -0
  32. package/es/ele-cron-panel/components/cron-minute.d.ts +25 -0
  33. package/es/ele-cron-panel/components/cron-minute.js +174 -0
  34. package/es/ele-cron-panel/components/cron-month.d.ts +25 -0
  35. package/es/ele-cron-panel/components/cron-month.js +174 -0
  36. package/es/ele-cron-panel/components/cron-second.d.ts +25 -0
  37. package/es/ele-cron-panel/components/cron-second.js +174 -0
  38. package/es/ele-cron-panel/components/cron-week.d.ts +25 -0
  39. package/es/ele-cron-panel/components/cron-week.js +229 -0
  40. package/es/ele-cron-panel/components/cron-year.d.ts +25 -0
  41. package/es/ele-cron-panel/components/cron-year.js +186 -0
  42. package/es/ele-cron-panel/index.d.ts +14 -0
  43. package/es/ele-cron-panel/index.js +348 -0
  44. package/es/ele-cron-panel/props.d.ts +20 -0
  45. package/es/ele-cron-panel/props.js +14 -0
  46. package/es/ele-cron-panel/style/index.d.ts +1 -0
  47. package/es/ele-cron-panel/style/index.js +7 -0
  48. package/es/ele-cron-panel/style/index.scss +282 -0
  49. package/es/ele-cron-panel/types.d.ts +118 -0
  50. package/es/ele-cron-panel/util.d.ts +23 -0
  51. package/es/ele-cron-panel/util.js +542 -0
  52. package/es/ele-cropper/components/cropper-tools.d.ts +2 -2
  53. package/es/ele-cropper-modal/index.d.ts +2 -4
  54. package/es/ele-crud/index.d.ts +3 -3
  55. package/es/ele-drawer/index.d.ts +9 -0
  56. package/es/ele-drawer/index.js +5 -1
  57. package/es/ele-drawer/props.d.ts +5 -0
  58. package/es/ele-drawer/props.js +6 -1
  59. package/es/ele-drawer/style/index.scss +11 -0
  60. package/es/ele-file-list/index.d.ts +3 -3
  61. package/es/ele-icon-select/components/icon-grid.d.ts +8 -3
  62. package/es/ele-icon-select/components/icon-grid.js +20 -12
  63. package/es/ele-icon-select/index.d.ts +58 -59
  64. package/es/ele-icon-select/index.js +92 -86
  65. package/es/ele-icon-select/props.d.ts +35 -35
  66. package/es/ele-icon-select/props.js +34 -34
  67. package/es/ele-icon-select/style/css-var.scss +1 -1
  68. package/es/ele-icon-select/style/index.scss +50 -18
  69. package/es/ele-icon-select/types.d.ts +13 -0
  70. package/es/ele-map-picker/index.d.ts +3 -3
  71. package/es/ele-modal/index.d.ts +4 -2
  72. package/es/ele-modal/index.js +9 -3
  73. package/es/ele-modal/props.d.ts +2 -0
  74. package/es/ele-modal/props.js +2 -0
  75. package/es/ele-modal/style/index.scss +16 -0
  76. package/es/ele-pro-form/components/item-type-data.js +39 -64
  77. package/es/ele-pro-form/index.d.ts +3 -3
  78. package/es/ele-pro-table/components/table-tools.d.ts +12 -97
  79. package/es/ele-pro-table/components/table-tools.js +118 -248
  80. package/es/ele-pro-table/components/tool-export.d.ts +5 -1
  81. package/es/ele-pro-table/components/tool-export.js +32 -20
  82. package/es/ele-pro-table/components/tool-print.d.ts +5 -1
  83. package/es/ele-pro-table/components/tool-print.js +37 -25
  84. package/es/ele-pro-table/exceljs-plugin.d.ts +12 -0
  85. package/es/ele-pro-table/exceljs-plugin.js +81 -0
  86. package/es/ele-pro-table/index.d.ts +6 -7
  87. package/es/ele-pro-table/index.js +117 -46
  88. package/es/ele-pro-table/types.d.ts +11 -0
  89. package/es/ele-split-panel/style/index.scss +1 -1
  90. package/es/ele-table-select/index.d.ts +2 -0
  91. package/es/ele-table-select/props.d.ts +2 -0
  92. package/es/ele-table-select/props.js +3 -1
  93. package/es/ele-tour/index.d.ts +3 -3
  94. package/es/ele-tree-select/index.d.ts +2 -0
  95. package/es/ele-upload-list/index.d.ts +3 -3
  96. package/es/ele-upload-list/index.js +25 -8
  97. package/es/ele-virtual-table/components/body-cell.d.ts +1 -1
  98. package/es/ele-watermark/index.d.ts +20 -7
  99. package/es/ele-watermark/index.js +253 -94
  100. package/es/ele-watermark/props.d.ts +10 -3
  101. package/es/ele-watermark/props.js +10 -3
  102. package/es/ele-watermark/types.d.ts +12 -0
  103. package/es/ele-watermark/util.d.ts +2 -9
  104. package/es/ele-watermark/util.js +10 -19
  105. package/es/lang/en_US.js +116 -0
  106. package/es/lang/zh_CN.js +116 -0
  107. package/es/lang/zh_TW.js +116 -0
  108. package/es/style/plus.scss +3 -1
  109. package/es/style/themes/default.scss +12 -3
  110. package/es/style/themes/rounded.scss +2 -1
  111. package/es/utils/theme-util.d.ts +1 -1
  112. package/lib/core-components.cjs +104 -100
  113. package/lib/core-components.d.ts +2 -0
  114. package/lib/ele-app/plus.d.ts +9 -1
  115. package/lib/ele-app/plusx.d.ts +26 -13
  116. package/lib/ele-backtop/index.cjs +6 -0
  117. package/lib/ele-basic-select/components/select-view.cjs +56 -19
  118. package/lib/ele-basic-select/components/select-view.d.ts +53 -22
  119. package/lib/ele-basic-select/index.cjs +61 -12
  120. package/lib/ele-basic-select/index.d.ts +39 -19
  121. package/lib/ele-basic-select/props.cjs +33 -21
  122. package/lib/ele-basic-select/props.d.ts +33 -21
  123. package/lib/ele-basic-select/style/index.cjs +2 -0
  124. package/lib/ele-basic-select/types.d.ts +1 -1
  125. package/lib/ele-config-provider/components/receiver-view.cjs +2 -2
  126. package/lib/ele-config-provider/components/receiver-view.d.ts +2 -0
  127. package/lib/ele-config-provider/receiver.cjs +5 -1
  128. package/lib/ele-config-provider/receiver.d.ts +2 -2
  129. package/lib/ele-config-provider/types.d.ts +10 -1
  130. package/lib/ele-copyable/index.d.ts +2 -4
  131. package/lib/ele-cron-builder/index.cjs +80 -0
  132. package/lib/ele-cron-builder/index.d.ts +24 -0
  133. package/lib/ele-cron-builder/props.cjs +24 -0
  134. package/lib/ele-cron-builder/props.d.ts +31 -0
  135. package/lib/ele-cron-builder/style/index.cjs +5 -0
  136. package/lib/ele-cron-builder/style/index.d.ts +1 -0
  137. package/lib/ele-cron-builder/style/index.scss +6 -0
  138. package/lib/ele-cron-builder/types.d.ts +8 -0
  139. package/lib/ele-cron-panel/components/cron-day.cjs +231 -0
  140. package/lib/ele-cron-panel/components/cron-day.d.ts +25 -0
  141. package/lib/ele-cron-panel/components/cron-hour.cjs +173 -0
  142. package/lib/ele-cron-panel/components/cron-hour.d.ts +25 -0
  143. package/lib/ele-cron-panel/components/cron-minute.cjs +173 -0
  144. package/lib/ele-cron-panel/components/cron-minute.d.ts +25 -0
  145. package/lib/ele-cron-panel/components/cron-month.cjs +173 -0
  146. package/lib/ele-cron-panel/components/cron-month.d.ts +25 -0
  147. package/lib/ele-cron-panel/components/cron-second.cjs +173 -0
  148. package/lib/ele-cron-panel/components/cron-second.d.ts +25 -0
  149. package/lib/ele-cron-panel/components/cron-week.cjs +228 -0
  150. package/lib/ele-cron-panel/components/cron-week.d.ts +25 -0
  151. package/lib/ele-cron-panel/components/cron-year.cjs +185 -0
  152. package/lib/ele-cron-panel/components/cron-year.d.ts +25 -0
  153. package/lib/ele-cron-panel/index.cjs +347 -0
  154. package/lib/ele-cron-panel/index.d.ts +14 -0
  155. package/lib/ele-cron-panel/props.cjs +14 -0
  156. package/lib/ele-cron-panel/props.d.ts +20 -0
  157. package/lib/ele-cron-panel/style/index.cjs +8 -0
  158. package/lib/ele-cron-panel/style/index.d.ts +1 -0
  159. package/lib/ele-cron-panel/style/index.scss +282 -0
  160. package/lib/ele-cron-panel/types.d.ts +118 -0
  161. package/lib/ele-cron-panel/util.cjs +542 -0
  162. package/lib/ele-cron-panel/util.d.ts +23 -0
  163. package/lib/ele-cropper/components/cropper-tools.d.ts +2 -2
  164. package/lib/ele-cropper-modal/index.d.ts +2 -4
  165. package/lib/ele-crud/index.d.ts +3 -3
  166. package/lib/ele-drawer/index.cjs +4 -0
  167. package/lib/ele-drawer/index.d.ts +9 -0
  168. package/lib/ele-drawer/props.cjs +6 -1
  169. package/lib/ele-drawer/props.d.ts +5 -0
  170. package/lib/ele-drawer/style/index.scss +11 -0
  171. package/lib/ele-file-list/index.d.ts +3 -3
  172. package/lib/ele-icon-select/components/icon-grid.cjs +19 -11
  173. package/lib/ele-icon-select/components/icon-grid.d.ts +8 -3
  174. package/lib/ele-icon-select/index.cjs +91 -85
  175. package/lib/ele-icon-select/index.d.ts +58 -59
  176. package/lib/ele-icon-select/props.cjs +34 -34
  177. package/lib/ele-icon-select/props.d.ts +35 -35
  178. package/lib/ele-icon-select/style/css-var.scss +1 -1
  179. package/lib/ele-icon-select/style/index.scss +50 -18
  180. package/lib/ele-icon-select/types.d.ts +13 -0
  181. package/lib/ele-map-picker/index.d.ts +3 -3
  182. package/lib/ele-modal/index.cjs +9 -3
  183. package/lib/ele-modal/index.d.ts +4 -2
  184. package/lib/ele-modal/props.cjs +2 -0
  185. package/lib/ele-modal/props.d.ts +2 -0
  186. package/lib/ele-modal/style/index.scss +16 -0
  187. package/lib/ele-pro-form/components/item-type-data.cjs +39 -64
  188. package/lib/ele-pro-form/index.d.ts +3 -3
  189. package/lib/ele-pro-table/components/table-tools.cjs +117 -247
  190. package/lib/ele-pro-table/components/table-tools.d.ts +12 -97
  191. package/lib/ele-pro-table/components/tool-export.cjs +32 -20
  192. package/lib/ele-pro-table/components/tool-export.d.ts +5 -1
  193. package/lib/ele-pro-table/components/tool-print.cjs +37 -25
  194. package/lib/ele-pro-table/components/tool-print.d.ts +5 -1
  195. package/lib/ele-pro-table/exceljs-plugin.cjs +81 -0
  196. package/lib/ele-pro-table/exceljs-plugin.d.ts +12 -0
  197. package/lib/ele-pro-table/index.cjs +143 -72
  198. package/lib/ele-pro-table/index.d.ts +6 -7
  199. package/lib/ele-pro-table/types.d.ts +11 -0
  200. package/lib/ele-split-panel/style/index.scss +1 -1
  201. package/lib/ele-table-select/index.d.ts +2 -0
  202. package/lib/ele-table-select/props.cjs +3 -1
  203. package/lib/ele-table-select/props.d.ts +2 -0
  204. package/lib/ele-tour/index.d.ts +3 -3
  205. package/lib/ele-tree-select/index.d.ts +2 -0
  206. package/lib/ele-upload-list/index.cjs +25 -8
  207. package/lib/ele-upload-list/index.d.ts +3 -3
  208. package/lib/ele-virtual-table/components/body-cell.d.ts +1 -1
  209. package/lib/ele-watermark/index.cjs +251 -92
  210. package/lib/ele-watermark/index.d.ts +20 -7
  211. package/lib/ele-watermark/props.cjs +10 -3
  212. package/lib/ele-watermark/props.d.ts +10 -3
  213. package/lib/ele-watermark/types.d.ts +12 -0
  214. package/lib/ele-watermark/util.cjs +10 -19
  215. package/lib/ele-watermark/util.d.ts +2 -9
  216. package/lib/lang/en_US.cjs +116 -0
  217. package/lib/lang/zh_CN.cjs +116 -0
  218. package/lib/lang/zh_TW.cjs +116 -0
  219. package/lib/style/plus.scss +3 -1
  220. package/lib/style/themes/default.scss +12 -3
  221. package/lib/style/themes/rounded.scss +2 -1
  222. package/lib/utils/theme-util.d.ts +1 -1
  223. package/package.json +1 -1
  224. package/typings/global.d.ts +2 -0
@@ -0,0 +1,186 @@
1
+ import { defineComponent, watch, createElementBlock, openBlock, createVNode, unref, isRef, withCtx, createElementVNode, toDisplayString, Fragment, renderList, createBlock, createCommentVNode } from "vue";
2
+ import { ElRadioGroup, ElRadio, ElInputNumber, ElCheckboxGroup, ElCheckbox } from "element-plus";
3
+ import { useCron } from "../util";
4
+ const _hoisted_1 = { class: "ele-cron-panel-content" };
5
+ const _hoisted_2 = { class: "ele-cron-panel-item" };
6
+ const _hoisted_3 = { class: "ele-cron-panel-item-input" };
7
+ const _hoisted_4 = { class: "ele-cron-panel-item-input" };
8
+ const _hoisted_5 = { class: "ele-cron-panel-item" };
9
+ const _hoisted_6 = { class: "ele-cron-panel-item-input" };
10
+ const _hoisted_7 = { class: "ele-cron-panel-item-input" };
11
+ const _hoisted_8 = { class: "ele-cron-panel-options" };
12
+ const minValue = 2024;
13
+ const maxValue = 2054;
14
+ const _sfc_main = /* @__PURE__ */ defineComponent({
15
+ __name: "cron-year",
16
+ props: {
17
+ /** year */
18
+ modelValue: String,
19
+ /** 国际化 */
20
+ lang: {
21
+ type: Object,
22
+ required: true
23
+ }
24
+ },
25
+ emits: {
26
+ "update:modelValue": (_year) => true
27
+ },
28
+ setup(__props, { emit: __emit }) {
29
+ const props = __props;
30
+ const emit = __emit;
31
+ const {
32
+ type,
33
+ start,
34
+ end,
35
+ endMin,
36
+ intervalStart,
37
+ intervalStep,
38
+ intervalStepMax,
39
+ selections,
40
+ getValue,
41
+ parseValue
42
+ } = useCron(minValue, maxValue, "unset");
43
+ const updateModelValue = (day) => {
44
+ emit("update:modelValue", day);
45
+ };
46
+ watch(
47
+ [type, start, end, intervalStart, intervalStep, selections],
48
+ () => {
49
+ if (type.value === "unset") {
50
+ updateModelValue("");
51
+ return;
52
+ }
53
+ updateModelValue(getValue());
54
+ },
55
+ { deep: true, immediate: true }
56
+ );
57
+ watch(
58
+ () => props.modelValue,
59
+ (year) => {
60
+ if (year == null || year === "" || year === "?") {
61
+ type.value = "unset";
62
+ return;
63
+ }
64
+ parseValue(year);
65
+ },
66
+ { immediate: true }
67
+ );
68
+ return (_ctx, _cache) => {
69
+ return openBlock(), createElementBlock("div", _hoisted_1, [
70
+ createVNode(unref(ElRadioGroup), {
71
+ modelValue: unref(type),
72
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => isRef(type) ? type.value = $event : null)
73
+ }, {
74
+ default: withCtx(() => [
75
+ createVNode(unref(ElRadio), {
76
+ value: "every",
77
+ label: __props.lang.yearEvery
78
+ }, null, 8, ["label"]),
79
+ createVNode(unref(ElRadio), {
80
+ value: "range",
81
+ class: "ele-cron-panel-item-wrapper"
82
+ }, {
83
+ default: withCtx(() => [
84
+ createElementVNode("div", _hoisted_2, [
85
+ createElementVNode("div", null, toDisplayString(__props.lang.yearRangeStart) + " ", 1),
86
+ createElementVNode("div", _hoisted_3, [
87
+ createVNode(unref(ElInputNumber), {
88
+ modelValue: unref(start),
89
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(start) ? start.value = $event : null),
90
+ min: minValue,
91
+ max: maxValue - 1,
92
+ placeholder: "",
93
+ controlsPosition: "right"
94
+ }, null, 8, ["modelValue", "max"])
95
+ ]),
96
+ createElementVNode("div", null, " " + toDisplayString(__props.lang.yearRange) + " ", 1),
97
+ createElementVNode("div", _hoisted_4, [
98
+ createVNode(unref(ElInputNumber), {
99
+ modelValue: unref(end),
100
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(end) ? end.value = $event : null),
101
+ min: unref(endMin),
102
+ max: maxValue,
103
+ placeholder: "",
104
+ controlsPosition: "right"
105
+ }, null, 8, ["modelValue", "min"])
106
+ ]),
107
+ createElementVNode("div", null, " " + toDisplayString(__props.lang.yearRangeEnd), 1)
108
+ ])
109
+ ]),
110
+ _: 1
111
+ }),
112
+ createVNode(unref(ElRadio), {
113
+ value: "interval",
114
+ class: "ele-cron-panel-item-wrapper"
115
+ }, {
116
+ default: withCtx(() => [
117
+ createElementVNode("div", _hoisted_5, [
118
+ createElementVNode("div", null, toDisplayString(__props.lang.yearIntervalStart) + " ", 1),
119
+ createElementVNode("div", _hoisted_6, [
120
+ createVNode(unref(ElInputNumber), {
121
+ modelValue: unref(intervalStart),
122
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(intervalStart) ? intervalStart.value = $event : null),
123
+ min: minValue,
124
+ max: maxValue - 1,
125
+ placeholder: "",
126
+ controlsPosition: "right"
127
+ }, null, 8, ["modelValue", "max"])
128
+ ]),
129
+ createElementVNode("div", null, " " + toDisplayString(__props.lang.yearInterval) + " ", 1),
130
+ createElementVNode("div", _hoisted_7, [
131
+ createVNode(unref(ElInputNumber), {
132
+ modelValue: unref(intervalStep),
133
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(intervalStep) ? intervalStep.value = $event : null),
134
+ min: 1,
135
+ max: unref(intervalStepMax),
136
+ placeholder: "",
137
+ controlsPosition: "right"
138
+ }, null, 8, ["modelValue", "max"])
139
+ ]),
140
+ createElementVNode("div", null, " " + toDisplayString(__props.lang.yearIntervalEnd), 1)
141
+ ])
142
+ ]),
143
+ _: 1
144
+ }),
145
+ createVNode(unref(ElRadio), {
146
+ value: "specified",
147
+ class: "ele-cron-panel-item-wrapper ele-cron-panel-options-wrapper"
148
+ }, {
149
+ default: withCtx(() => [
150
+ createElementVNode("div", null, toDisplayString(__props.lang.yearSpecified), 1),
151
+ createElementVNode("div", _hoisted_8, [
152
+ createVNode(unref(ElCheckboxGroup), {
153
+ modelValue: unref(selections),
154
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => isRef(selections) ? selections.value = $event : null)
155
+ }, {
156
+ default: withCtx(() => [
157
+ (openBlock(true), createElementBlock(Fragment, null, renderList(maxValue + 1, (item) => {
158
+ return openBlock(), createElementBlock(Fragment, { key: item }, [
159
+ item - 1 >= minValue ? (openBlock(), createBlock(unref(ElCheckbox), {
160
+ key: 0,
161
+ value: item - 1,
162
+ label: item - 1
163
+ }, null, 8, ["value", "label"])) : createCommentVNode("", true)
164
+ ], 64);
165
+ }), 128))
166
+ ]),
167
+ _: 1
168
+ }, 8, ["modelValue"])
169
+ ])
170
+ ]),
171
+ _: 1
172
+ }),
173
+ createVNode(unref(ElRadio), {
174
+ value: "unset",
175
+ label: __props.lang.yearUnset
176
+ }, null, 8, ["label"])
177
+ ]),
178
+ _: 1
179
+ }, 8, ["modelValue"])
180
+ ]);
181
+ };
182
+ }
183
+ });
184
+ export {
185
+ _sfc_main as default
186
+ };
@@ -0,0 +1,14 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ modelValue: StringConstructor;
3
+ locale: import('vue').PropType<Partial<import('./types').CronPanelLocale>>;
4
+ }>, {
5
+ hideCronList: () => void;
6
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ "update:modelValue": (_value?: string | undefined) => void;
8
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
9
+ modelValue: StringConstructor;
10
+ locale: import('vue').PropType<Partial<import('./types').CronPanelLocale>>;
11
+ }>> & Readonly<{
12
+ "onUpdate:modelValue"?: ((_value?: string | undefined) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
14
+ export default _default;
@@ -0,0 +1,348 @@
1
+ import { defineComponent, ref, computed, watch, createElementBlock, openBlock, createElementVNode, createVNode, withCtx, toDisplayString, unref, Fragment, renderList, normalizeClass, withModifiers } from "vue";
2
+ import { useLocale } from "../ele-config-provider/receiver";
3
+ import EleTabs from "../ele-tabs/index";
4
+ import CronSecond from "./components/cron-second";
5
+ import CronMinute from "./components/cron-minute";
6
+ import CronHour from "./components/cron-hour";
7
+ import CronDay from "./components/cron-day";
8
+ import CronMonth from "./components/cron-month";
9
+ import CronWeek from "./components/cron-week";
10
+ import CronYear from "./components/cron-year";
11
+ import { getResultItems } from "./util";
12
+ import { cronPanelEmits, cronPanelProps } from "./props";
13
+ const _hoisted_1 = { class: "ele-cron-panel" };
14
+ const _hoisted_2 = { class: "ele-cron-panel-main" };
15
+ const _hoisted_3 = { class: "ele-cron-panel-extra" };
16
+ const _hoisted_4 = { class: "ele-cron-panel-extra-item" };
17
+ const _hoisted_5 = { class: "ele-cron-panel-extra-header" };
18
+ const _hoisted_6 = { class: "ele-cron-panel-extra-body" };
19
+ const _hoisted_7 = { class: "ele-cron-panel-result" };
20
+ const _hoisted_8 = { class: "ele-cron-panel-result-item" };
21
+ const _hoisted_9 = { class: "ele-cron-panel-result-title" };
22
+ const _hoisted_10 = { class: "ele-cron-panel-result-text" };
23
+ const _hoisted_11 = { class: "ele-cron-panel-result-item" };
24
+ const _hoisted_12 = { class: "ele-cron-panel-result-title" };
25
+ const _hoisted_13 = { class: "ele-cron-panel-result-text" };
26
+ const _hoisted_14 = { class: "ele-cron-panel-result-item" };
27
+ const _hoisted_15 = { class: "ele-cron-panel-result-title" };
28
+ const _hoisted_16 = { class: "ele-cron-panel-result-text" };
29
+ const _hoisted_17 = { class: "ele-cron-panel-result-item" };
30
+ const _hoisted_18 = { class: "ele-cron-panel-result-title" };
31
+ const _hoisted_19 = { class: "ele-cron-panel-result-text" };
32
+ const _hoisted_20 = { class: "ele-cron-panel-result-item" };
33
+ const _hoisted_21 = { class: "ele-cron-panel-result-title" };
34
+ const _hoisted_22 = { class: "ele-cron-panel-result-text" };
35
+ const _hoisted_23 = { class: "ele-cron-panel-result-item" };
36
+ const _hoisted_24 = { class: "ele-cron-panel-result-title" };
37
+ const _hoisted_25 = { class: "ele-cron-panel-result-text" };
38
+ const _hoisted_26 = { class: "ele-cron-panel-result-item" };
39
+ const _hoisted_27 = { class: "ele-cron-panel-result-title" };
40
+ const _hoisted_28 = { class: "ele-cron-panel-result-text" };
41
+ const _hoisted_29 = { class: "ele-cron-panel-result" };
42
+ const _hoisted_30 = { class: "ele-cron-panel-result-item" };
43
+ const _hoisted_31 = { class: "ele-cron-panel-result-title" };
44
+ const _hoisted_32 = { class: "ele-cron-panel-result-text ele-cron-panel-result-value" };
45
+ const _hoisted_33 = { class: "ele-cron-panel-extra-item" };
46
+ const _hoisted_34 = { class: "ele-cron-panel-extra-header" };
47
+ const _hoisted_35 = { class: "ele-cron-panel-extra-body" };
48
+ const _hoisted_36 = { class: "ele-cron-panel-test" };
49
+ const _hoisted_37 = ["onClick"];
50
+ const _hoisted_38 = { class: "ele-cron-panel-list-item-value" };
51
+ const _hoisted_39 = { class: "ele-cron-panel-list-item-label" };
52
+ const _sfc_main = /* @__PURE__ */ defineComponent({
53
+ ...{ name: "EleCronPanel" },
54
+ __name: "index",
55
+ props: cronPanelProps,
56
+ emits: cronPanelEmits,
57
+ setup(__props, { expose: __expose, emit: __emit }) {
58
+ const props = __props;
59
+ const emit = __emit;
60
+ const { lang } = useLocale("cronPanel", props);
61
+ const second = ref("*");
62
+ const minute = ref("*");
63
+ const hour = ref("*");
64
+ const day = ref("*");
65
+ const month = ref("*");
66
+ const week = ref("?");
67
+ const year = ref("");
68
+ const resultItems = ref([]);
69
+ const tabActive = ref("second");
70
+ const tabItems = computed(() => {
71
+ return [
72
+ { name: "second", label: lang.value.second },
73
+ { name: "minute", label: lang.value.minute },
74
+ { name: "hour", label: lang.value.hour },
75
+ { name: "day", label: lang.value.day },
76
+ { name: "month", label: lang.value.month },
77
+ { name: "week", label: lang.value.week },
78
+ { name: "year", label: lang.value.year }
79
+ ];
80
+ });
81
+ const updateModelValue = (value) => {
82
+ emit("update:modelValue", value);
83
+ };
84
+ const updateCron = () => {
85
+ const values = [
86
+ second.value,
87
+ minute.value,
88
+ hour.value,
89
+ day.value,
90
+ month.value,
91
+ week.value
92
+ ];
93
+ if (year.value != null && year.value !== "") {
94
+ values.push(year.value);
95
+ }
96
+ const cron = values.join(" ");
97
+ updateModelValue(cron);
98
+ return cron;
99
+ };
100
+ watch(hour, (h) => {
101
+ if (h !== "*" && second.value === "*") {
102
+ second.value = "0";
103
+ }
104
+ if (h !== "*" && minute.value === "*") {
105
+ minute.value = "0";
106
+ }
107
+ });
108
+ watch(day, (d) => {
109
+ if (d !== "?" && week.value !== "?") {
110
+ week.value = "?";
111
+ }
112
+ });
113
+ watch(week, (w) => {
114
+ if (w !== "?" && day.value !== "?") {
115
+ day.value = "?";
116
+ }
117
+ });
118
+ watch(
119
+ [second, minute, hour, day, month, week, year],
120
+ () => {
121
+ updateCron();
122
+ },
123
+ { immediate: true }
124
+ );
125
+ watch(
126
+ () => props.modelValue,
127
+ (cron) => {
128
+ if (!cron) {
129
+ tabActive.value = "second";
130
+ second.value = "*";
131
+ minute.value = "*";
132
+ hour.value = "*";
133
+ day.value = "*";
134
+ month.value = "*";
135
+ week.value = "?";
136
+ year.value = "";
137
+ const str = updateCron();
138
+ resultItems.value = getResultItems(
139
+ str,
140
+ lang.value.resultNoData,
141
+ lang.value.resultNoMore
142
+ );
143
+ return;
144
+ }
145
+ const [s, m, h, d, m2, w, y] = cron.split(" ");
146
+ second.value = s;
147
+ minute.value = m;
148
+ hour.value = h;
149
+ day.value = d;
150
+ month.value = m2;
151
+ week.value = w;
152
+ year.value = y || "";
153
+ resultItems.value = getResultItems(
154
+ cron,
155
+ lang.value.resultNoData,
156
+ lang.value.resultNoMore
157
+ );
158
+ }
159
+ );
160
+ watch(lang, () => {
161
+ resultItems.value = getResultItems(
162
+ props.modelValue,
163
+ lang.value.resultNoData,
164
+ lang.value.resultNoMore
165
+ );
166
+ });
167
+ const cronListVisible = ref(false);
168
+ const cronList = computed(() => {
169
+ return [
170
+ { cron: "0 * * * * ?", label: lang.value.common01 },
171
+ { cron: "0 0 * * * ?", label: lang.value.common02 },
172
+ { cron: "0 0/30 * * * ?", label: lang.value.common03 },
173
+ { cron: "0 0/30 8-9 * * ?", label: lang.value.common04 },
174
+ { cron: "0 0 0 * * ?", label: lang.value.common05 },
175
+ { cron: "0 30 8 * * ?", label: lang.value.common06 },
176
+ { cron: "0 0 8,14,19 * * ?", label: lang.value.common07 },
177
+ { cron: "0 0 0 1 * ?", label: lang.value.common08 },
178
+ { cron: "0 0 2 1 * ?", label: lang.value.common09 },
179
+ { cron: "0 30 8 15 * ?", label: lang.value.common10 },
180
+ { cron: "0 0 0 L * ?", label: lang.value.common11 },
181
+ { cron: "0 30 8 L * ?", label: lang.value.common12 },
182
+ { cron: "0 30 8 ? * 6L", label: lang.value.common13 },
183
+ { cron: "0 0 0 ? * 1", label: lang.value.common14 },
184
+ { cron: "0 0 8 ? * 2-4", label: lang.value.common15 },
185
+ { cron: "0 0 0 1 10 ? 2025-2028", label: lang.value.common16 }
186
+ ];
187
+ });
188
+ const handleItemClick = (item) => {
189
+ hideCronList();
190
+ updateModelValue(item.cron);
191
+ };
192
+ const openCronList = () => {
193
+ cronListVisible.value = true;
194
+ };
195
+ const hideCronList = () => {
196
+ cronListVisible.value = false;
197
+ };
198
+ __expose({ hideCronList });
199
+ return (_ctx, _cache) => {
200
+ return openBlock(), createElementBlock("div", _hoisted_1, [
201
+ createElementVNode("div", _hoisted_2, [
202
+ createVNode(EleTabs, {
203
+ addable: true,
204
+ type: "border-card",
205
+ items: tabItems.value,
206
+ modelValue: tabActive.value,
207
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => tabActive.value = $event),
208
+ onTabAdd: openCronList
209
+ }, {
210
+ second: withCtx(() => [
211
+ createVNode(CronSecond, {
212
+ modelValue: second.value,
213
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => second.value = $event),
214
+ lang: unref(lang)
215
+ }, null, 8, ["modelValue", "lang"])
216
+ ]),
217
+ minute: withCtx(() => [
218
+ createVNode(CronMinute, {
219
+ modelValue: minute.value,
220
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => minute.value = $event),
221
+ lang: unref(lang)
222
+ }, null, 8, ["modelValue", "lang"])
223
+ ]),
224
+ hour: withCtx(() => [
225
+ createVNode(CronHour, {
226
+ modelValue: hour.value,
227
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => hour.value = $event),
228
+ lang: unref(lang)
229
+ }, null, 8, ["modelValue", "lang"])
230
+ ]),
231
+ day: withCtx(() => [
232
+ createVNode(CronDay, {
233
+ modelValue: day.value,
234
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => day.value = $event),
235
+ lang: unref(lang)
236
+ }, null, 8, ["modelValue", "lang"])
237
+ ]),
238
+ month: withCtx(() => [
239
+ createVNode(CronMonth, {
240
+ modelValue: month.value,
241
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => month.value = $event),
242
+ lang: unref(lang)
243
+ }, null, 8, ["modelValue", "lang"])
244
+ ]),
245
+ week: withCtx(() => [
246
+ createVNode(CronWeek, {
247
+ modelValue: week.value,
248
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => week.value = $event),
249
+ lang: unref(lang)
250
+ }, null, 8, ["modelValue", "lang"])
251
+ ]),
252
+ year: withCtx(() => [
253
+ createVNode(CronYear, {
254
+ modelValue: year.value,
255
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => year.value = $event),
256
+ lang: unref(lang)
257
+ }, null, 8, ["modelValue", "lang"])
258
+ ]),
259
+ "add-icon": withCtx(() => [
260
+ createElementVNode("div", null, toDisplayString(unref(lang).common), 1)
261
+ ]),
262
+ _: 1
263
+ }, 8, ["items", "modelValue"])
264
+ ]),
265
+ createElementVNode("div", _hoisted_3, [
266
+ createElementVNode("div", _hoisted_4, [
267
+ createElementVNode("div", _hoisted_5, toDisplayString(unref(lang).result), 1),
268
+ createElementVNode("div", _hoisted_6, [
269
+ createElementVNode("div", _hoisted_7, [
270
+ createElementVNode("div", _hoisted_8, [
271
+ createElementVNode("div", _hoisted_9, toDisplayString(unref(lang).resultSecond), 1),
272
+ createElementVNode("div", _hoisted_10, toDisplayString(second.value), 1)
273
+ ]),
274
+ createElementVNode("div", _hoisted_11, [
275
+ createElementVNode("div", _hoisted_12, toDisplayString(unref(lang).resultMinute), 1),
276
+ createElementVNode("div", _hoisted_13, toDisplayString(minute.value), 1)
277
+ ]),
278
+ createElementVNode("div", _hoisted_14, [
279
+ createElementVNode("div", _hoisted_15, toDisplayString(unref(lang).resultHour), 1),
280
+ createElementVNode("div", _hoisted_16, toDisplayString(hour.value), 1)
281
+ ]),
282
+ createElementVNode("div", _hoisted_17, [
283
+ createElementVNode("div", _hoisted_18, toDisplayString(unref(lang).resultDay), 1),
284
+ createElementVNode("div", _hoisted_19, toDisplayString(day.value), 1)
285
+ ]),
286
+ createElementVNode("div", _hoisted_20, [
287
+ createElementVNode("div", _hoisted_21, toDisplayString(unref(lang).resultMonth), 1),
288
+ createElementVNode("div", _hoisted_22, toDisplayString(month.value), 1)
289
+ ]),
290
+ createElementVNode("div", _hoisted_23, [
291
+ createElementVNode("div", _hoisted_24, toDisplayString(unref(lang).resultWeek), 1),
292
+ createElementVNode("div", _hoisted_25, toDisplayString(week.value), 1)
293
+ ]),
294
+ createElementVNode("div", _hoisted_26, [
295
+ createElementVNode("div", _hoisted_27, toDisplayString(unref(lang).resultYear), 1),
296
+ createElementVNode("div", _hoisted_28, toDisplayString(year.value), 1)
297
+ ])
298
+ ]),
299
+ createElementVNode("div", _hoisted_29, [
300
+ createElementVNode("div", _hoisted_30, [
301
+ createElementVNode("div", _hoisted_31, toDisplayString(unref(lang).resultName), 1),
302
+ createElementVNode("div", _hoisted_32, toDisplayString(_ctx.modelValue), 1)
303
+ ])
304
+ ])
305
+ ])
306
+ ]),
307
+ createElementVNode("div", _hoisted_33, [
308
+ createElementVNode("div", _hoisted_34, toDisplayString(unref(lang).resultTest), 1),
309
+ createElementVNode("div", _hoisted_35, [
310
+ createElementVNode("ul", _hoisted_36, [
311
+ (openBlock(true), createElementBlock(Fragment, null, renderList(resultItems.value, (item) => {
312
+ return openBlock(), createElementBlock("li", {
313
+ key: item,
314
+ class: "ele-cron-panel-test-item"
315
+ }, toDisplayString(item), 1);
316
+ }), 128))
317
+ ])
318
+ ])
319
+ ])
320
+ ]),
321
+ createElementVNode("div", {
322
+ class: normalizeClass(["ele-cron-panel-list-mask", { "is-show": cronListVisible.value }]),
323
+ onClick: hideCronList
324
+ }, [
325
+ createElementVNode("div", {
326
+ class: "ele-cron-panel-list-wrapper",
327
+ onClick: _cache[8] || (_cache[8] = withModifiers(() => {
328
+ }, ["stop"]))
329
+ }, [
330
+ (openBlock(true), createElementBlock(Fragment, null, renderList(cronList.value, (item) => {
331
+ return openBlock(), createElementBlock("div", {
332
+ key: item.cron,
333
+ class: "ele-cron-panel-list-item",
334
+ onClick: ($event) => handleItemClick(item)
335
+ }, [
336
+ createElementVNode("div", _hoisted_38, toDisplayString(item.cron), 1),
337
+ createElementVNode("div", _hoisted_39, toDisplayString(item.label), 1)
338
+ ], 8, _hoisted_37);
339
+ }), 128))
340
+ ])
341
+ ], 2)
342
+ ]);
343
+ };
344
+ }
345
+ });
346
+ export {
347
+ _sfc_main as default
348
+ };
@@ -0,0 +1,20 @@
1
+ import { PropType, ExtractPropTypes } from 'vue';
2
+ import { CronPanelLocale } from './types';
3
+
4
+ /**
5
+ * 属性
6
+ */
7
+ export declare const cronPanelProps: {
8
+ /** 绑定值 */
9
+ modelValue: StringConstructor;
10
+ /** 国际化 */
11
+ locale: PropType<Partial<CronPanelLocale>>;
12
+ };
13
+ export type CronPanelProps = ExtractPropTypes<typeof cronPanelProps>;
14
+ /**
15
+ * 事件
16
+ */
17
+ export declare const cronPanelEmits: {
18
+ /** 更新绑定值 */
19
+ 'update:modelValue': (_value?: string) => boolean;
20
+ };
@@ -0,0 +1,14 @@
1
+ const cronPanelProps = {
2
+ /** 绑定值 */
3
+ modelValue: String,
4
+ /** 国际化 */
5
+ locale: Object
6
+ };
7
+ const cronPanelEmits = {
8
+ /** 更新绑定值 */
9
+ "update:modelValue": (_value) => true
10
+ };
11
+ export {
12
+ cronPanelEmits,
13
+ cronPanelProps
14
+ };
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,7 @@
1
+ import "element-plus/es/components/radio-group/style/index";
2
+ import "element-plus/es/components/radio/style/index";
3
+ import "element-plus/es/components/input-number/style/index";
4
+ import "element-plus/es/components/checkbox-group/style/index";
5
+ import "element-plus/es/components/checkbox/style/index";
6
+ import "../../ele-tabs/style/index";
7
+ import "./index.scss";