openatc-components 0.4.56 → 0.4.58
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/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +4 -0
- package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +35 -1
- package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/effectPos.json +115 -0
- package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +7 -0
- package/package/kissui.min.js +1 -1
- package/package/static/img/CrossRoadsSvg.66a6236.svg +529 -0
- package/package.json +1 -1
- package/src/api/cross.js +8 -1
- package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +4 -0
- package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +35 -1
- package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/effectPos.json +115 -0
- package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +7 -0
- package/src/views/intersection.vue +10 -5
- package/static/apiconfig.json +5 -0
- package/static/img/CrossRoadsSvg.svg +529 -0
- package/package/kisscomps/components/OptimizeKanban/index.js +0 -2
- package/package/kisscomps/components/OptimizeKanban/index.vue +0 -369
- package/src/node_modules/.package_versions.json +0 -1
|
@@ -94,6 +94,10 @@
|
|
|
94
94
|
<BusMapSvg v-for="(item, index) in comdireBusPhaseData" :key="'Busmap-' + item.key + '-' + index" :Data="item" />
|
|
95
95
|
<PhaseIconSvg v-for="(item, index) in comdireBusPhaseData" :key="item.key + '-' + index" :Data="item"/>
|
|
96
96
|
</div>
|
|
97
|
+
<!-- 有效方向 -->
|
|
98
|
+
<div v-if="isVipRoute" class="effectDir">
|
|
99
|
+
<PhaseIconSvg v-for="(item, index) in effectDirData" :key="item.key + '-' + index" :Data="item" />
|
|
100
|
+
</div>
|
|
97
101
|
</div>
|
|
98
102
|
<!-- 匝道状态 -->
|
|
99
103
|
<!-- 车道相位 -->
|
|
@@ -200,6 +204,7 @@ import { getMessageByCode } from '../../../../utils/responseMessage.js'
|
|
|
200
204
|
|
|
201
205
|
import CrossDirectionConflictList from '../../../../utils/conflictList.js'
|
|
202
206
|
import RingDataModel from '../../../../utils/RingDataModel.js'
|
|
207
|
+
import { getValidDirections } from '../../../../api/cross.js'
|
|
203
208
|
|
|
204
209
|
export default {
|
|
205
210
|
name: 'crossDiagram',
|
|
@@ -395,7 +400,8 @@ export default {
|
|
|
395
400
|
isHasStageCountdown: false,
|
|
396
401
|
contrloType: 'ring',
|
|
397
402
|
isMphaseStatusDataReturnMap: new Map(), // 每个跟随相位的母相位是否返回了相位状态数据
|
|
398
|
-
overlapStatusCompareSum: 0 // 首次加载跳过比较母相位状态数据是否返回
|
|
403
|
+
overlapStatusCompareSum: 0, // 首次加载跳过比较母相位状态数据是否返回
|
|
404
|
+
effectDirData: [] // 路口有效方向
|
|
399
405
|
}
|
|
400
406
|
},
|
|
401
407
|
methods: {
|
|
@@ -859,6 +865,9 @@ export default {
|
|
|
859
865
|
// 获取车道相位、行人相位信息(坐标、名称)
|
|
860
866
|
this.mainType = this.tempType.split('-')[0]
|
|
861
867
|
this.mainDirection = this.tempType.split('-')[1]
|
|
868
|
+
if (this.isVipRoute) {
|
|
869
|
+
this.getValidDirections()
|
|
870
|
+
}
|
|
862
871
|
if (this.isVipRoute && !this.isThirdSignal) {
|
|
863
872
|
// 特勤、分组管控下,非第三方设备,按通道显示相位方向;第三方设备还是按路口相位配置显示相位方向
|
|
864
873
|
this.getChannelInfo()
|
|
@@ -1066,6 +1075,21 @@ export default {
|
|
|
1066
1075
|
this.overlapsidewalkPhaseData = Array.from(new Set(this.overlapsidewalkPhaseData.map(item => item.id)))
|
|
1067
1076
|
.map(id => this.overlapsidewalkPhaseData.find(item => item.id === id))
|
|
1068
1077
|
},
|
|
1078
|
+
getEffectDirectionPos () {
|
|
1079
|
+
this.effectDirData = []
|
|
1080
|
+
// this.effectiveDirection = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
|
|
1081
|
+
this.effectiveDirection.forEach((dir, i) => {
|
|
1082
|
+
this.effectDirData.push({
|
|
1083
|
+
key: this.CrossDiagramMgr.getUniqueKey('effectiveDir'),
|
|
1084
|
+
id: dir,
|
|
1085
|
+
name: this.PhaseDataModel.getEffectPos(dir).name,
|
|
1086
|
+
left: this.PhaseDataModel.getEffectPos(dir).x,
|
|
1087
|
+
top: this.PhaseDataModel.getEffectPos(dir).y,
|
|
1088
|
+
color: 'rgba(9, 31, 64, 0.5)'
|
|
1089
|
+
})
|
|
1090
|
+
})
|
|
1091
|
+
console.log(this.effectDirData)
|
|
1092
|
+
},
|
|
1069
1093
|
getCrossType () {
|
|
1070
1094
|
// 路口类型对应底图决策
|
|
1071
1095
|
if (this.mainType === '101') {
|
|
@@ -1459,6 +1483,16 @@ export default {
|
|
|
1459
1483
|
}
|
|
1460
1484
|
}
|
|
1461
1485
|
this.compSidewalkPhaseData = JSON.parse(JSON.stringify(curPedStatus))
|
|
1486
|
+
},
|
|
1487
|
+
getValidDirections () {
|
|
1488
|
+
getValidDirections(this.agentId).then((data) => {
|
|
1489
|
+
if (!data.data.success) {
|
|
1490
|
+
this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
|
|
1491
|
+
return
|
|
1492
|
+
}
|
|
1493
|
+
this.effectiveDirection = data.data.data.validDirections || []
|
|
1494
|
+
this.getEffectDirectionPos()
|
|
1495
|
+
})
|
|
1462
1496
|
}
|
|
1463
1497
|
},
|
|
1464
1498
|
mounted () {
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"effectDirectionList": [{
|
|
3
|
+
"id": 1,
|
|
4
|
+
"name": "东直行",
|
|
5
|
+
"ename": "East-Straight",
|
|
6
|
+
"x": "530px",
|
|
7
|
+
"y": "267px"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"id": 2,
|
|
11
|
+
"name": "东左转",
|
|
12
|
+
"ename": "East-Left",
|
|
13
|
+
"x": "530px",
|
|
14
|
+
"y": "297px"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": 3,
|
|
18
|
+
"name": "东右转",
|
|
19
|
+
"ename": "East-Right",
|
|
20
|
+
"x": "530px",
|
|
21
|
+
"y": "238px"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": 4,
|
|
25
|
+
"name": "东掉头",
|
|
26
|
+
"ename": "East-Back",
|
|
27
|
+
"x": "530px",
|
|
28
|
+
"y": "325px"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": 5,
|
|
32
|
+
"name": "西直行",
|
|
33
|
+
"ename": "West-Straight",
|
|
34
|
+
"x": "306px",
|
|
35
|
+
"y": "359px"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": 6,
|
|
39
|
+
"name": "西左转",
|
|
40
|
+
"ename": "West-Left",
|
|
41
|
+
"x": "306px",
|
|
42
|
+
"y": "329px"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": 7,
|
|
46
|
+
"name": "西右转",
|
|
47
|
+
"ename": "West-Right",
|
|
48
|
+
"x": "306px",
|
|
49
|
+
"y": "388px"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": 8,
|
|
53
|
+
"name": "西掉头",
|
|
54
|
+
"ename": "West-Back",
|
|
55
|
+
"x": "306px",
|
|
56
|
+
"y": "300px"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": 9,
|
|
60
|
+
"name": "北直行",
|
|
61
|
+
"ename": "North-Straight",
|
|
62
|
+
"x": "379px",
|
|
63
|
+
"y": "196px"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": 10,
|
|
67
|
+
"name": "北左转",
|
|
68
|
+
"ename": "North-Left",
|
|
69
|
+
"x": "408px",
|
|
70
|
+
"y": "196px"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": 11,
|
|
74
|
+
"name": "北右转",
|
|
75
|
+
"ename": "North-Right",
|
|
76
|
+
"x": "348px",
|
|
77
|
+
"y": "196px"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": 12,
|
|
81
|
+
"name": "北掉头",
|
|
82
|
+
"ename": "North-Back",
|
|
83
|
+
"x": "436px",
|
|
84
|
+
"y": "196px"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": 13,
|
|
88
|
+
"name": "南直行",
|
|
89
|
+
"ename": "South-Straight",
|
|
90
|
+
"x": "470px",
|
|
91
|
+
"y": "421px"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"id": 14,
|
|
95
|
+
"name": "南左转",
|
|
96
|
+
"ename": "South-Left",
|
|
97
|
+
"x": "440px",
|
|
98
|
+
"y": "421px"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": 15,
|
|
102
|
+
"name": "南右转",
|
|
103
|
+
"ename": "South-Right",
|
|
104
|
+
"x": "500px",
|
|
105
|
+
"y": "421px"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": 16,
|
|
109
|
+
"name": "南掉头",
|
|
110
|
+
"ename": "South-Back",
|
|
111
|
+
"x": "412px",
|
|
112
|
+
"y": "421px"
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
}
|
|
@@ -19,6 +19,7 @@ export default class PhaseDataModel {
|
|
|
19
19
|
this.RampSidePosMap = new Map() // 匝道支路坐标
|
|
20
20
|
this.BusMapMap = new Map() // 公交相位底图坐标
|
|
21
21
|
this.BusPhaseMap = new Map() // 公交相位坐标
|
|
22
|
+
this.EffectPosMap = new Map() // 有效方向坐标
|
|
22
23
|
this.roadDirection = roadDirection
|
|
23
24
|
this.Init()
|
|
24
25
|
}
|
|
@@ -28,6 +29,7 @@ export default class PhaseDataModel {
|
|
|
28
29
|
let rampJson = require('./posJson/rampPos.json')
|
|
29
30
|
let busMapJson = require('./posJson/busPos.json').busMap
|
|
30
31
|
let busPhaseJson = require('./posJson/busPos.json').busphases
|
|
32
|
+
let effectJson = require('./posJson/effectPos.json').effectDirectionList
|
|
31
33
|
if (this.roadDirection === 'left') {
|
|
32
34
|
phaseJson = require('./posJson/phasePos.left.json').phaseList
|
|
33
35
|
busMapJson = require('./posJson/busPos.left.json').busMap
|
|
@@ -39,6 +41,7 @@ export default class PhaseDataModel {
|
|
|
39
41
|
this.handlePos(rampJson.rampSidePhaseList, this.RampSidePosMap)
|
|
40
42
|
this.handlePos(busMapJson, this.BusMapMap)
|
|
41
43
|
this.handlePos(busPhaseJson, this.BusPhaseMap)
|
|
44
|
+
this.handlePos(effectJson, this.EffectPosMap)
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
handlePos (phaseJson, phaseMap) {
|
|
@@ -81,4 +84,8 @@ export default class PhaseDataModel {
|
|
|
81
84
|
getBusPhasePos (id) {
|
|
82
85
|
return this.BusPhaseMap.get(id)
|
|
83
86
|
}
|
|
87
|
+
|
|
88
|
+
getEffectPos (id) {
|
|
89
|
+
return this.EffectPosMap.get(id)
|
|
90
|
+
}
|
|
84
91
|
}
|