openatc-components 0.0.23 → 0.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/index.js +1 -1
- package/package/kisscomps/components/BoardCard/BoardCard.vue +4 -0
- package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +93 -0
- package/package/kisscomps/components/ExpendConfig/index.js +2 -0
- package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +22 -0
- package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +16 -12
- package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +244 -4
- package/package/kisscomps/components/KanBan/index.js +2 -0
- package/package/kisscomps/components/KanBan/kanban.vue +219 -0
- package/package/kisscomps/components/OverLap/OverLap.vue +11 -1
- package/package/kisscomps/components/PatternStatus/PatternStatus.vue +14 -3
- package/package/kisscomps/components/PhaseMarker/index.js +6 -0
- package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -0
- package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -0
- package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -0
- package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -0
- package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -0
- package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -0
- package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +30 -3
- package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +21 -2
- package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +5 -47
- package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1304 -0
- package/package/kisscomps/components/StageBord/StageBord.vue +242 -0
- package/package/kisscomps/components/StageBord/index.js +2 -0
- package/package/kisscomps/components/StageStatus/StageStatus.vue +4 -2
- package/package/kisscomps/components/Stages/index.vue +86 -0
- package/package/kisscomps/components/overView/index.vue +656 -0
- package/package/kisscomps/components/patternList/patternList.vue +4 -0
- package/package/kisscomps/index.js +15 -1
- package/package/kissui.min.js +1 -1
- package/package.json +2 -2
- package/src/api/authapi.js +1 -1
- package/src/i18n/language/en.js +4 -1
- package/src/i18n/language/zh.js +4 -1
- package/src/icons/svg/tentativeplan.svg +33 -0
- package/src/kisscomps/components/BoardCard/BoardCard.vue +4 -0
- package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +93 -0
- package/src/kisscomps/components/ExpendConfig/index.js +2 -0
- package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +22 -0
- package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +16 -12
- package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +244 -4
- package/src/kisscomps/components/KanBan/index.js +2 -0
- package/src/kisscomps/components/KanBan/kanban.vue +219 -0
- package/src/kisscomps/components/OverLap/OverLap.vue +11 -1
- package/src/kisscomps/components/PatternStatus/PatternStatus.vue +14 -3
- package/src/kisscomps/components/PhaseMarker/index.js +6 -0
- package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -0
- package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -0
- package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -0
- package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -0
- package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -0
- package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -0
- package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +30 -3
- package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +21 -2
- package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +5 -47
- package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1304 -0
- package/src/kisscomps/components/StageBord/StageBord.vue +242 -0
- package/src/kisscomps/components/StageBord/index.js +2 -0
- package/src/kisscomps/components/StageStatus/StageStatus.vue +4 -2
- package/src/kisscomps/components/Stages/index.vue +86 -0
- package/src/kisscomps/components/overView/index.vue +656 -0
- package/src/kisscomps/components/patternList/patternList.vue +4 -0
- package/src/kisscomps/index.js +15 -1
- package/src/lib/publicjs/KissApi.js +2 -0
- package/src/main.js +2 -0
- package/src/router/index.js +15 -8
- package/src/utils/ControlFormat.js +68 -0
- package/src/utils/RingDataModel.js +1 -1
- package/src/utils/auth.js +8 -0
- package/src/views/home.vue +16 -1
- package/src/views/intersection.vue +188 -6
- package/src/views/overView.vue +33 -0
- package/src/views/schemeconfig.vue +6 -5
- package/static/styles/common.scss +2 -0
- package/static/styles/intersection.scss +18 -0
- package/static/styles/overview.scss +372 -0
- package/static/styles/schemeconfig.scss +99 -1
- package/static/styles/stages.scss +65 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="common-board-column">
|
|
3
|
+
<div class="common-board-column-header">
|
|
4
|
+
{{headerText}}
|
|
5
|
+
</div>
|
|
6
|
+
<div class="common-board-table-header">
|
|
7
|
+
<el-row :gutter="13">
|
|
8
|
+
<el-col :span="6">{{this.$t('openatccomponents.overview.phase')}}
|
|
9
|
+
</el-col>
|
|
10
|
+
<el-col :span="9">{{this.$t('openatccomponents.overview.phasesplit')}}
|
|
11
|
+
</el-col>
|
|
12
|
+
<el-col :span="9">{{this.$t('openatccomponents.detector.mode')}}
|
|
13
|
+
</el-col>
|
|
14
|
+
</el-row>
|
|
15
|
+
</div>
|
|
16
|
+
<draggable
|
|
17
|
+
class="common-board-column-content"
|
|
18
|
+
:list="list"
|
|
19
|
+
:options="options">
|
|
20
|
+
<div class="common-board-item" v-for="element in list" :key="element.id">
|
|
21
|
+
<el-row :gutter="13">
|
|
22
|
+
<el-col :span="6">
|
|
23
|
+
<el-tooltip class="item" effect="dark" placement="left">
|
|
24
|
+
<div slot="content">{{element.name}}</div>
|
|
25
|
+
<div class="common-phase-description">
|
|
26
|
+
<xdrdirselector Width="40px" Height="40px" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
|
|
27
|
+
</div>
|
|
28
|
+
</el-tooltip>
|
|
29
|
+
</el-col>
|
|
30
|
+
<el-col :span="9">
|
|
31
|
+
<el-input-number :controls="false" class="col-content" size="small" :min="element.minSplit" :max="255" :step="1" v-model.number="element.value" ref="type" :disabled="element.mode === 7"></el-input-number>
|
|
32
|
+
</el-col>
|
|
33
|
+
<el-col :span="9">
|
|
34
|
+
<el-select v-model="element.mode" class="col-content" size="small" @change="doChange(element)" :placeholder="$t('openatccomponents.common.select')">
|
|
35
|
+
<el-option
|
|
36
|
+
v-for="item in modeOption"
|
|
37
|
+
:key="item.value"
|
|
38
|
+
:label="$t('openatccomponents.pattern.modeOption' + item.value)"
|
|
39
|
+
:value="item.value">
|
|
40
|
+
</el-option>
|
|
41
|
+
</el-select>
|
|
42
|
+
</el-col>
|
|
43
|
+
</el-row>
|
|
44
|
+
</div>
|
|
45
|
+
</draggable>
|
|
46
|
+
</div>
|
|
47
|
+
</template>
|
|
48
|
+
<script>
|
|
49
|
+
import draggable from 'vuedraggable'
|
|
50
|
+
import xdrdirselector from '../XRDDirSelector/XRDDirSelector'
|
|
51
|
+
|
|
52
|
+
export default {
|
|
53
|
+
name: 'kan-ban',
|
|
54
|
+
components: {
|
|
55
|
+
draggable,
|
|
56
|
+
xdrdirselector
|
|
57
|
+
},
|
|
58
|
+
data () {
|
|
59
|
+
return {
|
|
60
|
+
modeOption: [{
|
|
61
|
+
value: 1
|
|
62
|
+
}, {
|
|
63
|
+
value: 2
|
|
64
|
+
}, {
|
|
65
|
+
value: 3
|
|
66
|
+
}, {
|
|
67
|
+
value: 4
|
|
68
|
+
}, {
|
|
69
|
+
value: 5
|
|
70
|
+
}, {
|
|
71
|
+
value: 6
|
|
72
|
+
}, {
|
|
73
|
+
value: 7
|
|
74
|
+
}],
|
|
75
|
+
coordphaseOption: [{
|
|
76
|
+
value: 1
|
|
77
|
+
}, {
|
|
78
|
+
value: 2
|
|
79
|
+
}, {
|
|
80
|
+
value: 4
|
|
81
|
+
}]
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
props: {
|
|
85
|
+
headerText: {
|
|
86
|
+
type: String,
|
|
87
|
+
default: 'Header'
|
|
88
|
+
},
|
|
89
|
+
options: {
|
|
90
|
+
type: Object,
|
|
91
|
+
default () {
|
|
92
|
+
return {}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
phaseList: {
|
|
96
|
+
type: Array
|
|
97
|
+
},
|
|
98
|
+
list: {
|
|
99
|
+
type: Array,
|
|
100
|
+
default () {
|
|
101
|
+
return []
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
index: {
|
|
105
|
+
type: Number
|
|
106
|
+
},
|
|
107
|
+
ISActiveMask: {
|
|
108
|
+
type: Boolean,
|
|
109
|
+
default: true
|
|
110
|
+
},
|
|
111
|
+
// 当phase的描述为空时,显示的图形颜色。
|
|
112
|
+
MaskColor: {
|
|
113
|
+
type: String,
|
|
114
|
+
default: '#000000'
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
created () {
|
|
118
|
+
// this.addMinSplit()
|
|
119
|
+
// console.log(this.list, 'list')
|
|
120
|
+
},
|
|
121
|
+
watch: {
|
|
122
|
+
list: {
|
|
123
|
+
handler: function () {
|
|
124
|
+
let newList = this.list
|
|
125
|
+
// let list = this.$refs.type
|
|
126
|
+
// let cycle = 0
|
|
127
|
+
let n = this.index
|
|
128
|
+
// for (let i = 0; i < list.length; i++) {
|
|
129
|
+
// cycle = cycle + Number(list[i].currentValue)
|
|
130
|
+
// }
|
|
131
|
+
// const globalParamModel = this.$store.getters.globalParamModel
|
|
132
|
+
// let MaxCycle = globalParamModel.getParamsByType('patternList')[n].cycle
|
|
133
|
+
// let pattern = globalParamModel.getParamsByType('patternList')[n]
|
|
134
|
+
// globalParamModel.getParamsByType('patternList')[n].cycle = this.getMaxCycle(pattern)
|
|
135
|
+
// this.addMinSplit()
|
|
136
|
+
this.$emit('handleSplit', n, newList)
|
|
137
|
+
},
|
|
138
|
+
deep: true
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
methods: {
|
|
142
|
+
addMinSplit () {
|
|
143
|
+
// const globalParamModel = this.$store.getters.globalParamModel
|
|
144
|
+
// let phaseList = globalParamModel.getParamsByType('phaseList')
|
|
145
|
+
for (let ls of this.list) {
|
|
146
|
+
let phase = this.phaseList.filter((item) => {
|
|
147
|
+
return item.id === ls.id
|
|
148
|
+
})[0]
|
|
149
|
+
if (!phase.redyellow) {
|
|
150
|
+
phase.redyellow = 0
|
|
151
|
+
}
|
|
152
|
+
if (!phase.yellow) {
|
|
153
|
+
phase.yellow = 0
|
|
154
|
+
}
|
|
155
|
+
if (!phase.redclear) {
|
|
156
|
+
phase.redclear = 0
|
|
157
|
+
}
|
|
158
|
+
if (!phase.flashgreen) {
|
|
159
|
+
phase.flashgreen = 0
|
|
160
|
+
}
|
|
161
|
+
if (!phase.phasewalk) {
|
|
162
|
+
phase.phasewalk = 0
|
|
163
|
+
}
|
|
164
|
+
if (!phase.pedclear) {
|
|
165
|
+
phase.pedclear = 0
|
|
166
|
+
}
|
|
167
|
+
// let temp1 = phase.redyellow + phase.yellow + phase.redclear + phase.flashgreen // 绿信比的最小值要大于最小绿+黄灯+全红+绿闪
|
|
168
|
+
// let temp2 = phase.phasewalk + phase.pedclear
|
|
169
|
+
// if (temp1 > temp2) {
|
|
170
|
+
// ls.minSplit = temp1
|
|
171
|
+
// } else {
|
|
172
|
+
// ls.minSplit = temp2
|
|
173
|
+
// }
|
|
174
|
+
// if (ls.mode !== 7 && ls.value < ls.minSplit) {
|
|
175
|
+
// ls.value = ls.minSplit
|
|
176
|
+
// }
|
|
177
|
+
// let temp1 = phase.yellow + phase.redclear + phase.flashgreen // 绿信比的最小值要大于最小绿+黄灯+全红+绿闪
|
|
178
|
+
let temp1 = phase.yellow + phase.redclear + phase.mingreen
|
|
179
|
+
let temp2 = phase.yellow + phase.redclear + phase.phasewalk + phase.pedclear
|
|
180
|
+
ls.minSplit = temp1 > temp2 ? temp1 : temp2
|
|
181
|
+
if (ls.mode !== 7 && ls.value < ls.minSplit) {
|
|
182
|
+
ls.value = ls.minSplit
|
|
183
|
+
this.$message.error(this.$t('edge.pattern.splitCheckMsg'))
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
getMaxCycle (pattern) {
|
|
188
|
+
let rings = pattern.rings
|
|
189
|
+
let maxCycle = 0
|
|
190
|
+
for (let ring of rings) {
|
|
191
|
+
if (ring.length === 0) continue
|
|
192
|
+
let cycle = 0
|
|
193
|
+
for (let r of ring) {
|
|
194
|
+
if (r.mode === 7) { // 忽略相位不计周期
|
|
195
|
+
continue
|
|
196
|
+
}
|
|
197
|
+
cycle = cycle + r.value
|
|
198
|
+
}
|
|
199
|
+
if (cycle > maxCycle) {
|
|
200
|
+
maxCycle = cycle
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return maxCycle
|
|
204
|
+
},
|
|
205
|
+
doChange (val) {
|
|
206
|
+
// if (val.mode === 7) {
|
|
207
|
+
// val.value = 0
|
|
208
|
+
// } else {
|
|
209
|
+
// val.value = 30
|
|
210
|
+
// }
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
</script>
|
|
215
|
+
<style lang="scss" scoped>
|
|
216
|
+
.col-content {
|
|
217
|
+
width: 100%;
|
|
218
|
+
}
|
|
219
|
+
</style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="overLap" v-if="checked" :style="{'width':'852px','margin':this.controlData ? '20px 0 0 0' : '0 0 0 377px'}">
|
|
2
|
+
<div class="overLap" v-if="checked" :style="{'width':tentative?'100%':'852px','margin':this.controlData ? '20px 0 0 0' :tentative ? '0' : '0 0 0 377px'}">
|
|
3
3
|
<div class="ring-first" v-for="(list, index1) in this.overlapDatas" :key="index1">
|
|
4
4
|
<div v-for="(item,index2) in list.stageLists" :key="index2" >
|
|
5
5
|
<div class="first-2">
|
|
@@ -62,6 +62,9 @@ export default {
|
|
|
62
62
|
checked: {
|
|
63
63
|
type: Boolean
|
|
64
64
|
},
|
|
65
|
+
tentative: {
|
|
66
|
+
type: Boolean
|
|
67
|
+
},
|
|
65
68
|
cycle: {
|
|
66
69
|
type: Number
|
|
67
70
|
},
|
|
@@ -76,6 +79,13 @@ export default {
|
|
|
76
79
|
},
|
|
77
80
|
// 深度观察监听
|
|
78
81
|
deep: true
|
|
82
|
+
},
|
|
83
|
+
stageList: {
|
|
84
|
+
handler: function (val, oldVal) {
|
|
85
|
+
this.doAdd(this.stageList, this.overlap)
|
|
86
|
+
},
|
|
87
|
+
// 深度观察监听
|
|
88
|
+
deep: true
|
|
79
89
|
}
|
|
80
90
|
},
|
|
81
91
|
created () {
|
|
@@ -121,6 +121,9 @@ export default {
|
|
|
121
121
|
phaseList: {
|
|
122
122
|
type: Array
|
|
123
123
|
},
|
|
124
|
+
patternList: {
|
|
125
|
+
type: Array
|
|
126
|
+
},
|
|
124
127
|
localPatternList: {
|
|
125
128
|
type: Array
|
|
126
129
|
},
|
|
@@ -220,6 +223,14 @@ export default {
|
|
|
220
223
|
// 深度观察监听
|
|
221
224
|
deep: true
|
|
222
225
|
},
|
|
226
|
+
patternList: {
|
|
227
|
+
handler: function (val, oldVal) {
|
|
228
|
+
this.handleCurrentChange(this.patternList[0].rings)
|
|
229
|
+
this.handleBarrierHeight()
|
|
230
|
+
},
|
|
231
|
+
// 深度观察监听
|
|
232
|
+
deep: true
|
|
233
|
+
},
|
|
223
234
|
patternStatusList: {
|
|
224
235
|
handler: function (val, oldVal) {
|
|
225
236
|
this.handleBarrierHeight() // 计算屏障高度
|
|
@@ -293,8 +304,10 @@ export default {
|
|
|
293
304
|
return stagesTemp
|
|
294
305
|
},
|
|
295
306
|
getIndexStage () {
|
|
307
|
+
if (this.localPatternList.length === 0) return
|
|
296
308
|
for (let i = 0; i < this.localPatternList.length; i++) {
|
|
297
309
|
if (this.controlData.patternid === this.localPatternList[i].id) {
|
|
310
|
+
if (!this.localPatternList[i].stagesList) return
|
|
298
311
|
let stageCycleList = this.localPatternList[i].stagesList.map(item => {
|
|
299
312
|
return item.stageSplit ? item.stageSplit : 0
|
|
300
313
|
})
|
|
@@ -492,7 +505,6 @@ export default {
|
|
|
492
505
|
if (ring.sum) {
|
|
493
506
|
obj.split = split + ring.sum
|
|
494
507
|
obj.greenWidth = ((split - currPhase.redclear - currPhase.yellow - currPhase.flashgreen + ring.sum) / (this.max ? this.max : this.newCycle) * 100).toFixed(3) + '%'
|
|
495
|
-
// obj.hideWidth = (ring.sum / (this.max ? this.max : this.newCycle) * 100).toFixed(3) + '%'
|
|
496
508
|
} else {
|
|
497
509
|
obj.split = split
|
|
498
510
|
obj.greenWidth = ((split - currPhase.redclear - currPhase.yellow - currPhase.flashgreen) / (this.max ? this.max : this.newCycle) * 100).toFixed(3) + '%'
|
|
@@ -511,8 +523,7 @@ export default {
|
|
|
511
523
|
}
|
|
512
524
|
},
|
|
513
525
|
setBarrier (ringTeam, val) { // 添加特征参数barrier
|
|
514
|
-
|
|
515
|
-
this.patternStatusList.map(item => {
|
|
526
|
+
this.patternList.map(item => {
|
|
516
527
|
if (item.id === this.patternIds) {
|
|
517
528
|
const patternObjs = {}
|
|
518
529
|
val.forEach(l => {
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="wrap" style="width: 200px; height: 60px;"
|
|
3
|
+
v-if="isdestroy"
|
|
4
|
+
v-show="PhaseMarkerState.isShow">
|
|
5
|
+
<phase v-if="showLevel === 1"></phase>
|
|
6
|
+
<phaseCount v-if="showLevel === 2"></phaseCount>
|
|
7
|
+
<phaseCountCycle v-if="showLevel === 3"></phaseCountCycle>
|
|
8
|
+
<div class="dirwrap">
|
|
9
|
+
<xdrdirselector
|
|
10
|
+
Width="40px" Height="40px"
|
|
11
|
+
:showlist="dirshow">
|
|
12
|
+
</xdrdirselector>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="operation-pattern" v-if="showLevel > 1">
|
|
15
|
+
<div class="cutdown-num" :style="phaseCountdownColor">
|
|
16
|
+
<span>{{params.countdown}}/{{params.split}}</span>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="cutdown-name">
|
|
19
|
+
<span>{{params.control}}</span>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="pattern-name" v-if="showLevel > 2">
|
|
23
|
+
<div class="planname-top">
|
|
24
|
+
<div class="cycle">
|
|
25
|
+
<span style="margin-left: 6px;">{{params.cycle}}</span>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="offset">
|
|
28
|
+
<span style="margin-right: 6px;">{{params.offset}}</span>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="planname-bottom">
|
|
32
|
+
<span>{{params.curpattern}}</span>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</template>
|
|
37
|
+
|
|
38
|
+
<script>
|
|
39
|
+
import xdrdirselector from '../XRDDirSelector'
|
|
40
|
+
import PatternSvg from './svg/patternSvg'
|
|
41
|
+
import PhaseSvg from './svg/phaseSvg'
|
|
42
|
+
import phase from './svg/phase'
|
|
43
|
+
import phaseCount from './svg/phaseCount'
|
|
44
|
+
import phaseCountCycle from './svg/phaseCountCycle'
|
|
45
|
+
export default {
|
|
46
|
+
name: 'phasemarker',
|
|
47
|
+
components: {
|
|
48
|
+
xdrdirselector,
|
|
49
|
+
PatternSvg,
|
|
50
|
+
PhaseSvg,
|
|
51
|
+
phaseCountCycle,
|
|
52
|
+
phaseCount,
|
|
53
|
+
phase
|
|
54
|
+
},
|
|
55
|
+
props: {
|
|
56
|
+
dirshow: {
|
|
57
|
+
type: Array,
|
|
58
|
+
default: () => []
|
|
59
|
+
},
|
|
60
|
+
params: {
|
|
61
|
+
type: Object,
|
|
62
|
+
default: function () {
|
|
63
|
+
return {
|
|
64
|
+
countdown: 0,
|
|
65
|
+
split: 0,
|
|
66
|
+
control: 0,
|
|
67
|
+
cycle: 0,
|
|
68
|
+
offset: 0,
|
|
69
|
+
curpattern: 'NO PLAN'
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
showLevel: {
|
|
74
|
+
type: Number,
|
|
75
|
+
default: 3
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
data () {
|
|
79
|
+
return {
|
|
80
|
+
timer: 0,
|
|
81
|
+
isdestroy: true,
|
|
82
|
+
phaseCountdownColor: { // 控制倒计时的颜色与相位方向颜色一致
|
|
83
|
+
color: '#333333'
|
|
84
|
+
},
|
|
85
|
+
PhaseMarkerState: {
|
|
86
|
+
isShow: true
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
computed: {
|
|
91
|
+
},
|
|
92
|
+
methods: {
|
|
93
|
+
show (dirshow, params, showLevel) {
|
|
94
|
+
this.dirshow = dirshow
|
|
95
|
+
this.params = params
|
|
96
|
+
this.showLevel = showLevel
|
|
97
|
+
this.phaseCountdownColor = {
|
|
98
|
+
color: params.phaseCountdownColor
|
|
99
|
+
}
|
|
100
|
+
clearInterval(this.timer)
|
|
101
|
+
let countdown = params.countdown
|
|
102
|
+
if (countdown) {
|
|
103
|
+
this.timer = setInterval(() => {
|
|
104
|
+
params.countdown = params.countdown > 0 ? params.countdown - 1 : 0
|
|
105
|
+
}, 1000)
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
mounted () {
|
|
110
|
+
},
|
|
111
|
+
created () {
|
|
112
|
+
},
|
|
113
|
+
destroyed () {
|
|
114
|
+
clearInterval(this.timer)
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
</script>
|
|
118
|
+
|
|
119
|
+
<style scoped>
|
|
120
|
+
.patternsvg {
|
|
121
|
+
height: 60PX;
|
|
122
|
+
position: relative;
|
|
123
|
+
}
|
|
124
|
+
.pattern-mess {
|
|
125
|
+
float: left;
|
|
126
|
+
}
|
|
127
|
+
.dirwrap {
|
|
128
|
+
position:relative;
|
|
129
|
+
margin-top: -45PX;
|
|
130
|
+
left: 7PX;
|
|
131
|
+
width: 40PX;
|
|
132
|
+
height: 39PX;
|
|
133
|
+
z-index: 9;
|
|
134
|
+
}
|
|
135
|
+
.operation-pattern {
|
|
136
|
+
position:relative;
|
|
137
|
+
margin-top: -45PX;
|
|
138
|
+
width: 60PX;
|
|
139
|
+
height: 39PX;
|
|
140
|
+
left: 60PX;
|
|
141
|
+
z-index: 9;
|
|
142
|
+
}
|
|
143
|
+
.pattern-name {
|
|
144
|
+
position:relative;
|
|
145
|
+
margin-top: -43PX;
|
|
146
|
+
width: 79PX;
|
|
147
|
+
height: 39PX;
|
|
148
|
+
margin-left: 110PX;
|
|
149
|
+
z-index: 9;
|
|
150
|
+
}
|
|
151
|
+
.cycle {
|
|
152
|
+
position:absolute;
|
|
153
|
+
width: 39.5PX;
|
|
154
|
+
height: 18PX;
|
|
155
|
+
font-size: 15PX;
|
|
156
|
+
text-align: center;
|
|
157
|
+
margin-right: 5PX;
|
|
158
|
+
color: #666666;
|
|
159
|
+
}
|
|
160
|
+
.offset {
|
|
161
|
+
position:absolute;
|
|
162
|
+
width: 39.5PX;
|
|
163
|
+
height: 18PX;
|
|
164
|
+
font-size: 15PX;
|
|
165
|
+
text-align: center;
|
|
166
|
+
color: #666666;
|
|
167
|
+
margin-left: 39.5PX;
|
|
168
|
+
}
|
|
169
|
+
.cutdown-num {
|
|
170
|
+
width: 50PX;
|
|
171
|
+
height: 19PX;
|
|
172
|
+
margin-left: auto;
|
|
173
|
+
margin-top: 2PX;
|
|
174
|
+
margin-right: auto;
|
|
175
|
+
font-size: 15PX;
|
|
176
|
+
text-align: center;
|
|
177
|
+
}
|
|
178
|
+
.cutdown-name {
|
|
179
|
+
width: 50PX;
|
|
180
|
+
height: 19PX;
|
|
181
|
+
margin-left: auto;
|
|
182
|
+
margin-bottom: 2PX;
|
|
183
|
+
margin-right: auto;
|
|
184
|
+
font-size: 12PX;
|
|
185
|
+
text-align: center;
|
|
186
|
+
color: #333333;
|
|
187
|
+
}
|
|
188
|
+
.planname-top {
|
|
189
|
+
height: 18PX;
|
|
190
|
+
margin-left: auto;
|
|
191
|
+
margin-right: auto;
|
|
192
|
+
margin-top: 2PX;
|
|
193
|
+
font-size: 15PX;
|
|
194
|
+
text-align: center;
|
|
195
|
+
color: #666666;
|
|
196
|
+
}
|
|
197
|
+
.planname-bottom {
|
|
198
|
+
height: 18PX;
|
|
199
|
+
margin-left: auto;
|
|
200
|
+
margin-right: auto;
|
|
201
|
+
margin-bottom: 2PX;
|
|
202
|
+
font-size: 12PX;
|
|
203
|
+
text-align: center;
|
|
204
|
+
color: #333333;
|
|
205
|
+
}
|
|
206
|
+
.wrap span{
|
|
207
|
+
-moz-user-select: -moz-none;
|
|
208
|
+
-moz-user-select: none;
|
|
209
|
+
-o-user-select:none;
|
|
210
|
+
-khtml-user-select:none;
|
|
211
|
+
-webkit-user-select:none;
|
|
212
|
+
-ms-user-select:none;
|
|
213
|
+
user-select:none;
|
|
214
|
+
}
|
|
215
|
+
</style>
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020 kedacom
|
|
3
|
+
* OpenATC is licensed under Mulan PSL v2.
|
|
4
|
+
* You can use this software according to the terms and conditions of the Mulan PSL v2.
|
|
5
|
+
* You may obtain a copy of Mulan PSL v2 at:
|
|
6
|
+
* http://license.coscl.org.cn/MulanPSL2
|
|
7
|
+
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
|
8
|
+
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
|
9
|
+
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
|
10
|
+
* See the Mulan PSL v2 for more details.
|
|
11
|
+
**/
|
|
12
|
+
<template>
|
|
13
|
+
<svg
|
|
14
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
15
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
16
|
+
viewBox="0 0 150.09 46.54">
|
|
17
|
+
<defs>
|
|
18
|
+
<filter id="luminosity-invert" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feColorMatrix values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"/></filter>
|
|
19
|
+
<mask id="mask" x="1.15" y="1.03" width="44" height="44" maskUnits="userSpaceOnUse"><g class="cls-7">
|
|
20
|
+
<image width="44" height="44" transform="translate(1.15 1.03)" xlink:href="data:image/png;base64,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"/></g>
|
|
21
|
+
</mask>
|
|
22
|
+
</defs>
|
|
23
|
+
<title>资源 72</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1">
|
|
24
|
+
<path :style="{'fill':backgroundColor}" id="更换颜色1" class="cls-1" d="M23.27,4A19.28,19.28,0,1,0,42.55,23.27,19.28,19.28,0,0,0,23.27,4Z"/>
|
|
25
|
+
<path :style="{'fill':backgroundColor}" id="更换颜色" class="cls-2" d="M143.14,7.67H40.06a23.23,23.23,0,0,1,.46,30.68H143.15l6.44-4.86V13.09Z"/>
|
|
26
|
+
<path class="cls-3" d="M14.45,43.72A22.27,22.27,0,0,1,11,4.67.5.5,0,0,0,11.16,4a.49.49,0,0,0-.69-.15,23.28,23.28,0,0,0,3.58,40.81.45.45,0,0,0,.2,0,.5.5,0,0,0,.46-.3A.51.51,0,0,0,14.45,43.72Z"/>
|
|
27
|
+
<path class="cls-3" d="M15,2.59A22.3,22.3,0,0,1,35.11,4.41a.52.52,0,0,0,.27.07.5.5,0,0,0,.26-.92,23.31,23.31,0,0,0-21-1.9.5.5,0,0,0-.28.65A.5.5,0,0,0,15,2.59Z"/>
|
|
28
|
+
<path class="cls-3" d="M3.49,23.27A19.78,19.78,0,1,0,23.27,3.49,19.8,19.8,0,0,0,3.49,23.27Zm38.56,0A18.78,18.78,0,1,1,23.27,4.49,18.8,18.8,0,0,1,42.05,23.27Z"/>
|
|
29
|
+
<path class="cls-3" d="M143.32,7.17H40a.5.5,0,0,0-.59.06.5.5,0,0,0,0,.71,22.27,22.27,0,0,1-16.15,37.6,22.44,22.44,0,0,1-4.41-.44.51.51,0,0,0-.59.39.5.5,0,0,0,.39.59,23,23,0,0,0,4.61.46,23.2,23.2,0,0,0,17.26-7.69H143.32l6.77-5.11V12.85Zm5.77,26.07L143,37.85H41.57a23.73,23.73,0,0,0-.41-29.68H143l6.13,5.15Z"/>
|
|
30
|
+
<path class="cls-3" d="M9.5,34.08c.22.28.45.55.68.81l.37-.33c-.22-.26-.44-.52-.65-.79Z"/>
|
|
31
|
+
<path class="cls-3" d="M7.32,30.48c.14.32.3.64.46.95l.44-.24c-.16-.3-.31-.6-.45-.92Z"/>
|
|
32
|
+
<path class="cls-3" d="M6.55,26.37l-.5.09c.07.35.14.69.23,1l.48-.12C6.68,27,6.61,26.7,6.55,26.37Z"/>
|
|
33
|
+
<path class="cls-3" d="M10.91,35.66c.25.25.5.49.77.72L12,36c-.26-.23-.51-.46-.75-.7Z"/>
|
|
34
|
+
<path class="cls-3" d="M7,28.36l-.48.15c.11.34.22.67.35,1l.47-.18C7.25,29,7.14,28.69,7,28.36Z"/>
|
|
35
|
+
<path class="cls-3" d="M8.3,32.35c.18.3.37.59.58.88L9.29,33c-.2-.28-.39-.57-.56-.86Z"/>
|
|
36
|
+
<path class="cls-3" d="M21.11,5.9l.06.49,1-.09,0-.5C21.81,5.82,21.46,5.85,21.11,5.9Z"/>
|
|
37
|
+
<path class="cls-3" d="M12.49,37.06c.28.22.56.43.85.63l.28-.42c-.28-.19-.55-.39-.82-.6Z"/>
|
|
38
|
+
<path class="cls-3" d="M6.3,24.33l-.5,0c0,.35,0,.7.1,1.05l.49-.06Q6.33,24.84,6.3,24.33Z"/>
|
|
39
|
+
<path class="cls-3" d="M20.13,40.49c.35.07.7.12,1.05.16l.06-.5q-.51-.06-1-.15Z"/>
|
|
40
|
+
<path class="cls-3" d="M14.23,38.26c.3.18.61.36.92.52l.23-.44c-.3-.16-.6-.33-.89-.51Z"/>
|
|
41
|
+
<path class="cls-3" d="M16.1,39.24c.32.15.65.28,1,.41l.18-.47c-.33-.12-.64-.25-1-.39Z"/>
|
|
42
|
+
<path class="cls-3" d="M18.08,40c.34.11.68.2,1,.28l.12-.48c-.34-.08-.67-.18-1-.28Z"/>
|
|
43
|
+
<path class="cls-3" d="M16.25,7.78,16,7.32c-.32.15-.63.3-.95.47l.24.44C15.63,8.07,15.94,7.92,16.25,7.78Z"/>
|
|
44
|
+
<path class="cls-3" d="M14.44,8.74l-.26-.43c-.3.18-.6.38-.89.58l.29.41A9.74,9.74,0,0,1,14.44,8.74Z"/>
|
|
45
|
+
<path class="cls-3" d="M12.75,9.91l-.31-.4-.81.68.34.38Q12.35,10.23,12.75,9.91Z"/>
|
|
46
|
+
<path class="cls-3" d="M11.22,11.27l-.35-.35c-.25.25-.49.51-.73.77l.38.33C10.75,11.76,11,11.51,11.22,11.27Z"/>
|
|
47
|
+
<path class="cls-3" d="M18.16,7.05,18,6.57c-.33.1-.67.22-1,.35l.18.46C17.51,7.26,17.84,7.15,18.16,7.05Z"/>
|
|
48
|
+
<path class="cls-3" d="M20.16,6.55l-.09-.49c-.35.06-.7.14-1,.22l.12.49C19.48,6.69,19.82,6.61,20.16,6.55Z"/>
|
|
49
|
+
<path class="cls-3" d="M6.29,22.28l-.5,0c0,.34,0,.68,0,1v0l.5,0C6.27,22.94,6.28,22.61,6.29,22.28Z"/>
|
|
50
|
+
<path class="cls-3" d="M9.86,12.81l-.39-.31c-.22.28-.43.56-.63.85l.41.29C9.45,13.36,9.65,13.08,9.86,12.81Z"/>
|
|
51
|
+
<path class="cls-3" d="M6.54,20.24,6,20.15c-.06.35-.11.69-.15,1.05l.49.05C6.42,20.91,6.47,20.58,6.54,20.24Z"/>
|
|
52
|
+
<path class="cls-3" d="M7,18.25l-.48-.15c-.1.33-.2.67-.28,1l.49.12Q6.87,18.73,7,18.25Z"/>
|
|
53
|
+
<path class="cls-3" d="M7.75,16.32l-.46-.2c-.15.32-.28.65-.41,1l.47.17C7.47,17,7.61,16.63,7.75,16.32Z"/>
|
|
54
|
+
<path class="cls-3" d="M8.7,14.5l-.43-.26c-.18.31-.36.61-.52.93l.44.23C8.35,15.09,8.52,14.8,8.7,14.5Z"/>
|
|
55
|
+
<path class="cls-3" d="M40,20.14l.5-.09c-.07-.35-.14-.7-.23-1l-.48.13C39.85,19.47,39.92,19.8,40,20.14Z"/>
|
|
56
|
+
<path class="cls-3" d="M37,12.43a10.41,10.41,0,0,0-.68-.81L36,12c.23.26.45.52.66.79Z"/>
|
|
57
|
+
<path class="cls-3" d="M40.24,22.17l.5,0c0-.35-.06-.7-.1-1.05l-.5.06C40.18,21.49,40.22,21.83,40.24,22.17Z"/>
|
|
58
|
+
<path class="cls-3" d="M34,9.46c-.28-.22-.56-.43-.85-.63l-.28.41c.28.2.56.4.83.61Z"/>
|
|
59
|
+
<path class="cls-3" d="M35.61,10.85q-.37-.37-.78-.72l-.33.38c.26.22.51.46.76.7Z"/>
|
|
60
|
+
<path class="cls-3" d="M39.21,16c-.15-.32-.3-.64-.47-1l-.44.23c.16.3.31.61.45.92Z"/>
|
|
61
|
+
<path class="cls-3" d="M39.49,18.15,40,18c-.1-.34-.22-.67-.34-1l-.47.18C39.27,17.5,39.38,17.82,39.49,18.15Z"/>
|
|
62
|
+
<path class="cls-3" d="M22.26,40.24l0,.5,1,0h.05l0-.5C22.93,40.27,22.59,40.26,22.26,40.24Z"/>
|
|
63
|
+
<path class="cls-3" d="M32.28,8.26c-.3-.18-.61-.35-.92-.52l-.23.45c.3.15.6.32.89.5Z"/>
|
|
64
|
+
<path class="cls-3" d="M26.37,6c-.34-.06-.69-.11-1-.15l-.06.49c.34,0,.68.09,1,.15Z"/>
|
|
65
|
+
<path class="cls-3" d="M23.22,5.77l.05.5c.33,0,.65,0,1,0l0-.5c-.33,0-.66,0-1,0Z"/>
|
|
66
|
+
<path class="cls-3" d="M25.4,40.65l-.07-.5q-.49.06-1,.09l0,.5C24.7,40.72,25.05,40.69,25.4,40.65Z"/>
|
|
67
|
+
<path class="cls-3" d="M28.42,6.54c-.33-.11-.67-.2-1-.28l-.11.48,1,.27Z"/>
|
|
68
|
+
<path class="cls-3" d="M30.41,7.28c-.33-.14-.65-.28-1-.4l-.18.47c.32.12.64.25.95.39Z"/>
|
|
69
|
+
<path class="cls-3" d="M38.22,14.16c-.18-.3-.38-.59-.58-.88l-.41.28c.2.28.38.57.56.86Z"/>
|
|
70
|
+
<path class="cls-3" d="M32.07,37.82l.26.43c.3-.19.6-.38.89-.58l-.29-.41C32.65,37.46,32.37,37.64,32.07,37.82Z"/>
|
|
71
|
+
<path class="cls-3" d="M30.26,38.77l.2.46c.33-.14.64-.3.95-.46l-.23-.45C30.88,38.48,30.57,38.63,30.26,38.77Z"/>
|
|
72
|
+
<path class="cls-3" d="M33.76,36.65l.31.4c.27-.22.55-.45.81-.68L34.55,36C34.29,36.22,34,36.44,33.76,36.65Z"/>
|
|
73
|
+
<path class="cls-3" d="M35.29,35.29l.36.36c.25-.25.49-.51.72-.77L36,34.54C35.77,34.8,35.54,35.05,35.29,35.29Z"/>
|
|
74
|
+
<path class="cls-3" d="M40.27,23.27c0,.34,0,.69,0,1l.5,0c0-.34,0-.7,0-1.05V23.2h-.5Z"/>
|
|
75
|
+
<path class="cls-3" d="M28.34,39.5l.15.48c.34-.1.67-.22,1-.34l-.18-.47C29,39.29,28.67,39.4,28.34,39.5Z"/>
|
|
76
|
+
<path class="cls-3" d="M26.35,40l.09.5c.35-.07.69-.14,1-.23l-.12-.48C27,39.86,26.69,39.93,26.35,40Z"/>
|
|
77
|
+
<path class="cls-3" d="M40,26.33l.49.09c.06-.34.11-.69.16-1l-.5-.06C40.11,25.66,40.06,26,40,26.33Z"/>
|
|
78
|
+
<path class="cls-3" d="M39.51,28.32l.47.15c.11-.33.2-.67.29-1l-.49-.12C39.7,27.67,39.61,28,39.51,28.32Z"/>
|
|
79
|
+
<path class="cls-3" d="M37.82,32.06l.43.26c.18-.3.36-.6.52-.92l-.44-.23C38.17,31.47,38,31.77,37.82,32.06Z"/>
|
|
80
|
+
<path class="cls-3" d="M36.66,33.75l.39.31c.22-.27.42-.56.63-.85l-.41-.28C37.07,33.21,36.87,33.49,36.66,33.75Z"/>
|
|
81
|
+
<path class="cls-3" d="M38.78,30.25l.46.2c.14-.32.27-.64.4-1l-.47-.18C39.05,29.62,38.92,29.94,38.78,30.25Z"/>
|
|
82
|
+
<g class="cls-4"><g class="cls-5"><path class="cls-6" d="M23.27,4A19.28,19.28,0,1,0,42.55,23.27,19.28,19.28,0,0,0,23.27,4Z"/></g></g></g></g>
|
|
83
|
+
</svg>
|
|
84
|
+
</template>
|
|
85
|
+
<script>
|
|
86
|
+
export default {
|
|
87
|
+
name: 'patternsvg',
|
|
88
|
+
data () {
|
|
89
|
+
return {
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
props: {
|
|
93
|
+
backgroundColor: {
|
|
94
|
+
type: String,
|
|
95
|
+
default: '#fff'
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
methods: {},
|
|
99
|
+
mounted () {}
|
|
100
|
+
}
|
|
101
|
+
</script>
|
|
102
|
+
<style scoped>
|
|
103
|
+
.cls-2 {
|
|
104
|
+
opacity:0.85;
|
|
105
|
+
}
|
|
106
|
+
.cls-3 {
|
|
107
|
+
fill:#4c9fe8;
|
|
108
|
+
}
|
|
109
|
+
.cls-4 {
|
|
110
|
+
mask:url(#mask);
|
|
111
|
+
}
|
|
112
|
+
.cls-5 {
|
|
113
|
+
opacity:0.59;
|
|
114
|
+
}
|
|
115
|
+
.cls-6 {
|
|
116
|
+
fill:#4c9fe8;
|
|
117
|
+
}
|
|
118
|
+
.cls-7 {
|
|
119
|
+
filter:url(#luminosity-invert);
|
|
120
|
+
}
|
|
121
|
+
</style>
|