openatc-components 0.2.36 → 0.2.37

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 (46) hide show
  1. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +49 -49
  2. package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +39 -8
  3. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +5 -8
  4. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +25 -178
  5. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +29 -72
  6. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +3 -14
  7. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +7 -17
  8. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +1 -1
  9. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +9 -18
  10. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
  11. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +36 -38
  12. package/package/kisscomps/components/Stages/index.vue +11 -52
  13. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +29 -30
  14. package/package/kisscomps/components/patternConfig/pattern/patternTable.vue +73 -13
  15. package/package/kisscomps/components/patternConfig/planContent.vue +3 -0
  16. package/package/kissui.min.js +1 -1
  17. package/package.json +2 -2
  18. package/src/i18n/language/en.js +2 -6
  19. package/src/i18n/language/zh.js +3 -7
  20. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +49 -49
  21. package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +39 -8
  22. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +5 -8
  23. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +25 -178
  24. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +29 -72
  25. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +3 -14
  26. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +7 -17
  27. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +1 -1
  28. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +9 -18
  29. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
  30. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +36 -38
  31. package/src/kisscomps/components/Stages/index.vue +11 -52
  32. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +29 -30
  33. package/src/kisscomps/components/patternConfig/pattern/patternTable.vue +73 -13
  34. package/src/kisscomps/components/patternConfig/planContent.vue +3 -0
  35. package/src/views/intersection.vue +11 -5
  36. package/src/views/patternConfig.vue +7 -970
  37. package/src/views/schemeconfig.vue +50 -19
  38. package/static/styles/schemeconfig.scss +58 -70
  39. package/static/styles/stages.scss +8 -1
  40. package/src/icons/svg/fangxiangsuoding.svg +0 -1
  41. package/src/icons/svg/jieduansuoding.svg +0 -1
  42. package/src/icons/svg/xiangweisuoding.svg +0 -1
  43. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +0 -128
  44. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +0 -426
  45. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +0 -820
  46. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +0 -194
@@ -47,7 +47,7 @@
47
47
  import xdrdirselector from '../XRDDirSelector/XRDDirSelector'
48
48
  import { uploadSingleTscParam } from '../../../api/param.js'
49
49
  import { getMessageByCode } from '../../../utils/responseMessage.js'
50
- import { getIntersectionInfo } from '../../../api/template.js'
50
+ // import { getIntersectionInfo } from '../../../api/template.js'
51
51
  import CrossDiagramMgr from '../../../EdgeMgr/controller/crossDiagramMgr.js'
52
52
  import PhaseDataModel from '../IntersectionMap/crossDirection/utils.js'
53
53
  // import { getTheme } from '../../../utils/auth'
@@ -100,57 +100,57 @@ export default {
100
100
  }
101
101
  },
102
102
  methods: {
103
- init () {
103
+ init (IntersectionInfo) {
104
104
  this.CrossDiagramMgr = new CrossDiagramMgr()
105
105
  this.PhaseDataModel = new PhaseDataModel(this.roadDirection)
106
- this.getIntersectionInfo() // 获取路口信息
106
+ this.getIntersectionInfo(IntersectionInfo) // 获取路口信息
107
107
  },
108
- getIntersectionInfo () {
108
+ getIntersectionInfo (res) {
109
109
  // 获取路口信息
110
- const agentid = this.agentId || '0'
111
- getIntersectionInfo(agentid).then(res => {
112
- if (!res.data.success) {
113
- this.isLoaded = false
114
- let commomMsg = this.$t('openatccomponents.overview.signalID') + ' : ' + agentid
115
- let msg = getMessageByCode(res.data.code, this.$i18n.locale)
116
- if (res.data.data) {
117
- // 子类型错误
118
- let childErrorCode = res.data.data.errorCode
119
- if (childErrorCode) {
120
- let childerror = getMessageByCode(res.data.data.errorCode, this.$i18n.locale)
121
- msg = msg + ' - ' + childerror
122
- }
123
- }
124
- msg = msg + ' - ' + commomMsg
125
- this.$message.error(msg)
126
- return
127
- }
128
- this.tempType = res.data.data.type
129
- // 获取车道相位、行人相位信息(坐标、名称)
130
- this.mainType = this.tempType.split('-')[0]
131
- this.mainDirection = this.tempType.split('-')[1]
132
- if (!this.isThirdSignal) {
133
- // 可点击模式下,非第三方设备,按通道显示相位方向
134
- this.getChannelInfo()
135
- return
136
- }
137
- this.crossInfo = res.data.data.param
138
- // 城市道路加载车道相位坐标和人行道坐标
139
- this.getPhasePos()
140
- this.getOverlapPhasePos()
141
- this.getPedPhasePos()
142
- this.getOverlapPedPhasePos()
143
- if (this.isThirdSignal) {
144
- // 第三方设备,按相位方向显示相位方向
145
- this.compLanePhaseData = this.CrossDiagramMgr.compare(this.LanePhaseData, this.overlapLanePhaseData, 'type', 'nostatus')
146
- this.compSidewalkPhaseData = this.CrossDiagramMgr.compare(this.sidewalkPhaseData, this.overlapsidewalkPhaseData, 'pedtype', 'nostatus')
147
- let allDir = this.compLanePhaseData.map(ele => ele.id)
148
- let allPedDir = this.compSidewalkPhaseData.map(ele => ele.id)
149
- this.inneChoosedDirection = this.choosedDirection.filter(dir => allDir.indexOf(dir) !== -1)
150
- this.inneChoosedPedDirection = this.choosedPedDirection.filter(dir => allPedDir.indexOf(dir) !== -1)
151
- this.drawPhaseIcon()
152
- }
153
- })
110
+ // const agentid = this.agentId || '0'
111
+ // getIntersectionInfo(agentid).then(res => {
112
+ // if (!res.data.success) {
113
+ // this.isLoaded = false
114
+ // let commomMsg = this.$t('openatccomponents.overview.signalID') + ' : ' + agentid
115
+ // let msg = getMessageByCode(res.data.code, this.$i18n.locale)
116
+ // if (res.data.data) {
117
+ // // 子类型错误
118
+ // let childErrorCode = res.data.data.errorCode
119
+ // if (childErrorCode) {
120
+ // let childerror = getMessageByCode(res.data.data.errorCode, this.$i18n.locale)
121
+ // msg = msg + ' - ' + childerror
122
+ // }
123
+ // }
124
+ // msg = msg + ' - ' + commomMsg
125
+ // this.$message.error(msg)
126
+ // return
127
+ // }
128
+ this.tempType = res.data.data.type
129
+ // 获取车道相位、行人相位信息(坐标、名称)
130
+ this.mainType = this.tempType.split('-')[0]
131
+ this.mainDirection = this.tempType.split('-')[1]
132
+ if (!this.isThirdSignal) {
133
+ // 可点击模式下,非第三方设备,按通道显示相位方向
134
+ this.getChannelInfo()
135
+ return
136
+ }
137
+ this.crossInfo = res.data.data.param
138
+ // 城市道路加载车道相位坐标和人行道坐标
139
+ this.getPhasePos()
140
+ this.getOverlapPhasePos()
141
+ this.getPedPhasePos()
142
+ this.getOverlapPedPhasePos()
143
+ if (this.isThirdSignal) {
144
+ // 第三方设备,按相位方向显示相位方向
145
+ this.compLanePhaseData = this.CrossDiagramMgr.compare(this.LanePhaseData, this.overlapLanePhaseData, 'type', 'nostatus')
146
+ this.compSidewalkPhaseData = this.CrossDiagramMgr.compare(this.sidewalkPhaseData, this.overlapsidewalkPhaseData, 'pedtype', 'nostatus')
147
+ let allDir = this.compLanePhaseData.map(ele => ele.id)
148
+ let allPedDir = this.compSidewalkPhaseData.map(ele => ele.id)
149
+ this.inneChoosedDirection = this.choosedDirection.filter(dir => allDir.indexOf(dir) !== -1)
150
+ this.inneChoosedPedDirection = this.choosedPedDirection.filter(dir => allPedDir.indexOf(dir) !== -1)
151
+ this.drawPhaseIcon()
152
+ }
153
+ // })
154
154
  },
155
155
  getPhasePos () {
156
156
  // 车道相位信息
@@ -448,7 +448,7 @@ export default {
448
448
  }
449
449
  },
450
450
  mounted () {
451
- this.init()
451
+ // this.init()
452
452
  }
453
453
  }
454
454
  </script>
@@ -1,19 +1,20 @@
1
1
  <template>
2
- <div class="intersection-direction-selection">
2
+ <div class="intersection-direction-selection" v-if="isSpecialIntersection !== undefined">
3
3
  <intersection-base-map
4
- v-if="!isSpecialIntersection"
4
+ v-if="!isSpecialIntersection && reset"
5
5
  ref="intersectionMap2"
6
6
  :crossStatusData="crossStatusData"
7
7
  :agentId="agentId"
8
8
  isVipRoute
9
- clickMode
9
+ :clickMode="clickMode"
10
10
  :isThirdSignal="isThirdSignal"
11
11
  :choosedDirection="choosedDirection"
12
12
  :choosedPedDirection="choosedPedDirection"
13
13
  :roadDirection="roadDirection"
14
14
  @handleClickCrossIcon="handleClickCrossIcon" />
15
15
  <direction-list-configuration
16
- v-if="isSpecialIntersection"
16
+ v-if="isSpecialIntersection && clickMode && reset"
17
+ ref="listConfiguration"
17
18
  :agentId="agentId"
18
19
  :isThirdSignal="isThirdSignal"
19
20
  :choosedDirection="choosedDirection"
@@ -34,8 +35,9 @@ export default {
34
35
  data () {
35
36
  return {
36
37
  crossStatusData: {},
37
- isSpecialIntersection: false,
38
- isThirdSignal: false
38
+ isSpecialIntersection: undefined,
39
+ isThirdSignal: false,
40
+ reset: true
39
41
  }
40
42
  },
41
43
  props: {
@@ -55,6 +57,23 @@ export default {
55
57
  },
56
58
  thirdSignal: { // 是否是第三方平台(可以直接传,也可以内部接口判断)
57
59
  type: Boolean
60
+ },
61
+ clickMode: {
62
+ type: Boolean,
63
+ default: true
64
+ }
65
+ },
66
+ watch: {
67
+ agentId: {
68
+ handler: function (val, oldVal) {
69
+ if (val) {
70
+ this.reset = false
71
+ this.$nextTick(() => {
72
+ this.reset = true
73
+ this.initSelection()
74
+ })
75
+ }
76
+ }
58
77
  }
59
78
  },
60
79
  methods: {
@@ -87,6 +106,11 @@ export default {
87
106
  this.mainType = this.tempType.split('-')[0]
88
107
  if (this.mainType === '999') {
89
108
  this.isSpecialIntersection = true
109
+ if (this.clickMode) {
110
+ this.$nextTick(() => {
111
+ this.$refs.listConfiguration.init(res)
112
+ })
113
+ }
90
114
  } else {
91
115
  this.isSpecialIntersection = false
92
116
  }
@@ -113,15 +137,22 @@ export default {
113
137
  },
114
138
  handleClickCrossIcon (allChoosedDir, curClickedPhase) {
115
139
  this.$emit('handleClickCrossIcon', allChoosedDir, curClickedPhase)
140
+ },
141
+ initSelection () {
142
+ this.getIntersectionInfo()
143
+ this.getPlatform()
116
144
  }
117
145
  },
118
146
  mounted () {
119
- this.getIntersectionInfo()
120
- this.getPlatform()
147
+ this.initSelection()
121
148
  },
122
149
  destroyed () {
123
150
  }
124
151
  }
125
152
  </script>
126
153
  <style lang='scss'>
154
+ .intersection-direction-selection {
155
+ width: 100%;
156
+ height: 100%
157
+ }
127
158
  </style>
@@ -15,7 +15,7 @@
15
15
  <div v-if="this.contrloType === 'ring' || !this.contrloType">
16
16
  <div class="ring-first" v-for="(list, index1) in patternInfo" :key="index1">
17
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': ''">
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'}">
18
+ <div class="first-1" :class="item.mode===8?'masks': ''" :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'}">
19
19
  <el-tooltip placement="top-start" effect="light">
20
20
  <div slot="content">P{{item.id}}:{{item.split}}</div>
21
21
  <div style="cursor:pointer;">
@@ -38,9 +38,9 @@
38
38
  <i class="iconfont icon-youguidianche" style="position: absolute;top: 8px;left:70px;font-size:12px;color:#454545;" v-if="bus.controltype === 5 && bus.phaseid===item.id"></i>
39
39
  </div>
40
40
  </div>
41
- <div class="first-1" :class="item.mode === 8 ? 'mask' : item.mode === 9 ? 'yellowClass' : ''" :style="{'width':Number(item.flashgreen.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','float':'left','background': 'linear-gradient(to right, #ffffff 50%, #7ccc66 0)','background-size': '4px 100%'}"></div>
42
- <div class="first-1" :class="item.mode === 8 ? 'mask' : item.mode === 9 ? 'yellowClass' : ''" :style="{'width':Number(item.yellowWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100) + '%').replace('%', ''))*100+'%','height':'34px','background':'#f9dc6a'}"></div>
43
- <div class="first-1" :class="item.mode === 8 ? 'mask' : item.mode === 9 ? 'yellowClass' : ''" :style="{'width':Number(item.redWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','background':'#f27979'}"></div>
41
+ <div class="first-1" :class="item.mode===8?'masks': ''" :style="{'width':Number(item.flashgreen.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','float':'left','background': 'linear-gradient(to right, #ffffff 50%, #7ccc66 0)','background-size': '4px 100%'}"></div>
42
+ <div class="first-1" :class="item.mode===8?'masks': ''" :style="{'width':Number(item.yellowWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100) + '%').replace('%', ''))*100+'%','height':'34px','background':'#f9dc6a'}"></div>
43
+ <div class="first-1" :class="item.mode===8?'masks': ''" :style="{'width':Number(item.redWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','background':'#f27979'}"></div>
44
44
  </div>
45
45
  </div>
46
46
  <div v-if="showBarrier">
@@ -433,7 +433,7 @@ export default {
433
433
  getStage () {
434
434
  if (!this.stagesChange) return
435
435
  const globalParamModel = this.$store.getters.globalParamModel
436
- let pattern = globalParamModel ? globalParamModel.getParamsByType('patternList') : this.allPatternList
436
+ let pattern = this.allPatternList ? this.allPatternList : globalParamModel.getParamsByType('patternList')
437
437
  let mapAdd = pattern.map(item => item.stagesList).map(item => {
438
438
  return item.map(val => {
439
439
  return val.stageSplit ? val.stageSplit : val.split
@@ -1471,9 +1471,6 @@ export default {
1471
1471
  .masks {
1472
1472
  background: rgb(242, 121, 121) !important;
1473
1473
  }
1474
- .yellowClass {
1475
- background: #f9dc6a !important;
1476
- }
1477
1474
  .first-1 {
1478
1475
  float: left;
1479
1476
  // text-align: center;
@@ -16,36 +16,8 @@
16
16
  <transition name="fade-right" mode="out-in"
17
17
  :enter-active-class="toPage === 1 ? 'animated fadeInRight' : 'animated fadeInLeft'"
18
18
  :leave-active-class="toPage === 1 ? 'animated fadeOutRight' : 'animated fadeOutLeft' ">
19
- <div class="new" style="position: absolute;width: 100%;height:100%;" v-show="(isOperation && !isClosePhase)">
20
- <ManualControlModalNew
21
- ref="ManualControlModalNew"
22
- :residentControlList="residentControlList"
23
- :specialControlList="specialControlList"
24
- :patternChooseControlList="patternChooseControlList"
25
- :othersControlList="othersControlList"
26
- :controlData="controlData"
27
- :patternAll="patternAll"
28
- :crossStatusData="crossStatusData"
29
- :preselectModel="preselectModel"
30
- :preselectStages="preselectStages"
31
- :realtimeStatusModalvisible="realtimeStatusModalvisible"
32
- :roadDirection="roadDirection"
33
- :closePhaseRings="phaseRings"
34
- :sidewalkPhaseData="sidewalkPhaseData"
35
- :phaseList="phaseList"
36
- :statusData="statusData"
37
- :lockPhaseBtnName="lockPhaseBtnName"
38
- :overlap="overlap"
39
- :patternSelect="patternSelect"
40
- :allPatternList="allPatternList"
41
- @closeManualModal="closeManualModal"
42
- @selectModel="selectModel"
43
- @selectStages="selectStages"
44
- @patternCommit="patternCommit"
45
- @closePhaseBack="closePhaseBack"
46
- @closePhaseControl="closePhaseControl"
47
- @selectSpecialModel="selectSpecialModelNew" />
48
- <!-- <ManualControlModal
19
+ <div style="position: absolute;width: 100%;height:100%;" v-show="(isOperation && !isClosePhase)">
20
+ <ManualControlModal
49
21
  :controlData="controlData"
50
22
  :modelList="modelList"
51
23
  :patternSelect="patternSelect"
@@ -63,10 +35,10 @@
63
35
  @selectModel="selectModel"
64
36
  @selectStages="selectStages"
65
37
  @patternCommit="patternCommit"
66
- @selectSpecialModel="selectSpecialModel" /> -->
38
+ @selectSpecialModel="selectSpecialModel" />
67
39
  </div>
68
40
  </transition>
69
- <!-- <transition name="fade-left" mode="out-in"
41
+ <transition name="fade-left" mode="out-in"
70
42
  enter-active-class="animated fadeInRight"
71
43
  leave-active-class="animated fadeOutRight">
72
44
  <div style="position: absolute;width: 100%;height:100%" v-show="(isOperation && isClosePhase)">
@@ -78,16 +50,16 @@
78
50
  :realtimeStatusModalvisible="realtimeStatusModalvisible"
79
51
  :roadDirection="roadDirection"
80
52
  @closePhaseBack="closePhaseBack"
81
- @closePhaseControl="closePhaseControl" /> -->
82
- <!-- <LockingPhaseControlModal
53
+ @closePhaseControl="closePhaseControl" />
54
+ <LockingPhaseControlModal
83
55
  v-if="specialPage === 'lockingphase'"
84
56
  :roadDirection="roadDirection"
85
57
  :phaseList="phaseList"
86
58
  :patternStatus="statusData"
87
59
  :lockPhaseBtnName="lockPhaseBtnName"
88
60
  @closePhaseBack="closePhaseBack"
89
- @closePhaseControl="closePhaseControl" /> -->
90
- <!-- <TentativePlanControlModal
61
+ @closePhaseControl="closePhaseControl" />
62
+ <TentativePlanControlModal
91
63
  v-if="specialPage === 'tentativeplan'"
92
64
  :realtimeStatusModalvisible="realtimeStatusModalvisible"
93
65
  :controlData="controlData"
@@ -104,17 +76,17 @@
104
76
  :phaseList="phaseList"
105
77
  @closePhaseBack="closePhaseBack"
106
78
  @closePhaseControl="closePhaseControl"
107
- /> -->
108
- <!-- <AzimuthLocking
79
+ />
80
+ <AzimuthLocking
109
81
  v-if="specialPage === 'azimuthlocking'"
110
82
  :realtimeStatusModalvisible="realtimeStatusModalvisible"
111
83
  :phaseList="phaseList"
112
84
  :patternStatus="statusData"
113
85
  @closePhaseBack="closePhaseBack"
114
86
  @closePhaseControl="closePhaseControl"
115
- /> -->
116
- <!-- </div>
117
- </transition> -->
87
+ />
88
+ </div>
89
+ </transition>
118
90
 
119
91
  <transition name="fade-left" mode="out-in"
120
92
  enter-active-class="animated fadeInLeft"
@@ -150,7 +122,6 @@ import { putTscControl } from '../../../api/control.js'
150
122
  import { uploadSingleTscParam } from '../../../api/param.js'
151
123
  import RealtimeStatusModal from './realtimeStatusModal'
152
124
  import ManualControlModal from './manualControlModal'
153
- import ManualControlModalNew from './manualControlModalNew'
154
125
  import ClosePhaseControlModal from './closePhaselControlModal'
155
126
  import LockingPhaseControlModal from './lockingPhaselControlModal'
156
127
  import TentativePlanControlModal from './tentativeplancontrolmodal'
@@ -161,10 +132,9 @@ import { getMessageByCode } from '../../../utils/responseMessage'
161
132
  import { GetAllFaultRange } from '../../../api/fault'
162
133
  import PhaseDataModel from '../IntersectionMap/crossDirection/utils.js'
163
134
  import CrossDiagramMgr from '../../../EdgeMgr/controller/crossDiagramMgr.js'
164
- import { setToken, setHost, getTheme } from '../../../utils/auth.js'
135
+ import { setToken, setHost } from '../../../utils/auth.js'
165
136
  import RingDataModel from '../../../utils/RingDataModel.js'
166
137
  import { getIntersectionInfo } from '../../../api/template'
167
-
168
138
  export default {
169
139
  name: 'scheme-config',
170
140
  components: {
@@ -174,8 +144,7 @@ export default {
174
144
  LockingPhaseControlModal,
175
145
  priorityControl,
176
146
  AzimuthLocking,
177
- TentativePlanControlModal,
178
- ManualControlModalNew
147
+ TentativePlanControlModal
179
148
  },
180
149
  props: {
181
150
  phaseList: {
@@ -335,132 +304,6 @@ export default {
335
304
  permission: 'configer:manual:base',
336
305
  iconName: '感应式行人过街控制'
337
306
  }],
338
- residentControlList: [
339
- {
340
- type: '步进',
341
- id: 4,
342
- iconClass: 'bujin',
343
- permission: 'configer:manual:dwell',
344
- iconName: this.$t('openatccomponents.overview.modelList4'),
345
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
346
- },
347
- {
348
- type: '阶段锁定',
349
- id: 4,
350
- iconClass: 'jieduansuoding',
351
- permission: 'configer:manual:dwell',
352
- iconName: this.$t('openatccomponents.overview.modelList4-'),
353
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
354
- },
355
- {
356
- type: '相位锁定',
357
- id: 22,
358
- iconClass: 'xiangweisuoding',
359
- permission: 'configer:manual:dwell',
360
- iconName: this.$t('openatccomponents.overview.modelList22'),
361
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
362
- },
363
- {
364
- type: '方向锁定',
365
- id: 25,
366
- iconClass: 'fangxiangsuoding',
367
- permission: 'configer:manual:dwell',
368
- iconName: this.$t('openatccomponents.overview.modelList25'),
369
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
370
- }
371
- ],
372
- specialControlList: [
373
- {
374
- type: '黄闪',
375
- id: 1,
376
- iconClass: 'huangshan',
377
- permission: 'configer:manual:senior',
378
- iconName: this.$t('openatccomponents.overview.modelList1'),
379
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
380
- }, {
381
- type: '全红',
382
- id: 2,
383
- iconClass: 'quanhong',
384
- permission: 'configer:manual:senior',
385
- iconName: this.$t('openatccomponents.overview.modelList2'),
386
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
387
- }, {
388
- type: '关灯',
389
- id: 3,
390
- iconClass: 'guandeng',
391
- permission: 'configer:manual:senior',
392
- iconName: this.$t('openatccomponents.overview.modelList3'),
393
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
394
- }
395
- ],
396
- patternChooseControlList: [
397
- {
398
- type: '定周期',
399
- id: 5,
400
- iconClass: 'dingzhouqi',
401
- permission: 'configer:manual:base',
402
- iconName: this.$t('openatccomponents.overview.modelList5'),
403
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
404
- }, {
405
- type: '单点感应',
406
- id: 6,
407
- iconClass: 'ganyingkongzhi',
408
- permission: 'configer:manual:base',
409
- iconName: this.$t('openatccomponents.overview.modelList6'),
410
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
411
- }, {
412
- type: '自适应控制',
413
- id: 9,
414
- iconClass: 'zishiying',
415
- permission: 'configer:manual:base',
416
- iconName: this.$t('openatccomponents.overview.modelList9'),
417
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
418
- }, {
419
- type: '无电缆协调',
420
- id: 10,
421
- iconClass: 'wuxianlan',
422
- permission: 'configer:manual:base',
423
- iconName: this.$t('openatccomponents.overview.modelList10'),
424
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
425
- }, {
426
- type: '行人过街',
427
- id: 12,
428
- iconClass: 'xingrenguojie',
429
- permission: 'configer:manual:base',
430
- iconName: this.$t('openatccomponents.overview.modelList12'),
431
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
432
- }, {
433
- type: '感应式行人过街',
434
- id: 19,
435
- iconClass: 'ganyingshixingrenguojie',
436
- permission: 'configer:manual:base',
437
- iconName: this.$t('openatccomponents.overview.modelList19'),
438
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
439
- }
440
- ],
441
- othersControlList: [
442
- { // 特殊控制
443
- type: '相位关断',
444
- id: 23,
445
- permission: 'configer:manual:optimize',
446
- iconClass: 'closephase',
447
- iconName: this.$t('openatccomponents.overview.modelList23'),
448
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
449
- }, {
450
- type: '临时方案',
451
- id: 100,
452
- permission: 'configer:manual:optimize',
453
- iconClass: 'tentativeplan',
454
- iconName: this.$t('openatccomponents.overview.modelList100'),
455
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
456
- }, {
457
- type: '优先控制',
458
- id: 24,
459
- permission: 'configer:manual:preempt',
460
- iconClass: 'prioritycontrol',
461
- iconName: this.$t('openatccomponents.overview.modelList24'),
462
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
463
- }],
464
307
  currModel: -1,
465
308
  preselectModel: -1, // 预选方案
466
309
  preselectStages: -1, // 预选阶段
@@ -639,7 +482,15 @@ export default {
639
482
  changeStatus () {
640
483
  this.toPage = 1
641
484
  this.isOperation = true
642
- this.$refs.ManualControlModalNew.init()
485
+ if (this.modelList.filter(ele => ele.id === 0).length === 0) {
486
+ let autonomyControl = {
487
+ id: 0,
488
+ iconClass: 'zizhukongzhi',
489
+ permission: 'configer:manual:renew',
490
+ iconName: '自主控制'
491
+ }
492
+ this.modelList.push(autonomyControl)
493
+ }
643
494
  },
644
495
  handleGetData (data) {
645
496
  let that = this
@@ -716,7 +567,7 @@ export default {
716
567
  })
717
568
  control.control = that.preselectModel
718
569
  // control.terminal = isNaN(parseInt(manualInfo.tempPatternid)) ? Number(manualInfo.tempPatternid.replace(/[^0-9]/ig, '')) : manualInfo.tempPatternid
719
- control.terminal = manualInfo.tempPatternid === undefined ? null : Number(manualInfo.tempPatternid)
570
+ control.terminal = Number(manualInfo.tempPatternid)
720
571
  // control.delay = Number(manualInfo.tempDelay)
721
572
  control.duration = Number(manualInfo.tempDuration)
722
573
  control.value = that.preselectStages === -1 ? 0 : that.preselectStages
@@ -825,10 +676,6 @@ export default {
825
676
  this.closePhase = []
826
677
  }
827
678
  },
828
- selectSpecialModelNew () {
829
- let ringDataModel = new RingDataModel(this.statusData, this.phaseList)
830
- this.phaseRings = ringDataModel.initRingPhaseData()
831
- },
832
679
  selectSpecialModel (id) {
833
680
  let ringDataModel = new RingDataModel(this.statusData, this.phaseList)
834
681
  if (id === 23) {