hy-dispatch-ui-v3 0.2.66 → 0.2.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tailwind.css +25 -1
- package/es/components/hyBatchUploadDialog/batchUploadDialog.vue.mjs +174 -142
- package/es/components/hyButton/button.vue.mjs +16 -3
- package/es/components/hyButton/style/button.scss +2 -0
- package/es/components/hyForm/cpns/formItem.vue.mjs +96 -46
- package/es/components/hyForm/form.vue.mjs +22 -8
- package/es/components/hyForm/js/useAppForm.mjs +1 -1
- package/es/components/hyMap/js/index.mjs +6 -6
- package/es/components/hyMap/map.vue.mjs +14 -4
- package/es/components/hyOrgCascader/orgCascader.vue.mjs +7 -2
- package/es/components/hySearch/cpns/searchItem.vue.mjs +396 -324
- package/es/components/hySearch/search.vue.mjs +17 -7
- package/es/components/hySearch/style/search.scss +7 -0
- package/es/components/hyTable/cpns/virtualTable.vue.mjs +25 -6
- package/es/components/hyTable/js/index.mjs +11 -5
- package/es/components/hyTable/js/search.mjs +25 -1
- package/es/components/hyTable/table.vue.mjs +34 -13
- package/es/components/hyTableActionButton/tableActionButton.vue.mjs +9 -2
- package/es/components/hyTableForm/batchTableForm.vue.mjs +23 -2
- package/es/components/hyTableForm/js/useAppTableForm.mjs +1 -1
- package/es/components/hyTableForm/tableForm.vue.mjs +79 -33
- package/es/components/hyTree/js/index.mjs +118 -50
- package/es/components/hyTree/tree.vue.mjs +4 -2
- package/es/style/index.scss +0 -1
- package/es/style/tailwind.scss +0 -1
- package/es/utils/is.mjs +3 -1
- package/es/utils/map/hook/bigMap.mjs +2 -0
- package/es/utils/map/hook/gaode.mjs +51 -16
- package/es/utils/map/hook/leafletjs.mjs +15 -3
- package/es/utils/map/index.mjs +1 -1
- package/es/version.mjs +1 -1
- package/lib/components/hyBatchUploadDialog/batchUploadDialog.vue.js +173 -141
- package/lib/components/hyButton/button.vue.js +15 -2
- package/lib/components/hyButton/style/button.scss +2 -0
- package/lib/components/hyForm/cpns/formItem.vue.js +93 -43
- package/lib/components/hyForm/form.vue.js +21 -7
- package/lib/components/hyForm/js/useAppForm.js +1 -1
- package/lib/components/hyMap/js/index.js +5 -5
- package/lib/components/hyMap/map.vue.js +13 -3
- package/lib/components/hyOrgCascader/orgCascader.vue.js +7 -2
- package/lib/components/hySearch/cpns/searchItem.vue.js +394 -322
- package/lib/components/hySearch/search.vue.js +17 -7
- package/lib/components/hySearch/style/search.scss +7 -0
- package/lib/components/hyTable/cpns/virtualTable.vue.js +24 -5
- package/lib/components/hyTable/js/index.js +11 -4
- package/lib/components/hyTable/js/search.js +25 -1
- package/lib/components/hyTable/table.vue.js +33 -12
- package/lib/components/hyTableActionButton/tableActionButton.vue.js +9 -2
- package/lib/components/hyTableForm/batchTableForm.vue.js +23 -2
- package/lib/components/hyTableForm/js/useAppTableForm.js +1 -1
- package/lib/components/hyTableForm/tableForm.vue.js +78 -32
- package/lib/components/hyTree/js/index.js +118 -50
- package/lib/components/hyTree/tree.vue.js +4 -2
- package/lib/style/index.scss +0 -1
- package/lib/style/tailwind.scss +0 -1
- package/lib/utils/is.js +5 -3
- package/lib/utils/map/hook/bigMap.js +2 -0
- package/lib/utils/map/hook/gaode.js +51 -16
- package/lib/utils/map/hook/leafletjs.js +15 -3
- package/lib/utils/map/index.js +1 -1
- package/lib/version.js +1 -1
- package/package.json +2 -2
|
@@ -34,10 +34,50 @@ const useAppTreeWrapper = (hy) => {
|
|
|
34
34
|
const selectFilterType = vue.ref(null);
|
|
35
35
|
const selectFilterList = vue.ref([]);
|
|
36
36
|
const loading = vue.ref(true);
|
|
37
|
+
const noTreeSelData = vue.ref([]);
|
|
38
|
+
function getSelectedDataKey(data) {
|
|
39
|
+
if (!data) return void 0;
|
|
40
|
+
if (props.treeType === "device" || props.treeType === "channel") {
|
|
41
|
+
return data.channelId || data.deviceId;
|
|
42
|
+
}
|
|
43
|
+
if (props.treeType) {
|
|
44
|
+
return data.id;
|
|
45
|
+
}
|
|
46
|
+
return data[props.treeProps?.value];
|
|
47
|
+
}
|
|
48
|
+
function deleteNoTreeSelData(item) {
|
|
49
|
+
const index = hy.noTreeSelData.value.findIndex(
|
|
50
|
+
(v) => hy.getSelectedDataKey(v) === hy.getSelectedDataKey(item)
|
|
51
|
+
);
|
|
52
|
+
if (index !== -1) {
|
|
53
|
+
hy.noTreeSelData.value.splice(index, 1);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function updateNoTreeSelData(dataList) {
|
|
57
|
+
let selList = [];
|
|
58
|
+
if (props.treeType) {
|
|
59
|
+
selList = hy.virtualTree?.getCheckedBusinessNodes(true) || [];
|
|
60
|
+
} else {
|
|
61
|
+
selList = hy.virtualTree?.getCheckedNodes(true) || [];
|
|
62
|
+
}
|
|
63
|
+
const treeMap = /* @__PURE__ */ new Map();
|
|
64
|
+
selList.forEach((item) => {
|
|
65
|
+
const key = hy.getSelectedDataKey(item);
|
|
66
|
+
if (key) {
|
|
67
|
+
treeMap.set(key, true);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
hy.noTreeSelData.value = dataList.filter(
|
|
71
|
+
(item) => !treeMap.get(hy.getSelectedDataKey(item))
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
function mergeNoTreeSelData(dataList) {
|
|
75
|
+
return [...hy.noTreeSelData.value, ...dataList];
|
|
76
|
+
}
|
|
37
77
|
vue.watch(
|
|
38
78
|
() => props.showCheckbox,
|
|
39
79
|
(newVal) => {
|
|
40
|
-
virtualTree?.setRowSelection({
|
|
80
|
+
hy.virtualTree?.setRowSelection({
|
|
41
81
|
type: props.showCheckbox ? "checkbox" : "radio"
|
|
42
82
|
});
|
|
43
83
|
}
|
|
@@ -46,10 +86,10 @@ const useAppTreeWrapper = (hy) => {
|
|
|
46
86
|
return new Promise((resolve) => {
|
|
47
87
|
hy.loading.value = true;
|
|
48
88
|
if (props.disableSelection?.length) {
|
|
49
|
-
setDisAbleSelectionMap();
|
|
89
|
+
hy.setDisAbleSelectionMap();
|
|
50
90
|
}
|
|
51
|
-
if (!virtualTree) {
|
|
52
|
-
virtualTree = new VirtualTree({
|
|
91
|
+
if (!hy.virtualTree) {
|
|
92
|
+
hy.virtualTree = new VirtualTree({
|
|
53
93
|
// 指定容器
|
|
54
94
|
container: treeRef.value,
|
|
55
95
|
// 数据
|
|
@@ -64,25 +104,25 @@ const useAppTreeWrapper = (hy) => {
|
|
|
64
104
|
// 树形业务类型
|
|
65
105
|
business: props.treeType,
|
|
66
106
|
// 自定义整体的插槽
|
|
67
|
-
renderItem: props.treeType === treeConfig.treeTypeConfig.user ? (data, node) => setUserSlot(data, node) : setSlot("treeParentSlot"),
|
|
107
|
+
renderItem: props.treeType === treeConfig.treeTypeConfig.user ? (data, node) => hy.setUserSlot(data, node) : props.treeType === treeConfig.treeTypeConfig.group ? (data, node) => hy.setGroupRenderItem(data, node) : hy.setSlot("treeParentSlot"),
|
|
68
108
|
// // 自定义状态右侧插槽
|
|
69
109
|
renderRight: (data) => {
|
|
70
|
-
let renderRight = setSlot("renderRight");
|
|
110
|
+
let renderRight = hy.setSlot("renderRight");
|
|
71
111
|
if (renderRight) return renderRight(data);
|
|
72
112
|
if (data.dataType === 1) {
|
|
73
|
-
let departmentRight = setSlot("departmentRight");
|
|
113
|
+
let departmentRight = hy.setSlot("departmentRight");
|
|
74
114
|
if (departmentRight) {
|
|
75
115
|
return departmentRight(data);
|
|
76
116
|
}
|
|
77
117
|
}
|
|
78
118
|
if (data.dataType === 3) {
|
|
79
|
-
let deviceOnlineRight = setSlot("deviceOnlineRight");
|
|
119
|
+
let deviceOnlineRight = hy.setSlot("deviceOnlineRight");
|
|
80
120
|
if (deviceOnlineRight) {
|
|
81
121
|
return deviceOnlineRight(data);
|
|
82
122
|
}
|
|
83
123
|
}
|
|
84
124
|
if ([11].includes(data.dataType)) {
|
|
85
|
-
let planGroupRight = setSlot("planGroupRight");
|
|
125
|
+
let planGroupRight = hy.setSlot("planGroupRight");
|
|
86
126
|
if (planGroupRight) {
|
|
87
127
|
return planGroupRight(data);
|
|
88
128
|
}
|
|
@@ -90,16 +130,16 @@ const useAppTreeWrapper = (hy) => {
|
|
|
90
130
|
return true;
|
|
91
131
|
},
|
|
92
132
|
// // 自定义状态模块
|
|
93
|
-
renderStatus: props.treeType === treeConfig.treeTypeConfig.device || props.treeType === treeConfig.treeTypeConfig.channel ? (data) => setRenderStatus(data) : null,
|
|
133
|
+
renderStatus: props.treeType === treeConfig.treeTypeConfig.device || props.treeType === treeConfig.treeTypeConfig.channel ? (data) => hy.setRenderStatus(data) : null,
|
|
94
134
|
// 暂无数据插槽
|
|
95
135
|
renderEmpty: () => {
|
|
96
136
|
if (!props.showCustomEmpty || hy.filterValue.value) return true;
|
|
97
|
-
let renderEmpty = setSlot("renderEmpty");
|
|
137
|
+
let renderEmpty = hy.setSlot("renderEmpty");
|
|
98
138
|
if (renderEmpty) {
|
|
99
139
|
const target = renderEmpty();
|
|
100
140
|
return target.el;
|
|
101
141
|
}
|
|
102
|
-
return setEmpty();
|
|
142
|
+
return hy.setEmpty();
|
|
103
143
|
},
|
|
104
144
|
props: {
|
|
105
145
|
// 是否显示右侧业务状态
|
|
@@ -134,7 +174,6 @@ const useAppTreeWrapper = (hy) => {
|
|
|
134
174
|
showSelectBox: props.showSelectBox,
|
|
135
175
|
// 选中回调
|
|
136
176
|
onCheckChange: (data, info, checked) => {
|
|
137
|
-
console.log("onCheckChange", info);
|
|
138
177
|
if (data.dataType === 3 && !checked) {
|
|
139
178
|
emits("on-click-delete", JSON.parse(JSON.stringify(data)));
|
|
140
179
|
} else if (data.dataType === 3) {
|
|
@@ -143,7 +182,11 @@ const useAppTreeWrapper = (hy) => {
|
|
|
143
182
|
emits(
|
|
144
183
|
"on-check-tree",
|
|
145
184
|
JSON.parse(
|
|
146
|
-
JSON.stringify(
|
|
185
|
+
JSON.stringify(
|
|
186
|
+
hy.mergeNoTreeSelData(
|
|
187
|
+
info.checkedBusinessNodes || info.checkedNodes
|
|
188
|
+
)
|
|
189
|
+
)
|
|
147
190
|
),
|
|
148
191
|
{
|
|
149
192
|
data,
|
|
@@ -248,16 +291,16 @@ const useAppTreeWrapper = (hy) => {
|
|
|
248
291
|
document.body.click();
|
|
249
292
|
},
|
|
250
293
|
onLoad: () => {
|
|
251
|
-
if (props.showOnlineOnly && !virtualTree._flattenTree?.length && !hy.filterValue.value) {
|
|
294
|
+
if (props.showOnlineOnly && !hy.virtualTree._flattenTree?.length && !hy.filterValue.value) {
|
|
252
295
|
elementPlus.ElMessage.warning("\u6682\u65E0\u8BBE\u5907\u5904\u4E8E\u5728\u7EBF\u72B6\u6001");
|
|
253
296
|
}
|
|
254
297
|
if (props.defaultSelectedOrgID && props.showCheckbox && props.treeType === "device") {
|
|
255
|
-
setSelectedOrg(dataList);
|
|
298
|
+
hy.setSelectedOrg(dataList);
|
|
256
299
|
} else if (props.selectedByDefault?.length) {
|
|
257
|
-
setCheckedKeys(props.selectedByDefault);
|
|
300
|
+
hy.setCheckedKeys(props.selectedByDefault);
|
|
258
301
|
}
|
|
259
302
|
if (hy.filterValue.value) {
|
|
260
|
-
getFilterValue();
|
|
303
|
+
hy.getFilterValue();
|
|
261
304
|
}
|
|
262
305
|
setTimeout(() => {
|
|
263
306
|
hy.loading.value = false;
|
|
@@ -266,7 +309,7 @@ const useAppTreeWrapper = (hy) => {
|
|
|
266
309
|
}
|
|
267
310
|
});
|
|
268
311
|
} else {
|
|
269
|
-
virtualTree.setData(
|
|
312
|
+
hy.virtualTree.setData(
|
|
270
313
|
{
|
|
271
314
|
data: dataList,
|
|
272
315
|
businessConfig: {
|
|
@@ -276,11 +319,11 @@ const useAppTreeWrapper = (hy) => {
|
|
|
276
319
|
}
|
|
277
320
|
},
|
|
278
321
|
() => {
|
|
279
|
-
if (props.showOnlineOnly && !virtualTree._flattenTree?.length && !hy.filterValue.value) {
|
|
322
|
+
if (props.showOnlineOnly && !hy.virtualTree._flattenTree?.length && !hy.filterValue.value) {
|
|
280
323
|
elementPlus.ElMessage.success("\u6682\u65E0\u8BBE\u5907\u5904\u4E8E\u5728\u7EBF\u72B6\u6001");
|
|
281
324
|
}
|
|
282
325
|
if (hy.filterValue.value) {
|
|
283
|
-
getFilterValue();
|
|
326
|
+
hy.getFilterValue();
|
|
284
327
|
}
|
|
285
328
|
setTimeout(() => {
|
|
286
329
|
hy.loading.value = false;
|
|
@@ -318,7 +361,7 @@ const useAppTreeWrapper = (hy) => {
|
|
|
318
361
|
return content;
|
|
319
362
|
}
|
|
320
363
|
function getFilterValue() {
|
|
321
|
-
virtualTree.filter({ filterValue: hy.filterValue.value }, false);
|
|
364
|
+
hy.virtualTree.filter({ filterValue: hy.filterValue.value }, false);
|
|
322
365
|
}
|
|
323
366
|
function setDisAbleSelectionMap() {
|
|
324
367
|
const map = /* @__PURE__ */ new Map();
|
|
@@ -332,7 +375,7 @@ const useAppTreeWrapper = (hy) => {
|
|
|
332
375
|
emits("on-refreshData");
|
|
333
376
|
}
|
|
334
377
|
function setRenderStatus(data) {
|
|
335
|
-
const slot = setSlot("renderStatus");
|
|
378
|
+
const slot = hy.setSlot("renderStatus");
|
|
336
379
|
if (slot) {
|
|
337
380
|
return slot(data);
|
|
338
381
|
}
|
|
@@ -362,22 +405,24 @@ const useAppTreeWrapper = (hy) => {
|
|
|
362
405
|
}
|
|
363
406
|
function setUserSlot(data) {
|
|
364
407
|
if (data.dataType === 1) {
|
|
365
|
-
const slot2 = setSlot("treeParentSlot");
|
|
408
|
+
const slot2 = hy.setSlot("treeParentSlot");
|
|
366
409
|
if (slot2) {
|
|
367
410
|
return slot2(data);
|
|
368
411
|
}
|
|
369
412
|
return true;
|
|
370
413
|
}
|
|
371
|
-
const slot = setSlot("treeSelectedSlot");
|
|
414
|
+
const slot = hy.setSlot("treeSelectedSlot");
|
|
372
415
|
if (slot) {
|
|
373
416
|
return slot(data);
|
|
374
417
|
}
|
|
375
418
|
return true;
|
|
376
419
|
}
|
|
377
420
|
function setGroupRenderItem(data, node) {
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
421
|
+
if (data.dataType === 4) {
|
|
422
|
+
const slot = hy.setSlot("treeGroupSlot");
|
|
423
|
+
if (slot) {
|
|
424
|
+
return slot(data, node);
|
|
425
|
+
}
|
|
381
426
|
}
|
|
382
427
|
return true;
|
|
383
428
|
}
|
|
@@ -422,81 +467,91 @@ const useAppTreeWrapper = (hy) => {
|
|
|
422
467
|
emits("on-addDevice");
|
|
423
468
|
}
|
|
424
469
|
function setDeviceStatus(payload) {
|
|
425
|
-
virtualTree?.updateData([payload]);
|
|
470
|
+
hy.virtualTree?.updateData([payload]);
|
|
426
471
|
}
|
|
427
472
|
function singleRemovalFn(row, isForce = false) {
|
|
428
473
|
if (props.treeType === "device" || props.treeType === "channel") {
|
|
429
|
-
virtualTree.setChecked(row.channelId || row.deviceId, false, true);
|
|
474
|
+
hy.virtualTree.setChecked(row.channelId || row.deviceId, false, true);
|
|
430
475
|
} else if (props.treeType) {
|
|
431
|
-
virtualTree.setChecked(row.id, false, true, isForce);
|
|
476
|
+
hy.virtualTree.setChecked(row.id, false, true, isForce);
|
|
432
477
|
} else if (!props.treeType && props.treeProps) {
|
|
433
|
-
virtualTree.setChecked(
|
|
478
|
+
hy.virtualTree.setChecked(
|
|
434
479
|
row[`${props.treeProps.value}`],
|
|
435
480
|
false,
|
|
436
481
|
true,
|
|
437
482
|
isForce
|
|
438
483
|
);
|
|
439
484
|
}
|
|
485
|
+
hy.deleteNoTreeSelData(row);
|
|
440
486
|
}
|
|
441
487
|
function setCheckedKeys(dataList, isForce = false) {
|
|
442
488
|
if (props.treeType === "device" || props.treeType === "channel") {
|
|
443
|
-
virtualTree?.setCheckedKeys(
|
|
489
|
+
hy.virtualTree?.setCheckedKeys(
|
|
444
490
|
dataList.map((v) => v.channelId || v.deviceId),
|
|
445
491
|
true,
|
|
446
492
|
isForce
|
|
447
493
|
);
|
|
448
494
|
} else if (props.treeType) {
|
|
449
|
-
virtualTree?.setCheckedKeys(
|
|
495
|
+
hy.virtualTree?.setCheckedKeys(
|
|
450
496
|
dataList.map((v) => v.id),
|
|
451
497
|
true,
|
|
452
498
|
isForce
|
|
453
499
|
);
|
|
454
500
|
} else if (!props.treeType && props.treeProps) {
|
|
455
|
-
|
|
456
|
-
"\u9009\u4E2D\u56DE\u8C03",
|
|
457
|
-
dataList.map((v) => v[`${props.treeProps.value}`])
|
|
458
|
-
);
|
|
459
|
-
virtualTree?.setCheckedKeys(
|
|
501
|
+
hy.virtualTree?.setCheckedKeys(
|
|
460
502
|
dataList.map((v) => v[`${props.treeProps.value}`]),
|
|
461
503
|
false,
|
|
462
504
|
isForce
|
|
463
505
|
);
|
|
464
506
|
}
|
|
507
|
+
hy.updateNoTreeSelData(dataList);
|
|
465
508
|
if (props.isBackDefaultSelected) {
|
|
466
509
|
setTimeout(() => {
|
|
467
|
-
|
|
468
|
-
|
|
510
|
+
let deviceList = [];
|
|
511
|
+
if (props.treeType) {
|
|
512
|
+
deviceList = hy.virtualTree?.getCheckedBusinessNodes(true) || [];
|
|
513
|
+
} else {
|
|
514
|
+
deviceList = hy.virtualTree?.getCheckedNodes(true) || [];
|
|
515
|
+
}
|
|
516
|
+
emits("on-selectedDataList", hy.mergeNoTreeSelData(deviceList));
|
|
469
517
|
});
|
|
470
518
|
}
|
|
471
519
|
}
|
|
472
520
|
function setChecked(data, type = true) {
|
|
473
521
|
if (props.treeType === "device") {
|
|
474
|
-
virtualTree?.setChecked(data.channelId || data.deviceId, type, true);
|
|
522
|
+
hy.virtualTree?.setChecked(data.channelId || data.deviceId, type, true);
|
|
475
523
|
} else if (props.treeType) {
|
|
476
|
-
virtualTree?.setChecked(data.id, type, true);
|
|
524
|
+
hy.virtualTree?.setChecked(data.id, type, true);
|
|
477
525
|
} else if (!props.treeType && props.treeProps) {
|
|
478
|
-
virtualTree?.setChecked(data[`${props.treeProps.value}`], type, false);
|
|
526
|
+
hy.virtualTree?.setChecked(data[`${props.treeProps.value}`], type, false);
|
|
527
|
+
}
|
|
528
|
+
if (!type) {
|
|
529
|
+
hy.deleteNoTreeSelData(data);
|
|
479
530
|
}
|
|
480
531
|
}
|
|
481
532
|
function setSelectedOrg(deviceList) {
|
|
482
533
|
for (let i = 0; i < deviceList.length; i++) {
|
|
483
534
|
if (props.defaultSelectedOrgID === deviceList[i].id) {
|
|
484
535
|
if (deviceList[i].deviceList?.length) {
|
|
485
|
-
setCheckedKeys(deviceList[i].deviceList);
|
|
536
|
+
hy.setCheckedKeys(deviceList[i].deviceList);
|
|
486
537
|
}
|
|
487
538
|
return true;
|
|
488
539
|
}
|
|
489
540
|
if (deviceList[i].children?.length) {
|
|
490
|
-
const org = setSelectedOrg(deviceList[i].children);
|
|
541
|
+
const org = hy.setSelectedOrg(deviceList[i].children);
|
|
491
542
|
if (org) return true;
|
|
492
543
|
}
|
|
493
544
|
}
|
|
494
545
|
}
|
|
495
546
|
function getSelectedDataList(leafOnly = false) {
|
|
496
547
|
if (props.treeType) {
|
|
497
|
-
return
|
|
548
|
+
return hy.mergeNoTreeSelData(
|
|
549
|
+
hy.virtualTree?.getCheckedBusinessNodes(leafOnly) || []
|
|
550
|
+
);
|
|
498
551
|
}
|
|
499
|
-
return
|
|
552
|
+
return hy.mergeNoTreeSelData(
|
|
553
|
+
hy.virtualTree?.getCheckedNodes(leafOnly) || []
|
|
554
|
+
);
|
|
500
555
|
}
|
|
501
556
|
function setFilterListType(type) {
|
|
502
557
|
if (props.selectFilterList?.length) {
|
|
@@ -558,7 +613,7 @@ const useAppTreeWrapper = (hy) => {
|
|
|
558
613
|
}
|
|
559
614
|
}
|
|
560
615
|
function getNode(id) {
|
|
561
|
-
return virtualTree.getNode(id);
|
|
616
|
+
return hy.virtualTree.getNode(id);
|
|
562
617
|
}
|
|
563
618
|
return {
|
|
564
619
|
filterValue,
|
|
@@ -566,6 +621,7 @@ const useAppTreeWrapper = (hy) => {
|
|
|
566
621
|
permissionIdList,
|
|
567
622
|
disableSelectionMap,
|
|
568
623
|
addDeviceDom,
|
|
624
|
+
setDisAbleSelectionMap,
|
|
569
625
|
getData,
|
|
570
626
|
getFilterValue,
|
|
571
627
|
refreshData,
|
|
@@ -573,6 +629,11 @@ const useAppTreeWrapper = (hy) => {
|
|
|
573
629
|
setCheckedKeys,
|
|
574
630
|
setChecked,
|
|
575
631
|
setFilterListType,
|
|
632
|
+
setSelectedOrg,
|
|
633
|
+
setUserSlot,
|
|
634
|
+
setSlot,
|
|
635
|
+
setRenderStatus,
|
|
636
|
+
setEmpty,
|
|
576
637
|
getInputPlaceholder,
|
|
577
638
|
onChange,
|
|
578
639
|
selectFilterList,
|
|
@@ -580,7 +641,14 @@ const useAppTreeWrapper = (hy) => {
|
|
|
580
641
|
selectedDataList,
|
|
581
642
|
getSelectedDataList,
|
|
582
643
|
loading,
|
|
583
|
-
getNode
|
|
644
|
+
getNode,
|
|
645
|
+
noTreeSelData,
|
|
646
|
+
updateNoTreeSelData,
|
|
647
|
+
mergeNoTreeSelData,
|
|
648
|
+
getSelectedDataKey,
|
|
649
|
+
deleteNoTreeSelData,
|
|
650
|
+
setDeviceStatus,
|
|
651
|
+
setGroupRenderItem
|
|
584
652
|
};
|
|
585
653
|
};
|
|
586
654
|
function filterNodeMethod(data, value, { selectFilterType, treeFilterParam = [], treeType }) {
|
|
@@ -206,7 +206,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
206
206
|
onChange,
|
|
207
207
|
getSelectedDataList,
|
|
208
208
|
loading,
|
|
209
|
-
getNode
|
|
209
|
+
getNode,
|
|
210
|
+
setDeviceStatus
|
|
210
211
|
} = useMixins.useMixins(
|
|
211
212
|
{
|
|
212
213
|
props,
|
|
@@ -229,7 +230,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
229
230
|
setChecked,
|
|
230
231
|
getSelectedDataList,
|
|
231
232
|
refreshData,
|
|
232
|
-
getNode
|
|
233
|
+
getNode,
|
|
234
|
+
setDeviceStatus
|
|
233
235
|
});
|
|
234
236
|
return (_ctx, _cache) => {
|
|
235
237
|
const _directive_loading = vue.resolveDirective("loading");
|
package/lib/style/index.scss
CHANGED
package/lib/style/tailwind.scss
CHANGED
package/lib/utils/is.js
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var vue = require('vue');
|
|
4
4
|
require('../hooks/index.js');
|
|
5
|
+
require('./index.js');
|
|
5
6
|
var usePermissionMap = require('../hooks/usePermissionMap.js');
|
|
7
|
+
var permission = require('./permission.js');
|
|
6
8
|
|
|
7
9
|
const isString = (e) => typeof e === "string";
|
|
8
10
|
const isNumber = (e) => typeof e === "number";
|
|
@@ -42,12 +44,12 @@ function isSupportH265() {
|
|
|
42
44
|
}
|
|
43
45
|
return { isSupport, isVersionLow };
|
|
44
46
|
}
|
|
45
|
-
function isPermission(permission) {
|
|
47
|
+
function isPermission(permission$1) {
|
|
46
48
|
const { permissionMap } = usePermissionMap.usePermissionMap();
|
|
47
|
-
if (!permission) {
|
|
49
|
+
if (!permission$1) {
|
|
48
50
|
return true;
|
|
49
51
|
}
|
|
50
|
-
return permissionMap.value.has(permission);
|
|
52
|
+
return permissionMap.value.has(permission.PERMISSION[`${permission$1}`]);
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
exports.isArray = isArray;
|
|
@@ -347,6 +347,8 @@ class bigMap extends events.EventEmitter {
|
|
|
347
347
|
off: function(target, types, fn, context) {
|
|
348
348
|
const wrappedFn = wrappedHandlers.take(types, fn);
|
|
349
349
|
return target.off(types, wrappedFn || fn, context);
|
|
350
|
+
},
|
|
351
|
+
satelliteMapFn: function() {
|
|
350
352
|
}
|
|
351
353
|
};
|
|
352
354
|
return mapProxy.createMapProxy(newMap, handlers);
|
|
@@ -98,6 +98,7 @@ class Google extends events.EventEmitter {
|
|
|
98
98
|
return mapProxy.createMapProxy(polygon, handlers);
|
|
99
99
|
});
|
|
100
100
|
this.initParams = request;
|
|
101
|
+
this.layerSateGroup = null;
|
|
101
102
|
}
|
|
102
103
|
InitMap(domId, option) {
|
|
103
104
|
const { center } = option;
|
|
@@ -114,24 +115,33 @@ class Google extends events.EventEmitter {
|
|
|
114
115
|
resizeEnable: true
|
|
115
116
|
});
|
|
116
117
|
newMap.on("complete", (e) => {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
newMap.plugin(
|
|
119
|
+
[
|
|
120
|
+
"AMap.MarkerClusterer",
|
|
121
|
+
"AMap.Scale",
|
|
122
|
+
"AMap.LayerGroup",
|
|
123
|
+
"AMap.Circle",
|
|
124
|
+
"AMap.TileLayer",
|
|
125
|
+
"AMap.GeometryUtil",
|
|
126
|
+
"AMap.MouseTool"
|
|
127
|
+
],
|
|
128
|
+
() => {
|
|
129
|
+
this.layerSateGroup = new window.AMap.LayerGroup([
|
|
130
|
+
new window.AMap.TileLayer.Satellite()
|
|
131
|
+
]);
|
|
132
|
+
this.layerSateGroup.setMap(newMap);
|
|
133
|
+
this.layerSateGroup.hide();
|
|
134
|
+
setTimeout(() => {
|
|
135
|
+
this.satelliteMapFn(newMap, option.satelliteMap);
|
|
136
|
+
if (option.completeCallbacks) {
|
|
137
|
+
option.completeCallbacks(e);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
);
|
|
120
142
|
});
|
|
121
|
-
newMap.plugin(
|
|
122
|
-
[
|
|
123
|
-
"AMap.MarkerClusterer",
|
|
124
|
-
"AMap.Scale",
|
|
125
|
-
"AMap.LayerGroup",
|
|
126
|
-
"AMap.Circle",
|
|
127
|
-
"AMap.TileLayer",
|
|
128
|
-
"AMap.GeometryUtil",
|
|
129
|
-
"AMap.MouseTool"
|
|
130
|
-
],
|
|
131
|
-
() => {
|
|
132
|
-
}
|
|
133
|
-
);
|
|
134
143
|
const wrappedHandlers = mapProxy.createWrappedHandlerStore();
|
|
144
|
+
const _this = this;
|
|
135
145
|
const handlers = {
|
|
136
146
|
// return 单位:m
|
|
137
147
|
distance: function(target, latAndlng1, latAndlng2) {
|
|
@@ -182,10 +192,35 @@ class Google extends events.EventEmitter {
|
|
|
182
192
|
// // 四个角
|
|
183
193
|
getBounds: function(target) {
|
|
184
194
|
return wrapBounds(target);
|
|
195
|
+
},
|
|
196
|
+
/* 判断地图颜色 */
|
|
197
|
+
satelliteMapFn: function(target, satelliteMap) {
|
|
198
|
+
if (satelliteMap === 3) {
|
|
199
|
+
_this.layerSateGroup.show();
|
|
200
|
+
} else {
|
|
201
|
+
if (satelliteMap === 1) {
|
|
202
|
+
target.setMapStyle(_this.initParams.defaultMapStyle);
|
|
203
|
+
} else {
|
|
204
|
+
target.setMapStyle(_this.initParams.currencyMapStyle);
|
|
205
|
+
}
|
|
206
|
+
_this.layerSateGroup.hide();
|
|
207
|
+
}
|
|
185
208
|
}
|
|
186
209
|
};
|
|
187
210
|
return mapProxy.createMapProxy(newMap, handlers);
|
|
188
211
|
}
|
|
212
|
+
satelliteMapFn(map, satelliteMap) {
|
|
213
|
+
if (satelliteMap === 3) {
|
|
214
|
+
this.layerSateGroup.show();
|
|
215
|
+
} else {
|
|
216
|
+
if (satelliteMap === 1) {
|
|
217
|
+
map.setMapStyle(this.initParams.defaultMapStyle);
|
|
218
|
+
} else {
|
|
219
|
+
map.setMapStyle(this.initParams.currencyMapStyle);
|
|
220
|
+
}
|
|
221
|
+
this.layerSateGroup.hide();
|
|
222
|
+
}
|
|
223
|
+
}
|
|
189
224
|
// 地图图层
|
|
190
225
|
layerGroup(map, markers = []) {
|
|
191
226
|
const layerGroup = new window.AMap.LayerGroup(markers);
|
|
@@ -330,6 +330,7 @@ class Leafletjs extends events.EventEmitter {
|
|
|
330
330
|
return mapProxy.createMapProxy(polygon, handlers);
|
|
331
331
|
});
|
|
332
332
|
this.initParams = request;
|
|
333
|
+
this.tileLayerList = [];
|
|
333
334
|
}
|
|
334
335
|
// 初始化地图
|
|
335
336
|
InitMap(domId, option) {
|
|
@@ -349,6 +350,7 @@ class Leafletjs extends events.EventEmitter {
|
|
|
349
350
|
const newMap = L.map(domId, option);
|
|
350
351
|
newMap.getInitMap = () => newMap;
|
|
351
352
|
const wrappedHandlers = mapProxy.createWrappedHandlerStore();
|
|
353
|
+
const _this = this;
|
|
352
354
|
const handlers = {
|
|
353
355
|
// 删除地图
|
|
354
356
|
removeMap: function(target, params) {
|
|
@@ -424,6 +426,10 @@ class Leafletjs extends events.EventEmitter {
|
|
|
424
426
|
off: function(target, types, fn, context) {
|
|
425
427
|
const wrappedFn = wrappedHandlers.take(types, fn);
|
|
426
428
|
return target.off(types, wrappedFn || fn, context);
|
|
429
|
+
},
|
|
430
|
+
/* 判断地图颜色 */
|
|
431
|
+
satelliteMapFn: function(target, satelliteMap) {
|
|
432
|
+
_this.setLayersUrl(target, satelliteMap !== 2);
|
|
427
433
|
}
|
|
428
434
|
};
|
|
429
435
|
const map = mapProxy.createMapProxy(newMap, handlers);
|
|
@@ -433,7 +439,7 @@ class Leafletjs extends events.EventEmitter {
|
|
|
433
439
|
option.completeCallbacks();
|
|
434
440
|
}
|
|
435
441
|
});
|
|
436
|
-
this.setLayersUrl(map);
|
|
442
|
+
this.setLayersUrl(map, option.satelliteMap !== 2);
|
|
437
443
|
return map;
|
|
438
444
|
}
|
|
439
445
|
// 设置地图瓦片地址
|
|
@@ -448,12 +454,18 @@ class Leafletjs extends events.EventEmitter {
|
|
|
448
454
|
if (mapServerType === "WMTS" || mapServerType === "Dynamic") {
|
|
449
455
|
return this.createLayers(map, layersUrls);
|
|
450
456
|
}
|
|
457
|
+
this.tileLayerList.forEach((tileLayer) => {
|
|
458
|
+
tileLayer?.remove();
|
|
459
|
+
});
|
|
460
|
+
this.tileLayerList = [];
|
|
451
461
|
layersUrls.split(",").forEach((layersUrl) => {
|
|
462
|
+
let tileLayer = null;
|
|
452
463
|
if (changeColorType) {
|
|
453
|
-
this.createCustomLayers(map, layersUrl);
|
|
464
|
+
tileLayer = this.createCustomLayers(map, layersUrl);
|
|
454
465
|
} else {
|
|
455
|
-
this.createLayers(map, layersUrl);
|
|
466
|
+
tileLayer = this.createLayers(map, layersUrl);
|
|
456
467
|
}
|
|
468
|
+
this.tileLayerList.push(tileLayer);
|
|
457
469
|
});
|
|
458
470
|
}
|
|
459
471
|
// 超图 WMTS 图层(不适用所有的WMTS图层,目前仅支持超图WMTS,因不同的WMTS服务规范不一样,主要体现在路由访问参数)
|
package/lib/utils/map/index.js
CHANGED
package/lib/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hy-dispatch-ui-v3",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.67",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"module": "es/index.mjs",
|
|
6
6
|
"scripts": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"events": "^3.3.0",
|
|
31
31
|
"express": "^5.2.1",
|
|
32
32
|
"hy-common": "^0.0.39",
|
|
33
|
-
"hy-virtual-tree": "^2.4.
|
|
33
|
+
"hy-virtual-tree": "^2.4.10",
|
|
34
34
|
"leaflet": "^1.5.1",
|
|
35
35
|
"leaflet-pip": "^1.1.0",
|
|
36
36
|
"leaflet-polylinedecorator": "^1.6.0",
|