openatc-components 0.3.34 → 0.3.36
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/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +1 -1
- package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +2 -2
- package/package/kisscomps/components/KanBan/kanban.vue +6 -0
- package/package/kisscomps/components/PatternStatus/PatternStatus.vue +138 -1
- package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +11 -9
- package/package/kisscomps/components/patternConfig/index.vue +18 -160
- package/package/kisscomps/components/patternConfig/pattern/patternTable.vue +19 -6
- package/package/kissui.min.js +1 -1
- package/package.json +1 -1
- package/src/i18n/language/en.js +3 -0
- package/src/i18n/language/zh.js +3 -0
- package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +1 -1
- package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +2 -2
- package/src/kisscomps/components/KanBan/kanban.vue +6 -0
- package/src/kisscomps/components/PatternStatus/PatternStatus.vue +138 -1
- package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +11 -9
- package/src/kisscomps/components/patternConfig/index.vue +18 -160
- package/src/kisscomps/components/patternConfig/pattern/patternTable.vue +19 -6
- package/src/node_modules/.package_versions.json +1 -0
- package/static/styles/common.scss +3 -3
- package/static/styles/intersection.scss +15 -5
- package/static/styles/schemeconfig.scss +3 -6
package/package.json
CHANGED
package/src/i18n/language/en.js
CHANGED
|
@@ -444,6 +444,9 @@ const en = {
|
|
|
444
444
|
'modeOption6': 'Max Call And Pedestrian Call',
|
|
445
445
|
'modeOption7': 'Omit Call',
|
|
446
446
|
'modeOption8': 'Turn Off Phase',
|
|
447
|
+
'modeOption9': 'Yellow Flash Phase',
|
|
448
|
+
'modeOption10': 'Fix',
|
|
449
|
+
'modeOption11': 'Dwell',
|
|
447
450
|
'coordphaseOption1': 'Coordination Phase',
|
|
448
451
|
'coordphaseOption2': 'Key Phase',
|
|
449
452
|
'coordphaseOption4': 'Fixed Phase',
|
package/src/i18n/language/zh.js
CHANGED
|
@@ -442,6 +442,9 @@ const zh = {
|
|
|
442
442
|
'modeOption6': '最大绿和行人请求',
|
|
443
443
|
'modeOption7': '忽略相位',
|
|
444
444
|
'modeOption8': '关断相位',
|
|
445
|
+
'modeOption9': '黄闪相位',
|
|
446
|
+
'modeOption10': '非感应',
|
|
447
|
+
'modeOption11': '驻留',
|
|
445
448
|
'coordphaseOption1': '协调相位',
|
|
446
449
|
'coordphaseOption2': '关键相位',
|
|
447
450
|
'coordphaseOption4': '固定相位',
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
@change="handleChangePosY" @input.native="eventChange('y')" />
|
|
22
22
|
</el-form-item>
|
|
23
23
|
<el-form-item v-if="showAngle" :label="$t('openatccomponents.channelizationmap.angle') + ':'">
|
|
24
|
-
<el-input-number :min="0" :max="360" :controls="false" ref="refNumber-angle" v-model="basicCoodInfo.angle"
|
|
24
|
+
<el-input-number :min="0" :max="360" :precision="0" :step="1" :controls="false" ref="refNumber-angle" v-model="basicCoodInfo.angle"
|
|
25
25
|
@change="handleChangeAngle" @input.native="eventChange('angle')" />
|
|
26
26
|
</el-form-item>
|
|
27
27
|
<el-form-item v-if="showKeyId" label="ID:">
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
:disabled="!isSeletable"
|
|
27
27
|
@click="clickOpen"
|
|
28
28
|
>{{$t('openatccomponents.channelizationmap.againimport')}}</el-button>
|
|
29
|
-
<i class="lock-map el-icon-unlock" v-if="isLockedCrossMap" @click="handleLockCrossMap()"></i>
|
|
30
|
-
<i class="lock-map el-icon-lock" v-if="
|
|
29
|
+
<i class="lock-map el-icon-unlock" v-if="!isLockedCrossMap" @click="handleLockCrossMap()"></i>
|
|
30
|
+
<i class="lock-map el-icon-lock" v-if="isLockedCrossMap" @click="handleLockCrossMap()"></i>
|
|
31
31
|
</div>
|
|
32
32
|
|
|
33
33
|
<div class="draw-to-sketchpad">
|
|
@@ -562,10 +562,22 @@ export default {
|
|
|
562
562
|
let split = phase.filter((item) => {
|
|
563
563
|
return item.id === sequ
|
|
564
564
|
})[0].split
|
|
565
|
+
let mode = phase.filter((item) => {
|
|
566
|
+
return item.id === sequ
|
|
567
|
+
})[0].mode
|
|
565
568
|
newValue.map(d => {
|
|
566
569
|
d.map(r => {
|
|
567
570
|
if (r.id === sequ) {
|
|
568
571
|
r.value = split
|
|
572
|
+
if (mode === 1) {
|
|
573
|
+
r.mode = 8
|
|
574
|
+
} else if (mode === 2) {
|
|
575
|
+
r.mode = 7
|
|
576
|
+
} else if (mode === 3) {
|
|
577
|
+
r.mode = 9
|
|
578
|
+
} else {
|
|
579
|
+
r.mode = 2
|
|
580
|
+
}
|
|
569
581
|
}
|
|
570
582
|
})
|
|
571
583
|
})
|
|
@@ -588,6 +600,30 @@ export default {
|
|
|
588
600
|
}) : 0
|
|
589
601
|
let cycle = Math.max(...splitCycle)// 每个环的周期最大值
|
|
590
602
|
this.contrloCycle = cycle
|
|
603
|
+
// 按环序分组
|
|
604
|
+
let ringlength = []
|
|
605
|
+
let ringsequence = val.map(item => {
|
|
606
|
+
if (item.length === 0) return
|
|
607
|
+
ringlength.push(item.length)
|
|
608
|
+
return item.map(k => {
|
|
609
|
+
return k.id
|
|
610
|
+
})
|
|
611
|
+
})
|
|
612
|
+
let newRings = ringsequence.filter(item => item)
|
|
613
|
+
let minLength = Math.min(...ringlength)
|
|
614
|
+
let resultArrs = [] // 环1分组
|
|
615
|
+
let resultArr = [] // 环2分组
|
|
616
|
+
for (let j = 0; j < ringsequence[0].length; j += minLength) {
|
|
617
|
+
resultArrs.push(ringsequence[0].slice(j, j + minLength))
|
|
618
|
+
if (ringsequence[0].length === minLength) {
|
|
619
|
+
resultArrs.push([])
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
if (newRings.length > 1) {
|
|
623
|
+
for (let i = 0; i < ringsequence[1].length; i += minLength) {
|
|
624
|
+
resultArr.push(ringsequence[1].slice(i, i + minLength))
|
|
625
|
+
}
|
|
626
|
+
}
|
|
591
627
|
this.patternInfo = []
|
|
592
628
|
let currentArr = []
|
|
593
629
|
let newPattern = []
|
|
@@ -611,8 +647,80 @@ export default {
|
|
|
611
647
|
}
|
|
612
648
|
if (currentArr.length !== 0) {
|
|
613
649
|
let newCurrent = this.tranform(currentArr)
|
|
614
|
-
|
|
650
|
+
// 取没个环与环关系的并集
|
|
651
|
+
let barrierRing1 = []
|
|
652
|
+
let barrierRing2 = []
|
|
653
|
+
let ring1 = [] // 环1与关系1的并集
|
|
654
|
+
for (let h = 0; h < newCurrent.length; h++) {
|
|
655
|
+
let adds = [...new Set(resultArrs[0])].filter(item => newCurrent[h].includes(item))
|
|
656
|
+
ring1.push(adds)
|
|
657
|
+
}
|
|
658
|
+
let ring1s = [] // 环1与关系2的并集
|
|
659
|
+
for (let h = 0; h < newCurrent.length; h++) {
|
|
660
|
+
let addRing1 = [...new Set(resultArrs[1])].filter(item => newCurrent[h].includes(item))
|
|
661
|
+
ring1s.push(addRing1)
|
|
662
|
+
}
|
|
663
|
+
barrierRing1.push(...ring1, ...ring1s)
|
|
664
|
+
let resultList = []
|
|
665
|
+
if (newRings.length > 1) {
|
|
666
|
+
let ring2s = [] // 环2与关系1的并集
|
|
667
|
+
for (let h = 0; h < newCurrent.length; h++) {
|
|
668
|
+
let addRing2 = [...new Set(resultArr[1])].filter(item => newCurrent[h].includes(item))
|
|
669
|
+
ring2s.push(addRing2)
|
|
670
|
+
}
|
|
671
|
+
let ring2 = [] // 环2与关系1的并集
|
|
672
|
+
for (let h = 0; h < newCurrent.length; h++) {
|
|
673
|
+
let add = [...new Set(resultArr[0])].filter(item => newCurrent[h].includes(item))
|
|
674
|
+
ring2.push(add)
|
|
675
|
+
}
|
|
676
|
+
barrierRing2.push(...ring2, ...ring2s)
|
|
677
|
+
for (let k = 0; k < barrierRing1.length; k++) {
|
|
678
|
+
resultList.push(barrierRing1[k].concat(barrierRing2[k]))
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
let resultLists = resultList.filter(item => item.length !== 0)
|
|
682
|
+
let ringArr = []
|
|
683
|
+
for (let l = 0; l < resultLists.length; l++) {
|
|
684
|
+
for (let d = 0; d < newCurrent.length; d++) {
|
|
685
|
+
if (newCurrent[d].filter(item => resultLists[l].includes(item)).length > 0) {
|
|
686
|
+
ringArr.push({
|
|
687
|
+
data: resultLists[l],
|
|
688
|
+
id: d + 1,
|
|
689
|
+
index: l
|
|
690
|
+
})
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
// let ringObj = {}
|
|
695
|
+
// ringArr.forEach(item => {
|
|
696
|
+
// ringObj[item.index] = {
|
|
697
|
+
// id: item.id,
|
|
698
|
+
// index: item.index
|
|
699
|
+
// }
|
|
700
|
+
// })
|
|
701
|
+
for (var i = 0; i < ringArr.length; i++) {
|
|
702
|
+
for (var j = i + 1; j < ringArr.length; j++) {
|
|
703
|
+
if (ringArr[i].id === ringArr[j].id && ringArr[i].index + 1 === ringArr[j].index) {
|
|
704
|
+
ringArr[i].data = ringArr[i].data.concat(ringArr[j].data)
|
|
705
|
+
ringArr.splice(ringArr.indexOf(ringArr[j].id), 1)
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
let resArr = ringArr.map(item => item.data)
|
|
710
|
+
// this.barrierArr = resArr
|
|
711
|
+
let ringTeam = this.step1(this.phaseList, resArr)
|
|
712
|
+
let ringTeams = ringTeam.filter(item => item.length !== 0)
|
|
713
|
+
this.setBarriers(ringTeams, val)
|
|
615
714
|
this.fillGap(ringTeam, val)
|
|
715
|
+
let newPattern = []
|
|
716
|
+
val.map(i => {
|
|
717
|
+
newPattern.push(...i)
|
|
718
|
+
})
|
|
719
|
+
let barrier = this.step2(ringTeams, newPattern)
|
|
720
|
+
let barrierLeft = barrier.map(item => item)
|
|
721
|
+
this.barrierList = barrierLeft.map(j => {
|
|
722
|
+
return ((j / cycle) * 100) + '%'
|
|
723
|
+
})
|
|
616
724
|
}
|
|
617
725
|
// let cycle = this.controlData.cycle
|
|
618
726
|
for (let rings of val) {
|
|
@@ -1178,6 +1286,35 @@ export default {
|
|
|
1178
1286
|
this.patternInfo.push(list)
|
|
1179
1287
|
}
|
|
1180
1288
|
},
|
|
1289
|
+
setBarriers (ringTeam, val) { // 临时方案添加特征参数barrier
|
|
1290
|
+
this.localPatternList.map(item => {
|
|
1291
|
+
// if (item.id === this.patternIds) {
|
|
1292
|
+
const patternObjs = {}
|
|
1293
|
+
val.forEach(l => {
|
|
1294
|
+
l.map(k => {
|
|
1295
|
+
patternObjs[k.id] = k.value
|
|
1296
|
+
})
|
|
1297
|
+
})
|
|
1298
|
+
let ret = ringTeam.map((y, index) => {
|
|
1299
|
+
if (!y || y.length === 0) return
|
|
1300
|
+
y.map(n => {
|
|
1301
|
+
n.length = n.data.length > 1 ? n.data.reduce((pre, cur) => pre + patternObjs[cur], 0) : patternObjs[n.data[0]]
|
|
1302
|
+
})
|
|
1303
|
+
return {
|
|
1304
|
+
barrier: index + 1,
|
|
1305
|
+
length: y[0].length,
|
|
1306
|
+
items: y.map(j => {
|
|
1307
|
+
return {
|
|
1308
|
+
ring: j.ring,
|
|
1309
|
+
data: j.data
|
|
1310
|
+
}
|
|
1311
|
+
})
|
|
1312
|
+
}
|
|
1313
|
+
})
|
|
1314
|
+
item.barriers = ret
|
|
1315
|
+
// }
|
|
1316
|
+
})
|
|
1317
|
+
},
|
|
1181
1318
|
setBarrier (ringTeam, val) { // 添加特征参数barrier
|
|
1182
1319
|
this.patternList.map(item => {
|
|
1183
1320
|
if (item.id === this.patternIds) {
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
:model="manualInfo"
|
|
21
21
|
label-width="90px">
|
|
22
22
|
<el-form-item
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
:label="$t('openatccomponents.overview.greenclear')"
|
|
24
|
+
prop="intersection">
|
|
25
|
+
<el-input-number :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.tempGreenflash" size="small"></el-input-number>
|
|
26
|
+
</el-form-item>
|
|
27
27
|
|
|
28
28
|
<el-form-item
|
|
29
29
|
:label="$t('openatccomponents.overview.yellowflash')"
|
|
@@ -44,11 +44,13 @@
|
|
|
44
44
|
label-position="left"
|
|
45
45
|
:model="manualInfo"
|
|
46
46
|
label-width="90px">
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
|
|
48
|
+
<el-form-item
|
|
49
|
+
:label="$t('openatccomponents.overview.duration')"
|
|
50
|
+
prop="count">
|
|
51
|
+
<el-input-number :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.tempDuration" size="small"></el-input-number>
|
|
52
|
+
</el-form-item>
|
|
53
|
+
|
|
52
54
|
<el-form-item
|
|
53
55
|
:label="$t('openatccomponents.overview.allred')"
|
|
54
56
|
prop="intersection">
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
</div>
|
|
39
39
|
<div style="height: 94%;" class="table-container">
|
|
40
40
|
<PatternTable ref="patterntable"
|
|
41
|
+
:devicesData="devicesData"
|
|
41
42
|
:maxTableHeight="maxTableHeight"
|
|
42
43
|
:opt="item.devs"
|
|
43
44
|
:isAllowedExpand="isAllowedExpand"
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
</el-container>
|
|
56
57
|
<div v-if="isShowSingle" style="height: 94%;" class="table-container">
|
|
57
58
|
<PatternTable ref="patterntable"
|
|
59
|
+
:devicesData="devicesData"
|
|
58
60
|
:opt="opt.optPatternList[0].devs"
|
|
59
61
|
:isAllowedExpand="isAllowedExpand"
|
|
60
62
|
:maxTableHeight="maxTableHeight"
|
|
@@ -114,6 +116,11 @@ export default {
|
|
|
114
116
|
if (old && val.join('') === old.join('')) {
|
|
115
117
|
return false
|
|
116
118
|
}
|
|
119
|
+
if (!val || val.length === 0) {
|
|
120
|
+
console.log('ematy anentids:', val)
|
|
121
|
+
return false
|
|
122
|
+
}
|
|
123
|
+
console.log('full anentids:', val)
|
|
117
124
|
this.handeAgentidsChange()
|
|
118
125
|
},
|
|
119
126
|
immediate: true
|
|
@@ -121,6 +128,8 @@ export default {
|
|
|
121
128
|
},
|
|
122
129
|
data () {
|
|
123
130
|
return {
|
|
131
|
+
devicesData: [],
|
|
132
|
+
deviceIds: [],
|
|
124
133
|
maxTableHeight: 200,
|
|
125
134
|
chartData: {},
|
|
126
135
|
months: monthsModel,
|
|
@@ -141,36 +150,6 @@ export default {
|
|
|
141
150
|
// isOnlyOneTab: true,
|
|
142
151
|
loading: false,
|
|
143
152
|
keyintsidOptions: [],
|
|
144
|
-
directionOptions: [{
|
|
145
|
-
value: 'up',
|
|
146
|
-
label: this.$t('openatccomponents.greenwaveoptimize.directionOption1'),
|
|
147
|
-
id: '1'
|
|
148
|
-
}, {
|
|
149
|
-
value: 'down',
|
|
150
|
-
label: this.$t('openatccomponents.greenwaveoptimize.directionOption2'),
|
|
151
|
-
id: '2'
|
|
152
|
-
}, {
|
|
153
|
-
value: 'all',
|
|
154
|
-
label: this.$t('openatccomponents.greenwaveoptimize.directionOption3'),
|
|
155
|
-
id: '3'
|
|
156
|
-
}],
|
|
157
|
-
optstrategyOptions: [{
|
|
158
|
-
value: 'green',
|
|
159
|
-
label: this.$t('openatccomponents.greenwaveoptimize.optstrategyoption1'),
|
|
160
|
-
id: '1'
|
|
161
|
-
}, {
|
|
162
|
-
value: 'red',
|
|
163
|
-
label: this.$t('openatccomponents.greenwaveoptimize.optstrategyoption2'),
|
|
164
|
-
id: '2'
|
|
165
|
-
}, {
|
|
166
|
-
value: 'motorcade-end',
|
|
167
|
-
label: this.$t('openatccomponents.greenwaveoptimize.optstrategyoption3'),
|
|
168
|
-
id: '3'
|
|
169
|
-
}, {
|
|
170
|
-
value: 'dynamicGreen',
|
|
171
|
-
label: this.$t('openatccomponents.greenwaveoptimize.optstrategyoption4'),
|
|
172
|
-
id: '4'
|
|
173
|
-
}],
|
|
174
153
|
editableTabsValue: '1',
|
|
175
154
|
routePattern: {
|
|
176
155
|
'id': 1,
|
|
@@ -266,6 +245,7 @@ export default {
|
|
|
266
245
|
}
|
|
267
246
|
}
|
|
268
247
|
this.route = route
|
|
248
|
+
await _this.getDeviceByIds(route)
|
|
269
249
|
_this.onAgentidsChange('', optPatternList, _this.agentids)
|
|
270
250
|
})
|
|
271
251
|
},
|
|
@@ -514,128 +494,6 @@ export default {
|
|
|
514
494
|
}
|
|
515
495
|
},
|
|
516
496
|
onConditionChange () {},
|
|
517
|
-
onOptstrategyChange (val) {
|
|
518
|
-
if (this.chartData.patternList) {
|
|
519
|
-
this.chartData.routeData.optstrategy = val
|
|
520
|
-
}
|
|
521
|
-
},
|
|
522
|
-
onDirectionChange (val) {
|
|
523
|
-
if (this.chartData.patternList) {
|
|
524
|
-
this.chartData.routeData.direction = val
|
|
525
|
-
}
|
|
526
|
-
},
|
|
527
|
-
onUpspeedChange (val) {
|
|
528
|
-
if (this.chartData.patternList) {
|
|
529
|
-
this.chartData.routeData.upspeed = val
|
|
530
|
-
}
|
|
531
|
-
},
|
|
532
|
-
onDownspeedChange (val) {
|
|
533
|
-
if (this.chartData.patternList) {
|
|
534
|
-
this.chartData.routeData.downspeed = val
|
|
535
|
-
}
|
|
536
|
-
},
|
|
537
|
-
handleMonth (val, index) {
|
|
538
|
-
let allValues = []
|
|
539
|
-
// 保留所有值
|
|
540
|
-
for (let item of this.months) {
|
|
541
|
-
allValues.push(item.value)
|
|
542
|
-
}
|
|
543
|
-
// 若是全部选择
|
|
544
|
-
if (val.includes(0)) this.editableTabs[index].month = allValues
|
|
545
|
-
// 取消全部选中,上次有,当前没有,表示取消全选
|
|
546
|
-
if (this.oldOptions.includes(0) && !val.includes(0)) this.editableTabs[index].month = []
|
|
547
|
-
// 点击非全部选中,需要排除全部选中,以及,当前点击的选项
|
|
548
|
-
// 新老数据都有全部选中
|
|
549
|
-
if (this.oldOptions.includes(0) && val.includes(0)) {
|
|
550
|
-
let tempIndex = val.indexOf(0)
|
|
551
|
-
val.splice(tempIndex, 1) // 排除全选选项
|
|
552
|
-
this.editableTabs[index].month = val
|
|
553
|
-
}
|
|
554
|
-
// 全选未选,但是其他选项全部选上,则全选选上,上次和当前,都没有全选
|
|
555
|
-
if (!this.oldOptions.includes(0) && !val.includes(0)) {
|
|
556
|
-
if (val.length === allValues.length - 1) this.editableTabs[index].month = [0].concat(val)
|
|
557
|
-
}
|
|
558
|
-
this.oldOptions = this.editableTabs[index].month
|
|
559
|
-
},
|
|
560
|
-
handleDate (val, index) {
|
|
561
|
-
let allValues = []
|
|
562
|
-
// 保留所有值
|
|
563
|
-
for (let item of this.dates) {
|
|
564
|
-
allValues.push(item)
|
|
565
|
-
}
|
|
566
|
-
// 判断中英文
|
|
567
|
-
if (this.$i18n.locale === 'en') {
|
|
568
|
-
// 若是全部选择
|
|
569
|
-
if (val.includes('All')) this.editableTabs[index].date = allValues
|
|
570
|
-
// 取消全部选中,上次有,当前没有,表示取消全选
|
|
571
|
-
if (this.oldOptions.includes('All') && !val.includes('All')) this.editableTabs[index].date = []
|
|
572
|
-
// 点击非全部选中,需要排除全部选中,以及,当前点击的选项
|
|
573
|
-
// 新老数据都有全部选中
|
|
574
|
-
if (this.oldOptions.includes('All') && val.includes('All')) {
|
|
575
|
-
let tempIndex = val.indexOf('All')
|
|
576
|
-
val.splice(tempIndex, 1) // 排除全选选项
|
|
577
|
-
this.editableTabs[index].date = val
|
|
578
|
-
}
|
|
579
|
-
// 全选未选,但是其他选项全部选上,则全选选上,上次和当前,都没有全选
|
|
580
|
-
if (!this.oldOptions.includes('All') && !val.includes('All')) {
|
|
581
|
-
if (val.length === allValues.length - 1) this.editableTabs[index].date = ['All'].concat(val)
|
|
582
|
-
}
|
|
583
|
-
} else if (this.$i18n.locale === 'zh') {
|
|
584
|
-
// 若是全部选择
|
|
585
|
-
if (val.includes('全选')) this.editableTabs[index].date = allValues
|
|
586
|
-
// 取消全部选中,上次有,当前没有,表示取消全选
|
|
587
|
-
if (this.oldOptions.includes('全选') && !val.includes('全选')) this.editableTabs[index].date = []
|
|
588
|
-
// 点击非全部选中,需要排除全部选中,以及,当前点击的选项
|
|
589
|
-
// 新老数据都有全部选中
|
|
590
|
-
if (this.oldOptions.includes('全选') && val.includes('全选')) {
|
|
591
|
-
let tempIndex = val.indexOf('全选')
|
|
592
|
-
val.splice(tempIndex, 1) // 排除全选选项
|
|
593
|
-
this.editableTabs[index].date = val
|
|
594
|
-
}
|
|
595
|
-
// 全选未选,但是其他选项全部选上,则全选选上,上次和当前,都没有全选
|
|
596
|
-
if (!this.oldOptions.includes('全选') && !val.includes('全选')) {
|
|
597
|
-
if (val.length === allValues.length - 1) this.editableTabs[index].date = ['全选'].concat(val)
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
this.oldOptions = this.editableTabs[index].date
|
|
601
|
-
},
|
|
602
|
-
handleDateInit (val, status) {
|
|
603
|
-
if (status) {
|
|
604
|
-
this.oldOptions = val
|
|
605
|
-
} else {
|
|
606
|
-
this.oldOptions = []
|
|
607
|
-
}
|
|
608
|
-
},
|
|
609
|
-
handleDay (val, index) {
|
|
610
|
-
let allValues = []
|
|
611
|
-
// 保留所有值
|
|
612
|
-
for (let item of this.days) {
|
|
613
|
-
allValues.push(item.value)
|
|
614
|
-
}
|
|
615
|
-
// 若是全部选择
|
|
616
|
-
if (val.includes(8)) this.editableTabs[index].day = allValues
|
|
617
|
-
// 取消全部选中,上次有,当前没有,表示取消全选
|
|
618
|
-
if (this.oldOptions.includes(8) && !val.includes(8)) this.editableTabs[index].day = []
|
|
619
|
-
// 点击非全部选中,需要排除全部选中,以及,当前点击的选项
|
|
620
|
-
// 新老数据都有全部选中
|
|
621
|
-
if (this.oldOptions.includes(8) && val.includes(8)) {
|
|
622
|
-
let tempIndex = val.indexOf(8)
|
|
623
|
-
val.splice(tempIndex, 1) // 排除全选选项
|
|
624
|
-
this.editableTabs[index].day = val
|
|
625
|
-
}
|
|
626
|
-
// 全选未选,但是其他选项全部选上,则全选选上,上次和当前,都没有全选
|
|
627
|
-
if (!this.oldOptions.includes(8) && !val.includes(8)) {
|
|
628
|
-
if (val.length === allValues.length - 1) this.editableTabs[index].day = [8].concat(val)
|
|
629
|
-
}
|
|
630
|
-
this.oldOptions = this.editableTabs[index].day
|
|
631
|
-
},
|
|
632
|
-
initOldOptions (val, status) {
|
|
633
|
-
if (status) {
|
|
634
|
-
this.oldOptions = val
|
|
635
|
-
} else {
|
|
636
|
-
this.oldOptions = []
|
|
637
|
-
}
|
|
638
|
-
},
|
|
639
497
|
beforeLeave (currentName, oldName) {
|
|
640
498
|
// var self = this // 重点,如果name是add,则什么都不触发
|
|
641
499
|
if (currentName === 'add') {
|
|
@@ -835,22 +693,22 @@ export default {
|
|
|
835
693
|
}
|
|
836
694
|
patterntable.newPatternList = []
|
|
837
695
|
},
|
|
838
|
-
getDeviceByIds (routeData) {
|
|
696
|
+
async getDeviceByIds (routeData) {
|
|
839
697
|
// 获取设备表格信息
|
|
840
698
|
let realtimeRouteData = JSON.parse(JSON.stringify(routeData))
|
|
841
699
|
this.deviceIds = realtimeRouteData.devs.map(ele => ele.agentid)
|
|
842
|
-
GetDeviceByIds(this.deviceIds).then(res => {
|
|
700
|
+
await GetDeviceByIds(this.deviceIds).then(res => {
|
|
843
701
|
if (!res.data.success) {
|
|
844
702
|
this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
|
|
845
703
|
return
|
|
846
704
|
}
|
|
847
705
|
this.devicesData = res.data.data
|
|
848
|
-
// 取路口对应的实际方案id
|
|
849
|
-
let devs = realtimeRouteData.devs
|
|
850
|
-
for (let inter of devs) {
|
|
851
|
-
|
|
852
|
-
}
|
|
853
|
-
this.chartData.realPatternRouteData = realtimeRouteData
|
|
706
|
+
// // 取路口对应的实际方案id
|
|
707
|
+
// let devs = realtimeRouteData.devs
|
|
708
|
+
// for (let inter of devs) {
|
|
709
|
+
// inter.patternid = this.getActurlPatternid(inter.agentid)
|
|
710
|
+
// }
|
|
711
|
+
// this.chartData.realPatternRouteData = realtimeRouteData
|
|
854
712
|
// this.$refs.chartDialog.show(true, this.chartData, this.route.name, this.devicesData)
|
|
855
713
|
})
|
|
856
714
|
},
|
|
@@ -29,6 +29,11 @@
|
|
|
29
29
|
<span>{{scope.row.agentid}}</span>
|
|
30
30
|
</template>
|
|
31
31
|
</el-table-column>
|
|
32
|
+
<el-table-column align="center" :label="$t('openatccomponents.overview.crossname')" width="120" minWidth="40">
|
|
33
|
+
<template slot-scope="scope">
|
|
34
|
+
<span>{{getDevName(scope.row)}}</span>
|
|
35
|
+
</template>
|
|
36
|
+
</el-table-column>
|
|
32
37
|
<el-table-column property="isValid" :label="$t('openatccomponents.token.isValid')" align="center" width="80" prop="isused">
|
|
33
38
|
<template slot-scope="scope">
|
|
34
39
|
<el-switch
|
|
@@ -59,11 +64,7 @@
|
|
|
59
64
|
<span></span>
|
|
60
65
|
</template>
|
|
61
66
|
</el-table-column>
|
|
62
|
-
|
|
63
|
-
</el-table-column>
|
|
64
|
-
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.directionOption2')" width="150" prop="backphaseDesc" :formatter="formatterBackphaseDesc">
|
|
65
|
-
</el-table-column> -->
|
|
66
|
-
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.offset')" width="120" prop="offset">
|
|
67
|
+
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.offset')" width="70" prop="offset">
|
|
67
68
|
<template slot-scope="scope">
|
|
68
69
|
<el-input-number v-if="isAllowedExpand" :controls="false" :min="0" :step="1" v-model.number="scope.row.offset" size="small" style="width:70%;"></el-input-number>
|
|
69
70
|
<span v-else>
|
|
@@ -71,7 +72,7 @@
|
|
|
71
72
|
</span>
|
|
72
73
|
</template>
|
|
73
74
|
</el-table-column>
|
|
74
|
-
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.cycle')" width="
|
|
75
|
+
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.cycle')" width="60" prop="cycle">
|
|
75
76
|
</el-table-column>
|
|
76
77
|
<el-table-column align="center" :label="$t('openatccomponents.pattern.plan')">
|
|
77
78
|
<template slot-scope="scope">
|
|
@@ -125,6 +126,10 @@ export default {
|
|
|
125
126
|
XiaoKanBan
|
|
126
127
|
},
|
|
127
128
|
props: {
|
|
129
|
+
devicesData: {
|
|
130
|
+
type: Array,
|
|
131
|
+
default: () => []
|
|
132
|
+
},
|
|
128
133
|
optList: {
|
|
129
134
|
type: Array
|
|
130
135
|
},
|
|
@@ -176,6 +181,14 @@ export default {
|
|
|
176
181
|
})
|
|
177
182
|
},
|
|
178
183
|
methods: {
|
|
184
|
+
getDevName (row) {
|
|
185
|
+
let res = row.name ? row.name : ''
|
|
186
|
+
if (this.devicesData) {
|
|
187
|
+
let dev = this.devicesData.find(item => item.agentid === row.agentid)
|
|
188
|
+
res = dev ? dev.name : res
|
|
189
|
+
}
|
|
190
|
+
return res
|
|
191
|
+
},
|
|
179
192
|
onPatternTable (routeData, patternList, phaseList) {
|
|
180
193
|
if (patternList.length === 0) {
|
|
181
194
|
// this.$message.error('方案为空!')
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
|
|
12
12
|
// 全局滚动条样式
|
|
13
13
|
::-webkit-scrollbar {
|
|
14
|
-
width:
|
|
15
|
-
height:
|
|
14
|
+
width: 12PX;
|
|
15
|
+
height: 12PX;
|
|
16
16
|
}
|
|
17
17
|
::-webkit-scrollbar-thumb {
|
|
18
18
|
// 滚动条的滑块
|
|
19
|
-
border-radius:
|
|
19
|
+
border-radius: 4px;
|
|
20
20
|
background: rgba(144, 147, 153, 0.3);
|
|
21
21
|
}
|
|
22
22
|
::-webkit-scrollbar-corner{
|
|
@@ -38,6 +38,9 @@
|
|
|
38
38
|
zoom: 0.9;
|
|
39
39
|
|
|
40
40
|
}
|
|
41
|
+
.centerText .text {
|
|
42
|
+
font-size: 14px;
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
45
|
/*当屏幕小于等于1440px的屏幕样式*/
|
|
43
46
|
@media only screen and (max-width: 1440px){
|
|
@@ -46,6 +49,9 @@
|
|
|
46
49
|
zoom: 0.8;
|
|
47
50
|
|
|
48
51
|
}
|
|
52
|
+
.centerText .text {
|
|
53
|
+
font-size: 18px;
|
|
54
|
+
}
|
|
49
55
|
}
|
|
50
56
|
/*当屏幕小于等于1280px的屏幕样式*/
|
|
51
57
|
@media only screen and (max-width: 1280px){
|
|
@@ -53,6 +59,9 @@
|
|
|
53
59
|
// transform: scale(0.65);
|
|
54
60
|
zoom: 0.65;
|
|
55
61
|
}
|
|
62
|
+
.centerText .text {
|
|
63
|
+
font-size: 20px;
|
|
64
|
+
}
|
|
56
65
|
}
|
|
57
66
|
/*当屏幕小于等于960px的屏幕样式*/
|
|
58
67
|
@media only screen and (max-width: 960px){
|
|
@@ -60,6 +69,9 @@
|
|
|
60
69
|
// transform: scale(0.5);
|
|
61
70
|
zoom: 0.5;
|
|
62
71
|
}
|
|
72
|
+
.centerText .text {
|
|
73
|
+
font-size: 14px;
|
|
74
|
+
}
|
|
63
75
|
}
|
|
64
76
|
/*当屏幕小于等于720px的屏幕样式*/
|
|
65
77
|
@media only screen and (max-width: 720px){
|
|
@@ -67,6 +79,9 @@
|
|
|
67
79
|
// transform: scale(0.45);
|
|
68
80
|
zoom: 0.45;
|
|
69
81
|
}
|
|
82
|
+
.centerText .text {
|
|
83
|
+
font-size: 14px;
|
|
84
|
+
}
|
|
70
85
|
}
|
|
71
86
|
// 小屏幕打开首页适配样式
|
|
72
87
|
.minifont {
|
|
@@ -173,9 +188,4 @@
|
|
|
173
188
|
color: $--color-text-primary;
|
|
174
189
|
font-size:30PX;
|
|
175
190
|
}
|
|
176
|
-
.centerText {
|
|
177
|
-
.text {
|
|
178
|
-
font-size: 18PX;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
191
|
}
|