openatc-components 0.3.93 → 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 +13 -18
- package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +8 -17
- package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +18 -22
- 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 +13 -18
- package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +8 -17
- package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +18 -22
- 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 +4 -4
- package/src/views/overView.vue +4 -22
- 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 -804
|
@@ -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,
|
|
@@ -222,10 +222,6 @@ export default {
|
|
|
222
222
|
type: Boolean,
|
|
223
223
|
devault: true
|
|
224
224
|
},
|
|
225
|
-
isShowMessage: {
|
|
226
|
-
type: Boolean,
|
|
227
|
-
default: true
|
|
228
|
-
},
|
|
229
225
|
roadDirection: {
|
|
230
226
|
type: String
|
|
231
227
|
},
|
|
@@ -310,20 +306,19 @@ export default {
|
|
|
310
306
|
this.handleDefaultStatus()
|
|
311
307
|
}
|
|
312
308
|
},
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
309
|
+
roadDirection: {
|
|
310
|
+
handler: function (val1, val2) {
|
|
311
|
+
if (val1 !== val2) {
|
|
312
|
+
this.init()
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
},
|
|
320
316
|
agentId: {
|
|
321
317
|
handler: function (val1, val2) {
|
|
322
318
|
if (val1 !== val2) {
|
|
323
319
|
this.init()
|
|
324
320
|
}
|
|
325
|
-
}
|
|
326
|
-
immediate: true
|
|
321
|
+
}
|
|
327
322
|
}
|
|
328
323
|
},
|
|
329
324
|
data () {
|
|
@@ -707,7 +702,7 @@ export default {
|
|
|
707
702
|
},
|
|
708
703
|
getIntersectionInfo () {
|
|
709
704
|
// 获取路口信息
|
|
710
|
-
const agentid = this.agentId
|
|
705
|
+
const agentid = this.agentId || '0'
|
|
711
706
|
getIntersectionInfo(agentid).then(res => {
|
|
712
707
|
if (!res.data.success) {
|
|
713
708
|
this.isLoaded = false
|
|
@@ -722,7 +717,7 @@ export default {
|
|
|
722
717
|
}
|
|
723
718
|
}
|
|
724
719
|
msg = msg + ' - ' + commomMsg
|
|
725
|
-
this
|
|
720
|
+
this.$message.error(msg)
|
|
726
721
|
return
|
|
727
722
|
}
|
|
728
723
|
this.isLoaded = true
|
|
@@ -1044,10 +1039,10 @@ export default {
|
|
|
1044
1039
|
let res = data.data
|
|
1045
1040
|
if (!res.success) {
|
|
1046
1041
|
if (res.code === '4003') {
|
|
1047
|
-
this
|
|
1042
|
+
this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
|
|
1048
1043
|
return
|
|
1049
1044
|
}
|
|
1050
|
-
this
|
|
1045
|
+
this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
|
|
1051
1046
|
return
|
|
1052
1047
|
}
|
|
1053
1048
|
let channelList = res.data.data.channelList.filter(ele => ele.type !== undefined)
|
|
@@ -1318,7 +1313,7 @@ export default {
|
|
|
1318
1313
|
}
|
|
1319
1314
|
},
|
|
1320
1315
|
mounted () {
|
|
1321
|
-
|
|
1316
|
+
this.init()
|
|
1322
1317
|
}
|
|
1323
1318
|
}
|
|
1324
1319
|
</script>
|
|
@@ -41,14 +41,13 @@
|
|
|
41
41
|
:clickMode="clickMode"
|
|
42
42
|
:isThirdSignal="isThirdSignal"
|
|
43
43
|
:channelType="channelType"
|
|
44
|
-
:isShowMessage ="isShowMessage"
|
|
45
44
|
@handleClickCrossIcon="handleClickCrossIcon" />
|
|
46
45
|
</div>
|
|
47
46
|
</div>
|
|
48
47
|
</template>
|
|
49
48
|
|
|
50
49
|
<script>
|
|
51
|
-
import CrossDiagram from './crossDirection/crossDiagram
|
|
50
|
+
import CrossDiagram from './crossDirection/crossDiagram'
|
|
52
51
|
import { setToken } from '../../../utils/auth.js'
|
|
53
52
|
export default {
|
|
54
53
|
name: 'intersection-base-map',
|
|
@@ -75,7 +74,8 @@ export default {
|
|
|
75
74
|
// default: 0
|
|
76
75
|
// },
|
|
77
76
|
agentId: {
|
|
78
|
-
type: String
|
|
77
|
+
type: String,
|
|
78
|
+
default: '0'
|
|
79
79
|
},
|
|
80
80
|
graphicMode: {
|
|
81
81
|
type: Boolean,
|
|
@@ -85,10 +85,6 @@ export default {
|
|
|
85
85
|
type: Boolean,
|
|
86
86
|
default: true
|
|
87
87
|
},
|
|
88
|
-
isShowMessage: {
|
|
89
|
-
type: Boolean,
|
|
90
|
-
default: true
|
|
91
|
-
},
|
|
92
88
|
roadDirection: {
|
|
93
89
|
type: String,
|
|
94
90
|
default: 'right'
|
|
@@ -139,7 +135,7 @@ export default {
|
|
|
139
135
|
watch: {
|
|
140
136
|
$route: {
|
|
141
137
|
handler: function (val, oldVal) {
|
|
142
|
-
if (val.query !== undefined
|
|
138
|
+
if (val.query !== undefined) {
|
|
143
139
|
this.resetCrossDiagram()
|
|
144
140
|
}
|
|
145
141
|
},
|
|
@@ -159,23 +155,18 @@ export default {
|
|
|
159
155
|
this.reset = true
|
|
160
156
|
}
|
|
161
157
|
}
|
|
162
|
-
},
|
|
163
|
-
agentId: {
|
|
164
|
-
handler: function (val1, val2) {
|
|
165
|
-
if (val1 !== val2 && val2 !== undefined) {
|
|
166
|
-
this.resetCrossDiagram()
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
158
|
}
|
|
170
159
|
},
|
|
171
160
|
created () {
|
|
172
|
-
if (this.$route.query !== undefined && Object.keys(this.$route.query).length
|
|
161
|
+
if (this.$route.query !== undefined && Object.keys(this.$route.query).length) {
|
|
173
162
|
this.resetCrossDiagram()
|
|
174
163
|
}
|
|
175
164
|
},
|
|
176
165
|
mounted () {
|
|
177
166
|
this.getParentSize()
|
|
178
|
-
this.
|
|
167
|
+
if (this.isVipRoute || this.channelType) {
|
|
168
|
+
this.reset = true
|
|
169
|
+
}
|
|
179
170
|
},
|
|
180
171
|
updated () {
|
|
181
172
|
},
|
package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue
CHANGED
|
@@ -23,7 +23,6 @@
|
|
|
23
23
|
:stateName="stateName"
|
|
24
24
|
:isShowMode="isShowMode"
|
|
25
25
|
:isShowState="isShowState"
|
|
26
|
-
:isShowMessage ="isShowMessage"
|
|
27
26
|
:isShowInterval="isShowInterval"
|
|
28
27
|
@onSelectStages="onSelectStages"/>
|
|
29
28
|
</div>
|
|
@@ -60,7 +59,8 @@ export default {
|
|
|
60
59
|
default: ''
|
|
61
60
|
},
|
|
62
61
|
AgentId: {
|
|
63
|
-
type: String
|
|
62
|
+
type: String,
|
|
63
|
+
default: '0'
|
|
64
64
|
},
|
|
65
65
|
Token: {
|
|
66
66
|
type: String,
|
|
@@ -74,10 +74,6 @@ export default {
|
|
|
74
74
|
type: Boolean,
|
|
75
75
|
default: true
|
|
76
76
|
},
|
|
77
|
-
isShowMessage: {
|
|
78
|
-
type: Boolean,
|
|
79
|
-
default: true
|
|
80
|
-
},
|
|
81
77
|
isShowState: {
|
|
82
78
|
type: Boolean,
|
|
83
79
|
devault: false
|
|
@@ -97,12 +93,11 @@ export default {
|
|
|
97
93
|
},
|
|
98
94
|
watch: {
|
|
99
95
|
AgentId: {
|
|
100
|
-
handler: function (val) {
|
|
96
|
+
handler: function (val, oldVal) {
|
|
101
97
|
this.agentId = val
|
|
102
98
|
},
|
|
103
99
|
// 深度观察监听
|
|
104
|
-
deep: true
|
|
105
|
-
immediate: true
|
|
100
|
+
deep: true
|
|
106
101
|
},
|
|
107
102
|
Token: {
|
|
108
103
|
handler: function (val) {
|
|
@@ -145,7 +140,7 @@ export default {
|
|
|
145
140
|
}
|
|
146
141
|
}
|
|
147
142
|
msg = msg + ' - ' + commomMsg
|
|
148
|
-
this
|
|
143
|
+
this.$message.error(msg)
|
|
149
144
|
if (this.isResend) {
|
|
150
145
|
this.reSend()
|
|
151
146
|
}
|
|
@@ -197,7 +192,7 @@ export default {
|
|
|
197
192
|
// this.devStatus = 2
|
|
198
193
|
this.clearPatternInterval() // 清除其他定时器
|
|
199
194
|
this.clearVolumeInterval()
|
|
200
|
-
this
|
|
195
|
+
this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale) + ' - ' + commomMsg)
|
|
201
196
|
if (this.isResend) {
|
|
202
197
|
this.reSend()
|
|
203
198
|
}
|
|
@@ -213,7 +208,7 @@ export default {
|
|
|
213
208
|
}
|
|
214
209
|
}
|
|
215
210
|
msg = msg + ' - ' + commomMsg
|
|
216
|
-
this
|
|
211
|
+
this.$message.error(msg)
|
|
217
212
|
this.clearPatternInterval() // 清除其他定时器
|
|
218
213
|
if (this.isResend) {
|
|
219
214
|
this.reSend()
|
|
@@ -227,7 +222,7 @@ export default {
|
|
|
227
222
|
this.controlData = this.controlFormat.handleGetData(param)
|
|
228
223
|
this.$emit('getTscControl', data)
|
|
229
224
|
}).catch(error => {
|
|
230
|
-
this
|
|
225
|
+
this.$message.error(error)
|
|
231
226
|
console.log(error)
|
|
232
227
|
})
|
|
233
228
|
},
|
|
@@ -240,7 +235,7 @@ export default {
|
|
|
240
235
|
if (!res.data.success) {
|
|
241
236
|
let commomMsg = this.$t('openatccomponents.overview.signalID') + ': ' + this.AgentId
|
|
242
237
|
let msg = getMessageByCode(res.data.code, this.$i18n.locale) + ', ' + commomMsg
|
|
243
|
-
this
|
|
238
|
+
this.$message.error(msg)
|
|
244
239
|
return
|
|
245
240
|
}
|
|
246
241
|
let devParams = res.data.data.jsonparam
|
|
@@ -264,7 +259,7 @@ export default {
|
|
|
264
259
|
})
|
|
265
260
|
},
|
|
266
261
|
firstInit () {
|
|
267
|
-
if (this.$route.query !== undefined && Object.keys(this.$route.query).length
|
|
262
|
+
if (this.$route.query !== undefined && Object.keys(this.$route.query).length) {
|
|
268
263
|
this.agentId = this.$route.query.agentid
|
|
269
264
|
setIframdevid(this.agentId)
|
|
270
265
|
this.registerMessage() // 注册消息
|
|
@@ -300,7 +295,7 @@ export default {
|
|
|
300
295
|
let success = data.data.data.content.success
|
|
301
296
|
if (success !== 0) {
|
|
302
297
|
let errormsg = 'openatccomponents.overview.putTscControlError' + success
|
|
303
|
-
this
|
|
298
|
+
this.$message.error(this.$t(errormsg))
|
|
304
299
|
return
|
|
305
300
|
}
|
|
306
301
|
}
|
|
@@ -335,7 +330,7 @@ export default {
|
|
|
335
330
|
}
|
|
336
331
|
if (!data.data.success) {
|
|
337
332
|
if (data.data.code === '4003') {
|
|
338
|
-
this
|
|
333
|
+
this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
|
|
339
334
|
return
|
|
340
335
|
}
|
|
341
336
|
let parrenterror = getMessageByCode(data.data.code, this.$i18n.locale)
|
|
@@ -344,10 +339,10 @@ export default {
|
|
|
344
339
|
let childErrorCode = data.data.data.errorCode
|
|
345
340
|
if (childErrorCode) {
|
|
346
341
|
let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
|
|
347
|
-
this
|
|
342
|
+
this.$message.error(parrenterror + ',' + childerror)
|
|
348
343
|
}
|
|
349
344
|
} else {
|
|
350
|
-
this
|
|
345
|
+
this.$message.error(parrenterror)
|
|
351
346
|
}
|
|
352
347
|
return
|
|
353
348
|
}
|
|
@@ -364,7 +359,7 @@ export default {
|
|
|
364
359
|
controlData: controlData
|
|
365
360
|
}
|
|
366
361
|
}).catch(error => {
|
|
367
|
-
this
|
|
362
|
+
this.$message.error(error)
|
|
368
363
|
console.log(error)
|
|
369
364
|
})
|
|
370
365
|
},
|
|
@@ -373,10 +368,10 @@ export default {
|
|
|
373
368
|
let res = data.data
|
|
374
369
|
if (!res.success) {
|
|
375
370
|
if (res.code === '4003') {
|
|
376
|
-
this
|
|
371
|
+
this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
|
|
377
372
|
return
|
|
378
373
|
}
|
|
379
|
-
this
|
|
374
|
+
this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
|
|
380
375
|
return
|
|
381
376
|
}
|
|
382
377
|
this.phaseList = res.data.data.phaseList
|
|
@@ -490,6 +485,7 @@ export default {
|
|
|
490
485
|
}
|
|
491
486
|
},
|
|
492
487
|
created () {
|
|
488
|
+
this.agentId = this.AgentId
|
|
493
489
|
this.setDialogWidth()
|
|
494
490
|
this.setHost(this.reqUrl)
|
|
495
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
|
},
|
|
@@ -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 = {
|