hy-dispatch-ui-v3 0.2.64 → 0.2.66

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 (128) hide show
  1. package/dist/tailwind.css +26 -12
  2. package/es/api/organization.mjs +43 -0
  3. package/es/bussiness/hyAcquisitionStationTree/acquisitionStationTree.vue.mjs +245 -0
  4. package/es/bussiness/hyAcquisitionStationTree/index.mjs +7 -0
  5. package/es/bussiness/hyAcquisitionStationTree/js/index.mjs +124 -0
  6. package/es/bussiness/hyAcquisitionStationTree/style/acquisitionStationTree.scss +0 -0
  7. package/es/bussiness/hyDeviceTree/deviceTree.vue.mjs +249 -0
  8. package/es/bussiness/hyDeviceTree/index.mjs +7 -0
  9. package/es/bussiness/hyDeviceTree/js/index.mjs +126 -0
  10. package/es/bussiness/hyDeviceTree/style/deviceTree.scss +0 -0
  11. package/es/bussiness/hyOrgGroupTree/index.mjs +7 -0
  12. package/es/bussiness/hyOrgGroupTree/js/index.mjs +124 -0
  13. package/es/bussiness/hyOrgGroupTree/orgGroupTree.vue.mjs +245 -0
  14. package/es/bussiness/hyOrgGroupTree/style/orgGroupTree.scss +0 -0
  15. package/es/bussiness/hyPlanGroupDeviceTree/index.mjs +7 -0
  16. package/es/bussiness/hyPlanGroupDeviceTree/js/index.mjs +124 -0
  17. package/es/bussiness/hyPlanGroupDeviceTree/planGroupDeviceTree.vue.mjs +245 -0
  18. package/es/bussiness/hyPlanGroupDeviceTree/style/planGroupDeviceTree.scss +0 -0
  19. package/es/bussiness/hyUserTree/index.mjs +7 -0
  20. package/es/bussiness/hyUserTree/js/index.mjs +126 -0
  21. package/es/bussiness/hyUserTree/style/userTree.scss +0 -0
  22. package/es/bussiness/hyUserTree/userTree.vue.mjs +239 -0
  23. package/es/bussiness/index.mjs +5 -0
  24. package/es/components/hyBatchUploadDialog/batchUploadDialog.vue.mjs +18 -16
  25. package/es/components/hyButton/button.vue.mjs +3 -2
  26. package/es/components/hyButton/style/button.scss +70 -0
  27. package/es/components/hyConfirmDialog/confirmDialog.vue.mjs +1 -2
  28. package/es/components/hyForm/cpns/formItem.vue.mjs +198 -26
  29. package/es/components/hyForm/cpns/locationSelect.vue.mjs +8 -1
  30. package/es/components/hyForm/form.vue.mjs +74 -19
  31. package/es/components/hyForm/js/index.mjs +2 -1
  32. package/es/components/hyForm/js/useAppForm.mjs +2 -2
  33. package/es/components/hyIcon/style/icon.scss +1 -0
  34. package/es/components/hyNoPermissions/noPermissions.vue.mjs +1 -1
  35. package/es/components/hyNoPermissionsMap/noPermissionsMap.vue.mjs +1 -1
  36. package/es/components/hyOrgCascader/orgCascader.vue.mjs +69 -14
  37. package/es/components/hyRadioGroup/radioGroup.vue.mjs +5 -4
  38. package/es/components/hySearch/cpns/searchItem.vue.mjs +167 -11
  39. package/es/components/hySearch/js/index.mjs +2 -1
  40. package/es/components/hySearch/search.vue.mjs +60 -9
  41. package/es/components/hyTable/cpns/columnSelect.vue.mjs +21 -22
  42. package/es/components/hyTable/cpns/virtualTable.vue.mjs +10 -15
  43. package/es/components/hyTable/js/index.mjs +5 -12
  44. package/es/components/hyTable/js/search.mjs +3 -1
  45. package/es/components/hyTable/style/table.scss +13 -0
  46. package/es/components/hyTable/table.vue.mjs +21 -9
  47. package/es/components/hyTableActionButton/tableActionButton.vue.mjs +8 -10
  48. package/es/components/hyTableForm/batchTableForm.vue.mjs +13 -3
  49. package/es/components/hyTableForm/tableForm.vue.mjs +17 -11
  50. package/es/components/hyTour/index.mjs +7 -0
  51. package/es/components/hyTour/style/tour.scss +0 -0
  52. package/es/components/hyTour/tour.vue.mjs +23 -0
  53. package/es/components/hyTree/config/tree-config.mjs +5 -2
  54. package/es/components/hyTree/js/index.mjs +75 -68
  55. package/es/components/hyTree/tree.vue.mjs +19 -36
  56. package/es/components/index.mjs +1 -0
  57. package/es/index.mjs +6 -0
  58. package/es/static/hy-svg-icons/hy-icon-ops-linear-arrow.js +10 -0
  59. package/es/style/element/hy-element.scss +24 -3
  60. package/es/style/theme.scss +1 -0
  61. package/es/utils/map/hook/bigMap.mjs +9 -1
  62. package/es/utils/map/hook/gaode.mjs +9 -1
  63. package/es/utils/map/hook/leafletjs.mjs +10 -1
  64. package/es/version.mjs +1 -1
  65. package/lib/api/organization.js +47 -0
  66. package/lib/bussiness/hyAcquisitionStationTree/acquisitionStationTree.vue.js +249 -0
  67. package/lib/bussiness/hyAcquisitionStationTree/index.js +12 -0
  68. package/lib/bussiness/hyAcquisitionStationTree/js/index.js +126 -0
  69. package/lib/bussiness/hyAcquisitionStationTree/style/acquisitionStationTree.scss +0 -0
  70. package/lib/bussiness/hyDeviceTree/deviceTree.vue.js +253 -0
  71. package/lib/bussiness/hyDeviceTree/index.js +12 -0
  72. package/lib/bussiness/hyDeviceTree/js/index.js +128 -0
  73. package/lib/bussiness/hyDeviceTree/style/deviceTree.scss +0 -0
  74. package/lib/bussiness/hyOrgGroupTree/index.js +12 -0
  75. package/lib/bussiness/hyOrgGroupTree/js/index.js +126 -0
  76. package/lib/bussiness/hyOrgGroupTree/orgGroupTree.vue.js +249 -0
  77. package/lib/bussiness/hyOrgGroupTree/style/orgGroupTree.scss +0 -0
  78. package/lib/bussiness/hyPlanGroupDeviceTree/index.js +12 -0
  79. package/lib/bussiness/hyPlanGroupDeviceTree/js/index.js +126 -0
  80. package/lib/bussiness/hyPlanGroupDeviceTree/planGroupDeviceTree.vue.js +249 -0
  81. package/lib/bussiness/hyPlanGroupDeviceTree/style/planGroupDeviceTree.scss +0 -0
  82. package/lib/bussiness/hyUserTree/index.js +12 -0
  83. package/lib/bussiness/hyUserTree/js/index.js +128 -0
  84. package/lib/bussiness/hyUserTree/style/userTree.scss +0 -0
  85. package/lib/bussiness/hyUserTree/userTree.vue.js +243 -0
  86. package/lib/bussiness/index.js +14 -4
  87. package/lib/components/hyBatchUploadDialog/batchUploadDialog.vue.js +18 -16
  88. package/lib/components/hyButton/button.vue.js +3 -2
  89. package/lib/components/hyButton/style/button.scss +70 -0
  90. package/lib/components/hyConfirmDialog/confirmDialog.vue.js +0 -1
  91. package/lib/components/hyForm/cpns/formItem.vue.js +195 -23
  92. package/lib/components/hyForm/cpns/locationSelect.vue.js +8 -1
  93. package/lib/components/hyForm/form.vue.js +72 -17
  94. package/lib/components/hyForm/js/index.js +2 -0
  95. package/lib/components/hyForm/js/useAppForm.js +2 -2
  96. package/lib/components/hyIcon/style/icon.scss +1 -0
  97. package/lib/components/hyNoPermissions/noPermissions.vue.js +1 -1
  98. package/lib/components/hyNoPermissionsMap/noPermissionsMap.vue.js +1 -1
  99. package/lib/components/hyOrgCascader/orgCascader.vue.js +67 -12
  100. package/lib/components/hyRadioGroup/radioGroup.vue.js +5 -4
  101. package/lib/components/hySearch/cpns/searchItem.vue.js +164 -8
  102. package/lib/components/hySearch/js/index.js +2 -0
  103. package/lib/components/hySearch/search.vue.js +58 -7
  104. package/lib/components/hyTable/cpns/columnSelect.vue.js +20 -21
  105. package/lib/components/hyTable/cpns/virtualTable.vue.js +27 -32
  106. package/lib/components/hyTable/js/index.js +5 -12
  107. package/lib/components/hyTable/js/search.js +3 -1
  108. package/lib/components/hyTable/style/table.scss +13 -0
  109. package/lib/components/hyTable/table.vue.js +20 -8
  110. package/lib/components/hyTableActionButton/tableActionButton.vue.js +7 -9
  111. package/lib/components/hyTableForm/batchTableForm.vue.js +13 -3
  112. package/lib/components/hyTableForm/tableForm.vue.js +18 -12
  113. package/lib/components/hyTour/index.js +12 -0
  114. package/lib/components/hyTour/style/tour.scss +0 -0
  115. package/lib/components/hyTour/tour.vue.js +27 -0
  116. package/lib/components/hyTree/config/tree-config.js +5 -2
  117. package/lib/components/hyTree/js/index.js +75 -68
  118. package/lib/components/hyTree/tree.vue.js +19 -36
  119. package/lib/components/index.js +8 -6
  120. package/lib/index.js +67 -55
  121. package/lib/static/hy-svg-icons/hy-icon-ops-linear-arrow.js +10 -0
  122. package/lib/style/element/hy-element.scss +24 -3
  123. package/lib/style/theme.scss +1 -0
  124. package/lib/utils/map/hook/bigMap.js +9 -1
  125. package/lib/utils/map/hook/gaode.js +9 -1
  126. package/lib/utils/map/hook/leafletjs.js +10 -1
  127. package/lib/version.js +1 -1
  128. package/package.json +1 -1
@@ -3,13 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var elementPlus = require('element-plus');
7
- var iconsVue = require('@element-plus/icons-vue');
8
6
  require('../index.js');
9
7
  var index = require('../hyDialog/index.js');
10
8
  var index$1 = require('../hyTableForm/index.js');
11
9
  var index$2 = require('../hyButton/index.js');
12
10
  var index$3 = require('../hyTooltip/index.js');
11
+ var index$4 = require('../hyIcon/index.js');
13
12
 
14
13
  import "./style/batchUploadDialog.scss";
15
14
 
@@ -109,6 +108,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
109
108
  "validate",
110
109
  "submitting",
111
110
  "submit",
111
+ "submitProgress",
112
+ "tableDataChange",
112
113
  "onMinimized",
113
114
  "onDialogMousedown"
114
115
  ], ["update:modelValue"]),
@@ -124,6 +125,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
124
125
  const totalElements = vue.ref(0);
125
126
  const failedCount = vue.ref(0);
126
127
  const failedStatus = vue.ref(null);
128
+ function tableDataChange(e) {
129
+ emits("tableDataChange", e);
130
+ }
127
131
  function setDragLevelIndex(dragLevel) {
128
132
  HyDialogRef.value.setDragLevelIndex(dragLevel);
129
133
  }
@@ -166,6 +170,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
166
170
  isSubmitting.value = true;
167
171
  emits("submitting", ...args);
168
172
  }
173
+ function onSubmitProgressHandler(submitProgress) {
174
+ emits("submitProgress", submitProgress);
175
+ }
169
176
  function onTableSubmitHandler(params) {
170
177
  const { total, success, failed, result } = params;
171
178
  if (result) {
@@ -197,7 +204,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
197
204
  }
198
205
  __expose({
199
206
  show,
200
- setDragLevelIndex,
201
207
  getTableDataSource: () => {
202
208
  return batchTableFormRef.value.getTableDataSource();
203
209
  },
@@ -242,12 +248,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
242
248
  key: 0,
243
249
  class: "flex items-center gap-1.5 text-xs text-warning"
244
250
  }, [
245
- vue.createVNode(vue.unref(elementPlus.ElIcon), null, {
246
- default: vue.withCtx(() => [
247
- vue.createVNode(vue.unref(iconsVue.Warning))
248
- ]),
249
- _: 1
250
- /* STABLE */
251
+ vue.createVNode(vue.unref(index$4.HyIcon), {
252
+ "svg-name": "dispatch-share1-prompt",
253
+ class: "!w-3 !h-3"
251
254
  }),
252
255
  failedStatus.value === "validate" ? (vue.openBlock(), vue.createElementBlock(
253
256
  "span",
@@ -266,12 +269,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
266
269
  key: 1,
267
270
  class: "flex items-center gap-1.5 text-xs text-warning"
268
271
  }, [
269
- vue.createVNode(vue.unref(elementPlus.ElIcon), null, {
270
- default: vue.withCtx(() => [
271
- vue.createVNode(vue.unref(iconsVue.Warning))
272
- ]),
273
- _: 1
274
- /* STABLE */
272
+ vue.createVNode(vue.unref(index$4.HyIcon), {
273
+ "svg-name": "dispatch-share1-prompt",
274
+ class: "!w-3 !h-3"
275
275
  }),
276
276
  vue.createElementVNode("span", null, "\u5F53\u524D\u672A\u5BFC\u5165\u6570\u636E\uFF0C\u8BF7\u60A8\u5BFC\u5165\u6DFB\u52A0\u6570\u636E")
277
277
  ])) : vue.createCommentVNode("v-if", true)
@@ -338,12 +338,14 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
338
338
  onExpandRowChange: __props.onExpandRowChange,
339
339
  "submit-handler": __props.submitHandler,
340
340
  showAddBtn: __props.showAddBtn,
341
+ onTableDataChange: tableDataChange,
341
342
  onUploading: onTableUploadingHandler,
342
343
  onUploaded: onTableUploadedHandler,
343
344
  onReset: onTableResetHandler,
344
345
  onValidate: onTableValidateHandler,
345
346
  onSubmitting: onTableSubmittingHandler,
346
- onSubmit: onTableSubmitHandler
347
+ onSubmit: onTableSubmitHandler,
348
+ onSubmitProgress: onSubmitProgressHandler
347
349
  }, vue.createSlots({
348
350
  _: 2
349
351
  /* DYNAMIC */
@@ -19,7 +19,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
19
19
  type: {
20
20
  type: String,
21
21
  default: "default"
22
- // default 默认 primary 亮色 success 添加 danger 删除
22
+ // default 默认 primary 亮色 success 添加 danger 删除 operate 操作
23
23
  },
24
24
  disabled: {
25
25
  type: Boolean,
@@ -54,7 +54,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
54
54
  default: "hy-button_default",
55
55
  primary: "hy-button_function",
56
56
  success: "hy-button_addTo",
57
- danger: "hy-button_delete"
57
+ danger: "hy-button_delete",
58
+ operate: "hy-button_operate"
58
59
  };
59
60
  const emit = __emit;
60
61
  const handleClick = (event) => {
@@ -295,6 +295,72 @@
295
295
  color: rgba(255, 255, 255, 0.68);
296
296
  }
297
297
  }
298
+
299
+ &.hy-button_operate {
300
+ background: rgba(45, 255, 211, 0.32);
301
+ border: 1px solid rgba(45, 255, 211, 1);
302
+ box-shadow: 0px 0px 0px 2px rgba(45, 255, 211, 0.5);
303
+
304
+ .hy-button__border {
305
+ background: linear-gradient(
306
+ 90deg,
307
+ rgba(45, 255, 211, 0.4) 0%,
308
+ rgba(45, 255, 211, 1) 50%,
309
+ rgba(45, 255, 211, 0.4) 100%
310
+ );
311
+ }
312
+
313
+ .hy-button__inner {
314
+ background: #002932;
315
+ box-shadow:
316
+ inset 0 0 5px 1px rgba(45, 255, 211, 0.5),
317
+ inset 0 0 2px 0 rgba(45, 255, 211, 0.5);
318
+ }
319
+
320
+ .hy-button__text {
321
+ color: #fff;
322
+ }
323
+
324
+ .hy-button__mask {
325
+ background: radial-gradient(
326
+ ellipse at center bottom,
327
+ #2DFFD3 0%,
328
+ #189177 30%,
329
+ transparent 60%
330
+ );
331
+ }
332
+
333
+ &:hover .hy-button__inner {
334
+ box-shadow:
335
+ inset 0 0 5px 1px rgba(45, 255, 211, 0.5),
336
+ inset 0 0 2px 0 rgba(45, 255, 211, 0.5),
337
+ inset 0 0 5px 1px rgba(45, 255, 211, 0.5),
338
+ inset 0 0 2px 0 rgba(45, 255, 211, 0.5);
339
+ }
340
+
341
+ &:disabled .hy-button__border,
342
+ &.is-disabled .hy-button__border {
343
+ background: linear-gradient(
344
+ 90deg,
345
+ rgba(45, 255, 211, 0.18) 0%,
346
+ rgba(45, 255, 211, 0.42) 50%,
347
+ rgba(45, 255, 211, 0.18) 100%
348
+ );
349
+ }
350
+
351
+ &:disabled .hy-button__inner,
352
+ &.is-disabled .hy-button__inner {
353
+ background: #4b0c0c;
354
+ box-shadow:
355
+ inset 0 0 4px 1px rgba(45, 255, 211, 0.2),
356
+ inset 0 0 2px 0 rgba(24, 145, 119, 0.16);
357
+ }
358
+
359
+ &:disabled .hy-button__text,
360
+ &.is-disabled .hy-button__text {
361
+ color: rgba(255, 255, 255, 0.68);
362
+ }
363
+ }
298
364
  }
299
365
 
300
366
 
@@ -347,6 +413,10 @@
347
413
  --hy-button-text-color: rgba(var(--hy-danger-2));
348
414
  }
349
415
 
416
+ &.hy-button_operate {
417
+ --hy-button-text-color: rgba(var(--hy-success-3));
418
+ }
419
+
350
420
  &.is-disabled {
351
421
  cursor: not-allowed;
352
422
  }
@@ -176,7 +176,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
176
176
  default: vue.withCtx(() => [
177
177
  vue.createElementVNode("div", { class: "flex flex-col items-center justify-between pt-[37px] pb-[27px]" }, [
178
178
  vue.createElementVNode("div", { class: "flex flex-col items-center text-main" }, [
179
- vue.createCommentVNode(' <el-icon size="40" :color="iconColor"><Warning /></el-icon> '),
180
179
  vue.createVNode(vue.unref(index.HyIcon), {
181
180
  "svg-name": "dispatch-share1-prompt",
182
181
  class: "!w-[40px] !h-[40px]",
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var elementPlus = require('element-plus');
7
+ var iconsVue = require('@element-plus/icons-vue');
7
8
  require('../../../utils/index.js');
8
9
  require('../../index.js');
9
10
  var index = require('../js/index.js');
@@ -64,7 +65,9 @@ const _sfc_main = {
64
65
  setup(__props) {
65
66
  const { t } = useLocale.useLocale();
66
67
  const props = __props;
68
+ const formContext = vue.inject(index.formContextKey);
67
69
  const formItemRef = vue.useTemplateRef("formItemRef");
70
+ const orgCascaderRef = vue.useTemplateRef("orgCascaderRef");
68
71
  const columnProp = vue.computed(() => {
69
72
  let field = is.isArray(props.column.field) ? props.column.field[0] : props.column.field;
70
73
  if (props.parentProp) {
@@ -72,6 +75,10 @@ const _sfc_main = {
72
75
  }
73
76
  return field;
74
77
  });
78
+ const propString = vue.computed(() => {
79
+ if (!columnProp.value) return "";
80
+ return is.isArray(columnProp.value) ? columnProp.value.join(".") : columnProp.value;
81
+ });
75
82
  const bindValue = vue.computed({
76
83
  get() {
77
84
  const prop = is.isArray(props.column.field) ? props.column.field[0] : props.column.field;
@@ -92,6 +99,12 @@ const _sfc_main = {
92
99
  form.setValueByProp(props.model, prop, val);
93
100
  }
94
101
  });
102
+ const columnConfig = vue.computed(() => {
103
+ return {
104
+ ...props.column,
105
+ attrs: columnAttrs.value
106
+ };
107
+ });
95
108
  const columnAttrs = vue.computed(() => {
96
109
  return {
97
110
  ...props.column.attrs,
@@ -99,6 +112,37 @@ const _sfc_main = {
99
112
  placeholder: form.columnPlaceholderHandler(props.column, props.model)
100
113
  };
101
114
  });
115
+ const optionsLoading = vue.ref(false);
116
+ const optionsError = vue.ref("");
117
+ async function obtainOptions() {
118
+ if (props.column.optionsFn) {
119
+ if (!props.column.optionsFn || optionsLoading.value) return;
120
+ optionsLoading.value = true;
121
+ optionsError.value = "";
122
+ props.column.attrs.options = [];
123
+ try {
124
+ props.column.attrs.options = await props.column.optionsFn(
125
+ props.column,
126
+ props.model
127
+ );
128
+ optionsError.value = "";
129
+ } catch (err) {
130
+ optionsError.value = "error";
131
+ console.error(err);
132
+ }
133
+ } else if (props.column.type === "org-cascader") {
134
+ if (orgCascaderRef.value) {
135
+ optionsLoading.value = true;
136
+ optionsError.value = "";
137
+ try {
138
+ await orgCascaderRef.value.getData();
139
+ } catch {
140
+ optionsError.value = "error";
141
+ }
142
+ }
143
+ }
144
+ optionsLoading.value = false;
145
+ }
102
146
  function getColumnRuleHandler(column, model) {
103
147
  if (!index.isRequired(props, column) && formItemRef.value) {
104
148
  formItemRef.value.clearValidate();
@@ -108,8 +152,29 @@ const _sfc_main = {
108
152
  function onChangeHandler() {
109
153
  const { onChange } = props.column;
110
154
  if (!onChange) return;
111
- onChange(props.column, props.model);
155
+ onChange(props.column, props.model, props.index);
112
156
  }
157
+ const context = vue.reactive({
158
+ ...vue.toRefs(props),
159
+ columnProp,
160
+ propString,
161
+ columnConfig,
162
+ columnAttrs,
163
+ obtainOptions,
164
+ optionsLoading,
165
+ optionsError,
166
+ options: vue.computed(() => {
167
+ return index.optionsHandler(props, props.column);
168
+ })
169
+ });
170
+ vue.onMounted(() => {
171
+ if (propString.value) {
172
+ formContext?.addField(context);
173
+ }
174
+ });
175
+ vue.onBeforeUnmount(() => {
176
+ formContext?.removeField(context);
177
+ });
113
178
  return (_ctx, _cache) => {
114
179
  return !vue.unref(index.columnVisibleHandler)(props, __props.column) ? (vue.openBlock(), vue.createElementBlock("div", {
115
180
  key: 0,
@@ -126,14 +191,14 @@ const _sfc_main = {
126
191
  id: __props.column.id,
127
192
  prop: columnProp.value,
128
193
  rules: getColumnRuleHandler(__props.column, props.model),
129
- style: vue.normalizeStyle(vue.unref(index.columnItemStyle)(props, __props.column))
130
- }, {
194
+ style: vue.normalizeStyle(vue.unref(index.columnItemStyle)(props, __props.column)),
195
+ error: optionsError.value
196
+ }, vue.createSlots({
131
197
  default: vue.withCtx(() => [
132
- vue.createCommentVNode(" \u8868\u5355\u9879label "),
133
198
  vue.createElementVNode("div", { class: "w-full flex justify-between text-main" }, [
134
199
  vue.createElementVNode("div", { class: "flex items-center" }, [
135
200
  vue.renderSlot(_ctx.$slots, __props.column.labelSlot, {
136
- column: __props.column,
201
+ column: columnConfig.value,
137
202
  model: __props.model,
138
203
  required: vue.unref(index.isRequired)(props, __props.column)
139
204
  }, () => [
@@ -162,7 +227,11 @@ const _sfc_main = {
162
227
  1
163
228
  /* TEXT */
164
229
  )) : vue.createCommentVNode("v-if", true),
165
- vue.renderSlot(_ctx.$slots, __props.column.tooltipContentSlot)
230
+ vue.renderSlot(_ctx.$slots, __props.column.tooltipContentSlot, {
231
+ column: columnConfig.value,
232
+ model: __props.model,
233
+ required: vue.unref(index.isRequired)(props, __props.column)
234
+ })
166
235
  ]),
167
236
  default: vue.withCtx(() => [
168
237
  vue.createElementVNode("span", { class: "text-xs text-theme ml-2" }, [
@@ -188,13 +257,12 @@ const _sfc_main = {
188
257
  class: "ml-2 flex items-center"
189
258
  }, [
190
259
  vue.renderSlot(_ctx.$slots, __props.column.rightSlot, {
191
- column: __props.column,
260
+ column: columnConfig.value,
192
261
  model: __props.model,
193
262
  required: vue.unref(index.isRequired)(props, __props.column)
194
263
  })
195
264
  ])) : vue.createCommentVNode("v-if", true)
196
265
  ]),
197
- vue.createCommentVNode(" \u5185\u5BB9\u4EC5\u67E5\u770B "),
198
266
  vue.unref(index.isReadonly)(props, __props.column) || !__props.column.type && !__props.column.slot ? (vue.openBlock(), vue.createElementBlock(
199
267
  "div",
200
268
  {
@@ -230,9 +298,10 @@ const _sfc_main = {
230
298
  vue.Fragment,
231
299
  { key: 1 },
232
300
  [
301
+ vue.createCommentVNode(" \u8868\u5355\u9879 "),
233
302
  vue.createCommentVNode(" \u81EA\u5B9A\u4E49\u5177\u540D\u63D2\u69FD "),
234
303
  __props.column.slot && _ctx.$slots[__props.column.slot] ? vue.renderSlot(_ctx.$slots, __props.column.slot, {
235
- column: __props.column,
304
+ column: columnConfig.value,
236
305
  model: __props.model,
237
306
  required: vue.unref(index.isRequired)(props, __props.column)
238
307
  }, void 0, void 0, 0) : __props.column.type === "input" ? (vue.openBlock(), vue.createElementBlock(
@@ -262,13 +331,75 @@ const _sfc_main = {
262
331
  disabled: vue.unref(index.isDisabled)(props, __props.column),
263
332
  options: vue.unref(index.optionsHandler)(props, __props.column),
264
333
  onChange: onChangeHandler
265
- }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
334
+ }), vue.createSlots({
335
+ _: 2
336
+ /* DYNAMIC */
337
+ }, [
338
+ optionsLoading.value ? {
339
+ name: "empty",
340
+ fn: vue.withCtx(() => [
341
+ vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
342
+ vue.createVNode(vue.unref(elementPlus.ElIcon), {
343
+ size: "16",
344
+ class: "is-loading text-theme"
345
+ }, {
346
+ default: vue.withCtx(() => [
347
+ vue.createVNode(vue.unref(iconsVue.Loading))
348
+ ]),
349
+ _: 1
350
+ /* STABLE */
351
+ }),
352
+ vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
353
+ ])
354
+ ]),
355
+ key: "0"
356
+ } : void 0
357
+ ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
266
358
  ],
267
359
  2112
268
360
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
269
- )) : __props.column.type === "date-picker" ? (vue.openBlock(), vue.createElementBlock(
361
+ )) : __props.column.type === "select-v2" ? (vue.openBlock(), vue.createElementBlock(
270
362
  vue.Fragment,
271
363
  { key: 3 },
364
+ [
365
+ vue.createCommentVNode(" \u865A\u62DF\u5316\u9009\u62E9\u6846 "),
366
+ vue.createVNode(vue.unref(elementPlus.ElSelectV2), vue.mergeProps({
367
+ modelValue: bindValue.value,
368
+ "onUpdate:modelValue": ($event) => bindValue.value = $event
369
+ }, columnAttrs.value, {
370
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
371
+ options: vue.unref(index.optionsHandler)(props, __props.column),
372
+ onChange: onChangeHandler
373
+ }), vue.createSlots({
374
+ _: 2
375
+ /* DYNAMIC */
376
+ }, [
377
+ optionsLoading.value ? {
378
+ name: "empty",
379
+ fn: vue.withCtx(() => [
380
+ vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
381
+ vue.createVNode(vue.unref(elementPlus.ElIcon), {
382
+ size: "16",
383
+ class: "is-loading text-theme"
384
+ }, {
385
+ default: vue.withCtx(() => [
386
+ vue.createVNode(vue.unref(iconsVue.Loading))
387
+ ]),
388
+ _: 1
389
+ /* STABLE */
390
+ }),
391
+ vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
392
+ ])
393
+ ]),
394
+ key: "0"
395
+ } : void 0
396
+ ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
397
+ ],
398
+ 2112
399
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
400
+ )) : __props.column.type === "date-picker" ? (vue.openBlock(), vue.createElementBlock(
401
+ vue.Fragment,
402
+ { key: 4 },
272
403
  [
273
404
  vue.createCommentVNode(" \u65E5\u671F\u9009\u62E9\u6846 "),
274
405
  ["datetimerange", "daterange", "monthrange", "yearrange"].includes(
@@ -301,7 +432,7 @@ const _sfc_main = {
301
432
  /* STABLE_FRAGMENT */
302
433
  )) : __props.column.type === "time-picker" ? (vue.openBlock(), vue.createElementBlock(
303
434
  vue.Fragment,
304
- { key: 4 },
435
+ { key: 5 },
305
436
  [
306
437
  vue.createCommentVNode(" \u65F6\u95F4\u9009\u62E9\u6846 "),
307
438
  columnAttrs.value.isRange ? (vue.openBlock(), vue.createBlock(vue.unref(index$5.HyTimePicker), vue.mergeProps({
@@ -332,7 +463,7 @@ const _sfc_main = {
332
463
  /* STABLE_FRAGMENT */
333
464
  )) : __props.column.type === "radio" ? (vue.openBlock(), vue.createElementBlock(
334
465
  vue.Fragment,
335
- { key: 5 },
466
+ { key: 6 },
336
467
  [
337
468
  vue.createCommentVNode(" \u5355\u9009 "),
338
469
  vue.createVNode(vue.unref(elementPlus.ElRadioGroup), vue.mergeProps({
@@ -348,7 +479,7 @@ const _sfc_main = {
348
479
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
349
480
  )) : __props.column.type === "radio-group" ? (vue.openBlock(), vue.createElementBlock(
350
481
  vue.Fragment,
351
- { key: 6 },
482
+ { key: 7 },
352
483
  [
353
484
  vue.createCommentVNode(" \u5355\u9009\u6309\u94AE "),
354
485
  vue.createVNode(vue.unref(index$6.HyRadioGroup), vue.mergeProps({
@@ -365,7 +496,7 @@ const _sfc_main = {
365
496
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
366
497
  )) : __props.column.type === "checkbox" ? (vue.openBlock(), vue.createElementBlock(
367
498
  vue.Fragment,
368
- { key: 7 },
499
+ { key: 8 },
369
500
  [
370
501
  vue.createCommentVNode(" \u591A\u9009 "),
371
502
  vue.createVNode(vue.unref(elementPlus.ElCheckboxGroup), vue.mergeProps({
@@ -381,7 +512,7 @@ const _sfc_main = {
381
512
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
382
513
  )) : __props.column.type === "switch" ? (vue.openBlock(), vue.createElementBlock(
383
514
  vue.Fragment,
384
- { key: 8 },
515
+ { key: 9 },
385
516
  [
386
517
  vue.createCommentVNode(" \u5F00\u5173 "),
387
518
  vue.createVNode(vue.unref(elementPlus.ElSwitch), vue.mergeProps({
@@ -399,7 +530,7 @@ const _sfc_main = {
399
530
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
400
531
  )) : __props.column.type === "input-number" ? (vue.openBlock(), vue.createElementBlock(
401
532
  vue.Fragment,
402
- { key: 9 },
533
+ { key: 10 },
403
534
  [
404
535
  vue.createCommentVNode(" \u6570\u5B57\u8F93\u5165\u6846 "),
405
536
  vue.createVNode(vue.unref(elementPlus.ElInputNumber), vue.mergeProps({
@@ -414,10 +545,12 @@ const _sfc_main = {
414
545
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
415
546
  )) : __props.column.type === "org-cascader" ? (vue.openBlock(), vue.createElementBlock(
416
547
  vue.Fragment,
417
- { key: 10 },
548
+ { key: 11 },
418
549
  [
419
550
  vue.createCommentVNode(" \u90E8\u95E8\u7EA7\u8054\u9009\u62E9\u6846 "),
420
551
  vue.createVNode(vue.unref(index$7.HyOrgCascader), vue.mergeProps({
552
+ ref_key: "orgCascaderRef",
553
+ ref: orgCascaderRef,
421
554
  modelValue: bindValue.value,
422
555
  "onUpdate:modelValue": ($event) => bindValue.value = $event,
423
556
  class: "w-full"
@@ -430,17 +563,41 @@ const _sfc_main = {
430
563
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
431
564
  )) : __props.column.type === "cascader" ? (vue.openBlock(), vue.createElementBlock(
432
565
  vue.Fragment,
433
- { key: 11 },
566
+ { key: 12 },
434
567
  [
435
568
  vue.createCommentVNode(" \u7EA7\u8054\u9009\u62E9\u6846 "),
436
569
  vue.createVNode(vue.unref(elementPlus.ElCascader), vue.mergeProps({
437
570
  modelValue: bindValue.value,
438
571
  "onUpdate:modelValue": ($event) => bindValue.value = $event
439
572
  }, columnAttrs.value, {
573
+ class: "w-full",
440
574
  disabled: vue.unref(index.isDisabled)(props, __props.column),
441
575
  options: vue.unref(index.optionsHandler)(props, __props.column),
442
576
  onChange: onChangeHandler
443
- }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
577
+ }), vue.createSlots({
578
+ _: 2
579
+ /* DYNAMIC */
580
+ }, [
581
+ optionsLoading.value ? {
582
+ name: "empty",
583
+ fn: vue.withCtx(() => [
584
+ vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
585
+ vue.createVNode(vue.unref(elementPlus.ElIcon), {
586
+ size: "16",
587
+ class: "is-loading text-theme"
588
+ }, {
589
+ default: vue.withCtx(() => [
590
+ vue.createVNode(vue.unref(iconsVue.Loading))
591
+ ]),
592
+ _: 1
593
+ /* STABLE */
594
+ }),
595
+ vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
596
+ ])
597
+ ]),
598
+ key: "0"
599
+ } : void 0
600
+ ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
444
601
  ],
445
602
  2112
446
603
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
@@ -450,9 +607,24 @@ const _sfc_main = {
450
607
  /* STABLE_FRAGMENT */
451
608
  ))
452
609
  ]),
453
- _: 3
454
- /* FORWARDED */
455
- }, 8, ["id", "prop", "rules", "style"])) : vue.createCommentVNode("v-if", true);
610
+ _: 2
611
+ /* DYNAMIC */
612
+ }, [
613
+ optionsError.value ? {
614
+ name: "error",
615
+ fn: vue.withCtx(() => [
616
+ vue.createElementVNode("div", { class: "hy-el-form-item__error" }, [
617
+ vue.createElementVNode("span", null, "\u6570\u636E\u52A0\u8F7D\u5931\u8D25\uFF0C\u8BF7"),
618
+ vue.createElementVNode("span", {
619
+ class: "text-theme cursor-pointer",
620
+ onClick: obtainOptions
621
+ }, "[\u91CD\u65B0\u52A0\u8F7D]"),
622
+ vue.createElementVNode("span", null, "\u6216\u8054\u7CFB\u7BA1\u7406\u5458")
623
+ ])
624
+ ]),
625
+ key: "0"
626
+ } : void 0
627
+ ]), 1032, ["id", "prop", "rules", "style", "error"])) : vue.createCommentVNode("v-if", true);
456
628
  };
457
629
  }
458
630
  };
@@ -236,6 +236,12 @@ const _sfc_main = {
236
236
  map.setView({ lat, lng }, mapConfig.maxZoom || 18);
237
237
  }
238
238
  }
239
+ function clearMarker() {
240
+ if (marker) {
241
+ marker.remove();
242
+ marker = null;
243
+ }
244
+ }
239
245
  function setMapSize() {
240
246
  emits("setMapSize");
241
247
  setTimeout(() => {
@@ -253,7 +259,8 @@ const _sfc_main = {
253
259
  hyMap = null;
254
260
  });
255
261
  __expose({
256
- setMarker
262
+ setMarker,
263
+ clearMarker
257
264
  });
258
265
  return (_ctx, _cache) => {
259
266
  return vue.openBlock(), vue.createElementBlock("div", { class: "w-full h-full flex flex-col" }, [