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
|
},
|
package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue
CHANGED
|
@@ -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()
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
:stateName="stateName"
|
|
21
21
|
:crossStatusData="crossStatusData"
|
|
22
22
|
:agentId="agentId"
|
|
23
|
+
:isShowMessage ="isShowMessage"
|
|
24
|
+
:isShowInterval="isShowInterval"
|
|
23
25
|
:roadDirection="roadDirection" />
|
|
24
26
|
<channelization
|
|
25
27
|
v-if="curHomePage === 'Channelization'"
|
|
@@ -132,6 +134,14 @@ export default {
|
|
|
132
134
|
type: String,
|
|
133
135
|
default: 'right'
|
|
134
136
|
},
|
|
137
|
+
isShowInterval: {
|
|
138
|
+
type: Boolean,
|
|
139
|
+
default: true
|
|
140
|
+
},
|
|
141
|
+
isShowMessage: {
|
|
142
|
+
type: Boolean,
|
|
143
|
+
default: true
|
|
144
|
+
},
|
|
135
145
|
isfromatc: {
|
|
136
146
|
type: Boolean,
|
|
137
147
|
default: true
|
|
@@ -318,10 +328,10 @@ export default {
|
|
|
318
328
|
// let childErrorCode = data.data.data.errorCode
|
|
319
329
|
// if (childErrorCode) {
|
|
320
330
|
// let childerror = getMessageByCode(data.data.data.errorCode, _this.$i18n.locale)
|
|
321
|
-
// _this.$message.error(parrenterror + ',' + childerror)
|
|
331
|
+
// _this.isShowMessage && _this.$message.error(parrenterror + ',' + childerror)
|
|
322
332
|
// }
|
|
323
333
|
// } else {
|
|
324
|
-
// _this.$message.error(parrenterror)
|
|
334
|
+
// _this.isShowMessage && _this.$message.error(parrenterror)
|
|
325
335
|
// }
|
|
326
336
|
_this.curHomePage = 'Graphical'
|
|
327
337
|
return
|
|
@@ -361,7 +371,7 @@ export default {
|
|
|
361
371
|
let success = data.data.data.content.success
|
|
362
372
|
if (success !== 0) {
|
|
363
373
|
let errormsg = 'openatccomponents.overview.putTscControlError' + success
|
|
364
|
-
this.$message.error(this.$t(errormsg))
|
|
374
|
+
this.isShowMessage && this.$message.error(this.$t(errormsg))
|
|
365
375
|
return
|
|
366
376
|
}
|
|
367
377
|
}
|
|
@@ -371,10 +381,10 @@ export default {
|
|
|
371
381
|
let childErrorCode = data.data.data.errorCode
|
|
372
382
|
if (childErrorCode) {
|
|
373
383
|
let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
|
|
374
|
-
this.$message.error(parrenterror + ',' + childerror)
|
|
384
|
+
this.isShowMessage && this.$message.error(parrenterror + ',' + childerror)
|
|
375
385
|
}
|
|
376
386
|
} else {
|
|
377
|
-
this.$message.error(parrenterror)
|
|
387
|
+
this.isShowMessage && this.$message.error(parrenterror)
|
|
378
388
|
}
|
|
379
389
|
if (this.isResend) {
|
|
380
390
|
this.reSend()
|
|
@@ -436,7 +446,7 @@ export default {
|
|
|
436
446
|
let success = data.data.data.content.success
|
|
437
447
|
if (success !== 0) {
|
|
438
448
|
let errormsg = 'openatccomponents.overview.putTscControlError' + success
|
|
439
|
-
this.$message.error(this.$t(errormsg))
|
|
449
|
+
this.isShowMessage && this.$message.error(this.$t(errormsg))
|
|
440
450
|
return
|
|
441
451
|
}
|
|
442
452
|
}
|
|
@@ -444,7 +454,7 @@ export default {
|
|
|
444
454
|
// this.devStatus = 2
|
|
445
455
|
this.clearPatternInterval() // 清除其他定时器
|
|
446
456
|
this.clearVolumeInterval()
|
|
447
|
-
this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
|
|
457
|
+
this.isShowMessage && this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
|
|
448
458
|
if (this.isResend) {
|
|
449
459
|
this.reSend()
|
|
450
460
|
}
|
|
@@ -456,10 +466,10 @@ export default {
|
|
|
456
466
|
let childErrorCode = data.data.data.errorCode
|
|
457
467
|
if (childErrorCode) {
|
|
458
468
|
let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
|
|
459
|
-
this.$message.error(parrenterror + ',' + childerror)
|
|
469
|
+
this.isShowMessage && this.$message.error(parrenterror + ',' + childerror)
|
|
460
470
|
}
|
|
461
471
|
} else {
|
|
462
|
-
this.$message.error(parrenterror)
|
|
472
|
+
this.isShowMessage && this.$message.error(parrenterror)
|
|
463
473
|
}
|
|
464
474
|
this.clearPatternInterval() // 清除其他定时器
|
|
465
475
|
this.clearVolumeInterval()
|
|
@@ -479,7 +489,7 @@ export default {
|
|
|
479
489
|
console.log('this.controlData', this.controlData)
|
|
480
490
|
this.checkStage(this.controlData)
|
|
481
491
|
}).catch(error => {
|
|
482
|
-
// this.$message.error(error)
|
|
492
|
+
// this.isShowMessage && this.$message.error(error)
|
|
483
493
|
console.log(error)
|
|
484
494
|
})
|
|
485
495
|
},
|
|
@@ -702,7 +712,7 @@ export default {
|
|
|
702
712
|
queryDevParams () {
|
|
703
713
|
queryDevice(this.AgentId).then(res => {
|
|
704
714
|
if (!res.data.success) {
|
|
705
|
-
this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
|
|
715
|
+
this.isShowMessage && this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
|
|
706
716
|
return
|
|
707
717
|
}
|
|
708
718
|
let devParams = res.data.data.jsonparam
|
|
@@ -734,7 +744,7 @@ export default {
|
|
|
734
744
|
let success = data.data.data.content.success
|
|
735
745
|
if (success !== 0) {
|
|
736
746
|
let errormsg = 'openatccomponents.overview.putTscControlError' + success
|
|
737
|
-
this.$message.error(this.$t(errormsg))
|
|
747
|
+
this.isShowMessage && this.$message.error(this.$t(errormsg))
|
|
738
748
|
return
|
|
739
749
|
}
|
|
740
750
|
}
|
|
@@ -744,10 +754,10 @@ export default {
|
|
|
744
754
|
let childErrorCode = data.data.data.errorCode
|
|
745
755
|
if (childErrorCode) {
|
|
746
756
|
let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
|
|
747
|
-
this.$message.error(parrenterror + ',' + childerror)
|
|
757
|
+
this.isShowMessage && this.$message.error(parrenterror + ',' + childerror)
|
|
748
758
|
}
|
|
749
759
|
} else {
|
|
750
|
-
this.$message.error(parrenterror)
|
|
760
|
+
this.isShowMessage && this.$message.error(parrenterror)
|
|
751
761
|
}
|
|
752
762
|
return
|
|
753
763
|
}
|
|
@@ -759,7 +769,7 @@ export default {
|
|
|
759
769
|
getPlatform () {
|
|
760
770
|
queryDevice(this.AgentId).then(res => {
|
|
761
771
|
if (!res.data.success) {
|
|
762
|
-
this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
|
|
772
|
+
this.isShowMessage && this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
|
|
763
773
|
return
|
|
764
774
|
}
|
|
765
775
|
let devParams = res.data.data.jsonparam
|
|
@@ -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
|
},
|
|
@@ -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 = {
|