openatc-components 0.1.192 → 0.1.193

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.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openatc-components",
3
- "version": "0.1.192",
3
+ "version": "0.1.193",
4
4
  "description": "A Vue.js project",
5
5
  "author": "openatc developer",
6
6
  "private": false,
@@ -39,7 +39,7 @@
39
39
  </div>
40
40
  </template>
41
41
  <script>
42
- import echart from 'echarts'
42
+ import * as echart from 'echarts'
43
43
  import { getTheme } from '../../../../../utils/auth.js'
44
44
  export default {
45
45
  name: 'countdownsvg',
@@ -17,6 +17,13 @@ export default new Router({
17
17
  require(['@/views/intersection'], resolve)
18
18
  }
19
19
  },
20
+ {
21
+ path: '/intersection',
22
+ name: 'intersection',
23
+ component: (resolve) => {
24
+ require(['@/views/intersection2'], resolve)
25
+ }
26
+ },
20
27
  {
21
28
  path: '/pattern',
22
29
  name: 'pattern',
@@ -6,7 +6,7 @@ import i18n from '../i18n/index'
6
6
  export async function computedRelation (id) {
7
7
  let uploadData = await UploadTscParam(id)
8
8
  if (!uploadData) return
9
- let result = []
9
+ let results = []
10
10
  let channel = uploadData.channelList
11
11
  // let channel = store.getters.globalParamModel.getParamsByType('channelList')
12
12
  let tableData = channel.map(item => {
@@ -23,7 +23,7 @@ export async function computedRelation (id) {
23
23
  // 处理peddirection
24
24
  itemA.peddirection.forEach(pedDir => {
25
25
  if (pedDir > 0) {
26
- result.push({
26
+ results.push({
27
27
  direction: pedDir,
28
28
  type: 'pedphase',
29
29
  laneConflictList: [],
@@ -35,7 +35,7 @@ export async function computedRelation (id) {
35
35
  // 处理phasedirection
36
36
  itemA.phasedirection.forEach(phaseDir => {
37
37
  if (phaseDir > 0) {
38
- result.push({
38
+ results.push({
39
39
  direction: phaseDir,
40
40
  type: 'phase',
41
41
  conflictchannel: itemB.greenconflict,
@@ -47,7 +47,7 @@ export async function computedRelation (id) {
47
47
  }
48
48
  })
49
49
  })
50
- result.forEach(item => {
50
+ results.forEach(item => {
51
51
  item.conflictchannel.forEach(aaaValue => {
52
52
  channel.forEach(cha => {
53
53
  if (cha.id === aaaValue) {
@@ -61,7 +61,24 @@ export async function computedRelation (id) {
61
61
  })
62
62
  delete item.conflictchannel
63
63
  })
64
- console.log(result, 'result')
64
+ const uniqueDirections = new Set()
65
+ const doChange = results.filter(obj => {
66
+ if (uniqueDirections.has(obj.direction)) {
67
+ return false
68
+ }
69
+ uniqueDirections.add(obj.direction)
70
+ return true
71
+ })
72
+ let result = doChange.map(item => {
73
+ let uniqueLaneConflictList = [...new Set(item.laneConflictList)]
74
+ let uniquePedConflictList = [...new Set(item.pedConflictList)]
75
+ return {
76
+ ...item,
77
+ laneConflictList: uniqueLaneConflictList,
78
+ pedConflictList: uniquePedConflictList
79
+ }
80
+ })
81
+ console.log('result', result)
65
82
  return result
66
83
  }
67
84
  export function getDefaul (data) {
@@ -133,12 +133,12 @@ export default {
133
133
  return {
134
134
  roadDirection: 'left',
135
135
  // reqUrl: 'http://192.168.13.103:10003/openatc',
136
- agentId: 'bclgkxl',
136
+ agentId: 'cllhsl',
137
137
  // agentId: '13013',
138
138
  // agentId: '12007_390',
139
139
  // agentId: '12014',
140
140
  reqUrl: 'http://192.168.13.103:10003/openatc',
141
- Token: 'eyJraWQiOiIxNzExNTg4NzM3MDczIiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcxMTYzMTkzNywiaWF0IjoxNzExNTg4NzM3fQ.gzdE_LOpS5rYTipJhvP9nvf5_Yg6CFr8mvV9_EWOGXg',
141
+ Token: 'eyJraWQiOiIxNzEwNzU4MTU3Njk0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiIxMjM0NTYiLCJleHAiOjE3MTM4ODgwMDAsImlhdCI6MTcxMDY5MTIwMH0.vicLABPjoZEWmHr12-5FXMbjYmEKv-WSTVRROR1eOME',
142
142
  // agentId: '30003-352',
143
143
  // reqUrl: 'https://kints-dev.devdolphin.com/openatc',
144
144
  // Token: 'eyJraWQiOiIxNjUwNTA5MDI2ODk2IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJ4aWFvbWluZyIsImV4cCI6MTczNjkwOTAyNiwiaWF0IjoxNjUwNTA5MDI2fQ.-s4T-uMRmB2zf9yer87USKQXLY1a12Zq5lCOnqjNmfA',
@@ -0,0 +1,329 @@
1
+ <template>
2
+ <div>
3
+ <!-- <h2>静态路口图</h2> -->
4
+ <!-- <intersection-base-map
5
+ ref="intersectionMap"
6
+ :crossStatusData="crossStatusData"
7
+ :agentId="agentId"
8
+ :clickMode="true" /> -->
9
+
10
+ <!-- <button @click="lockPhase" >相位锁定</button><br/>
11
+ <button @click="unlockPhase" >解锁相位</button><br/>
12
+ <button @click="changeControlPattern" >改变控制方案</button><br/>
13
+ <button @click="getPhaseInfo" >获取相位参数信息</button><br/>
14
+ <button @click="getControlInfo" >获取当前方案信息</button>
15
+ <button @click="clearInterVals" >清除定时器</button> -->
16
+ <!-- <el-button type="primary" @click="handleOpenConfigPanel" style="margin: 20px;">打开路口图面板</el-button>
17
+ <el-dialog
18
+ refs="intersectionMapDialog"
19
+ class="abow_dialog"
20
+ :width="dialogWidth"
21
+ :visible.sync="boxVisible"
22
+ :close-on-click-modal="false"
23
+ @close="oncancle"
24
+ append-to-body> -->
25
+ <!-- <intersection-with-interface
26
+ ref="intersection"
27
+ :AgentId="agentId"
28
+ :reqUrl="reqUrl"
29
+ :Token="Token"
30
+ :roadDirection="roadDirection"
31
+ :modeName="modeName"
32
+ :controlName="controlName"
33
+ :isShowMode="isShowMode"
34
+ :isShowInterval="isShowInterval"
35
+ :isShowMessage ="isShowMessage"
36
+ :isShowPatternStatus="isShowPatternStatus"
37
+ :isShowIntersection="isShowIntersection"
38
+ :isShowStages="isShowStages"
39
+ @getTscControl="getTscControl"
40
+ @registerMessage="registerMessage"
41
+ @queryDevice="queryDevice"
42
+ @onPhaseChange="onPhaseChange"
43
+ @onSelectStages="onSelectStages">
44
+ </intersection-with-interface> -->
45
+ <!-- </el-dialog> -->
46
+ <div class="layout-container2">
47
+ <h2 style="color: #fff;">路口图</h2>
48
+ <intersection-with-interface
49
+ ref="intersection"
50
+ :AgentId="agentId"
51
+ :reqUrl="reqUrl"
52
+ :Token="Token"
53
+ :roadDirection="roadDirection"
54
+ :modeName="modeName"
55
+ :controlName="controlName"
56
+ :isShowState="isShowState"
57
+ :isShowMode="isShowMode"
58
+ :isShowInterval="isShowInterval"
59
+ :isShowMessage ="isShowMessage"
60
+ :isShowPatternStatus="isShowPatternStatus"
61
+ :isShowIntersection="isShowIntersection"
62
+ :isShowStages="isShowStages"
63
+ @getTscControl="getTscControl"
64
+ @registerMessage="registerMessage"
65
+ @queryDevice="queryDevice"
66
+ @onPhaseChange="onPhaseChange"
67
+ @onSelectStages="onSelectStages">
68
+ </intersection-with-interface>
69
+ <!-- <Stages :stagesList="stagesList"
70
+ :currentStage="currentStage"
71
+ @onSelectStages="onSelectStages"></Stages> -->
72
+
73
+ <!-- <h2 style="color: #fff;">渠化图</h2>
74
+ <channelization-with-interface
75
+ ref="channelization"
76
+ :AgentId="agentId"
77
+ :reqUrl="reqUrl"
78
+ :Token="Token"
79
+ @getTscControl="getTscControl"
80
+ @onPhaseChange="onPhaseChange"/>
81
+
82
+ <h2 style="color: #fff;">流量统计渠化路口图</h2>
83
+ <channelization-flow-statistic
84
+ :AgentId="agentId"
85
+ :phasesStatisticsList="phasesStatisticsList"
86
+ bcgColor="#009900"
87
+ :customText="customText"
88
+ textFontSize="50"/> -->
89
+
90
+ </div>
91
+ </div>
92
+ </template>
93
+ <script>
94
+ import {
95
+ setToken
96
+ } from '../utils/auth'
97
+ import IntersectionWithInterface from '../kisscomps/components/IntersectionWithInterface'
98
+ import ChannelizationWithInterface from '../kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface'
99
+ export default {
100
+ name: 'demo',
101
+ data () {
102
+ return {
103
+ roadDirection: 'left',
104
+ // reqUrl: 'http://192.168.13.103:10003/openatc',
105
+ agentId: 'cllzpl',
106
+ // agentId: '13013',
107
+ // agentId: '12007_390',
108
+ // agentId: '12014',
109
+ reqUrl: 'http://192.168.13.103:10003/openatc',
110
+ Token: 'eyJraWQiOiIxNzEwNzU4MTU3Njk0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiIxMjM0NTYiLCJleHAiOjE3MTM4ODgwMDAsImlhdCI6MTcxMDY5MTIwMH0.vicLABPjoZEWmHr12-5FXMbjYmEKv-WSTVRROR1eOME',
111
+ // agentId: '30003-352',
112
+ // reqUrl: 'https://kints-dev.devdolphin.com/openatc',
113
+ // Token: 'eyJraWQiOiIxNjUwNTA5MDI2ODk2IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJ4aWFvbWluZyIsImV4cCI6MTczNjkwOTAyNiwiaWF0IjoxNjUwNTA5MDI2fQ.-s4T-uMRmB2zf9yer87USKQXLY1a12Zq5lCOnqjNmfA',
114
+ boxVisible: false,
115
+ dialogWidth: '80%',
116
+ modeName: '交警遥控',
117
+ controlName: '步进',
118
+ isShowState: true,
119
+ isShowMode: true,
120
+ isShowMessage: true,
121
+ isShowPatternStatus: false,
122
+ isShowIntersection: true,
123
+ isShowInterval: true,
124
+ isShowStages: true,
125
+ customText: 'A',
126
+ phasesStatisticsList: [
127
+ {
128
+ 'phaseno': 1,
129
+ 'time': '2020-08-09 15:44:22',
130
+ 'phasestatistics': {
131
+ 'totalflow': 49,
132
+ 'averageflow': 12,
133
+ 'saturation': 1,
134
+ 'occupyrate': 69,
135
+ 'congestionindex': 'A',
136
+ 'greenusage': 10
137
+ }
138
+ },
139
+ {
140
+ 'phaseno': 2,
141
+ 'time': '2020-08-09 15:44:22',
142
+ 'phasestatistics': {
143
+ 'totalflow': 62,
144
+ 'averageflow': 31,
145
+ 'saturation': 3,
146
+ 'occupyrate': 98,
147
+ 'congestionindex': 'F',
148
+ 'greenusage': 10
149
+ }
150
+ }
151
+ ],
152
+ crossStatusData: {}
153
+ }
154
+ },
155
+ components: {
156
+ IntersectionWithInterface,
157
+ ChannelizationWithInterface
158
+ },
159
+ methods: {
160
+ oncancle () {
161
+ this.boxVisible = false
162
+ },
163
+ handleOpenConfigPanel () {
164
+ this.boxVisible = true
165
+ },
166
+ setDialogWidth () {
167
+ var val = document.body.offsetWidth
168
+ const def = 1200 // 默认宽度
169
+ if (val < def) {
170
+ this.dialogWidth = '80%'
171
+ } else {
172
+ this.dialogWidth = def + 'px'
173
+ }
174
+ },
175
+ async lockPhase (reqData) {
176
+ console.log('lock')
177
+ reqData = {
178
+ 'mode': 0,
179
+ 'control': 4,
180
+ 'terminal': 1,
181
+ 'delay': null,
182
+ 'duration': null,
183
+ 'value': 1
184
+ }
185
+ let res = await this.$refs.intersection.lockPhase(reqData)
186
+ console.log(res)
187
+ console.log(reqData)
188
+ },
189
+ async unlockPhase (reqData) {
190
+ console.log('unlock')
191
+ reqData = {
192
+ 'mode': 0,
193
+ 'control': 0,
194
+ 'terminal': 1,
195
+ 'delay': null,
196
+ 'duration': null,
197
+ 'value': 0
198
+ }
199
+ let res = await this.$refs.intersection.unlockPhase(reqData)
200
+ console.log(res)
201
+ console.log(reqData)
202
+ },
203
+ async changeControlPattern (reqData) {
204
+ console.log('changeControlPattern')
205
+ reqData = {
206
+ 'mode': 0,
207
+ 'control': 1,
208
+ 'terminal': 1,
209
+ 'delay': null,
210
+ 'duration': null,
211
+ 'value': 0
212
+ }
213
+ let res = await this.$refs.intersection.changeControlPattern(reqData)
214
+ console.log(res)
215
+ console.log(reqData)
216
+ },
217
+ async getPhaseInfo () {
218
+ console.log('getPhaseInfo')
219
+ let res = await this.$refs.intersection.getPhaseInfo()
220
+ console.log(res)
221
+ return res
222
+ },
223
+ async getControlInfo () {
224
+ console.log('getControlInfo')
225
+ let res = await this.$refs.intersection.getControlInfo()
226
+ console.log(res)
227
+ return res
228
+ },
229
+ onPhaseChange (res, index) {
230
+ console.log('onPhaseChange:')
231
+ console.log(res, index)
232
+ this.stagesList = res
233
+ // this.currentStage = index
234
+ },
235
+ getTscControl (res) {
236
+ console.log('getTscControl:', res)
237
+ // let control = res.data.data.control
238
+ // let mode = res.data.data.mode
239
+ // console.log("control,mode:",control,mode)
240
+ // this.controlName = control
241
+ // this.modeName = mode
242
+ },
243
+ registerMessage (res) {
244
+ console.log('registerMessage:', res)
245
+ },
246
+ queryDevice (res) {
247
+ console.log('queryDevice:', res)
248
+ },
249
+ clearInterVals () {
250
+ this.$refs.intersection.clearInterVals()
251
+ },
252
+ onSelectStages (res) {
253
+ console.log('onSelectStages')
254
+ console.log(res)
255
+ },
256
+ setPropsToken (token) {
257
+ // 获取组件外传入的token,便于独立组件调用接口
258
+ if (token && token !== '') {
259
+ setToken(token)
260
+ }
261
+ },
262
+ handleClickCrossIcon (allChoosedDir, curClickedPhase) {
263
+ debugger
264
+ console.log('handleClickCrossIcon', allChoosedDir, curClickedPhase)
265
+ }
266
+ },
267
+ created () {
268
+ this.setDialogWidth()
269
+ },
270
+ mounted () {
271
+ // let _this = this
272
+ // setTimeout(function () {
273
+ // alert('Hello')
274
+ // _this.agentId = 'scats1'
275
+ // }, 5 * 1000)
276
+ this.setPropsToken(this.Token)
277
+ window.onresize = () => {
278
+ return (() => {
279
+ this.setDialogWidth()
280
+ })()
281
+ }
282
+ },
283
+ destroyed () {
284
+ }
285
+ }
286
+ </script>
287
+ <style lang='scss'>
288
+ .layout-container {
289
+ width: 800PX;
290
+ }
291
+ .layout-container1 {
292
+ width: 242PX;
293
+ height: 176PX;
294
+ border: 1PX solid green;
295
+ }
296
+ .layout-container2 {
297
+ /* height: 600px; */
298
+ width: 1020px;
299
+ border: 1PX solid yellow;
300
+ position: relative;
301
+ }
302
+ .abow_dialog {
303
+ display: flex;
304
+ justify-content: center;
305
+ align-items: Center;
306
+ overflow: hidden;
307
+ .el-dialog {
308
+ margin: 0 auto !important;
309
+ height: 90%;
310
+ overflow: hidden;
311
+ .el-dialog__body {
312
+ position: absolute;
313
+ left: 0;
314
+ top: 54px;
315
+ bottom: 0;
316
+ right: 0;
317
+ padding: 0;
318
+ z-index: 1;
319
+ overflow-y: auto;
320
+ overflow-x: auto;
321
+ }
322
+ }
323
+ }
324
+ </style>
325
+ <style lang="scss" scoped>
326
+ .text {
327
+ color: #fff;
328
+ }
329
+ </style>
@@ -19,8 +19,8 @@ export default {
19
19
  isShowMode: true,
20
20
  modeName: '交警遥控',
21
21
  controlName: '步进',
22
- agentId: 'jmlxhl',
23
- Token: 'eyJraWQiOiIxNzA4OTA5NDk2ODcxIiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcwODk1MjY5NiwiaWF0IjoxNzA4OTA5NDk2fQ.FI0gzBQFLyQsj95LG56lVZxb6WYlr2-datNsyv6fF-I',
22
+ agentId: 'cllhsl',
23
+ Token: 'eyJraWQiOiIxNzEyMDIwOTMwMDE5IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcxMjA2NDEzMCwiaWF0IjoxNzEyMDIwOTMwfQ.PiFIHzXvVFnAF8l6hqqjt2iNqU3g5-6kKcYbSgqKd9Q',
24
24
  reqUrl: 'http://192.168.13.103:10003/openatc'
25
25
  }
26
26
  },
@@ -33,15 +33,15 @@
33
33
  justify-content: flex-start;
34
34
  align-items: center;
35
35
  .header-span {
36
- width: 45px;
36
+ width: 45PX;
37
37
  border: 0px solid red;
38
38
  display: flex;
39
39
  justify-content: flex-end;
40
40
  color: $--color-text-secondary;
41
- font-size: 14px;
41
+ font-size: 14PX;
42
42
  font-weight: normal;
43
43
  font-stretch: normal;
44
- line-height: 14px;
44
+ line-height: 14PX;
45
45
  }
46
46
  }
47
47
  }