Commit 74e1a9c1abc61a737d56c04ee184d790c69180e5

Authored by fengwotao
1 parent 4a9a3c01

pref: 优化公共接口管理部分代码(主要是判断加上枚举值)和移除部分无用代码

1 -import type { BasicColumn } from '/@/components/Table';  
2 -import type { FormSchema } from '/@/components/Table';  
3 -import { getOrganizationList } from '/@/api/system/system';  
4 -import { copyTransFun } from '/@/utils/fnUtils';  
5 -import { getDeviceDataKeys, getDeviceProfile } from '/@/api/alarm/position';  
6 -import { EChartsOption } from 'echarts';  
7 -  
8 -export enum AggregateDataEnum {  
9 - MIN = 'MIN',  
10 - MAX = 'MAX',  
11 - AVG = 'AVG',  
12 - SUM = 'SUM',  
13 - COUNT = 'COUNT',  
14 - NONE = 'NONE',  
15 -}  
16 -export const formSchema: FormSchema[] = [  
17 - {  
18 - field: 'organizationId',  
19 - label: '',  
20 - component: 'ApiTreeSelect',  
21 - componentProps: {  
22 - placeholder: '请选择组织',  
23 - api: async () => {  
24 - const data = await getOrganizationList();  
25 - copyTransFun(data as any as any[]);  
26 - return data;  
27 - },  
28 - },  
29 - },  
30 - {  
31 - field: 'deviceProfileId',  
32 - label: '',  
33 - component: 'ApiSelect',  
34 - componentProps: {  
35 - api: getDeviceProfile,  
36 - placeholder: '请选择产品',  
37 - labelField: 'name',  
38 - valueField: 'tbProfileId',  
39 - },  
40 - },  
41 - {  
42 - field: 'name',  
43 - label: '',  
44 - component: 'Input',  
45 - componentProps: {  
46 - maxLength: 255,  
47 - placeholder: '请输入设备名称',  
48 - },  
49 - },  
50 - {  
51 - field: 'deviceState',  
52 - label: '',  
53 - component: 'RadioGroup',  
54 - componentProps: {  
55 - size: 'small',  
56 - options: [  
57 - { label: '全部', value: null },  
58 - { label: '待激活', value: 'INACTIVE' },  
59 - { label: '在线', value: 'ONLINE' },  
60 - { label: '离线', value: 'OFFLINE' },  
61 - ],  
62 - },  
63 - },  
64 - {  
65 - field: 'alarmStatus',  
66 - label: '是否告警',  
67 - component: 'RadioGroup',  
68 - labelWidth: '85px',  
69 - componentProps: {  
70 - size: 'small',  
71 - options: [  
72 - { label: '是', value: 1 },  
73 - { label: '否', value: 0 },  
74 - ],  
75 - },  
76 - },  
77 -];  
78 -  
79 -export const columns: BasicColumn[] = [  
80 - {  
81 - title: '名称',  
82 - dataIndex: 'name',  
83 - width: 120,  
84 - format: (_text: string, record: Recordable) => {  
85 - return record?.alias || record?.name;  
86 - },  
87 - },  
88 - {  
89 - title: '设备状态',  
90 - dataIndex: 'deviceState',  
91 - width: 80,  
92 - slots: { customRender: 'deviceState' },  
93 - },  
94 - {  
95 - title: '位置',  
96 - dataIndex: 'deviceInfo.address',  
97 - width: 120,  
98 - },  
99 - {  
100 - title: '告警状态',  
101 - dataIndex: 'alarmStatus',  
102 - width: 80,  
103 - slots: { customRender: 'alarmStatus' },  
104 - },  
105 -];  
106 -  
107 -// 动态生成options  
108 -function generateOptions(value: number) {  
109 - if (value === 3600000) {  
110 - return [  
111 - {  
112 - label: '10秒',  
113 - value: 10000,  
114 - },  
115 - {  
116 - label: '15秒',  
117 - value: 15000,  
118 - },  
119 - {  
120 - label: '30秒',  
121 - value: 30000,  
122 - },  
123 - {  
124 - label: '1分钟',  
125 - value: 60000,  
126 - },  
127 - {  
128 - label: '2分钟',  
129 - value: 120000,  
130 - },  
131 - {  
132 - label: '5分钟',  
133 - value: 300000,  
134 - },  
135 - ];  
136 - } else if (value === 7200000) {  
137 - return [  
138 - {  
139 - label: '15秒',  
140 - value: 15000,  
141 - },  
142 - {  
143 - label: '30秒',  
144 - value: 30000,  
145 - },  
146 - {  
147 - label: '1分钟',  
148 - value: 60000,  
149 - },  
150 - {  
151 - label: '2分钟',  
152 - value: 120000,  
153 - },  
154 - {  
155 - label: '5分钟',  
156 - value: 300000,  
157 - },  
158 - {  
159 - label: '10分钟',  
160 - value: 600000,  
161 - },  
162 - {  
163 - label: '15分钟',  
164 - value: 900000,  
165 - },  
166 - ];  
167 - } else if (value === 18000000) {  
168 - return [  
169 - {  
170 - label: '1分钟',  
171 - value: 60000,  
172 - },  
173 - {  
174 - label: '2分钟',  
175 - value: 120000,  
176 - },  
177 - {  
178 - label: '5分钟',  
179 - value: 300000,  
180 - },  
181 - {  
182 - label: '10分钟',  
183 - value: 600000,  
184 - },  
185 - {  
186 - label: '15分钟',  
187 - value: 900000,  
188 - },  
189 - {  
190 - label: '30分钟',  
191 - value: 1800000,  
192 - },  
193 - ];  
194 - } else if (value === 36000000) {  
195 - return [  
196 - {  
197 - label: '2分钟',  
198 - value: 120000,  
199 - },  
200 - {  
201 - label: '5分钟',  
202 - value: 300000,  
203 - },  
204 - {  
205 - label: '10分钟',  
206 - value: 600000,  
207 - },  
208 - {  
209 - label: '15分钟',  
210 - value: 900000,  
211 - },  
212 - {  
213 - label: '30分钟',  
214 - value: 1800000,  
215 - },  
216 - {  
217 - label: '1小时',  
218 - value: 3600000,  
219 - },  
220 - ];  
221 - } else if (value === 43200000) {  
222 - return [  
223 - {  
224 - label: '2分钟',  
225 - value: 120000,  
226 - },  
227 - {  
228 - label: '5分钟',  
229 - value: 300000,  
230 - },  
231 - {  
232 - label: '10分钟',  
233 - value: 600000,  
234 - },  
235 - {  
236 - label: '15分钟',  
237 - value: 900000,  
238 - },  
239 - {  
240 - label: '30分钟',  
241 - value: 1800000,  
242 - },  
243 - {  
244 - label: '1小时',  
245 - value: 3600000,  
246 - },  
247 - ];  
248 - } else if (value === 86400000) {  
249 - return [  
250 - {  
251 - label: '5分钟',  
252 - value: 300000,  
253 - },  
254 - {  
255 - label: '10分钟',  
256 - value: 600000,  
257 - },  
258 - {  
259 - label: '15分钟',  
260 - value: 900000,  
261 - },  
262 - {  
263 - label: '30分钟',  
264 - value: 1800000,  
265 - },  
266 - {  
267 - label: '1小时',  
268 - value: 3600000,  
269 - },  
270 - {  
271 - label: '2小时',  
272 - value: 7200000,  
273 - },  
274 - ];  
275 - } else if (value === 604800000) {  
276 - return [  
277 - {  
278 - label: '30分钟',  
279 - value: 1800000,  
280 - },  
281 - {  
282 - label: '1小时',  
283 - value: 3600000,  
284 - },  
285 - {  
286 - label: '2小时',  
287 - value: 7200000,  
288 - },  
289 - {  
290 - label: '5小时',  
291 - value: 18000000,  
292 - },  
293 - {  
294 - label: '10小时',  
295 - value: 36000000,  
296 - },  
297 - {  
298 - label: '12小时',  
299 - value: 43200000,  
300 - },  
301 - {  
302 - label: '1天',  
303 - value: 86400000,  
304 - },  
305 - ];  
306 - } else {  
307 - return [  
308 - {  
309 - label: '2小时',  
310 - value: 7200000,  
311 - },  
312 - {  
313 - label: '5小时',  
314 - value: 18000000,  
315 - },  
316 - {  
317 - label: '10小时',  
318 - value: 36000000,  
319 - },  
320 - {  
321 - label: '12小时',  
322 - value: 43200000,  
323 - },  
324 - {  
325 - label: '1天',  
326 - value: 86400000,  
327 - },  
328 - ];  
329 - }  
330 -}  
331 -export const schemas: FormSchema[] = [  
332 - {  
333 - field: 'endTs',  
334 - label: '最后数据',  
335 - component: 'Select',  
336 - required: true,  
337 - componentProps({ formModel, formActionType }) {  
338 - return {  
339 - onChange(value) {  
340 - const { updateSchema } = formActionType;  
341 - console.log(value);  
342 - formModel.interval = '';  
343 - updateSchema({  
344 - field: 'interval',  
345 - componentProps: {  
346 - placeholder: '请选择分组间隔',  
347 - options: generateOptions(value),  
348 - },  
349 - });  
350 - },  
351 - getPopupContainer: () => document.body,  
352 - options: [  
353 - {  
354 - label: '最近1小时',  
355 - value: 3600000,  
356 - },  
357 - {  
358 - label: '最近2小时',  
359 - value: 7200000,  
360 - },  
361 - {  
362 - label: '最近5小时',  
363 - value: 18000000,  
364 - },  
365 - {  
366 - label: '最近10小时',  
367 - value: 36000000,  
368 - },  
369 - {  
370 - label: '最近12小时',  
371 - value: 43200000,  
372 - },  
373 - {  
374 - label: '最近1天',  
375 - value: 86400000,  
376 - },  
377 - {  
378 - label: '最近7天',  
379 - value: 604800000,  
380 - },  
381 - {  
382 - label: '最近30天',  
383 - value: 2592000000,  
384 - },  
385 - ],  
386 - };  
387 - },  
388 - },  
389 - {  
390 - field: 'interval',  
391 - label: '分组间隔',  
392 - component: 'Select',  
393 - componentProps: {  
394 - placeholder: '请选择分组间隔',  
395 - getPopupContainer: () => document.body,  
396 - options: [  
397 - {  
398 - label: '5分钟',  
399 - value: 300000,  
400 - },  
401 - {  
402 - label: '10分钟',  
403 - value: 600000,  
404 - },  
405 - {  
406 - label: '15分钟',  
407 - value: 900000,  
408 - },  
409 - {  
410 - label: '30分钟',  
411 - value: 1800000,  
412 - },  
413 - {  
414 - label: '1小时',  
415 - value: 3600000,  
416 - },  
417 - {  
418 - label: '2小时',  
419 - value: 7200000,  
420 - },  
421 - ],  
422 - },  
423 - },  
424 - {  
425 - field: 'agg',  
426 - label: '数据聚合功能',  
427 - component: 'Select',  
428 - defaultValue: AggregateDataEnum.NONE,  
429 - componentProps: {  
430 - getPopupContainer: () => document.body,  
431 - options: [  
432 - {  
433 - label: '最小值',  
434 - value: AggregateDataEnum.MIN,  
435 - },  
436 - {  
437 - label: '最大值',  
438 - value: AggregateDataEnum.MAX,  
439 - },  
440 - {  
441 - label: '平均值',  
442 - value: AggregateDataEnum.AVG,  
443 - },  
444 - {  
445 - label: '求和',  
446 - value: AggregateDataEnum.SUM,  
447 - },  
448 - {  
449 - label: '计数',  
450 - value: AggregateDataEnum.COUNT,  
451 - },  
452 - {  
453 - label: '空',  
454 - value: AggregateDataEnum.NONE,  
455 - },  
456 - ],  
457 - },  
458 - },  
459 - {  
460 - field: 'attr',  
461 - label: '设备属性',  
462 - component: 'Select',  
463 - componentProps: {  
464 - api: async (id: string) => {  
465 - try {  
466 - const res = await getDeviceDataKeys(id);  
467 - return res.map((item) => ({ label: item, value: item }));  
468 - } catch (error) {}  
469 - },  
470 - },  
471 - },  
472 -];  
473 -  
474 -export const selectDeviceAttrSchema: FormSchema[] = [  
475 - {  
476 - field: 'keys',  
477 - label: '设备属性',  
478 - component: 'Select',  
479 - componentProps: {  
480 - getPopupContainer: () => document.body,  
481 - },  
482 - },  
483 -];  
484 -  
485 -export const eChartOptions = (series: EChartsOption['series'], keys: string[]): EChartsOption => {  
486 - return {  
487 - tooltip: {  
488 - trigger: 'axis',  
489 - },  
490 - legend: {  
491 - data: keys,  
492 - },  
493 - grid: {  
494 - left: '3%',  
495 - right: '4%',  
496 - bottom: '3%',  
497 - containLabel: true,  
498 - },  
499 - dataZoom: [  
500 - {  
501 - type: 'inside',  
502 - start: 0,  
503 - end: 50,  
504 - },  
505 - {  
506 - start: 20,  
507 - end: 40,  
508 - },  
509 - ],  
510 - xAxis: {  
511 - type: 'time',  
512 - boundaryGap: false,  
513 - },  
514 - yAxis: {  
515 - type: 'value',  
516 - boundaryGap: [0, '100%'],  
517 - },  
518 - series,  
519 - };  
520 -};  
521 -  
522 -//百度地图设置个性化地图配置  
523 -export const setMapStyleV2 = {  
524 - styleJson: [  
525 - {  
526 - featureType: 'land',  
527 - elementType: 'geometry',  
528 - stylers: {  
529 - visibility: 'on',  
530 - color: '#091220ff',  
531 - },  
532 - },  
533 - {  
534 - featureType: 'water',  
535 - elementType: 'geometry',  
536 - stylers: {  
537 - visibility: 'on',  
538 - color: '#113549ff',  
539 - },  
540 - },  
541 - {  
542 - featureType: 'green',  
543 - elementType: 'geometry',  
544 - stylers: {  
545 - visibility: 'on',  
546 - color: '#0e1b30ff',  
547 - },  
548 - },  
549 - {  
550 - featureType: 'building',  
551 - elementType: 'geometry',  
552 - stylers: {  
553 - visibility: 'on',  
554 - },  
555 - },  
556 - {  
557 - featureType: 'building',  
558 - elementType: 'geometry.topfill',  
559 - stylers: {  
560 - color: '#113549ff',  
561 - },  
562 - },  
563 - {  
564 - featureType: 'building',  
565 - elementType: 'geometry.sidefill',  
566 - stylers: {  
567 - color: '#143e56ff',  
568 - },  
569 - },  
570 - {  
571 - featureType: 'building',  
572 - elementType: 'geometry.stroke',  
573 - stylers: {  
574 - color: '#dadada00',  
575 - },  
576 - },  
577 - {  
578 - featureType: 'subwaystation',  
579 - elementType: 'geometry',  
580 - stylers: {  
581 - visibility: 'on',  
582 - color: '#113549B2',  
583 - },  
584 - },  
585 - {  
586 - featureType: 'education',  
587 - elementType: 'geometry',  
588 - stylers: {  
589 - visibility: 'on',  
590 - color: '#12223dff',  
591 - },  
592 - },  
593 - {  
594 - featureType: 'medical',  
595 - elementType: 'geometry',  
596 - stylers: {  
597 - visibility: 'on',  
598 - color: '#12223dff',  
599 - },  
600 - },  
601 - {  
602 - featureType: 'scenicspots',  
603 - elementType: 'geometry',  
604 - stylers: {  
605 - visibility: 'on',  
606 - color: '#12223dff',  
607 - },  
608 - },  
609 - {  
610 - featureType: 'highway',  
611 - elementType: 'geometry',  
612 - stylers: {  
613 - visibility: 'on',  
614 - weight: 4,  
615 - },  
616 - },  
617 - {  
618 - featureType: 'highway',  
619 - elementType: 'geometry.fill',  
620 - stylers: {  
621 - color: '#12223dff',  
622 - },  
623 - },  
624 - {  
625 - featureType: 'highway',  
626 - elementType: 'geometry.stroke',  
627 - stylers: {  
628 - color: '#fed66900',  
629 - },  
630 - },  
631 - {  
632 - featureType: 'highway',  
633 - elementType: 'labels',  
634 - stylers: {  
635 - visibility: 'on',  
636 - },  
637 - },  
638 - {  
639 - featureType: 'highway',  
640 - elementType: 'labels.text.fill',  
641 - stylers: {  
642 - color: '#12223dff',  
643 - },  
644 - },  
645 - {  
646 - featureType: 'highway',  
647 - elementType: 'labels.text.stroke',  
648 - stylers: {  
649 - color: '#ffffff00',  
650 - },  
651 - },  
652 - {  
653 - featureType: 'highway',  
654 - elementType: 'labels.icon',  
655 - stylers: {  
656 - visibility: 'on',  
657 - },  
658 - },  
659 - {  
660 - featureType: 'arterial',  
661 - elementType: 'geometry',  
662 - stylers: {  
663 - visibility: 'on',  
664 - weight: 2,  
665 - },  
666 - },  
667 - {  
668 - featureType: 'arterial',  
669 - elementType: 'geometry.fill',  
670 - stylers: {  
671 - color: '#12223dff',  
672 - },  
673 - },  
674 - {  
675 - featureType: 'arterial',  
676 - elementType: 'geometry.stroke',  
677 - stylers: {  
678 - color: '#ffeebb00',  
679 - },  
680 - },  
681 - {  
682 - featureType: 'arterial',  
683 - elementType: 'labels',  
684 - stylers: {  
685 - visibility: 'on',  
686 - },  
687 - },  
688 - {  
689 - featureType: 'arterial',  
690 - elementType: 'labels.text.fill',  
691 - stylers: {  
692 - color: '#2dc4bbff',  
693 - },  
694 - },  
695 - {  
696 - featureType: 'arterial',  
697 - elementType: 'labels.text.stroke',  
698 - stylers: {  
699 - color: '#ffffff00',  
700 - },  
701 - },  
702 - {  
703 - featureType: 'local',  
704 - elementType: 'geometry',  
705 - stylers: {  
706 - visibility: 'on',  
707 - weight: 1,  
708 - },  
709 - },  
710 - {  
711 - featureType: 'local',  
712 - elementType: 'geometry.fill',  
713 - stylers: {  
714 - color: '#12223dff',  
715 - },  
716 - },  
717 - {  
718 - featureType: 'local',  
719 - elementType: 'geometry.stroke',  
720 - stylers: {  
721 - color: '#ffffff00',  
722 - },  
723 - },  
724 - {  
725 - featureType: 'local',  
726 - elementType: 'labels',  
727 - stylers: {  
728 - visibility: 'on',  
729 - },  
730 - },  
731 - {  
732 - featureType: 'local',  
733 - elementType: 'labels.text.fill',  
734 - stylers: {  
735 - color: '#979c9aff',  
736 - },  
737 - },  
738 - {  
739 - featureType: 'local',  
740 - elementType: 'labels.text.stroke',  
741 - stylers: {  
742 - color: '#ffffffff',  
743 - },  
744 - },  
745 - {  
746 - featureType: 'railway',  
747 - elementType: 'geometry',  
748 - stylers: {  
749 - visibility: 'off',  
750 - },  
751 - },  
752 - {  
753 - featureType: 'subway',  
754 - elementType: 'geometry',  
755 - stylers: {  
756 - visibility: 'off',  
757 - weight: 1,  
758 - },  
759 - },  
760 - {  
761 - featureType: 'subway',  
762 - elementType: 'geometry.fill',  
763 - stylers: {  
764 - color: '#d8d8d8ff',  
765 - },  
766 - },  
767 - {  
768 - featureType: 'subway',  
769 - elementType: 'geometry.stroke',  
770 - stylers: {  
771 - color: '#ffffff00',  
772 - },  
773 - },  
774 - {  
775 - featureType: 'subway',  
776 - elementType: 'labels',  
777 - stylers: {  
778 - visibility: 'on',  
779 - },  
780 - },  
781 - {  
782 - featureType: 'subway',  
783 - elementType: 'labels.text.fill',  
784 - stylers: {  
785 - color: '#979c9aff',  
786 - },  
787 - },  
788 - {  
789 - featureType: 'subway',  
790 - elementType: 'labels.text.stroke',  
791 - stylers: {  
792 - color: '#ffffffff',  
793 - },  
794 - },  
795 - {  
796 - featureType: 'continent',  
797 - elementType: 'labels',  
798 - stylers: {  
799 - visibility: 'on',  
800 - },  
801 - },  
802 - {  
803 - featureType: 'continent',  
804 - elementType: 'labels.icon',  
805 - stylers: {  
806 - visibility: 'on',  
807 - },  
808 - },  
809 - {  
810 - featureType: 'continent',  
811 - elementType: 'labels.text.fill',  
812 - stylers: {  
813 - color: '#2dc4bbff',  
814 - },  
815 - },  
816 - {  
817 - featureType: 'continent',  
818 - elementType: 'labels.text.stroke',  
819 - stylers: {  
820 - color: '#ffffff00',  
821 - },  
822 - },  
823 - {  
824 - featureType: 'city',  
825 - elementType: 'labels.icon',  
826 - stylers: {  
827 - visibility: 'off',  
828 - },  
829 - },  
830 - {  
831 - featureType: 'city',  
832 - elementType: 'labels',  
833 - stylers: {  
834 - visibility: 'on',  
835 - },  
836 - },  
837 - {  
838 - featureType: 'city',  
839 - elementType: 'labels.text.fill',  
840 - stylers: {  
841 - color: '#2dc4bbff',  
842 - },  
843 - },  
844 - {  
845 - featureType: 'city',  
846 - elementType: 'labels.text.stroke',  
847 - stylers: {  
848 - color: '#ffffff00',  
849 - },  
850 - },  
851 - {  
852 - featureType: 'town',  
853 - elementType: 'labels.icon',  
854 - stylers: {  
855 - visibility: 'on',  
856 - },  
857 - },  
858 - {  
859 - featureType: 'town',  
860 - elementType: 'labels',  
861 - stylers: {  
862 - visibility: 'off',  
863 - },  
864 - },  
865 - {  
866 - featureType: 'town',  
867 - elementType: 'labels.text.fill',  
868 - stylers: {  
869 - color: '#454d50ff',  
870 - },  
871 - },  
872 - {  
873 - featureType: 'town',  
874 - elementType: 'labels.text.stroke',  
875 - stylers: {  
876 - color: '#ffffffff',  
877 - },  
878 - },  
879 - {  
880 - featureType: 'road',  
881 - elementType: 'geometry.fill',  
882 - stylers: {  
883 - color: '#12223dff',  
884 - },  
885 - },  
886 - {  
887 - featureType: 'poilabel',  
888 - elementType: 'labels',  
889 - stylers: {  
890 - visibility: 'on',  
891 - },  
892 - },  
893 - {  
894 - featureType: 'districtlabel',  
895 - elementType: 'labels',  
896 - stylers: {  
897 - visibility: 'off',  
898 - },  
899 - },  
900 - {  
901 - featureType: 'road',  
902 - elementType: 'geometry',  
903 - stylers: {  
904 - visibility: 'on',  
905 - },  
906 - },  
907 - {  
908 - featureType: 'road',  
909 - elementType: 'labels',  
910 - stylers: {  
911 - visibility: 'off',  
912 - },  
913 - },  
914 - {  
915 - featureType: 'road',  
916 - elementType: 'geometry.stroke',  
917 - stylers: {  
918 - color: '#ffffff00',  
919 - },  
920 - },  
921 - {  
922 - featureType: 'district',  
923 - elementType: 'labels',  
924 - stylers: {  
925 - visibility: 'on',  
926 - },  
927 - },  
928 - {  
929 - featureType: 'poilabel',  
930 - elementType: 'labels.icon',  
931 - stylers: {  
932 - visibility: 'off',  
933 - },  
934 - },  
935 - {  
936 - featureType: 'poilabel',  
937 - elementType: 'labels.text.fill',  
938 - stylers: {  
939 - color: '#2dc4bbff',  
940 - },  
941 - },  
942 - {  
943 - featureType: 'poilabel',  
944 - elementType: 'labels.text.stroke',  
945 - stylers: {  
946 - color: '#ffffff00',  
947 - },  
948 - },  
949 - {  
950 - featureType: 'manmade',  
951 - elementType: 'geometry',  
952 - stylers: {  
953 - color: '#12223dff',  
954 - },  
955 - },  
956 - {  
957 - featureType: 'districtlabel',  
958 - elementType: 'labels.text.stroke',  
959 - stylers: {  
960 - color: '#ffffffff',  
961 - },  
962 - },  
963 - {  
964 - featureType: 'entertainment',  
965 - elementType: 'geometry',  
966 - stylers: {  
967 - color: '#12223dff',  
968 - },  
969 - },  
970 - {  
971 - featureType: 'shopping',  
972 - elementType: 'geometry',  
973 - stylers: {  
974 - color: '#12223dff',  
975 - },  
976 - },  
977 - {  
978 - featureType: 'nationalway',  
979 - stylers: {  
980 - curZoomRegionId: '0',  
981 - curZoomRegion: '6,10',  
982 - level: '6',  
983 - },  
984 - },  
985 - {  
986 - featureType: 'nationalway',  
987 - stylers: {  
988 - curZoomRegionId: '0',  
989 - curZoomRegion: '6,10',  
990 - level: '7',  
991 - },  
992 - },  
993 - {  
994 - featureType: 'nationalway',  
995 - stylers: {  
996 - curZoomRegionId: '0',  
997 - curZoomRegion: '6,10',  
998 - level: '8',  
999 - },  
1000 - },  
1001 - {  
1002 - featureType: 'nationalway',  
1003 - stylers: {  
1004 - curZoomRegionId: '0',  
1005 - curZoomRegion: '6,10',  
1006 - level: '9',  
1007 - },  
1008 - },  
1009 - {  
1010 - featureType: 'nationalway',  
1011 - stylers: {  
1012 - curZoomRegionId: '0',  
1013 - curZoomRegion: '6,10',  
1014 - level: '10',  
1015 - },  
1016 - },  
1017 - {  
1018 - featureType: 'nationalway',  
1019 - elementType: 'geometry',  
1020 - stylers: {  
1021 - visibility: 'off',  
1022 - curZoomRegionId: '0',  
1023 - curZoomRegion: '6,10',  
1024 - level: '6',  
1025 - },  
1026 - },  
1027 - {  
1028 - featureType: 'nationalway',  
1029 - elementType: 'geometry',  
1030 - stylers: {  
1031 - visibility: 'off',  
1032 - curZoomRegionId: '0',  
1033 - curZoomRegion: '6,10',  
1034 - level: '7',  
1035 - },  
1036 - },  
1037 - {  
1038 - featureType: 'nationalway',  
1039 - elementType: 'geometry',  
1040 - stylers: {  
1041 - visibility: 'off',  
1042 - curZoomRegionId: '0',  
1043 - curZoomRegion: '6,10',  
1044 - level: '8',  
1045 - },  
1046 - },  
1047 - {  
1048 - featureType: 'nationalway',  
1049 - elementType: 'geometry',  
1050 - stylers: {  
1051 - visibility: 'off',  
1052 - curZoomRegionId: '0',  
1053 - curZoomRegion: '6,10',  
1054 - level: '9',  
1055 - },  
1056 - },  
1057 - {  
1058 - featureType: 'nationalway',  
1059 - elementType: 'geometry',  
1060 - stylers: {  
1061 - visibility: 'off',  
1062 - curZoomRegionId: '0',  
1063 - curZoomRegion: '6,10',  
1064 - level: '10',  
1065 - },  
1066 - },  
1067 - {  
1068 - featureType: 'nationalway',  
1069 - elementType: 'labels',  
1070 - stylers: {  
1071 - visibility: 'off',  
1072 - curZoomRegionId: '0',  
1073 - curZoomRegion: '6,10',  
1074 - level: '6',  
1075 - },  
1076 - },  
1077 - {  
1078 - featureType: 'nationalway',  
1079 - elementType: 'labels',  
1080 - stylers: {  
1081 - visibility: 'off',  
1082 - curZoomRegionId: '0',  
1083 - curZoomRegion: '6,10',  
1084 - level: '7',  
1085 - },  
1086 - },  
1087 - {  
1088 - featureType: 'nationalway',  
1089 - elementType: 'labels',  
1090 - stylers: {  
1091 - visibility: 'off',  
1092 - curZoomRegionId: '0',  
1093 - curZoomRegion: '6,10',  
1094 - level: '8',  
1095 - },  
1096 - },  
1097 - {  
1098 - featureType: 'nationalway',  
1099 - elementType: 'labels',  
1100 - stylers: {  
1101 - visibility: 'off',  
1102 - curZoomRegionId: '0',  
1103 - curZoomRegion: '6,10',  
1104 - level: '9',  
1105 - },  
1106 - },  
1107 - {  
1108 - featureType: 'nationalway',  
1109 - elementType: 'labels',  
1110 - stylers: {  
1111 - visibility: 'off',  
1112 - curZoomRegionId: '0',  
1113 - curZoomRegion: '6,10',  
1114 - level: '10',  
1115 - },  
1116 - },  
1117 - {  
1118 - featureType: 'cityhighway',  
1119 - stylers: {  
1120 - curZoomRegionId: '0',  
1121 - curZoomRegion: '6,9',  
1122 - level: '6',  
1123 - },  
1124 - },  
1125 - {  
1126 - featureType: 'cityhighway',  
1127 - stylers: {  
1128 - curZoomRegionId: '0',  
1129 - curZoomRegion: '6,9',  
1130 - level: '7',  
1131 - },  
1132 - },  
1133 - {  
1134 - featureType: 'cityhighway',  
1135 - stylers: {  
1136 - curZoomRegionId: '0',  
1137 - curZoomRegion: '6,9',  
1138 - level: '8',  
1139 - },  
1140 - },  
1141 - {  
1142 - featureType: 'cityhighway',  
1143 - stylers: {  
1144 - curZoomRegionId: '0',  
1145 - curZoomRegion: '6,9',  
1146 - level: '9',  
1147 - },  
1148 - },  
1149 - {  
1150 - featureType: 'cityhighway',  
1151 - elementType: 'geometry',  
1152 - stylers: {  
1153 - visibility: 'off',  
1154 - curZoomRegionId: '0',  
1155 - curZoomRegion: '6,9',  
1156 - level: '6',  
1157 - },  
1158 - },  
1159 - {  
1160 - featureType: 'cityhighway',  
1161 - elementType: 'geometry',  
1162 - stylers: {  
1163 - visibility: 'off',  
1164 - curZoomRegionId: '0',  
1165 - curZoomRegion: '6,9',  
1166 - level: '7',  
1167 - },  
1168 - },  
1169 - {  
1170 - featureType: 'cityhighway',  
1171 - elementType: 'geometry',  
1172 - stylers: {  
1173 - visibility: 'off',  
1174 - curZoomRegionId: '0',  
1175 - curZoomRegion: '6,9',  
1176 - level: '8',  
1177 - },  
1178 - },  
1179 - {  
1180 - featureType: 'cityhighway',  
1181 - elementType: 'geometry',  
1182 - stylers: {  
1183 - visibility: 'off',  
1184 - curZoomRegionId: '0',  
1185 - curZoomRegion: '6,9',  
1186 - level: '9',  
1187 - },  
1188 - },  
1189 - {  
1190 - featureType: 'cityhighway',  
1191 - elementType: 'labels',  
1192 - stylers: {  
1193 - visibility: 'off',  
1194 - curZoomRegionId: '0',  
1195 - curZoomRegion: '6,9',  
1196 - level: '6',  
1197 - },  
1198 - },  
1199 - {  
1200 - featureType: 'cityhighway',  
1201 - elementType: 'labels',  
1202 - stylers: {  
1203 - visibility: 'off',  
1204 - curZoomRegionId: '0',  
1205 - curZoomRegion: '6,9',  
1206 - level: '7',  
1207 - },  
1208 - },  
1209 - {  
1210 - featureType: 'cityhighway',  
1211 - elementType: 'labels',  
1212 - stylers: {  
1213 - visibility: 'off',  
1214 - curZoomRegionId: '0',  
1215 - curZoomRegion: '6,9',  
1216 - level: '8',  
1217 - },  
1218 - },  
1219 - {  
1220 - featureType: 'cityhighway',  
1221 - elementType: 'labels',  
1222 - stylers: {  
1223 - visibility: 'off',  
1224 - curZoomRegionId: '0',  
1225 - curZoomRegion: '6,9',  
1226 - level: '9',  
1227 - },  
1228 - },  
1229 - {  
1230 - featureType: 'subwaylabel',  
1231 - elementType: 'labels',  
1232 - stylers: {  
1233 - visibility: 'off',  
1234 - },  
1235 - },  
1236 - {  
1237 - featureType: 'subwaylabel',  
1238 - elementType: 'labels.icon',  
1239 - stylers: {  
1240 - visibility: 'off',  
1241 - },  
1242 - },  
1243 - {  
1244 - featureType: 'tertiarywaysign',  
1245 - elementType: 'labels',  
1246 - stylers: {  
1247 - visibility: 'off',  
1248 - },  
1249 - },  
1250 - {  
1251 - featureType: 'tertiarywaysign',  
1252 - elementType: 'labels.icon',  
1253 - stylers: {  
1254 - visibility: 'off',  
1255 - },  
1256 - },  
1257 - {  
1258 - featureType: 'provincialwaysign',  
1259 - elementType: 'labels',  
1260 - stylers: {  
1261 - visibility: 'off',  
1262 - },  
1263 - },  
1264 - {  
1265 - featureType: 'provincialwaysign',  
1266 - elementType: 'labels.icon',  
1267 - stylers: {  
1268 - visibility: 'off',  
1269 - },  
1270 - },  
1271 - {  
1272 - featureType: 'nationalwaysign',  
1273 - elementType: 'labels',  
1274 - stylers: {  
1275 - visibility: 'off',  
1276 - },  
1277 - },  
1278 - {  
1279 - featureType: 'nationalwaysign',  
1280 - elementType: 'labels.icon',  
1281 - stylers: {  
1282 - visibility: 'off',  
1283 - },  
1284 - },  
1285 - {  
1286 - featureType: 'highwaysign',  
1287 - elementType: 'labels',  
1288 - stylers: {  
1289 - visibility: 'off',  
1290 - },  
1291 - },  
1292 - {  
1293 - featureType: 'highwaysign',  
1294 - elementType: 'labels.icon',  
1295 - stylers: {  
1296 - visibility: 'off',  
1297 - },  
1298 - },  
1299 - {  
1300 - featureType: 'village',  
1301 - elementType: 'labels',  
1302 - stylers: {  
1303 - visibility: 'off',  
1304 - },  
1305 - },  
1306 - {  
1307 - featureType: 'district',  
1308 - elementType: 'labels.text',  
1309 - stylers: {  
1310 - fontsize: 20,  
1311 - },  
1312 - },  
1313 - {  
1314 - featureType: 'district',  
1315 - elementType: 'labels.text.fill',  
1316 - stylers: {  
1317 - color: '#2dc4bbff',  
1318 - },  
1319 - },  
1320 - {  
1321 - featureType: 'district',  
1322 - elementType: 'labels.text.stroke',  
1323 - stylers: {  
1324 - color: '#ffffff00',  
1325 - },  
1326 - },  
1327 - {  
1328 - featureType: 'country',  
1329 - elementType: 'labels.text.fill',  
1330 - stylers: {  
1331 - color: '#2dc4bbff',  
1332 - },  
1333 - },  
1334 - {  
1335 - featureType: 'country',  
1336 - elementType: 'labels.text.stroke',  
1337 - stylers: {  
1338 - color: '#ffffff00',  
1339 - },  
1340 - },  
1341 - {  
1342 - featureType: 'water',  
1343 - elementType: 'labels.text.fill',  
1344 - stylers: {  
1345 - color: '#2dc4bbff',  
1346 - },  
1347 - },  
1348 - {  
1349 - featureType: 'water',  
1350 - elementType: 'labels.text.stroke',  
1351 - stylers: {  
1352 - color: '#ffffff00',  
1353 - },  
1354 - },  
1355 - {  
1356 - featureType: 'cityhighway',  
1357 - elementType: 'geometry.fill',  
1358 - stylers: {  
1359 - color: '#12223dff',  
1360 - },  
1361 - },  
1362 - {  
1363 - featureType: 'cityhighway',  
1364 - elementType: 'geometry.stroke',  
1365 - stylers: {  
1366 - color: '#ffffff00',  
1367 - },  
1368 - },  
1369 - {  
1370 - featureType: 'tertiaryway',  
1371 - elementType: 'geometry.fill',  
1372 - stylers: {  
1373 - color: '#12223dff',  
1374 - },  
1375 - },  
1376 - {  
1377 - featureType: 'tertiaryway',  
1378 - elementType: 'geometry.stroke',  
1379 - stylers: {  
1380 - color: '#ffffff10',  
1381 - },  
1382 - },  
1383 - {  
1384 - featureType: 'provincialway',  
1385 - elementType: 'geometry.fill',  
1386 - stylers: {  
1387 - color: '#12223dff',  
1388 - },  
1389 - },  
1390 - {  
1391 - featureType: 'provincialway',  
1392 - elementType: 'geometry.stroke',  
1393 - stylers: {  
1394 - color: '#ffffff00',  
1395 - },  
1396 - },  
1397 - {  
1398 - featureType: 'nationalway',  
1399 - elementType: 'geometry.fill',  
1400 - stylers: {  
1401 - color: '#12223dff',  
1402 - },  
1403 - },  
1404 - {  
1405 - featureType: 'nationalway',  
1406 - elementType: 'geometry.stroke',  
1407 - stylers: {  
1408 - color: '#ffffff00',  
1409 - },  
1410 - },  
1411 - {  
1412 - featureType: 'highway',  
1413 - elementType: 'labels.text',  
1414 - stylers: {  
1415 - fontsize: 20,  
1416 - },  
1417 - },  
1418 - {  
1419 - featureType: 'nationalway',  
1420 - elementType: 'labels.text.stroke',  
1421 - stylers: {  
1422 - color: '#ffffff00',  
1423 - },  
1424 - },  
1425 - {  
1426 - featureType: 'nationalway',  
1427 - elementType: 'labels.text.fill',  
1428 - stylers: {  
1429 - color: '#12223dff',  
1430 - },  
1431 - },  
1432 - {  
1433 - featureType: 'nationalway',  
1434 - elementType: 'labels.text',  
1435 - stylers: {  
1436 - fontsize: 20,  
1437 - },  
1438 - },  
1439 - {  
1440 - featureType: 'provincialway',  
1441 - elementType: 'labels.text.fill',  
1442 - stylers: {  
1443 - color: '#12223dff',  
1444 - },  
1445 - },  
1446 - {  
1447 - featureType: 'provincialway',  
1448 - elementType: 'labels.text.stroke',  
1449 - stylers: {  
1450 - color: '#ffffff00',  
1451 - },  
1452 - },  
1453 - {  
1454 - featureType: 'provincialway',  
1455 - elementType: 'labels.text',  
1456 - stylers: {  
1457 - fontsize: 20,  
1458 - },  
1459 - },  
1460 - {  
1461 - featureType: 'cityhighway',  
1462 - elementType: 'labels.text.fill',  
1463 - stylers: {  
1464 - color: '#12223dff',  
1465 - },  
1466 - },  
1467 - {  
1468 - featureType: 'cityhighway',  
1469 - elementType: 'labels.text',  
1470 - stylers: {  
1471 - fontsize: 20,  
1472 - },  
1473 - },  
1474 - {  
1475 - featureType: 'cityhighway',  
1476 - elementType: 'labels.text.stroke',  
1477 - stylers: {  
1478 - color: '#ffffff00',  
1479 - },  
1480 - },  
1481 - {  
1482 - featureType: 'estate',  
1483 - elementType: 'geometry',  
1484 - stylers: {  
1485 - color: '#12223dff',  
1486 - },  
1487 - },  
1488 - {  
1489 - featureType: 'tertiaryway',  
1490 - elementType: 'labels.text.fill',  
1491 - stylers: {  
1492 - color: '#2dc4bbff',  
1493 - },  
1494 - },  
1495 - {  
1496 - featureType: 'tertiaryway',  
1497 - elementType: 'labels.text.stroke',  
1498 - stylers: {  
1499 - color: '#ffffff00',  
1500 - },  
1501 - },  
1502 - {  
1503 - featureType: 'fourlevelway',  
1504 - elementType: 'labels.text.fill',  
1505 - stylers: {  
1506 - color: '#2dc4bbff',  
1507 - },  
1508 - },  
1509 - {  
1510 - featureType: 'fourlevelway',  
1511 - elementType: 'labels.text.stroke',  
1512 - stylers: {  
1513 - color: '#ffffff00',  
1514 - },  
1515 - },  
1516 - {  
1517 - featureType: 'scenicspotsway',  
1518 - elementType: 'geometry.fill',  
1519 - stylers: {  
1520 - color: '#12223dff',  
1521 - },  
1522 - },  
1523 - {  
1524 - featureType: 'scenicspotsway',  
1525 - elementType: 'geometry.stroke',  
1526 - stylers: {  
1527 - color: '#ffffff00',  
1528 - },  
1529 - },  
1530 - {  
1531 - featureType: 'universityway',  
1532 - elementType: 'geometry.fill',  
1533 - stylers: {  
1534 - color: '#12223dff',  
1535 - },  
1536 - },  
1537 - {  
1538 - featureType: 'universityway',  
1539 - elementType: 'geometry.stroke',  
1540 - stylers: {  
1541 - color: '#ffffff00',  
1542 - },  
1543 - },  
1544 - {  
1545 - featureType: 'vacationway',  
1546 - elementType: 'geometry.fill',  
1547 - stylers: {  
1548 - color: '#12223dff',  
1549 - },  
1550 - },  
1551 - {  
1552 - featureType: 'vacationway',  
1553 - elementType: 'geometry.stroke',  
1554 - stylers: {  
1555 - color: '#ffffff00',  
1556 - },  
1557 - },  
1558 - {  
1559 - featureType: 'fourlevelway',  
1560 - elementType: 'geometry',  
1561 - stylers: {  
1562 - visibility: 'on',  
1563 - },  
1564 - },  
1565 - {  
1566 - featureType: 'fourlevelway',  
1567 - elementType: 'geometry.fill',  
1568 - stylers: {  
1569 - color: '#12223dff',  
1570 - },  
1571 - },  
1572 - {  
1573 - featureType: 'fourlevelway',  
1574 - elementType: 'geometry.stroke',  
1575 - stylers: {  
1576 - color: '#ffffff00',  
1577 - },  
1578 - },  
1579 - {  
1580 - featureType: 'transportationlabel',  
1581 - elementType: 'labels',  
1582 - stylers: {  
1583 - visibility: 'on',  
1584 - },  
1585 - },  
1586 - {  
1587 - featureType: 'transportationlabel',  
1588 - elementType: 'labels.icon',  
1589 - stylers: {  
1590 - visibility: 'off',  
1591 - },  
1592 - },  
1593 - {  
1594 - featureType: 'transportationlabel',  
1595 - elementType: 'labels.text.fill',  
1596 - stylers: {  
1597 - color: '#2dc4bbff',  
1598 - },  
1599 - },  
1600 - {  
1601 - featureType: 'transportationlabel',  
1602 - elementType: 'labels.text.stroke',  
1603 - stylers: {  
1604 - color: '#ffffff00',  
1605 - },  
1606 - },  
1607 - {  
1608 - featureType: 'educationlabel',  
1609 - elementType: 'labels',  
1610 - stylers: {  
1611 - visibility: 'on',  
1612 - },  
1613 - },  
1614 - {  
1615 - featureType: 'educationlabel',  
1616 - elementType: 'labels.icon',  
1617 - stylers: {  
1618 - visibility: 'off',  
1619 - },  
1620 - },  
1621 - {  
1622 - featureType: 'educationlabel',  
1623 - elementType: 'labels.text.fill',  
1624 - stylers: {  
1625 - color: '#2dc4bbff',  
1626 - },  
1627 - },  
1628 - {  
1629 - featureType: 'educationlabel',  
1630 - elementType: 'labels.text.stroke',  
1631 - stylers: {  
1632 - color: '#ffffff00',  
1633 - },  
1634 - },  
1635 - {  
1636 - featureType: 'transportation',  
1637 - elementType: 'geometry',  
1638 - stylers: {  
1639 - color: '#113549ff',  
1640 - },  
1641 - },  
1642 - {  
1643 - featureType: 'airportlabel',  
1644 - elementType: 'labels.text.fill',  
1645 - stylers: {  
1646 - color: '#2dc4bbff',  
1647 - },  
1648 - },  
1649 - {  
1650 - featureType: 'airportlabel',  
1651 - elementType: 'labels.text.stroke',  
1652 - stylers: {  
1653 - color: '#ffffff00',  
1654 - },  
1655 - },  
1656 - {  
1657 - featureType: 'scenicspotslabel',  
1658 - elementType: 'labels.text.fill',  
1659 - stylers: {  
1660 - color: '#2dc4bbff',  
1661 - },  
1662 - },  
1663 - {  
1664 - featureType: 'scenicspotslabel',  
1665 - elementType: 'labels.text.stroke',  
1666 - stylers: {  
1667 - color: '#ffffff00',  
1668 - },  
1669 - },  
1670 - {  
1671 - featureType: 'medicallabel',  
1672 - elementType: 'labels.text.fill',  
1673 - stylers: {  
1674 - color: '#2dc4bbff',  
1675 - },  
1676 - },  
1677 - {  
1678 - featureType: 'medicallabel',  
1679 - elementType: 'labels.text.stroke',  
1680 - stylers: {  
1681 - color: '#ffffff00',  
1682 - },  
1683 - },  
1684 - {  
1685 - featureType: 'medicallabel',  
1686 - elementType: 'labels.icon',  
1687 - stylers: {  
1688 - visibility: 'off',  
1689 - },  
1690 - },  
1691 - {  
1692 - featureType: 'scenicspotslabel',  
1693 - elementType: 'labels.icon',  
1694 - stylers: {  
1695 - visibility: 'off',  
1696 - },  
1697 - },  
1698 - {  
1699 - featureType: 'airportlabel',  
1700 - elementType: 'labels.icon',  
1701 - stylers: {  
1702 - visibility: 'off',  
1703 - },  
1704 - },  
1705 - {  
1706 - featureType: 'entertainmentlabel',  
1707 - elementType: 'labels.icon',  
1708 - stylers: {  
1709 - visibility: 'off',  
1710 - },  
1711 - },  
1712 - {  
1713 - featureType: 'entertainmentlabel',  
1714 - elementType: 'labels.text.fill',  
1715 - stylers: {  
1716 - color: '#2dc4bbff',  
1717 - },  
1718 - },  
1719 - {  
1720 - featureType: 'entertainmentlabel',  
1721 - elementType: 'labels.text.stroke',  
1722 - stylers: {  
1723 - color: '#ffffff00',  
1724 - },  
1725 - },  
1726 - {  
1727 - featureType: 'estatelabel',  
1728 - elementType: 'labels.icon',  
1729 - stylers: {  
1730 - visibility: 'off',  
1731 - },  
1732 - },  
1733 - {  
1734 - featureType: 'estatelabel',  
1735 - elementType: 'labels.text.fill',  
1736 - stylers: {  
1737 - color: '#2dc4bbff',  
1738 - },  
1739 - },  
1740 - {  
1741 - featureType: 'estatelabel',  
1742 - elementType: 'labels.text.stroke',  
1743 - stylers: {  
1744 - color: '#ffffff00',  
1745 - },  
1746 - },  
1747 - {  
1748 - featureType: 'businesstowerlabel',  
1749 - elementType: 'labels.text.fill',  
1750 - stylers: {  
1751 - color: '#2dc4bbff',  
1752 - },  
1753 - },  
1754 - {  
1755 - featureType: 'businesstowerlabel',  
1756 - elementType: 'labels.text.stroke',  
1757 - stylers: {  
1758 - color: '#ffffff00',  
1759 - },  
1760 - },  
1761 - {  
1762 - featureType: 'businesstowerlabel',  
1763 - elementType: 'labels.icon',  
1764 - stylers: {  
1765 - visibility: 'off',  
1766 - },  
1767 - },  
1768 - {  
1769 - featureType: 'companylabel',  
1770 - elementType: 'labels.text.fill',  
1771 - stylers: {  
1772 - color: '#2dc4bbff',  
1773 - },  
1774 - },  
1775 - {  
1776 - featureType: 'companylabel',  
1777 - elementType: 'labels.text.stroke',  
1778 - stylers: {  
1779 - color: '#ffffff00',  
1780 - },  
1781 - },  
1782 - {  
1783 - featureType: 'companylabel',  
1784 - elementType: 'labels.icon',  
1785 - stylers: {  
1786 - visibility: 'off',  
1787 - },  
1788 - },  
1789 - {  
1790 - featureType: 'governmentlabel',  
1791 - elementType: 'labels.icon',  
1792 - stylers: {  
1793 - visibility: 'off',  
1794 - },  
1795 - },  
1796 - {  
1797 - featureType: 'governmentlabel',  
1798 - elementType: 'labels.text.fill',  
1799 - stylers: {  
1800 - color: '#2dc4bbff',  
1801 - },  
1802 - },  
1803 - {  
1804 - featureType: 'governmentlabel',  
1805 - elementType: 'labels.text.stroke',  
1806 - stylers: {  
1807 - color: '#ffffff00',  
1808 - },  
1809 - },  
1810 - {  
1811 - featureType: 'restaurantlabel',  
1812 - elementType: 'labels.text.fill',  
1813 - stylers: {  
1814 - color: '#2dc4bbff',  
1815 - },  
1816 - },  
1817 - {  
1818 - featureType: 'restaurantlabel',  
1819 - elementType: 'labels.text.stroke',  
1820 - stylers: {  
1821 - color: '#ffffff00',  
1822 - },  
1823 - },  
1824 - {  
1825 - featureType: 'restaurantlabel',  
1826 - elementType: 'labels.icon',  
1827 - stylers: {  
1828 - visibility: 'off',  
1829 - },  
1830 - },  
1831 - {  
1832 - featureType: 'hotellabel',  
1833 - elementType: 'labels.icon',  
1834 - stylers: {  
1835 - visibility: 'off',  
1836 - },  
1837 - },  
1838 - {  
1839 - featureType: 'hotellabel',  
1840 - elementType: 'labels.text.fill',  
1841 - stylers: {  
1842 - color: '#2dc4bbff',  
1843 - },  
1844 - },  
1845 - {  
1846 - featureType: 'hotellabel',  
1847 - elementType: 'labels.text.stroke',  
1848 - stylers: {  
1849 - color: '#ffffff00',  
1850 - },  
1851 - },  
1852 - {  
1853 - featureType: 'shoppinglabel',  
1854 - elementType: 'labels.text.fill',  
1855 - stylers: {  
1856 - color: '#2dc4bbff',  
1857 - },  
1858 - },  
1859 - {  
1860 - featureType: 'shoppinglabel',  
1861 - elementType: 'labels.text.stroke',  
1862 - stylers: {  
1863 - color: '#ffffff00',  
1864 - },  
1865 - },  
1866 - {  
1867 - featureType: 'shoppinglabel',  
1868 - elementType: 'labels.icon',  
1869 - stylers: {  
1870 - visibility: 'off',  
1871 - },  
1872 - },  
1873 - {  
1874 - featureType: 'lifeservicelabel',  
1875 - elementType: 'labels.text.fill',  
1876 - stylers: {  
1877 - color: '#2dc4bbff',  
1878 - },  
1879 - },  
1880 - {  
1881 - featureType: 'lifeservicelabel',  
1882 - elementType: 'labels.text.stroke',  
1883 - stylers: {  
1884 - color: '#ffffff00',  
1885 - },  
1886 - },  
1887 - {  
1888 - featureType: 'lifeservicelabel',  
1889 - elementType: 'labels.icon',  
1890 - stylers: {  
1891 - visibility: 'off',  
1892 - },  
1893 - },  
1894 - {  
1895 - featureType: 'carservicelabel',  
1896 - elementType: 'labels.text.fill',  
1897 - stylers: {  
1898 - color: '#2dc4bbff',  
1899 - },  
1900 - },  
1901 - {  
1902 - featureType: 'carservicelabel',  
1903 - elementType: 'labels.text.stroke',  
1904 - stylers: {  
1905 - color: '#ffffff00',  
1906 - },  
1907 - },  
1908 - {  
1909 - featureType: 'carservicelabel',  
1910 - elementType: 'labels.icon',  
1911 - stylers: {  
1912 - visibility: 'off',  
1913 - },  
1914 - },  
1915 - {  
1916 - featureType: 'financelabel',  
1917 - elementType: 'labels.text.fill',  
1918 - stylers: {  
1919 - color: '#2dc4bbff',  
1920 - },  
1921 - },  
1922 - {  
1923 - featureType: 'financelabel',  
1924 - elementType: 'labels.text.stroke',  
1925 - stylers: {  
1926 - color: '#ffffff00',  
1927 - },  
1928 - },  
1929 - {  
1930 - featureType: 'financelabel',  
1931 - elementType: 'labels.icon',  
1932 - stylers: {  
1933 - visibility: 'off',  
1934 - },  
1935 - },  
1936 - {  
1937 - featureType: 'otherlabel',  
1938 - elementType: 'labels.text.fill',  
1939 - stylers: {  
1940 - color: '#2dc4bbff',  
1941 - },  
1942 - },  
1943 - {  
1944 - featureType: 'otherlabel',  
1945 - elementType: 'labels.text.stroke',  
1946 - stylers: {  
1947 - color: '#ffffff00',  
1948 - },  
1949 - },  
1950 - {  
1951 - featureType: 'otherlabel',  
1952 - elementType: 'labels.icon',  
1953 - stylers: {  
1954 - visibility: 'off',  
1955 - },  
1956 - },  
1957 - {  
1958 - featureType: 'manmade',  
1959 - elementType: 'labels.text.fill',  
1960 - stylers: {  
1961 - color: '#2dc4bbff',  
1962 - },  
1963 - },  
1964 - {  
1965 - featureType: 'manmade',  
1966 - elementType: 'labels.text.stroke',  
1967 - stylers: {  
1968 - color: '#ffffff00',  
1969 - },  
1970 - },  
1971 - {  
1972 - featureType: 'transportation',  
1973 - elementType: 'labels.text.fill',  
1974 - stylers: {  
1975 - color: '#2dc4bbff',  
1976 - },  
1977 - },  
1978 - {  
1979 - featureType: 'transportation',  
1980 - elementType: 'labels.text.stroke',  
1981 - stylers: {  
1982 - color: '#ffffff00',  
1983 - },  
1984 - },  
1985 - {  
1986 - featureType: 'education',  
1987 - elementType: 'labels.text.fill',  
1988 - stylers: {  
1989 - color: '#2dc4bbff',  
1990 - },  
1991 - },  
1992 - {  
1993 - featureType: 'education',  
1994 - elementType: 'labels.text.stroke',  
1995 - stylers: {  
1996 - color: '#ffffff00',  
1997 - },  
1998 - },  
1999 - {  
2000 - featureType: 'medical',  
2001 - elementType: 'labels.text.fill',  
2002 - stylers: {  
2003 - color: '#2dc4bbff',  
2004 - },  
2005 - },  
2006 - {  
2007 - featureType: 'medical',  
2008 - elementType: 'labels.text.stroke',  
2009 - stylers: {  
2010 - color: '#ffffff00',  
2011 - },  
2012 - },  
2013 - {  
2014 - featureType: 'scenicspots',  
2015 - elementType: 'labels.text.fill',  
2016 - stylers: {  
2017 - color: '#2dc4bbff',  
2018 - },  
2019 - },  
2020 - {  
2021 - featureType: 'scenicspots',  
2022 - elementType: 'labels.text.stroke',  
2023 - stylers: {  
2024 - color: '#ffffff00',  
2025 - },  
2026 - },  
2027 - ],  
2028 -};  
1 -import { FormSchema } from '/@/components/Form';  
2 -  
3 -export const scheme: FormSchema[] = [  
4 - // {  
5 - // field: 'effectScope',  
6 - // label: '时间周期',  
7 - // colProps: { span: 24 },  
8 - // component: 'Input',  
9 - // defaultValue: 'effectScope',  
10 - // componentProps: {  
11 - // disabled: true,  
12 - // },  
13 - // },  
14 - {  
15 - field: 'agg',  
16 - label: '聚合方式',  
17 - defaultValue: 'agg',  
18 - colProps: { span: 24 },  
19 - component: 'Input',  
20 - componentProps: {  
21 - disabled: true,  
22 - },  
23 - },  
24 - {  
25 - field: 'interval',  
26 - label: '间隔时间',  
27 - defaultValue: 'interval',  
28 - colProps: { span: 24 },  
29 - component: 'Input',  
30 - componentProps: {  
31 - disabled: true,  
32 - },  
33 - },  
34 -];  
1 -import { Moment } from 'moment';  
2 -  
3 -enum TimeUnit {  
4 - SECOND = 'second',  
5 - MINUTE = 'MINUTE',  
6 - HOUR = 'HOUR',  
7 - DAY = 'DAY',  
8 -}  
9 -  
10 -const unitMapping = {  
11 - [TimeUnit.SECOND]: '秒',  
12 - [TimeUnit.MINUTE]: '分',  
13 - [TimeUnit.HOUR]: '小时',  
14 - [TimeUnit.DAY]: '天',  
15 -};  
16 -  
17 -const unitConversion = {  
18 - [TimeUnit.SECOND]: 1 * 1000,  
19 - [TimeUnit.MINUTE]: 1 * 60 * 1000,  
20 - [TimeUnit.HOUR]: 1 * 60 * 60 * 1000,  
21 - [TimeUnit.DAY]: 1 * 60 * 60 * 24 * 1000,  
22 -};  
23 -  
24 -export const intervalOption = [  
25 - {  
26 - id: 1,  
27 - unit: TimeUnit.SECOND,  
28 - linkage: [{ id: 1, unit: TimeUnit.SECOND }],  
29 - },  
30 - {  
31 - id: 5,  
32 - unit: TimeUnit.SECOND,  
33 - linkage: [{ id: 1, unit: TimeUnit.SECOND }],  
34 - },  
35 - {  
36 - id: 10,  
37 - unit: TimeUnit.SECOND,  
38 - linkage: [{ id: 1, unit: TimeUnit.SECOND }],  
39 - },  
40 - {  
41 - id: 15,  
42 - unit: TimeUnit.SECOND,  
43 - linkage: [{ id: 1, unit: TimeUnit.SECOND }],  
44 - },  
45 - {  
46 - id: 30,  
47 - unit: TimeUnit.SECOND,  
48 - linkage: [{ id: 1, unit: TimeUnit.SECOND }],  
49 - },  
50 - {  
51 - id: 1,  
52 - unit: TimeUnit.MINUTE,  
53 - linkage: [  
54 - { id: 1, unit: TimeUnit.SECOND },  
55 - { id: 5, unit: TimeUnit.SECOND },  
56 - ],  
57 - },  
58 - {  
59 - id: 2,  
60 - unit: TimeUnit.MINUTE,  
61 - linkage: [  
62 - { id: 1, unit: TimeUnit.SECOND },  
63 - { id: 5, unit: TimeUnit.SECOND },  
64 - { id: 10, unit: TimeUnit.SECOND },  
65 - { id: 15, unit: TimeUnit.SECOND },  
66 - ],  
67 - },  
68 - {  
69 - id: 5,  
70 - unit: TimeUnit.MINUTE,  
71 - linkage: [  
72 - { id: 1, unit: TimeUnit.SECOND },  
73 - { id: 5, unit: TimeUnit.SECOND },  
74 - { id: 10, unit: TimeUnit.SECOND },  
75 - { id: 15, unit: TimeUnit.SECOND },  
76 - { id: 30, unit: TimeUnit.SECOND },  
77 - ],  
78 - },  
79 - {  
80 - id: 10,  
81 - unit: TimeUnit.MINUTE,  
82 - linkage: [  
83 - { id: 5, unit: TimeUnit.SECOND },  
84 - { id: 10, unit: TimeUnit.SECOND },  
85 - { id: 15, unit: TimeUnit.SECOND },  
86 - { id: 30, unit: TimeUnit.SECOND },  
87 - { id: 1, unit: TimeUnit.MINUTE },  
88 - ],  
89 - },  
90 - {  
91 - id: 15,  
92 - unit: TimeUnit.MINUTE,  
93 - linkage: [  
94 - { id: 5, unit: TimeUnit.SECOND },  
95 - { id: 10, unit: TimeUnit.SECOND },  
96 - { id: 15, unit: TimeUnit.SECOND },  
97 - { id: 30, unit: TimeUnit.SECOND },  
98 - { id: 1, unit: TimeUnit.MINUTE },  
99 - { id: 2, unit: TimeUnit.MINUTE },  
100 - ],  
101 - },  
102 - {  
103 - id: 30,  
104 - unit: TimeUnit.MINUTE,  
105 - linkage: [  
106 - { id: 5, unit: TimeUnit.SECOND },  
107 - { id: 10, unit: TimeUnit.SECOND },  
108 - { id: 15, unit: TimeUnit.SECOND },  
109 - { id: 30, unit: TimeUnit.SECOND },  
110 - { id: 1, unit: TimeUnit.MINUTE },  
111 - { id: 2, unit: TimeUnit.MINUTE },  
112 - ],  
113 - },  
114 - {  
115 - id: 1,  
116 - unit: TimeUnit.HOUR,  
117 - linkage: [  
118 - { id: 10, unit: TimeUnit.SECOND },  
119 - { id: 15, unit: TimeUnit.SECOND },  
120 - { id: 30, unit: TimeUnit.SECOND },  
121 - { id: 1, unit: TimeUnit.MINUTE },  
122 - { id: 2, unit: TimeUnit.MINUTE },  
123 - { id: 5, unit: TimeUnit.MINUTE },  
124 - ],  
125 - },  
126 - {  
127 - id: 2,  
128 - unit: TimeUnit.HOUR,  
129 - linkage: [  
130 - { id: 15, unit: TimeUnit.SECOND },  
131 - { id: 30, unit: TimeUnit.SECOND },  
132 - { id: 1, unit: TimeUnit.MINUTE },  
133 - { id: 2, unit: TimeUnit.MINUTE },  
134 - { id: 5, unit: TimeUnit.MINUTE },  
135 - { id: 10, unit: TimeUnit.MINUTE },  
136 - { id: 15, unit: TimeUnit.MINUTE },  
137 - ],  
138 - },  
139 - {  
140 - id: 5,  
141 - unit: TimeUnit.HOUR,  
142 - linkage: [  
143 - { id: 1, unit: TimeUnit.MINUTE },  
144 - { id: 2, unit: TimeUnit.MINUTE },  
145 - { id: 5, unit: TimeUnit.MINUTE },  
146 - { id: 10, unit: TimeUnit.MINUTE },  
147 - { id: 15, unit: TimeUnit.MINUTE },  
148 - { id: 30, unit: TimeUnit.MINUTE },  
149 - ],  
150 - },  
151 - {  
152 - id: 10,  
153 - unit: TimeUnit.HOUR,  
154 - linkage: [  
155 - { id: 2, unit: TimeUnit.MINUTE },  
156 - { id: 5, unit: TimeUnit.MINUTE },  
157 - { id: 10, unit: TimeUnit.MINUTE },  
158 - { id: 15, unit: TimeUnit.MINUTE },  
159 - { id: 30, unit: TimeUnit.MINUTE },  
160 - { id: 1, unit: TimeUnit.HOUR },  
161 - ],  
162 - },  
163 - {  
164 - id: 12,  
165 - unit: TimeUnit.HOUR,  
166 - linkage: [  
167 - { id: 2, unit: TimeUnit.MINUTE },  
168 - { id: 5, unit: TimeUnit.MINUTE },  
169 - { id: 10, unit: TimeUnit.MINUTE },  
170 - { id: 15, unit: TimeUnit.MINUTE },  
171 - { id: 30, unit: TimeUnit.MINUTE },  
172 - { id: 1, unit: TimeUnit.HOUR },  
173 - ],  
174 - },  
175 - {  
176 - id: 1,  
177 - unit: TimeUnit.DAY,  
178 - linkage: [  
179 - { id: 5, unit: TimeUnit.MINUTE },  
180 - { id: 10, unit: TimeUnit.MINUTE },  
181 - { id: 15, unit: TimeUnit.MINUTE },  
182 - { id: 30, unit: TimeUnit.MINUTE },  
183 - { id: 1, unit: TimeUnit.HOUR },  
184 - { id: 2, unit: TimeUnit.HOUR },  
185 - ],  
186 - },  
187 - {  
188 - id: 7,  
189 - unit: TimeUnit.DAY,  
190 - linkage: [  
191 - { id: 30, unit: TimeUnit.MINUTE },  
192 - { id: 1, unit: TimeUnit.HOUR },  
193 - { id: 2, unit: TimeUnit.HOUR },  
194 - { id: 5, unit: TimeUnit.HOUR },  
195 - { id: 10, unit: TimeUnit.HOUR },  
196 - { id: 12, unit: TimeUnit.HOUR },  
197 - { id: 1, unit: TimeUnit.DAY },  
198 - ],  
199 - },  
200 - {  
201 - id: 30,  
202 - unit: TimeUnit.DAY,  
203 - linkage: [  
204 - { id: 2, unit: TimeUnit.HOUR },  
205 - { id: 5, unit: TimeUnit.HOUR },  
206 - { id: 10, unit: TimeUnit.HOUR },  
207 - { id: 12, unit: TimeUnit.HOUR },  
208 - { id: 1, unit: TimeUnit.DAY },  
209 - ],  
210 - },  
211 -].map((item) => {  
212 - return {  
213 - value: item.id * unitConversion[item.unit],  
214 - label: item.id + unitMapping[item.unit],  
215 - linkage: item.linkage.map((item) => {  
216 - return {  
217 - value: item.id * unitConversion[item.unit],  
218 - label: item.id + unitMapping[item.unit],  
219 - };  
220 - }),  
221 - };  
222 -});  
223 -  
224 -const rangeIntervalOption = [  
225 - {  
226 - id: 90,  
227 - unit: TimeUnit.DAY,  
228 - linkage: [  
229 - { id: 5, unit: TimeUnit.HOUR },  
230 - { id: 10, unit: TimeUnit.HOUR },  
231 - { id: 12, unit: TimeUnit.HOUR },  
232 - { id: 1, unit: TimeUnit.DAY },  
233 - { id: 7, unit: TimeUnit.DAY },  
234 - ],  
235 - },  
236 - {  
237 - id: 180,  
238 - unit: TimeUnit.DAY,  
239 - linkage: [  
240 - { id: 10, unit: TimeUnit.HOUR },  
241 - { id: 12, unit: TimeUnit.HOUR },  
242 - { id: 1, unit: TimeUnit.DAY },  
243 - { id: 7, unit: TimeUnit.DAY },  
244 - ],  
245 - },  
246 - {  
247 - id: 360,  
248 - unit: TimeUnit.DAY,  
249 - linkage: [  
250 - { id: 1, unit: TimeUnit.DAY },  
251 - { id: 7, unit: TimeUnit.DAY },  
252 - { id: 30, unit: TimeUnit.DAY },  
253 - ],  
254 - },  
255 -].map((item) => {  
256 - return {  
257 - value: item.id * unitConversion[item.unit],  
258 - label: item.id + unitMapping[item.unit],  
259 - linkage: item.linkage.map((item) => {  
260 - return {  
261 - value: item.id * unitConversion[item.unit],  
262 - label: item.id + unitMapping[item.unit],  
263 - };  
264 - }),  
265 - };  
266 -});  
267 -  
268 -/**  
269 - * @description  
270 - * @param {number} value  
271 - * @returns  
272 - */  
273 -export function getPacketIntervalByValue(value: number) {  
274 - return intervalOption.find((item) => item.value === value)?.linkage || [];  
275 -}  
276 -  
277 -export function getPacketIntervalByRange(  
278 - [start, end] = [null, null] as [Nullable<Moment>, Nullable<Moment>]  
279 -) {  
280 - if (start && end) {  
281 - const value = end.diff(start, 'ms');  
282 - let options: { value: number; label: string }[] = [];  
283 - for (const item of [...intervalOption, ...rangeIntervalOption]) {  
284 - if (item.value <= value) continue;  
285 - if (item.value >= value) {  
286 - options = item.linkage;  
287 - break;  
288 - }  
289 - }  
290 - return options;  
291 - }  
292 - return [];  
293 -}  
1 -<script setup lang="ts">  
2 - import { BasicForm, useForm } from '/@/components/Form';  
3 - import { scheme } from './config';  
4 -  
5 - defineEmits(['register']);  
6 -  
7 - const [registerForm, { getFieldsValue, setFieldsValue, resetFields }] = useForm({  
8 - schemas: scheme,  
9 - showActionButtonGroup: false,  
10 - });  
11 -  
12 - const getValue = () => {  
13 - return getFieldsValue();  
14 - };  
15 -  
16 - const setValue = (objs) => setFieldsValue(objs);  
17 -  
18 - const resetValue = () => resetFields();  
19 -  
20 - defineExpose({  
21 - getValue,  
22 - setValue,  
23 - resetValue,  
24 - });  
25 -</script>  
26 -  
27 -<template>  
28 - <BasicForm @register="registerForm" />  
29 -</template>  
@@ -14,7 +14,6 @@ @@ -14,7 +14,6 @@
14 </td> 14 </td>
15 <td style="width: 12vw"> 15 <td style="width: 12vw">
16 <Select 16 <Select
17 - :disabled="item.key === 'agg,interval' ? true : false"  
18 v-model:value="item.key" 17 v-model:value="item.key"
19 placeholder="请选择" 18 placeholder="请选择"
20 :options="selectOptions" 19 :options="selectOptions"
@@ -60,18 +59,6 @@ @@ -60,18 +59,6 @@
60 </tbody> 59 </tbody>
61 </table> 60 </table>
62 </div> 61 </div>
63 - <BasicModal  
64 - @register="registerModal"  
65 - title=""  
66 - width="40%"  
67 - :minHeight="90"  
68 - wrap-class-name="history-trend-model"  
69 - :canFullscreen="false"  
70 - @cancel="handleCancelModal"  
71 - @ok="onHandleModal"  
72 - >  
73 - <DateRangeSelect ref="dateRangeSelectRef" />  
74 - </BasicModal>  
75 </template> 62 </template>
76 <script lang="ts" setup name="editCellTable"> 63 <script lang="ts" setup name="editCellTable">
77 import { reactive, ref, onMounted, nextTick } from 'vue'; 64 import { reactive, ref, onMounted, nextTick } from 'vue';
@@ -80,8 +67,6 @@ @@ -80,8 +67,6 @@
80 import { PlusOutlined, MinusOutlined } from '@ant-design/icons-vue'; 67 import { PlusOutlined, MinusOutlined } from '@ant-design/icons-vue';
81 import { editCellTableTHeadConfig } from '../../../config/config'; 68 import { editCellTableTHeadConfig } from '../../../config/config';
82 import { selectType, tableItems } from '../../../config/types'; 69 import { selectType, tableItems } from '../../../config/types';
83 - import { useModal, BasicModal } from '/@/components/Modal';  
84 - import DateRangeSelect from './DateRangeSelect/index.vue';  
85 70
86 defineProps({ 71 defineProps({
87 method: { 72 method: {
@@ -91,31 +76,10 @@ @@ -91,31 +76,10 @@
91 76
92 const selectOptions = ref<selectType[]>([]); 77 const selectOptions = ref<selectType[]>([]);
93 78
94 - const dateRangeSelectRef = ref<InstanceType<typeof DateRangeSelect>>();  
95 -  
96 - const [registerModal, { closeModal }] = useModal();  
97 -  
98 const mores = ref(false); 79 const mores = ref(false);
99 80
100 const onHandleCheck = ({ target }) => { 81 const onHandleCheck = ({ target }) => {
101 mores.value = target?.checked; 82 mores.value = target?.checked;
102 - if (mores.value) {  
103 - // openModal(true);  
104 - }  
105 - };  
106 -  
107 - const handleCancelModal = () => {  
108 - closeModal();  
109 - dateRangeSelectRef.value?.resetValue();  
110 - mores.value = false;  
111 - };  
112 -  
113 - const getDateRangeValue = ref<any>({});  
114 -  
115 - const onHandleModal = () => {  
116 - const values = dateRangeSelectRef.value?.getValue();  
117 - getDateRangeValue.value = values;  
118 - closeModal();  
119 }; 83 };
120 84
121 onMounted(() => { 85 onMounted(() => {
@@ -177,13 +141,13 @@ @@ -177,13 +141,13 @@
177 selectOptions.value.forEach((ele) => { 141 selectOptions.value.forEach((ele) => {
178 ele.disabled = false; 142 ele.disabled = false;
179 tableArray.content.forEach((element) => { 143 tableArray.content.forEach((element) => {
180 - if (element.key === 'scope' || element.key === 'fixed_date') { 144 + if (element.key === 'scope') {
181 element.editDisabled = false; 145 element.editDisabled = false;
182 } else { 146 } else {
183 element.value = ''; 147 element.value = '';
184 element.editDisabled = true; 148 element.editDisabled = true;
185 } 149 }
186 - if (element.key === ele.value && element.key !== 'scope' && element.key !== 'fixed_date') { 150 + if (element.key === ele.value && element.key !== 'scope') {
187 ele.disabled = true; 151 ele.disabled = true;
188 } 152 }
189 }); 153 });
@@ -203,17 +167,6 @@ @@ -203,17 +167,6 @@
203 required: it.required, 167 required: it.required,
204 }; 168 };
205 }); 169 });
206 - // assemblyData = assemblyData.filter((item) => item.key !== 'agg,interval');  
207 - // if (getDateRangeValue.value) {  
208 - // const joinStr = Object.keys(getDateRangeValue.value)?.join(',');  
209 - // if (mores.value) {  
210 - // assemblyData.push({  
211 - // key: joinStr,  
212 - // value: '',  
213 - // mores: mores.value,  
214 - // });  
215 - // }  
216 - // }  
217 return assemblyData; 170 return assemblyData;
218 }; 171 };
219 172
@@ -233,10 +186,6 @@ @@ -233,10 +186,6 @@
233 const findIsDateRange = data.find((it) => it?.mores === true); 186 const findIsDateRange = data.find((it) => it?.mores === true);
234 if (findIsDateRange?.mores) { 187 if (findIsDateRange?.mores) {
235 mores.value = findIsDateRange?.mores; 188 mores.value = findIsDateRange?.mores;
236 - getDateRangeValue.value = {  
237 - agg: 'agg',  
238 - interval: 'interval',  
239 - };  
240 } else { 189 } else {
241 assemblyData = assemblyData.filter((item) => item?.mores == false || !item?.mores); 190 assemblyData = assemblyData.filter((item) => item?.mores == false || !item?.mores);
242 } 191 }
@@ -13,7 +13,10 @@ @@ -13,7 +13,10 @@
13 /> 13 />
14 </TabPane> 14 </TabPane>
15 <TabPane 15 <TabPane
16 - v-if="method !== '2' && requestTypeAndUrl?.requestHttpType !== 'GET'" 16 + v-if="
  17 + method !== RequestMethodTypeEnum.WEBSOCKET &&
  18 + requestTypeAndUrl?.requestHttpType !== RequestHttpTypeEnum.GET
  19 + "
17 class="tab-pane" 20 class="tab-pane"
18 forceRender 21 forceRender
19 key="Body" 22 key="Body"
@@ -21,7 +24,7 @@ @@ -21,7 +24,7 @@
21 > 24 >
22 <Body ref="bodyRef" @resetValue="handleResetValue" /> 25 <Body ref="bodyRef" @resetValue="handleResetValue" />
23 <BodyTest 26 <BodyTest
24 - v-if="bodyType !== 'none'" 27 + v-if="bodyType !== RequestBodyTypeEnum.NONE"
25 @testBodyInterface="handleTestBodyInterface" 28 @testBodyInterface="handleTestBodyInterface"
26 @closeTest="onCloseTest" 29 @closeTest="onCloseTest"
27 ref="testBodyRequestRef" 30 ref="testBodyRequestRef"
@@ -29,7 +32,13 @@ @@ -29,7 +32,13 @@
29 :data="dataMap.mapBodyObj" 32 :data="dataMap.mapBodyObj"
30 /> 33 />
31 </TabPane> 34 </TabPane>
32 - <TabPane v-if="method !== '2'" class="tab-pane" forceRender key="Header" tab="Header"> 35 + <TabPane
  36 + v-if="method !== RequestMethodTypeEnum.WEBSOCKET"
  37 + class="tab-pane"
  38 + forceRender
  39 + key="Header"
  40 + tab="Header"
  41 + >
33 <HeaderTable ref="editHeaderCellTableRef" :method="method" /> 42 <HeaderTable ref="editHeaderCellTableRef" :method="method" />
34 <HeaderTest 43 <HeaderTest
35 @testHeaderInterface="handleTestHeaderInterface" 44 @testHeaderInterface="handleTestHeaderInterface"
@@ -53,6 +62,12 @@ @@ -53,6 +62,12 @@
53 import { isEmpty } from '/@/utils/is'; 62 import { isEmpty } from '/@/utils/is';
54 import { useUtils } from '../../hooks/useUtils'; 63 import { useUtils } from '../../hooks/useUtils';
55 import ExcuteTest from '../TestInterface/components/excuteTest.vue'; 64 import ExcuteTest from '../TestInterface/components/excuteTest.vue';
  65 + import {
  66 + RequestMethodTypeEnum,
  67 + RequestHttpTypeEnum,
  68 + RequestBodyTypeEnum,
  69 + RequestOriginTypeEnum,
  70 + } from '../../config/enum';
56 71
57 const props = defineProps({ 72 const props = defineProps({
58 method: { 73 method: {
@@ -127,18 +142,18 @@ @@ -127,18 +142,18 @@
127 142
128 const handleEmitExcute = () => { 143 const handleEmitExcute = () => {
129 let apiGetUrl = ''; 144 let apiGetUrl = '';
130 - if (props?.method === '2') {  
131 - if (props?.originUrlType === 'server_url') { 145 + if (props?.method === RequestMethodTypeEnum.WEBSOCKET) {
  146 + if (props?.originUrlType === RequestOriginTypeEnum.SERVER_URL) {
132 const pathUrl = window.location.host; 147 const pathUrl = window.location.host;
133 const protocol = window.location.protocol; 148 const protocol = window.location.protocol;
134 apiGetUrl = `${ 149 apiGetUrl = `${
135 - protocol === 'http' ? 'ws:' : protocol === 'https' ? 'wss:' : 'ws:' 150 + protocol === 'http:' ? 'ws:' : protocol === 'https:' ? 'wss:' : 'ws:'
136 }//${pathUrl}${props?.requestTypeAndUrl?.requestUrl}`; 151 }//${pathUrl}${props?.requestTypeAndUrl?.requestUrl}`;
137 } else { 152 } else {
138 apiGetUrl = `${props?.requestOriginUrl}${props?.requestTypeAndUrl?.requestUrl}`; 153 apiGetUrl = `${props?.requestOriginUrl}${props?.requestTypeAndUrl?.requestUrl}`;
139 } 154 }
140 } else { 155 } else {
141 - if (props?.originUrlType === 'server_url') { 156 + if (props?.originUrlType === RequestOriginTypeEnum.SERVER_URL) {
142 const pathUrl = window.location.host; 157 const pathUrl = window.location.host;
143 const protocol = window.location.protocol; 158 const protocol = window.location.protocol;
144 apiGetUrl = `${protocol}//${pathUrl}${props?.requestTypeAndUrl?.requestUrl}`; 159 apiGetUrl = `${protocol}//${pathUrl}${props?.requestTypeAndUrl?.requestUrl}`;
1 ///公共接口管理所需枚举值 1 ///公共接口管理所需枚举值
2 2
3 /** 3 /**
4 - * @description: 请求体类型 4 + * @description: 请求体类型枚举
5 */ 5 */
6 export enum RequestBodyTypeEnum { 6 export enum RequestBodyTypeEnum {
7 NONE = 'none', 7 NONE = 'none',
@@ -12,7 +12,7 @@ export enum RequestBodyTypeEnum { @@ -12,7 +12,7 @@ export enum RequestBodyTypeEnum {
12 } 12 }
13 13
14 /** 14 /**
15 - * @description: 请求方式 15 + * @description: 请求方式枚举
16 */ 16 */
17 export enum RequestMethodTypeEnum { 17 export enum RequestMethodTypeEnum {
18 COMMOM = '0', 18 COMMOM = '0',
@@ -21,9 +21,17 @@ export enum RequestMethodTypeEnum { @@ -21,9 +21,17 @@ export enum RequestMethodTypeEnum {
21 } 21 }
22 22
23 /** 23 /**
24 - * @description: 源地址类型 24 + * @description: 源地址类型枚举
25 */ 25 */
26 export enum RequestOriginTypeEnum { 26 export enum RequestOriginTypeEnum {
27 CUSTOM_URL = 'custom_url', 27 CUSTOM_URL = 'custom_url',
28 SERVER_URL = 'server_url', 28 SERVER_URL = 'server_url',
29 } 29 }
  30 +
  31 +/**
  32 + * @description: 请求类型枚举
  33 + */
  34 +export enum RequestHttpTypeEnum {
  35 + GET = 'GET',
  36 + POST = 'POST',
  37 +}
@@ -14,8 +14,12 @@ @@ -14,8 +14,12 @@
14 watchRequestHttpTypeAndUrl(model['requestHttpTypeAndUrl']) 14 watchRequestHttpTypeAndUrl(model['requestHttpTypeAndUrl'])
15 }}</p> 15 }}</p>
16 <SimpleRequest 16 <SimpleRequest
  17 + v-if="
  18 + [RequestMethodTypeEnum.COMMOM, RequestMethodTypeEnum.WEBSOCKET].includes(
  19 + model['requestContentType']
  20 + )
  21 + "
17 ref="simpleRequestRef" 22 ref="simpleRequestRef"
18 - v-if="model['requestContentType'] === '0' || model['requestContentType'] === '2'"  
19 :requestTypeAndUrl="model['requestHttpTypeAndUrl']" 23 :requestTypeAndUrl="model['requestHttpTypeAndUrl']"
20 :method="model['requestContentType']" 24 :method="model['requestContentType']"
21 :requestOriginUrl="model['requestOriginUrl']" 25 :requestOriginUrl="model['requestOriginUrl']"
@@ -27,19 +31,15 @@ @@ -27,19 +31,15 @@
27 <div style="margin: auto 7.5rem"> 31 <div style="margin: auto 7.5rem">
28 <TestSql 32 <TestSql
29 ref="testSqlRef" 33 ref="testSqlRef"
30 - v-if="model['requestContentType'] === '1'" 34 + v-if="[RequestMethodTypeEnum.SQL].includes(model['requestContentType'])"
31 :method="model['requestContentType']" 35 :method="model['requestContentType']"
32 /> 36 />
33 </div> 37 </div>
34 </template> 38 </template>
35 <template #slotFillAddress="{ model }"> 39 <template #slotFillAddress="{ model }">
36 <div> 40 <div>
37 - <template v-if="model['originUrlType'] === 'custom_url'">  
38 - <Tag  
39 - v-if="model['requestOriginUrl']"  
40 - color="blue"  
41 - style="width: 35vw; white-space: normal; height: auto"  
42 - > 41 + <template v-if="[RequestOriginTypeEnum.CUSTOM_URL].includes(model['originUrlType'])">
  42 + <Tag v-if="model['requestOriginUrl']" color="blue" class="tag-text">
43 {{ ` ${model['requestOriginUrl'] + model['requestHttpTypeAndUrl']?.requestUrl}` }} 43 {{ ` ${model['requestOriginUrl'] + model['requestHttpTypeAndUrl']?.requestUrl}` }}
44 </Tag> 44 </Tag>
45 </template> 45 </template>
@@ -48,9 +48,9 @@ @@ -48,9 +48,9 @@
48 <template #slotServerAddress="{ model }"> 48 <template #slotServerAddress="{ model }">
49 <div> 49 <div>
50 <Tag 50 <Tag
51 - v-if="model['originUrlType'] === 'server_url'" 51 + v-if="[RequestOriginTypeEnum.SERVER_URL].includes(model['originUrlType'])"
52 color="blue" 52 color="blue"
53 - style="width: 35vw; white-space: normal; height: auto" 53 + class="tag-text"
54 > 54 >
55 {{ 55 {{
56 ` ${`${templateFillAddress(model['requestContentType'], model['originUrlType'])}${ 56 ` ${`${templateFillAddress(model['requestContentType'], model['originUrlType'])}${
@@ -76,12 +76,12 @@ @@ -76,12 +76,12 @@
76 saveDataViewInterface, 76 saveDataViewInterface,
77 updateDataViewInterface, 77 updateDataViewInterface,
78 } from '/@/api/bigscreen/center/bigscreenCenter'; 78 } from '/@/api/bigscreen/center/bigscreenCenter';
79 -  
80 import { useMessage } from '/@/hooks/web/useMessage'; 79 import { useMessage } from '/@/hooks/web/useMessage';
81 import { useUtils } from './hooks/useUtils'; 80 import { useUtils } from './hooks/useUtils';
82 import { Tag } from 'ant-design-vue'; 81 import { Tag } from 'ant-design-vue';
  82 + import { RequestMethodTypeEnum, RequestOriginTypeEnum } from './config/enum';
83 83
84 - const { resetReqHttpType, isServerUrl } = useUtils(); 84 + const { resetReqHttpType, isServerUrl, resetUpdateSchema } = useUtils();
85 85
86 const emits = defineEmits(['success', 'register']); 86 const emits = defineEmits(['success', 'register']);
87 87
@@ -136,12 +136,7 @@ @@ -136,12 +136,7 @@
136 setFieldsValue(resetReqHttpType); 136 setFieldsValue(resetReqHttpType);
137 const title = `${!data.isUpdate ? '新增' : '修改'}公共接口`; 137 const title = `${!data.isUpdate ? '新增' : '修改'}公共接口`;
138 setDrawerProps({ title }); 138 setDrawerProps({ title });
139 - updateSchema({  
140 - field: 'requestHttpTypeAndUrl',  
141 - componentProps: {  
142 - type: '0',  
143 - },  
144 - }); 139 + updateSchema(resetUpdateSchema);
145 isUpdate.value = data.isUpdate; 140 isUpdate.value = data.isUpdate;
146 !isUpdate.value ? (putId.value = '') : (putId.value = data.record.id); 141 !isUpdate.value ? (putId.value = '') : (putId.value = data.record.id);
147 simpleRequestRef.value?.resetValue() && testSqlRef.value?.resetValue(); 142 simpleRequestRef.value?.resetValue() && testSqlRef.value?.resetValue();
@@ -174,7 +169,7 @@ @@ -174,7 +169,7 @@
174 const values = await validate(); 169 const values = await validate();
175 if (!values) return; 170 if (!values) return;
176 const isRequestHttpTypeAndUrlEmpty = values?.requestHttpTypeAndUrl; 171 const isRequestHttpTypeAndUrlEmpty = values?.requestHttpTypeAndUrl;
177 - if (values.requestContentType === '0') { 172 + if (values.requestContentType === RequestMethodTypeEnum.COMMOM) {
178 if ( 173 if (
179 !Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestHttpType') || 174 !Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestHttpType') ||
180 !Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestUrl') 175 !Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestUrl')
@@ -182,7 +177,7 @@ @@ -182,7 +177,7 @@
182 createMessage.error('请填写请求类型&地址'); 177 createMessage.error('请填写请求类型&地址');
183 throw Error('请填写请求类型&地址'); 178 throw Error('请填写请求类型&地址');
184 } 179 }
185 - } else if (values.requestContentType === '2') { 180 + } else if (values.requestContentType === RequestMethodTypeEnum.WEBSOCKET) {
186 if (!Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestUrl')) { 181 if (!Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestUrl')) {
187 createMessage.error('请填写请求类型&地址'); 182 createMessage.error('请填写请求类型&地址');
188 throw Error('请填写请求类型&地址'); 183 throw Error('请填写请求类型&地址');
@@ -190,7 +185,9 @@ @@ -190,7 +185,9 @@
190 } 185 }
191 const Objects = simpleRequestRef.value?.getValue(true); 186 const Objects = simpleRequestRef.value?.getValue(true);
192 const requestOriginUrl = 187 const requestOriginUrl =
193 - values['originUrlType'] === 'server_url' ? 'localhost' : values['requestOriginUrl']; 188 + values['originUrlType'] === RequestOriginTypeEnum.SERVER_URL
  189 + ? 'localhost'
  190 + : values['requestOriginUrl'];
194 const data = { 191 const data = {
195 ...values, 192 ...values,
196 id: !putId.value ? null : putId.value, 193 id: !putId.value ? null : putId.value,
@@ -205,7 +202,8 @@ @@ -205,7 +202,8 @@
205 requestUrl: values['requestHttpTypeAndUrl']?.requestUrl, 202 requestUrl: values['requestHttpTypeAndUrl']?.requestUrl,
206 }; 203 };
207 Reflect.deleteProperty(data, 'requestHttpTypeAndUrl'); 204 Reflect.deleteProperty(data, 'requestHttpTypeAndUrl');
208 - if (values['requestContentType'] === '2') Reflect.deleteProperty(data, 'requestHttpType'); 205 + if (values['requestContentType'] === RequestMethodTypeEnum.WEBSOCKET)
  206 + Reflect.deleteProperty(data, 'requestHttpType');
209 !putId.value ? await saveDataViewInterface(data) : await updateDataViewInterface(data); 207 !putId.value ? await saveDataViewInterface(data) : await updateDataViewInterface(data);
210 emits('success'); 208 emits('success');
211 closeDrawer(); 209 closeDrawer();
@@ -215,3 +213,11 @@ @@ -215,3 +213,11 @@
215 } 213 }
216 }; 214 };
217 </script> 215 </script>
  216 +
  217 +<style lang="less" scoped>
  218 + .tag-text {
  219 + width: 35vw;
  220 + white-space: normal;
  221 + height: auto;
  222 + }
  223 +</style>