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
@@ -84,9 +84,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
84
84
  }
85
85
  return style;
86
86
  });
87
- vue.onUnmounted(() => {
88
- shrinkDestroy();
89
- });
90
87
  function getFilterCount(model, defaultValue, prop) {
91
88
  let count = 0;
92
89
  const keys = Object.keys(defaultValue);
@@ -114,10 +111,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
114
111
  function onSearchHandler() {
115
112
  emits("search");
116
113
  }
117
- function resetFields(fields) {
114
+ function resetFields(fields2) {
118
115
  let columns = props.columns || [];
119
- if (fields && fields?.length) {
120
- columns = fields.map((key) => formColumnMap.value.get(key)).filter(Boolean);
116
+ if (fields2 && fields2?.length) {
117
+ columns = fields2.map((key) => formColumnMap.value.get(key)).filter(Boolean);
121
118
  }
122
119
  useAppSearch.resetAppSearchValue(columns, props.model);
123
120
  }
@@ -125,8 +122,62 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
125
122
  resetFields();
126
123
  emits("search");
127
124
  }
125
+ const fields = vue.reactive([]);
126
+ function addField(field) {
127
+ fields.push(field);
128
+ }
129
+ const removeField = (field) => {
130
+ if (vue.unref(field.columnAttrs)) {
131
+ fields.splice(fields.indexOf(field), 1);
132
+ }
133
+ };
134
+ function filterFields(fields2 = [], keys = []) {
135
+ const filterKeys = keys.map((prop) => is.isArray(prop) ? prop.join(".") : prop);
136
+ return filterKeys.length ? fields2.filter(
137
+ (field) => field.propString && filterKeys.includes(field.propString)
138
+ ) : fields2;
139
+ }
140
+ async function obtainOptionsFields(keys) {
141
+ const filteredFields = filterFields(fields, keys);
142
+ await Promise.allSettled(filteredFields.map((field) => field.obtainOptions()));
143
+ }
144
+ async function getOptions() {
145
+ await obtainOptionsFields();
146
+ }
147
+ async function getOptionsFields(keys) {
148
+ await obtainOptionsFields(keys);
149
+ }
150
+ async function getOptionsError() {
151
+ const filteredFields = fields.filter(
152
+ (field) => field.propString && field.optionsError
153
+ );
154
+ await Promise.allSettled(filteredFields.map((field) => field.obtainOptions()));
155
+ }
156
+ vue.provide(
157
+ index.formContextKey,
158
+ vue.reactive({
159
+ ...vue.toRefs(props),
160
+ emits,
161
+ addField,
162
+ removeField
163
+ })
164
+ );
165
+ vue.onMounted(() => {
166
+ getOptions();
167
+ });
168
+ vue.onUnmounted(() => {
169
+ shrinkDestroy();
170
+ });
128
171
  __expose({
129
- resetFields
172
+ resetFields,
173
+ getOptions,
174
+ getOptionsFields,
175
+ getOptionsError,
176
+ getOptionsByField: (field) => {
177
+ const [target] = filterFields(fields, [field]);
178
+ if (!target) return null;
179
+ return target.options;
180
+ }
130
181
  });
131
182
  return (_ctx, _cache) => {
132
183
  return vue.openBlock(), vue.createElementBlock(
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  var Sortable = require('sortablejs');
7
7
  var elementPlus = require('element-plus');
8
- var iconsVue = require('@element-plus/icons-vue');
9
8
  require('../../../hooks/index.js');
10
9
  require('../../../utils/index.js');
11
10
  require('../../index.js');
@@ -53,7 +52,7 @@ const _sfc_main = {
53
52
  function showPopover() {
54
53
  initColumnsInfo(props.columns, props.columnsEditable);
55
54
  rowDrag();
56
- showClear.value = true;
55
+ showReset.value = true;
57
56
  }
58
57
  function closePopover() {
59
58
  sortableInstance?.destroy?.();
@@ -77,7 +76,7 @@ const _sfc_main = {
77
76
  tableEditableColumns.value = columnArr;
78
77
  checkedList.value = checkedArr;
79
78
  }
80
- const showClear = vue.ref(true);
79
+ const showReset = vue.ref(true);
81
80
  const checkedList = vue.ref([]);
82
81
  const checkMap = vue.computed(() => {
83
82
  return (vue.unref(checkedList) || []).reduce((map, item) => {
@@ -94,7 +93,7 @@ const _sfc_main = {
94
93
  } else {
95
94
  checkedList.value.push(target.prop);
96
95
  }
97
- showClear.value = true;
96
+ showReset.value = true;
98
97
  }
99
98
  function onConfirmHandler() {
100
99
  if (!checkedList.value.length && showColumnsLength.value === tableEditableColumns.value?.length) {
@@ -121,7 +120,7 @@ const _sfc_main = {
121
120
  props.originColumns
122
121
  );
123
122
  initColumnsInfo(columnsList, columnsEditablele);
124
- showClear.value = false;
123
+ showReset.value = false;
125
124
  }
126
125
  let sortableInstance;
127
126
  async function rowDrag() {
@@ -149,7 +148,7 @@ const _sfc_main = {
149
148
  for (let i = minIndex; i <= maxIndex; i++) {
150
149
  tableEditableColumns.value[i].sortIndex = sortList[i];
151
150
  }
152
- showClear.value = true;
151
+ showReset.value = true;
153
152
  }
154
153
  });
155
154
  }
@@ -172,7 +171,7 @@ const _sfc_main = {
172
171
  ref: popoverRef,
173
172
  trigger: "click",
174
173
  placement: "left-start",
175
- "popper-class": "!bg-background !p-0 border !border-theme",
174
+ "popper-class": "!bg-[rgba(var(--hy-background),0.7)] !p-0 border !border-theme",
176
175
  effect: "dark",
177
176
  width: "400",
178
177
  "show-arrow": false,
@@ -181,8 +180,7 @@ const _sfc_main = {
181
180
  },
182
181
  {
183
182
  reference: vue.withCtx(() => [
184
- vue.createElementVNode("div", { class: "flex items-center gap-[10px] clickBox px-3 rounded hover:bg-background-2" }, [
185
- vue.createCommentVNode(" <el-icon><Edit /></el-icon> "),
183
+ vue.createElementVNode("div", { class: "h-[32px] flex items-center gap-[10px] clickBox px-3 rounded hover:bg-background-2" }, [
186
184
  vue.createVNode(vue.unref(index$1.HyIcon), {
187
185
  "svg-name": "ops-button-edit-column",
188
186
  "class-name": "!w-3 !h-3"
@@ -212,7 +210,14 @@ const _sfc_main = {
212
210
  onClick: closePopover
213
211
  })
214
212
  ]),
215
- vue.createElementVNode("div", { class: "h-[364px] px-4 pt-[11px] pb-1 scroll-body overflow-y-auto" }, [
213
+ vue.createElementVNode("div", { class: "flex items-center gap-1.5 px-4 py-2.5 text-xs text-theme" }, [
214
+ vue.createVNode(vue.unref(index$1.HyIcon), {
215
+ "svg-name": "dispatch-share1-prompt",
216
+ "class-name": "!w-3 !h-3"
217
+ }),
218
+ vue.createElementVNode("span", null, "\u5728\u53F3\u4FA7\u62D6\u52A8\u5217\u53EF\u8FDB\u884C\u8FDB\u884C\u6392\u5E8F")
219
+ ]),
220
+ vue.createElementVNode("div", { class: "h-[364px] p-4 pt-0 pb-1 scroll-body overflow-y-auto" }, [
216
221
  vue.createVNode(vue.unref(elementPlus.ElCheckboxGroup), {
217
222
  modelValue: checkedList.value,
218
223
  "onUpdate:modelValue": ($event) => checkedList.value = $event
@@ -292,14 +297,14 @@ const _sfc_main = {
292
297
  1
293
298
  /* TEXT */
294
299
  ),
295
- showClear.value ? (vue.openBlock(), vue.createElementBlock(
300
+ showReset.value ? (vue.openBlock(), vue.createElementBlock(
296
301
  "span",
297
302
  {
298
303
  key: 0,
299
304
  class: "clickBox text-danger-2 ml-3",
300
305
  onClick: onClearHandler
301
306
  },
302
- vue.toDisplayString(vue.unref(t)("table.clear")),
307
+ vue.toDisplayString(vue.unref(t)("hy.reset")),
303
308
  1
304
309
  /* TEXT */
305
310
  )) : vue.createCommentVNode("v-if", true)
@@ -309,15 +314,9 @@ const _sfc_main = {
309
314
  vue.Fragment,
310
315
  { key: 0 },
311
316
  [
312
- vue.createVNode(vue.unref(elementPlus.ElIcon), {
313
- class: "mr-1.5",
314
- color: "rgb(var(--hy-auxiliary))"
315
- }, {
316
- default: vue.withCtx(() => [
317
- vue.createVNode(vue.unref(iconsVue.Warning))
318
- ]),
319
- _: 1
320
- /* STABLE */
317
+ vue.createVNode(vue.unref(index$1.HyIcon), {
318
+ "svg-name": "dispatch-share1-prompt",
319
+ class: "!w-3 !h-3 text-auxiliary mr-1.5"
321
320
  }),
322
321
  vue.createVNode(vue.unref(index$2.HyTooltip), {
323
322
  "is-always": false,
@@ -8,12 +8,12 @@ var iconsVue = require('@element-plus/icons-vue');
8
8
  require('../../index.js');
9
9
  require('../../../hooks/index.js');
10
10
  require('../../../utils/index.js');
11
- var index = require('../js/index.js');
11
+ var index$1 = require('../js/index.js');
12
12
  var headerItem = require('./headerItem.vue.js');
13
13
  var useLocale = require('../../../hooks/useLocale.js');
14
14
  var is = require('../../../utils/is.js');
15
- var index$1 = require('../../hyTooltip/index.js');
16
- var index$2 = require('../../hyIcon/index.js');
15
+ var index = require('../../hyIcon/index.js');
16
+ var index$2 = require('../../hyTooltip/index.js');
17
17
 
18
18
  const _sfc_main = {
19
19
  __name: "virtualTable",
@@ -325,11 +325,11 @@ const _sfc_main = {
325
325
  ],
326
326
  64
327
327
  /* STABLE_FRAGMENT */
328
- )) : !vue.unref(is.isEmpty)(vue.unref(index.renderHeaderHandler)(column, { column, $index })) ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.HyTooltip), {
328
+ )) : !vue.unref(is.isEmpty)(vue.unref(index$1.renderHeaderHandler)(column, { column, $index })) ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.HyTooltip), {
329
329
  key: 1,
330
330
  "is-always": false,
331
331
  "over-line": 1,
332
- content: vue.unref(index.renderHeaderHandler)(column, { column, $index })
332
+ content: vue.unref(index$1.renderHeaderHandler)(column, { column, $index })
333
333
  }, null, 8, ["content"])) : vue.createCommentVNode("v-if", true)
334
334
  ])
335
335
  ]),
@@ -376,16 +376,11 @@ const _sfc_main = {
376
376
  rowKey: getRowKey(row)
377
377
  }), ["stop"])
378
378
  }, [
379
- vue.createVNode(vue.unref(elementPlus.ElIcon), {
380
- class: "text-main",
379
+ vue.createVNode(vue.unref(index.HyIcon), {
380
+ "svg-name": "dispatch-linear-arrow-down-bold",
381
+ "class-name": "!w-3 !h-3 text-main",
381
382
  style: vue.normalizeStyle({ "margin-inline-start": `${depth * 12}px` })
382
- }, {
383
- default: vue.withCtx(() => [
384
- vue.createVNode(vue.unref(iconsVue.ArrowRight))
385
- ]),
386
- _: 1
387
- /* STABLE */
388
- }, 8, ["style"])
383
+ }, null, 8, ["style"])
389
384
  ], 10, ["onClick"])) : (vue.openBlock(), vue.createElementBlock(
390
385
  "div",
391
386
  {
@@ -430,12 +425,12 @@ const _sfc_main = {
430
425
  (vue.openBlock(true), vue.createElementBlock(
431
426
  vue.Fragment,
432
427
  null,
433
- vue.renderList(vue.unref(index.operatorFilterHandler)(
428
+ vue.renderList(vue.unref(index$1.operatorFilterHandler)(
434
429
  column,
435
430
  { column, row, $index, cellIndex },
436
431
  "default"
437
432
  ), (citem, cindex) => {
438
- return vue.openBlock(), vue.createBlock(vue.unref(index$1.HyTooltip), {
433
+ return vue.openBlock(), vue.createBlock(vue.unref(index$2.HyTooltip), {
439
434
  key: cindex,
440
435
  "is-always": "",
441
436
  overLine: 1,
@@ -445,21 +440,21 @@ const _sfc_main = {
445
440
  vue.createElementVNode("div", {
446
441
  class: vue.normalizeClass(["w-[40px] h-[48px] inline-flex flex-col items-center justify-center text-xs hover:font-bold border border-transparent rounded box-border", [
447
442
  citem.className,
448
- vue.unref(index.operatorDisabledHandler)(citem, {
443
+ vue.unref(index$1.operatorDisabledHandler)(citem, {
449
444
  column,
450
445
  row,
451
446
  $index,
452
447
  cellIndex
453
448
  }) ? "cursor-not-allowed text-[var(--hy-el-text-color-disabled)] hover:border-[rgba(var(--hy-auxiliary),1)] hover:shadow-[0px_0px_5px_0px_rgba(var(--hy-auxiliary),0.5)]" : "cursor-pointer hover:border-theme hover:shadow-[0px_0px_5px_0px_rgba(var(--hy-theme),0.5)]"
454
449
  ]]),
455
- onClick: ($event) => vue.unref(index.operatorClickHandler)(
450
+ onClick: ($event) => vue.unref(index$1.operatorClickHandler)(
456
451
  cindex,
457
452
  column,
458
453
  { column, row, $index, cellIndex },
459
454
  "default"
460
455
  )
461
456
  }, [
462
- vue.createVNode(vue.unref(index$2.HyIcon), {
457
+ vue.createVNode(vue.unref(index.HyIcon), {
463
458
  "svg-name": citem.svgName,
464
459
  "class-name": "!w-4 !h-4"
465
460
  }, null, 8, ["svg-name"]),
@@ -485,7 +480,7 @@ const _sfc_main = {
485
480
  128
486
481
  /* KEYED_FRAGMENT */
487
482
  )),
488
- vue.unref(index.operatorFilterHandler)(
483
+ vue.unref(index$1.operatorFilterHandler)(
489
484
  column,
490
485
  { column, row, $index, cellIndex },
491
486
  "more"
@@ -496,7 +491,7 @@ const _sfc_main = {
496
491
  trigger: "click",
497
492
  "popper-style": "min-width: 150px",
498
493
  placement: "bottom",
499
- onCommand: ($event) => vue.unref(index.operatorClickHandler)(
494
+ onCommand: ($event) => vue.unref(index$1.operatorClickHandler)(
500
495
  $event,
501
496
  column,
502
497
  { column, row, $index, cellIndex },
@@ -506,13 +501,13 @@ const _sfc_main = {
506
501
  dropdown: vue.withCtx(() => [
507
502
  vue.createVNode(
508
503
  vue.unref(elementPlus.ElDropdownMenu),
509
- null,
504
+ { class: "hy-table-dropdown-menu" },
510
505
  {
511
506
  default: vue.withCtx(() => [
512
507
  (vue.openBlock(true), vue.createElementBlock(
513
508
  vue.Fragment,
514
509
  null,
515
- vue.renderList(vue.unref(index.operatorFilterHandler)(
510
+ vue.renderList(vue.unref(index$1.operatorFilterHandler)(
516
511
  column,
517
512
  { column, row, $index, cellIndex },
518
513
  "more"
@@ -520,7 +515,7 @@ const _sfc_main = {
520
515
  return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElDropdownItem), {
521
516
  key: cindex,
522
517
  command: cindex,
523
- disabled: vue.unref(index.operatorDisabledHandler)(citem, {
518
+ disabled: vue.unref(index$1.operatorDisabledHandler)(citem, {
524
519
  column,
525
520
  row,
526
521
  $index,
@@ -536,7 +531,7 @@ const _sfc_main = {
536
531
  1
537
532
  /* TEXT */
538
533
  ),
539
- vue.unref(index.operatorDisabledHandler)(citem, {
534
+ vue.unref(index$1.operatorDisabledHandler)(citem, {
540
535
  column,
541
536
  row,
542
537
  $index,
@@ -547,7 +542,7 @@ const _sfc_main = {
547
542
  key: 0,
548
543
  class: "text-xs leading-1"
549
544
  },
550
- "\uFF08" + vue.toDisplayString(vue.unref(index.operatorDisableTextdHandler)(citem, {
545
+ "\uFF08" + vue.toDisplayString(vue.unref(index$1.operatorDisableTextdHandler)(citem, {
551
546
  column,
552
547
  row,
553
548
  $index,
@@ -575,7 +570,7 @@ const _sfc_main = {
575
570
  ]),
576
571
  default: vue.withCtx(() => [
577
572
  vue.createElementVNode("span", null, [
578
- vue.createVNode(vue.unref(index$1.HyTooltip), {
573
+ vue.createVNode(vue.unref(index$2.HyTooltip), {
579
574
  "is-always": "",
580
575
  overLine: 1,
581
576
  content: vue.unref(t)("table.moreOperations")
@@ -616,21 +611,21 @@ const _sfc_main = {
616
611
  { key: 5 },
617
612
  [
618
613
  !vue.unref(is.isEmpty)(
619
- vue.unref(index.renderContentHandler)(column, {
614
+ vue.unref(index$1.renderContentHandler)(column, {
620
615
  column,
621
616
  row,
622
617
  $index,
623
618
  cellIndex
624
619
  })
625
- ) ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.HyTooltip), {
620
+ ) ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.HyTooltip), {
626
621
  key: 0,
627
622
  "is-always": false,
628
623
  "over-line": 2,
629
- content: vue.unref(index.renderContentHandler)(column, { column, row, $index, cellIndex })
630
- }, null, 8, ["content"])) : (vue.openBlock(), vue.createElementBlock("span", {
624
+ content: vue.unref(index$1.renderContentHandler)(column, { column, row, $index, cellIndex })
625
+ }, null, 8, ["content"])) : column.type !== "expand" ? (vue.openBlock(), vue.createElementBlock("span", {
631
626
  key: 1,
632
627
  class: "text-auxiliary"
633
- }, "- -"))
628
+ }, "- -")) : vue.createCommentVNode("v-if", true)
634
629
  ],
635
630
  64
636
631
  /* STABLE_FRAGMENT */
@@ -351,6 +351,7 @@ const useAppTableWrapper = (hy) => {
351
351
  }
352
352
  function clearSelection() {
353
353
  tableRef.value?.clearSelection();
354
+ selectedList.value = [];
354
355
  }
355
356
  function getSelectedList() {
356
357
  return selectedList.value;
@@ -374,12 +375,15 @@ const useAppTableWrapper = (hy) => {
374
375
  }
375
376
  }
376
377
  }
377
- function onTableSelectHandler(selectList = [], row) {
378
+ function onTableSelectHandler(selectList = [], row, isAll = false) {
378
379
  if (selectList.length === 0 && tableDataSource.value.length === 0) {
379
380
  clearSelection();
380
381
  }
381
382
  selectedList.value = [...selectList];
382
383
  emits("on-select-checkbox", [...selectList], row);
384
+ if (isAll) {
385
+ emits("select-all", selectList);
386
+ }
383
387
  }
384
388
  function clearSelectedList(list = []) {
385
389
  selectedList.value = list || [];
@@ -406,13 +410,6 @@ const useAppTableWrapper = (hy) => {
406
410
  }
407
411
  return className.filter(Boolean).join(" ");
408
412
  }
409
- const isSearchFocus = vue.ref(false);
410
- function onSearchInputHandler() {
411
- isSearchFocus.value = true;
412
- }
413
- function onSearchBlurHandler() {
414
- isSearchFocus.value = false;
415
- }
416
413
  vue.watchEffect(() => {
417
414
  const { columnsList, columnsEditablele, searchText } = tableColumnHandler(
418
415
  props.tableColumns,
@@ -446,10 +443,6 @@ const useAppTableWrapper = (hy) => {
446
443
  onTableRowContextmenuHandler,
447
444
  onTableRowClickHandler,
448
445
  onTableColumnsSelectHandler,
449
- // 搜索选中
450
- isSearchFocus,
451
- onSearchInputHandler,
452
- onSearchBlurHandler,
453
446
  showAppTableLoading,
454
447
  closeAppTableLoading
455
448
  };
@@ -53,6 +53,7 @@ function useAppTableSearch(hy) {
53
53
  tableDataSource.value = data;
54
54
  }
55
55
  totalElements.value = res.data.totalElements;
56
+ hy.expandRowKeys.value = [];
56
57
  emits("reqSuccess", tableDataSource.value);
57
58
  }
58
59
  }
@@ -66,7 +67,7 @@ function useAppTableSearch(hy) {
66
67
  async function resetFn() {
67
68
  await resetFields();
68
69
  props.filterModel.query = null;
69
- getData(1);
70
+ await getData(1);
70
71
  }
71
72
  function getParametersFn() {
72
73
  return Object.assign(
@@ -86,6 +87,7 @@ function useAppTableSearch(hy) {
86
87
  function setData(dataSource) {
87
88
  tableDataSource.value = dataSource || [];
88
89
  hy.loading.value = false;
90
+ emits("reqSuccess", tableDataSource.value);
89
91
  }
90
92
  function onSizeChangeHandler(val) {
91
93
  props.filterModel.page = 1;
@@ -25,6 +25,14 @@
25
25
  .hy-el-table-v2__row-cell {
26
26
  padding: 8px 12px;
27
27
  }
28
+ .hy-el-table-v2__expand-icon {
29
+ &:not(.is-expanded) svg {
30
+ transform: rotate(-90deg) !important;
31
+ }
32
+ &.is-expanded svg {
33
+ transform: rotate(0deg) !important;
34
+ }
35
+ }
28
36
  }
29
37
  .hy-table-search {
30
38
  width: 160px;
@@ -46,6 +54,7 @@
46
54
 
47
55
  .hy-table-dropdown-menu.hy-el-dropdown-menu {
48
56
  --hy-el-text-color-regular: rgba(var(--hy-main));
57
+ --hy-el-dropdown-menuItem-hover-color: rgba(var(--hy-main));
49
58
  border: 1px solid rgba(var(--hy-main));
50
59
  padding: 0px;
51
60
  .hy-el-dropdown-menu__item {
@@ -54,5 +63,9 @@
54
63
  &:last-child {
55
64
  border-bottom: none;
56
65
  }
66
+ &:not(.is-disabled):focus,
67
+ &:not(.is-disabled):hover {
68
+ font-weight: bold;
69
+ }
57
70
  }
58
71
  }
@@ -239,9 +239,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
239
239
  onTableRowContextmenuHandler,
240
240
  onTableRowExpandChangeHandler,
241
241
  onTableSelectHandler,
242
- isSearchFocus,
243
- onSearchInputHandler,
244
- onSearchBlurHandler,
245
242
  // useAppTableSearch
246
243
  // 表单查询
247
244
  totalElements,
@@ -415,8 +412,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
415
412
  "font-size": `${vue.unref(adaptive.parseRem)(__props.fontSize)}rem`
416
413
  },
417
414
  "expand-row-keys": vue.unref(expandRowKeys),
418
- onSelect: vue.unref(onTableSelectHandler),
419
- onSelectAll: vue.unref(onTableSelectHandler),
415
+ onSelect: (list, row) => vue.unref(onTableSelectHandler)(list, row),
416
+ onSelectAll: (list) => vue.unref(onTableSelectHandler)(list, null, true),
420
417
  onRowClick: vue.unref(onTableRowClickHandler),
421
418
  onRowContextmenu: vue.unref(onTableRowContextmenuHandler),
422
419
  onExpandChange: vue.unref(onTableRowExpandChangeHandler)
@@ -449,7 +446,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
449
446
  key: 0,
450
447
  ref_for: true
451
448
  }, column, { "render-header": null }),
452
- {
449
+ vue.createSlots({
453
450
  header: vue.withCtx((scope) => [
454
451
  vue.createVNode(headerItem.default, {
455
452
  type: "default",
@@ -539,7 +536,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
539
536
  dropdown: vue.withCtx(() => [
540
537
  vue.createVNode(
541
538
  vue.unref(elementPlus.ElDropdownMenu),
542
- null,
539
+ { class: "hy-table-dropdown-menu" },
543
540
  {
544
541
  default: vue.withCtx(() => [
545
542
  (vue.openBlock(true), vue.createElementBlock(
@@ -652,7 +649,22 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
652
649
  ]),
653
650
  _: 2
654
651
  /* DYNAMIC */
655
- },
652
+ }, [
653
+ column.type === "expand" ? {
654
+ name: "expand",
655
+ fn: vue.withCtx(({ expandable, expanded }) => [
656
+ expandable ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.HyIcon), {
657
+ key: 0,
658
+ "svg-name": "dispatch-linear-arrow-down-bold",
659
+ "class-name": "!w-3 !h-3 text-main transition",
660
+ style: vue.normalizeStyle({
661
+ transform: expanded ? "rotate(0deg)" : "rotate(-90deg)"
662
+ })
663
+ }, null, 8, ["style"])) : vue.createCommentVNode("v-if", true)
664
+ ]),
665
+ key: "0"
666
+ } : void 0
667
+ ]),
656
668
  1040
657
669
  /* FULL_PROPS, DYNAMIC_SLOTS */
658
670
  )) : vue.createCommentVNode("v-if", true)
@@ -24,7 +24,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
24
24
  type: {
25
25
  type: String,
26
26
  default: "default"
27
- // default 默认 primary 亮色 success 添加 danger 删除
27
+ // default 默认 primary 亮色 success 添加 danger 删除 operate 操作
28
28
  },
29
29
  size: {
30
30
  type: String,
@@ -54,7 +54,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
54
54
  buttonClass: {
55
55
  type: String,
56
56
  default: () => {
57
- return "button_addTo";
57
+ return "";
58
58
  }
59
59
  },
60
60
  // 操作数据
@@ -197,7 +197,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
197
197
  "bg-auxiliary": __props.type === "default",
198
198
  "bg-success": __props.type === "success",
199
199
  "bg-theme": __props.type === "primary",
200
- "bg-danger-2": __props.type === "danger"
200
+ "bg-danger-2": __props.type === "danger",
201
+ "bg-success-3": __props.type === "operate"
201
202
  }])
202
203
  },
203
204
  null,
@@ -287,12 +288,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
287
288
  placement: "top"
288
289
  }, {
289
290
  default: vue.withCtx(() => [
290
- vue.createVNode(vue.unref(elementPlus.ElIcon), { class: "flex-shrink-0 ml-2 text-auxiliary" }, {
291
- default: vue.withCtx(() => [
292
- vue.createVNode(vue.unref(iconsVue.Warning))
293
- ]),
294
- _: 1
295
- /* STABLE */
291
+ vue.createVNode(vue.unref(index$2.HyIcon), {
292
+ "svg-name": "dispatch-share1-prompt",
293
+ class: "!w-3 !h-3 ml-2 text-auxiliary"
296
294
  })
297
295
  ]),
298
296
  _: 1
@@ -92,7 +92,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
92
92
  "uploaded",
93
93
  "reset",
94
94
  "submitting",
95
- "submit"
95
+ "submit",
96
+ "submitProgress",
97
+ "tableDataChange"
96
98
  ], ["update:step"]),
97
99
  setup(__props, { expose: __expose, emit: __emit }) {
98
100
  const props = __props;
@@ -127,6 +129,13 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
127
129
  const submitting = vue.ref(false);
128
130
  const submitProgress = vue.ref(0);
129
131
  const submitModel = vue.ref("default");
132
+ function tableDataChange(e) {
133
+ emits("tableDataChange", e);
134
+ }
135
+ function setSubmitProgress(newSubmitProgress = 0) {
136
+ submitProgress.value = newSubmitProgress;
137
+ emits("submitProgress", newSubmitProgress);
138
+ }
130
139
  function setData(data = []) {
131
140
  if (!tableRef.value) return;
132
141
  tableRef.value.setData(data);
@@ -244,13 +253,13 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
244
253
  }
245
254
  }
246
255
  const submitList = [];
247
- submitProgress.value = 0;
256
+ setSubmitProgress(0);
248
257
  submitting.value = true;
249
258
  emits("submitting");
250
259
  for (let i = 0; i <= dataSource.length - 1; i++) {
251
260
  const target = dataSource[i];
252
261
  const { onlyId, errorMsg, errorMap, children, ...data } = target;
253
- submitProgress.value = Math.floor((i + 1) / total * 100);
262
+ setSubmitProgress(Math.floor((i + 1) / total * 100));
254
263
  if (errorMsg) {
255
264
  continue;
256
265
  }
@@ -514,6 +523,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
514
523
  columnNum: __props.columnNum,
515
524
  size: __props.size,
516
525
  showAddBtn: __props.showAddBtn,
526
+ onTableDataChange: tableDataChange,
517
527
  class: "h-0 flex-1"
518
528
  }), vue.createSlots({
519
529
  _: 2