openatc-components 0.4.97 → 0.4.99

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.4.97",
3
+ "version": "0.4.99",
4
4
  "description": "A Vue.js project",
5
5
  "author": "openatc developer",
6
6
  "private": false,
@@ -10,6 +10,7 @@
10
10
  <PatternStatus
11
11
  :showBarrier="showBarrier"
12
12
  :controlPhase="controlPhase"
13
+ :stage="stage"
13
14
  :isShowTip="isShowTip"
14
15
  :isBorder="isBorder"
15
16
  :isMove="isMove"
@@ -76,6 +77,9 @@ export default {
76
77
  stagesChange: {
77
78
  type: Array
78
79
  },
80
+ stage: {
81
+ type: Array
82
+ },
79
83
  isMove: {
80
84
  type: Boolean,
81
85
  default: true
@@ -25,9 +25,19 @@
25
25
  <el-tooltip placement="top-start" effect="light">
26
26
  <div v-if="item.id" slot="content">P{{ item.id }}:{{ item.split }}</div>
27
27
  <div v-if="item.id" style="cursor: pointer">
28
+ <div style="cursor: pointer">
29
+ <div class="ring-phase" style="float: unset">
30
+ <xdrdirselector
31
+ v-if="item.direction && item.direction.length > 0"
32
+ Width="36px"
33
+ Height="34px"
34
+ :showlist="item.direction"
35
+ ></xdrdirselector>
36
+ </div>
37
+ </div>
28
38
  <div
29
39
  class="box"
30
- style="position: absolute; width:40px; left: 0; top: 5px"
40
+ style="position: absolute; width:40px; left: 40px; top: 5px"
31
41
  >
32
42
  <div class="ring-nums">P{{ item.id }}:{{ item.split }}</div>
33
43
  </div>
@@ -182,6 +192,9 @@ export default {
182
192
  type: Boolean,
183
193
  default: true
184
194
  },
195
+ stage: {
196
+ type: Array
197
+ },
185
198
  cycleChange: {
186
199
  type: Boolean,
187
200
  default: true
@@ -479,6 +492,64 @@ export default {
479
492
  // this.handleCurrentChange(this.patternStatusList)
480
493
  this.$emit('handleSplitMove', this.patternId)
481
494
  },
495
+ getPedDirection (data) {
496
+ let ped = []
497
+ for (let stg of data) {
498
+ let peddirections = []
499
+ console.log(this.phaseList, 'this.phaseList')
500
+ let currPhase = this.phaseList.filter((item) => {
501
+ return item.Index === stg
502
+ })[0]
503
+ if (!currPhase) return
504
+ if (!currPhase.peddirection) return
505
+ for (let walk of this.sidewalkPhaseData) {
506
+ for (let ped of currPhase.peddirection) {
507
+ let objs = {}
508
+ objs.name = walk.name
509
+ objs.id = walk.id
510
+ if (ped === walk.id) {
511
+ peddirections.push(objs)
512
+ peddirections = Array.from(new Set(peddirections))
513
+ }
514
+ }
515
+ }
516
+ ped.push(...peddirections)
517
+ }
518
+ return ped
519
+ },
520
+ handleStageDataDerection (data) {
521
+ if (!data) return
522
+ let peddirections = this.getPedDirection(data)
523
+ let stagesTemp = []
524
+ let tempList = []
525
+ for (let stg of data) {
526
+ let directionList = []
527
+ let currPhase = this.phaseList.filter((item) => {
528
+ return item.Index === stg
529
+ })[0]
530
+ if (currPhase !== undefined) {
531
+ directionList.push(...currPhase.direction)
532
+ directionList = Array.from(new Set(directionList))
533
+ }
534
+ if (directionList.length === 0) {
535
+ tempList.push({
536
+ id: '',
537
+ color: '#454545',
538
+ peddirection: peddirections
539
+ })
540
+ } else {
541
+ tempList = directionList.map(dir => ({
542
+ id: dir,
543
+ color: '#454545',
544
+ peddirection: peddirections
545
+ }))
546
+ }
547
+ let newTemp = tempList.filter(item => item.id !== '')
548
+ stagesTemp.push(...newTemp)
549
+ }
550
+ console.log(stagesTemp, 'stagesTemp')
551
+ return stagesTemp
552
+ },
482
553
  getMaxCycle (pattern) {
483
554
  // let rings = pattern.rings
484
555
  let maxCycle = 0
@@ -543,6 +614,11 @@ export default {
543
614
  if (ring.splitchain === 0) continue
544
615
  let obj = {}
545
616
  let split = ring.splitchain
617
+ let currPhase = this.stage.filter((item) => {
618
+ return item.Index === ring.phases
619
+ })[0]
620
+ if (!currPhase) return
621
+ obj.direction = this.handleStageDataDerection(currPhase.IncludedPhase)
546
622
  obj.split = split
547
623
  obj.cycle = cycle
548
624
  obj.id = ring.phases