openatc-components 0.2.75 → 0.2.77

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.
@@ -32,11 +32,14 @@
32
32
  <div class="right-dir-road" v-if="roadDir === 'right'">
33
33
  <div class="centerText" v-if="crossType !== 'Customroads' && isHasPhase">
34
34
  <!-- 相位倒计时 -->
35
- <div class="phaseCountdown" v-show="isShowInterval" v-if="isLoaded && isHasPhase" :class="{'countdownBg': isLoaded}">
35
+ <div class="phaseCountdown" v-show="isShowInterval" v-if="isLoaded && isHasPhase && isHasCountdown" :class="{'countdownBg': isLoaded}">
36
36
  <div v-for="curPhase in phaseCountdownList" :key="curPhase.id" :style="{color: curPhase.phaseCountdownColor}">
37
- <div v-if="curPhase.phaseCountdown !== -1">
38
- <span style="float: left;font-size: 20px;color: #fff;width: 70px;">{{$t('openatccomponents.overview.phase')}}{{curPhase.id}}:</span>
39
- <span style="float: left;">{{curPhase.phaseCountdown}}</span>
37
+ <div v-if="curPhase.phaseCountdown !== undefined && curPhase.phaseCountdown !== -1" style="overflow: hidden;margin-bottom: 4px;">
38
+ <span style="float: left;width: 42px;height: 42px;position: relative;border: 1px solid rgba(255, 255, 255, 0.1);margin-right: 5px;">
39
+ <xdr-dir-selector :Data="xdrData" :Datas="xdrpedData" Width="55px" Height="55px" Widths="55px" Heights="55px" :showlist="curPhase.showlist" :roadDirection="roadDirection"></xdr-dir-selector>
40
+ </span>
41
+ <span style="float: left;color: #fff;margin-right: 8px;width: 30px;">P{{curPhase.id}}:</span>
42
+ <span style="float: left;font-size: 25px;">{{curPhase.phaseCountdown}}</span>
40
43
  </div>
41
44
  </div>
42
45
  </div>
@@ -94,11 +97,14 @@
94
97
  <div class="left-dir-road" v-if="roadDir === 'left'">
95
98
  <div class="centerText" v-if="mainType === '100' || mainType === '101'" :class="{'countdownBg': isLoaded}">
96
99
  <!-- 相位倒计时 -->
97
- <div class="phaseCountdown" v-if="isLoaded && isHasPhase">
100
+ <div class="phaseCountdown" v-show="isShowInterval" v-if="isLoaded && isHasPhase && isHasCountdown" :class="{'countdownBg': isLoaded}">
98
101
  <div v-for="curPhase in phaseCountdownList" :key="curPhase.id" :style="{color: curPhase.phaseCountdownColor}">
99
- <div v-if="curPhase.phaseCountdown !== -1">
100
- <span style="float: left;font-size: 20px;color: #fff;width: 70px;">{{$t('openatccomponents.overview.phase')}}{{curPhase.id}}:</span>
101
- <span style="float: left;">{{curPhase.phaseCountdown}}</span>
102
+ <div v-if="curPhase.phaseCountdown !== undefined && curPhase.phaseCountdown !== -1" style="overflow: hidden;margin-bottom: 4px;">
103
+ <span style="float: left;width: 42px;height: 42px;position: relative;border: 1px solid rgba(255, 255, 255, 0.1);margin-right: 5px;">
104
+ <xdr-dir-selector :Data="xdrData" :Datas="xdrpedData" Width="55px" Height="55px" Widths="55px" Heights="55px" :showlist="curPhase.showlist" :roadDirection="roadDirection"></xdr-dir-selector>
105
+ </span>
106
+ <span style="float: left;color: #fff;margin-right: 8px;width: 30px;">P{{curPhase.id}}:</span>
107
+ <span style="float: left;font-size: 25px;">{{curPhase.phaseCountdown}}</span>
102
108
  </div>
103
109
  </div>
104
110
  </div>
@@ -375,7 +381,16 @@ export default {
375
381
  comdirePhaseData: [], // 对比相同方向车道相位数据后,被删减的唯一direction的数组
376
382
  comdireOverlapPhaseData: [], // 对比相同方向车道跟随相位数据后,被删减的唯一direction的数组
377
383
  busPhaseData: [], // 公交相位数据
378
- comdireBusPhaseData: [] // 对比相同方向公交车道数据后,被删减的唯一direction的数组
384
+ comdireBusPhaseData: [], // 对比相同方向公交车道数据后,被删减的唯一direction的数组
385
+ phaseDirMap: new Map(),
386
+ xdrData: {
387
+ left: '5px',
388
+ top: '4px'
389
+ },
390
+ xdrpedData: {
391
+ left: '1px',
392
+ top: '1px'
393
+ }
379
394
  }
380
395
  },
381
396
  methods: {
@@ -627,6 +642,7 @@ export default {
627
642
  getCurPhaseCountdown () {
628
643
  // 获取当前相位倒计时颜色
629
644
  this.phaseCountdownList = []
645
+ this.isHasCountdown = false
630
646
  this.curPhase.forEach(curP => {
631
647
  this.phaseStatusList.forEach(phaseInfo => {
632
648
  if (phaseInfo.id === curP) {
@@ -634,11 +650,35 @@ export default {
634
650
  countdownObj.id = phaseInfo.id
635
651
  countdownObj.phaseCountdown = phaseInfo.countdown
636
652
  countdownObj.phaseCountdownColor = this.ColorMap.get(phaseInfo.type)
653
+ let curphasedir = this.phaseDirMap.get(phaseInfo.id)
654
+ if (curphasedir !== undefined) {
655
+ countdownObj.showlist = curphasedir.direction.map(dir => {
656
+ return {
657
+ id: dir,
658
+ peddirection: this.getshowped(curphasedir.peddirection),
659
+ color: '#fff'
660
+ }
661
+ })
662
+ } else {
663
+ countdownObj.showlist = []
664
+ }
665
+
637
666
  this.phaseCountdownList.push(countdownObj)
667
+ if (phaseInfo.countdown !== undefined && phaseInfo.countdown !== -1) {
668
+ this.isHasCountdown = true
669
+ }
638
670
  }
639
671
  })
640
672
  })
641
673
  },
674
+ getshowped (peddirection) {
675
+ let peddirarr = peddirection.map(peddir => ({
676
+ id: peddir,
677
+ name: this.PhaseDataModel.getSidePos(peddir).name,
678
+ color: 'rgba(255, 255, 255, 0.4)'
679
+ }))
680
+ return peddirarr
681
+ },
642
682
  getIntersectionInfo () {
643
683
  // 获取路口信息
644
684
  const agentid = this.agentId || '0'
@@ -670,6 +710,7 @@ export default {
670
710
  return
671
711
  }
672
712
  this.crossInfo = res.data.data.param
713
+ this.crossInfo.phaseList.forEach(cross => this.phaseDirMap.set(cross.id, {direction: cross.direction, peddirection: cross.peddirection}))
673
714
  if (this.mainType === '100' || this.mainType === '101' || this.mainType === '104') {
674
715
  // 城市道路加载车道相位坐标和人行道坐标
675
716
  this.getPhasePos()
@@ -1186,8 +1227,8 @@ export default {
1186
1227
  /* padding-left: 16px; */
1187
1228
  }
1188
1229
  .phaseCountdown {
1189
- line-height: 40px;
1190
- font-size: 30px;
1230
+ line-height: 42PX;
1231
+ font-size: 18px;
1191
1232
  font-weight: normal;
1192
1233
  font-stretch: normal;
1193
1234
  letter-spacing: 0px;
@@ -1196,14 +1237,16 @@ export default {
1196
1237
  margin: 0 auto;
1197
1238
  }
1198
1239
  .countdownBg {
1199
- border-radius: 10px;
1240
+ border-radius: 10PX;
1200
1241
  background-color: rgba(94, 90, 90, 0.8);
1201
- padding-left: 16px;
1242
+ padding-left: 14PX;
1243
+ padding-top: 10PX;
1244
+ padding-bottom: 10PX;
1202
1245
  }
1203
1246
  .centerText .text {
1204
1247
  display: inline-block;
1205
1248
  color: #299BCC;
1206
- margin-top: 20px;
1249
+ margin-top: 20PX;
1207
1250
  }
1208
1251
 
1209
1252
  .baseImg {
@@ -48,7 +48,7 @@
48
48
  <div class="divider" :style="{'left':item, 'height':barrierHeight}"></div>
49
49
  </div>
50
50
  </div>
51
- <div v-show="(this.controlData && cycle && cycle>0 && this.isControl) || (this.controlData && newCycle && newCycle>0 && this.isControl)">
51
+ <div v-show="(this.controlData && this.controlData.curTime && cycle && cycle>0 && this.isControl) || (this.controlData && newCycle && newCycle>0 && this.isControl)">
52
52
  <div class="curTimeDiv" :style="{'left':paddingLeft }">{{ timeNumDevide }}</div>
53
53
  <div class="curTimeLine" :style="{'left':paddingLeft, 'height':barrierHeight}"></div>
54
54
  </div>
@@ -84,7 +84,7 @@
84
84
  <div class="first-1" :style="{'width':list.yellowWidth,'height':'34px','background':'#f9dc6a'}"></div>
85
85
  <div class="first-1" :style="{'width':list.redWidth,'height':'34px','background':'#f27979'}"></div>
86
86
  </div>
87
- <div>
87
+ <div v-if="this.controlData && this.controlData.curTime">
88
88
  <div class="curTimeDiv" :style="{ left: paddingLefts }">
89
89
  {{ timeNumDevides }}
90
90
  </div>
@@ -49,6 +49,14 @@
49
49
  <div style="float: left;" class="cross-name">{{$t('openatccomponents.overview.platform')}}:</div>
50
50
  <div style="margin-left: 85px;" class="cross-value">{{platform}}</div>
51
51
  </div>
52
+ <div class="cross-content" v-if="controlData.current_stagecd !== undefined">
53
+ <div style="float: left;" class="cross-name">{{$t('openatccomponents.overview.stagecountdown')}}:</div>
54
+ <div style="margin-left: 85px;" class="cross-value">{{controlData.current_stagecd}}</div>
55
+ </div>
56
+ <div class="cross-content" v-if="controlData.stages_len">
57
+ <div style="float: left;" class="cross-name">{{$t('openatccomponents.overview.stageduration')}}:</div>
58
+ <div style="margin-left: 85px;" class="cross-value">{{controlData.stages_len + ''}}</div>
59
+ </div>
52
60
  <div class="cross-content">
53
61
  <div style="float: left;" class="cross-name">{{$t('openatccomponents.overview.faultinfo')}}:</div>
54
62
  <div style="margin-left: 85px;" v-if="curFaultList.length">