openatc-components 0.4.89 → 0.4.91

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 (21) hide show
  1. package/config/index.js +1 -1
  2. package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +4 -0
  3. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +4 -2
  4. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +12 -4
  5. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +5 -0
  6. package/package/kisscomps/components/IntersectionMapDirSelect/customCrossDiagram.vue +0 -5
  7. package/package/kisscomps/components/OverLap/OverLap.vue +22 -1
  8. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +45 -3
  9. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +5 -1
  10. package/package/kissui.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +4 -0
  13. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +4 -2
  14. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +12 -4
  15. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +5 -0
  16. package/src/kisscomps/components/IntersectionMapDirSelect/customCrossDiagram.vue +0 -5
  17. package/src/kisscomps/components/OverLap/OverLap.vue +22 -1
  18. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +45 -3
  19. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +5 -1
  20. package/src/utils/conflct.js +266 -268
  21. package/src/views/intersection.vue +16 -11
package/config/index.js CHANGED
@@ -15,7 +15,7 @@
15
15
  const fs = require('fs');
16
16
  const path = require('path')
17
17
  let VUE_APP_PROXY_API_TARGET = "http://127.0.0.1:8080"
18
- let VUE_APP_PROXY_MAIN_TARGET = "http://192.168.14.122:10003/openatc"
18
+ let VUE_APP_PROXY_MAIN_TARGET = "http://192.168.13.103:10003/openatc"
19
19
  let VUE_APP_PROXY_SOCKET_TARGET = "http://127.0.0.1:8080"
20
20
  const localFile = path.resolve(__dirname, 'dev.local.js');
21
21
  if (fs.existsSync(localFile)) {
@@ -148,6 +148,10 @@ export default {
148
148
  refresh () {
149
149
  // 刷新底图
150
150
  this.$refs.intersectionMap2.resetCrossDiagram()
151
+ },
152
+ refreshArrow () {
153
+ // 高亮箭头按最新数据刷新
154
+ this.$refs.intersectionMap2.refreshArrow()
151
155
  }
152
156
  },
153
157
  mounted () {
@@ -1263,8 +1263,10 @@ export default {
1263
1263
  init () {
1264
1264
  this.sidewalkData = JSON.parse(JSON.stringify(this.Data))
1265
1265
  this.getPedDirection()
1266
- this.handleStatus()
1267
- this.IconAddEvent()
1266
+ this.$nextTick(() => {
1267
+ this.handleStatus()
1268
+ this.IconAddEvent()
1269
+ })
1268
1270
  }
1269
1271
  },
1270
1272
  mounted () {
@@ -31,7 +31,7 @@
31
31
  <!-- 右行道路 B-->
32
32
  <div class="right-dir-road" v-if="roadDir === 'right'">
33
33
  <div class="centerText" v-if="crossType !== 'Customroads' && isHasPhase">
34
- <div class="merge-direction-icon">
34
+ <div v-if="isVipRoute" class="merge-direction-icon">
35
35
  <xdr-dir-selector
36
36
  :Data="xdrMData"
37
37
  Width="80px"
@@ -879,7 +879,16 @@ export default {
879
879
  return
880
880
  }
881
881
  this.isLoaded = true
882
- this.tempType = res.data.data.type
882
+ this.InfoRes = res
883
+ this.handleInfo(res)
884
+ })
885
+ },
886
+ refreshArrow () {
887
+ // 刷新所选方向箭头,不重新请求接口
888
+ this.handleInfo(this.InfoRes)
889
+ },
890
+ handleInfo (res) {
891
+ this.tempType = res.data.data.type
883
892
  // 获取车道相位、行人相位信息(坐标、名称)
884
893
  this.mainType = this.tempType.split('-')[0]
885
894
  this.mainDirection = this.tempType.split('-')[1]
@@ -913,7 +922,6 @@ export default {
913
922
  this.contrloType = 'ring'
914
923
  }
915
924
  }
916
- })
917
925
  },
918
926
  getTempCrossInfo (res) {
919
927
  this.crossInfo = res.data.data.param
@@ -1417,7 +1425,7 @@ export default {
1417
1425
  this.EmitAllChoosedDirection(curClickedPhase)
1418
1426
  },
1419
1427
  handleClickedPedPhase () {
1420
- if (!this.isThirdSignal) {
1428
+ if (!this.isThirdSignal && !this.isRcp) {
1421
1429
  this.inneChoosedPedDirection = this.inneChoosedPedDirection.filter(dir => this.pedConflictList.indexOf(dir) === -1)
1422
1430
  }
1423
1431
  // 排他
@@ -191,6 +191,11 @@ export default {
191
191
  this.reset = true
192
192
  })
193
193
  },
194
+ refreshArrow () {
195
+ this.$nextTick(() => {
196
+ this.$refs.crossDiagram.refreshArrow()
197
+ })
198
+ },
194
199
  getParentSize () {
195
200
  // 获取最外层dom尺寸,适配准备
196
201
  var _this = this
@@ -688,11 +688,6 @@ export default {
688
688
  color: #299BCC;
689
689
  margin-top: 20PX;
690
690
  }
691
- .merge-direction-icon {
692
- width: 80PX;
693
- height: 80PX;
694
- margin: 0 auto;
695
- }
696
691
 
697
692
  .baseImg {
698
693
  width: 100%;
@@ -10,6 +10,12 @@
10
10
  <span v-for="(ids,index3) in list.includedphases" :key="index3">
11
11
  {{$t('openatccomponents.phase.phase')}}{{ids}}<span v-if="index3+1!==list.includedphases.length">,</span>
12
12
  </span>
13
+ <span v-if="list.modifyphase && list.modifyphase.length>0">(<span v-for="(ids, index4) in list.modifyphase" :key="index4">
14
+ *{{$t('openatccomponents.phase.phase')}}{{ ids
15
+ }}<span v-if="index4 + 1 !== list.modifyphase.length"
16
+ >,</span
17
+ >
18
+ </span>)</span>
13
19
  </div>
14
20
  <div style="cursor:pointer;">
15
21
  <div class="ring-phase">
@@ -22,6 +28,12 @@
22
28
  <span v-for="(ids,index3) in list.includedphases" :key="index3">
23
29
  {{$t('openatccomponents.phase.phase')}}{{ids}}<span v-if="index3+1!==list.includedphases.length">,</span>
24
30
  </span>
31
+ <span v-if="list.modifyphase && list.modifyphase.length>0">(<span v-for="(ids, index4) in list.modifyphase" :key="index4">
32
+ *{{$t('openatccomponents.phase.phase')}}{{ ids
33
+ }}<span v-if="index4 + 1 !== list.modifyphase.length"
34
+ >,</span
35
+ >
36
+ </span>)</span>
25
37
  </div>
26
38
  </div>
27
39
  </div>
@@ -153,7 +165,16 @@ export default {
153
165
  const findItems = stageList.filter(j => (j.phases ? j.phases : j.stages).includes(i))
154
166
  if (findItems.length) findIndexs.push(...findItems.map(m => m.key))
155
167
  })
168
+ // 收集所有包含 modifyphase 中相位的阶段 key
169
+ let modifyIndexs = []
170
+ if (item.modifyphase !== undefined) {
171
+ item.modifyphase.forEach(i => {
172
+ const findItems = stageList.filter(j => j.phases.includes(i))
173
+ if (findItems.length) modifyIndexs.push(...findItems.map(m => m.key))
174
+ })
175
+ }
156
176
  findIndexs = Array.from(new Set(findIndexs))
177
+ modifyIndexs = Array.from(new Set(modifyIndexs))
157
178
  if (this.cycleChange) {
158
179
  const globalParamModel = this.$store.getters.globalParamModel
159
180
  let pattern = globalParamModel.getParamsByType('patternList')
@@ -168,7 +189,7 @@ export default {
168
189
  peddirection: this.getPedPhasePos(item.peddirection),
169
190
  sidewalkPhaseData: this.getPedPhasePos(item.peddirection),
170
191
  stageLists: stageList.map(sta => {
171
- const find = findIndexs.includes(sta.key)
192
+ const find = findIndexs.includes(sta.key) && !modifyIndexs.includes(sta.key)
172
193
  return {
173
194
  ...sta,
174
195
  direction: this.getRoad(item),
@@ -837,6 +837,20 @@ export default {
837
837
  let addRing1 = [...new Set(resultArrs[1])].filter(item => newCurrent[h].includes(item))
838
838
  ring1s.push(addRing1)
839
839
  }
840
+ // 双环相位数不等的时候
841
+ if (newRings.length > 1) {
842
+ if (newRings[0].length !== newRings[1].length) {
843
+ for (let h = 0; h < newCurrent.length; h++) {
844
+ let adds = [...new Set(ringsequence[0])].filter(item => newCurrent[h].includes(item))
845
+ ring1.push(adds)
846
+ }
847
+ let ring1s = [] // 环1与关系2的并集
848
+ for (let h = 0; h < newCurrent.length; h++) {
849
+ let addRing1 = [...new Set(ringsequence[1])].filter(item => newCurrent[h].includes(item))
850
+ ring1s.push(addRing1)
851
+ }
852
+ }
853
+ }
840
854
  barrierRing1.push(...ring1, ...ring1s)
841
855
  let resultList = []
842
856
  if (newRings.length > 1) {
@@ -1123,6 +1137,20 @@ export default {
1123
1137
  let addRing1 = [...new Set(resultArrs[1])].filter(item => newCurrent[h].includes(item))
1124
1138
  ring1s.push(addRing1)
1125
1139
  }
1140
+ // 双环相位数不等的时候
1141
+ if (newRings.length > 1) {
1142
+ if (newRings[0].length !== newRings[1].length) {
1143
+ for (let h = 0; h < newCurrent.length; h++) {
1144
+ let adds = [...new Set(ringsequence[0])].filter(item => newCurrent[h].includes(item))
1145
+ ring1.push(adds)
1146
+ }
1147
+ let ring1s = [] // 环1与关系2的并集
1148
+ for (let h = 0; h < newCurrent.length; h++) {
1149
+ let addRing1 = [...new Set(ringsequence[1])].filter(item => newCurrent[h].includes(item))
1150
+ ring1s.push(addRing1)
1151
+ }
1152
+ }
1153
+ }
1126
1154
  barrierRing1.push(...ring1, ...ring1s)
1127
1155
  let resultList = []
1128
1156
  if (newRings.length > 1) {
@@ -1372,6 +1400,20 @@ export default {
1372
1400
  let addRing1 = [...new Set(resultArrs[1])].filter(item => newCurrent[h].includes(item))
1373
1401
  ring1s.push(addRing1)
1374
1402
  }
1403
+ // 双环相位数不等的时候
1404
+ if (newRings.length > 1) {
1405
+ if (newRings[0].length !== newRings[1].length) {
1406
+ for (let h = 0; h < newCurrent.length; h++) {
1407
+ let adds = [...new Set(ringsequence[0])].filter(item => newCurrent[h].includes(item))
1408
+ ring1.push(adds)
1409
+ }
1410
+ let ring1s = [] // 环1与关系2的并集
1411
+ for (let h = 0; h < newCurrent.length; h++) {
1412
+ let addRing1 = [...new Set(ringsequence[1])].filter(item => newCurrent[h].includes(item))
1413
+ ring1s.push(addRing1)
1414
+ }
1415
+ }
1416
+ }
1375
1417
  barrierRing1.push(...ring1, ...ring1s)
1376
1418
  let resultList = []
1377
1419
  if (newRings.length >= 1) {
@@ -1430,9 +1472,6 @@ export default {
1430
1472
  if (this.patternList) {
1431
1473
  this.setBarrier(ringTeams, val)
1432
1474
  }
1433
- if (newRings.length > 1) {
1434
- this.fillGap(ringTeams, val)
1435
- }
1436
1475
  if (this.cycleChange) {
1437
1476
  const globalParamModel = this.$store.getters.globalParamModel
1438
1477
  let pattern = globalParamModel.getParamsByType('patternList')
@@ -1442,6 +1481,9 @@ export default {
1442
1481
  } else {
1443
1482
  this.max = ''
1444
1483
  }
1484
+ if (newRings.length > 1) {
1485
+ this.fillGap(ringTeams, val)
1486
+ }
1445
1487
  let barrier = this.step2(ringTeams, newPattern)
1446
1488
  let barrierLeft = barrier.map(item => item)// 屏障左移显示出人行横道
1447
1489
  this.barrierList = barrierLeft.map(j => {
@@ -441,7 +441,11 @@ PURPOSE. * See the Mulan PSL v2 for more details. **/
441
441
  :width="iconWidth"
442
442
  :height="iconHeight"
443
443
  >
444
- <path d="M947.685353 711.851301h-34.260223v-121.814126c0-15.226766-11.420074-30.453532-30.453531-30.453532h-342.602231v-167.494424h137.040892c38.066914 0 64.713755-30.453532 64.713755-64.713754V114.200743c0-38.066914-30.453532-64.713755-64.713755-64.713754H346.228104c-38.066914-3.806691-68.520446 26.64684-68.520446 64.713754v216.981413c0 38.066914 30.453532 64.713755 64.713755 64.713755h137.040892v167.494424h-342.602231c-15.226766 0-30.453532 11.420074-30.453531 30.453531v121.814127h-26.64684c-38.066914 0-64.713755 30.453532-64.713755 64.713754v137.040892c0 38.066914 30.453532 64.713755 64.713755 64.713755h137.040892c38.066914 0 64.713755-30.453532 64.713754-64.713755v-137.040892c0-38.066914-30.453532-64.713755-64.713754-64.713754H167.313606v-91.360595h315.95539v91.360595h-41.873606c-38.066914 0-64.713755 30.453532-64.713754 64.713754v137.040892c0 38.066914 30.453532 64.713755 64.713754 64.713755h137.040893c38.066914 0 64.713755-30.453532 64.713754-64.713755v-137.040892c0-38.066914-30.453532-64.713755-64.713754-64.713754h-41.873606v-91.360595H852.518067v91.360595h-45.680297c-38.066914 0-64.713755 30.453532-64.713755 64.713754v137.040892c0 38.066914 30.453532 64.713755 64.713755 64.713755h137.040892c38.066914 0 64.713755-30.453532 64.713754-64.713755v-137.040892c3.806691-38.066914-22.840149-68.520446-60.907063-68.520446z m7.613383 205.561338c0 3.806691-3.806691 7.613383-7.613383 7.613383h-137.040892c-3.806691 0-7.613383-3.806691-7.613383-7.613383v-137.040892c0-3.806691 3.806691-7.613383 7.613383-7.613383h137.040892c3.806691 0 7.613383 3.806691 7.613383 7.613383v137.040892z" p-id="21091"></path></svg>
444
+ <path
445
+ :class="themeColor"
446
+ d="M947.685353 711.851301h-34.260223v-121.814126c0-15.226766-11.420074-30.453532-30.453531-30.453532h-342.602231v-167.494424h137.040892c38.066914 0 64.713755-30.453532 64.713755-64.713754V114.200743c0-38.066914-30.453532-64.713755-64.713755-64.713754H346.228104c-38.066914-3.806691-68.520446 26.64684-68.520446 64.713754v216.981413c0 38.066914 30.453532 64.713755 64.713755 64.713755h137.040892v167.494424h-342.602231c-15.226766 0-30.453532 11.420074-30.453531 30.453531v121.814127h-26.64684c-38.066914 0-64.713755 30.453532-64.713755 64.713754v137.040892c0 38.066914 30.453532 64.713755 64.713755 64.713755h137.040892c38.066914 0 64.713755-30.453532 64.713754-64.713755v-137.040892c0-38.066914-30.453532-64.713755-64.713754-64.713754H167.313606v-91.360595h315.95539v91.360595h-41.873606c-38.066914 0-64.713755 30.453532-64.713754 64.713754v137.040892c0 38.066914 30.453532 64.713755 64.713754 64.713755h137.040893c38.066914 0 64.713755-30.453532 64.713754-64.713755v-137.040892c0-38.066914-30.453532-64.713755-64.713754-64.713754h-41.873606v-91.360595H852.518067v91.360595h-45.680297c-38.066914 0-64.713755 30.453532-64.713755 64.713754v137.040892c0 38.066914 30.453532 64.713755 64.713755 64.713755h137.040892c38.066914 0 64.713755-30.453532 64.713754-64.713755v-137.040892c3.806691-38.066914-22.840149-68.520446-60.907063-68.520446z m7.613383 205.561338c0 3.806691-3.806691 7.613383-7.613383 7.613383h-137.040892c-3.806691 0-7.613383-3.806691-7.613383-7.613383v-137.040892c0-3.806691 3.806691-7.613383 7.613383-7.613383h137.040892c3.806691 0 7.613383 3.806691 7.613383 7.613383v137.040892z" p-id="21091">
447
+ </path>
448
+ </svg>
445
449
  </span>
446
450
  </template>
447
451