hy-dispatch-ui-v3 0.2.66 → 0.2.67

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 (62) hide show
  1. package/dist/tailwind.css +25 -1
  2. package/es/components/hyBatchUploadDialog/batchUploadDialog.vue.mjs +174 -142
  3. package/es/components/hyButton/button.vue.mjs +16 -3
  4. package/es/components/hyButton/style/button.scss +2 -0
  5. package/es/components/hyForm/cpns/formItem.vue.mjs +96 -46
  6. package/es/components/hyForm/form.vue.mjs +22 -8
  7. package/es/components/hyForm/js/useAppForm.mjs +1 -1
  8. package/es/components/hyMap/js/index.mjs +6 -6
  9. package/es/components/hyMap/map.vue.mjs +14 -4
  10. package/es/components/hyOrgCascader/orgCascader.vue.mjs +7 -2
  11. package/es/components/hySearch/cpns/searchItem.vue.mjs +396 -324
  12. package/es/components/hySearch/search.vue.mjs +17 -7
  13. package/es/components/hySearch/style/search.scss +7 -0
  14. package/es/components/hyTable/cpns/virtualTable.vue.mjs +25 -6
  15. package/es/components/hyTable/js/index.mjs +11 -5
  16. package/es/components/hyTable/js/search.mjs +25 -1
  17. package/es/components/hyTable/table.vue.mjs +34 -13
  18. package/es/components/hyTableActionButton/tableActionButton.vue.mjs +9 -2
  19. package/es/components/hyTableForm/batchTableForm.vue.mjs +23 -2
  20. package/es/components/hyTableForm/js/useAppTableForm.mjs +1 -1
  21. package/es/components/hyTableForm/tableForm.vue.mjs +79 -33
  22. package/es/components/hyTree/js/index.mjs +118 -50
  23. package/es/components/hyTree/tree.vue.mjs +4 -2
  24. package/es/style/index.scss +0 -1
  25. package/es/style/tailwind.scss +0 -1
  26. package/es/utils/is.mjs +3 -1
  27. package/es/utils/map/hook/bigMap.mjs +2 -0
  28. package/es/utils/map/hook/gaode.mjs +51 -16
  29. package/es/utils/map/hook/leafletjs.mjs +15 -3
  30. package/es/utils/map/index.mjs +1 -1
  31. package/es/version.mjs +1 -1
  32. package/lib/components/hyBatchUploadDialog/batchUploadDialog.vue.js +173 -141
  33. package/lib/components/hyButton/button.vue.js +15 -2
  34. package/lib/components/hyButton/style/button.scss +2 -0
  35. package/lib/components/hyForm/cpns/formItem.vue.js +93 -43
  36. package/lib/components/hyForm/form.vue.js +21 -7
  37. package/lib/components/hyForm/js/useAppForm.js +1 -1
  38. package/lib/components/hyMap/js/index.js +5 -5
  39. package/lib/components/hyMap/map.vue.js +13 -3
  40. package/lib/components/hyOrgCascader/orgCascader.vue.js +7 -2
  41. package/lib/components/hySearch/cpns/searchItem.vue.js +394 -322
  42. package/lib/components/hySearch/search.vue.js +17 -7
  43. package/lib/components/hySearch/style/search.scss +7 -0
  44. package/lib/components/hyTable/cpns/virtualTable.vue.js +24 -5
  45. package/lib/components/hyTable/js/index.js +11 -4
  46. package/lib/components/hyTable/js/search.js +25 -1
  47. package/lib/components/hyTable/table.vue.js +33 -12
  48. package/lib/components/hyTableActionButton/tableActionButton.vue.js +9 -2
  49. package/lib/components/hyTableForm/batchTableForm.vue.js +23 -2
  50. package/lib/components/hyTableForm/js/useAppTableForm.js +1 -1
  51. package/lib/components/hyTableForm/tableForm.vue.js +78 -32
  52. package/lib/components/hyTree/js/index.js +118 -50
  53. package/lib/components/hyTree/tree.vue.js +4 -2
  54. package/lib/style/index.scss +0 -1
  55. package/lib/style/tailwind.scss +0 -1
  56. package/lib/utils/is.js +5 -3
  57. package/lib/utils/map/hook/bigMap.js +2 -0
  58. package/lib/utils/map/hook/gaode.js +51 -16
  59. package/lib/utils/map/hook/leafletjs.js +15 -3
  60. package/lib/utils/map/index.js +1 -1
  61. package/lib/version.js +1 -1
  62. package/package.json +2 -2
@@ -40,7 +40,7 @@ const _sfc_main = {
40
40
  const props = __props;
41
41
  const emits = __emit;
42
42
  const formContext = vue.inject(index.formContextKey);
43
- const orgCascaderRef = vue.useTemplateRef("orgCascaderRef");
43
+ const componentRef = vue.useTemplateRef("componentRef");
44
44
  const columnProp = vue.computed(() => {
45
45
  let field = is.isArray(props.column.field) ? props.column.field[0] : props.column.field;
46
46
  return field;
@@ -79,39 +79,57 @@ const _sfc_main = {
79
79
  return {
80
80
  ...props.column.attrs,
81
81
  label: form.columnLabelHandler(props.column, props.model),
82
- placeholder: form.columnPlaceholderHandler(props.column, props.model)
82
+ placeholder: props.column.optionsError === "error" ? "\u52A0\u8F7D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u52A0\u8F7D" : form.columnPlaceholderHandler(props.column, props.model)
83
83
  };
84
84
  });
85
- const optionsLoading = vue.ref(false);
86
- const optionsError = vue.ref("");
87
- async function obtainOptions() {
88
- if (props.column.optionsFn) {
89
- if (!props.column.optionsFn || optionsLoading.value) return;
90
- optionsLoading.value = true;
91
- optionsError.value = "";
92
- props.column.attrs.options = [];
93
- try {
94
- props.column.attrs.options = await props.column.optionsFn(
95
- props.column,
96
- props.model
97
- );
98
- optionsError.value = "";
99
- } catch (err) {
100
- optionsError.value = "error";
101
- console.error(err);
102
- }
103
- } else if (props.column.type === "org-cascader") {
104
- if (orgCascaderRef.value) {
105
- optionsLoading.value = true;
106
- optionsError.value = "";
107
- try {
108
- await orgCascaderRef.value.getData();
109
- } catch {
110
- optionsError.value = "error";
85
+ function obtainOptions(isMountedLoad = false) {
86
+ return new Promise(async (resolve, reject) => {
87
+ if (props.column.optionsFn) {
88
+ if (!props.column.optionsFn) return;
89
+ props.column.optionsLoading = true;
90
+ props.column.optionsError = "";
91
+ props.column.attrs.options = [];
92
+ if (!(isMountedLoad && props.column.isDefaultGetData === false)) {
93
+ try {
94
+ props.column.attrs.options = await props.column.optionsFn(
95
+ props.column,
96
+ props.model
97
+ );
98
+ props.column.optionsError = "";
99
+ resolve();
100
+ } catch (err) {
101
+ props.column.optionsError = "error";
102
+ console.error(err);
103
+ reject();
104
+ }
105
+ } else {
106
+ resolve();
111
107
  }
108
+ } else if (props.column.type === "org-cascader") {
109
+ if (componentRef.value) {
110
+ props.column.optionsLoading = true;
111
+ props.column.optionsError = "";
112
+ try {
113
+ await componentRef.value.getData();
114
+ resolve();
115
+ } catch {
116
+ props.column.optionsError = "error";
117
+ reject();
118
+ }
119
+ } else {
120
+ resolve();
121
+ }
122
+ } else {
123
+ resolve();
112
124
  }
125
+ props.column.optionsLoading = false;
126
+ });
127
+ }
128
+ function getOptionsHandler(props2, column) {
129
+ if (props2.column.optionsLoading) {
130
+ return [];
113
131
  }
114
- optionsLoading.value = false;
132
+ return index.optionsHandler(props2, props2.column);
115
133
  }
116
134
  function onChangeHandler(value, column) {
117
135
  const { onChange } = props.column;
@@ -119,6 +137,15 @@ const _sfc_main = {
119
137
  if (!onChange) return;
120
138
  onChange(props.column, props.model, props.index);
121
139
  }
140
+ async function onVisibleChange(value) {
141
+ if (value && props.column.optionsError === "error") {
142
+ try {
143
+ await obtainOptions();
144
+ } catch {
145
+ }
146
+ formContext?.emitOptionsStatus();
147
+ }
148
+ }
122
149
  function onKeydownEnterHander(e) {
123
150
  emits("search");
124
151
  }
@@ -144,16 +171,29 @@ const _sfc_main = {
144
171
  columnConfig,
145
172
  columnAttrs,
146
173
  obtainOptions,
147
- optionsLoading,
148
- optionsError,
174
+ optionsLoading: vue.computed(() => columnConfig.value.optionsLoading),
175
+ optionsError: vue.computed(() => columnConfig.value.optionsError),
149
176
  options: vue.computed(() => {
150
- return index.optionsHandler(props, props.column);
177
+ return getOptionsHandler(props, props.column);
151
178
  })
152
179
  });
153
180
  vue.onMounted(() => {
154
181
  if (propString.value) {
155
182
  formContext?.addField(context);
156
183
  }
184
+ vue.watch(
185
+ () => formContext.model.errorMsg,
186
+ () => {
187
+ const optionsError = props.column.optionsError;
188
+ if (optionsError === "error") {
189
+ props.column.optionsError = "";
190
+ setTimeout(() => {
191
+ props.column.optionsError = "error";
192
+ }, 1);
193
+ }
194
+ },
195
+ { immediate: true, deep: true }
196
+ );
157
197
  });
158
198
  vue.onBeforeUnmount(() => {
159
199
  formContext?.removeField(context);
@@ -164,297 +204,329 @@ const _sfc_main = {
164
204
  prop: columnProp.value
165
205
  }, {
166
206
  default: vue.withCtx(() => [
167
- vue.createElementVNode("div", { class: "flex bg-background-2 rounded outline outline-1 outline-transparent outline-offset-0 hover:outline-theme box-border" }, [
168
- vue.createElementVNode(
169
- "div",
170
- {
171
- class: "flex",
172
- style: vue.normalizeStyle(vue.unref(index.columnItemStyle)(props, __props.column))
173
- },
174
- [
175
- vue.createCommentVNode(" \u8868\u5355label "),
176
- vue.createElementVNode(
177
- "div",
178
- {
179
- class: vue.normalizeClass(["flex items-center text-auxiliary text-xs whitespace-nowrap", {
180
- "border-r border-border px-3": __props.column.labelSlot && _ctx.$slots[__props.column.labelSlot] || vue.unref(form.columnLabelHandler)(__props.column, props.model)
181
- }])
182
- },
183
- [
184
- __props.column.labelSlot && _ctx.$slots[__props.column.labelSlot] ? vue.renderSlot(_ctx.$slots, __props.column.labelSlot, { column: columnConfig.value }, void 0, void 0, 0) : (vue.openBlock(), vue.createElementBlock(
185
- "span",
186
- { key: 1 },
187
- vue.toDisplayString(vue.unref(form.columnLabelHandler)(__props.column, props.model)),
188
- 1
189
- /* TEXT */
190
- ))
191
- ],
192
- 2
193
- /* CLASS */
194
- ),
195
- vue.createCommentVNode(" \u8868\u5355\u7EC4\u4EF6 "),
196
- vue.createElementVNode(
197
- "div",
198
- {
199
- class: vue.normalizeClass({ "hy-search-custom-wrapper": __props.column.slot }),
200
- style: vue.normalizeStyle(vue.unref(index.columnItemInputStyle)(props, __props.column))
201
- },
202
- [
203
- vue.createCommentVNode(" \u81EA\u5B9A\u4E49\u5177\u540D\u63D2\u69FD "),
204
- __props.column.slot ? vue.renderSlot(_ctx.$slots, __props.column.slot, { column: columnConfig.value }, void 0, void 0, 0) : __props.column.type === "input" ? (vue.openBlock(), vue.createElementBlock(
205
- vue.Fragment,
206
- { key: 1 },
207
- [
208
- vue.createCommentVNode(" \u8F93\u5165\u6846 "),
209
- vue.createVNode(vue.unref(index$1.HyInput), vue.mergeProps({
210
- modelValue: bindValue.value,
211
- "onUpdate:modelValue": ($event) => bindValue.value = $event
212
- }, columnAttrs.value, {
213
- disabled: vue.unref(index.isDisabled)(props, __props.column),
214
- onKeydown: vue.withKeys(($event) => onKeydownEnterHander($event, __props.column), ["enter"]),
215
- onChange: ($event) => onChangeHandler($event, __props.column)
216
- }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled", "onKeydown", "onChange"])
217
- ],
218
- 2112
219
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
220
- )) : __props.column.type === "select" ? (vue.openBlock(), vue.createElementBlock(
221
- vue.Fragment,
222
- { key: 2 },
223
- [
224
- vue.createCommentVNode(" \u9009\u62E9\u6846 "),
225
- vue.createVNode(vue.unref(elementPlus.ElSelect), vue.mergeProps({
226
- modelValue: bindValue.value,
227
- "onUpdate:modelValue": ($event) => bindValue.value = $event
228
- }, columnAttrs.value, {
229
- disabled: vue.unref(index.isDisabled)(props, __props.column),
230
- options: vue.unref(index.optionsHandler)(props, __props.column),
231
- onChange: ($event) => onChangeHandler($event, __props.column)
232
- }), vue.createSlots({
233
- _: 2
234
- /* DYNAMIC */
235
- }, [
236
- optionsLoading.value ? {
237
- name: "empty",
238
- fn: vue.withCtx(() => [
239
- vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
240
- vue.createVNode(vue.unref(elementPlus.ElIcon), {
241
- size: "16",
242
- class: "is-loading text-theme"
243
- }, {
244
- default: vue.withCtx(() => [
245
- vue.createVNode(vue.unref(iconsVue.Loading))
246
- ]),
247
- _: 1
248
- /* STABLE */
249
- }),
250
- vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
251
- ])
252
- ]),
253
- key: "0"
254
- } : void 0
255
- ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options", "onChange"])
256
- ],
257
- 2112
258
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
259
- )) : __props.column.type === "select-v2" ? (vue.openBlock(), vue.createElementBlock(
260
- vue.Fragment,
261
- { key: 3 },
262
- [
263
- vue.createCommentVNode(" \u865A\u62DF\u5316\u9009\u62E9\u6846 "),
264
- vue.createVNode(vue.unref(elementPlus.ElSelectV2), vue.mergeProps({
265
- modelValue: bindValue.value,
266
- "onUpdate:modelValue": ($event) => bindValue.value = $event
267
- }, columnAttrs.value, {
268
- disabled: vue.unref(index.isDisabled)(props, __props.column),
269
- options: vue.unref(index.optionsHandler)(props, __props.column),
270
- onChange: onChangeHandler
271
- }), vue.createSlots({
272
- _: 2
273
- /* DYNAMIC */
274
- }, [
275
- optionsLoading.value ? {
276
- name: "empty",
277
- fn: vue.withCtx(() => [
278
- vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
279
- vue.createVNode(vue.unref(elementPlus.ElIcon), {
280
- size: "16",
281
- class: "is-loading text-theme"
282
- }, {
283
- default: vue.withCtx(() => [
284
- vue.createVNode(vue.unref(iconsVue.Loading))
285
- ]),
286
- _: 1
287
- /* STABLE */
288
- }),
289
- vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
290
- ])
291
- ]),
292
- key: "0"
293
- } : void 0
294
- ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
295
- ],
296
- 2112
297
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
298
- )) : __props.column.type === "date-picker" ? (vue.openBlock(), vue.createElementBlock(
299
- vue.Fragment,
300
- { key: 4 },
301
- [
302
- vue.createCommentVNode(" \u65E5\u671F\u9009\u62E9\u6846 "),
207
+ vue.createElementVNode(
208
+ "div",
209
+ {
210
+ class: vue.normalizeClass(["flex bg-background-2 rounded outline outline-1 outline-transparent outline-offset-0 hover:outline-theme box-border", [
211
+ {
212
+ "!outline-danger-2 hy-el-search-item-error": __props.column.optionsError === "error"
213
+ }
214
+ ]])
215
+ },
216
+ [
217
+ vue.createElementVNode(
218
+ "div",
219
+ {
220
+ class: "flex",
221
+ style: vue.normalizeStyle(vue.unref(index.columnItemStyle)(props, __props.column))
222
+ },
223
+ [
224
+ vue.createCommentVNode(" \u8868\u5355label "),
225
+ vue.createElementVNode(
226
+ "div",
227
+ {
228
+ class: vue.normalizeClass(["flex items-center text-auxiliary text-sm whitespace-nowrap", {
229
+ "border-r border-border px-3": __props.column.labelSlot && _ctx.$slots[__props.column.labelSlot] || vue.unref(form.columnLabelHandler)(__props.column, props.model)
230
+ }])
231
+ },
232
+ [
233
+ __props.column.labelSlot && _ctx.$slots[__props.column.labelSlot] ? vue.renderSlot(_ctx.$slots, __props.column.labelSlot, { column: columnConfig.value }, void 0, void 0, 0) : (vue.openBlock(), vue.createElementBlock(
234
+ "span",
235
+ { key: 1 },
236
+ vue.toDisplayString(vue.unref(form.columnLabelHandler)(__props.column, props.model)),
237
+ 1
238
+ /* TEXT */
239
+ ))
240
+ ],
241
+ 2
242
+ /* CLASS */
243
+ ),
244
+ vue.createCommentVNode(" \u8868\u5355\u7EC4\u4EF6 "),
245
+ vue.createElementVNode(
246
+ "div",
247
+ {
248
+ class: vue.normalizeClass({ "hy-search-custom-wrapper": __props.column.slot }),
249
+ style: vue.normalizeStyle(vue.unref(index.columnItemInputStyle)(props, __props.column))
250
+ },
251
+ [
252
+ vue.createCommentVNode(" \u81EA\u5B9A\u4E49\u5177\u540D\u63D2\u69FD "),
253
+ __props.column.slot ? vue.renderSlot(_ctx.$slots, __props.column.slot, { column: columnConfig.value }, void 0, void 0, 0) : __props.column.type === "input" ? (vue.openBlock(), vue.createElementBlock(
254
+ vue.Fragment,
255
+ { key: 1 },
256
+ [
257
+ vue.createCommentVNode(" \u8F93\u5165\u6846 "),
258
+ vue.createVNode(vue.unref(index$1.HyInput), vue.mergeProps({
259
+ ref_key: "componentRef",
260
+ ref: componentRef,
261
+ modelValue: bindValue.value,
262
+ "onUpdate:modelValue": ($event) => bindValue.value = $event
263
+ }, columnAttrs.value, {
264
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
265
+ onKeydown: vue.withKeys(($event) => onKeydownEnterHander($event, __props.column), ["enter"]),
266
+ onChange: ($event) => onChangeHandler($event, __props.column)
267
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled", "onKeydown", "onChange"])
268
+ ],
269
+ 2112
270
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
271
+ )) : __props.column.type === "select" ? (vue.openBlock(), vue.createElementBlock(
272
+ vue.Fragment,
273
+ { key: 2 },
274
+ [
275
+ vue.createCommentVNode(" \u9009\u62E9\u6846 "),
276
+ vue.createVNode(vue.unref(elementPlus.ElSelect), vue.mergeProps({
277
+ ref_key: "componentRef",
278
+ ref: componentRef,
279
+ modelValue: bindValue.value,
280
+ "onUpdate:modelValue": ($event) => bindValue.value = $event
281
+ }, columnAttrs.value, {
282
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
283
+ options: getOptionsHandler(props, __props.column),
284
+ onChange: ($event) => onChangeHandler($event, __props.column),
285
+ onVisibleChange
286
+ }), vue.createSlots({
287
+ _: 2
288
+ /* DYNAMIC */
289
+ }, [
290
+ __props.column.optionsLoading ? {
291
+ name: "empty",
292
+ fn: vue.withCtx(() => [
293
+ vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
294
+ vue.createVNode(vue.unref(elementPlus.ElIcon), {
295
+ size: "16",
296
+ class: "is-loading text-theme"
297
+ }, {
298
+ default: vue.withCtx(() => [
299
+ vue.createVNode(vue.unref(iconsVue.Loading))
300
+ ]),
301
+ _: 1
302
+ /* STABLE */
303
+ }),
304
+ vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
305
+ ])
306
+ ]),
307
+ key: "0"
308
+ } : void 0
309
+ ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options", "onChange"])
310
+ ],
311
+ 2112
312
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
313
+ )) : __props.column.type === "select-v2" ? (vue.openBlock(), vue.createElementBlock(
314
+ vue.Fragment,
315
+ { key: 3 },
316
+ [
317
+ vue.createCommentVNode(" \u865A\u62DF\u5316\u9009\u62E9\u6846 "),
318
+ vue.createVNode(vue.unref(elementPlus.ElSelectV2), vue.mergeProps({
319
+ ref_key: "componentRef",
320
+ ref: componentRef,
321
+ modelValue: bindValue.value,
322
+ "onUpdate:modelValue": ($event) => bindValue.value = $event
323
+ }, columnAttrs.value, {
324
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
325
+ options: getOptionsHandler(props, __props.column),
326
+ onChange: onChangeHandler,
327
+ onVisibleChange
328
+ }), vue.createSlots({
329
+ _: 2
330
+ /* DYNAMIC */
331
+ }, [
332
+ __props.column.optionsLoading ? {
333
+ name: "empty",
334
+ fn: vue.withCtx(() => [
335
+ vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
336
+ vue.createVNode(vue.unref(elementPlus.ElIcon), {
337
+ size: "16",
338
+ class: "is-loading text-theme"
339
+ }, {
340
+ default: vue.withCtx(() => [
341
+ vue.createVNode(vue.unref(iconsVue.Loading))
342
+ ]),
343
+ _: 1
344
+ /* STABLE */
345
+ }),
346
+ vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
347
+ ])
348
+ ]),
349
+ key: "0"
350
+ } : void 0
351
+ ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
352
+ ],
353
+ 2112
354
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
355
+ )) : __props.column.type === "date-picker" ? (vue.openBlock(), vue.createElementBlock(
356
+ vue.Fragment,
357
+ { key: 4 },
358
+ [
359
+ vue.createCommentVNode(" \u65E5\u671F\u9009\u62E9\u6846 "),
360
+ [
361
+ "datetimerange",
362
+ "daterange",
363
+ "monthrange",
364
+ "yearrange"
365
+ ].includes(columnAttrs.value?.type) && vue.unref(is.isArray)(__props.column.field) ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.HyDatePicker), vue.mergeProps({
366
+ key: 0,
367
+ ref_key: "componentRef",
368
+ ref: componentRef,
369
+ start: bindValue.value,
370
+ "onUpdate:start": ($event) => bindValue.value = $event,
371
+ end: bindValue2.value,
372
+ "onUpdate:end": ($event) => bindValue2.value = $event,
373
+ "is-range": true,
374
+ style: { "width": "100%" },
375
+ timeRangeFill: __props.column.timeRangeFill
376
+ }, columnAttrs.value, {
377
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
378
+ onChange: ($event) => onChangeHandler($event, __props.column)
379
+ }), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "timeRangeFill", "disabled", "onChange"])) : (vue.openBlock(), vue.createBlock(vue.unref(index$2.HyDatePicker), vue.mergeProps({
380
+ key: 1,
381
+ ref_key: "componentRef",
382
+ ref: componentRef,
383
+ modelValue: bindValue.value,
384
+ "onUpdate:modelValue": ($event) => bindValue.value = $event,
385
+ "is-range": false,
386
+ style: { "width": "100%" },
387
+ timeRangeFill: __props.column.timeRangeFill
388
+ }, columnAttrs.value, {
389
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
390
+ onChange: ($event) => onChangeHandler($event, __props.column)
391
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "timeRangeFill", "disabled", "onChange"]))
392
+ ],
393
+ 64
394
+ /* STABLE_FRAGMENT */
395
+ )) : __props.column.type === "time-picker" ? (vue.openBlock(), vue.createElementBlock(
396
+ vue.Fragment,
397
+ { key: 5 },
398
+ [
399
+ vue.createCommentVNode(" \u65F6\u95F4\u9009\u62E9\u6846 "),
400
+ columnAttrs.value.isRange ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.HyTimePicker), vue.mergeProps({
401
+ key: 0,
402
+ ref_key: "componentRef",
403
+ ref: componentRef,
404
+ start: bindValue.value,
405
+ "onUpdate:start": ($event) => bindValue.value = $event,
406
+ end: bindValue2.value,
407
+ "onUpdate:end": ($event) => bindValue2.value = $event,
408
+ "is-range": true,
409
+ style: { "width": "100%" }
410
+ }, columnAttrs.value, {
411
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
412
+ onChange: onChangeHandler
413
+ }), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "disabled"])) : (vue.openBlock(), vue.createBlock(vue.unref(index$3.HyTimePicker), vue.mergeProps({
414
+ key: 1,
415
+ ref_key: "componentRef",
416
+ ref: componentRef,
417
+ modelValue: bindValue.value,
418
+ "onUpdate:modelValue": ($event) => bindValue.value = $event,
419
+ "is-range": false,
420
+ style: { "width": "100%" }
421
+ }, columnAttrs.value, {
422
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
423
+ onChange: onChangeHandler
424
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled"]))
425
+ ],
426
+ 64
427
+ /* STABLE_FRAGMENT */
428
+ )) : __props.column.type === "org-cascader" ? (vue.openBlock(), vue.createElementBlock(
429
+ vue.Fragment,
430
+ { key: 6 },
431
+ [
432
+ vue.createCommentVNode(" \u90E8\u95E8\u7EA7\u8054\u9009\u62E9\u6846 "),
433
+ vue.createVNode(vue.unref(index$4.HyOrgCascader), vue.mergeProps({
434
+ ref_key: "componentRef",
435
+ ref: componentRef,
436
+ modelValue: bindValue.value,
437
+ "onUpdate:modelValue": ($event) => bindValue.value = $event
438
+ }, columnAttrs.value, {
439
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
440
+ onChange: onChangeHandler,
441
+ onVisibleChange
442
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled"])
443
+ ],
444
+ 2112
445
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
446
+ )) : __props.column.type === "cascader" ? (vue.openBlock(), vue.createElementBlock(
447
+ vue.Fragment,
448
+ { key: 7 },
303
449
  [
304
- "datetimerange",
305
- "daterange",
306
- "monthrange",
307
- "yearrange"
308
- ].includes(columnAttrs.value?.type) && vue.unref(is.isArray)(__props.column.field) ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.HyDatePicker), vue.mergeProps({
309
- key: 0,
310
- start: bindValue.value,
311
- "onUpdate:start": ($event) => bindValue.value = $event,
312
- end: bindValue2.value,
313
- "onUpdate:end": ($event) => bindValue2.value = $event,
314
- "is-range": true,
315
- style: { "width": "100%" },
316
- timeRangeFill: __props.column.timeRangeFill
317
- }, columnAttrs.value, {
318
- disabled: vue.unref(index.isDisabled)(props, __props.column),
319
- onChange: ($event) => onChangeHandler($event, __props.column)
320
- }), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "timeRangeFill", "disabled", "onChange"])) : (vue.openBlock(), vue.createBlock(vue.unref(index$2.HyDatePicker), vue.mergeProps({
321
- key: 1,
322
- modelValue: bindValue.value,
323
- "onUpdate:modelValue": ($event) => bindValue.value = $event,
324
- "is-range": false,
325
- style: { "width": "100%" },
326
- timeRangeFill: __props.column.timeRangeFill
327
- }, columnAttrs.value, {
328
- disabled: vue.unref(index.isDisabled)(props, __props.column),
329
- onChange: ($event) => onChangeHandler($event, __props.column)
330
- }), null, 16, ["modelValue", "onUpdate:modelValue", "timeRangeFill", "disabled", "onChange"]))
331
- ],
332
- 64
333
- /* STABLE_FRAGMENT */
334
- )) : __props.column.type === "time-picker" ? (vue.openBlock(), vue.createElementBlock(
335
- vue.Fragment,
336
- { key: 5 },
337
- [
338
- vue.createCommentVNode(" \u65F6\u95F4\u9009\u62E9\u6846 "),
339
- columnAttrs.value.isRange ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.HyTimePicker), vue.mergeProps({
340
- key: 0,
341
- start: bindValue.value,
342
- "onUpdate:start": ($event) => bindValue.value = $event,
343
- end: bindValue2.value,
344
- "onUpdate:end": ($event) => bindValue2.value = $event,
345
- "is-range": true,
346
- style: { "width": "100%" }
347
- }, columnAttrs.value, {
348
- disabled: vue.unref(index.isDisabled)(props, __props.column),
349
- onChange: onChangeHandler
350
- }), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "disabled"])) : (vue.openBlock(), vue.createBlock(vue.unref(index$3.HyTimePicker), vue.mergeProps({
351
- key: 1,
352
- modelValue: bindValue.value,
353
- "onUpdate:modelValue": ($event) => bindValue.value = $event,
354
- "is-range": false,
355
- style: { "width": "100%" }
356
- }, columnAttrs.value, {
357
- disabled: vue.unref(index.isDisabled)(props, __props.column),
358
- onChange: onChangeHandler
359
- }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled"]))
360
- ],
361
- 64
362
- /* STABLE_FRAGMENT */
363
- )) : __props.column.type === "org-cascader" ? (vue.openBlock(), vue.createElementBlock(
364
- vue.Fragment,
365
- { key: 6 },
366
- [
367
- vue.createCommentVNode(" \u90E8\u95E8\u7EA7\u8054\u9009\u62E9\u6846 "),
368
- vue.createVNode(vue.unref(index$4.HyOrgCascader), vue.mergeProps({
369
- ref_key: "orgCascaderRef",
370
- ref: orgCascaderRef,
371
- modelValue: bindValue.value,
372
- "onUpdate:modelValue": ($event) => bindValue.value = $event
373
- }, columnAttrs.value, {
374
- disabled: vue.unref(index.isDisabled)(props, __props.column),
375
- onChange: onChangeHandler
376
- }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled"])
377
- ],
378
- 2112
379
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
380
- )) : __props.column.type === "cascader" ? (vue.openBlock(), vue.createElementBlock(
381
- vue.Fragment,
382
- { key: 7 },
383
- [
384
- vue.createCommentVNode(" \u7EA7\u8054\u9009\u62E9\u6846 "),
385
- vue.createVNode(vue.unref(elementPlus.ElCascader), vue.mergeProps({
386
- modelValue: bindValue.value,
387
- "onUpdate:modelValue": ($event) => bindValue.value = $event
388
- }, columnAttrs.value, {
389
- style: { "width": "100%" },
390
- disabled: vue.unref(index.isDisabled)(props, __props.column),
391
- options: vue.unref(index.optionsHandler)(props, __props.column),
392
- onChange: onChangeHandler
393
- }), vue.createSlots({
394
- _: 2
395
- /* DYNAMIC */
396
- }, [
397
- optionsLoading.value ? {
398
- name: "empty",
399
- fn: vue.withCtx(() => [
400
- vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
401
- vue.createVNode(vue.unref(elementPlus.ElIcon), {
402
- size: "16",
403
- class: "is-loading text-theme"
404
- }, {
405
- default: vue.withCtx(() => [
406
- vue.createVNode(vue.unref(iconsVue.Loading))
407
- ]),
408
- _: 1
409
- /* STABLE */
410
- }),
411
- vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
412
- ])
413
- ]),
414
- key: "0"
415
- } : void 0
416
- ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
417
- ],
418
- 2112
419
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
420
- )) : vue.createCommentVNode("v-if", true)
421
- ],
422
- 6
423
- /* CLASS, STYLE */
424
- )
425
- ],
426
- 4
427
- /* STYLE */
428
- ),
429
- __props.column.type === "date-picker" && ["daterange", "datetimerange"].includes(columnAttrs.value?.type) && __props.column.timeRangeOptions?.length ? (vue.openBlock(), vue.createElementBlock("div", {
430
- key: 0,
431
- class: "flex text-main select-none"
432
- }, [
433
- (vue.openBlock(true), vue.createElementBlock(
434
- vue.Fragment,
435
- null,
436
- vue.renderList(__props.column.timeRangeOptions, (item, index$1) => {
437
- return vue.openBlock(), vue.createElementBlock("div", {
438
- key: index$1,
439
- class: vue.normalizeClass(["border-l border-border px-[10px] cursor-pointer", {
440
- "bg-[rgba(var(--hy-theme),0.2)] text-theme font-bold": vue.unref(index.isSelectedTimeRange)(__props.column, item, __props.model)
441
- }]),
442
- onClick: ($event) => onTimeRangeClickHandler(__props.column, item)
443
- }, [
444
- vue.createElementVNode(
445
- "span",
446
- null,
447
- vue.toDisplayString(item.label),
448
- 1
449
- /* TEXT */
450
- )
451
- ], 10, ["onClick"]);
452
- }),
453
- 128
454
- /* KEYED_FRAGMENT */
455
- ))
456
- ])) : vue.createCommentVNode("v-if", true)
457
- ])
450
+ vue.createCommentVNode(" \u7EA7\u8054\u9009\u62E9\u6846 "),
451
+ vue.createVNode(vue.unref(elementPlus.ElCascader), vue.mergeProps({
452
+ ref_key: "componentRef",
453
+ ref: componentRef,
454
+ modelValue: bindValue.value,
455
+ "onUpdate:modelValue": ($event) => bindValue.value = $event
456
+ }, columnAttrs.value, {
457
+ style: { "width": "100%" },
458
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
459
+ options: getOptionsHandler(props, __props.column),
460
+ onChange: onChangeHandler,
461
+ onVisibleChange
462
+ }), vue.createSlots({
463
+ _: 2
464
+ /* DYNAMIC */
465
+ }, [
466
+ __props.column.optionsLoading ? {
467
+ name: "empty",
468
+ fn: vue.withCtx(() => [
469
+ vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
470
+ vue.createVNode(vue.unref(elementPlus.ElIcon), {
471
+ size: "16",
472
+ class: "is-loading text-theme"
473
+ }, {
474
+ default: vue.withCtx(() => [
475
+ vue.createVNode(vue.unref(iconsVue.Loading))
476
+ ]),
477
+ _: 1
478
+ /* STABLE */
479
+ }),
480
+ vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
481
+ ])
482
+ ]),
483
+ key: "0"
484
+ } : void 0
485
+ ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
486
+ ],
487
+ 2112
488
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
489
+ )) : vue.createCommentVNode("v-if", true)
490
+ ],
491
+ 6
492
+ /* CLASS, STYLE */
493
+ )
494
+ ],
495
+ 4
496
+ /* STYLE */
497
+ ),
498
+ __props.column.type === "date-picker" && ["daterange", "datetimerange"].includes(columnAttrs.value?.type) && __props.column.timeRangeOptions?.length ? (vue.openBlock(), vue.createElementBlock("div", {
499
+ key: 0,
500
+ class: "flex text-main select-none"
501
+ }, [
502
+ (vue.openBlock(true), vue.createElementBlock(
503
+ vue.Fragment,
504
+ null,
505
+ vue.renderList(__props.column.timeRangeOptions, (item, index$1) => {
506
+ return vue.openBlock(), vue.createElementBlock("div", {
507
+ key: index$1,
508
+ class: vue.normalizeClass(["border-l border-border px-[10px] cursor-pointer", {
509
+ "bg-[rgba(var(--hy-theme),0.2)] text-theme font-bold": vue.unref(index.isSelectedTimeRange)(__props.column, item, __props.model)
510
+ }]),
511
+ onClick: ($event) => onTimeRangeClickHandler(__props.column, item)
512
+ }, [
513
+ vue.createElementVNode(
514
+ "span",
515
+ null,
516
+ vue.toDisplayString(item.label),
517
+ 1
518
+ /* TEXT */
519
+ )
520
+ ], 10, ["onClick"]);
521
+ }),
522
+ 128
523
+ /* KEYED_FRAGMENT */
524
+ ))
525
+ ])) : vue.createCommentVNode("v-if", true)
526
+ ],
527
+ 2
528
+ /* CLASS */
529
+ )
458
530
  ]),
459
531
  _: 3
460
532
  /* FORWARDED */