openatc-components 0.2.70 → 0.2.71
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 +0 -4
- package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +429 -0
- package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +60 -10
- package/package/kisscomps/components/PatternStatus/PatternStatus.vue +17 -94
- package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +5 -98
- package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +11 -7
- package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +9 -5
- package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +7 -5
- package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +41 -10
- package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +9 -5
- package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
- package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +12 -8
- package/package/kisscomps/components/Stages/index.vue +2 -1
- package/package/kisscomps/components/patternList/patternList.vue +0 -4
- package/package/kissui.min.js +1 -1
- package/package.json +1 -1
- package/src/api/cross.js +4 -0
- package/src/api/template.js +4 -0
- package/src/i18n/language/zh.js +2 -2
- package/src/kisscomps/components/BoardCard/BoardCard.vue +0 -4
- package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +60 -10
- package/src/kisscomps/components/PatternStatus/PatternStatus.vue +17 -94
- package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +5 -98
- package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +11 -7
- package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +9 -5
- package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +7 -5
- package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +41 -10
- package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +9 -5
- package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
- package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +12 -8
- package/src/kisscomps/components/Stages/index.vue +2 -1
- package/src/kisscomps/components/patternList/patternList.vue +0 -4
- package/static/styles/commonkanban.scss +3 -3
- package/static/styles/overview.scss +2 -2
- package/static/styles/schemeconfig.scss +38 -23
- package/src/node_modules/.package_versions.json +0 -1
|
@@ -11,33 +11,8 @@
|
|
|
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>
|
|
39
14
|
<!-- 环模式true -->
|
|
40
|
-
<div v-if="
|
|
15
|
+
<div v-if="this.contrloType === 'ring' || !this.contrloType">
|
|
41
16
|
<div class="ring-first" v-for="(list, index1) in patternInfo" :key="index1">
|
|
42
17
|
<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': ''">
|
|
43
18
|
<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'}">
|
|
@@ -73,7 +48,7 @@
|
|
|
73
48
|
<div class="divider" :style="{'left':item, 'height':barrierHeight}"></div>
|
|
74
49
|
</div>
|
|
75
50
|
</div>
|
|
76
|
-
<div v-show="(
|
|
51
|
+
<div v-show="(cycle && cycle>0 && this.isControl) || (newCycle && newCycle>0 && this.isControl)">
|
|
77
52
|
<div class="curTimeDiv" :style="{'left':paddingLeft }">{{ timeNumDevide }}</div>
|
|
78
53
|
<div class="curTimeLine" :style="{'left':paddingLeft, 'height':barrierHeight}"></div>
|
|
79
54
|
</div>
|
|
@@ -132,7 +107,6 @@ export default {
|
|
|
132
107
|
newCycle: this.cycles,
|
|
133
108
|
patternIds: this.patternId,
|
|
134
109
|
newPatterns: [],
|
|
135
|
-
patternRcp: [],
|
|
136
110
|
newList: [],
|
|
137
111
|
isControl: true,
|
|
138
112
|
contrloCycle: 0,
|
|
@@ -157,9 +131,6 @@ export default {
|
|
|
157
131
|
controlPhase: {
|
|
158
132
|
type: Object
|
|
159
133
|
},
|
|
160
|
-
patternType: {
|
|
161
|
-
type: String
|
|
162
|
-
},
|
|
163
134
|
contrloType: {
|
|
164
135
|
type: String
|
|
165
136
|
},
|
|
@@ -242,7 +213,7 @@ export default {
|
|
|
242
213
|
watch: {
|
|
243
214
|
controlPhase: {
|
|
244
215
|
handler: function (val, oldVal) {
|
|
245
|
-
if (val && val.curTime) {
|
|
216
|
+
if ((val && val.curTime) || val.curTime === 0) {
|
|
246
217
|
this.curtime = val.curTime
|
|
247
218
|
if (val.control === 4 || val.control === 16 || val.control === 22) {
|
|
248
219
|
this.isControl = false
|
|
@@ -271,7 +242,7 @@ export default {
|
|
|
271
242
|
}
|
|
272
243
|
this.handleBarrierHeight()
|
|
273
244
|
}
|
|
274
|
-
if (val && val.curTime) {
|
|
245
|
+
if ((val && val.curTime) || val.curTime === 0) {
|
|
275
246
|
this.curtime = val.curTime
|
|
276
247
|
if (val.control === 4 || val.control === 16 || val.control === 22) {
|
|
277
248
|
this.isControl = false
|
|
@@ -319,9 +290,6 @@ export default {
|
|
|
319
290
|
cycles: {
|
|
320
291
|
handler: function (val, oldVal) {
|
|
321
292
|
this.newCycle = this.cycles
|
|
322
|
-
if (this.patternType === 'rcp') {
|
|
323
|
-
this.handleRcp(this.patternStatusList)
|
|
324
|
-
}
|
|
325
293
|
},
|
|
326
294
|
// 深度观察监听
|
|
327
295
|
deep: true
|
|
@@ -346,9 +314,6 @@ export default {
|
|
|
346
314
|
},
|
|
347
315
|
patternStatusList: {
|
|
348
316
|
handler: function (val, oldVal) {
|
|
349
|
-
if (this.patternType === 'rcp') {
|
|
350
|
-
this.handleRcp(this.patternStatusList)
|
|
351
|
-
}
|
|
352
317
|
this.handleBarrierHeight() // 计算屏障高度
|
|
353
318
|
if (this.patternStatusList && this.newCycle) {
|
|
354
319
|
setTimeout(() => {
|
|
@@ -381,9 +346,6 @@ export default {
|
|
|
381
346
|
if (this.contrloType === 'stage') {
|
|
382
347
|
this.getStage()
|
|
383
348
|
}
|
|
384
|
-
if (this.patternType === 'rcp') {
|
|
385
|
-
this.handleRcp(this.patternStatusList)
|
|
386
|
-
}
|
|
387
349
|
},
|
|
388
350
|
methods: {
|
|
389
351
|
getPed (data) {
|
|
@@ -412,48 +374,6 @@ export default {
|
|
|
412
374
|
}
|
|
413
375
|
return ped
|
|
414
376
|
},
|
|
415
|
-
handleRcp (val) {
|
|
416
|
-
this.patternRcp = []
|
|
417
|
-
let valSplit = val.map(item => {
|
|
418
|
-
return item.map(val => {
|
|
419
|
-
return val.splitchain
|
|
420
|
-
})
|
|
421
|
-
})
|
|
422
|
-
let splitCycle = valSplit.length > 0 ? valSplit.map(item => {
|
|
423
|
-
return item.length > 0 ? item.reduce((a, b) => {
|
|
424
|
-
return a + b
|
|
425
|
-
}) : 0
|
|
426
|
-
}) : 0
|
|
427
|
-
let cycle = Math.max(...splitCycle)// 每个环的周期最大值
|
|
428
|
-
for (let rings of val) {
|
|
429
|
-
if (rings.length === 0) continue
|
|
430
|
-
let list = []
|
|
431
|
-
for (let ring of rings) {
|
|
432
|
-
if (ring.splitchain === 0) continue
|
|
433
|
-
let obj = {}
|
|
434
|
-
let split = ring.splitchain
|
|
435
|
-
obj.split = split
|
|
436
|
-
obj.cycle = cycle
|
|
437
|
-
obj.id = ring.phases
|
|
438
|
-
// if (ring.sum) {
|
|
439
|
-
// obj.sum = ring.sum
|
|
440
|
-
// obj.redWidth = ((currPhase.redclear + ring.sum) / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
|
|
441
|
-
// } else {
|
|
442
|
-
// obj.redWidth = (currPhase.redclear / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
|
|
443
|
-
// }
|
|
444
|
-
// obj.mode = ring.mode
|
|
445
|
-
obj.greenWidth = (split / (cycle > this.cycles ? cycle : this.cycles)) * 100 + '%'
|
|
446
|
-
// obj.flashgreen = (currPhase.flashgreen / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
|
|
447
|
-
// obj.yellowWidth = (currPhase.yellow / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
|
|
448
|
-
// 忽略相位不显示
|
|
449
|
-
// let mode = ring.mode
|
|
450
|
-
// if (mode !== 7) { // 忽略相位不显示
|
|
451
|
-
list.push(obj)
|
|
452
|
-
// }
|
|
453
|
-
}
|
|
454
|
-
this.patternRcp.push(list)
|
|
455
|
-
}
|
|
456
|
-
},
|
|
457
377
|
handleStageData (data) {
|
|
458
378
|
if (!data) return
|
|
459
379
|
let peddirections = this.getPed(data)
|
|
@@ -690,6 +610,7 @@ export default {
|
|
|
690
610
|
// if (stg === walk.phaseid) {
|
|
691
611
|
let objs = {}
|
|
692
612
|
objs.name = walk.name
|
|
613
|
+
objs.color = 'rgba(48,49,51,0.6)'
|
|
693
614
|
objs.id = walk.id
|
|
694
615
|
if (ped === walk.id) {
|
|
695
616
|
peddirections.push(objs)
|
|
@@ -705,7 +626,7 @@ export default {
|
|
|
705
626
|
obj.direction = ring.desc.map(item => { // 虚相位desc为空
|
|
706
627
|
return {
|
|
707
628
|
id: item.id,
|
|
708
|
-
color: '#
|
|
629
|
+
color: '#303133'
|
|
709
630
|
}
|
|
710
631
|
})
|
|
711
632
|
} else {
|
|
@@ -714,14 +635,14 @@ export default {
|
|
|
714
635
|
return {
|
|
715
636
|
id: item,
|
|
716
637
|
peddirection: peddirections,
|
|
717
|
-
color: '#
|
|
638
|
+
color: '#303133'
|
|
718
639
|
}
|
|
719
640
|
})
|
|
720
641
|
} else {
|
|
721
642
|
obj.direction = [
|
|
722
643
|
{
|
|
723
644
|
id: '',
|
|
724
|
-
color: '#
|
|
645
|
+
color: '#303133',
|
|
725
646
|
peddirection: peddirections
|
|
726
647
|
}
|
|
727
648
|
]
|
|
@@ -942,6 +863,7 @@ export default {
|
|
|
942
863
|
let objs = {}
|
|
943
864
|
objs.name = walk.name
|
|
944
865
|
objs.id = walk.id
|
|
866
|
+
objs.color = 'rgba(48,49,51,0.6)'
|
|
945
867
|
if (ped === walk.id) {
|
|
946
868
|
peddirections.push(objs)
|
|
947
869
|
peddirections = Array.from(new Set(peddirections))
|
|
@@ -956,7 +878,7 @@ export default {
|
|
|
956
878
|
obj.direction = ring.desc.map(item => { // 虚相位desc为空
|
|
957
879
|
return {
|
|
958
880
|
id: item.id,
|
|
959
|
-
color: '#
|
|
881
|
+
color: '#303133'
|
|
960
882
|
}
|
|
961
883
|
})
|
|
962
884
|
} else {
|
|
@@ -965,14 +887,14 @@ export default {
|
|
|
965
887
|
return {
|
|
966
888
|
id: item,
|
|
967
889
|
peddirection: peddirections,
|
|
968
|
-
color: '#
|
|
890
|
+
color: '#303133'
|
|
969
891
|
}
|
|
970
892
|
})
|
|
971
893
|
} else {
|
|
972
894
|
obj.direction = [
|
|
973
895
|
{
|
|
974
896
|
id: '',
|
|
975
|
-
color: '#
|
|
897
|
+
color: '#303133',
|
|
976
898
|
peddirection: peddirections
|
|
977
899
|
}
|
|
978
900
|
]
|
|
@@ -1169,6 +1091,7 @@ export default {
|
|
|
1169
1091
|
let objs = {}
|
|
1170
1092
|
objs.name = walk.name
|
|
1171
1093
|
objs.id = walk.id
|
|
1094
|
+
objs.color = 'rgba(48,49,51,0.6)'
|
|
1172
1095
|
if (ped === walk.id) {
|
|
1173
1096
|
peddirections.push(objs)
|
|
1174
1097
|
peddirections = Array.from(new Set(peddirections))
|
|
@@ -1183,7 +1106,7 @@ export default {
|
|
|
1183
1106
|
obj.direction = ring.desc.map(item => { // 虚相位desc为空
|
|
1184
1107
|
return {
|
|
1185
1108
|
id: item.id,
|
|
1186
|
-
color: '#
|
|
1109
|
+
color: '#303133',
|
|
1187
1110
|
peddirection: peddirections
|
|
1188
1111
|
}
|
|
1189
1112
|
})
|
|
@@ -1192,7 +1115,7 @@ export default {
|
|
|
1192
1115
|
obj.direction = currPhase.direction.map(item => {
|
|
1193
1116
|
return {
|
|
1194
1117
|
id: item,
|
|
1195
|
-
color: '#
|
|
1118
|
+
color: '#303133',
|
|
1196
1119
|
peddirection: peddirections
|
|
1197
1120
|
}
|
|
1198
1121
|
})
|
|
@@ -1200,7 +1123,7 @@ export default {
|
|
|
1200
1123
|
obj.direction = [
|
|
1201
1124
|
{
|
|
1202
1125
|
id: '',
|
|
1203
|
-
color: '#
|
|
1126
|
+
color: '#303133',
|
|
1204
1127
|
peddirection: peddirections
|
|
1205
1128
|
}
|
|
1206
1129
|
]
|
|
@@ -1449,7 +1372,7 @@ export default {
|
|
|
1449
1372
|
<style lang="scss" scoped>
|
|
1450
1373
|
.main-patternstatus {
|
|
1451
1374
|
position: relative;
|
|
1452
|
-
margin-bottom: 20px;
|
|
1375
|
+
/* margin-bottom: 20px; */
|
|
1453
1376
|
}
|
|
1454
1377
|
.main-patternstatus {
|
|
1455
1378
|
position: relative;
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
:overlap="overlap"
|
|
39
39
|
:patternSelect="patternSelect"
|
|
40
40
|
:allPatternList="allPatternList"
|
|
41
|
+
:isShowBack="isShowBack"
|
|
41
42
|
@closeManualModal="closeManualModal"
|
|
42
43
|
@selectModel="selectModel"
|
|
43
44
|
@selectStages="selectStages"
|
|
@@ -45,76 +46,8 @@
|
|
|
45
46
|
@closePhaseBack="closePhaseBack"
|
|
46
47
|
@closePhaseControl="closePhaseControl"
|
|
47
48
|
@selectSpecialModel="selectSpecialModelNew" />
|
|
48
|
-
<!-- <ManualControlModal
|
|
49
|
-
:controlData="controlData"
|
|
50
|
-
:modelList="modelList"
|
|
51
|
-
:patternSelect="patternSelect"
|
|
52
|
-
:patternAll="patternAll"
|
|
53
|
-
:crossStatusData="crossStatusData"
|
|
54
|
-
:phaseList="phaseList"
|
|
55
|
-
:specialcontrolList="specialcontrolList"
|
|
56
|
-
:currModel="currModel"
|
|
57
|
-
:preselectModel="preselectModel"
|
|
58
|
-
:preselectStages="preselectStages"
|
|
59
|
-
:realtimeStatusModalvisible="realtimeStatusModalvisible"
|
|
60
|
-
:funcSort="funcSort"
|
|
61
|
-
:roadDirection="roadDirection"
|
|
62
|
-
@closeManualModal="closeManualModal"
|
|
63
|
-
@selectModel="selectModel"
|
|
64
|
-
@selectStages="selectStages"
|
|
65
|
-
@patternCommit="patternCommit"
|
|
66
|
-
@selectSpecialModel="selectSpecialModel" /> -->
|
|
67
49
|
</div>
|
|
68
50
|
</transition>
|
|
69
|
-
<!-- <transition name="fade-left" mode="out-in"
|
|
70
|
-
enter-active-class="animated fadeInRight"
|
|
71
|
-
leave-active-class="animated fadeOutRight">
|
|
72
|
-
<div style="position: absolute;width: 100%;height:100%" v-show="(isOperation && isClosePhase)">
|
|
73
|
-
<ClosePhaseControlModal
|
|
74
|
-
v-if="specialPage === 'closephase'"
|
|
75
|
-
:controlData="controlData"
|
|
76
|
-
:closePhaseRings="phaseRings"
|
|
77
|
-
:sidewalkPhaseData="sidewalkPhaseData"
|
|
78
|
-
:realtimeStatusModalvisible="realtimeStatusModalvisible"
|
|
79
|
-
:roadDirection="roadDirection"
|
|
80
|
-
@closePhaseBack="closePhaseBack"
|
|
81
|
-
@closePhaseControl="closePhaseControl" /> -->
|
|
82
|
-
<!-- <LockingPhaseControlModal
|
|
83
|
-
v-if="specialPage === 'lockingphase'"
|
|
84
|
-
:roadDirection="roadDirection"
|
|
85
|
-
:phaseList="phaseList"
|
|
86
|
-
:patternStatus="statusData"
|
|
87
|
-
:lockPhaseBtnName="lockPhaseBtnName"
|
|
88
|
-
@closePhaseBack="closePhaseBack"
|
|
89
|
-
@closePhaseControl="closePhaseControl" /> -->
|
|
90
|
-
<!-- <TentativePlanControlModal
|
|
91
|
-
v-if="specialPage === 'tentativeplan'"
|
|
92
|
-
:realtimeStatusModalvisible="realtimeStatusModalvisible"
|
|
93
|
-
:controlData="controlData"
|
|
94
|
-
:phaseList="phaseList"
|
|
95
|
-
:overlap="overlap"
|
|
96
|
-
:patternSelect="patternSelect"
|
|
97
|
-
:allPatternList="allPatternList"
|
|
98
|
-
@closePhaseBack="closePhaseBack"
|
|
99
|
-
@closePhaseControl="closePhaseControl"
|
|
100
|
-
/>
|
|
101
|
-
<priorityControl
|
|
102
|
-
v-if="specialPage === 'prioritycontrol'"
|
|
103
|
-
:realtimeStatusModalvisible="realtimeStatusModalvisible"
|
|
104
|
-
:phaseList="phaseList"
|
|
105
|
-
@closePhaseBack="closePhaseBack"
|
|
106
|
-
@closePhaseControl="closePhaseControl"
|
|
107
|
-
/> -->
|
|
108
|
-
<!-- <AzimuthLocking
|
|
109
|
-
v-if="specialPage === 'azimuthlocking'"
|
|
110
|
-
:realtimeStatusModalvisible="realtimeStatusModalvisible"
|
|
111
|
-
:phaseList="phaseList"
|
|
112
|
-
:patternStatus="statusData"
|
|
113
|
-
@closePhaseBack="closePhaseBack"
|
|
114
|
-
@closePhaseControl="closePhaseControl"
|
|
115
|
-
/> -->
|
|
116
|
-
<!-- </div>
|
|
117
|
-
</transition> -->
|
|
118
51
|
|
|
119
52
|
<transition name="fade-left" mode="out-in"
|
|
120
53
|
enter-active-class="animated fadeInLeft"
|
|
@@ -240,6 +173,10 @@ export default {
|
|
|
240
173
|
isFromAtc: {
|
|
241
174
|
type: Boolean,
|
|
242
175
|
default: true
|
|
176
|
+
},
|
|
177
|
+
isShowBack: {
|
|
178
|
+
type: Boolean,
|
|
179
|
+
default: true
|
|
243
180
|
}
|
|
244
181
|
},
|
|
245
182
|
data () {
|
|
@@ -473,32 +410,6 @@ export default {
|
|
|
473
410
|
faultvisible: false,
|
|
474
411
|
isClosePhase: false, // 是否在相位关断
|
|
475
412
|
toPage: 1, // 与哪一个页面交互,1 代表路口信息页面,3代表 相位关断页面
|
|
476
|
-
specialcontrolList: [{ // 特殊控制
|
|
477
|
-
id: 23,
|
|
478
|
-
isShow: true,
|
|
479
|
-
permission: 'configer:manual:optimize',
|
|
480
|
-
iconClass: 'closephase'
|
|
481
|
-
}, {
|
|
482
|
-
id: 22,
|
|
483
|
-
isShow: true,
|
|
484
|
-
permission: 'configer:manual:optimize',
|
|
485
|
-
iconClass: 'lockingphase'
|
|
486
|
-
}, {
|
|
487
|
-
id: 100,
|
|
488
|
-
isShow: true,
|
|
489
|
-
permission: 'configer:manual:optimize',
|
|
490
|
-
iconClass: 'tentativeplan'
|
|
491
|
-
}, {
|
|
492
|
-
id: 24,
|
|
493
|
-
isShow: true,
|
|
494
|
-
permission: 'configer:manual:preempt',
|
|
495
|
-
iconClass: 'prioritycontrol'
|
|
496
|
-
}, {
|
|
497
|
-
id: 25,
|
|
498
|
-
permission: 'configer:manual:optimize',
|
|
499
|
-
isShow: this.realtimeStatusModalvisible,
|
|
500
|
-
iconClass: 'azimuthlocking'
|
|
501
|
-
}],
|
|
502
413
|
phaseRings: [],
|
|
503
414
|
curFaultList: [],
|
|
504
415
|
confirmedFault: [],
|
|
@@ -862,10 +773,6 @@ export default {
|
|
|
862
773
|
}
|
|
863
774
|
},
|
|
864
775
|
closePhaseBack () {
|
|
865
|
-
// if (!this.realtimeStatusModalvisible) {
|
|
866
|
-
// this.$emit('closePhaseBack')
|
|
867
|
-
// return
|
|
868
|
-
// }
|
|
869
776
|
this.toPage = 3
|
|
870
777
|
this.isClosePhase = false
|
|
871
778
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="tentativeplan-control">
|
|
2
|
+
<div class="tentativeplan-control manual-common-content">
|
|
3
3
|
<!-- <div class="title" style="margin-bottom: 18px;">{{$t('openatccomponents.overview.azimuthlocking')}}</div> -->
|
|
4
4
|
<el-row>
|
|
5
5
|
<el-col :span="12">
|
|
@@ -45,10 +45,10 @@
|
|
|
45
45
|
</el-col>
|
|
46
46
|
</el-row>
|
|
47
47
|
<el-row style="margin-top: 6px;">
|
|
48
|
-
<el-col :span="
|
|
48
|
+
<el-col :span="24">
|
|
49
49
|
<span class="model-label-title">{{$t('openatccomponents.overview.indirection')}}:</span>
|
|
50
50
|
</el-col>
|
|
51
|
-
<el-col :span="
|
|
51
|
+
<el-col :span="24">
|
|
52
52
|
<div class="control-model" v-for="(item, index) in imgs" :key="index">
|
|
53
53
|
<div :style="{'backgroundColor': item.bgcolor}" :class="{'single-model-select':spanIndex.indexOf(index)>-1}" class="single-model" @click="boxShow(index,item)">
|
|
54
54
|
<div v-if="item.class" :style="{color: themeColor}" :class="item.class" style="border:0px;font-size: 50px;"></div>
|
|
@@ -89,13 +89,13 @@
|
|
|
89
89
|
</div>
|
|
90
90
|
</div> -->
|
|
91
91
|
<div class="footer" v-if="realtimeStatusModalvisible">
|
|
92
|
-
<el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
93
|
-
<el-button
|
|
92
|
+
<el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
93
|
+
<el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
94
94
|
<el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
|
|
95
95
|
</div>
|
|
96
96
|
<div class="footer" v-if="!realtimeStatusModalvisible">
|
|
97
|
-
<el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
98
|
-
<el-button
|
|
97
|
+
<el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
98
|
+
<el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
99
99
|
<el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
|
|
100
100
|
</div>
|
|
101
101
|
</div>
|
|
@@ -117,6 +117,10 @@ export default {
|
|
|
117
117
|
realtimeStatusModalvisible: {
|
|
118
118
|
type: Boolean,
|
|
119
119
|
default: true
|
|
120
|
+
},
|
|
121
|
+
isShowBack: {
|
|
122
|
+
type: Boolean,
|
|
123
|
+
default: true
|
|
120
124
|
}
|
|
121
125
|
},
|
|
122
126
|
watch: {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* See the Mulan PSL v2 for more details.
|
|
11
11
|
**/
|
|
12
12
|
<template>
|
|
13
|
-
<div class="manual-control-modal closephase-control">
|
|
13
|
+
<div class="manual-control-modal closephase-control manual-common-content">
|
|
14
14
|
<!-- <div class="title" style="margin-bottom: 18px;">{{$t('openatccomponents.overview.phaseclosecontrol')}}</div> -->
|
|
15
15
|
<el-row>
|
|
16
16
|
<el-col :span="24">
|
|
@@ -61,13 +61,13 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</el-row>
|
|
63
63
|
<div class="footer" v-if="realtimeStatusModalvisible">
|
|
64
|
-
<el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
65
|
-
<el-button
|
|
64
|
+
<el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
65
|
+
<el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
66
66
|
<el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
|
|
67
67
|
</div>
|
|
68
68
|
<div class="footer" v-if="!realtimeStatusModalvisible">
|
|
69
|
-
<el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
70
|
-
<el-button
|
|
69
|
+
<el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
70
|
+
<el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
71
71
|
<el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
|
|
72
72
|
</div>
|
|
73
73
|
</div>
|
|
@@ -118,6 +118,10 @@ export default {
|
|
|
118
118
|
},
|
|
119
119
|
roadDirection: {
|
|
120
120
|
type: String
|
|
121
|
+
},
|
|
122
|
+
isShowBack: {
|
|
123
|
+
type: Boolean,
|
|
124
|
+
default: true
|
|
121
125
|
}
|
|
122
126
|
},
|
|
123
127
|
data () {
|
|
@@ -10,12 +10,11 @@
|
|
|
10
10
|
* See the Mulan PSL v2 for more details.
|
|
11
11
|
**/
|
|
12
12
|
<template>
|
|
13
|
-
<div class="lockingphase-control manual-
|
|
13
|
+
<div class="lockingphase-control manual-common-content">
|
|
14
14
|
<!-- <div class="title" style="margin-bottom: 18px;">{{$t('openatccomponents.overview.phaselocking')}}</div> -->
|
|
15
15
|
<el-row>
|
|
16
16
|
<el-col :span="12">
|
|
17
17
|
<el-form
|
|
18
|
-
:inline="true"
|
|
19
18
|
ref="manual"
|
|
20
19
|
label-position="left"
|
|
21
20
|
:model="manualInfo"
|
|
@@ -41,7 +40,6 @@
|
|
|
41
40
|
</el-col>
|
|
42
41
|
<el-col :span="12">
|
|
43
42
|
<el-form
|
|
44
|
-
:inline="true"
|
|
45
43
|
ref="manual"
|
|
46
44
|
label-position="left"
|
|
47
45
|
:model="manualInfo"
|
|
@@ -90,8 +88,8 @@
|
|
|
90
88
|
</div>
|
|
91
89
|
</el-row>
|
|
92
90
|
<div class="footer">
|
|
93
|
-
<el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
94
|
-
<el-button
|
|
91
|
+
<el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
92
|
+
<el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
95
93
|
<el-button type="primary" @click="handleLockPhase()">{{lockPhaseBtnName}}</el-button>
|
|
96
94
|
</div>
|
|
97
95
|
</div>
|
|
@@ -118,6 +116,10 @@ export default {
|
|
|
118
116
|
},
|
|
119
117
|
roadDirection: {
|
|
120
118
|
type: String
|
|
119
|
+
},
|
|
120
|
+
isShowBack: {
|
|
121
|
+
type: Boolean,
|
|
122
|
+
default: true
|
|
121
123
|
}
|
|
122
124
|
},
|
|
123
125
|
data () {
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
:phaseList="phaseList"
|
|
55
55
|
:patternStatus="statusData"
|
|
56
56
|
:lockPhaseBtnName="lockPhaseBtnName"
|
|
57
|
+
:isShowBack="isShowBack"
|
|
57
58
|
@closePhaseBack="handleClose"
|
|
58
59
|
@closePhaseControl="closePhaseControl"
|
|
59
60
|
@toAutoControl="toAutoControl" />
|
|
@@ -63,9 +64,20 @@
|
|
|
63
64
|
:realtimeStatusModalvisible="realtimeStatusModalvisible"
|
|
64
65
|
:phaseList="phaseList"
|
|
65
66
|
:patternStatus="statusData"
|
|
67
|
+
:isShowBack="isShowBack"
|
|
66
68
|
@closePhaseBack="handleClose"
|
|
67
69
|
@toAutoControl="toAutoControl"
|
|
68
70
|
/>
|
|
71
|
+
|
|
72
|
+
<div class="footer" v-if="realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
|
|
73
|
+
<el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
74
|
+
<el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
75
|
+
<el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="footer" v-if="!realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
|
|
78
|
+
<el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
79
|
+
<el-button class="3" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
|
|
80
|
+
</div>
|
|
69
81
|
</el-tab-pane>
|
|
70
82
|
<el-tab-pane :label="$t('openatccomponents.overview.specialcontrol')" name="specialcontrol">
|
|
71
83
|
<ControlModelGroup
|
|
@@ -90,6 +102,17 @@
|
|
|
90
102
|
</el-form-item>
|
|
91
103
|
</el-form>
|
|
92
104
|
</div>
|
|
105
|
+
|
|
106
|
+
<div class="footer" v-if="realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
|
|
107
|
+
<el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
108
|
+
<el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
109
|
+
<el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
|
|
110
|
+
</div>
|
|
111
|
+
<div class="footer" v-if="!realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
|
|
112
|
+
<el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
113
|
+
<el-button class="3" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
|
|
114
|
+
</div>
|
|
115
|
+
|
|
93
116
|
</el-tab-pane>
|
|
94
117
|
<el-tab-pane :label="$t('openatccomponents.overview.schemeselection')" name="schemeselection">
|
|
95
118
|
<ControlModelGroup
|
|
@@ -148,6 +171,16 @@
|
|
|
148
171
|
</pattern-list>
|
|
149
172
|
</div>
|
|
150
173
|
</div>
|
|
174
|
+
|
|
175
|
+
<div class="footer" v-if="realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
|
|
176
|
+
<el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
177
|
+
<el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
178
|
+
<el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
|
|
179
|
+
</div>
|
|
180
|
+
<div class="footer" v-if="!realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
|
|
181
|
+
<el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
182
|
+
<el-button class="3" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
|
|
183
|
+
</div>
|
|
151
184
|
</el-tab-pane>
|
|
152
185
|
<el-tab-pane :label="$t('openatccomponents.overview.others')" name="others">
|
|
153
186
|
<ControlModelGroup
|
|
@@ -167,6 +200,7 @@
|
|
|
167
200
|
:sidewalkPhaseData="sidewalkPhaseData"
|
|
168
201
|
:realtimeStatusModalvisible="realtimeStatusModalvisible"
|
|
169
202
|
:roadDirection="roadDirection"
|
|
203
|
+
:isShowBack="isShowBack"
|
|
170
204
|
@closePhaseBack="handleClose"
|
|
171
205
|
@closePhaseControl="closePhaseControl"
|
|
172
206
|
@toAutoControl="toAutoControl" />
|
|
@@ -178,6 +212,7 @@
|
|
|
178
212
|
:overlap="overlap"
|
|
179
213
|
:patternSelect="patternSelect"
|
|
180
214
|
:allPatternList="allPatternList"
|
|
215
|
+
:isShowBack="isShowBack"
|
|
181
216
|
@closePhaseBack="handleClose"
|
|
182
217
|
@closePhaseControl="closePhaseControl"
|
|
183
218
|
@toAutoControl="toAutoControl"
|
|
@@ -186,21 +221,13 @@
|
|
|
186
221
|
v-if="preselecttype === '优先控制'"
|
|
187
222
|
:realtimeStatusModalvisible="realtimeStatusModalvisible"
|
|
188
223
|
:phaseList="phaseList"
|
|
224
|
+
:isShowBack="isShowBack"
|
|
189
225
|
@closePhaseBack="handleClose"
|
|
190
226
|
@closePhaseControl="closePhaseControl"
|
|
191
227
|
@toAutoControl="toAutoControl"
|
|
192
228
|
/>
|
|
193
229
|
</el-tab-pane>
|
|
194
230
|
</el-tabs>
|
|
195
|
-
<div class="footer" v-if="realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
|
|
196
|
-
<el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
|
|
197
|
-
<el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
198
|
-
<el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
|
|
199
|
-
</div>
|
|
200
|
-
<div class="footer" v-if="!realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
|
|
201
|
-
<el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
|
|
202
|
-
<el-button class="3" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
|
|
203
|
-
</div>
|
|
204
231
|
</div>
|
|
205
232
|
</template>
|
|
206
233
|
|
|
@@ -274,7 +301,7 @@ export default {
|
|
|
274
301
|
specialcontrolList: {
|
|
275
302
|
type: Array
|
|
276
303
|
},
|
|
277
|
-
realtimeStatusModalvisible: {
|
|
304
|
+
realtimeStatusModalvisible: { // 区分是保存方案还是提交方案,保存方案没有路口实时信息
|
|
278
305
|
type: Boolean,
|
|
279
306
|
default: true
|
|
280
307
|
},
|
|
@@ -311,6 +338,10 @@ export default {
|
|
|
311
338
|
},
|
|
312
339
|
patternChooseControlList: {
|
|
313
340
|
type: Array
|
|
341
|
+
},
|
|
342
|
+
isShowBack: {
|
|
343
|
+
type: Boolean,
|
|
344
|
+
default: true
|
|
314
345
|
}
|
|
315
346
|
},
|
|
316
347
|
watch: {
|