openatc-components 0.2.37 → 0.2.38

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 (33) hide show
  1. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +7 -4
  2. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +178 -25
  3. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +72 -29
  4. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +14 -3
  5. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +17 -7
  6. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +18 -9
  7. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
  8. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +21 -10
  9. package/package/kisscomps/components/Stages/index.vue +52 -11
  10. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +30 -28
  11. package/package/kissui.min.js +1 -1
  12. package/package.json +1 -1
  13. package/src/i18n/language/en.js +6 -1
  14. package/src/i18n/language/zh.js +7 -2
  15. package/src/icons/svg/fangxiangsuoding.svg +1 -0
  16. package/src/icons/svg/jieduansuoding.svg +1 -0
  17. package/src/icons/svg/xiangweisuoding.svg +1 -0
  18. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +7 -4
  19. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +178 -25
  20. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +72 -29
  21. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +14 -3
  22. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +17 -7
  23. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +128 -0
  24. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +426 -0
  25. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +820 -0
  26. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +194 -0
  27. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +18 -9
  28. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
  29. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +21 -10
  30. package/src/kisscomps/components/Stages/index.vue +52 -11
  31. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +30 -28
  32. package/static/styles/schemeconfig.scss +70 -58
  33. package/static/styles/stages.scss +1 -8
@@ -0,0 +1,194 @@
1
+ <!-- eslint-disable vue/valid-v-bind -->
2
+ <!-- eslint-disable no-mixed-spaces-and-tabs -->
3
+ <!-- eslint-disable no-tabs -->
4
+ /** * Copyright (c) 2020 kedacom * OpenATC is licensed under Mulan PSL v2. * You
5
+ can use this software according to the terms and conditions of the Mulan PSL v2.
6
+ * You may obtain a copy of Mulan PSL v2 at: *
7
+ http://license.coscl.org.cn/MulanPSL2 * THIS SOFTWARE IS PROVIDED ON AN "AS IS"
8
+ BASIS, WITHOUT WARRANTIES OF ANY KIND, * EITHER EXPRESS OR IMPLIED, INCLUDING
9
+ BUT NOT LIMITED TO NON-INFRINGEMENT, * MERCHANTABILITY OR FIT FOR A PARTICULAR
10
+ PURPOSE. * See the Mulan PSL v2 for more details. **/
11
+ <template>
12
+ <span class="others-icon-svg">
13
+ <svg
14
+ v-if="type === '相位关断'"
15
+ xmlns="http://www.w3.org/2000/svg"
16
+ viewBox="0 0 45.08 24.79"
17
+ :width="iconWidth"
18
+ :height="iconHeight"
19
+ >
20
+ <g id="图层_2" data-name="图层 2">
21
+ <g id="图层_3" data-name="图层 3" :class="themeColor">
22
+ <rect class="cls-1" y="13.52" width="27.08" height="7.46" />
23
+ <rect class="cls-2" x="27" y="13.52" width="18.08" height="7.46" />
24
+ <rect class="cls-2" x="27" y="9.71" width="1.38" height="15.08" />
25
+ <path class="cls-3" d="M24.35.35,31,7.05Z" />
26
+ <path class="cls-3" d="M31,.35l-6.69,6.7Z" />
27
+ </g>
28
+ </g>
29
+ </svg>
30
+ <svg
31
+ v-if="type === '临时方案'"
32
+ xmlns="http://www.w3.org/2000/svg"
33
+ viewBox="0 0 54 9"
34
+ :width="iconWidth"
35
+ :height="iconHeight"
36
+ >
37
+ <g id="图层_2" data-name="图层 2" :class="themeColor">
38
+ <rect
39
+ id="矩形_683_拷贝_3"
40
+ data-name="矩形 683 拷贝 3"
41
+ class="cls-1"
42
+ width="39"
43
+ height="9"
44
+ />
45
+ <rect
46
+ id="矩形_683_拷贝_3-2"
47
+ data-name="矩形 683 拷贝 3"
48
+ class="cls-5"
49
+ x="39"
50
+ width="8"
51
+ height="9"
52
+ />
53
+ <rect
54
+ id="矩形_686_拷贝_4"
55
+ data-name="矩形 686 拷贝 4"
56
+ class="cls-6"
57
+ x="37"
58
+ width="1"
59
+ height="9"
60
+ />
61
+ <rect
62
+ id="矩形_686_拷贝_4-2"
63
+ data-name="矩形 686 拷贝 4"
64
+ class="cls-6"
65
+ x="35"
66
+ width="1"
67
+ height="9"
68
+ />
69
+ <rect
70
+ id="矩形_686_拷贝_4-3"
71
+ data-name="矩形 686 拷贝 4"
72
+ class="cls-6"
73
+ x="33"
74
+ width="1"
75
+ height="9"
76
+ />
77
+ <rect
78
+ id="矩形_686_拷贝_4-4"
79
+ data-name="矩形 686 拷贝 4"
80
+ class="cls-6"
81
+ x="31"
82
+ width="1"
83
+ height="9"
84
+ />
85
+ <rect
86
+ id="矩形_683_拷贝_3-3"
87
+ data-name="矩形 683 拷贝 3"
88
+ class="cls-2"
89
+ x="46"
90
+ width="8"
91
+ height="9"
92
+ />
93
+ </g>
94
+ </svg>
95
+ <svg
96
+ v-if="type === '优先控制'"
97
+ xmlns="http://www.w3.org/2000/svg"
98
+ viewBox="0 0 54 29.12"
99
+ :width="iconWidth"
100
+ :height="iconHeight"
101
+ >
102
+ <g id="图层_2" data-name="图层 2">
103
+ <g id="图层_3" data-name="图层 3" :class="themeColor">
104
+ <rect
105
+ id="矩形_3708_拷贝_8"
106
+ data-name="矩形 3708 拷贝 8"
107
+ class="cls-1"
108
+ x="20.6"
109
+ y="15.81"
110
+ width="33.4"
111
+ height="9"
112
+ />
113
+ <rect
114
+ id="矩形_3708_拷贝_8-2"
115
+ data-name="矩形 3708 拷贝 8"
116
+ class="cls-2"
117
+ y="15.81"
118
+ width="20.78"
119
+ height="9"
120
+ />
121
+ <path
122
+ id="形状_3710_拷贝_4"
123
+ data-name="形状 3710 拷贝 4"
124
+ class="cls-4"
125
+ d="M2441.42,1012.4h1.8v17.71h-1.8V1012.4Z"
126
+ transform="translate(-2421.31 -1001)"
127
+ />
128
+ <path
129
+ id="形状_2767_拷贝_5"
130
+ data-name="形状 2767 拷贝 5"
131
+ class="cls-4"
132
+ d="M2434,1007.87a1.582,1.582,0,1,0,1.39,1.57A1.491,1.491,0,0,0,2434,1007.87Zm0,2.67a1.109,1.109,0,1,1,.97-1.1A1.037,1.037,0,0,1,2434,1010.54Zm13.69-2.67a1.58,1.58,0,1,0,1.4,1.57A1.491,1.491,0,0,0,2447.69,1007.87Zm0,2.67a1.107,1.107,0,1,1,.98-1.1A1.043,1.043,0,0,1,2447.69,1010.54Zm4.59-9.55h-22.21a1.517,1.517,0,0,0-1.42,1.6v2.77l-0.65.33v3.14a0.494,0.494,0,0,0,.46.52h3.67a1.876,1.876,0,1,1,3.74,0h9.95a1.88,1.88,0,1,1,3.75,0h1.24c1.19-.32,3.23-0.87,4.19-1.11v-4.2A2.9,2.9,0,0,0,2452.28,1000.99Zm-20.84,6.96a0.571,0.571,0,0,1-.53.6h-0.82a0.572,0.572,0,0,1-.54-0.6v-5.09a0.575,0.575,0,0,1,.54-0.61h0.82a0.574,0.574,0,0,1,.53.61v5.09Zm5.69-3.41a0.381,0.381,0,0,1-.36.4h-3.96a0.38,0.38,0,0,1-.35-0.4v-1.91a0.38,0.38,0,0,1,.35-0.4h3.96a0.381,0.381,0,0,1,.36.4v1.91Zm5.38,0a0.381,0.381,0,0,1-.36.4h-3.96a0.38,0.38,0,0,1-.35-0.4v-1.91a0.38,0.38,0,0,1,.35-0.4h3.96a0.381,0.381,0,0,1,.36.4v1.91Zm5.38,0a0.38,0.38,0,0,1-.35.4h-3.96a0.381,0.381,0,0,1-.36-0.4v-1.91a0.381,0.381,0,0,1,.36-0.4h3.96a0.38,0.38,0,0,1,.35.4v1.91Zm5.38,0a0.38,0.38,0,0,1-.35.4h-3.96a0.381,0.381,0,0,1-.36-0.4v-1.91a0.381,0.381,0,0,1,.36-0.4h3.96a0.38,0.38,0,0,1,.35.4v1.91Z"
133
+ transform="translate(-2421.31 -1001)"
134
+ />
135
+ </g>
136
+ </g>
137
+ </svg>
138
+ </span>
139
+ </template>
140
+
141
+ <script>
142
+ import { getTheme } from '../../../../utils/auth.js'
143
+
144
+ export default {
145
+ name: 'OthersIconSvg',
146
+ data () {
147
+ return {
148
+ themeColor: '',
149
+ iconWidth: '56',
150
+ iconHeight: '24'
151
+ }
152
+ },
153
+ components: {},
154
+ props: {
155
+ type: {
156
+ type: String
157
+ }
158
+ },
159
+ watch: {},
160
+ methods: {},
161
+ mounted () {
162
+ this.themeColor = getTheme() === 'dark' ? 'darkBorder' : 'lightBorder'
163
+ }
164
+ }
165
+ </script>
166
+
167
+ <style lang="scss" rel="stylesheet/scss" scoped>
168
+ .lightBorder {
169
+ fill: #515151;
170
+ }
171
+ .darkBorder {
172
+ fill: #e6f9ff;
173
+ }
174
+ .cls-1, .cls-4 {
175
+ fill: #7ccc66;
176
+ }
177
+ .cls-2 {
178
+ fill: #f27979;
179
+ }
180
+ .cls-3 {
181
+ fill: none;
182
+ stroke: #f27979;
183
+ stroke-miterlimit: 10;
184
+ }
185
+ .cls-4 {
186
+ fill-rule: evenodd;
187
+ }
188
+ .cls-5 {
189
+ fill: #f9dc6a;
190
+ }
191
+ .cls-6 {
192
+ fill: #fff;
193
+ }
194
+ </style>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="priority-control">
3
- <div class="title" style="margin-bottom: 18px;">{{$t('openatccomponents.overview.prioritycontrol')}}</div>
3
+ <!-- <div class="title" style="margin-bottom: 18px;">{{$t('openatccomponents.overview.prioritycontrol')}}</div> -->
4
4
  <el-row>
5
5
  <el-col :span="12">
6
6
  <el-form
@@ -11,8 +11,8 @@
11
11
  <el-form-item
12
12
  :label="$t('openatccomponents.overview.delay') + ':'"
13
13
  prop="intersection">
14
- <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.delay" size="mini"></el-input-number>
15
- <!-- <el-input v-model="manualInfo.tempDelay" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
14
+ <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.delay" size="small"></el-input-number>
15
+ <!-- <el-input v-model="manualInfo.tempDelay" size="small" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
16
16
  </el-form-item>
17
17
  <el-form-item
18
18
  :label="$t('openatccomponents.overview.priorityType') + ':'"
@@ -25,7 +25,7 @@
25
25
  :value="item.value">
26
26
  </el-option>
27
27
  </el-select>
28
- <!-- <el-input v-model="manualInfo.tempDuration" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
28
+ <!-- <el-input v-model="manualInfo.tempDuration" size="small" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
29
29
  </el-form-item>
30
30
  </el-form>
31
31
  </el-col>
@@ -38,8 +38,8 @@
38
38
  <el-form-item
39
39
  :label="$t('openatccomponents.overview.duration') + ':'"
40
40
  prop="intersection">
41
- <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.duration" size="mini"></el-input-number>
42
- <!-- <el-input v-model="manualInfo.duration" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
41
+ <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.duration" size="small"></el-input-number>
42
+ <!-- <el-input v-model="manualInfo.duration" size="small" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
43
43
  </el-form-item>
44
44
  <el-form-item
45
45
  :label="$t('openatccomponents.overview.priorityPhase') + ':'"
@@ -56,7 +56,7 @@
56
56
  </div>
57
57
  </el-option>
58
58
  </el-select>
59
- <!-- <el-input v-model="manualInfo.tempDuration" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
59
+ <!-- <el-input v-model="manualInfo.tempDuration" size="small" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
60
60
  </el-form-item>
61
61
  </el-form>
62
62
  </el-col>
@@ -79,17 +79,19 @@
79
79
  :value="item.value">
80
80
  </el-option>
81
81
  </el-select>
82
- <!-- <el-input v-model="manualInfo.tempDuration" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
82
+ <!-- <el-input v-model="manualInfo.tempDuration" size="small" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
83
83
  </el-form-item>
84
84
  </el-form>
85
85
  </el-col>
86
86
  </el-row>
87
87
  <div class="footer" v-if="realtimeStatusModalvisible">
88
88
  <el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
89
+ <el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
89
90
  <el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
90
91
  </div>
91
92
  <div class="footer" v-if="!realtimeStatusModalvisible">
92
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>
93
95
  <el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
94
96
  </div>
95
97
  </div>
@@ -97,7 +99,7 @@
97
99
 
98
100
  <script>
99
101
  import xdrdirselector from '../../XRDDirSelector/XRDDirSelector'
100
- import { getTheme } from '../../../../utils/auth'
102
+ import { getTheme, hasPermission } from '../../../../utils/auth'
101
103
  import { getDirName } from './utils'
102
104
  export default {
103
105
  name: 'prioritycontrol',
@@ -187,6 +189,13 @@ export default {
187
189
  level: this.manualInfo.level
188
190
  }
189
191
  this.$emit('closePhaseControl', submitdata)
192
+ },
193
+ toAutoControl () {
194
+ this.$emit('toAutoControl')
195
+ },
196
+ isHasPermission (path) {
197
+ let res = hasPermission(path)
198
+ return res
190
199
  }
191
200
  }
192
201
  }
@@ -80,7 +80,7 @@
80
80
  >{{$t('openatccomponents.overview.controlmode')}}</div>
81
81
  <el-button
82
82
  type="primary"
83
- style="float: right; margin-right: 20px;margin-top: 40px;font-size: 14px;"
83
+ style="float: right; margin-right: 20px;margin-top: 16px;font-size: 14px;"
84
84
  size="mini"
85
85
  v-if="isHasPermission('configer:manual') && isHasPermission('configer:manual:renew')"
86
86
  @click="changeStatus"
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <div class="tentativeplan-control">
3
- <div class="title" style="margin-bottom: 18px">
3
+ <!-- <div class="title" style="margin-bottom: 18px">
4
4
  {{ $t('openatccomponents.overview.tentativeplan') }}
5
- </div>
5
+ </div> -->
6
6
  <el-row>
7
7
  <el-col :span="12">
8
8
  <el-form
@@ -30,7 +30,7 @@
30
30
  >
31
31
  </el-option>
32
32
  </el-select>
33
- <!-- <el-input v-model="manualInfo.tempDuration" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
33
+ <!-- <el-input v-model="manualInfo.tempDuration" size="small" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
34
34
  </el-form-item>
35
35
  <el-form-item
36
36
  :label="$t('openatccomponents.overview.delay') + ':'"
@@ -44,9 +44,9 @@
44
44
  :step="1"
45
45
  :controls="false"
46
46
  v-model.number="manualInfo.tempDelay"
47
- size="mini"
47
+ size="small"
48
48
  ></el-input-number>
49
- <!-- <el-input v-model="manualInfo.tempDelay" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
49
+ <!-- <el-input v-model="manualInfo.tempDelay" size="small" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
50
50
  </el-form-item>
51
51
  </el-form>
52
52
  </el-col>
@@ -69,9 +69,9 @@
69
69
  :step="1"
70
70
  :controls="false"
71
71
  v-model.number="manualInfo.offset"
72
- size="mini"
72
+ size="small"
73
73
  ></el-input-number>
74
- <!-- <el-input v-model="manualInfo.offset" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
74
+ <!-- <el-input v-model="manualInfo.offset" size="small" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
75
75
  </el-form-item>
76
76
  <el-form-item
77
77
  :label="$t('openatccomponents.overview.duration') + ':'"
@@ -85,9 +85,9 @@
85
85
  :step="1"
86
86
  :controls="false"
87
87
  v-model.number="manualInfo.duration"
88
- size="mini"
88
+ size="small"
89
89
  ></el-input-number>
90
- <!-- <el-input v-model="manualInfo.duration" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
90
+ <!-- <el-input v-model="manualInfo.duration" size="small" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
91
91
  </el-form-item>
92
92
  </el-form>
93
93
  </el-col>
@@ -318,6 +318,7 @@
318
318
  <el-button @click="handleClose()">{{
319
319
  $t('openatccomponents.button.Back')
320
320
  }}</el-button>
321
+ <el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
321
322
  <el-button type="primary" @click="handleManualControl()">{{
322
323
  $t('openatccomponents.overview.implement')
323
324
  }}</el-button>
@@ -326,6 +327,7 @@
326
327
  <el-button @click="handleClose()">{{
327
328
  $t('openatccomponents.button.Back')
328
329
  }}</el-button>
330
+ <el-button type="primary" plain @click="toAutoControl()" v-if="isHasPermission('configer:manual:renew')">{{$t('openatccomponents.overview.recovery')}}</el-button>
329
331
  <el-button type="primary" @click="handleManualControl()">{{
330
332
  $t('openatccomponents.overview.comfirm')
331
333
  }}</el-button>
@@ -334,6 +336,8 @@
334
336
  </template>
335
337
 
336
338
  <script>
339
+ import { hasPermission } from '../../../../utils/auth'
340
+
337
341
  export default {
338
342
  name: 'tentativeplancontrol',
339
343
  props: {
@@ -991,7 +995,7 @@ export default {
991
995
  stage.map(item => {
992
996
  for (let ring of rings) {
993
997
  for (let ringItem of ring) {
994
- if (item === ringItem.id && (ringItem.mode !== 7 && ringItem.mode !== 8)) {
998
+ if (item === ringItem.id && (ringItem.mode !== 7 && ringItem.mode !== 8 && ringItem.mode !== 9)) {
995
999
  newStage.push(item)
996
1000
  }
997
1001
  }
@@ -1184,6 +1188,13 @@ export default {
1184
1188
  if (this.patternCycleEqual) {
1185
1189
  this.$emit('closePhaseControl', submitdata)
1186
1190
  }
1191
+ },
1192
+ toAutoControl () {
1193
+ this.$emit('toAutoControl')
1194
+ },
1195
+ isHasPermission (path) {
1196
+ let res = hasPermission(path)
1197
+ return res
1187
1198
  }
1188
1199
  }
1189
1200
  }
@@ -15,7 +15,7 @@
15
15
  <div>
16
16
  <div style="width: 100%; height: auto;">
17
17
  <div class="control-model" v-for="(item, index) in stagesList" :key="index">
18
- <div style="position:relative;" :style="singleStyle" class="single-model" @click="selectStages(index + 1)" :class="currentStage == index + 1 ? 'single-model-select' : ''">
18
+ <div style="position:relative;" :style="{...singleStyle, 'backgroundColor': item[0].bgcolor}" class="single-model" @click="selectStages(index + 1)" :class="currentStage == index + 1 ? 'single-model-select' : ''">
19
19
  <!-- <template v-for="(side, index) in item[0].sidewalkPhaseData" >
20
20
  <PatternWalkSvg class="patternWalk"
21
21
  v-if="item[0].peddirection.includes(side.id)"
@@ -28,18 +28,18 @@
28
28
  :showWalk="item[0].peddirection"
29
29
  :Width="'40'"
30
30
  :Height="'40'" /> -->
31
- <xdr-dir-selector Width="75PX" Height="75PX" Widths="65px" Heights="65px" :Data="showStyle" :Datas="showStyles" :showlist="item"></xdr-dir-selector>
32
- <div style="height:65px;display:flex;flex-direction:row;justify-content:center;align-items:end;">
33
- <div class="current-stage-num" style="width:20%;">{{index + 1}}</div>
31
+ <xdr-dir-selector Width="75PX" Height="75PX" Widths="65px" Heights="65px" :Data="showStyle" :Datas="showStyles" :showlist="dirListSetTheme(item)"></xdr-dir-selector>
32
+ <div style="height:80px;display:flex;flex-direction:row;justify-content:center;align-items:end;">
33
+ <div class="current-stage-num" style="width:20%;" :style="{color: themeColor}">{{index + 1}}</div>
34
34
  <div style="width:70%;">
35
- <i class="iconfont icon-feijidongche" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 6"></i>
36
- <i class="iconfont icon-lukouzhilu" style="font-size:16PX;color:#454545;margin-left:10PX" v-if="item[item.length-1].controltype === 1"></i>
37
- <i class="iconfont icon-BRT" style="font-size:11PX;color:#454545;margin-left:10PX" v-if="item[item.length-1].controltype === 4"></i>
35
+ <i class="iconfont icon-feijidongche" :style="{color: themeColor}" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 6"></i>
36
+ <i class="iconfont icon-lukouzhilu" :style="{color: themeColor2}" style="font-size:16PX;color:#454545;margin-left:10PX" v-if="item[item.length-1].controltype === 1"></i>
37
+ <i class="iconfont icon-BRT" :style="{color: themeColor2}" style="font-size:11PX;color:#454545;margin-left:10PX" v-if="item[item.length-1].controltype === 4"></i>
38
38
  <div style="transform:scale(0.65);margin-left:10PX">
39
- <i class="iconfont icon-xuxiangwei-xin" style="font-size:5PX;color:#454545;" v-if="item[item.length-1].controltype === 99"></i>
39
+ <i class="iconfont icon-xuxiangwei-xin" :style="{color: themeColor2}" style="font-size:5PX;color:#454545;" v-if="item[item.length-1].controltype === 99"></i>
40
40
  </div>
41
- <i class="iconfont icon-gongjiaoche" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 3"></i>
42
- <i class="iconfont icon-youguidianche" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 5"></i>
41
+ <i class="iconfont icon-gongjiaoche" :style="{color: themeColor}" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 3"></i>
42
+ <i class="iconfont icon-youguidianche" :style="{color: themeColor}" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 5"></i>
43
43
  <div v-if="presetStageIndex === index + 1" style="color:red;width:50px;position:absolute;right:0px;bottom:5px;font-size:11px;">{{presetText}}</div>
44
44
  </div>
45
45
  </div>
@@ -54,6 +54,8 @@
54
54
  /* eslint-disable */
55
55
  import RingDataModel from '../../../utils/RingDataModel.js'
56
56
  // import patternwalksvg from '../PatternWalkSvg/PatternWalkSvg'
57
+ import { getTheme } from '../../../utils/auth.js'
58
+
57
59
  export default {
58
60
  name: 'Stages',
59
61
  components: {
@@ -102,7 +104,7 @@ export default {
102
104
  },
103
105
  StageHeight: {
104
106
  type: String,
105
- default: '65px'
107
+ default: '80px'
106
108
  }
107
109
  },
108
110
  data () {
@@ -119,6 +121,8 @@ export default {
119
121
  side: {key: 'pedphase1653818707546719', phaseid: 1, id: 1, name: '东人行横道'},
120
122
  // stagesList: [],
121
123
  currentStage: -1,
124
+ themeColor: getTheme() === 'light' ? '#606266' : '#fff',
125
+ themeColor2: getTheme() === 'light' ? '#454545' : '#fff'
122
126
  };
123
127
  },
124
128
  computed: {
@@ -138,6 +142,7 @@ export default {
138
142
  }
139
143
  }
140
144
  console.log(list,'list')
145
+ this.clickType(list, this.currentStage)
141
146
  console.log(this.phaseList,'this.phaseList')
142
147
  return list
143
148
  },
@@ -203,9 +208,45 @@ export default {
203
208
  }
204
209
  this.currentStage = value
205
210
  this.$emit('onSelectStages', value)
211
+ this.clickType(this.stagesList, value)
212
+ },
213
+ resetToDefaultThemeColor (List) {
214
+ for (let i = 0; i < List.length; i++) {
215
+ if (List[i].length) {
216
+ if (List[i][0].clicked) {
217
+ delete List[i][0].clicked
218
+ }
219
+ List[i][0].bgcolor = getTheme() === 'light' ? '#edf6ff' : '#243d59'
220
+ }
221
+ }
222
+ },
223
+ highlightThemeColor (List, index) {
224
+ for (let i = 0; i < List.length; i++) {
225
+ if (i === index) {
226
+ List[i][0].clicked = true
227
+ List[i][0].bgcolor = getTheme() === 'light' ? '#c1e0ff' : '#0082ac'
228
+ }
229
+ }
230
+ },
231
+ clickType (stagelist, value) {
232
+ this.resetToDefaultThemeColor(stagelist)
233
+ this.highlightThemeColor(stagelist, value - 1)
234
+ },
235
+ dirListSetTheme (list) {
236
+ let dirArr = []
237
+ let color = getTheme() === 'light' ? '#606266' : '#F1F3F4'
238
+ for (let rec of list) {
239
+ let recd = {
240
+ ...rec,
241
+ color: color
242
+ }
243
+ dirArr.push(recd)
244
+ }
245
+ return dirArr
206
246
  }
207
247
  },
208
248
  mounted () {
249
+ this.resetToDefaultThemeColor(this.stagesList)
209
250
  }
210
251
  };
211
252
  </script>