openatc-components 0.3.97 → 0.3.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.
Files changed (52) hide show
  1. package/config/index.js +0 -1
  2. package/package/kisscomps/components/BoardCard/BoardCard.vue +11 -0
  3. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +46 -145
  4. package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +4 -4
  5. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +3 -7
  6. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +0 -5
  7. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +12 -17
  8. package/package/kisscomps/components/OverviewComponent/index.vue +22 -29
  9. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +11 -2
  10. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +92 -33
  11. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +8 -3
  12. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +9 -11
  13. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +1 -2
  14. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +1 -1
  15. package/package/kisscomps/components/patternConfig/index.vue +1 -1
  16. package/package/kisscomps/components/patternConfig/pattern/patternTable.vue +13 -33
  17. package/package/kisscomps/components/patternConfig/planContent.vue +3 -3
  18. package/package/kisscomps/components/patternList/patternList.vue +11 -0
  19. package/package/kissui.min.js +1 -1
  20. package/package.json +1 -1
  21. package/src/i18n/language/en.js +4 -2
  22. package/src/i18n/language/zh.js +4 -2
  23. package/src/kisscomps/components/BoardCard/BoardCard.vue +11 -0
  24. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +46 -145
  25. package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +4 -4
  26. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +3 -7
  27. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +0 -5
  28. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +12 -17
  29. package/src/kisscomps/components/OverviewComponent/index.vue +22 -29
  30. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +11 -2
  31. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +92 -33
  32. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +8 -3
  33. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +9 -11
  34. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +1 -2
  35. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +1 -1
  36. package/src/kisscomps/components/patternConfig/index.vue +1 -1
  37. package/src/kisscomps/components/patternConfig/pattern/patternTable.vue +13 -33
  38. package/src/kisscomps/components/patternConfig/planContent.vue +3 -3
  39. package/src/kisscomps/components/patternList/patternList.vue +11 -0
  40. package/src/views/intersection.vue +7 -6
  41. package/src/views/intersection2.vue +2 -2
  42. package/src/views/overView.vue +23 -5
  43. package/src/views/patternConfig.vue +8 -38
  44. package/src/views/schemeconfig.vue +6 -4
  45. package/static/styles/common.scss +3 -3
  46. package/static/styles/dark/theme/element-dark.scss +1 -1
  47. package/static/styles/intersection.scss +5 -15
  48. package/static/styles/light/theme/element-light.scss +1 -1
  49. package/static/styles/schemeconfig.scss +6 -3
  50. package/package/kisscomps/components/OptimizeKanban/index.js +0 -2
  51. package/package/kisscomps/components/OptimizeKanban/index.vue +0 -369
  52. package/src/node_modules/.package_versions.json +0 -1
@@ -212,8 +212,8 @@ export default {
212
212
  Detector: [], // 管理所有检测器
213
213
  DetectorChart: [], // 管理所有检测器统计图
214
214
  motorwayicon: '',
215
- IconLengh: 60,
216
- IconWdith: 134,
215
+ IconLengh: 33,
216
+ IconWdith: 109,
217
217
  textareaW: 200,
218
218
  textareaH: 100,
219
219
  pedW: 206,
@@ -389,8 +389,8 @@ export default {
389
389
  h: this.IconWdith,
390
390
  angle: 0
391
391
  }
392
- this.IconLengh = 60
393
- this.IconWdith = 134
392
+ this.IconLengh = 33
393
+ this.IconWdith = 109
394
394
  let Motorwaysitem = {
395
395
  index: this.index,
396
396
  id: this.motorid,
@@ -222,10 +222,6 @@ export default {
222
222
  type: Boolean,
223
223
  devault: true
224
224
  },
225
- isShowMessage: {
226
- type: Boolean,
227
- default: true
228
- },
229
225
  roadDirection: {
230
226
  type: String
231
227
  },
@@ -722,7 +718,7 @@ export default {
722
718
  }
723
719
  }
724
720
  msg = msg + ' - ' + commomMsg
725
- this.isShowMessage && this.$message.error(msg)
721
+ this.$message.error(msg)
726
722
  return
727
723
  }
728
724
  this.isLoaded = true
@@ -1044,10 +1040,10 @@ export default {
1044
1040
  let res = data.data
1045
1041
  if (!res.success) {
1046
1042
  if (res.code === '4003') {
1047
- this.isShowMessage && this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
1043
+ this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
1048
1044
  return
1049
1045
  }
1050
- this.isShowMessage && this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
1046
+ this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
1051
1047
  return
1052
1048
  }
1053
1049
  let channelList = res.data.data.channelList.filter(ele => ele.type !== undefined)
@@ -41,7 +41,6 @@
41
41
  :clickMode="clickMode"
42
42
  :isThirdSignal="isThirdSignal"
43
43
  :channelType="channelType"
44
- :isShowMessage ="isShowMessage"
45
44
  @handleClickCrossIcon="handleClickCrossIcon" />
46
45
  </div>
47
46
  </div>
@@ -85,10 +84,6 @@ export default {
85
84
  type: Boolean,
86
85
  default: true
87
86
  },
88
- isShowMessage: {
89
- type: Boolean,
90
- default: true
91
- },
92
87
  roadDirection: {
93
88
  type: String,
94
89
  default: 'right'
@@ -23,7 +23,6 @@
23
23
  :stateName="stateName"
24
24
  :isShowMode="isShowMode"
25
25
  :isShowState="isShowState"
26
- :isShowMessage ="isShowMessage"
27
26
  :isShowInterval="isShowInterval"
28
27
  @onSelectStages="onSelectStages"/>
29
28
  </div>
@@ -74,10 +73,6 @@ export default {
74
73
  type: Boolean,
75
74
  default: true
76
75
  },
77
- isShowMessage: {
78
- type: Boolean,
79
- default: true
80
- },
81
76
  isShowState: {
82
77
  type: Boolean,
83
78
  devault: false
@@ -145,7 +140,7 @@ export default {
145
140
  }
146
141
  }
147
142
  msg = msg + ' - ' + commomMsg
148
- this.isShowMessage && this.$message.error(msg)
143
+ this.$message.error(msg)
149
144
  if (this.isResend) {
150
145
  this.reSend()
151
146
  }
@@ -197,7 +192,7 @@ export default {
197
192
  // this.devStatus = 2
198
193
  this.clearPatternInterval() // 清除其他定时器
199
194
  this.clearVolumeInterval()
200
- this.isShowMessage && this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale) + ' - ' + commomMsg)
195
+ this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale) + ' - ' + commomMsg)
201
196
  if (this.isResend) {
202
197
  this.reSend()
203
198
  }
@@ -213,7 +208,7 @@ export default {
213
208
  }
214
209
  }
215
210
  msg = msg + ' - ' + commomMsg
216
- this.isShowMessage && this.$message.error(msg)
211
+ this.$message.error(msg)
217
212
  this.clearPatternInterval() // 清除其他定时器
218
213
  if (this.isResend) {
219
214
  this.reSend()
@@ -227,7 +222,7 @@ export default {
227
222
  this.controlData = this.controlFormat.handleGetData(param)
228
223
  this.$emit('getTscControl', data)
229
224
  }).catch(error => {
230
- this.isShowMessage && this.$message.error(error)
225
+ this.$message.error(error)
231
226
  console.log(error)
232
227
  })
233
228
  },
@@ -240,7 +235,7 @@ export default {
240
235
  if (!res.data.success) {
241
236
  let commomMsg = this.$t('openatccomponents.overview.signalID') + ': ' + this.AgentId
242
237
  let msg = getMessageByCode(res.data.code, this.$i18n.locale) + ', ' + commomMsg
243
- this.isShowMessage && this.$message.error(msg)
238
+ this.$message.error(msg)
244
239
  return
245
240
  }
246
241
  let devParams = res.data.data.jsonparam
@@ -300,7 +295,7 @@ export default {
300
295
  let success = data.data.data.content.success
301
296
  if (success !== 0) {
302
297
  let errormsg = 'openatccomponents.overview.putTscControlError' + success
303
- this.isShowMessage && this.$message.error(this.$t(errormsg))
298
+ this.$message.error(this.$t(errormsg))
304
299
  return
305
300
  }
306
301
  }
@@ -335,7 +330,7 @@ export default {
335
330
  }
336
331
  if (!data.data.success) {
337
332
  if (data.data.code === '4003') {
338
- this.isShowMessage && this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
333
+ this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
339
334
  return
340
335
  }
341
336
  let parrenterror = getMessageByCode(data.data.code, this.$i18n.locale)
@@ -344,10 +339,10 @@ export default {
344
339
  let childErrorCode = data.data.data.errorCode
345
340
  if (childErrorCode) {
346
341
  let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
347
- this.isShowMessage && this.$message.error(parrenterror + ',' + childerror)
342
+ this.$message.error(parrenterror + ',' + childerror)
348
343
  }
349
344
  } else {
350
- this.isShowMessage && this.$message.error(parrenterror)
345
+ this.$message.error(parrenterror)
351
346
  }
352
347
  return
353
348
  }
@@ -364,7 +359,7 @@ export default {
364
359
  controlData: controlData
365
360
  }
366
361
  }).catch(error => {
367
- this.isShowMessage && this.$message.error(error)
362
+ this.$message.error(error)
368
363
  console.log(error)
369
364
  })
370
365
  },
@@ -373,10 +368,10 @@ export default {
373
368
  let res = data.data
374
369
  if (!res.success) {
375
370
  if (res.code === '4003') {
376
- this.isShowMessage && this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
371
+ this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
377
372
  return
378
373
  }
379
- this.isShowMessage && this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
374
+ this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
380
375
  return
381
376
  }
382
377
  this.phaseList = res.data.data.phaseList
@@ -11,17 +11,15 @@
11
11
  **/
12
12
  <template>
13
13
  <div class="container-main">
14
- <div :style="{'transform': `scale(${shrink})`, 'transform-origin': 'left top', 'height': '100%'}">
14
+ <div class="overview-component-content" :style="{'transform': `scale(${shrink})`, 'transform-origin': 'left top', 'height': '100%'}">
15
15
  <div class="tuxingjiemian" v-show="curHomePage === 'Graphical' || curHomePage === 'Channelization'" :class="{'minifont': curBodyWidth <= 650}">
16
- <div class="tuxing-left" :class="{'changeWidth': graphicMode}" ref="tuxingLeft">
16
+ <div :class="{'changeWidth': graphicMode, 'tuxing-left': !onlyShowIntersectionMap}" ref="tuxingLeft">
17
17
  <intersection-base-map
18
18
  v-if="curHomePage === 'Graphical'"
19
19
  ref="intersectionMap"
20
20
  :stateName="stateName"
21
21
  :crossStatusData="crossStatusData"
22
22
  :agentId="agentId"
23
- :isShowMessage ="isShowMessage"
24
- :isShowInterval="isShowInterval"
25
23
  :roadDirection="roadDirection" />
26
24
  <channelization
27
25
  v-if="curHomePage === 'Channelization'"
@@ -29,7 +27,7 @@
29
27
  :AgentId="agentId"
30
28
  :crossStatusData="crossStatusData"
31
29
  :detectorStatusData="detectorStatusData" />
32
- <div class="pattern-status" v-if="!graphicMode && crossStatusData.control !== 1 && crossStatusData.control !== 2 && crossStatusData.control !== 3">
30
+ <div class="pattern-status" v-if="!graphicMode && !onlyShowIntersectionMap && crossStatusData.control !== 1 && crossStatusData.control !== 2 && crossStatusData.control !== 3">
33
31
  <div class="pattern-name cross-mess">{{$t('openatccomponents.overviewcomponent.patternstate')}}</div>
34
32
  <div class="pattern-message">({{$t('openatccomponents.overviewcomponent.cycle')}}: {{controlData.cycle}} {{$t('openatccomponents.overviewcomponent.patternoffset')}}: {{controlData.patternoffset}} {{$t('openatccomponents.overviewcomponent.coordinationtime')}}: {{controlData.offset}})</div>
35
33
  <span class="pattern-explain"><el-checkbox v-model="checked">{{$t('openatccomponents.overviewcomponent.overLap')}}</el-checkbox></span>
@@ -93,7 +91,7 @@
93
91
  </div>
94
92
  </div>
95
93
 
96
- <div ref="tuxingRight" class="tuxing-right" >
94
+ <div ref="tuxingRight" class="tuxing-right" v-if="!onlyShowIntersectionMap">
97
95
  <scheme-config
98
96
  ref="rightpanel"
99
97
  :statusData="crossStatusData"
@@ -134,23 +132,18 @@ export default {
134
132
  type: String,
135
133
  default: 'right'
136
134
  },
137
- isShowInterval: {
138
- type: Boolean,
139
- default: true
140
- },
141
- isShowMessage: {
135
+ isfromatc: {
142
136
  type: Boolean,
143
137
  default: true
144
138
  },
145
- isfromatc: {
139
+ onlyShowIntersectionMap: {
146
140
  type: Boolean,
147
- default: true
141
+ default: false
148
142
  }
149
143
  },
150
144
  data () {
151
145
  return {
152
146
  stateName: this.$t('openatccomponents.overview.offline'),
153
- curBodyWidth: 1920,
154
147
  controlData: {},
155
148
  checked: false,
156
149
  overlap: [],
@@ -328,10 +321,10 @@ export default {
328
321
  // let childErrorCode = data.data.data.errorCode
329
322
  // if (childErrorCode) {
330
323
  // let childerror = getMessageByCode(data.data.data.errorCode, _this.$i18n.locale)
331
- // _this.isShowMessage && _this.$message.error(parrenterror + ',' + childerror)
324
+ // _this.$message.error(parrenterror + ',' + childerror)
332
325
  // }
333
326
  // } else {
334
- // _this.isShowMessage && _this.$message.error(parrenterror)
327
+ // _this.$message.error(parrenterror)
335
328
  // }
336
329
  _this.curHomePage = 'Graphical'
337
330
  return
@@ -371,7 +364,7 @@ export default {
371
364
  let success = data.data.data.content.success
372
365
  if (success !== 0) {
373
366
  let errormsg = 'openatccomponents.overview.putTscControlError' + success
374
- this.isShowMessage && this.$message.error(this.$t(errormsg))
367
+ this.$message.error(this.$t(errormsg))
375
368
  return
376
369
  }
377
370
  }
@@ -381,10 +374,10 @@ export default {
381
374
  let childErrorCode = data.data.data.errorCode
382
375
  if (childErrorCode) {
383
376
  let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
384
- this.isShowMessage && this.$message.error(parrenterror + ',' + childerror)
377
+ this.$message.error(parrenterror + ',' + childerror)
385
378
  }
386
379
  } else {
387
- this.isShowMessage && this.$message.error(parrenterror)
380
+ this.$message.error(parrenterror)
388
381
  }
389
382
  if (this.isResend) {
390
383
  this.reSend()
@@ -446,7 +439,7 @@ export default {
446
439
  let success = data.data.data.content.success
447
440
  if (success !== 0) {
448
441
  let errormsg = 'openatccomponents.overview.putTscControlError' + success
449
- this.isShowMessage && this.$message.error(this.$t(errormsg))
442
+ this.$message.error(this.$t(errormsg))
450
443
  return
451
444
  }
452
445
  }
@@ -454,7 +447,7 @@ export default {
454
447
  // this.devStatus = 2
455
448
  this.clearPatternInterval() // 清除其他定时器
456
449
  this.clearVolumeInterval()
457
- this.isShowMessage && this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
450
+ this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
458
451
  if (this.isResend) {
459
452
  this.reSend()
460
453
  }
@@ -466,10 +459,10 @@ export default {
466
459
  let childErrorCode = data.data.data.errorCode
467
460
  if (childErrorCode) {
468
461
  let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
469
- this.isShowMessage && this.$message.error(parrenterror + ',' + childerror)
462
+ this.$message.error(parrenterror + ',' + childerror)
470
463
  }
471
464
  } else {
472
- this.isShowMessage && this.$message.error(parrenterror)
465
+ this.$message.error(parrenterror)
473
466
  }
474
467
  this.clearPatternInterval() // 清除其他定时器
475
468
  this.clearVolumeInterval()
@@ -489,7 +482,7 @@ export default {
489
482
  console.log('this.controlData', this.controlData)
490
483
  this.checkStage(this.controlData)
491
484
  }).catch(error => {
492
- // this.isShowMessage && this.$message.error(error)
485
+ // this.$message.error(error)
493
486
  console.log(error)
494
487
  })
495
488
  },
@@ -712,7 +705,7 @@ export default {
712
705
  queryDevParams () {
713
706
  queryDevice(this.AgentId).then(res => {
714
707
  if (!res.data.success) {
715
- this.isShowMessage && this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
708
+ this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
716
709
  return
717
710
  }
718
711
  let devParams = res.data.data.jsonparam
@@ -744,7 +737,7 @@ export default {
744
737
  let success = data.data.data.content.success
745
738
  if (success !== 0) {
746
739
  let errormsg = 'openatccomponents.overview.putTscControlError' + success
747
- this.isShowMessage && this.$message.error(this.$t(errormsg))
740
+ this.$message.error(this.$t(errormsg))
748
741
  return
749
742
  }
750
743
  }
@@ -754,10 +747,10 @@ export default {
754
747
  let childErrorCode = data.data.data.errorCode
755
748
  if (childErrorCode) {
756
749
  let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
757
- this.isShowMessage && this.$message.error(parrenterror + ',' + childerror)
750
+ this.$message.error(parrenterror + ',' + childerror)
758
751
  }
759
752
  } else {
760
- this.isShowMessage && this.$message.error(parrenterror)
753
+ this.$message.error(parrenterror)
761
754
  }
762
755
  return
763
756
  }
@@ -769,7 +762,7 @@ export default {
769
762
  getPlatform () {
770
763
  queryDevice(this.AgentId).then(res => {
771
764
  if (!res.data.success) {
772
- this.isShowMessage && this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
765
+ this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
773
766
  return
774
767
  }
775
768
  let devParams = res.data.data.jsonparam
@@ -50,7 +50,7 @@
50
50
  <el-tooltip class="item" effect="dark" placement="left">
51
51
  <div slot="content">{{element.name}}</div>
52
52
  <div class="common-phase-description">
53
- <xdrdirselector Width="70px" Height="70px" Widths="50px" Heights="50px" :Data="styles" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
53
+ <xdrdirselector Width="70px" Height="70px" Widths="58px" Heights="58px" :Datas="styles" :Data="showStyle" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
54
54
  </div>
55
55
  </el-tooltip>
56
56
  </el-col>
@@ -79,9 +79,13 @@ export default {
79
79
  },
80
80
  data () {
81
81
  return {
82
+ showStyle: {
83
+ left: '2px',
84
+ top: '0px'
85
+ },
82
86
  styles: {
83
87
  left: '1px',
84
- top: '0'
88
+ top: '0px'
85
89
  },
86
90
  typeOptions: [{
87
91
  value: 'flow-split-opt'
@@ -97,6 +101,9 @@ export default {
97
101
  type: String,
98
102
  default: 'Header'
99
103
  },
104
+ id: {
105
+ type: Number
106
+ },
100
107
  rings: {
101
108
  type: Object
102
109
  },
@@ -209,6 +216,7 @@ export default {
209
216
  }
210
217
  }
211
218
  }
219
+ this.$emit('optimizesucess', this.id)
212
220
  }
213
221
  }).catch(error => {
214
222
  console.log(error)
@@ -232,6 +240,7 @@ export default {
232
240
  }
233
241
  }
234
242
  }
243
+ this.$emit('optimizesucess', this.id)
235
244
  }
236
245
  }).catch(error => {
237
246
  console.log(error)
@@ -14,8 +14,9 @@
14
14
  <!-- 环模式true -->
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
- <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'}">
17
+ <draggable :move="move" @end="endDrag(index1)" :disabled="isMove" :list="list">
18
+ <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': ''">
19
+ <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'}">
19
20
  <el-tooltip placement="top-start" effect="light">
20
21
  <div slot="content">{{$t('openatccomponents.phase.phase')}}{{item.id}}:{{item.split}}</div>
21
22
  <div style="cursor:pointer;">
@@ -25,7 +26,18 @@
25
26
  </div>
26
27
  <div v-if="isShowTip" class="box" style="position: absolute; left:40px; width:40px; top: -1px;">
27
28
  <div class="ring-nums">{{$t('openatccomponents.phase.phase')}}{{item.id}}</div>
28
- <div class="ring-nums">{{item.split}}</div>
29
+ <div v-if="isMove" class="ring-nums">{{item.split}}</div>
30
+ <el-input-number
31
+ v-if="!isMove"
32
+ class="ring-nums"
33
+ size="small"
34
+ :controls="false"
35
+ :min="0"
36
+ :step="1"
37
+ v-model.number="item.split"
38
+ @change="handleEdit(item)"
39
+ style="width: 24px"
40
+ ></el-input-number>
29
41
  </div>
30
42
  </div>
31
43
  </el-tooltip>
@@ -41,7 +53,8 @@
41
53
  <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
54
  <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
55
  <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>
44
- </div>
56
+ </div>
57
+ </draggable>
45
58
  </div>
46
59
  <div v-if="showBarrier">
47
60
  <div v-for="(item, index) in barrierList" :key="index + '1'">
@@ -100,6 +113,7 @@
100
113
  <script>
101
114
  // import patternwalksvg from '../PatternWalkSvg/PatternWalkSvg'
102
115
  import xdrdirselector from '../XRDDirSelector/XRDDirSelector'
116
+ import draggable from 'vuedraggable'
103
117
  // import PatternWalkSvg from '../IntersectionMap/crossDirection/baseImg/PatternWalkSvg'
104
118
  import PhaseDataModel from '../IntersectionMap/crossDirection/utils.js'
105
119
  import CrossDiagramMgr from '../../../EdgeMgr/controller/crossDiagramMgr.js'
@@ -107,6 +121,7 @@ export default {
107
121
  name: 'pattern-list',
108
122
  components: {
109
123
  // patternwalksvg,
124
+ draggable,
110
125
  xdrdirselector
111
126
  },
112
127
  data () {
@@ -114,6 +129,7 @@ export default {
114
129
  barrierHeight: '',
115
130
  stageCycle: '',
116
131
  barrierList: [],
132
+ barrierArr: [],
117
133
  newCycle: this.cycles,
118
134
  patternIds: this.patternId,
119
135
  newPatterns: [],
@@ -142,6 +158,10 @@ export default {
142
158
  stagesChange: {
143
159
  type: Array
144
160
  },
161
+ isMove: {
162
+ type: Boolean,
163
+ default: true
164
+ },
145
165
  controlPhase: {
146
166
  type: Object
147
167
  },
@@ -343,11 +363,11 @@ export default {
343
363
  handler: function (val, oldVal) {
344
364
  this.handleBarrierHeight() // 计算屏障高度
345
365
  if (this.patternStatusList && this.newCycle) {
346
- setTimeout(() => {
347
- this.handleCurrentChange(this.patternStatusList)
348
- this.handleBarrierHeight()
349
- }, 10)
366
+ // setTimeout(() => {
367
+ this.handleCurrentChange(this.patternStatusList)
350
368
  this.handleBarrierHeight()
369
+ // }, 10)
370
+ // this.handleBarrierHeight()
351
371
  }
352
372
  },
353
373
  // 深度观察监听
@@ -375,6 +395,60 @@ export default {
375
395
  }
376
396
  },
377
397
  methods: {
398
+ move (e) {
399
+ // 这里的e表示即将停靠的元素。
400
+ let result = this.barrierArr.filter(item => item.includes(e.relatedContext.element.id))[0]
401
+ if (!result.includes(e.draggedContext.element.id)) {
402
+ return false
403
+ }
404
+ },
405
+ endDrag (index) {
406
+ // 拖动后对原数据排序
407
+ const idIndexMap = {}
408
+ this.patternInfo.forEach((subArray, subArrayIndex) => {
409
+ subArray.forEach((item, index) => {
410
+ idIndexMap[item.id] = { subArrayIndex, index }
411
+ })
412
+ })
413
+ this.patternStatusList.forEach((subArray, subArrayIndex) => {
414
+ if (subArray.length > 0) {
415
+ subArray.sort((aItem, bItem) => {
416
+ const aIndex = idIndexMap[aItem.id] ? idIndexMap[aItem.id].index : Infinity
417
+ const bIndex = idIndexMap[bItem.id] ? idIndexMap[bItem.id].index : Infinity
418
+ return aIndex - bIndex
419
+ })
420
+ }
421
+ })
422
+ },
423
+ handleEdit (val) {
424
+ this.patternStatusList.map(d => {
425
+ d.map(r => {
426
+ if (r.id === val.id) {
427
+ r.value = val.split
428
+ }
429
+ })
430
+ })
431
+ // this.handleCurrentChange(this.patternStatusList)
432
+ this.$emit('handleSplitMove', this.patternId)
433
+ },
434
+ getMaxCycle (pattern) {
435
+ // let rings = pattern.rings
436
+ let maxCycle = 0
437
+ for (let ring of pattern) {
438
+ if (ring.length === 0) continue
439
+ let cycle = 0
440
+ for (let r of ring) {
441
+ if (r.mode === 7) { // 忽略相位不计周期
442
+ continue
443
+ }
444
+ cycle = cycle + r.value
445
+ }
446
+ if (cycle > maxCycle) {
447
+ maxCycle = cycle
448
+ }
449
+ }
450
+ return maxCycle
451
+ },
378
452
  getPed (data) {
379
453
  let ped = []
380
454
  for (let stg of data) {
@@ -1179,6 +1253,7 @@ export default {
1179
1253
  }
1180
1254
  }
1181
1255
  let resArr = ringArr.map(item => item.data)
1256
+ this.barrierArr = resArr
1182
1257
  let ringTeam = this.step1(this.phaseList, resArr)
1183
1258
  let ringTeams = ringTeam.filter(item => item.length !== 0)
1184
1259
  if (this.patternList) {
@@ -1267,30 +1342,16 @@ export default {
1267
1342
  }
1268
1343
  obj.split = split
1269
1344
  obj.cycle = cycle
1270
- const isZero = split - currPhase.redclear - currPhase.yellow - currPhase.flashgreen
1271
- const allAdd = split + currPhase.redclear + currPhase.yellow + currPhase.flashgreen
1272
- if (isZero <= 0) {
1273
- if (ring.sum) {
1274
- obj.sum = ring.sum
1275
- obj.redWidth = ((((currPhase.redclear + ring.sum) / allAdd) / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle)) * 100) + '%'
1276
- } else {
1277
- obj.redWidth = (((currPhase.redclear / allAdd) / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle)) * 100) + '%'
1278
- }
1279
- obj.greenWidth = (((split - (currPhase.redclear / allAdd) - (currPhase.yellow / allAdd) - (currPhase.flashgreen / allAdd)) / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle)) * 100) + '%'
1280
- obj.yellowWidth = (((currPhase.yellow / allAdd) / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle)) * 100) + '%'
1281
- obj.flashgreen = (((currPhase.flashgreen / allAdd) / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle)) * 100) + '%'
1345
+ if (ring.sum) {
1346
+ obj.sum = ring.sum
1347
+ obj.redWidth = ((currPhase.redclear + ring.sum) / (this.max ? this.max : cycle) * 100) + '%'
1282
1348
  } else {
1283
- if (ring.sum) {
1284
- obj.sum = ring.sum
1285
- obj.redWidth = ((currPhase.redclear + ring.sum) / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
1286
- } else {
1287
- obj.redWidth = (currPhase.redclear / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
1288
- }
1289
- obj.mode = ring.mode
1290
- obj.greenWidth = ((split - currPhase.redclear - currPhase.yellow - currPhase.flashgreen) / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
1291
- obj.flashgreen = (currPhase.flashgreen / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
1292
- obj.yellowWidth = (currPhase.yellow / (this.fixCycle ? this.fixCycle : this.max ? this.max : this.newCycle) * 100) + '%'
1349
+ obj.redWidth = (currPhase.redclear / (this.max ? this.max : cycle) * 100) + '%'
1293
1350
  }
1351
+ obj.mode = ring.mode
1352
+ obj.greenWidth = ((split - currPhase.redclear - currPhase.yellow - currPhase.flashgreen) / (this.max ? this.max : cycle) * 100) + '%'
1353
+ obj.flashgreen = (currPhase.flashgreen / (this.max ? this.max : cycle) * 100) + '%'
1354
+ obj.yellowWidth = (currPhase.yellow / (this.max ? this.max : cycle) * 100) + '%'
1294
1355
  // 忽略相位不显示
1295
1356
  // let mode = ring.mode
1296
1357
  // if (mode !== 7) { // 忽略相位不显示
@@ -1456,9 +1517,7 @@ export default {
1456
1517
  newMin.push(minNum)
1457
1518
  let newmaxNum = Math.max.apply(Math, newMax)// 每组最大值
1458
1519
  let newminNum = Math.min.apply(Math, newMin)
1459
- if (newArr.length > 1) {
1460
- this.newCycle = newmaxNum + newminNum
1461
- }
1520
+ this.newCycle = newmaxNum + newminNum
1462
1521
  if (newmaxNum === newminNum) {
1463
1522
  this.max = newmaxNum + newminNum
1464
1523
  pattern.map(d => {
@@ -39,7 +39,6 @@
39
39
  :overlap="overlap"
40
40
  :patternSelect="patternSelect"
41
41
  :allPatternList="allPatternList"
42
- :funcSort="funcSort"
43
42
  :isShowBack="isShowBack"
44
43
  :isShowRecovery="isShowRecovery"
45
44
  :isShowImplement="isShowImplement"
@@ -103,7 +102,6 @@
103
102
  :overlap="overlap"
104
103
  :patternSelect="patternSelect"
105
104
  :allPatternList="allPatternList"
106
- :funcSort="funcSort"
107
105
  :isShowBack="isShowBack"
108
106
  :isShowRecovery="isShowRecovery"
109
107
  :isShowImplement="isShowImplement"
@@ -515,6 +513,14 @@ export default {
515
513
  async mounted () {
516
514
  this.resetcomponent = true
517
515
  this.init()
516
+ if (this.realtimeStatusModalvisible === false) {
517
+ this.changeStatus()
518
+ }
519
+ this.setPropsToken(this.Token)
520
+ this.hiddenPartControl()
521
+ // await this.getPhase()
522
+ this.getFault()
523
+ this.initData()
518
524
  },
519
525
  methods: {
520
526
  resetComponent () {
@@ -530,7 +536,6 @@ export default {
530
536
  this.changeStatus()
531
537
  }
532
538
  this.setPropsToken(this.Token)
533
- this.hiddenPartControl()
534
539
  // await this.getPhase()
535
540
  this.getFault()
536
541
  this.initData()