openatc-components 0.2.70 → 0.2.72

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 (37) hide show
  1. package/package/kisscomps/components/BoardCard/BoardCard.vue +0 -4
  2. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +429 -0
  3. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +65 -11
  4. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +17 -94
  5. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +5 -98
  6. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +11 -7
  7. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +9 -5
  8. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +7 -5
  9. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +41 -10
  10. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +9 -5
  11. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
  12. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +12 -8
  13. package/package/kisscomps/components/Stages/index.vue +2 -1
  14. package/package/kisscomps/components/patternList/patternList.vue +0 -4
  15. package/package/kissui.min.js +1 -1
  16. package/package.json +1 -1
  17. package/src/api/cross.js +4 -0
  18. package/src/api/template.js +4 -0
  19. package/src/i18n/language/zh.js +2 -2
  20. package/src/kisscomps/components/BoardCard/BoardCard.vue +0 -4
  21. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +65 -11
  22. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +17 -94
  23. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +5 -98
  24. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +11 -7
  25. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +9 -5
  26. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +7 -5
  27. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +41 -10
  28. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +9 -5
  29. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
  30. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +12 -8
  31. package/src/kisscomps/components/Stages/index.vue +2 -1
  32. package/src/kisscomps/components/patternList/patternList.vue +0 -4
  33. package/src/views/overView.vue +1 -1
  34. package/static/styles/commonkanban.scss +3 -3
  35. package/static/styles/overview.scss +2 -2
  36. package/static/styles/schemeconfig.scss +38 -23
  37. package/src/node_modules/.package_versions.json +0 -1
@@ -11,33 +11,8 @@
11
11
  **/
12
12
  <template>
13
13
  <div class="main-patternstatus">
14
- <!-- rcp模式 -->
15
- <div v-if="patternType === 'rcp'">
16
- <div class="ring-first" v-for="(list, index1) in patternRcp" :key="index1">
17
- <div style="position: relative" :style="{height: '34px',paddingRight: '1px',float: 'left',width:
18
- ((item.split + (item.sum ? item.sum : 0)) /(item.cycle > cycles ? item.cycle : cycles)) *100 +'%',}"
19
- v-for="(item, index2) in list" :key="index2">
20
- <div class="first-1" :style="{ width:
21
- (Number(item.greenWidth.replace('%', '')) /
22
- Number((((item.split + (item.sum ? item.sum : 0)) /
23
- (item.cycle > cycles ? item.cycle : cycles)) * 100 + '%').replace('%', ''))) * 100 + '%', height: '34px',background: '#7ccc66'}">
24
- </div>
25
- <el-tooltip placement="top-start" effect="light">
26
- <div v-if="item.id" slot="content">P{{ item.id }}:{{ item.split }}</div>
27
- <div v-if="item.id" style="cursor: pointer">
28
- <div
29
- class="box"
30
- style="position: absolute; width:40px; left: 0; top: 5px"
31
- >
32
- <div class="ring-nums">P{{ item.id }}:{{ item.split }}</div>
33
- </div>
34
- </div>
35
- </el-tooltip>
36
- </div>
37
- </div>
38
- </div>
39
14
  <!-- 环模式true -->
40
- <div v-if="(this.contrloType === 'ring' || !this.contrloType) && patternType !== 'rcp'">
15
+ <div v-if="this.contrloType === 'ring' || !this.contrloType">
41
16
  <div class="ring-first" v-for="(list, index1) in patternInfo" :key="index1">
42
17
  <div style="position: relative;" :style="{'height': '34px','float':'left','width':((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100) + '%'}" v-for="(item,index2) in list" :key="index2" :class="item.mode===7?'direction': ''">
43
18
  <div class="first-1" :class="item.mode === 8 ? 'mask' : item.mode === 9 ? 'yellowClass' : ''" :style="{'width':Number(item.greenWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100) + '%').replace('%', ''))*100+'%','height':'34px','background':'#7ccc66'}">
@@ -73,7 +48,7 @@
73
48
  <div class="divider" :style="{'left':item, 'height':barrierHeight}"></div>
74
49
  </div>
75
50
  </div>
76
- <div v-show="(this.curtime>0 && cycle && cycle>0 && this.isControl) || (this.curtime>0 && newCycle && newCycle>0 && this.isControl)">
51
+ <div v-show="(cycle && cycle>0 && this.isControl) || (newCycle && newCycle>0 && this.isControl)">
77
52
  <div class="curTimeDiv" :style="{'left':paddingLeft }">{{ timeNumDevide }}</div>
78
53
  <div class="curTimeLine" :style="{'left':paddingLeft, 'height':barrierHeight}"></div>
79
54
  </div>
@@ -132,7 +107,6 @@ export default {
132
107
  newCycle: this.cycles,
133
108
  patternIds: this.patternId,
134
109
  newPatterns: [],
135
- patternRcp: [],
136
110
  newList: [],
137
111
  isControl: true,
138
112
  contrloCycle: 0,
@@ -157,9 +131,6 @@ export default {
157
131
  controlPhase: {
158
132
  type: Object
159
133
  },
160
- patternType: {
161
- type: String
162
- },
163
134
  contrloType: {
164
135
  type: String
165
136
  },
@@ -242,7 +213,7 @@ export default {
242
213
  watch: {
243
214
  controlPhase: {
244
215
  handler: function (val, oldVal) {
245
- if (val && val.curTime) {
216
+ if ((val && val.curTime) || val.curTime === 0) {
246
217
  this.curtime = val.curTime
247
218
  if (val.control === 4 || val.control === 16 || val.control === 22) {
248
219
  this.isControl = false
@@ -271,7 +242,7 @@ export default {
271
242
  }
272
243
  this.handleBarrierHeight()
273
244
  }
274
- if (val && val.curTime) {
245
+ if ((val && val.curTime) || val.curTime === 0) {
275
246
  this.curtime = val.curTime
276
247
  if (val.control === 4 || val.control === 16 || val.control === 22) {
277
248
  this.isControl = false
@@ -319,9 +290,6 @@ export default {
319
290
  cycles: {
320
291
  handler: function (val, oldVal) {
321
292
  this.newCycle = this.cycles
322
- if (this.patternType === 'rcp') {
323
- this.handleRcp(this.patternStatusList)
324
- }
325
293
  },
326
294
  // 深度观察监听
327
295
  deep: true
@@ -346,9 +314,6 @@ export default {
346
314
  },
347
315
  patternStatusList: {
348
316
  handler: function (val, oldVal) {
349
- if (this.patternType === 'rcp') {
350
- this.handleRcp(this.patternStatusList)
351
- }
352
317
  this.handleBarrierHeight() // 计算屏障高度
353
318
  if (this.patternStatusList && this.newCycle) {
354
319
  setTimeout(() => {
@@ -381,9 +346,6 @@ export default {
381
346
  if (this.contrloType === 'stage') {
382
347
  this.getStage()
383
348
  }
384
- if (this.patternType === 'rcp') {
385
- this.handleRcp(this.patternStatusList)
386
- }
387
349
  },
388
350
  methods: {
389
351
  getPed (data) {
@@ -412,48 +374,6 @@ export default {
412
374
  }
413
375
  return ped
414
376
  },
415
- handleRcp (val) {
416
- this.patternRcp = []
417
- let valSplit = val.map(item => {
418
- return item.map(val => {
419
- return val.splitchain
420
- })
421
- })
422
- let splitCycle = valSplit.length > 0 ? valSplit.map(item => {
423
- return item.length > 0 ? item.reduce((a, b) => {
424
- return a + b
425
- }) : 0
426
- }) : 0
427
- let cycle = Math.max(...splitCycle)// 每个环的周期最大值
428
- for (let rings of val) {
429
- if (rings.length === 0) continue
430
- let list = []
431
- for (let ring of rings) {
432
- if (ring.splitchain === 0) continue
433
- let obj = {}
434
- let split = ring.splitchain
435
- obj.split = split
436
- obj.cycle = cycle
437
- obj.id = ring.phases
438
- // if (ring.sum) {
439
- // obj.sum = ring.sum
440
- // obj.redWidth = ((currPhase.redclear + ring.sum) / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
441
- // } else {
442
- // obj.redWidth = (currPhase.redclear / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
443
- // }
444
- // obj.mode = ring.mode
445
- obj.greenWidth = (split / (cycle > this.cycles ? cycle : this.cycles)) * 100 + '%'
446
- // obj.flashgreen = (currPhase.flashgreen / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
447
- // obj.yellowWidth = (currPhase.yellow / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
448
- // 忽略相位不显示
449
- // let mode = ring.mode
450
- // if (mode !== 7) { // 忽略相位不显示
451
- list.push(obj)
452
- // }
453
- }
454
- this.patternRcp.push(list)
455
- }
456
- },
457
377
  handleStageData (data) {
458
378
  if (!data) return
459
379
  let peddirections = this.getPed(data)
@@ -690,6 +610,7 @@ export default {
690
610
  // if (stg === walk.phaseid) {
691
611
  let objs = {}
692
612
  objs.name = walk.name
613
+ objs.color = 'rgba(48,49,51,0.6)'
693
614
  objs.id = walk.id
694
615
  if (ped === walk.id) {
695
616
  peddirections.push(objs)
@@ -705,7 +626,7 @@ export default {
705
626
  obj.direction = ring.desc.map(item => { // 虚相位desc为空
706
627
  return {
707
628
  id: item.id,
708
- color: '#454545'
629
+ color: '#303133'
709
630
  }
710
631
  })
711
632
  } else {
@@ -714,14 +635,14 @@ export default {
714
635
  return {
715
636
  id: item,
716
637
  peddirection: peddirections,
717
- color: '#454545'
638
+ color: '#303133'
718
639
  }
719
640
  })
720
641
  } else {
721
642
  obj.direction = [
722
643
  {
723
644
  id: '',
724
- color: '#454545',
645
+ color: '#303133',
725
646
  peddirection: peddirections
726
647
  }
727
648
  ]
@@ -942,6 +863,7 @@ export default {
942
863
  let objs = {}
943
864
  objs.name = walk.name
944
865
  objs.id = walk.id
866
+ objs.color = 'rgba(48,49,51,0.6)'
945
867
  if (ped === walk.id) {
946
868
  peddirections.push(objs)
947
869
  peddirections = Array.from(new Set(peddirections))
@@ -956,7 +878,7 @@ export default {
956
878
  obj.direction = ring.desc.map(item => { // 虚相位desc为空
957
879
  return {
958
880
  id: item.id,
959
- color: '#454545'
881
+ color: '#303133'
960
882
  }
961
883
  })
962
884
  } else {
@@ -965,14 +887,14 @@ export default {
965
887
  return {
966
888
  id: item,
967
889
  peddirection: peddirections,
968
- color: '#454545'
890
+ color: '#303133'
969
891
  }
970
892
  })
971
893
  } else {
972
894
  obj.direction = [
973
895
  {
974
896
  id: '',
975
- color: '#454545',
897
+ color: '#303133',
976
898
  peddirection: peddirections
977
899
  }
978
900
  ]
@@ -1169,6 +1091,7 @@ export default {
1169
1091
  let objs = {}
1170
1092
  objs.name = walk.name
1171
1093
  objs.id = walk.id
1094
+ objs.color = 'rgba(48,49,51,0.6)'
1172
1095
  if (ped === walk.id) {
1173
1096
  peddirections.push(objs)
1174
1097
  peddirections = Array.from(new Set(peddirections))
@@ -1183,7 +1106,7 @@ export default {
1183
1106
  obj.direction = ring.desc.map(item => { // 虚相位desc为空
1184
1107
  return {
1185
1108
  id: item.id,
1186
- color: '#454545',
1109
+ color: '#303133',
1187
1110
  peddirection: peddirections
1188
1111
  }
1189
1112
  })
@@ -1192,7 +1115,7 @@ export default {
1192
1115
  obj.direction = currPhase.direction.map(item => {
1193
1116
  return {
1194
1117
  id: item,
1195
- color: '#454545',
1118
+ color: '#303133',
1196
1119
  peddirection: peddirections
1197
1120
  }
1198
1121
  })
@@ -1200,7 +1123,7 @@ export default {
1200
1123
  obj.direction = [
1201
1124
  {
1202
1125
  id: '',
1203
- color: '#454545',
1126
+ color: '#303133',
1204
1127
  peddirection: peddirections
1205
1128
  }
1206
1129
  ]
@@ -1449,7 +1372,7 @@ export default {
1449
1372
  <style lang="scss" scoped>
1450
1373
  .main-patternstatus {
1451
1374
  position: relative;
1452
- margin-bottom: 20px;
1375
+ /* margin-bottom: 20px; */
1453
1376
  }
1454
1377
  .main-patternstatus {
1455
1378
  position: relative;
@@ -38,6 +38,7 @@
38
38
  :overlap="overlap"
39
39
  :patternSelect="patternSelect"
40
40
  :allPatternList="allPatternList"
41
+ :isShowBack="isShowBack"
41
42
  @closeManualModal="closeManualModal"
42
43
  @selectModel="selectModel"
43
44
  @selectStages="selectStages"
@@ -45,76 +46,8 @@
45
46
  @closePhaseBack="closePhaseBack"
46
47
  @closePhaseControl="closePhaseControl"
47
48
  @selectSpecialModel="selectSpecialModelNew" />
48
- <!-- <ManualControlModal
49
- :controlData="controlData"
50
- :modelList="modelList"
51
- :patternSelect="patternSelect"
52
- :patternAll="patternAll"
53
- :crossStatusData="crossStatusData"
54
- :phaseList="phaseList"
55
- :specialcontrolList="specialcontrolList"
56
- :currModel="currModel"
57
- :preselectModel="preselectModel"
58
- :preselectStages="preselectStages"
59
- :realtimeStatusModalvisible="realtimeStatusModalvisible"
60
- :funcSort="funcSort"
61
- :roadDirection="roadDirection"
62
- @closeManualModal="closeManualModal"
63
- @selectModel="selectModel"
64
- @selectStages="selectStages"
65
- @patternCommit="patternCommit"
66
- @selectSpecialModel="selectSpecialModel" /> -->
67
49
  </div>
68
50
  </transition>
69
- <!-- <transition name="fade-left" mode="out-in"
70
- enter-active-class="animated fadeInRight"
71
- leave-active-class="animated fadeOutRight">
72
- <div style="position: absolute;width: 100%;height:100%" v-show="(isOperation && isClosePhase)">
73
- <ClosePhaseControlModal
74
- v-if="specialPage === 'closephase'"
75
- :controlData="controlData"
76
- :closePhaseRings="phaseRings"
77
- :sidewalkPhaseData="sidewalkPhaseData"
78
- :realtimeStatusModalvisible="realtimeStatusModalvisible"
79
- :roadDirection="roadDirection"
80
- @closePhaseBack="closePhaseBack"
81
- @closePhaseControl="closePhaseControl" /> -->
82
- <!-- <LockingPhaseControlModal
83
- v-if="specialPage === 'lockingphase'"
84
- :roadDirection="roadDirection"
85
- :phaseList="phaseList"
86
- :patternStatus="statusData"
87
- :lockPhaseBtnName="lockPhaseBtnName"
88
- @closePhaseBack="closePhaseBack"
89
- @closePhaseControl="closePhaseControl" /> -->
90
- <!-- <TentativePlanControlModal
91
- v-if="specialPage === 'tentativeplan'"
92
- :realtimeStatusModalvisible="realtimeStatusModalvisible"
93
- :controlData="controlData"
94
- :phaseList="phaseList"
95
- :overlap="overlap"
96
- :patternSelect="patternSelect"
97
- :allPatternList="allPatternList"
98
- @closePhaseBack="closePhaseBack"
99
- @closePhaseControl="closePhaseControl"
100
- />
101
- <priorityControl
102
- v-if="specialPage === 'prioritycontrol'"
103
- :realtimeStatusModalvisible="realtimeStatusModalvisible"
104
- :phaseList="phaseList"
105
- @closePhaseBack="closePhaseBack"
106
- @closePhaseControl="closePhaseControl"
107
- /> -->
108
- <!-- <AzimuthLocking
109
- v-if="specialPage === 'azimuthlocking'"
110
- :realtimeStatusModalvisible="realtimeStatusModalvisible"
111
- :phaseList="phaseList"
112
- :patternStatus="statusData"
113
- @closePhaseBack="closePhaseBack"
114
- @closePhaseControl="closePhaseControl"
115
- /> -->
116
- <!-- </div>
117
- </transition> -->
118
51
 
119
52
  <transition name="fade-left" mode="out-in"
120
53
  enter-active-class="animated fadeInLeft"
@@ -240,6 +173,10 @@ export default {
240
173
  isFromAtc: {
241
174
  type: Boolean,
242
175
  default: true
176
+ },
177
+ isShowBack: {
178
+ type: Boolean,
179
+ default: true
243
180
  }
244
181
  },
245
182
  data () {
@@ -473,32 +410,6 @@ export default {
473
410
  faultvisible: false,
474
411
  isClosePhase: false, // 是否在相位关断
475
412
  toPage: 1, // 与哪一个页面交互,1 代表路口信息页面,3代表 相位关断页面
476
- specialcontrolList: [{ // 特殊控制
477
- id: 23,
478
- isShow: true,
479
- permission: 'configer:manual:optimize',
480
- iconClass: 'closephase'
481
- }, {
482
- id: 22,
483
- isShow: true,
484
- permission: 'configer:manual:optimize',
485
- iconClass: 'lockingphase'
486
- }, {
487
- id: 100,
488
- isShow: true,
489
- permission: 'configer:manual:optimize',
490
- iconClass: 'tentativeplan'
491
- }, {
492
- id: 24,
493
- isShow: true,
494
- permission: 'configer:manual:preempt',
495
- iconClass: 'prioritycontrol'
496
- }, {
497
- id: 25,
498
- permission: 'configer:manual:optimize',
499
- isShow: this.realtimeStatusModalvisible,
500
- iconClass: 'azimuthlocking'
501
- }],
502
413
  phaseRings: [],
503
414
  curFaultList: [],
504
415
  confirmedFault: [],
@@ -862,10 +773,6 @@ export default {
862
773
  }
863
774
  },
864
775
  closePhaseBack () {
865
- // if (!this.realtimeStatusModalvisible) {
866
- // this.$emit('closePhaseBack')
867
- // return
868
- // }
869
776
  this.toPage = 3
870
777
  this.isClosePhase = false
871
778
  },
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="tentativeplan-control">
2
+ <div class="tentativeplan-control manual-common-content">
3
3
  <!-- <div class="title" style="margin-bottom: 18px;">{{$t('openatccomponents.overview.azimuthlocking')}}</div> -->
4
4
  <el-row>
5
5
  <el-col :span="12">
@@ -45,10 +45,10 @@
45
45
  </el-col>
46
46
  </el-row>
47
47
  <el-row style="margin-top: 6px;">
48
- <el-col :span="5">
48
+ <el-col :span="24">
49
49
  <span class="model-label-title">{{$t('openatccomponents.overview.indirection')}}:</span>
50
50
  </el-col>
51
- <el-col :span="19">
51
+ <el-col :span="24">
52
52
  <div class="control-model" v-for="(item, index) in imgs" :key="index">
53
53
  <div :style="{'backgroundColor': item.bgcolor}" :class="{'single-model-select':spanIndex.indexOf(index)>-1}" class="single-model" @click="boxShow(index,item)">
54
54
  <div v-if="item.class" :style="{color: themeColor}" :class="item.class" style="border:0px;font-size: 50px;"></div>
@@ -89,13 +89,13 @@
89
89
  </div>
90
90
  </div> -->
91
91
  <div class="footer" v-if="realtimeStatusModalvisible">
92
- <el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
93
- <el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
92
+ <el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
93
+ <el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
94
94
  <el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
95
95
  </div>
96
96
  <div class="footer" v-if="!realtimeStatusModalvisible">
97
- <el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
98
- <el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
97
+ <el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
98
+ <el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
99
99
  <el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
100
100
  </div>
101
101
  </div>
@@ -117,6 +117,10 @@ export default {
117
117
  realtimeStatusModalvisible: {
118
118
  type: Boolean,
119
119
  default: true
120
+ },
121
+ isShowBack: {
122
+ type: Boolean,
123
+ default: true
120
124
  }
121
125
  },
122
126
  watch: {
@@ -10,7 +10,7 @@
10
10
  * See the Mulan PSL v2 for more details.
11
11
  **/
12
12
  <template>
13
- <div class="manual-control-modal closephase-control">
13
+ <div class="manual-control-modal closephase-control manual-common-content">
14
14
  <!-- <div class="title" style="margin-bottom: 18px;">{{$t('openatccomponents.overview.phaseclosecontrol')}}</div> -->
15
15
  <el-row>
16
16
  <el-col :span="24">
@@ -61,13 +61,13 @@
61
61
  </div>
62
62
  </el-row>
63
63
  <div class="footer" v-if="realtimeStatusModalvisible">
64
- <el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
65
- <el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
64
+ <el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
65
+ <el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
66
66
  <el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
67
67
  </div>
68
68
  <div class="footer" v-if="!realtimeStatusModalvisible">
69
- <el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
70
- <el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
69
+ <el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
70
+ <el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
71
71
  <el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
72
72
  </div>
73
73
  </div>
@@ -118,6 +118,10 @@ export default {
118
118
  },
119
119
  roadDirection: {
120
120
  type: String
121
+ },
122
+ isShowBack: {
123
+ type: Boolean,
124
+ default: true
121
125
  }
122
126
  },
123
127
  data () {
@@ -10,12 +10,11 @@
10
10
  * See the Mulan PSL v2 for more details.
11
11
  **/
12
12
  <template>
13
- <div class="lockingphase-control manual-control-modal">
13
+ <div class="lockingphase-control manual-common-content">
14
14
  <!-- <div class="title" style="margin-bottom: 18px;">{{$t('openatccomponents.overview.phaselocking')}}</div> -->
15
15
  <el-row>
16
16
  <el-col :span="12">
17
17
  <el-form
18
- :inline="true"
19
18
  ref="manual"
20
19
  label-position="left"
21
20
  :model="manualInfo"
@@ -41,7 +40,6 @@
41
40
  </el-col>
42
41
  <el-col :span="12">
43
42
  <el-form
44
- :inline="true"
45
43
  ref="manual"
46
44
  label-position="left"
47
45
  :model="manualInfo"
@@ -90,8 +88,8 @@
90
88
  </div>
91
89
  </el-row>
92
90
  <div class="footer">
93
- <el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
94
- <el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
91
+ <el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
92
+ <el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
95
93
  <el-button type="primary" @click="handleLockPhase()">{{lockPhaseBtnName}}</el-button>
96
94
  </div>
97
95
  </div>
@@ -118,6 +116,10 @@ export default {
118
116
  },
119
117
  roadDirection: {
120
118
  type: String
119
+ },
120
+ isShowBack: {
121
+ type: Boolean,
122
+ default: true
121
123
  }
122
124
  },
123
125
  data () {
@@ -54,6 +54,7 @@
54
54
  :phaseList="phaseList"
55
55
  :patternStatus="statusData"
56
56
  :lockPhaseBtnName="lockPhaseBtnName"
57
+ :isShowBack="isShowBack"
57
58
  @closePhaseBack="handleClose"
58
59
  @closePhaseControl="closePhaseControl"
59
60
  @toAutoControl="toAutoControl" />
@@ -63,9 +64,20 @@
63
64
  :realtimeStatusModalvisible="realtimeStatusModalvisible"
64
65
  :phaseList="phaseList"
65
66
  :patternStatus="statusData"
67
+ :isShowBack="isShowBack"
66
68
  @closePhaseBack="handleClose"
67
69
  @toAutoControl="toAutoControl"
68
70
  />
71
+
72
+ <div class="footer" v-if="realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
73
+ <el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
74
+ <el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
75
+ <el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
76
+ </div>
77
+ <div class="footer" v-if="!realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
78
+ <el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
79
+ <el-button class="3" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
80
+ </div>
69
81
  </el-tab-pane>
70
82
  <el-tab-pane :label="$t('openatccomponents.overview.specialcontrol')" name="specialcontrol">
71
83
  <ControlModelGroup
@@ -90,6 +102,17 @@
90
102
  </el-form-item>
91
103
  </el-form>
92
104
  </div>
105
+
106
+ <div class="footer" v-if="realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
107
+ <el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
108
+ <el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
109
+ <el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
110
+ </div>
111
+ <div class="footer" v-if="!realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
112
+ <el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
113
+ <el-button class="3" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
114
+ </div>
115
+
93
116
  </el-tab-pane>
94
117
  <el-tab-pane :label="$t('openatccomponents.overview.schemeselection')" name="schemeselection">
95
118
  <ControlModelGroup
@@ -148,6 +171,16 @@
148
171
  </pattern-list>
149
172
  </div>
150
173
  </div>
174
+
175
+ <div class="footer" v-if="realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
176
+ <el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
177
+ <el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
178
+ <el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
179
+ </div>
180
+ <div class="footer" v-if="!realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
181
+ <el-button @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
182
+ <el-button class="3" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
183
+ </div>
151
184
  </el-tab-pane>
152
185
  <el-tab-pane :label="$t('openatccomponents.overview.others')" name="others">
153
186
  <ControlModelGroup
@@ -167,6 +200,7 @@
167
200
  :sidewalkPhaseData="sidewalkPhaseData"
168
201
  :realtimeStatusModalvisible="realtimeStatusModalvisible"
169
202
  :roadDirection="roadDirection"
203
+ :isShowBack="isShowBack"
170
204
  @closePhaseBack="handleClose"
171
205
  @closePhaseControl="closePhaseControl"
172
206
  @toAutoControl="toAutoControl" />
@@ -178,6 +212,7 @@
178
212
  :overlap="overlap"
179
213
  :patternSelect="patternSelect"
180
214
  :allPatternList="allPatternList"
215
+ :isShowBack="isShowBack"
181
216
  @closePhaseBack="handleClose"
182
217
  @closePhaseControl="closePhaseControl"
183
218
  @toAutoControl="toAutoControl"
@@ -186,21 +221,13 @@
186
221
  v-if="preselecttype === '优先控制'"
187
222
  :realtimeStatusModalvisible="realtimeStatusModalvisible"
188
223
  :phaseList="phaseList"
224
+ :isShowBack="isShowBack"
189
225
  @closePhaseBack="handleClose"
190
226
  @closePhaseControl="closePhaseControl"
191
227
  @toAutoControl="toAutoControl"
192
228
  />
193
229
  </el-tab-pane>
194
230
  </el-tabs>
195
- <div class="footer" v-if="realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
196
- <el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
197
- <el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
198
- <el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
199
- </div>
200
- <div class="footer" v-if="!realtimeStatusModalvisible && ((activeName === 'residentcontrol' && preselecttype !== '相位锁定' && preselecttype !== '方向锁定') || activeName === 'specialcontrol' || activeName === 'schemeselection')">
201
- <el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
202
- <el-button class="3" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
203
- </div>
204
231
  </div>
205
232
  </template>
206
233
 
@@ -274,7 +301,7 @@ export default {
274
301
  specialcontrolList: {
275
302
  type: Array
276
303
  },
277
- realtimeStatusModalvisible: {
304
+ realtimeStatusModalvisible: { // 区分是保存方案还是提交方案,保存方案没有路口实时信息
278
305
  type: Boolean,
279
306
  default: true
280
307
  },
@@ -311,6 +338,10 @@ export default {
311
338
  },
312
339
  patternChooseControlList: {
313
340
  type: Array
341
+ },
342
+ isShowBack: {
343
+ type: Boolean,
344
+ default: true
314
345
  }
315
346
  },
316
347
  watch: {