hy-dispatch-ui-v3 0.2.53 → 0.2.55

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 (116) hide show
  1. package/dist/tailwind.css +53 -0
  2. package/es/components/hyBatchUploadDialog/batchUploadDialog.vue.mjs +39 -10
  3. package/es/components/hyConfirmDialog/confirmDialog.vue.mjs +12 -22
  4. package/es/components/hyDialog/dialog.vue.mjs +9 -7
  5. package/es/components/hyForm/cpns/arrayItem.vue.mjs +5 -5
  6. package/es/components/hyForm/cpns/extraItem.vue.mjs +6 -1
  7. package/es/components/hyForm/cpns/formItem.vue.mjs +29 -14
  8. package/es/components/hyForm/js/index.mjs +29 -25
  9. package/es/components/hyForm/js/useAppForm.mjs +15 -30
  10. package/es/components/hyIconBox/iconBox.vue.mjs +1 -1
  11. package/es/components/hyIconBox/style/iconBox.scss +1 -1
  12. package/es/components/hyMap/index.mjs +6 -0
  13. package/es/components/hyMap/js/index.mjs +59 -0
  14. package/es/components/hyMap/map.vue.mjs +59 -0
  15. package/es/components/hyOrgCascader/js/index.mjs +53 -0
  16. package/es/components/hyOrgCascader/orgCascader.vue.mjs +22 -25
  17. package/es/components/hySearch/search.vue.mjs +6 -8
  18. package/es/components/hyTable/cpns/columnSelect.vue.mjs +10 -18
  19. package/es/components/hyTable/table.vue.mjs +8 -11
  20. package/es/components/hyTableActionButton/tableActionButton.vue.mjs +6 -3
  21. package/es/components/hyTableForm/batchTableForm.vue.mjs +182 -135
  22. package/es/components/hyTableForm/js/index.mjs +2 -2
  23. package/es/components/hyTableForm/tableForm.vue.mjs +29 -20
  24. package/es/components/hyTooltip/tooltip.vue.mjs +1 -1
  25. package/es/components/hyTree/js/index.mjs +5 -4
  26. package/es/components/hyTree/tree.vue.mjs +5 -0
  27. package/es/components/index.mjs +1 -0
  28. package/es/hooks/index.mjs +1 -0
  29. package/es/hooks/useApi.mjs +11 -5
  30. package/es/hooks/useAudioPlayerConfig.mjs +13 -5
  31. package/es/hooks/useEnsureHyIcon.mjs +11 -5
  32. package/es/hooks/useLocale.mjs +6 -5
  33. package/es/hooks/usePermissionMap.mjs +13 -5
  34. package/es/hooks/useSubscribe.mjs +28 -0
  35. package/es/hooks/useTooltipConfig.mjs +11 -5
  36. package/es/hooks/useUserAvatarMap.mjs +13 -5
  37. package/es/hooks/useVideoPlayerConfig.mjs +13 -5
  38. package/es/index.mjs +3 -2
  39. package/es/static/map/CFCASIPInput.min.js +258 -0
  40. package/es/static/map/MarkerCluster.css +75 -0
  41. package/es/static/map/bigemap.css +838 -0
  42. package/es/static/map/bigemap.js +5 -0
  43. package/es/static/map/bm.geometryutil.js +754 -0
  44. package/es/static/map/bmDraw.css +329 -0
  45. package/es/static/map/bmDraw.js +181 -0
  46. package/es/static/map/car.png +0 -0
  47. package/es/static/map/markercluster.js +2679 -0
  48. package/es/static/map/moveMarker.js +74 -0
  49. package/es/utils/form.mjs +38 -2
  50. package/es/utils/index.mjs +1 -2
  51. package/es/utils/map/hook/bigMap.mjs +1136 -0
  52. package/es/utils/map/hook/gaode.mjs +683 -0
  53. package/es/utils/map/hook/leafletjs.mjs +1336 -0
  54. package/es/utils/map/index.mjs +291 -0
  55. package/es/utils/map/js/mapProxy.mjs +38 -0
  56. package/es/utils/map/js/webgis.mjs +153 -0
  57. package/es/version.mjs +1 -1
  58. package/lib/components/hyBatchUploadDialog/batchUploadDialog.vue.js +40 -11
  59. package/lib/components/hyConfirmDialog/confirmDialog.vue.js +13 -23
  60. package/lib/components/hyDialog/dialog.vue.js +9 -7
  61. package/lib/components/hyForm/cpns/arrayItem.vue.js +4 -4
  62. package/lib/components/hyForm/cpns/extraItem.vue.js +6 -1
  63. package/lib/components/hyForm/cpns/formItem.vue.js +26 -11
  64. package/lib/components/hyForm/js/index.js +29 -23
  65. package/lib/components/hyForm/js/useAppForm.js +14 -29
  66. package/lib/components/hyIconBox/iconBox.vue.js +1 -1
  67. package/lib/components/hyIconBox/style/iconBox.scss +1 -1
  68. package/lib/components/hyMap/index.js +11 -0
  69. package/lib/components/hyMap/js/index.js +61 -0
  70. package/lib/components/hyMap/map.vue.js +63 -0
  71. package/lib/components/hyOrgCascader/js/index.js +56 -0
  72. package/lib/components/hyOrgCascader/orgCascader.vue.js +21 -24
  73. package/lib/components/hySearch/search.vue.js +4 -6
  74. package/lib/components/hyTable/cpns/columnSelect.vue.js +12 -20
  75. package/lib/components/hyTable/table.vue.js +17 -20
  76. package/lib/components/hyTableActionButton/tableActionButton.vue.js +5 -2
  77. package/lib/components/hyTableForm/batchTableForm.vue.js +181 -134
  78. package/lib/components/hyTableForm/js/index.js +1 -1
  79. package/lib/components/hyTableForm/tableForm.vue.js +29 -20
  80. package/lib/components/hyTooltip/tooltip.vue.js +1 -1
  81. package/lib/components/hyTree/js/index.js +5 -4
  82. package/lib/components/hyTree/tree.vue.js +5 -0
  83. package/lib/components/index.js +22 -20
  84. package/lib/hooks/index.js +3 -0
  85. package/lib/hooks/useApi.js +10 -4
  86. package/lib/hooks/useAudioPlayerConfig.js +12 -4
  87. package/lib/hooks/useEnsureHyIcon.js +10 -4
  88. package/lib/hooks/useLocale.js +5 -4
  89. package/lib/hooks/usePermissionMap.js +12 -4
  90. package/lib/hooks/useSubscribe.js +31 -0
  91. package/lib/hooks/useTooltipConfig.js +10 -4
  92. package/lib/hooks/useUserAvatarMap.js +12 -4
  93. package/lib/hooks/useVideoPlayerConfig.js +12 -4
  94. package/lib/index.js +27 -22
  95. package/lib/static/map/CFCASIPInput.min.js +258 -0
  96. package/lib/static/map/MarkerCluster.css +75 -0
  97. package/lib/static/map/bigemap.css +838 -0
  98. package/lib/static/map/bigemap.js +5 -0
  99. package/lib/static/map/bm.geometryutil.js +754 -0
  100. package/lib/static/map/bmDraw.css +329 -0
  101. package/lib/static/map/bmDraw.js +181 -0
  102. package/lib/static/map/car.png +0 -0
  103. package/lib/static/map/markercluster.js +2679 -0
  104. package/lib/static/map/moveMarker.js +74 -0
  105. package/lib/utils/form.js +38 -0
  106. package/lib/utils/index.js +2 -2
  107. package/lib/utils/map/hook/bigMap.js +1140 -0
  108. package/lib/utils/map/hook/gaode.js +687 -0
  109. package/lib/utils/map/hook/leafletjs.js +1360 -0
  110. package/lib/utils/map/index.js +298 -0
  111. package/lib/utils/map/js/mapProxy.js +44 -0
  112. package/lib/utils/map/js/webgis.js +162 -0
  113. package/lib/version.js +1 -1
  114. package/package.json +16 -1
  115. package/es/utils/bus.mjs +0 -5
  116. package/lib/utils/bus.js +0 -7
@@ -10,6 +10,7 @@ var index = require('./js/index.js');
10
10
  var useAppSearch = require('./js/useAppSearch.js');
11
11
  var useLocale = require('../../hooks/useLocale.js');
12
12
  var is = require('../../utils/is.js');
13
+ var index$1 = require('../hyIcon/index.js');
13
14
 
14
15
  import "./style/search.scss";
15
16
 
@@ -138,12 +139,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
138
139
  },
139
140
  [
140
141
  vue.createElementVNode("div", { class: "flex items-center gap-2" }, [
141
- vue.createVNode(vue.unref(elementPlus.ElIcon), { size: "12" }, {
142
- default: vue.withCtx(() => [
143
- vue.createVNode(vue.unref(iconsVue.Filter))
144
- ]),
145
- _: 1
146
- /* STABLE */
142
+ vue.createVNode(vue.unref(index$1.HyIcon), {
143
+ "svg-name": "ops-button-screen",
144
+ "class-name": "!w-3 !h-3"
147
145
  }),
148
146
  vue.createElementVNode(
149
147
  "span",
@@ -9,8 +9,9 @@ var iconsVue = require('@element-plus/icons-vue');
9
9
  var index = require('../js/index.js');
10
10
  var columnSelectItem = require('./columnSelectItem.vue.js');
11
11
  var useLocale = require('../../../hooks/useLocale.js');
12
- var index$1 = require('../../hyTooltip/index.js');
13
- var index$2 = require('../../hyButton/index.js');
12
+ var index$1 = require('../../hyIcon/index.js');
13
+ var index$2 = require('../../hyTooltip/index.js');
14
+ var index$3 = require('../../hyButton/index.js');
14
15
  var is = require('../../../utils/is.js');
15
16
 
16
17
  const _sfc_main = {
@@ -178,12 +179,10 @@ const _sfc_main = {
178
179
  {
179
180
  reference: vue.withCtx(() => [
180
181
  vue.createElementVNode("div", { class: "flex items-center gap-[10px] clickBox px-3 rounded hover:bg-background-2" }, [
181
- vue.createVNode(vue.unref(elementPlus.ElIcon), null, {
182
- default: vue.withCtx(() => [
183
- vue.createVNode(vue.unref(iconsVue.Edit))
184
- ]),
185
- _: 1
186
- /* STABLE */
182
+ vue.createCommentVNode(" <el-icon><Edit /></el-icon> "),
183
+ vue.createVNode(vue.unref(index$1.HyIcon), {
184
+ "svg-name": "ops-button-edit-column",
185
+ "class-name": "!w-3 !h-3"
187
186
  }),
188
187
  vue.createElementVNode(
189
188
  "span",
@@ -204,17 +203,10 @@ const _sfc_main = {
204
203
  1
205
204
  /* TEXT */
206
205
  ),
207
- vue.createVNode(vue.unref(elementPlus.ElIcon), {
208
- class: "clickBox",
209
- color: "rgb(var(--hy-danger-2))",
210
- size: "18",
206
+ vue.createVNode(vue.unref(index$1.HyIcon), {
207
+ "svg-name": "layout-dialog-close-v2",
208
+ "class-name": "!w-[18px] !h-[18px] cursor-pointer",
211
209
  onClick: closePopover
212
- }, {
213
- default: vue.withCtx(() => [
214
- vue.createVNode(vue.unref(iconsVue.CircleClose))
215
- ]),
216
- _: 1
217
- /* STABLE */
218
210
  })
219
211
  ]),
220
212
  vue.createElementVNode("div", { class: "h-[364px] px-4 pt-[11px] pb-1 scroll-body overflow-y-auto" }, [
@@ -324,7 +316,7 @@ const _sfc_main = {
324
316
  _: 1
325
317
  /* STABLE */
326
318
  }),
327
- vue.createVNode(vue.unref(index$1.HyTooltip), {
319
+ vue.createVNode(vue.unref(index$2.HyTooltip), {
328
320
  "is-always": false,
329
321
  content: vue.unref(t)("table.tooManyFieldsWillAffectReadability"),
330
322
  class: "mr-2 text-auxiliary"
@@ -333,7 +325,7 @@ const _sfc_main = {
333
325
  64
334
326
  /* STABLE_FRAGMENT */
335
327
  )) : vue.createCommentVNode("v-if", true),
336
- vue.createVNode(vue.unref(index$2.HyButton), {
328
+ vue.createVNode(vue.unref(index$3.HyButton), {
337
329
  type: "primary",
338
330
  size: "small",
339
331
  onClick: onConfirmHandler
@@ -12,10 +12,10 @@ var columnSelect = require('./cpns/columnSelect.vue.js');
12
12
  var virtualTable = require('./cpns/virtualTable.vue.js');
13
13
  var useLocale = require('../../hooks/useLocale.js');
14
14
  var useMixins = require('../../hooks/useMixins.js');
15
- var index = require('../hyTooltip/index.js');
16
- var index$1 = require('../hyInput/index.js');
17
- var index$2 = require('../hyButton/index.js');
18
- var index$3 = require('../hyIcon/index.js');
15
+ var index = require('../hyIcon/index.js');
16
+ var index$1 = require('../hyTooltip/index.js');
17
+ var index$2 = require('../hyInput/index.js');
18
+ var index$3 = require('../hyButton/index.js');
19
19
  var index$4 = require('../hySearch/index.js');
20
20
  var adaptive = require('../../utils/adaptive.js');
21
21
  var is = require('../../utils/is.js');
@@ -66,7 +66,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
66
66
  isShowAllSelect: {
67
67
  // 全选禁用
68
68
  type: Boolean,
69
- default: () => false
69
+ default: true
70
70
  },
71
71
  emptyText: {
72
72
  // 空数据时显示的文本内容
@@ -308,12 +308,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
308
308
  class: "h-[32px] flex items-center gap-[10px] clickBox px-3 select-none rounded hover:bg-background-2",
309
309
  onClick: vue.unref(switchShowFilter)
310
310
  }, [
311
- vue.createVNode(vue.unref(elementPlus.ElIcon), { size: "12" }, {
312
- default: vue.withCtx(() => [
313
- vue.createVNode(vue.unref(iconsVue.Filter))
314
- ]),
315
- _: 1
316
- /* STABLE */
311
+ vue.createVNode(vue.unref(index.HyIcon), {
312
+ "svg-name": "ops-button-screen",
313
+ "class-name": "!w-3 !h-3"
317
314
  }),
318
315
  vue.createElementVNode(
319
316
  "span",
@@ -323,7 +320,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
323
320
  /* TEXT */
324
321
  )
325
322
  ], 8, ["onClick"])) : vue.createCommentVNode("v-if", true),
326
- vue.unref(searchPlaceholder) ? (vue.openBlock(), vue.createBlock(vue.unref(index.HyTooltip), {
323
+ vue.unref(searchPlaceholder) ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.HyTooltip), {
327
324
  key: 2,
328
325
  "is-always": "",
329
326
  overLine: 1,
@@ -335,7 +332,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
335
332
  }, null, 8, ["innerHTML"])
336
333
  ]),
337
334
  default: vue.withCtx(() => [
338
- vue.createVNode(vue.unref(index$1.HyInputSearch), {
335
+ vue.createVNode(vue.unref(index$2.HyInputSearch), {
339
336
  modelValue: __props.filterModel.query,
340
337
  "onUpdate:modelValue": ($event) => __props.filterModel.query = $event,
341
338
  placeholder: vue.unref(t)("table.searchFor", [__props.controllerText || ""]),
@@ -344,13 +341,13 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
344
341
  ]),
345
342
  _: 1
346
343
  /* STABLE */
347
- })) : (vue.openBlock(), vue.createBlock(vue.unref(index$2.HyButton), {
344
+ })) : (vue.openBlock(), vue.createBlock(vue.unref(index$3.HyButton), {
348
345
  key: 3,
349
346
  type: "primary",
350
347
  onClick: ($event) => vue.unref(getData)()
351
348
  }, {
352
349
  default: vue.withCtx(() => [
353
- vue.createVNode(vue.unref(index$3.HyIcon), {
350
+ vue.createVNode(vue.unref(index.HyIcon), {
354
351
  class: "w-[12px] h-[12px]",
355
352
  "svg-name": "ops-button-icon-refres-v2"
356
353
  })
@@ -452,7 +449,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
452
449
  }, {
453
450
  default: vue.withCtx(() => [
454
451
  vue.renderSlot(_ctx.$slots, column.headerSlot, vue.mergeProps({ ref_for: true }, { column, $index: scope.$index }), () => [
455
- !vue.unref(is.isEmpty)(vue.unref(index$5.renderHeaderHandler)(column, scope)) ? (vue.openBlock(), vue.createBlock(vue.unref(index.HyTooltip), {
452
+ !vue.unref(is.isEmpty)(vue.unref(index$5.renderHeaderHandler)(column, scope)) ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.HyTooltip), {
456
453
  key: 0,
457
454
  "is-always": false,
458
455
  "over-line": 1,
@@ -477,7 +474,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
477
474
  scope,
478
475
  "default"
479
476
  ), (citem, cindex) => {
480
- return vue.openBlock(), vue.createBlock(vue.unref(index.HyTooltip), {
477
+ return vue.openBlock(), vue.createBlock(vue.unref(index$1.HyTooltip), {
481
478
  key: cindex,
482
479
  "is-always": "",
483
480
  overLine: 1,
@@ -490,7 +487,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
490
487
  onContextmenu: vue.withModifiers(() => {
491
488
  }, ["stop"])
492
489
  }, [
493
- vue.createVNode(vue.unref(index$3.HyIcon), {
490
+ vue.createVNode(vue.unref(index.HyIcon), {
494
491
  "svg-name": citem.svgName,
495
492
  "class-name": "!w-4 !h-4"
496
493
  }, null, 8, ["svg-name"]),
@@ -588,7 +585,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
588
585
  onContextmenu: vue.withModifiers(() => {
589
586
  }, ["stop"])
590
587
  }, [
591
- vue.createVNode(vue.unref(index.HyTooltip), {
588
+ vue.createVNode(vue.unref(index$1.HyTooltip), {
592
589
  "is-always": "",
593
590
  overLine: 1,
594
591
  content: vue.unref(t)("table.moreOperations")
@@ -626,7 +623,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
626
623
  vue.Fragment,
627
624
  { key: 2 },
628
625
  [
629
- !vue.unref(is.isEmpty)(vue.unref(index$5.renderContentHandler)(column, scope)) ? (vue.openBlock(), vue.createBlock(vue.unref(index.HyTooltip), {
626
+ !vue.unref(is.isEmpty)(vue.unref(index$5.renderContentHandler)(column, scope)) ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.HyTooltip), {
630
627
  key: 0,
631
628
  "over-line": 2,
632
629
  "is-always": false,
@@ -119,8 +119,11 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
119
119
  return false;
120
120
  }
121
121
  const show = vue.unref(operate.show);
122
- if (is.isBoolean(show)) return show;
123
- return true;
122
+ if (operate.show === null || operate.show === void 0) {
123
+ return true;
124
+ } else {
125
+ return !!show;
126
+ }
124
127
  }
125
128
  vue.watch(() => props.operateList, setSelectedData, { deep: true, immediate: true });
126
129
  __expose({});
@@ -20,7 +20,7 @@ const __default__ = vue.defineComponent({
20
20
  name: "HyBatchTableForm"
21
21
  });
22
22
  const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
23
- props: {
23
+ props: /* @__PURE__ */ vue.mergeModels({
24
24
  // 表格配置项
25
25
  tableColumns: {
26
26
  // 表格的列
@@ -82,22 +82,26 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
82
82
  submitHandler: {
83
83
  type: Function
84
84
  }
85
- },
86
- emits: [
85
+ }, {
86
+ "step": { type: Number, default: 1 },
87
+ "stepModifiers": {}
88
+ }),
89
+ emits: /* @__PURE__ */ vue.mergeModels([
87
90
  "uploading",
88
91
  "uploaded",
89
92
  "reset",
90
93
  "submitting",
91
94
  "submit"
92
- ],
95
+ ], ["update:step"]),
93
96
  setup(__props, { expose: __expose, emit: __emit }) {
94
97
  const props = __props;
95
98
  const emits = __emit;
96
99
  const { api } = useApi.useApi();
97
100
  const { t } = useLocale.useLocale();
98
101
  const containerRef = vue.useTemplateRef("containerRef");
102
+ const uploadRef = vue.useTemplateRef("uploadRef");
99
103
  const tableRef = vue.useTemplateRef("tableRef");
100
- const active = vue.ref(1);
104
+ const active = vue.useModel(__props, "step");
101
105
  const stepList = [
102
106
  {
103
107
  title: "\u4E0A\u4F20\u5BFC\u5165\u6587\u4EF6",
@@ -149,6 +153,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
149
153
  try {
150
154
  isUploading.value = true;
151
155
  emits("uploading");
156
+ formColumns;
152
157
  const data = await index$2.doReadExcel(files, props);
153
158
  if (!data) {
154
159
  elementPlus.ElMessage.warning("\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25");
@@ -198,6 +203,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
198
203
  active.value = 1;
199
204
  submitNumber.value = 0;
200
205
  emits("reset");
206
+ await vue.nextTick();
207
+ uploadRef.value.click();
201
208
  }
202
209
  async function submitDataSource() {
203
210
  if (!props.url && !props.submitHandler) {
@@ -309,7 +316,19 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
309
316
  },
310
317
  getTableDataSource,
311
318
  validate,
312
- submitDataSource
319
+ submitDataSource,
320
+ prevStep: () => {
321
+ if (active.value > 1) {
322
+ active.value--;
323
+ }
324
+ return active.value;
325
+ },
326
+ nextStep: () => {
327
+ if (active.value < 2) {
328
+ active.value++;
329
+ }
330
+ return active.value;
331
+ }
313
332
  });
314
333
  return (_ctx, _cache) => {
315
334
  return vue.openBlock(), vue.createElementBlock(
@@ -320,146 +339,170 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
320
339
  class: "hy-batch-table-form"
321
340
  },
322
341
  [
323
- active.value === 1 ? (vue.openBlock(), vue.createElementBlock("div", {
324
- key: 0,
325
- class: "max-h-full overflow-y-auto scroll-body"
326
- }, [
327
- vue.createElementVNode("div", { class: "hy-batch-table-form-upload-box" }, [
328
- vue.createVNode(vue.unref(elementPlus.ElUpload), {
329
- accept: ".xls,.xlsx",
330
- drag: "",
331
- multiple: false,
332
- "auto-upload": false,
333
- "show-file-list": false,
334
- class: "w-full h-full",
335
- "on-change": onUploadChange
336
- }, {
337
- default: vue.withCtx(() => [
338
- vue.createVNode(vue.unref(index.HyIcon), {
339
- "svg-name": "analytics-echarts-sos",
340
- "class-name": "!w-[58px] !h-[66px] mb-4"
341
- }),
342
- isUploading.value ? (vue.openBlock(), vue.createElementBlock("div", {
343
- key: 0,
344
- class: "flex items-center gap-2 text-auxiliary"
345
- }, [
346
- vue.createElementVNode("span", { class: "text-xs" }, "\u6587\u4EF6\u4E0A\u4F20\u4E2D"),
347
- vue.createVNode(vue.unref(elementPlus.ElIcon), { class: "is-loading" }, {
348
- default: vue.withCtx(() => [
349
- vue.createVNode(vue.unref(iconsVue.Loading))
350
- ]),
351
- _: 1
352
- /* STABLE */
353
- })
354
- ])) : (vue.openBlock(), vue.createElementBlock(
355
- vue.Fragment,
356
- { key: 1 },
357
- [
358
- vue.createElementVNode("div", { class: "mb-1.5 text-main" }, [
359
- vue.createElementVNode("span", null, "\u70B9\u51FB\u6216\u5C06 \u6587\u4EF6 \u62D6\u62FD\u5230\u6B64\u5904\u4E0A\u4F20")
360
- ]),
361
- vue.createElementVNode("div", { class: "text-auxiliary text-xs" }, "\u4E00\u6B21\u4EC5\u652F\u6301\u4E0A\u4F20\u4E00\u4E2A\u6587\u4EF6"),
362
- vue.createElementVNode("div", { class: "w-full text-main absolute left-1/2 bottom-4 transform -translate-x-1/2" }, [
363
- vue.createElementVNode("div", { class: "flex items-center justify-center text-xs text-auxiliary gap-2" }, [
364
- vue.createElementVNode("span", null, "\u6587\u4EF6\u652F\u6301\uFF1A"),
365
- vue.createElementVNode("div", { class: "border border-border rounded py-1 px-2.5 bg-background-4" }, " .xls "),
366
- vue.createElementVNode("div", { class: "border border-border rounded py-1 px-2.5 bg-background-4" }, " .xlsx "),
367
- vue.createElementVNode("span", null, "\u5355\u6587\u4EF6\u4E0D\u8D85\u8FC7 10 MB")
342
+ vue.withDirectives(vue.createElementVNode(
343
+ "div",
344
+ { class: "max-h-full overflow-y-auto scroll-body" },
345
+ [
346
+ vue.createElementVNode("div", { class: "hy-batch-table-form-upload-box" }, [
347
+ vue.createVNode(vue.unref(elementPlus.ElUpload), {
348
+ accept: ".xls,.xlsx",
349
+ drag: "",
350
+ multiple: false,
351
+ "auto-upload": false,
352
+ "show-file-list": false,
353
+ class: "w-full h-full",
354
+ "on-change": onUploadChange
355
+ }, {
356
+ default: vue.withCtx(() => [
357
+ vue.createVNode(vue.unref(index.HyIcon), {
358
+ "svg-name": "ops-file-xls",
359
+ "class-name": "!w-[58px] !h-[66px] mb-4"
360
+ }),
361
+ isUploading.value ? (vue.openBlock(), vue.createElementBlock("div", {
362
+ key: 0,
363
+ class: "flex items-center gap-2 text-auxiliary"
364
+ }, [
365
+ vue.createElementVNode("span", { class: "text-xs" }, "\u6587\u4EF6\u4E0A\u4F20\u4E2D"),
366
+ vue.createVNode(vue.unref(elementPlus.ElIcon), { class: "is-loading" }, {
367
+ default: vue.withCtx(() => [
368
+ vue.createVNode(vue.unref(iconsVue.Loading))
369
+ ]),
370
+ _: 1
371
+ /* STABLE */
372
+ })
373
+ ])) : (vue.openBlock(), vue.createElementBlock(
374
+ vue.Fragment,
375
+ { key: 1 },
376
+ [
377
+ vue.createElementVNode("div", { class: "mb-1.5 text-main" }, [
378
+ vue.createElementVNode("span", null, "\u70B9\u51FB\u6216\u5C06 \u6587\u4EF6 \u62D6\u62FD\u5230\u6B64\u5904\u4E0A\u4F20")
379
+ ]),
380
+ vue.createElementVNode("div", { class: "text-auxiliary text-xs" }, "\u4E00\u6B21\u4EC5\u652F\u6301\u4E0A\u4F20\u4E00\u4E2A\u6587\u4EF6"),
381
+ vue.createElementVNode("div", { class: "w-full text-main absolute left-1/2 bottom-4 transform -translate-x-1/2" }, [
382
+ vue.createElementVNode("div", { class: "flex items-center justify-center text-xs text-auxiliary gap-2" }, [
383
+ vue.createElementVNode("span", null, "\u6587\u4EF6\u652F\u6301\uFF1A"),
384
+ vue.createElementVNode("div", { class: "border border-border rounded py-1 px-2.5 bg-background-4" }, " .xls "),
385
+ vue.createElementVNode("div", { class: "border border-border rounded py-1 px-2.5 bg-background-4" }, " .xlsx "),
386
+ vue.createElementVNode("span", null, "\u5355\u6587\u4EF6\u4E0D\u8D85\u8FC7 10 MB")
387
+ ])
368
388
  ])
369
- ])
370
- ],
371
- 64
372
- /* STABLE_FRAGMENT */
373
- )),
374
- vue.createElementVNode("div", { class: "hy-batch-table-form-upload-bg" })
375
- ]),
376
- _: 1
377
- /* STABLE */
378
- })
379
- ]),
380
- vue.createElementVNode("div", { class: "hy-batch-table-form-step-box" }, [
381
- vue.createElementVNode("div", { class: "text-auxiliary text-center mb-[30px]" }, [
382
- vue.createElementVNode("span", null, "\u6279\u91CF\u6DFB\u52A0\u5BFC\u5165\u6D41\u7A0B\u8BF4\u660E")
389
+ ],
390
+ 64
391
+ /* STABLE_FRAGMENT */
392
+ )),
393
+ vue.createElementVNode(
394
+ "div",
395
+ {
396
+ ref_key: "uploadRef",
397
+ ref: uploadRef,
398
+ class: "hy-batch-table-form-upload-bg"
399
+ },
400
+ null,
401
+ 512
402
+ /* NEED_PATCH */
403
+ )
404
+ ]),
405
+ _: 1
406
+ /* STABLE */
407
+ })
383
408
  ]),
384
- vue.createElementVNode("div", { class: "w-full flex" }, [
385
- (vue.openBlock(), vue.createElementBlock(
386
- vue.Fragment,
387
- null,
388
- vue.renderList(stepList, (item, index) => {
389
- return vue.createElementVNode("div", {
390
- key: index,
391
- class: "w-0 flex-1 flex flex-col items-center relative"
392
- }, [
393
- index < stepList.length - 1 ? (vue.openBlock(), vue.createElementBlock("div", {
394
- key: 0,
395
- class: "w-3/4 absolute top-[19px] left-full transform -translate-x-1/2",
396
- style: { "border-top": "2px dashed rgba(var(--hy-border))" }
397
- })) : vue.createCommentVNode("v-if", true),
398
- vue.createElementVNode("div", { class: "w-[38px] h-[38px] flex items-center justify-center border border-solid border-border rounded-full bg-background box-border" }, [
409
+ vue.createElementVNode("div", { class: "hy-batch-table-form-step-box" }, [
410
+ vue.createElementVNode("div", { class: "text-auxiliary text-center mb-[30px]" }, [
411
+ vue.createElementVNode("span", null, "\u6279\u91CF\u6DFB\u52A0\u5BFC\u5165\u6D41\u7A0B\u8BF4\u660E")
412
+ ]),
413
+ vue.createElementVNode("div", { class: "w-full flex" }, [
414
+ (vue.openBlock(), vue.createElementBlock(
415
+ vue.Fragment,
416
+ null,
417
+ vue.renderList(stepList, (item, index) => {
418
+ return vue.createElementVNode("div", {
419
+ key: index,
420
+ class: "w-0 flex-1 flex flex-col items-center relative"
421
+ }, [
422
+ index < stepList.length - 1 ? (vue.openBlock(), vue.createElementBlock("div", {
423
+ key: 0,
424
+ class: "w-3/4 absolute top-[19px] left-full transform -translate-x-1/2",
425
+ style: { "border-top": "2px dashed rgba(var(--hy-border))" }
426
+ })) : vue.createCommentVNode("v-if", true),
427
+ vue.createElementVNode("div", { class: "w-[38px] h-[38px] flex items-center justify-center border border-solid border-border rounded-full bg-background box-border" }, [
428
+ vue.createElementVNode(
429
+ "span",
430
+ { class: "text-base text-main" },
431
+ vue.toDisplayString(index + 1),
432
+ 1
433
+ /* TEXT */
434
+ )
435
+ ]),
399
436
  vue.createElementVNode(
400
437
  "span",
401
- { class: "text-base text-main" },
402
- vue.toDisplayString(index + 1),
438
+ { class: "text-main font-bold text-sm mt-3 mb-2" },
439
+ vue.toDisplayString(item.title),
403
440
  1
404
441
  /* TEXT */
405
- )
406
- ]),
407
- vue.createElementVNode(
408
- "span",
409
- { class: "text-main font-bold text-sm mt-3 mb-2" },
410
- vue.toDisplayString(item.title),
411
- 1
412
- /* TEXT */
413
- ),
414
- vue.createElementVNode("div", {
415
- innerHTML: item.description,
416
- class: "text-auxiliary text-center mb-3 whitespace-nowrap"
417
- }, null, 8, ["innerHTML"]),
418
- index === 0 ? vue.renderSlot(_ctx.$slots, "template-down", {}, () => [
419
- vue.createVNode(vue.unref(index$1.HyButton), {
420
- type: "primary",
421
- link: "",
422
- onClick: () => vue.unref(index$2.downloadTemplateHandler)(props)
423
- }, {
424
- default: vue.withCtx(() => [
425
- vue.createTextVNode(
426
- vue.toDisplayString(__props.templateConfig ? __props.templateConfig.title : "\u4E0B\u8F7D\u6A21\u677F"),
427
- 1
428
- /* TEXT */
429
- )
430
- ]),
431
- _: 1
432
- /* STABLE */
433
- }, 8, ["onClick"])
434
- ], void 0, 1) : vue.createCommentVNode("v-if", true)
435
- ]);
436
- }),
437
- 64
438
- /* STABLE_FRAGMENT */
439
- ))
442
+ ),
443
+ vue.createElementVNode("div", {
444
+ innerHTML: item.description,
445
+ class: "text-auxiliary text-center mb-3 whitespace-nowrap"
446
+ }, null, 8, ["innerHTML"]),
447
+ index === 0 ? vue.renderSlot(_ctx.$slots, "template-down", {}, () => [
448
+ vue.createVNode(vue.unref(index$1.HyButton), {
449
+ type: "primary",
450
+ link: "",
451
+ onClick: () => vue.unref(index$2.downloadTemplateHandler)(props)
452
+ }, {
453
+ default: vue.withCtx(() => [
454
+ vue.createTextVNode(
455
+ vue.toDisplayString(__props.templateConfig ? __props.templateConfig.title : "\u4E0B\u8F7D\u6A21\u677F"),
456
+ 1
457
+ /* TEXT */
458
+ )
459
+ ]),
460
+ _: 1
461
+ /* STABLE */
462
+ }, 8, ["onClick"])
463
+ ], void 0, 1) : vue.createCommentVNode("v-if", true)
464
+ ]);
465
+ }),
466
+ 64
467
+ /* STABLE_FRAGMENT */
468
+ ))
469
+ ])
440
470
  ])
441
- ])
442
- ])) : active.value === 2 ? (vue.openBlock(), vue.createElementBlock("div", {
443
- key: 1,
471
+ ],
472
+ 512
473
+ /* NEED_PATCH */
474
+ ), [
475
+ [vue.vShow, active.value === 1]
476
+ ]),
477
+ active.value === 2 ? (vue.openBlock(), vue.createElementBlock("div", {
478
+ key: 0,
444
479
  class: "h-full flex flex-col"
445
480
  }, [
446
481
  vue.createElementVNode("div", { class: "hy-batch-table-form-template-box mb-4" }, [
447
482
  vue.createElementVNode("div", { class: "flex items-center gap-2" }, [
448
483
  vue.createVNode(vue.unref(index.HyIcon), {
449
- "svg-name": "analytics-echarts-sos",
484
+ "svg-name": "ops-file-xls",
450
485
  "class-name": "!w-[18px] !h-[22px]"
451
486
  }),
452
487
  templateFileName.value ? (vue.openBlock(), vue.createElementBlock(
453
- "span",
454
- {
455
- key: 0,
456
- class: "text-theme"
457
- },
458
- vue.toDisplayString(templateFileName.value),
459
- 1
460
- /* TEXT */
461
- )) : vue.createCommentVNode("v-if", true),
462
- vue.createElementVNode("span", { class: "text-auxiliary" }, "\u89E3\u6790\u5B8C\u6210")
488
+ vue.Fragment,
489
+ { key: 0 },
490
+ [
491
+ vue.createElementVNode(
492
+ "span",
493
+ { class: "text-theme" },
494
+ vue.toDisplayString(templateFileName.value),
495
+ 1
496
+ /* TEXT */
497
+ ),
498
+ vue.createElementVNode("span", { class: "text-auxiliary" }, "\u89E3\u6790\u5B8C\u6210")
499
+ ],
500
+ 64
501
+ /* STABLE_FRAGMENT */
502
+ )) : (vue.openBlock(), vue.createElementBlock("span", {
503
+ key: 1,
504
+ class: "text-auxiliary"
505
+ }, "\u6682\u672A\u5BFC\u5165\u6587\u4EF6"))
463
506
  ]),
464
507
  vue.createVNode(vue.unref(index$1.HyButton), {
465
508
  type: "primary",
@@ -468,7 +511,11 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
468
511
  onClick: onResetUpload
469
512
  }, {
470
513
  default: vue.withCtx(() => [
471
- vue.createTextVNode("\u91CD\u65B0\u4E0A\u4F20\u6587\u4EF6")
514
+ vue.createTextVNode(
515
+ vue.toDisplayString(templateFileName.value ? "\u91CD\u65B0\u4E0A\u4F20\u6587\u4EF6" : "\u70B9\u51FB\u4E0A\u4F20\u6587\u4EF6"),
516
+ 1
517
+ /* TEXT */
518
+ )
472
519
  ]),
473
520
  _: 1
474
521
  /* STABLE */
@@ -500,13 +547,13 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
500
547
  ]), 1040, ["tableColumns", "formColumns", "rules", "rowClickExpand", "columnNum", "size"])
501
548
  ])) : vue.createCommentVNode("v-if", true),
502
549
  submitting.value ? (vue.openBlock(), vue.createElementBlock("div", {
503
- key: 2,
550
+ key: 1,
504
551
  class: "absolute top-0 right-0 bottom-0 left-0 z-10 flex items-center justify-center"
505
552
  }, [
506
553
  vue.createElementVNode("div", { class: "w-full h-full absolute bg-[rgba(var(--hy-background-4),0.9)] backdrop-blur-sm" }),
507
554
  vue.createElementVNode("div", { class: "flex flex-col items-center text-theme text-xs relative" }, [
508
555
  vue.createVNode(vue.unref(index.HyIcon), {
509
- "svg-name": "analytics-echarts-sos",
556
+ "svg-name": "ops-file-xls",
510
557
  "class-name": "!w-[58px] !h-[66px] mb-[18px]"
511
558
  }),
512
559
  vue.createElementVNode("div", { class: "flex items-center" }, [
@@ -16,7 +16,7 @@ const doValidate = async (target = {}, columns = [], ruleList = {}) => {
16
16
  const columnMap = (columns || []).reduce((columnMap2, column) => {
17
17
  if (index.columnShowHandler({ model: data }, column)) {
18
18
  columnMap2[column.prop] = column;
19
- rules[column.prop] = column.rules || [];
19
+ rules[column.prop] = form.columnRuleHandler(column, target);
20
20
  form.setValueByProp(data, column.prop, form.getValueByProp(target, column.prop));
21
21
  }
22
22
  return columnMap2;