openatc-components 0.1.189 → 0.1.191
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/DirectionListConfiguration/DirectionListConfiguration.vue +436 -0
- package/package/kisscomps/components/DirectionListConfiguration/index.js +2 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pedeastward.vue +35 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pednorthward.vue +30 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pedsouthward.vue +35 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pedwestward.vue +41 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -0
- package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -0
- package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +127 -0
- package/package/kisscomps/components/IntersectionDirectionSelection/index.js +2 -0
- package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +0 -1
- package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +429 -0
- package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1272 -0
- package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +239 -16
- package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +88 -14
- package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +88 -15
- package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +24 -8
- package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +24 -8
- package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +50 -2
- package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +6 -0
- package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +28 -1
- package/package/kisscomps/index.js +5 -1
- package/package/kissui.min.js +1 -1
- package/package.json +1 -1
- package/src/EdgeMgr/controller/crossDiagramMgr.js +5 -1
- package/src/api/param.js +11 -0
- package/src/icons/demo_index.html +8146 -0
- package/src/icons/iconfont.css +219 -3
- package/src/icons/iconfont.js +1 -1
- package/src/icons/iconfont.json +378 -0
- package/src/icons/iconfont.ttf +0 -0
- package/src/icons/iconfont.woff +0 -0
- package/src/icons/iconfont.woff2 +0 -0
- package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +436 -0
- package/src/kisscomps/components/DirectionListConfiguration/index.js +2 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pedeastward.vue +35 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pednorthward.vue +30 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pedsouthward.vue +35 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pedwestward.vue +41 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -0
- package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -0
- package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +127 -0
- package/src/kisscomps/components/IntersectionDirectionSelection/index.js +2 -0
- package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +0 -1
- package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1272 -0
- package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +239 -16
- package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +88 -14
- package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +88 -15
- package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +24 -8
- package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +24 -8
- package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +50 -2
- package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +6 -0
- package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +28 -1
- package/src/kisscomps/index.js +5 -1
- package/src/utils/conflct.js +233 -0
- package/src/utils/conflictList.js +87 -0
- package/src/utils/phasedesc.js +37 -17
- package/src/views/intersection.vue +62 -12
- package/src/views/overView.vue +1 -1
- package/static/styles/uiComponents.scss +52 -0
- package/src/node_modules/.package_versions.json +0 -1
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
// import store from '../store'
|
|
2
|
+
import { uploadTscParams } from '../api/param'
|
|
3
|
+
import { Message } from 'element-ui'
|
|
4
|
+
import { getMessageByCode } from '../utils/responseMessage'
|
|
5
|
+
import i18n from '../i18n/index'
|
|
6
|
+
export async function computedRelation (id) {
|
|
7
|
+
let uploadData = await UploadTscParam(id)
|
|
8
|
+
if (!uploadData) return
|
|
9
|
+
let result = []
|
|
10
|
+
let channel = uploadData.channelList
|
|
11
|
+
// let channel = store.getters.globalParamModel.getParamsByType('channelList')
|
|
12
|
+
let tableData = channel.map(item => {
|
|
13
|
+
return {
|
|
14
|
+
id: item.id,
|
|
15
|
+
peddirection: item.realtype && item.realtype === 'peddirection' ? item.realdir : [],
|
|
16
|
+
phasedirection: item.realtype && item.realtype === 'direction' ? item.realdir : []
|
|
17
|
+
}
|
|
18
|
+
})
|
|
19
|
+
let colorArray = getDefaul(uploadData)
|
|
20
|
+
tableData.forEach(itemA => {
|
|
21
|
+
(uploadData.channelGreenConflictInfo.length > 0 ? uploadData.channelGreenConflictInfo : colorArray).forEach(itemB => {
|
|
22
|
+
if (itemA.id === itemB.channelid) {
|
|
23
|
+
// 处理peddirection
|
|
24
|
+
itemA.peddirection.forEach(pedDir => {
|
|
25
|
+
if (pedDir > 0) {
|
|
26
|
+
result.push({
|
|
27
|
+
direction: pedDir,
|
|
28
|
+
type: 'pedphase',
|
|
29
|
+
laneConflictList: [],
|
|
30
|
+
conflictchannel: itemB.greenconflict,
|
|
31
|
+
pedConflictList: []
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
// 处理phasedirection
|
|
36
|
+
itemA.phasedirection.forEach(phaseDir => {
|
|
37
|
+
if (phaseDir > 0) {
|
|
38
|
+
result.push({
|
|
39
|
+
direction: phaseDir,
|
|
40
|
+
type: 'phase',
|
|
41
|
+
conflictchannel: itemB.greenconflict,
|
|
42
|
+
laneConflictList: [],
|
|
43
|
+
pedConflictList: []
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
})
|
|
49
|
+
})
|
|
50
|
+
result.forEach(item => {
|
|
51
|
+
item.conflictchannel.forEach(aaaValue => {
|
|
52
|
+
channel.forEach(cha => {
|
|
53
|
+
if (cha.id === aaaValue) {
|
|
54
|
+
if (cha.realtype === 'direction') {
|
|
55
|
+
item.laneConflictList.push(...cha.realdir)
|
|
56
|
+
} else if (cha.realtype === 'peddirection') {
|
|
57
|
+
item.pedConflictList.push(...cha.realdir)
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
})
|
|
62
|
+
delete item.conflictchannel
|
|
63
|
+
})
|
|
64
|
+
console.log(result, 'result')
|
|
65
|
+
return result
|
|
66
|
+
}
|
|
67
|
+
export function getDefaul (data) {
|
|
68
|
+
let phaseList = data.phaseList
|
|
69
|
+
let overlaplList = data.overlaplList
|
|
70
|
+
let channel = data.channelList
|
|
71
|
+
let newPhase = phaseList.map(item => {
|
|
72
|
+
return {
|
|
73
|
+
id: item.id,
|
|
74
|
+
concurrent: item.concurrent
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
let newOverlap = overlaplList.map(item => {
|
|
78
|
+
return {
|
|
79
|
+
id: item.id,
|
|
80
|
+
includedphases: item.includedphases
|
|
81
|
+
}
|
|
82
|
+
})
|
|
83
|
+
let newChannel = channel.map(item => {
|
|
84
|
+
return {
|
|
85
|
+
id: item.id,
|
|
86
|
+
controltype: item.controltype,
|
|
87
|
+
controlsource: item.controlsource
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
let defaultList = newChannel.map(cha => {
|
|
91
|
+
if (cha.controltype === 2 || cha.controltype === 3) {
|
|
92
|
+
for (let i = 0; i < newPhase.length; i++) {
|
|
93
|
+
if (cha.controlsource === newPhase[i].id) {
|
|
94
|
+
return {
|
|
95
|
+
id: cha.id,
|
|
96
|
+
controlsource: cha.controlsource,
|
|
97
|
+
newCurren: newPhase[i].concurrent
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
} else if (cha.controltype === 4 || cha.controltype === 5) {
|
|
102
|
+
let newLap = newOverlap.map(item => {
|
|
103
|
+
let phaList = []
|
|
104
|
+
if (item.id === cha.controlsource) {
|
|
105
|
+
phaList.push(...item.includedphases)
|
|
106
|
+
}
|
|
107
|
+
// for (let h = 0; h < item.includedphases.length; h++) {
|
|
108
|
+
// for (let k = 0; k < newPhase.length; k++) {
|
|
109
|
+
// if (item.includedphases[h] === newPhase[k].id) {
|
|
110
|
+
// phaList.push(...newPhase[k].concurrent)
|
|
111
|
+
// }
|
|
112
|
+
// }
|
|
113
|
+
// }
|
|
114
|
+
return {
|
|
115
|
+
id: item.id,
|
|
116
|
+
concurrent: Array.from(new Set(phaList))
|
|
117
|
+
}
|
|
118
|
+
})
|
|
119
|
+
for (let i = 0; i < newLap.length; i++) {
|
|
120
|
+
if (cha.controlsource === newLap[i].id) {
|
|
121
|
+
return {
|
|
122
|
+
id: cha.id,
|
|
123
|
+
controlsource: newLap[i].concurrent,
|
|
124
|
+
newCurren: newLap[i].concurrent
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
} else {
|
|
129
|
+
return {
|
|
130
|
+
id: cha.id,
|
|
131
|
+
controlsource: cha.controlsource,
|
|
132
|
+
newCurren: []
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
})
|
|
136
|
+
// this.colorArray = this.transform(defaultList)
|
|
137
|
+
const ret = defaultList.map((i, idx) => {
|
|
138
|
+
const result = []
|
|
139
|
+
let greenconflict = []
|
|
140
|
+
defaultList.forEach((j, jdx) => {
|
|
141
|
+
if (idx !== jdx) {
|
|
142
|
+
const ic = Array.isArray(i.controlsource) ? i.controlsource : [i.controlsource]
|
|
143
|
+
const jc = Array.isArray(j.controlsource) ? j.controlsource : [j.controlsource]
|
|
144
|
+
let hasDuplicate = false
|
|
145
|
+
for (let i = 0; i < ic.length; i++) {
|
|
146
|
+
for (let j = 0; j < jc.length; j++) {
|
|
147
|
+
if (ic[i] === jc[j]) {
|
|
148
|
+
hasDuplicate = true
|
|
149
|
+
break
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (hasDuplicate) {
|
|
153
|
+
break
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
const isRelation = ic.some(x => jc.some(y => newPhase.find(m => m.id === x && m.concurrent.includes(y))))
|
|
157
|
+
if (isRelation || hasDuplicate) {
|
|
158
|
+
result.push(j.id)
|
|
159
|
+
} else {
|
|
160
|
+
greenconflict.push(j.id)
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
})
|
|
164
|
+
i.result = result
|
|
165
|
+
i.greenconflict = greenconflict
|
|
166
|
+
return i
|
|
167
|
+
})
|
|
168
|
+
let newFlict = ret.map(r => {
|
|
169
|
+
return {
|
|
170
|
+
channelid: r.id,
|
|
171
|
+
greenOther: r.result,
|
|
172
|
+
greenconflict: r.greenconflict
|
|
173
|
+
}
|
|
174
|
+
})
|
|
175
|
+
return newFlict
|
|
176
|
+
}
|
|
177
|
+
export function UploadTscParam (id) {
|
|
178
|
+
return uploadTscParams(id).then(data => {
|
|
179
|
+
if (!data.data.success) {
|
|
180
|
+
if (data.data.code === '4002' && data.data.data.errorCode === '4209') {
|
|
181
|
+
let success = data.data.data.content.success
|
|
182
|
+
if (success !== 0) {
|
|
183
|
+
let errormsg = 'openatccomponents.overview.putTscControlError' + success
|
|
184
|
+
Message.error(this.$t(errormsg))
|
|
185
|
+
return
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
if (data.data.code === '4002') { // 错误应答
|
|
189
|
+
// 子类型错误
|
|
190
|
+
let childErrorCode = data.data.data.errorCode
|
|
191
|
+
if (childErrorCode) {
|
|
192
|
+
Message.error(getMessageByCode(data.data.data.errorCode, i18n.locale))
|
|
193
|
+
return
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
Message.error(getMessageByCode(data.data.code, i18n.locale))
|
|
197
|
+
return
|
|
198
|
+
}
|
|
199
|
+
if (Object.keys(data.data.data.data).length === 0) {
|
|
200
|
+
Message.error(this.$t('edge.errorTip.noSchemeUpload'))
|
|
201
|
+
return
|
|
202
|
+
}
|
|
203
|
+
let {customInfo, ...allTscParam} = data.data.data.data
|
|
204
|
+
if (allTscParam.manualpanel === undefined) {
|
|
205
|
+
allTscParam.manualpanel = {}
|
|
206
|
+
}
|
|
207
|
+
if (allTscParam.channellock === undefined) {
|
|
208
|
+
allTscParam.channellock = []
|
|
209
|
+
}
|
|
210
|
+
if (allTscParam.channelList === undefined) {
|
|
211
|
+
allTscParam.channelList = []
|
|
212
|
+
}
|
|
213
|
+
if (allTscParam.overlaplList === undefined) {
|
|
214
|
+
allTscParam.overlaplList = []
|
|
215
|
+
}
|
|
216
|
+
if (allTscParam.detectorList === undefined) {
|
|
217
|
+
allTscParam.detectorList = []
|
|
218
|
+
}
|
|
219
|
+
if (allTscParam.pedestrainDetectorList === undefined) {
|
|
220
|
+
allTscParam.pedestrainDetectorList = []
|
|
221
|
+
}
|
|
222
|
+
if (allTscParam.preemptList === undefined) {
|
|
223
|
+
allTscParam.preemptList = []
|
|
224
|
+
}
|
|
225
|
+
if (allTscParam.channelGreenConflictInfo === undefined) {
|
|
226
|
+
allTscParam.channelGreenConflictInfo = []
|
|
227
|
+
}
|
|
228
|
+
if (allTscParam.singleoptim === undefined) {
|
|
229
|
+
allTscParam.singleoptim = []
|
|
230
|
+
}
|
|
231
|
+
return allTscParam
|
|
232
|
+
})
|
|
233
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { computedRelation } from './conflct.js'
|
|
2
|
+
export default class CrossDirectionConflictList {
|
|
3
|
+
constructor (agentid, choosedDirection, choosedPedDirection) {
|
|
4
|
+
this.agentid = agentid
|
|
5
|
+
this.conflictList = []
|
|
6
|
+
this.phaseConflictMap = new Map()
|
|
7
|
+
this.pedPhaseConflictMap = new Map()
|
|
8
|
+
this.allConflictDir = []
|
|
9
|
+
this.allPedConflictDir = []
|
|
10
|
+
this.choosedDirection = choosedDirection
|
|
11
|
+
this.choosedPedDirection = choosedPedDirection
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
getConflictListByAgentid () {
|
|
15
|
+
return new Promise((resolve, reject) => {
|
|
16
|
+
computedRelation(this.agentid).then(res => {
|
|
17
|
+
if (!res) return
|
|
18
|
+
this.conflictList = res
|
|
19
|
+
this.setAllConflictMap()
|
|
20
|
+
resolve(res)
|
|
21
|
+
})
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
setAllConflictMap () {
|
|
26
|
+
for (let i = 0; i < this.conflictList.length; i++) {
|
|
27
|
+
let item = this.conflictList[i]
|
|
28
|
+
if (item.type === 'phase') {
|
|
29
|
+
this.phaseConflictMap.set(item.direction, item)
|
|
30
|
+
}
|
|
31
|
+
if (item.type === 'pedphase') {
|
|
32
|
+
this.pedPhaseConflictMap.set(item.direction, item)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// console.log(this.phaseConflictMap)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
getOneDirConflict (dir, type) {
|
|
39
|
+
let conflictDir = []
|
|
40
|
+
let conflictPedDir = []
|
|
41
|
+
if (type === 'phase') {
|
|
42
|
+
let phaseInfo = this.phaseConflictMap.get(dir)
|
|
43
|
+
if (!phaseInfo) return
|
|
44
|
+
conflictDir = phaseInfo.laneConflictList
|
|
45
|
+
conflictPedDir = phaseInfo.pedConflictList
|
|
46
|
+
}
|
|
47
|
+
if (type === 'pedphase') {
|
|
48
|
+
let pedPhaseInfo = this.pedPhaseConflictMap.get(dir)
|
|
49
|
+
if (!pedPhaseInfo) return
|
|
50
|
+
conflictDir = pedPhaseInfo.laneConflictList
|
|
51
|
+
conflictPedDir = pedPhaseInfo.pedConflictList
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
conflictDir,
|
|
55
|
+
conflictPedDir
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
getListDirConflict (choosedDirection, choosedPedDirection) {
|
|
60
|
+
for (let i = 0; i < choosedDirection.length; i++) {
|
|
61
|
+
let phaseConflict = this.getOneDirConflict(choosedDirection[i], 'phase')
|
|
62
|
+
if (phaseConflict) {
|
|
63
|
+
let conflictDirArr = phaseConflict.conflictDir
|
|
64
|
+
let conflictPedDirArr = phaseConflict.conflictPedDir
|
|
65
|
+
this.allConflictDir = this.allConflictDir.concat(conflictDirArr)
|
|
66
|
+
this.allPedConflictDir = this.allPedConflictDir.concat(conflictPedDirArr)
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
for (let i = 0; i < choosedPedDirection.length; i++) {
|
|
70
|
+
let pedPhaseConflict = this.getOneDirConflict(choosedPedDirection[i], 'pedphase')
|
|
71
|
+
if (pedPhaseConflict) {
|
|
72
|
+
let conflictDirArr = pedPhaseConflict.conflictDir
|
|
73
|
+
let conflictPedDirArr = pedPhaseConflict.conflictPedDir
|
|
74
|
+
this.allConflictDir = this.allConflictDir.concat(conflictDirArr)
|
|
75
|
+
this.allPedConflictDir = this.allPedConflictDir.concat(conflictPedDirArr)
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
this.allConflictDir = Array.from(new Set(this.allConflictDir))
|
|
79
|
+
this.allPedConflictDir = Array.from(new Set(this.allPedConflictDir))
|
|
80
|
+
// console.log(this.allConflictDir)
|
|
81
|
+
// console.log(this.allPedConflictDir)
|
|
82
|
+
return {
|
|
83
|
+
allConflictDir: this.allConflictDir,
|
|
84
|
+
allPedConflictDir: this.allPedConflictDir
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
package/src/utils/phasedesc.js
CHANGED
|
@@ -15,85 +15,105 @@
|
|
|
15
15
|
* @Date: Create in 13:41 2019/3/26
|
|
16
16
|
* @Modified By:
|
|
17
17
|
*/
|
|
18
|
-
const images = [{
|
|
18
|
+
export const images = [{
|
|
19
19
|
id: 1,
|
|
20
20
|
zname: '东直行',
|
|
21
|
-
ename: 'East-Straight'
|
|
21
|
+
ename: 'East-Straight',
|
|
22
|
+
class: 'iconfont icon-dongzhihang'
|
|
22
23
|
},
|
|
23
24
|
{
|
|
24
25
|
id: 2,
|
|
25
26
|
zname: '东左转',
|
|
26
|
-
ename: 'East-Left'
|
|
27
|
+
ename: 'East-Left',
|
|
28
|
+
class: 'iconfont icon-dongzuozhuan'
|
|
27
29
|
},
|
|
28
30
|
{
|
|
29
31
|
id: 3,
|
|
30
32
|
zname: '东右转',
|
|
31
|
-
ename: 'East-Right'
|
|
33
|
+
ename: 'East-Right',
|
|
34
|
+
class: 'iconfont icon-dongyouzhuan'
|
|
32
35
|
},
|
|
33
36
|
{
|
|
34
37
|
id: 4,
|
|
35
38
|
zname: '东掉头',
|
|
36
|
-
ename: 'East-Back'
|
|
39
|
+
ename: 'East-Back',
|
|
40
|
+
class: 'iconfont icon-dongdiaotou',
|
|
41
|
+
leftclass: 'iconfont icon-dongdiaotouzuohang'
|
|
37
42
|
},
|
|
38
43
|
{
|
|
39
44
|
id: 5,
|
|
40
45
|
zname: '西直行',
|
|
41
|
-
ename: 'West-Straight'
|
|
46
|
+
ename: 'West-Straight',
|
|
47
|
+
class: 'iconfont icon-xizhihang'
|
|
42
48
|
},
|
|
43
49
|
{
|
|
44
50
|
id: 6,
|
|
45
51
|
zname: '西左转',
|
|
46
|
-
ename: 'West-Left'
|
|
52
|
+
ename: 'West-Left',
|
|
53
|
+
class: 'iconfont icon-xizuozhuan'
|
|
47
54
|
},
|
|
48
55
|
{
|
|
49
56
|
id: 7,
|
|
50
57
|
zname: '西右转',
|
|
51
|
-
ename: 'West-Right'
|
|
58
|
+
ename: 'West-Right',
|
|
59
|
+
class: 'iconfont icon-xiyouzhuan'
|
|
52
60
|
},
|
|
53
61
|
{
|
|
54
62
|
id: 8,
|
|
55
63
|
zname: '西掉头',
|
|
56
|
-
ename: 'West-Back'
|
|
64
|
+
ename: 'West-Back',
|
|
65
|
+
class: 'iconfont icon-xidiaotou',
|
|
66
|
+
leftclass: 'iconfont icon-xidiaotouzuohang'
|
|
57
67
|
},
|
|
58
68
|
{
|
|
59
69
|
id: 9,
|
|
60
70
|
zname: '北直行',
|
|
61
|
-
ename: 'North-Straight'
|
|
71
|
+
ename: 'North-Straight',
|
|
72
|
+
class: 'iconfont icon-beizhihang'
|
|
62
73
|
},
|
|
63
74
|
{
|
|
64
75
|
id: 10,
|
|
65
76
|
zname: '北左转',
|
|
66
|
-
ename: 'North-Left'
|
|
77
|
+
ename: 'North-Left',
|
|
78
|
+
class: 'iconfont icon-beizuozhuan'
|
|
67
79
|
},
|
|
68
80
|
{
|
|
69
81
|
id: 11,
|
|
70
82
|
zname: '北右转',
|
|
71
|
-
ename: 'North-Right'
|
|
83
|
+
ename: 'North-Right',
|
|
84
|
+
class: 'iconfont icon-beiyouzhuan'
|
|
72
85
|
},
|
|
73
86
|
{
|
|
74
87
|
id: 12,
|
|
75
88
|
zname: '北掉头',
|
|
76
|
-
ename: 'North-Back'
|
|
89
|
+
ename: 'North-Back',
|
|
90
|
+
class: 'iconfont icon-beidiaotou',
|
|
91
|
+
leftclass: 'iconfont icon-beidiaotouzuohang'
|
|
77
92
|
},
|
|
78
93
|
{
|
|
79
94
|
id: 13,
|
|
80
95
|
zname: '南直行',
|
|
81
|
-
ename: 'South-Straight'
|
|
96
|
+
ename: 'South-Straight',
|
|
97
|
+
class: 'iconfont icon-nanzhihang'
|
|
82
98
|
},
|
|
83
99
|
{
|
|
84
100
|
id: 14,
|
|
85
101
|
zname: '南左转',
|
|
86
|
-
ename: 'South-Left'
|
|
102
|
+
ename: 'South-Left',
|
|
103
|
+
class: 'iconfont icon-nanzuozhuan'
|
|
87
104
|
},
|
|
88
105
|
{
|
|
89
106
|
id: 15,
|
|
90
107
|
zname: '南右转',
|
|
91
|
-
ename: 'South-Right'
|
|
108
|
+
ename: 'South-Right',
|
|
109
|
+
class: 'iconfont icon-nanyouzhuan'
|
|
92
110
|
},
|
|
93
111
|
{
|
|
94
112
|
id: 16,
|
|
95
113
|
zname: '南掉头',
|
|
96
|
-
ename: 'South-Back'
|
|
114
|
+
ename: 'South-Back',
|
|
115
|
+
class: 'iconfont icon-nandiaotou',
|
|
116
|
+
leftclass: 'iconfont icon-nandiaotouzuohang'
|
|
97
117
|
}]
|
|
98
118
|
|
|
99
119
|
export function getPhaseDesc (list, language) {
|
|
@@ -1,11 +1,49 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
|
|
3
|
+
<!-- <h2>静态路口图</h2> -->
|
|
4
|
+
<!-- <intersection-base-map
|
|
5
|
+
ref="intersectionMap"
|
|
6
|
+
:crossStatusData="crossStatusData"
|
|
7
|
+
:agentId="agentId"
|
|
8
|
+
:clickMode="true" /> -->
|
|
9
|
+
|
|
10
|
+
<!-- 显示按通道获取相位的模版路口图 -->
|
|
11
|
+
<h2 class="text">显示配置的相位路口图</h2>
|
|
12
|
+
<intersection-base-map
|
|
13
|
+
ref="intersectionMap"
|
|
14
|
+
:crossStatusData="crossStatusData"
|
|
15
|
+
agentId="bclgkxl"
|
|
16
|
+
isVipRoute
|
|
17
|
+
:choosedDirection="[1,2,3]"
|
|
18
|
+
:choosedPedDirection="[3,4]"
|
|
19
|
+
:roadDirection="roadDirection" />
|
|
20
|
+
|
|
21
|
+
<!-- 按通道获取相位的方向选择列表,特殊路口显示列表,普通路口显示模版路口图 -->
|
|
22
|
+
<h2 class="text">非第三方配置路口图</h2>
|
|
23
|
+
<intersection-direction-selection
|
|
24
|
+
:agentId="this.agentId"
|
|
25
|
+
:choosedDirection="[14,6,13,8]"
|
|
26
|
+
:choosedPedDirection="[1]"
|
|
27
|
+
:roadDirection="roadDirection"
|
|
28
|
+
@handleClickCrossIcon="handleClickCrossIcon" />
|
|
29
|
+
|
|
30
|
+
<h2 class="text">第三方配置路口图</h2>
|
|
31
|
+
<div>
|
|
32
|
+
<intersection-direction-selection
|
|
33
|
+
:agentId="this.agentId"
|
|
34
|
+
thirdSignal
|
|
35
|
+
:choosedDirection="[5,6,7,8,13]"
|
|
36
|
+
:choosedPedDirection="[1,2]"
|
|
37
|
+
:roadDirection="roadDirection"
|
|
38
|
+
@handleClickCrossIcon="handleClickCrossIcon" />
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<!-- <button @click="lockPhase" >相位锁定</button><br/>
|
|
4
42
|
<button @click="unlockPhase" >解锁相位</button><br/>
|
|
5
43
|
<button @click="changeControlPattern" >改变控制方案</button><br/>
|
|
6
44
|
<button @click="getPhaseInfo" >获取相位参数信息</button><br/>
|
|
7
45
|
<button @click="getControlInfo" >获取当前方案信息</button>
|
|
8
|
-
<button @click="clearInterVals" >清除定时器</button>
|
|
46
|
+
<button @click="clearInterVals" >清除定时器</button> -->
|
|
9
47
|
<!-- <el-button type="primary" @click="handleOpenConfigPanel" style="margin: 20px;">打开路口图面板</el-button>
|
|
10
48
|
<el-dialog
|
|
11
49
|
refs="intersectionMapDialog"
|
|
@@ -36,7 +74,7 @@
|
|
|
36
74
|
@onSelectStages="onSelectStages">
|
|
37
75
|
</intersection-with-interface> -->
|
|
38
76
|
<!-- </el-dialog> -->
|
|
39
|
-
<div class="layout-container2">
|
|
77
|
+
<!-- <div class="layout-container2">
|
|
40
78
|
<h2 style="color: #fff;">路口图</h2>
|
|
41
79
|
<intersection-with-interface
|
|
42
80
|
ref="intersection"
|
|
@@ -58,12 +96,12 @@
|
|
|
58
96
|
@queryDevice="queryDevice"
|
|
59
97
|
@onPhaseChange="onPhaseChange"
|
|
60
98
|
@onSelectStages="onSelectStages">
|
|
61
|
-
</intersection-with-interface>
|
|
99
|
+
</intersection-with-interface> -->
|
|
62
100
|
<!-- <Stages :stagesList="stagesList"
|
|
63
101
|
:currentStage="currentStage"
|
|
64
102
|
@onSelectStages="onSelectStages"></Stages> -->
|
|
65
103
|
|
|
66
|
-
<h2 style="color: #fff;">渠化图</h2>
|
|
104
|
+
<!-- <h2 style="color: #fff;">渠化图</h2>
|
|
67
105
|
<channelization-with-interface
|
|
68
106
|
ref="channelization"
|
|
69
107
|
:AgentId="agentId"
|
|
@@ -78,8 +116,9 @@
|
|
|
78
116
|
:phasesStatisticsList="phasesStatisticsList"
|
|
79
117
|
bcgColor="#009900"
|
|
80
118
|
:customText="customText"
|
|
81
|
-
textFontSize="50"/>
|
|
82
|
-
|
|
119
|
+
textFontSize="50"/> -->
|
|
120
|
+
|
|
121
|
+
<!-- </div> -->
|
|
83
122
|
</div>
|
|
84
123
|
</template>
|
|
85
124
|
<script>
|
|
@@ -92,12 +131,14 @@ export default {
|
|
|
92
131
|
name: 'demo',
|
|
93
132
|
data () {
|
|
94
133
|
return {
|
|
95
|
-
roadDirection: '
|
|
134
|
+
roadDirection: 'left',
|
|
96
135
|
// reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
97
|
-
agentId: '
|
|
98
|
-
// agentId: '
|
|
136
|
+
agentId: 'bclgkxl',
|
|
137
|
+
// agentId: '13013',
|
|
138
|
+
// agentId: '12007_390',
|
|
139
|
+
// agentId: '12014',
|
|
99
140
|
reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
100
|
-
Token: '
|
|
141
|
+
Token: 'eyJraWQiOiIxNzExNDE1MzU3MjIzIiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcxMTQ1ODU1OCwiaWF0IjoxNzExNDE1MzU4fQ.lbHt7fgSpyVEhcqbUt35U27lBWLZnikwXdO3VElKYq4',
|
|
101
142
|
// agentId: '30003-352',
|
|
102
143
|
// reqUrl: 'https://kints-dev.devdolphin.com/openatc',
|
|
103
144
|
// Token: 'eyJraWQiOiIxNjUwNTA5MDI2ODk2IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJ4aWFvbWluZyIsImV4cCI6MTczNjkwOTAyNiwiaWF0IjoxNjUwNTA5MDI2fQ.-s4T-uMRmB2zf9yer87USKQXLY1a12Zq5lCOnqjNmfA',
|
|
@@ -138,7 +179,8 @@ export default {
|
|
|
138
179
|
'greenusage': 10
|
|
139
180
|
}
|
|
140
181
|
}
|
|
141
|
-
]
|
|
182
|
+
],
|
|
183
|
+
crossStatusData: {}
|
|
142
184
|
}
|
|
143
185
|
},
|
|
144
186
|
components: {
|
|
@@ -247,6 +289,9 @@ export default {
|
|
|
247
289
|
if (token && token !== '') {
|
|
248
290
|
setToken(token)
|
|
249
291
|
}
|
|
292
|
+
},
|
|
293
|
+
handleClickCrossIcon (allChoosedDir, curClickedPhase) {
|
|
294
|
+
console.log('handleClickCrossIcon', allChoosedDir, curClickedPhase)
|
|
250
295
|
}
|
|
251
296
|
},
|
|
252
297
|
created () {
|
|
@@ -307,3 +352,8 @@ export default {
|
|
|
307
352
|
}
|
|
308
353
|
}
|
|
309
354
|
</style>
|
|
355
|
+
<style lang="scss" scoped>
|
|
356
|
+
.text {
|
|
357
|
+
color: #fff;
|
|
358
|
+
}
|
|
359
|
+
</style>
|
package/src/views/overView.vue
CHANGED
|
@@ -20,7 +20,7 @@ export default {
|
|
|
20
20
|
modeName: '交警遥控',
|
|
21
21
|
controlName: '步进',
|
|
22
22
|
agentId: 'jmlxhl',
|
|
23
|
-
Token: '
|
|
23
|
+
Token: 'eyJraWQiOiIxNzA4OTA5NDk2ODcxIiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcwODk1MjY5NiwiaWF0IjoxNzA4OTA5NDk2fQ.FI0gzBQFLyQsj95LG56lVZxb6WYlr2-datNsyv6fF-I',
|
|
24
24
|
reqUrl: 'http://192.168.13.103:10003/openatc'
|
|
25
25
|
}
|
|
26
26
|
},
|
|
@@ -3,4 +3,56 @@
|
|
|
3
3
|
width: 100%;
|
|
4
4
|
color: $--color-text-regular;
|
|
5
5
|
font-size: 14PX;
|
|
6
|
+
}
|
|
7
|
+
.direction-list-configuration {
|
|
8
|
+
.dir-config-row {
|
|
9
|
+
overflow: hidden;
|
|
10
|
+
white-space: nowrap;
|
|
11
|
+
}
|
|
12
|
+
.label {
|
|
13
|
+
font-size: 14PX;
|
|
14
|
+
line-height: 14PX;
|
|
15
|
+
color: $--color-text-regular;
|
|
16
|
+
float: left;
|
|
17
|
+
margin-right: 10PX;
|
|
18
|
+
}
|
|
19
|
+
.dir-btn {
|
|
20
|
+
float: left;
|
|
21
|
+
max-width: 410PX;
|
|
22
|
+
.disabled-icon {
|
|
23
|
+
opacity: 0.3;
|
|
24
|
+
}
|
|
25
|
+
.each-icon {
|
|
26
|
+
float: left;
|
|
27
|
+
width: 90PX;
|
|
28
|
+
height: 80PX;
|
|
29
|
+
margin-right: 4PX;
|
|
30
|
+
margin-bottom: 7PX;
|
|
31
|
+
background-color: $--color-black;
|
|
32
|
+
cursor: pointer;
|
|
33
|
+
overflow: hidden;
|
|
34
|
+
.single-icon {
|
|
35
|
+
height: 100%;
|
|
36
|
+
text-align: center;
|
|
37
|
+
.iconfont {
|
|
38
|
+
color: $--color-text-primary;
|
|
39
|
+
font-size: 52PX;
|
|
40
|
+
}
|
|
41
|
+
.single-icon-name {
|
|
42
|
+
font-size: 14PX;
|
|
43
|
+
text-align: center;
|
|
44
|
+
color: $--color-text-regular;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
.ped-icon {
|
|
48
|
+
padding-top: 6PX;
|
|
49
|
+
}
|
|
50
|
+
.single-icon-select {
|
|
51
|
+
background-color: #69bce0;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
.default-ped-path {
|
|
56
|
+
fill: $--color-text-primary;
|
|
57
|
+
}
|
|
6
58
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|