ele-admin-plus 1.1.9-beta.5 → 1.1.9-beta.7

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 (103) hide show
  1. package/es/ele-app/el.d.ts +3 -0
  2. package/es/ele-basic-select/index.d.ts +1 -1
  3. package/es/ele-data-table/index.d.ts +1 -1
  4. package/es/ele-data-table/props.d.ts +2 -2
  5. package/es/ele-ellipsis/index.js +2 -23
  6. package/es/ele-icon-select/index.d.ts +1 -1
  7. package/es/ele-map-picker/components/map-view.d.ts +47 -24
  8. package/es/ele-map-picker/components/map-view.js +227 -176
  9. package/es/ele-map-picker/index.d.ts +38 -16
  10. package/es/ele-map-picker/index.js +21 -39
  11. package/es/ele-map-picker/props.d.ts +33 -9
  12. package/es/ele-map-picker/props.js +20 -6
  13. package/es/ele-map-picker/style/index.scss +195 -166
  14. package/es/ele-map-picker/types.d.ts +8 -4
  15. package/es/ele-menus/index.d.ts +12 -3
  16. package/es/ele-menus/index.js +57 -5
  17. package/es/ele-menus/props.d.ts +8 -0
  18. package/es/ele-menus/props.js +10 -2
  19. package/es/ele-menus/style/index.scss +1 -1
  20. package/es/ele-menus/util.d.ts +15 -3
  21. package/es/ele-menus/util.js +47 -21
  22. package/es/ele-modal/index.js +1 -1
  23. package/es/ele-modal/style/index.scss +1 -0
  24. package/es/ele-popconfirm/index.d.ts +3 -3
  25. package/es/ele-popover/index.d.ts +3 -3
  26. package/es/ele-popover/props.d.ts +1 -1
  27. package/es/ele-pro-layout/components/pro-header.d.ts +9 -0
  28. package/es/ele-pro-layout/components/pro-header.js +8 -2
  29. package/es/ele-pro-layout/components/pro-sidebar.d.ts +9 -0
  30. package/es/ele-pro-layout/components/pro-sidebar.js +8 -2
  31. package/es/ele-pro-layout/components/pro-sidebox.d.ts +9 -0
  32. package/es/ele-pro-layout/components/pro-sidebox.js +8 -2
  33. package/es/ele-pro-layout/index.d.ts +43 -40
  34. package/es/ele-pro-layout/index.js +9 -3
  35. package/es/ele-pro-layout/props.d.ts +9 -5
  36. package/es/ele-pro-layout/props.js +9 -5
  37. package/es/ele-pro-table/index.d.ts +5 -5
  38. package/es/ele-table-select/index.d.ts +3 -3
  39. package/es/ele-tooltip/index.d.ts +1 -1
  40. package/es/ele-tree-select/index.d.ts +1 -1
  41. package/es/ele-upload-list/style/index.scss +2 -1
  42. package/es/ele-virtual-table/index.d.ts +1 -1
  43. package/es/ele-virtual-table/props.d.ts +2 -2
  44. package/es/ele-virtual-table/util.js +2 -18
  45. package/es/lang/en_US.js +2 -1
  46. package/es/lang/zh_CN.js +2 -1
  47. package/es/lang/zh_TW.js +2 -1
  48. package/es/style/themes/default.scss +1 -1
  49. package/es/style/themes/rounded.scss +1 -1
  50. package/es/utils/core.d.ts +5 -0
  51. package/es/utils/core.js +28 -0
  52. package/lib/ele-app/el.d.ts +3 -0
  53. package/lib/ele-basic-select/index.d.ts +1 -1
  54. package/lib/ele-data-table/index.d.ts +1 -1
  55. package/lib/ele-data-table/props.d.ts +2 -2
  56. package/lib/ele-ellipsis/index.cjs +1 -22
  57. package/lib/ele-icon-select/index.d.ts +1 -1
  58. package/lib/ele-map-picker/components/map-view.cjs +225 -174
  59. package/lib/ele-map-picker/components/map-view.d.ts +47 -24
  60. package/lib/ele-map-picker/index.cjs +20 -38
  61. package/lib/ele-map-picker/index.d.ts +38 -16
  62. package/lib/ele-map-picker/props.cjs +20 -6
  63. package/lib/ele-map-picker/props.d.ts +33 -9
  64. package/lib/ele-map-picker/style/index.scss +195 -166
  65. package/lib/ele-map-picker/types.d.ts +8 -4
  66. package/lib/ele-menus/index.cjs +55 -3
  67. package/lib/ele-menus/index.d.ts +12 -3
  68. package/lib/ele-menus/props.cjs +10 -2
  69. package/lib/ele-menus/props.d.ts +8 -0
  70. package/lib/ele-menus/style/index.scss +1 -1
  71. package/lib/ele-menus/util.cjs +47 -21
  72. package/lib/ele-menus/util.d.ts +15 -3
  73. package/lib/ele-modal/index.cjs +1 -1
  74. package/lib/ele-modal/style/index.scss +1 -0
  75. package/lib/ele-popconfirm/index.d.ts +3 -3
  76. package/lib/ele-popover/index.d.ts +3 -3
  77. package/lib/ele-popover/props.d.ts +1 -1
  78. package/lib/ele-pro-layout/components/pro-header.cjs +8 -2
  79. package/lib/ele-pro-layout/components/pro-header.d.ts +9 -0
  80. package/lib/ele-pro-layout/components/pro-sidebar.cjs +8 -2
  81. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +9 -0
  82. package/lib/ele-pro-layout/components/pro-sidebox.cjs +8 -2
  83. package/lib/ele-pro-layout/components/pro-sidebox.d.ts +9 -0
  84. package/lib/ele-pro-layout/index.cjs +9 -3
  85. package/lib/ele-pro-layout/index.d.ts +43 -40
  86. package/lib/ele-pro-layout/props.cjs +9 -5
  87. package/lib/ele-pro-layout/props.d.ts +9 -5
  88. package/lib/ele-pro-table/index.d.ts +5 -5
  89. package/lib/ele-table-select/index.d.ts +3 -3
  90. package/lib/ele-tooltip/index.d.ts +1 -1
  91. package/lib/ele-tree-select/index.d.ts +1 -1
  92. package/lib/ele-upload-list/style/index.scss +2 -1
  93. package/lib/ele-virtual-table/index.d.ts +1 -1
  94. package/lib/ele-virtual-table/props.d.ts +2 -2
  95. package/lib/ele-virtual-table/util.cjs +1 -17
  96. package/lib/lang/en_US.cjs +2 -1
  97. package/lib/lang/zh_CN.cjs +2 -1
  98. package/lib/lang/zh_TW.cjs +2 -1
  99. package/lib/style/themes/default.scss +1 -1
  100. package/lib/style/themes/rounded.scss +1 -1
  101. package/lib/utils/core.cjs +28 -0
  102. package/lib/utils/core.d.ts +5 -0
  103. package/package.json +2 -2
@@ -1,34 +1,33 @@
1
- import { defineComponent, ref, computed, watch, onMounted, onBeforeUnmount, nextTick, resolveComponent, openBlock, createBlock, withCtx, createElementVNode, normalizeStyle, createVNode, toDisplayString, createElementBlock, Fragment, normalizeClass, createCommentVNode, renderList, mergeProps } from "vue";
1
+ import { defineComponent, ref, computed, watch, onMounted, onBeforeUnmount, nextTick, resolveComponent, openBlock, createBlock, normalizeStyle, withCtx, createElementVNode, createElementBlock, Fragment, createVNode, normalizeClass, createCommentVNode, toDisplayString, createTextVNode, renderList, mergeProps } from "vue";
2
2
  import AMapLoader from "@amap/amap-jsapi-loader";
3
3
  import { ElAutocomplete, ElInput, ElButton, ElIcon, ElEmpty } from "element-plus";
4
- import { PlusOutlined, EnvironmentOutlined, CheckCircleOutlined, CheckOutlined, SearchOutlined } from "../../icons";
5
- import { useLicense } from "../../ele-config-provider/receiver";
4
+ import { PlusOutlined, EnvironmentOutlined, CheckCircleOutlined, SearchOutlined } from "../../icons";
6
5
  import EleLoading from "../../ele-loading/index";
7
6
  import { mapProps } from "../props";
8
- const ICON_CLASS = "ele-map-view-main-icon";
7
+ const ICON_CLASS = "ele-map-view-body-icon";
9
8
  const _sfc_main = defineComponent({
10
9
  name: "MapView",
11
10
  components: {
12
- EleLoading,
13
11
  ElAutocomplete,
14
12
  ElInput,
15
13
  ElButton,
16
14
  ElIcon,
17
15
  ElEmpty,
16
+ EleLoading,
18
17
  PlusOutlined,
19
18
  EnvironmentOutlined,
20
19
  CheckCircleOutlined,
21
- CheckOutlined,
22
20
  SearchOutlined
23
21
  },
24
22
  props: mapProps,
25
23
  emits: {
26
- done: (_result) => true,
27
- mapDone: (_ins) => true
24
+ mapDone: (_ins) => true,
25
+ select: (_selected) => true,
26
+ done: (_result) => true
28
27
  },
29
28
  setup(props, { emit }) {
30
- const { authenticated } = useLicense();
31
29
  const mapRef = ref(null);
30
+ const autocompleteRef = ref(null);
32
31
  const loading = ref(true);
33
32
  const poiLoading = ref(false);
34
33
  const confirmLoading = ref(false);
@@ -37,7 +36,9 @@ const _sfc_main = defineComponent({
37
36
  const centerIconClass = ref([ICON_CLASS]);
38
37
  const keywords = ref("");
39
38
  const selected = ref(null);
40
- const disabled = computed(() => props.required && !selected.value);
39
+ const confirmDisabled = computed(() => props.required && !selected.value);
40
+ const keywordMode = computed(() => "keyword" === props.mode);
41
+ const poiMode = computed(() => "poi" === props.mode);
41
42
  const state = {
42
43
  /** 上次输入建议关键字 */
43
44
  lastSuggestion: "",
@@ -84,17 +85,32 @@ const _sfc_main = defineComponent({
84
85
  });
85
86
  state.mapIns.on("complete", () => {
86
87
  loading.value = false;
87
- const { lng, lat } = state.mapIns.getCenter();
88
- searchPOI(lng, lat);
88
+ if (poiMode.value || keywordMode.value) {
89
+ const { lng, lat } = state.mapIns.getCenter();
90
+ searchPOI(lng, lat);
91
+ }
89
92
  });
90
93
  state.mapIns.on("moveend", () => {
91
- if (state.isItemClickMove) {
94
+ if (state.isItemClickMove || !poiMode.value) {
92
95
  state.isItemClickMove = false;
93
- } else if (!props.keywordMode) {
94
- bounceIcon();
95
- const { lng, lat } = state.mapIns.getCenter();
96
- searchPOI(lng, lat);
96
+ return;
97
+ }
98
+ bounceIcon();
99
+ const { lng, lat } = state.mapIns.getCenter();
100
+ searchPOI(lng, lat);
101
+ });
102
+ state.mapIns.on("click", (e) => {
103
+ if (poiMode.value || keywordMode.value) {
104
+ return;
105
+ }
106
+ if (e.lnglat == null || typeof e.lnglat !== "object") {
107
+ console.error(e);
108
+ return;
97
109
  }
110
+ const { lng, lat } = e.lnglat;
111
+ setSelected({ location: { lng, lat } });
112
+ setMapCenter(lng, lat, props.selectedZoom);
113
+ showCenterMarker(lng, lat);
98
114
  });
99
115
  state.centerMarker = new AMap.Marker({
100
116
  icon: new AMap.Icon({
@@ -115,19 +131,19 @@ const _sfc_main = defineComponent({
115
131
  return;
116
132
  }
117
133
  state.lastSuggestion = value;
118
- if (props.keywordMode) {
134
+ if (keywordMode.value) {
119
135
  poiLoading.value = true;
120
136
  }
121
137
  searchKeywords(value).then((result) => {
122
- if (props.keywordMode) {
138
+ if (keywordMode.value) {
123
139
  data.value = result;
124
- selected.value = null;
125
140
  poiLoading.value = false;
141
+ setSelected(null);
126
142
  removeCenterMarker();
127
- } else {
128
- suggestionData.value = result;
129
- callback && callback(suggestionData.value);
143
+ return;
130
144
  }
145
+ suggestionData.value = result;
146
+ callback && callback(suggestionData.value);
131
147
  }).catch((e) => {
132
148
  console.error(e);
133
149
  poiLoading.value = false;
@@ -135,31 +151,41 @@ const _sfc_main = defineComponent({
135
151
  });
136
152
  };
137
153
  const onSearchSelect = (item) => {
154
+ autocompleteRef.value && autocompleteRef.value.blur();
138
155
  if (!item || !item.location) {
139
156
  return;
140
157
  }
141
- if (!data.value.length || data.value[0].name !== item.name) {
142
- data.value = [item, ...data.value];
143
- selected.value = item;
158
+ const { lng, lat } = item.location;
159
+ if (poiMode.value) {
160
+ if (!data.value.length || data.value[0].name !== item.name) {
161
+ data.value = [item, ...data.value];
162
+ }
163
+ setSelected(data.value[0]);
164
+ } else {
165
+ setSelected(item);
166
+ showCenterMarker(lng, lat);
144
167
  }
145
- setMapCenter(item.location.lng, item.location.lat, props.selectedZoom);
168
+ setMapCenter(lng, lat, props.selectedZoom);
146
169
  state.selectedSuggestion = item;
147
170
  };
148
171
  const onItemClick = (item) => {
149
172
  state.isItemClickMove = true;
150
- selected.value = item;
173
+ setSelected(item);
151
174
  const { lng, lat } = item.location;
152
175
  setMapCenter(lng, lat, props.selectedZoom);
153
- if (!props.keywordMode) {
176
+ if (poiMode.value) {
154
177
  bounceIcon();
155
- } else {
156
- showCenterMarker(lng, lat);
178
+ return;
157
179
  }
180
+ showCenterMarker(lng, lat);
158
181
  };
159
- const onConfirm = () => {
160
- if (!authenticated.value) {
161
- return;
182
+ const setSelected = (item) => {
183
+ if (selected.value !== item) {
184
+ selected.value = item;
185
+ emit("select", selected.value);
162
186
  }
187
+ };
188
+ const onConfirm = () => {
163
189
  if (!selected.value) {
164
190
  confirmLoading.value = true;
165
191
  getMapCenter(props.returnRegions).then((result2) => {
@@ -174,7 +200,7 @@ const _sfc_main = defineComponent({
174
200
  }
175
201
  const result = {
176
202
  ...selected.value.location,
177
- name: selected.value.name,
203
+ name: selected.value.name || "",
178
204
  address: selected.value.address || ""
179
205
  };
180
206
  if (props.returnRegions) {
@@ -230,20 +256,20 @@ const _sfc_main = defineComponent({
230
256
  if (state.selectedSuggestion) {
231
257
  if (result.length === 0 || result[0].name !== state.selectedSuggestion.name) {
232
258
  data.value = [state.selectedSuggestion, ...result];
233
- selected.value = state.selectedSuggestion;
234
259
  } else {
235
260
  data.value = result;
236
- selected.value = result[0];
237
261
  }
262
+ setSelected(data.value[0]);
238
263
  } else {
239
264
  data.value = result;
240
- selected.value = null;
265
+ setSelected(null);
241
266
  }
242
267
  poiLoading.value = false;
243
268
  }).catch((e) => {
244
269
  console.error(e);
245
- data.value = [];
246
- selected.value = null;
270
+ const selectedSuggestion = state.selectedSuggestion;
271
+ data.value = selectedSuggestion ? [selectedSuggestion] : [];
272
+ setSelected(selectedSuggestion ? selectedSuggestion : null);
247
273
  poiLoading.value = false;
248
274
  });
249
275
  };
@@ -332,16 +358,16 @@ const _sfc_main = defineComponent({
332
358
  }
333
359
  });
334
360
  };
335
- const changeMapStyle = (value) => {
361
+ const changeMapStyle = (style) => {
336
362
  if (state.mapIns) {
337
- if (typeof value === "boolean") {
338
- if (value) {
363
+ if (typeof style === "boolean") {
364
+ if (style) {
339
365
  state.mapIns.setMapStyle("amap://styles/dark");
340
366
  } else {
341
367
  state.mapIns.setMapStyle("amap://styles/normal");
342
368
  }
343
- } else if (value) {
344
- state.mapIns.setMapStyle(value);
369
+ } else if (style) {
370
+ state.mapIns.setMapStyle(style);
345
371
  }
346
372
  }
347
373
  };
@@ -354,13 +380,13 @@ const _sfc_main = defineComponent({
354
380
  };
355
381
  const destroyAll = () => {
356
382
  destroyMap();
357
- data.value = [];
358
- suggestionData.value = [];
359
- selected.value = null;
360
- keywords.value = "";
361
383
  state.lastSuggestion = "";
362
384
  state.selectedSuggestion = null;
363
385
  state.isItemClickMove = false;
386
+ data.value = [];
387
+ suggestionData.value = [];
388
+ keywords.value = "";
389
+ setSelected(null);
364
390
  };
365
391
  const getMapIns = () => {
366
392
  return state.mapIns;
@@ -382,17 +408,26 @@ const _sfc_main = defineComponent({
382
408
  }
383
409
  );
384
410
  watch(
385
- () => props.keywordMode,
386
- (keywordMode) => {
411
+ () => props.mode,
412
+ (mode) => {
387
413
  keywords.value = "";
388
414
  suggestionData.value = [];
389
415
  state.selectedSuggestion = null;
390
416
  state.lastSuggestion = "";
391
417
  removeCenterMarker();
392
- if (keywordMode && selected.value) {
418
+ if (mode !== "poi" && selected.value) {
393
419
  const { lng, lat } = selected.value.location;
394
420
  showCenterMarker(lng, lat);
395
421
  }
422
+ if (!data.value.length && (mode === "poi" || mode === "keyword")) {
423
+ if (selected.value) {
424
+ const { lng, lat } = selected.value.location;
425
+ searchPOI(lng, lat);
426
+ } else {
427
+ const { lng, lat } = state.mapIns.getCenter();
428
+ searchPOI(lng, lat);
429
+ }
430
+ }
396
431
  }
397
432
  );
398
433
  watch(
@@ -409,7 +444,9 @@ const _sfc_main = defineComponent({
409
444
  destroyAll();
410
445
  });
411
446
  return {
447
+ SearchOutlined,
412
448
  mapRef,
449
+ autocompleteRef,
413
450
  loading,
414
451
  poiLoading,
415
452
  confirmLoading,
@@ -418,7 +455,9 @@ const _sfc_main = defineComponent({
418
455
  centerIconClass,
419
456
  keywords,
420
457
  selected,
421
- disabled,
458
+ confirmDisabled,
459
+ keywordMode,
460
+ poiMode,
422
461
  onSearch,
423
462
  onSearchSelect,
424
463
  onItemClick,
@@ -434,73 +473,80 @@ const _export_sfc = (sfc, props) => {
434
473
  }
435
474
  return target;
436
475
  };
437
- const _hoisted_1 = { class: "ele-map-view-search" };
438
- const _hoisted_2 = { class: "ele-map-suggest-title" };
439
- const _hoisted_3 = { class: "ele-map-suggest-text" };
440
- const _hoisted_4 = { class: "ele-map-view-main" };
441
- const _hoisted_5 = ["src"];
442
- const _hoisted_6 = { class: "ele-map-view-list" };
443
- const _hoisted_7 = ["onClick"];
444
- const _hoisted_8 = { class: "ele-map-view-item-title" };
445
- const _hoisted_9 = {
476
+ const _hoisted_1 = { class: "ele-map-view-body" };
477
+ const _hoisted_2 = {
478
+ ref: "mapRef",
479
+ style: { "height": "100%" }
480
+ };
481
+ const _hoisted_3 = ["src"];
482
+ const _hoisted_4 = { class: "ele-map-suggest-item" };
483
+ const _hoisted_5 = { class: "ele-map-suggest-title" };
484
+ const _hoisted_6 = { class: "ele-map-suggest-text" };
485
+ const _hoisted_7 = {
486
+ key: 0,
487
+ class: "ele-map-view-message"
488
+ };
489
+ const _hoisted_8 = { class: "ele-map-view-list" };
490
+ const _hoisted_9 = ["onClick"];
491
+ const _hoisted_10 = { class: "ele-map-view-item-body" };
492
+ const _hoisted_11 = { class: "ele-map-view-item-title" };
493
+ const _hoisted_12 = {
446
494
  key: 0,
447
495
  class: "ele-map-view-item-text"
448
496
  };
449
- const _hoisted_10 = {
497
+ const _hoisted_13 = {
450
498
  key: 0,
451
499
  class: "ele-map-view-empty"
452
500
  };
453
- const _hoisted_11 = {
501
+ const _hoisted_14 = { class: "ele-map-view-extra" };
502
+ const _hoisted_15 = {
454
503
  key: 0,
455
- class: "ele-map-view-extra"
504
+ class: "ele-map-view-message"
456
505
  };
457
- const _hoisted_12 = { class: "ele-map-view-message" };
458
506
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
459
- const _component_SearchOutlined = resolveComponent("SearchOutlined");
507
+ const _component_PlusOutlined = resolveComponent("PlusOutlined");
460
508
  const _component_ElIcon = resolveComponent("ElIcon");
461
- const _component_ElInput = resolveComponent("ElInput");
509
+ const _component_SearchOutlined = resolveComponent("SearchOutlined");
462
510
  const _component_ElAutocomplete = resolveComponent("ElAutocomplete");
463
- const _component_CheckOutlined = resolveComponent("CheckOutlined");
464
511
  const _component_ElButton = resolveComponent("ElButton");
465
- const _component_PlusOutlined = resolveComponent("PlusOutlined");
512
+ const _component_ElInput = resolveComponent("ElInput");
466
513
  const _component_EnvironmentOutlined = resolveComponent("EnvironmentOutlined");
467
514
  const _component_CheckCircleOutlined = resolveComponent("CheckCircleOutlined");
468
515
  const _component_ElEmpty = resolveComponent("ElEmpty");
469
516
  const _component_EleLoading = resolveComponent("EleLoading");
470
517
  return openBlock(), createBlock(_component_EleLoading, {
471
518
  loading: _ctx.loading,
472
- class: "ele-map-view"
519
+ class: "ele-map-view",
520
+ style: normalizeStyle({ height: _ctx.height })
473
521
  }, {
474
522
  default: withCtx(() => [
475
- createElementVNode("div", {
476
- class: "ele-map-view-header",
477
- style: normalizeStyle(_ctx.headerStyle)
478
- }, [
479
- createElementVNode("div", _hoisted_1, [
480
- _ctx.keywordMode ? (openBlock(), createBlock(_component_ElInput, {
481
- key: 0,
482
- clearable: "",
483
- modelValue: _ctx.keywords,
484
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.keywords = $event),
485
- placeholder: _ctx.searchPlaceholder,
486
- onChange: _ctx.onSearch
487
- }, {
488
- prefix: withCtx(() => [
489
- createVNode(_component_ElIcon, { class: "el-input__icon" }, {
490
- default: withCtx(() => [
491
- createVNode(_component_SearchOutlined)
492
- ]),
493
- _: 1
494
- })
523
+ createElementVNode("div", _hoisted_1, [
524
+ createElementVNode("div", _hoisted_2, null, 512),
525
+ _ctx.poiMode ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
526
+ createVNode(_component_ElIcon, { class: "ele-map-view-icon-plus" }, {
527
+ default: withCtx(() => [
528
+ createVNode(_component_PlusOutlined)
495
529
  ]),
496
530
  _: 1
497
- }, 8, ["modelValue", "placeholder", "onChange"])) : (openBlock(), createBlock(_component_ElAutocomplete, {
498
- key: 1,
499
- clearable: "",
531
+ }),
532
+ createElementVNode("img", {
533
+ src: _ctx.markerSrc,
534
+ class: normalizeClass(_ctx.centerIconClass)
535
+ }, null, 10, _hoisted_3)
536
+ ], 64)) : createCommentVNode("", true),
537
+ _ctx.filterable && !_ctx.keywordMode ? (openBlock(), createElementBlock("div", {
538
+ key: 1,
539
+ class: "ele-map-view-search",
540
+ style: normalizeStyle(_ctx.searchStyle)
541
+ }, [
542
+ createVNode(_component_ElAutocomplete, {
543
+ ref: "autocompleteRef",
544
+ clearable: true,
500
545
  modelValue: _ctx.keywords,
501
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.keywords = $event),
502
- fetchSuggestions: _ctx.onSearch,
546
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.keywords = $event),
503
547
  placeholder: _ctx.searchPlaceholder,
548
+ popperClass: "ele-map-suggest-popper",
549
+ fetchSuggestions: _ctx.onSearch,
504
550
  onSelect: _ctx.onSearchSelect
505
551
  }, {
506
552
  prefix: withCtx(() => [
@@ -512,95 +558,100 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
512
558
  })
513
559
  ]),
514
560
  default: withCtx(({ item }) => [
515
- createElementVNode("span", _hoisted_2, toDisplayString(item.label), 1),
516
- createElementVNode("span", _hoisted_3, "(" + toDisplayString(item.district) + ")", 1)
561
+ createElementVNode("div", _hoisted_4, [
562
+ createElementVNode("div", _hoisted_5, toDisplayString(item.label), 1),
563
+ createElementVNode("div", _hoisted_6, toDisplayString(item.district), 1)
564
+ ])
517
565
  ]),
518
566
  _: 1
519
- }, 8, ["modelValue", "fetchSuggestions", "placeholder", "onSelect"]))
520
- ]),
521
- createVNode(_component_ElButton, {
522
- type: "primary",
523
- disabled: _ctx.disabled,
524
- loading: _ctx.confirmLoading,
525
- class: "ele-map-view-btn-ok",
526
- onClick: _ctx.onConfirm
527
- }, {
528
- default: withCtx(() => [
529
- createVNode(_component_ElIcon, null, {
530
- default: withCtx(() => [
531
- createVNode(_component_CheckOutlined)
532
- ]),
533
- _: 1
534
- }),
535
- createElementVNode("span", null, toDisplayString(_ctx.okText), 1)
567
+ }, 8, ["modelValue", "placeholder", "fetchSuggestions", "onSelect"])
568
+ ], 4)) : createCommentVNode("", true),
569
+ !_ctx.poiMode && !_ctx.keywordMode ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
570
+ _ctx.confirmDisabled && _ctx.clickMessage ? (openBlock(), createElementBlock("div", _hoisted_7, toDisplayString(_ctx.clickMessage), 1)) : (openBlock(), createBlock(_component_ElButton, {
571
+ key: 1,
572
+ type: "primary",
573
+ loading: _ctx.confirmLoading,
574
+ disabled: _ctx.confirmDisabled,
575
+ class: "ele-map-view-btn-ok",
576
+ onClick: _ctx.onConfirm
577
+ }, {
578
+ default: withCtx(() => [
579
+ createTextVNode(toDisplayString(_ctx.okText), 1)
580
+ ]),
581
+ _: 1
582
+ }, 8, ["loading", "disabled", "onClick"]))
583
+ ], 64)) : createCommentVNode("", true)
584
+ ]),
585
+ _ctx.keywordMode || _ctx.poiMode ? (openBlock(), createBlock(_component_EleLoading, {
586
+ key: 0,
587
+ loading: _ctx.poiLoading,
588
+ class: "ele-map-view-side"
589
+ }, {
590
+ default: withCtx(() => [
591
+ _ctx.keywordMode ? (openBlock(), createElementBlock("div", {
592
+ key: 0,
593
+ class: "ele-map-view-search",
594
+ style: normalizeStyle(_ctx.searchStyle)
595
+ }, [
596
+ createVNode(_component_ElInput, {
597
+ clearable: true,
598
+ modelValue: _ctx.keywords,
599
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.keywords = $event),
600
+ prefixIcon: _ctx.SearchOutlined,
601
+ placeholder: _ctx.searchPlaceholder,
602
+ onChange: _ctx.onSearch
603
+ }, null, 8, ["modelValue", "prefixIcon", "placeholder", "onChange"])
604
+ ], 4)) : createCommentVNode("", true),
605
+ createElementVNode("div", _hoisted_8, [
606
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.data, (item) => {
607
+ return openBlock(), createElementBlock("div", {
608
+ key: item.key,
609
+ class: normalizeClass(["ele-map-view-item", { "is-active": item === _ctx.selected }]),
610
+ onClick: ($event) => _ctx.onItemClick(item)
611
+ }, [
612
+ createVNode(_component_ElIcon, { class: "ele-map-view-item-icon" }, {
613
+ default: withCtx(() => [
614
+ createVNode(_component_EnvironmentOutlined)
615
+ ]),
616
+ _: 1
617
+ }),
618
+ createElementVNode("div", _hoisted_10, [
619
+ createElementVNode("div", _hoisted_11, toDisplayString(item.name), 1),
620
+ item.address ? (openBlock(), createElementBlock("div", _hoisted_12, toDisplayString(item.address), 1)) : createCommentVNode("", true)
621
+ ]),
622
+ createVNode(_component_ElIcon, { class: "ele-map-view-item-radio" }, {
623
+ default: withCtx(() => [
624
+ createVNode(_component_CheckCircleOutlined)
625
+ ]),
626
+ _: 1
627
+ })
628
+ ], 10, _hoisted_9);
629
+ }), 128)),
630
+ !_ctx.data || !_ctx.data.length ? (openBlock(), createElementBlock("div", _hoisted_13, [
631
+ createVNode(_component_ElEmpty, mergeProps({ imageSize: 80 }, _ctx.emptyProps), null, 16)
632
+ ])) : createCommentVNode("", true)
536
633
  ]),
537
- _: 1
538
- }, 8, ["disabled", "loading", "onClick"])
539
- ], 4),
540
- createElementVNode("div", {
541
- class: "ele-map-view-body",
542
- style: normalizeStyle({ height: _ctx.height })
543
- }, [
544
- createElementVNode("div", _hoisted_4, [
545
- createElementVNode("div", {
546
- ref: "mapRef",
547
- style: normalizeStyle({ height: _ctx.height })
548
- }, null, 4),
549
- !_ctx.keywordMode ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
550
- createVNode(_component_ElIcon, { class: "ele-map-view-icon-plus" }, {
634
+ createElementVNode("div", _hoisted_14, [
635
+ _ctx.confirmDisabled && _ctx.message ? (openBlock(), createElementBlock("div", _hoisted_15, toDisplayString(_ctx.message), 1)) : (openBlock(), createBlock(_component_ElButton, {
636
+ key: 1,
637
+ type: "primary",
638
+ loading: _ctx.confirmLoading,
639
+ disabled: _ctx.confirmDisabled,
640
+ class: "ele-map-view-btn-ok",
641
+ onClick: _ctx.onConfirm
642
+ }, {
551
643
  default: withCtx(() => [
552
- createVNode(_component_PlusOutlined)
644
+ createTextVNode(toDisplayString(_ctx.okText), 1)
553
645
  ]),
554
646
  _: 1
555
- }),
556
- createElementVNode("img", {
557
- src: _ctx.markerSrc,
558
- class: normalizeClass(_ctx.centerIconClass)
559
- }, null, 10, _hoisted_5)
560
- ], 64)) : createCommentVNode("", true)
647
+ }, 8, ["loading", "disabled", "onClick"]))
648
+ ])
561
649
  ]),
562
- createVNode(_component_EleLoading, {
563
- loading: _ctx.poiLoading,
564
- class: "ele-map-view-side"
565
- }, {
566
- default: withCtx(() => [
567
- createElementVNode("div", _hoisted_6, [
568
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.data, (item) => {
569
- return openBlock(), createElementBlock("div", {
570
- key: item.key,
571
- class: normalizeClass(["ele-map-view-item", { "is-active": item === _ctx.selected }]),
572
- onClick: ($event) => _ctx.onItemClick(item)
573
- }, [
574
- createVNode(_component_ElIcon, { class: "ele-map-view-item-icon" }, {
575
- default: withCtx(() => [
576
- createVNode(_component_EnvironmentOutlined)
577
- ]),
578
- _: 1
579
- }),
580
- createElementVNode("div", _hoisted_8, toDisplayString(item.name), 1),
581
- item.address ? (openBlock(), createElementBlock("div", _hoisted_9, toDisplayString(item.address), 1)) : createCommentVNode("", true),
582
- createVNode(_component_ElIcon, { class: "ele-map-view-item-radio" }, {
583
- default: withCtx(() => [
584
- createVNode(_component_CheckCircleOutlined)
585
- ]),
586
- _: 1
587
- })
588
- ], 10, _hoisted_7);
589
- }), 128)),
590
- !_ctx.data || !_ctx.data.length ? (openBlock(), createElementBlock("div", _hoisted_10, [
591
- createVNode(_component_ElEmpty, mergeProps({ imageSize: 80 }, _ctx.emptyProps), null, 16)
592
- ])) : createCommentVNode("", true)
593
- ]),
594
- _ctx.disabled ? (openBlock(), createElementBlock("div", _hoisted_11, [
595
- createElementVNode("div", _hoisted_12, toDisplayString(_ctx.message), 1)
596
- ])) : createCommentVNode("", true)
597
- ]),
598
- _: 1
599
- }, 8, ["loading"])
600
- ], 4)
650
+ _: 1
651
+ }, 8, ["loading"])) : createCommentVNode("", true)
601
652
  ]),
602
653
  _: 1
603
- }, 8, ["loading"]);
654
+ }, 8, ["loading", "style"]);
604
655
  }
605
656
  const mapView = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
606
657
  export {