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.
Files changed (83) hide show
  1. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +436 -0
  2. package/package/kisscomps/components/DirectionListConfiguration/index.js +2 -0
  3. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -0
  4. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -0
  5. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -0
  6. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -0
  7. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -0
  8. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pedeastward.vue +35 -0
  9. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pednorthward.vue +30 -0
  10. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pedsouthward.vue +35 -0
  11. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pedwestward.vue +41 -0
  12. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -0
  13. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -0
  14. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -0
  15. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -0
  16. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -0
  17. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -0
  18. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -0
  19. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -0
  20. package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +127 -0
  21. package/package/kisscomps/components/IntersectionDirectionSelection/index.js +2 -0
  22. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +0 -1
  23. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +429 -0
  24. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1272 -0
  25. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +239 -16
  26. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +88 -14
  27. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +88 -15
  28. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +24 -8
  29. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +24 -8
  30. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +50 -2
  31. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +6 -0
  32. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +28 -1
  33. package/package/kisscomps/index.js +5 -1
  34. package/package/kissui.min.js +1 -1
  35. package/package.json +1 -1
  36. package/src/EdgeMgr/controller/crossDiagramMgr.js +5 -1
  37. package/src/api/param.js +11 -0
  38. package/src/icons/demo_index.html +8146 -0
  39. package/src/icons/iconfont.css +219 -3
  40. package/src/icons/iconfont.js +1 -1
  41. package/src/icons/iconfont.json +378 -0
  42. package/src/icons/iconfont.ttf +0 -0
  43. package/src/icons/iconfont.woff +0 -0
  44. package/src/icons/iconfont.woff2 +0 -0
  45. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +436 -0
  46. package/src/kisscomps/components/DirectionListConfiguration/index.js +2 -0
  47. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -0
  48. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -0
  49. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -0
  50. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -0
  51. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -0
  52. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pedeastward.vue +35 -0
  53. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pednorthward.vue +30 -0
  54. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pedsouthward.vue +35 -0
  55. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pedwestward.vue +41 -0
  56. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -0
  57. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -0
  58. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -0
  59. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -0
  60. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -0
  61. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -0
  62. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -0
  63. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -0
  64. package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +127 -0
  65. package/src/kisscomps/components/IntersectionDirectionSelection/index.js +2 -0
  66. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +0 -1
  67. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1272 -0
  68. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +239 -16
  69. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +88 -14
  70. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +88 -15
  71. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +24 -8
  72. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +24 -8
  73. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +50 -2
  74. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +6 -0
  75. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +28 -1
  76. package/src/kisscomps/index.js +5 -1
  77. package/src/utils/conflct.js +233 -0
  78. package/src/utils/conflictList.js +87 -0
  79. package/src/utils/phasedesc.js +37 -17
  80. package/src/views/intersection.vue +62 -12
  81. package/src/views/overView.vue +1 -1
  82. package/static/styles/uiComponents.scss +52 -0
  83. 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
+ }
@@ -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
- <button @click="lockPhase" >相位锁定</button><br/>
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
- </div>
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: 'right',
134
+ roadDirection: 'left',
96
135
  // reqUrl: 'http://192.168.13.103:10003/openatc',
97
- agentId: '12008_835',
98
- // agentId: '0351-01',
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: 'eyJraWQiOiIxNzA4MzkyMTMyNTIxIiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcwODQzNTMzMiwiaWF0IjoxNzA4MzkyMTMyfQ.xAu8PsIwJAc2cMhxxuncVzW5sgxVBRZu0OYep1Q8vFU',
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>
@@ -20,7 +20,7 @@ export default {
20
20
  modeName: '交警遥控',
21
21
  controlName: '步进',
22
22
  agentId: 'jmlxhl',
23
- Token: 'eyJraWQiOiIxNjcwNTUzNTE1MDc3IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc1Njk1MzUxNSwiaWF0IjoxNjcwNTUzNTE1fQ.oR9e2Fn5mVmJ4CjZV6zUOdq_23Y84RkuyhK_WppsD_o',
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
- {}