openatc-components 0.1.26 → 0.1.28
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/OverLap/OverLap.vue +15 -8
- package/package/kisscomps/components/PatternStatus/PatternStatus.vue +75 -37
- package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +22 -22
- package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +5 -1
- package/package/kisscomps/components/Stages/index.vue +7 -3
- package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +671 -293
- package/package/kissui.min.js +1 -1
- package/package.json +1 -1
- package/src/kisscomps/components/OverLap/OverLap.vue +15 -8
- package/src/kisscomps/components/PatternStatus/PatternStatus.vue +75 -37
- package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +22 -22
- package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +5 -1
- package/src/kisscomps/components/Stages/index.vue +7 -3
- package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +671 -293
- package/src/node_modules/.package_versions.json +1 -0
- package/src/views/customchannelization.vue +1 -1
- package/src/views/intersection.vue +2 -2
- package/src/views/overView.vue +2 -2
- package/src/views/schemeconfig.vue +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="overLap" v-if="checked" :style="{'margin':this.controlData ? '20px 0 0 0' :tentative ? '0' : '0
|
|
2
|
+
<div class="overLap" v-if="checked" :style="{'margin':this.controlData ? '20px 0 0 0' :tentative ? '0' : '0 87px 0 468px'}">
|
|
3
3
|
<div class="ring-first" v-for="(list, index1) in this.overlapDatas" :key="index1">
|
|
4
4
|
<div v-for="(item,index2) in list.stageLists" :key="index2" >
|
|
5
5
|
<!-- {{list.peddirection}} -->
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
</div>
|
|
14
14
|
<div style="cursor:pointer;">
|
|
15
15
|
<div class="ring-phase">
|
|
16
|
-
<patternwalksvg :showWalk="list.peddirection" :Width="'32'" :Height="'34'"></patternwalksvg>
|
|
16
|
+
<!-- <patternwalksvg :showWalk="list.peddirection" :Width="'32'" :Height="'34'"></patternwalksvg> -->
|
|
17
17
|
<xdrdirselector Width="36px" Height="34px" :showlist="item.direction"></xdrdirselector>
|
|
18
18
|
</div>
|
|
19
19
|
<div class="box">
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
import PhaseDataModel from '../IntersectionMap/crossDirection/utils.js'
|
|
39
39
|
import CrossDiagramMgr from '../../../EdgeMgr/controller/crossDiagramMgr.js'
|
|
40
40
|
import xdrdirselector from '../XRDDirSelector/XRDDirSelector'
|
|
41
|
-
import patternwalksvg from '../PatternWalkSvg/PatternWalkSvg'
|
|
41
|
+
// import patternwalksvg from '../PatternWalkSvg/PatternWalkSvg'
|
|
42
42
|
export default {
|
|
43
43
|
name: 'over-lap',
|
|
44
44
|
components: {
|
|
45
|
-
patternwalksvg,
|
|
45
|
+
// patternwalksvg,
|
|
46
46
|
xdrdirselector
|
|
47
47
|
},
|
|
48
48
|
data () {
|
|
@@ -98,13 +98,19 @@ export default {
|
|
|
98
98
|
methods: {
|
|
99
99
|
getRoad (i) {
|
|
100
100
|
let direction = []
|
|
101
|
-
if (i) {
|
|
102
|
-
i.map(item => {
|
|
101
|
+
if (i.direction && i.direction.length > 0) {
|
|
102
|
+
i.direction.map(item => {
|
|
103
103
|
direction.push({
|
|
104
104
|
id: item,
|
|
105
|
+
peddirection: this.getPedPhasePos(i.peddirection),
|
|
105
106
|
color: '#454545'
|
|
106
107
|
})
|
|
107
108
|
})
|
|
109
|
+
} else {
|
|
110
|
+
direction.push({
|
|
111
|
+
id: '',
|
|
112
|
+
peddirection: this.getPedPhasePos(i.peddirection)
|
|
113
|
+
})
|
|
108
114
|
}
|
|
109
115
|
return direction
|
|
110
116
|
},
|
|
@@ -142,8 +148,8 @@ export default {
|
|
|
142
148
|
const find = findIndexs.includes(sta.key)
|
|
143
149
|
return {
|
|
144
150
|
...sta,
|
|
145
|
-
direction: this.getRoad(item
|
|
146
|
-
peddirection: this.getPedPhasePos(item.peddirection),
|
|
151
|
+
direction: this.getRoad(item),
|
|
152
|
+
// peddirection: this.getPedPhasePos(item.peddirection),
|
|
147
153
|
greenWidth: find ? (sta.split / this.cycle * 100).toFixed(3) + '%' : '0%',
|
|
148
154
|
redWidth: !find ? (sta.split / this.cycle * 100).toFixed(3) + '%' : '0%'
|
|
149
155
|
}
|
|
@@ -188,6 +194,7 @@ export default {
|
|
|
188
194
|
float: left;
|
|
189
195
|
// margin-left: 5px;
|
|
190
196
|
height: 34px;
|
|
197
|
+
width: 36px;
|
|
191
198
|
z-index: 999;
|
|
192
199
|
background: rgba(30, 96, 12, 0.07);
|
|
193
200
|
// margin-top:1px;
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<div slot="content">P{{item.id}}:{{item.split}}</div>
|
|
21
21
|
<div style="cursor:pointer;">
|
|
22
22
|
<div class="ring-phase">
|
|
23
|
-
<patternwalksvg :showWalk="item.peddirection" :Width="'32'" :Height="'34'"></patternwalksvg>
|
|
23
|
+
<!-- <patternwalksvg :showWalk="item.peddirection" :Width="'32'" :Height="'34'"></patternwalksvg> -->
|
|
24
24
|
<xdrdirselector Width="36px" Height="34px" :showlist="item.direction"></xdrdirselector>
|
|
25
25
|
</div>
|
|
26
26
|
<div class="box">
|
|
@@ -43,8 +43,10 @@
|
|
|
43
43
|
<div class="first-1" :style="{'width':item.redWidth,'height':'34px','background':'#f27979'}"></div>
|
|
44
44
|
</div>
|
|
45
45
|
</div>
|
|
46
|
-
<div v-if="showBarrier"
|
|
47
|
-
<div
|
|
46
|
+
<div v-if="showBarrier">
|
|
47
|
+
<div v-for="(item, index) in barrierList" :key="index + '1'">
|
|
48
|
+
<div class="divider" :style="{'left':item, 'height':barrierHeight}"></div>
|
|
49
|
+
</div>
|
|
48
50
|
</div>
|
|
49
51
|
<div v-show="(syncTime && cycle && cycle>0) || (syncTime && newCycle && newCycle>0)">
|
|
50
52
|
<div class="curTimeDiv" :style="{'left':paddingLeft, 'background-color': '#409EFF'}">{{ timeNumDevide }}</div>
|
|
@@ -63,7 +65,7 @@
|
|
|
63
65
|
</div>
|
|
64
66
|
<div style="cursor:pointer;">
|
|
65
67
|
<div class="ring-phase">
|
|
66
|
-
<patternwalksvg :showWalk="list.peddirection" :Width="'32'" :Height="'34'"></patternwalksvg>
|
|
68
|
+
<!-- <patternwalksvg :showWalk="list.peddirection" :Width="'32'" :Height="'34'"></patternwalksvg> -->
|
|
67
69
|
<xdrdirselector Width="36px" Height="34px" :showlist="list.direction"></xdrdirselector>
|
|
68
70
|
</div>
|
|
69
71
|
<div class="box" style="line-height:28px">
|
|
@@ -83,7 +85,7 @@
|
|
|
83
85
|
</div>
|
|
84
86
|
</template>
|
|
85
87
|
<script>
|
|
86
|
-
import patternwalksvg from '../PatternWalkSvg/PatternWalkSvg'
|
|
88
|
+
// import patternwalksvg from '../PatternWalkSvg/PatternWalkSvg'
|
|
87
89
|
import xdrdirselector from '../XRDDirSelector/XRDDirSelector'
|
|
88
90
|
// import PatternWalkSvg from '../IntersectionMap/crossDirection/baseImg/PatternWalkSvg'
|
|
89
91
|
import PhaseDataModel from '../IntersectionMap/crossDirection/utils.js'
|
|
@@ -91,7 +93,7 @@ import CrossDiagramMgr from '../../../EdgeMgr/controller/crossDiagramMgr.js'
|
|
|
91
93
|
export default {
|
|
92
94
|
name: 'pattern-list',
|
|
93
95
|
components: {
|
|
94
|
-
patternwalksvg,
|
|
96
|
+
// patternwalksvg,
|
|
95
97
|
xdrdirselector
|
|
96
98
|
},
|
|
97
99
|
data () {
|
|
@@ -298,6 +300,7 @@ export default {
|
|
|
298
300
|
},
|
|
299
301
|
handleStageData (data) {
|
|
300
302
|
if (!data) return
|
|
303
|
+
let peddirections = this.getPed(data)
|
|
301
304
|
let stagesTemp = []
|
|
302
305
|
let tempList = []
|
|
303
306
|
for (let stg of data) {
|
|
@@ -309,11 +312,19 @@ export default {
|
|
|
309
312
|
directionList.push(...currPhase.direction)
|
|
310
313
|
directionList = Array.from(new Set(directionList))
|
|
311
314
|
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
315
|
+
if (directionList.length === 0) {
|
|
316
|
+
tempList.push({
|
|
317
|
+
id: '',
|
|
318
|
+
color: '#606266',
|
|
319
|
+
peddirection: peddirections
|
|
320
|
+
})
|
|
321
|
+
} else {
|
|
322
|
+
tempList = directionList.map(dir => ({
|
|
323
|
+
id: dir,
|
|
324
|
+
color: '#606266',
|
|
325
|
+
peddirection: peddirections
|
|
326
|
+
}))
|
|
327
|
+
}
|
|
317
328
|
stagesTemp.push(...tempList)
|
|
318
329
|
}
|
|
319
330
|
return stagesTemp
|
|
@@ -332,7 +343,7 @@ export default {
|
|
|
332
343
|
this.stageLists = this.localPatternList[i].stagesList.map(item => {
|
|
333
344
|
return {
|
|
334
345
|
...item,
|
|
335
|
-
peddirection: this.getPed(item.phases ? item.phases : item.stages),
|
|
346
|
+
// peddirection: this.getPed(item.phases ? item.phases : item.stages),
|
|
336
347
|
direction: this.handleStageData(item.phases ? item.phases : item.stages),
|
|
337
348
|
greenWidth: (item.green / stageMaxCyle * 100).toFixed(3) + '%',
|
|
338
349
|
yellowWidth: (item.yellow / stageMaxCyle * 100).toFixed(3) + '%',
|
|
@@ -353,7 +364,7 @@ export default {
|
|
|
353
364
|
this.stageLists = this.stagesChange.map(item => {
|
|
354
365
|
return {
|
|
355
366
|
...item,
|
|
356
|
-
peddirection: this.getPed(item.phases ? item.phases : item.stages),
|
|
367
|
+
// peddirection: this.getPed(item.phases ? item.phases : item.stages),
|
|
357
368
|
direction: this.handleStageData(item.phases ? item.phases : item.stages),
|
|
358
369
|
greenWidth: (item.green / stageMaxCyle * 100).toFixed(3) + '%',
|
|
359
370
|
yellowWidth: (item.yellow / stageMaxCyle * 100).toFixed(3) + '%',
|
|
@@ -590,20 +601,46 @@ export default {
|
|
|
590
601
|
}
|
|
591
602
|
return item.id === ring.id
|
|
592
603
|
})[0]
|
|
593
|
-
|
|
604
|
+
let peddirections = []
|
|
605
|
+
for (let walk of this.sidewalkPhaseData) {
|
|
606
|
+
for (let ped of currPhase.peddirection) {
|
|
607
|
+
// if (stg === walk.phaseid) {
|
|
608
|
+
let objs = {}
|
|
609
|
+
objs.name = walk.name
|
|
610
|
+
objs.id = walk.id
|
|
611
|
+
if (ped === walk.id) {
|
|
612
|
+
peddirections.push(objs)
|
|
613
|
+
peddirections = Array.from(new Set(peddirections))
|
|
614
|
+
}
|
|
615
|
+
// }
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
if (ring.desc && ring.desc.length > 0) {
|
|
594
619
|
obj.direction = ring.desc.map(item => { // 虚相位desc为空
|
|
595
620
|
return {
|
|
596
621
|
id: item.id,
|
|
597
|
-
color: '#454545'
|
|
622
|
+
color: '#454545',
|
|
623
|
+
peddirection: peddirections
|
|
598
624
|
}
|
|
599
625
|
})
|
|
600
626
|
} else {
|
|
601
|
-
obj.direction
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
627
|
+
if (obj.direction && obj.direction > 0) {
|
|
628
|
+
obj.direction = currPhase.direction.map(item => {
|
|
629
|
+
return {
|
|
630
|
+
id: item,
|
|
631
|
+
color: '#454545',
|
|
632
|
+
peddirection: peddirections
|
|
633
|
+
}
|
|
634
|
+
})
|
|
635
|
+
} else {
|
|
636
|
+
obj.direction = [
|
|
637
|
+
{
|
|
638
|
+
id: '',
|
|
639
|
+
color: '#454545',
|
|
640
|
+
peddirection: peddirections
|
|
641
|
+
}
|
|
642
|
+
]
|
|
643
|
+
}
|
|
607
644
|
}
|
|
608
645
|
if (ring.sum) {
|
|
609
646
|
obj.split = split + ring.sum
|
|
@@ -615,22 +652,22 @@ export default {
|
|
|
615
652
|
obj.flashgreen = (currPhase.flashgreen / (this.max ? this.max : this.newCycle) * 100).toFixed(3) + '%'
|
|
616
653
|
obj.redWidth = (currPhase.redclear / (this.max ? this.max : this.newCycle) * 100).toFixed(3) + '%'
|
|
617
654
|
obj.yellowWidth = (currPhase.yellow / (this.max ? this.max : this.newCycle) * 100).toFixed(3) + '%'
|
|
618
|
-
// obj.peddirection = currPhase.peddirection
|
|
619
|
-
let peddirections = []
|
|
620
|
-
for (let walk of this.sidewalkPhaseData) {
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
}
|
|
633
|
-
obj.peddirection = peddirections
|
|
655
|
+
// // obj.peddirection = currPhase.peddirection
|
|
656
|
+
// let peddirections = []
|
|
657
|
+
// for (let walk of this.sidewalkPhaseData) {
|
|
658
|
+
// for (let ped of currPhase.peddirection) {
|
|
659
|
+
// // if (stg === walk.phaseid) {
|
|
660
|
+
// let objs = {}
|
|
661
|
+
// objs.name = walk.name
|
|
662
|
+
// objs.id = walk.id
|
|
663
|
+
// if (ped === walk.id) {
|
|
664
|
+
// peddirections.push(objs)
|
|
665
|
+
// peddirections = Array.from(new Set(peddirections))
|
|
666
|
+
// }
|
|
667
|
+
// // }
|
|
668
|
+
// }
|
|
669
|
+
// }
|
|
670
|
+
// obj.peddirection = peddirections
|
|
634
671
|
// 忽略相位不显示
|
|
635
672
|
let mode = ring.mode
|
|
636
673
|
if (mode !== 7) { // 忽略相位不显示
|
|
@@ -904,6 +941,7 @@ export default {
|
|
|
904
941
|
float: left;
|
|
905
942
|
// margin-left: 5px;
|
|
906
943
|
height: 34px;
|
|
944
|
+
width: 36px;
|
|
907
945
|
z-index: 999;
|
|
908
946
|
background: rgba(30, 96, 12, 0.2);
|
|
909
947
|
// margin-top:1px;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
|
10
10
|
* See the Mulan PSL v2 for more details.
|
|
11
11
|
**/
|
|
12
|
-
import Edgebase from '@openatc/edgebase-front'
|
|
12
|
+
// import Edgebase from '@openatc/edgebase-front'
|
|
13
13
|
let images = [{
|
|
14
14
|
id: 1,
|
|
15
15
|
// name: 'East-Straight',
|
|
@@ -123,26 +123,26 @@ let images = [{
|
|
|
123
123
|
class: 'iconfont icon-icon-test1'
|
|
124
124
|
}]
|
|
125
125
|
|
|
126
|
-
const getImages = () => {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}
|
|
126
|
+
// const getImages = () => {
|
|
127
|
+
// if (Edgebase.Store.getters.roadDirection === 'left') {
|
|
128
|
+
// // 左行下,掉头图标替换
|
|
129
|
+
// images.forEach((img) => {
|
|
130
|
+
// if (img.id === 4) {
|
|
131
|
+
// img.class = 'iconfont icon-dongtiaotou-yinni'
|
|
132
|
+
// }
|
|
133
|
+
// if (img.id === 8) {
|
|
134
|
+
// img.class = 'iconfont icon-xitiaotou-yinni'
|
|
135
|
+
// }
|
|
136
|
+
// if (img.id === 12) {
|
|
137
|
+
// img.class = 'iconfont icon-beitiaotou-yinni'
|
|
138
|
+
// }
|
|
139
|
+
// if (img.id === 16) {
|
|
140
|
+
// img.class = 'iconfont icon-nantiaotou-yinni'
|
|
141
|
+
// }
|
|
142
|
+
// })
|
|
143
|
+
// }
|
|
144
|
+
// return images
|
|
145
|
+
// }
|
|
146
146
|
|
|
147
147
|
const getDirName = (arr) => {
|
|
148
148
|
let res = ''
|
|
@@ -160,4 +160,4 @@ const getDirName = (arr) => {
|
|
|
160
160
|
return res
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
export {
|
|
163
|
+
export {getDirName}
|
|
@@ -383,7 +383,11 @@ export default {
|
|
|
383
383
|
// rings = JSON.parse(JSON.stringify(rings))
|
|
384
384
|
let mapAdd = rings.map(item => {
|
|
385
385
|
return item.map(val => {
|
|
386
|
-
|
|
386
|
+
if (val.mode !== 7) {
|
|
387
|
+
return val.value + (val.sum ? val.sum : 0)
|
|
388
|
+
} else {
|
|
389
|
+
return 0
|
|
390
|
+
}
|
|
387
391
|
})
|
|
388
392
|
})
|
|
389
393
|
let maxCycle = mapAdd.length > 0 ? mapAdd.map(item => {
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
:Width="'55'"
|
|
25
25
|
:Height="'55'" />
|
|
26
26
|
</template> -->
|
|
27
|
-
<patternwalksvg class="patternWalk"
|
|
27
|
+
<!-- <patternwalksvg class="patternWalk"
|
|
28
28
|
:showWalk="item[0].peddirection"
|
|
29
29
|
:Width="'40'"
|
|
30
|
-
:Height="'40'" />
|
|
31
|
-
<xdr-dir-selector Width="40PX" Height="40PX" :showlist="item"></xdr-dir-selector>
|
|
30
|
+
:Height="'40'" /> -->
|
|
31
|
+
<xdr-dir-selector Width="40PX" Height="40PX" :Data="showStyle" :showlist="item"></xdr-dir-selector>
|
|
32
32
|
<div style="display:flex;flex-direction:row;justify-content:center;align-items:center;">
|
|
33
33
|
<div class="current-stage-num" style="width:20%;">{{index + 1}}</div>
|
|
34
34
|
<div style="width:70%;">
|
|
@@ -99,6 +99,10 @@ export default {
|
|
|
99
99
|
},
|
|
100
100
|
data () {
|
|
101
101
|
return {
|
|
102
|
+
showStyle:{
|
|
103
|
+
top:'5PX',
|
|
104
|
+
left:'14px'
|
|
105
|
+
},
|
|
102
106
|
presetStageIndex: -1,
|
|
103
107
|
side: {key: 'pedphase1653818707546719', phaseid: 1, id: 1, name: '东人行横道'},
|
|
104
108
|
// stagesList: [],
|