openatc-components 0.3.92 → 0.3.94
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/package/kisscomps/components/BoardCard/BoardCard.vue +4 -0
- package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +1 -1
- package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +145 -46
- package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +4 -4
- package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +10 -11
- package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +7 -11
- package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +6 -5
- package/package/kisscomps/components/OverviewComponent/index.vue +25 -15
- package/package/kisscomps/components/PatternStatus/PatternStatus.vue +81 -1
- package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +4 -28
- package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +11 -9
- package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -21
- package/package/kisscomps/components/patternList/patternList.vue +4 -0
- package/package/kisscomps/index.js +1 -3
- package/package/kissui.min.js +1 -1
- package/package.json +1 -1
- package/src/i18n/language/en.js +0 -7
- package/src/i18n/language/zh.js +0 -7
- package/src/kisscomps/components/BoardCard/BoardCard.vue +4 -0
- package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +1 -1
- package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +145 -46
- package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +4 -4
- package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +10 -11
- package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +7 -11
- package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +6 -5
- package/src/kisscomps/components/PatternStatus/PatternStatus.vue +81 -1
- package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +4 -28
- package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +11 -9
- package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -21
- package/src/kisscomps/components/patternList/patternList.vue +4 -0
- package/src/kisscomps/index.js +1 -3
- package/src/views/intersection.vue +6 -7
- package/src/views/intersection2.vue +2 -2
- package/src/views/overView.vue +4 -17
- package/static/styles/common.scss +3 -3
- package/static/styles/dark/theme/element-dark.scss +1 -1
- package/static/styles/intersection.scss +15 -5
- package/static/styles/light/theme/element-light.scss +1 -1
- package/static/styles/schemeconfig.scss +3 -6
- package/src/kisscomps/components/OverviewComponent/index.js +0 -2
- package/src/kisscomps/components/OverviewComponent/index.vue +0 -794
|
@@ -212,8 +212,8 @@ export default {
|
|
|
212
212
|
Detector: [], // 管理所有检测器
|
|
213
213
|
DetectorChart: [], // 管理所有检测器统计图
|
|
214
214
|
motorwayicon: '',
|
|
215
|
-
IconLengh:
|
|
216
|
-
IconWdith:
|
|
215
|
+
IconLengh: 60,
|
|
216
|
+
IconWdith: 134,
|
|
217
217
|
textareaW: 200,
|
|
218
218
|
textareaH: 100,
|
|
219
219
|
pedW: 206,
|
|
@@ -389,8 +389,8 @@ export default {
|
|
|
389
389
|
h: this.IconWdith,
|
|
390
390
|
angle: 0
|
|
391
391
|
}
|
|
392
|
-
this.IconLengh =
|
|
393
|
-
this.IconWdith =
|
|
392
|
+
this.IconLengh = 60
|
|
393
|
+
this.IconWdith = 134
|
|
394
394
|
let Motorwaysitem = {
|
|
395
395
|
index: this.index,
|
|
396
396
|
id: this.motorid,
|
|
@@ -306,20 +306,19 @@ export default {
|
|
|
306
306
|
this.handleDefaultStatus()
|
|
307
307
|
}
|
|
308
308
|
},
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
309
|
+
roadDirection: {
|
|
310
|
+
handler: function (val1, val2) {
|
|
311
|
+
if (val1 !== val2) {
|
|
312
|
+
this.init()
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
316
|
agentId: {
|
|
317
317
|
handler: function (val1, val2) {
|
|
318
318
|
if (val1 !== val2) {
|
|
319
319
|
this.init()
|
|
320
320
|
}
|
|
321
|
-
}
|
|
322
|
-
immediate: true
|
|
321
|
+
}
|
|
323
322
|
}
|
|
324
323
|
},
|
|
325
324
|
data () {
|
|
@@ -703,7 +702,7 @@ export default {
|
|
|
703
702
|
},
|
|
704
703
|
getIntersectionInfo () {
|
|
705
704
|
// 获取路口信息
|
|
706
|
-
const agentid = this.agentId
|
|
705
|
+
const agentid = this.agentId || '0'
|
|
707
706
|
getIntersectionInfo(agentid).then(res => {
|
|
708
707
|
if (!res.data.success) {
|
|
709
708
|
this.isLoaded = false
|
|
@@ -1314,7 +1313,7 @@ export default {
|
|
|
1314
1313
|
}
|
|
1315
1314
|
},
|
|
1316
1315
|
mounted () {
|
|
1317
|
-
|
|
1316
|
+
this.init()
|
|
1318
1317
|
}
|
|
1319
1318
|
}
|
|
1320
1319
|
</script>
|
|
@@ -74,7 +74,8 @@ export default {
|
|
|
74
74
|
// default: 0
|
|
75
75
|
// },
|
|
76
76
|
agentId: {
|
|
77
|
-
type: String
|
|
77
|
+
type: String,
|
|
78
|
+
default: '0'
|
|
78
79
|
},
|
|
79
80
|
graphicMode: {
|
|
80
81
|
type: Boolean,
|
|
@@ -134,7 +135,7 @@ export default {
|
|
|
134
135
|
watch: {
|
|
135
136
|
$route: {
|
|
136
137
|
handler: function (val, oldVal) {
|
|
137
|
-
if (val.query !== undefined
|
|
138
|
+
if (val.query !== undefined) {
|
|
138
139
|
this.resetCrossDiagram()
|
|
139
140
|
}
|
|
140
141
|
},
|
|
@@ -154,23 +155,18 @@ export default {
|
|
|
154
155
|
this.reset = true
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
|
-
},
|
|
158
|
-
agentId: {
|
|
159
|
-
handler: function (val1, val2) {
|
|
160
|
-
if (val1 !== val2 && val2 !== undefined) {
|
|
161
|
-
this.resetCrossDiagram()
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
158
|
}
|
|
165
159
|
},
|
|
166
160
|
created () {
|
|
167
|
-
if (this.$route.query !== undefined && Object.keys(this.$route.query).length
|
|
161
|
+
if (this.$route.query !== undefined && Object.keys(this.$route.query).length) {
|
|
168
162
|
this.resetCrossDiagram()
|
|
169
163
|
}
|
|
170
164
|
},
|
|
171
165
|
mounted () {
|
|
172
166
|
this.getParentSize()
|
|
173
|
-
this.
|
|
167
|
+
if (this.isVipRoute || this.channelType) {
|
|
168
|
+
this.reset = true
|
|
169
|
+
}
|
|
174
170
|
},
|
|
175
171
|
updated () {
|
|
176
172
|
},
|
|
@@ -59,7 +59,8 @@ export default {
|
|
|
59
59
|
default: ''
|
|
60
60
|
},
|
|
61
61
|
AgentId: {
|
|
62
|
-
type: String
|
|
62
|
+
type: String,
|
|
63
|
+
default: '0'
|
|
63
64
|
},
|
|
64
65
|
Token: {
|
|
65
66
|
type: String,
|
|
@@ -92,12 +93,11 @@ export default {
|
|
|
92
93
|
},
|
|
93
94
|
watch: {
|
|
94
95
|
AgentId: {
|
|
95
|
-
handler: function (val) {
|
|
96
|
+
handler: function (val, oldVal) {
|
|
96
97
|
this.agentId = val
|
|
97
98
|
},
|
|
98
99
|
// 深度观察监听
|
|
99
|
-
deep: true
|
|
100
|
-
immediate: true
|
|
100
|
+
deep: true
|
|
101
101
|
},
|
|
102
102
|
Token: {
|
|
103
103
|
handler: function (val) {
|
|
@@ -259,7 +259,7 @@ export default {
|
|
|
259
259
|
})
|
|
260
260
|
},
|
|
261
261
|
firstInit () {
|
|
262
|
-
if (this.$route.query !== undefined && Object.keys(this.$route.query).length
|
|
262
|
+
if (this.$route.query !== undefined && Object.keys(this.$route.query).length) {
|
|
263
263
|
this.agentId = this.$route.query.agentid
|
|
264
264
|
setIframdevid(this.agentId)
|
|
265
265
|
this.registerMessage() // 注册消息
|
|
@@ -485,6 +485,7 @@ export default {
|
|
|
485
485
|
}
|
|
486
486
|
},
|
|
487
487
|
created () {
|
|
488
|
+
this.agentId = this.AgentId
|
|
488
489
|
this.setDialogWidth()
|
|
489
490
|
this.setHost(this.reqUrl)
|
|
490
491
|
this.controlFormat = new ControlFormat()
|
|
@@ -11,8 +11,33 @@
|
|
|
11
11
|
**/
|
|
12
12
|
<template>
|
|
13
13
|
<div class="main-patternstatus">
|
|
14
|
+
<!-- rcp模式 -->
|
|
15
|
+
<div v-if="patternType === 'rcp'">
|
|
16
|
+
<div class="ring-first" v-for="(list, index1) in patternRcp" :key="index1">
|
|
17
|
+
<div style="position: relative" :style="{height: '34px',paddingRight: '1px',float: 'left',width:
|
|
18
|
+
((item.split + (item.sum ? item.sum : 0)) /(item.cycle > cycles ? item.cycle : cycles)) *100 +'%',}"
|
|
19
|
+
v-for="(item, index2) in list" :key="index2">
|
|
20
|
+
<div class="first-1" :style="{ width:
|
|
21
|
+
(Number(item.greenWidth.replace('%', '')) /
|
|
22
|
+
Number((((item.split + (item.sum ? item.sum : 0)) /
|
|
23
|
+
(item.cycle > cycles ? item.cycle : cycles)) * 100 + '%').replace('%', ''))) * 100 + '%', height: '34px',background: '#7ccc66'}">
|
|
24
|
+
</div>
|
|
25
|
+
<el-tooltip placement="top-start" effect="light">
|
|
26
|
+
<div v-if="item.id" slot="content">P{{ item.id }}:{{ item.split }}</div>
|
|
27
|
+
<div v-if="item.id" style="cursor: pointer">
|
|
28
|
+
<div
|
|
29
|
+
class="box"
|
|
30
|
+
style="position: absolute; width:40px; left: 0; top: 5px"
|
|
31
|
+
>
|
|
32
|
+
<div class="ring-nums">P{{ item.id }}:{{ item.split }}</div>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</el-tooltip>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
14
39
|
<!-- 环模式true -->
|
|
15
|
-
<div v-if="this.contrloType === 'ring' || !this.contrloType">
|
|
40
|
+
<div v-if="(this.contrloType === 'ring' || !this.contrloType) && patternType !== 'rcp'">
|
|
16
41
|
<div class="ring-first" v-for="(list, index1) in patternInfo" :key="index1">
|
|
17
42
|
<div style="position: relative;" :style="{'height': '34px','float':'left','width':((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100) + '%'}" v-for="(item,index2) in list" :key="index2" :class="item.mode===7?'direction': ''">
|
|
18
43
|
<div class="first-1" :class="item.mode === 8 ? 'mask' : item.mode === 9 ? 'yellowClass' : ''" :style="{'width':Number(item.greenWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100) + '%').replace('%', ''))*100+'%','height':'34px','background':'#7ccc66'}">
|
|
@@ -117,6 +142,7 @@ export default {
|
|
|
117
142
|
newCycle: this.cycles,
|
|
118
143
|
patternIds: this.patternId,
|
|
119
144
|
newPatterns: [],
|
|
145
|
+
patternRcp: [],
|
|
120
146
|
newList: [],
|
|
121
147
|
isControl: true,
|
|
122
148
|
contrloCycle: 0,
|
|
@@ -145,6 +171,9 @@ export default {
|
|
|
145
171
|
controlPhase: {
|
|
146
172
|
type: Object
|
|
147
173
|
},
|
|
174
|
+
patternType: {
|
|
175
|
+
type: String
|
|
176
|
+
},
|
|
148
177
|
contrloType: {
|
|
149
178
|
type: String
|
|
150
179
|
},
|
|
@@ -317,6 +346,9 @@ export default {
|
|
|
317
346
|
cycles: {
|
|
318
347
|
handler: function (val, oldVal) {
|
|
319
348
|
this.newCycle = this.cycles
|
|
349
|
+
if (this.patternType === 'rcp') {
|
|
350
|
+
this.handleRcp(this.patternStatusList)
|
|
351
|
+
}
|
|
320
352
|
},
|
|
321
353
|
// 深度观察监听
|
|
322
354
|
deep: true
|
|
@@ -341,6 +373,9 @@ export default {
|
|
|
341
373
|
},
|
|
342
374
|
patternStatusList: {
|
|
343
375
|
handler: function (val, oldVal) {
|
|
376
|
+
if (this.patternType === 'rcp') {
|
|
377
|
+
this.handleRcp(this.patternStatusList)
|
|
378
|
+
}
|
|
344
379
|
this.handleBarrierHeight() // 计算屏障高度
|
|
345
380
|
if (this.patternStatusList && this.newCycle) {
|
|
346
381
|
setTimeout(() => {
|
|
@@ -373,6 +408,9 @@ export default {
|
|
|
373
408
|
if (this.contrloType === 'stage') {
|
|
374
409
|
this.getStage()
|
|
375
410
|
}
|
|
411
|
+
if (this.patternType === 'rcp') {
|
|
412
|
+
this.handleRcp(this.patternStatusList)
|
|
413
|
+
}
|
|
376
414
|
},
|
|
377
415
|
methods: {
|
|
378
416
|
getPed (data) {
|
|
@@ -401,6 +439,48 @@ export default {
|
|
|
401
439
|
}
|
|
402
440
|
return ped
|
|
403
441
|
},
|
|
442
|
+
handleRcp (val) {
|
|
443
|
+
this.patternRcp = []
|
|
444
|
+
let valSplit = val.map(item => {
|
|
445
|
+
return item.map(val => {
|
|
446
|
+
return val.splitchain
|
|
447
|
+
})
|
|
448
|
+
})
|
|
449
|
+
let splitCycle = valSplit.length > 0 ? valSplit.map(item => {
|
|
450
|
+
return item.length > 0 ? item.reduce((a, b) => {
|
|
451
|
+
return a + b
|
|
452
|
+
}) : 0
|
|
453
|
+
}) : 0
|
|
454
|
+
let cycle = Math.max(...splitCycle)// 每个环的周期最大值
|
|
455
|
+
for (let rings of val) {
|
|
456
|
+
if (rings.length === 0) continue
|
|
457
|
+
let list = []
|
|
458
|
+
for (let ring of rings) {
|
|
459
|
+
if (ring.splitchain === 0) continue
|
|
460
|
+
let obj = {}
|
|
461
|
+
let split = ring.splitchain
|
|
462
|
+
obj.split = split
|
|
463
|
+
obj.cycle = cycle
|
|
464
|
+
obj.id = ring.phases
|
|
465
|
+
// if (ring.sum) {
|
|
466
|
+
// obj.sum = ring.sum
|
|
467
|
+
// obj.redWidth = ((currPhase.redclear + ring.sum) / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
|
|
468
|
+
// } else {
|
|
469
|
+
// obj.redWidth = (currPhase.redclear / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
|
|
470
|
+
// }
|
|
471
|
+
// obj.mode = ring.mode
|
|
472
|
+
obj.greenWidth = (split / (cycle > this.cycles ? cycle : this.cycles)) * 100 + '%'
|
|
473
|
+
// obj.flashgreen = (currPhase.flashgreen / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
|
|
474
|
+
// obj.yellowWidth = (currPhase.yellow / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
|
|
475
|
+
// 忽略相位不显示
|
|
476
|
+
// let mode = ring.mode
|
|
477
|
+
// if (mode !== 7) { // 忽略相位不显示
|
|
478
|
+
list.push(obj)
|
|
479
|
+
// }
|
|
480
|
+
}
|
|
481
|
+
this.patternRcp.push(list)
|
|
482
|
+
}
|
|
483
|
+
},
|
|
404
484
|
handleStageData (data) {
|
|
405
485
|
if (!data) return
|
|
406
486
|
let peddirections = this.getPed(data)
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
:leave-active-class="toPage === 1 ? 'animated fadeOutRight' : 'animated fadeOutLeft' ">
|
|
20
20
|
<div class="new" style="position: absolute;width: 100%;height:100%;" v-show="(isOperation && !isClosePhase)">
|
|
21
21
|
<ManualControlModalNew
|
|
22
|
-
v-if="resetcomponent"
|
|
23
22
|
ref="ManualControlModalNew"
|
|
24
23
|
:residentControlList="residentControlList"
|
|
25
24
|
:specialControlList="specialControlList"
|
|
@@ -83,7 +82,6 @@
|
|
|
83
82
|
<div v-else style="height: 100%;">
|
|
84
83
|
<div class="new" style="position: absolute;width: 100%;height:100%;" v-show="(isOperation && !isClosePhase)">
|
|
85
84
|
<ManualControlModalNew
|
|
86
|
-
v-if="resetcomponent"
|
|
87
85
|
ref="ManualControlModalNew"
|
|
88
86
|
:residentControlList="residentControlList"
|
|
89
87
|
:specialControlList="specialControlList"
|
|
@@ -464,17 +462,13 @@ export default {
|
|
|
464
462
|
patternAll: [],
|
|
465
463
|
patternSelect: [], // 所有方案id
|
|
466
464
|
specialPage: '', // 哪一个特殊控制页面
|
|
467
|
-
nextcycleefficcontrol: [5, 6, 9, 10, 12, 19]
|
|
468
|
-
resetcomponent: false
|
|
465
|
+
nextcycleefficcontrol: [5, 6, 9, 10, 12, 19] // 下周期生效的控制方式
|
|
469
466
|
}
|
|
470
467
|
},
|
|
471
468
|
watch: {
|
|
472
469
|
agentId: {
|
|
473
|
-
handler: function (
|
|
474
|
-
|
|
475
|
-
this.resetComponent()
|
|
476
|
-
}
|
|
477
|
-
this.getIntersectionInfo(val1)
|
|
470
|
+
handler: function (val) {
|
|
471
|
+
this.getIntersectionInfo(val)
|
|
478
472
|
},
|
|
479
473
|
// 深度观察监听
|
|
480
474
|
deep: true
|
|
@@ -511,10 +505,9 @@ export default {
|
|
|
511
505
|
this.setHost(this.reqUrl)
|
|
512
506
|
this.PhaseDataModel = new PhaseDataModel(this.roadDirection)
|
|
513
507
|
this.CrossDiagramMgr = new CrossDiagramMgr()
|
|
508
|
+
this.getIntersectionInfo(this.agentId)
|
|
514
509
|
},
|
|
515
510
|
async mounted () {
|
|
516
|
-
this.resetcomponent = true
|
|
517
|
-
this.init()
|
|
518
511
|
if (this.realtimeStatusModalvisible === false) {
|
|
519
512
|
this.changeStatus()
|
|
520
513
|
}
|
|
@@ -525,23 +518,6 @@ export default {
|
|
|
525
518
|
this.initData()
|
|
526
519
|
},
|
|
527
520
|
methods: {
|
|
528
|
-
resetComponent () {
|
|
529
|
-
this.resetcomponent = false
|
|
530
|
-
this.$nextTick(() => {
|
|
531
|
-
this.resetcomponent = true
|
|
532
|
-
this.init()
|
|
533
|
-
})
|
|
534
|
-
},
|
|
535
|
-
init () {
|
|
536
|
-
this.getIntersectionInfo(this.agentId)
|
|
537
|
-
if (this.realtimeStatusModalvisible === false) {
|
|
538
|
-
this.changeStatus()
|
|
539
|
-
}
|
|
540
|
-
this.setPropsToken(this.Token)
|
|
541
|
-
// await this.getPhase()
|
|
542
|
-
this.getFault()
|
|
543
|
-
this.initData()
|
|
544
|
-
},
|
|
545
521
|
setHost (host) {
|
|
546
522
|
// 获取组件外传入的token,便于独立组件调用接口
|
|
547
523
|
if (host && host !== '') {
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
:model="manualInfo"
|
|
21
21
|
label-width="90px">
|
|
22
22
|
<el-form-item
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
:label="$t('openatccomponents.overview.greenclear')"
|
|
24
|
+
prop="intersection">
|
|
25
|
+
<el-input-number :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.tempGreenflash" size="small"></el-input-number>
|
|
26
|
+
</el-form-item>
|
|
27
27
|
|
|
28
28
|
<el-form-item
|
|
29
29
|
:label="$t('openatccomponents.overview.yellowflash')"
|
|
@@ -44,11 +44,13 @@
|
|
|
44
44
|
label-position="left"
|
|
45
45
|
:model="manualInfo"
|
|
46
46
|
label-width="90px">
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
|
|
48
|
+
<el-form-item
|
|
49
|
+
:label="$t('openatccomponents.overview.duration')"
|
|
50
|
+
prop="count">
|
|
51
|
+
<el-input-number :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.tempDuration" size="small"></el-input-number>
|
|
52
|
+
</el-form-item>
|
|
53
|
+
|
|
52
54
|
<el-form-item
|
|
53
55
|
:label="$t('openatccomponents.overview.allred')"
|
|
54
56
|
prop="intersection">
|
|
@@ -160,8 +160,7 @@
|
|
|
160
160
|
<div class="cross-content">
|
|
161
161
|
<div class="cross-name">{{$t('openatccomponents.overview.currentstage')}}:</div>
|
|
162
162
|
<div>
|
|
163
|
-
<Stages
|
|
164
|
-
:crossStatusData="crossStatusData"
|
|
163
|
+
<Stages :crossStatusData="crossStatusData"
|
|
165
164
|
:phaseList="phaseList"
|
|
166
165
|
@onSelectStages="onSelectStages"></Stages>
|
|
167
166
|
</div>
|
|
@@ -261,27 +260,8 @@ export default {
|
|
|
261
260
|
}
|
|
262
261
|
|
|
263
262
|
},
|
|
264
|
-
watch: {
|
|
265
|
-
agentId: {
|
|
266
|
-
handler: function (val1, val2) {
|
|
267
|
-
this.$nextTick(() => {
|
|
268
|
-
setTimeout(() => {
|
|
269
|
-
if (val1 !== val2) {
|
|
270
|
-
this.resetcomponent = false
|
|
271
|
-
this.$nextTick(() => {
|
|
272
|
-
this.resetcomponent = true
|
|
273
|
-
})
|
|
274
|
-
}
|
|
275
|
-
}, 100)
|
|
276
|
-
})
|
|
277
|
-
},
|
|
278
|
-
// 深度观察监听
|
|
279
|
-
deep: true
|
|
280
|
-
}
|
|
281
|
-
},
|
|
282
263
|
data () {
|
|
283
264
|
return {
|
|
284
|
-
resetcomponent: true
|
|
285
265
|
}
|
|
286
266
|
},
|
|
287
267
|
methods: {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<BoardCard
|
|
4
4
|
:patternId="patternId"
|
|
5
5
|
:contrloType="contrloType"
|
|
6
|
+
:patternType="patternType"
|
|
6
7
|
:stagesChange="stagesChange"
|
|
7
8
|
:isShowTip="isShowTip"
|
|
8
9
|
:patternStatusList="patternStatusList"
|
|
@@ -541,6 +542,9 @@ export default {
|
|
|
541
542
|
patternStatusList: {
|
|
542
543
|
type: Array
|
|
543
544
|
},
|
|
545
|
+
patternType: {
|
|
546
|
+
type: String
|
|
547
|
+
},
|
|
544
548
|
patternId: {
|
|
545
549
|
type: Number
|
|
546
550
|
},
|
package/src/kisscomps/index.js
CHANGED
|
@@ -32,7 +32,6 @@ import XiaoKanBan from './components/XiaoKanBan/index.vue'
|
|
|
32
32
|
import DirectionListConfiguration from './components/DirectionListConfiguration/index.js'
|
|
33
33
|
import IntersectionDirectionSelection from './components/IntersectionDirectionSelection/index.js'
|
|
34
34
|
import PhaseLegend from './components/PhaseLegend/index.js'
|
|
35
|
-
import OverviewComponent from './components/OverviewComponent/index.js'
|
|
36
35
|
import { setToken, setHost, setIsCheckPermission, setUserRoles, setPermissions } from '../utils/auth.js'
|
|
37
36
|
import componentsGlobalParam from '../store/modules/globalParam'
|
|
38
37
|
|
|
@@ -74,8 +73,7 @@ const components = {
|
|
|
74
73
|
PhaseDirectionSelect,
|
|
75
74
|
DirectionListConfiguration,
|
|
76
75
|
IntersectionDirectionSelection,
|
|
77
|
-
PhaseLegend
|
|
78
|
-
OverviewComponent
|
|
76
|
+
PhaseLegend
|
|
79
77
|
}
|
|
80
78
|
|
|
81
79
|
const language = {
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<intersection-with-interface :AgentId="agentId" />
|
|
4
3
|
<h2 class="text">实时通道路口图</h2>
|
|
5
|
-
|
|
4
|
+
<channel-realtime-intersection
|
|
6
5
|
:agentId="this.agentId"
|
|
7
6
|
:roadDirection="roadDirection"
|
|
8
7
|
:channelRealtimeStatusData="channelRealtimeStatusData"
|
|
9
|
-
/>
|
|
8
|
+
/>
|
|
10
9
|
|
|
11
10
|
<!-- 按通道获取相位的方向选择列表,特殊路口显示列表,普通路口显示模版路口图 -->
|
|
12
11
|
<h2 class="text">非第三方配置路口图(按通道显示相位方向)</h2>
|
|
13
|
-
|
|
12
|
+
<intersection-direction-selection
|
|
14
13
|
:agentId="this.agentId"
|
|
15
14
|
:choosedDirection="[14,6,13,8]"
|
|
16
15
|
:choosedPedDirection="[1]"
|
|
@@ -26,7 +25,7 @@
|
|
|
26
25
|
:choosedPedDirection="[1,2]"
|
|
27
26
|
:roadDirection="roadDirection"
|
|
28
27
|
@handleClickCrossIcon="handleClickCrossIcon" />
|
|
29
|
-
</div>
|
|
28
|
+
</div>
|
|
30
29
|
|
|
31
30
|
<!-- 显示按通道获取相位的模版路口图 -->
|
|
32
31
|
<h2 class="text">显示配置的相位路口图</h2>
|
|
@@ -162,12 +161,12 @@ export default {
|
|
|
162
161
|
return {
|
|
163
162
|
roadDirection: 'right',
|
|
164
163
|
// reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
165
|
-
agentId: '
|
|
164
|
+
agentId: 'tjblfql',
|
|
166
165
|
// agentId: '13013',
|
|
167
166
|
// agentId: '12007_390',
|
|
168
167
|
// agentId: '12014',
|
|
169
168
|
reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
170
|
-
Token: '
|
|
169
|
+
Token: 'eyJraWQiOiIxNzIxOTc3OTkzMTY4IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcyMTk4MTU5MywiaWF0IjoxNzIxOTc0MzkzfQ.vjgAFMJlM4FEHxT9K9lJQ_VsUx1fDubr4tYgMaVffS0',
|
|
171
170
|
// agentId: '30003-352',
|
|
172
171
|
// reqUrl: 'https://kints-dev.devdolphin.com/openatc',
|
|
173
172
|
// Token: 'eyJraWQiOiIxNjUwNTA5MDI2ODk2IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJ4aWFvbWluZyIsImV4cCI6MTczNjkwOTAyNiwiaWF0IjoxNjUwNTA5MDI2fQ.-s4T-uMRmB2zf9yer87USKQXLY1a12Zq5lCOnqjNmfA',
|
|
@@ -102,12 +102,12 @@ export default {
|
|
|
102
102
|
return {
|
|
103
103
|
roadDirection: 'left',
|
|
104
104
|
// reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
105
|
-
agentId: '
|
|
105
|
+
agentId: 'cllzpl',
|
|
106
106
|
// agentId: '13013',
|
|
107
107
|
// agentId: '12007_390',
|
|
108
108
|
// agentId: '12014',
|
|
109
109
|
reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
110
|
-
Token: '
|
|
110
|
+
Token: 'eyJraWQiOiIxNzEwNzU4MTU3Njk0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiIxMjM0NTYiLCJleHAiOjE3MTM4ODgwMDAsImlhdCI6MTcxMDY5MTIwMH0.vicLABPjoZEWmHr12-5FXMbjYmEKv-WSTVRROR1eOME',
|
|
111
111
|
// agentId: '30003-352',
|
|
112
112
|
// reqUrl: 'https://kints-dev.devdolphin.com/openatc',
|
|
113
113
|
// Token: 'eyJraWQiOiIxNjUwNTA5MDI2ODk2IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJ4aWFvbWluZyIsImV4cCI6MTczNjkwOTAyNiwiaWF0IjoxNjUwNTA5MDI2fQ.-s4T-uMRmB2zf9yer87USKQXLY1a12Zq5lCOnqjNmfA',
|
package/src/views/overView.vue
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="test1">
|
|
3
|
-
|
|
3
|
+
<overview
|
|
4
4
|
:AgentId="agentId"
|
|
5
5
|
:reqUrl="reqUrl"
|
|
6
6
|
:modeName="modeName"
|
|
7
7
|
:controlName="controlName"
|
|
8
8
|
:isShowState="isShowState"
|
|
9
9
|
:isShowMode="isShowMode"
|
|
10
|
-
:Token="Token"></overview>
|
|
11
|
-
<el-button @click="handleChangeOverview">切换overview组件</el-button>
|
|
12
|
-
<overview-component :AgentId="agentId" />
|
|
10
|
+
:Token="Token"></overview>
|
|
13
11
|
</div>
|
|
14
12
|
</template>
|
|
15
13
|
|
|
@@ -21,23 +19,12 @@ export default {
|
|
|
21
19
|
isShowMode: true,
|
|
22
20
|
modeName: '交警遥控',
|
|
23
21
|
controlName: '步进',
|
|
24
|
-
agentId: '
|
|
25
|
-
|
|
26
|
-
agentid2: '13013',
|
|
27
|
-
sum: 0,
|
|
28
|
-
Token: 'eyJraWQiOiIxNzI5ODIxNjcyNTQ3IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcyOTgyNTI3MiwiaWF0IjoxNzI5ODE4MDcyfQ._C-0Cf3CQYx3tpGPAF-973Km8ekzJhAm4XwpNKFgSfk',
|
|
22
|
+
agentId: 'jmlxhl',
|
|
23
|
+
Token: 'eyJraWQiOiIxNzA4OTA5NDk2ODcxIiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcwODk1MjY5NiwiaWF0IjoxNzA4OTA5NDk2fQ.FI0gzBQFLyQsj95LG56lVZxb6WYlr2-datNsyv6fF-I',
|
|
29
24
|
reqUrl: 'http://192.168.13.103:10003/openatc'
|
|
30
25
|
}
|
|
31
26
|
},
|
|
32
27
|
methods: {
|
|
33
|
-
handleChangeOverview () {
|
|
34
|
-
if (this.sum % 2 === 0) {
|
|
35
|
-
this.agentId = this.agentid1
|
|
36
|
-
} else {
|
|
37
|
-
this.agentId = this.agentid2
|
|
38
|
-
}
|
|
39
|
-
this.sum++
|
|
40
|
-
}
|
|
41
28
|
},
|
|
42
29
|
watch: {
|
|
43
30
|
},
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
|
|
12
12
|
// 全局滚动条样式
|
|
13
13
|
::-webkit-scrollbar {
|
|
14
|
-
width:
|
|
15
|
-
height:
|
|
14
|
+
width: 12PX;
|
|
15
|
+
height: 12PX;
|
|
16
16
|
}
|
|
17
17
|
::-webkit-scrollbar-thumb {
|
|
18
18
|
// 滚动条的滑块
|
|
19
|
-
border-radius:
|
|
19
|
+
border-radius: 4px;
|
|
20
20
|
background: rgba(144, 147, 153, 0.3);
|
|
21
21
|
}
|
|
22
22
|
::-webkit-scrollbar-corner{
|
|
@@ -34,7 +34,7 @@ $--button-danger-font-color: #FFFFFF;
|
|
|
34
34
|
$--button-success-font-color: #FFFFFF;
|
|
35
35
|
$--radio-button-checked-font-color: #FFFFFF;
|
|
36
36
|
$--radio-font-color: $--color-text-secondary;
|
|
37
|
-
$--tag-info-color:
|
|
37
|
+
$--tag-info-color: $--color-text-placeholder;
|
|
38
38
|
$--tooltip-color: $--color-white;
|
|
39
39
|
$--checkbox-font-color: $--color-text-secondary;
|
|
40
40
|
|
|
@@ -38,6 +38,9 @@
|
|
|
38
38
|
zoom: 0.9;
|
|
39
39
|
|
|
40
40
|
}
|
|
41
|
+
.centerText .text {
|
|
42
|
+
font-size: 14px;
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
45
|
/*当屏幕小于等于1440px的屏幕样式*/
|
|
43
46
|
@media only screen and (max-width: 1440px){
|
|
@@ -46,6 +49,9 @@
|
|
|
46
49
|
zoom: 0.8;
|
|
47
50
|
|
|
48
51
|
}
|
|
52
|
+
.centerText .text {
|
|
53
|
+
font-size: 18px;
|
|
54
|
+
}
|
|
49
55
|
}
|
|
50
56
|
/*当屏幕小于等于1280px的屏幕样式*/
|
|
51
57
|
@media only screen and (max-width: 1280px){
|
|
@@ -53,6 +59,9 @@
|
|
|
53
59
|
// transform: scale(0.65);
|
|
54
60
|
zoom: 0.65;
|
|
55
61
|
}
|
|
62
|
+
.centerText .text {
|
|
63
|
+
font-size: 20px;
|
|
64
|
+
}
|
|
56
65
|
}
|
|
57
66
|
/*当屏幕小于等于960px的屏幕样式*/
|
|
58
67
|
@media only screen and (max-width: 960px){
|
|
@@ -60,6 +69,9 @@
|
|
|
60
69
|
// transform: scale(0.5);
|
|
61
70
|
zoom: 0.5;
|
|
62
71
|
}
|
|
72
|
+
.centerText .text {
|
|
73
|
+
font-size: 14px;
|
|
74
|
+
}
|
|
63
75
|
}
|
|
64
76
|
/*当屏幕小于等于720px的屏幕样式*/
|
|
65
77
|
@media only screen and (max-width: 720px){
|
|
@@ -67,6 +79,9 @@
|
|
|
67
79
|
// transform: scale(0.45);
|
|
68
80
|
zoom: 0.45;
|
|
69
81
|
}
|
|
82
|
+
.centerText .text {
|
|
83
|
+
font-size: 14px;
|
|
84
|
+
}
|
|
70
85
|
}
|
|
71
86
|
// 小屏幕打开首页适配样式
|
|
72
87
|
.minifont {
|
|
@@ -173,9 +188,4 @@
|
|
|
173
188
|
color: $--color-text-primary;
|
|
174
189
|
font-size:30PX;
|
|
175
190
|
}
|
|
176
|
-
.centerText {
|
|
177
|
-
.text {
|
|
178
|
-
font-size: 18PX;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
191
|
}
|
|
@@ -34,7 +34,7 @@ $--card-background-selected: #c1e0ff;
|
|
|
34
34
|
// $--button-success-font-color: #FFFFFF;
|
|
35
35
|
// $--radio-button-checked-font-color: #FFFFFF;
|
|
36
36
|
// $--radio-font-color: $--color-text-secondary;
|
|
37
|
-
$--tag-info-color:
|
|
37
|
+
// $--tag-info-color: $--color-text-placeholder;
|
|
38
38
|
// $--tooltip-color: $--color-white;
|
|
39
39
|
// $--checkbox-font-color: $--color-text-secondary;
|
|
40
40
|
|