openatc-components 0.3.38 → 0.3.41
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/package/kisscomps/components/XiaoKanban/index.vue +34 -14
- package/package/kisscomps/components/patternConfig/index.vue +20 -2
- package/package/kisscomps/components/patternConfig/pattern/patternTable.vue +196 -29
- package/package/kisscomps/components/patternConfig/planContent.vue +2 -4
- package/package/kissui.min.js +1 -1
- package/package.json +1 -1
- package/src/i18n/language/zh.js +1 -0
- package/src/kisscomps/components/XiaoKanban/index.vue +34 -14
- package/src/kisscomps/components/patternConfig/index.vue +20 -2
- package/src/kisscomps/components/patternConfig/pattern/patternTable.vue +196 -29
- package/src/kisscomps/components/patternConfig/planContent.vue +2 -4
- package/src/views/patternConfig.vue +76 -309
- package/static/styles/xiaokanban.scss +11 -0
- package/src/node_modules/.package_versions.json +0 -1
|
@@ -14,6 +14,16 @@
|
|
|
14
14
|
<div class="board-column-header">
|
|
15
15
|
{{headerText}}
|
|
16
16
|
</div>
|
|
17
|
+
<div class="board-table-header" v-if="isSingleCrossMode">
|
|
18
|
+
<el-row :gutter="13">
|
|
19
|
+
<el-col :span="4">{{this.$t('openatccomponents.overview.phase')}}
|
|
20
|
+
</el-col>
|
|
21
|
+
<el-col :span="10">{{this.$t('openatccomponents.overview.flow')}}
|
|
22
|
+
</el-col>
|
|
23
|
+
<el-col :span="10">{{this.$t('openatccomponents.overview.saturationflow')}}
|
|
24
|
+
</el-col>
|
|
25
|
+
</el-row>
|
|
26
|
+
</div>
|
|
17
27
|
<draggable
|
|
18
28
|
class="board-column-content"
|
|
19
29
|
:list="list"
|
|
@@ -21,15 +31,21 @@
|
|
|
21
31
|
<div class="board-item" v-for="element in list" :key="element.id">
|
|
22
32
|
<el-row :gutter="25">
|
|
23
33
|
<el-col :span="4">
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
<el-tooltip class="item" effect="dark" placement="left">
|
|
35
|
+
<div slot="content">{{$t('openatccomponents.pattern.phase') + ' ' + element.id}}</div>
|
|
36
|
+
<div class="phase-description">
|
|
37
|
+
<DirSelector Width="40px" Height="40px" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></DirSelector>
|
|
38
|
+
</div>
|
|
39
|
+
</el-tooltip>
|
|
40
|
+
</el-col>
|
|
41
|
+
<el-col :span="19" v-show="!isSingleCrossMode">
|
|
42
|
+
<el-input-number controls-position="right" :min="0" :max="255" :step="1" v-model.number="element.value" ref="type"></el-input-number>
|
|
30
43
|
</el-col>
|
|
31
|
-
<el-col :span="
|
|
32
|
-
|
|
44
|
+
<el-col :span="10" v-if="isSingleCrossMode">
|
|
45
|
+
<el-input-number :controls="false" class="col-content" size="small" :step="1" v-model.number="element.flowperhour" ref="type" :disabled="element.mode === 7"></el-input-number>
|
|
46
|
+
</el-col>
|
|
47
|
+
<el-col :span="10" v-if="isSingleCrossMode">
|
|
48
|
+
<el-input-number :controls="false" class="col-content" size="small" :step="1" v-model.number="element.saturation" ref="types" :disabled="element.mode === 7"></el-input-number>
|
|
33
49
|
</el-col>
|
|
34
50
|
</el-row>
|
|
35
51
|
</div>
|
|
@@ -47,6 +63,10 @@ export default {
|
|
|
47
63
|
DirSelector
|
|
48
64
|
},
|
|
49
65
|
props: {
|
|
66
|
+
isSingleCrossMode: {
|
|
67
|
+
type: Boolean,
|
|
68
|
+
default: false
|
|
69
|
+
},
|
|
50
70
|
headerText: {
|
|
51
71
|
type: String,
|
|
52
72
|
default: 'Header'
|
|
@@ -76,17 +96,14 @@ export default {
|
|
|
76
96
|
default: '#000000'
|
|
77
97
|
}
|
|
78
98
|
},
|
|
79
|
-
created () {
|
|
80
|
-
console.log('list', this.list)
|
|
81
|
-
},
|
|
82
99
|
watch: {
|
|
83
100
|
list: {
|
|
84
|
-
handler: function () {
|
|
85
|
-
let list =
|
|
101
|
+
handler: function (val) {
|
|
102
|
+
let list = val
|
|
86
103
|
let cycle = 0
|
|
87
104
|
let n = this.index
|
|
88
105
|
for (let i = 0; i < list.length; i++) {
|
|
89
|
-
cycle = cycle + Number(list[i].
|
|
106
|
+
cycle = cycle + Number(list[i].value)
|
|
90
107
|
}
|
|
91
108
|
let obj = {}
|
|
92
109
|
obj.index = n
|
|
@@ -95,6 +112,9 @@ export default {
|
|
|
95
112
|
},
|
|
96
113
|
deep: true
|
|
97
114
|
}
|
|
115
|
+
},
|
|
116
|
+
created () {
|
|
117
|
+
console.log('list', this.list)
|
|
98
118
|
}
|
|
99
119
|
}
|
|
100
120
|
</script>
|
|
@@ -38,6 +38,9 @@
|
|
|
38
38
|
</div>
|
|
39
39
|
<div style="height: 94%;" class="table-container">
|
|
40
40
|
<PatternTable ref="patterntable"
|
|
41
|
+
:isSingleCrossMode="isSingleCrossMode"
|
|
42
|
+
:isShowTableHeader="isShowTableHeader"
|
|
43
|
+
:tableColums="tableColums"
|
|
41
44
|
:devicesData="devicesData"
|
|
42
45
|
:maxTableHeight="maxTableHeight"
|
|
43
46
|
:opt="item.devs"
|
|
@@ -56,8 +59,11 @@
|
|
|
56
59
|
</el-container>
|
|
57
60
|
<div v-if="isShowSingle" style="height: 94%;" class="table-container">
|
|
58
61
|
<PatternTable ref="patterntable"
|
|
62
|
+
:isSingleCrossMode="isSingleCrossMode"
|
|
63
|
+
:isShowTableHeader="isShowTableHeader"
|
|
64
|
+
:tableColums="tableColums"
|
|
59
65
|
:devicesData="devicesData"
|
|
60
|
-
:opt="opt.optPatternList[0].devs"
|
|
66
|
+
:opt="opt.optPatternList && opt.optPatternList.length > 0 ? opt.optPatternList[0].devs : {}"
|
|
61
67
|
:isAllowedExpand="isAllowedExpand"
|
|
62
68
|
:maxTableHeight="maxTableHeight"
|
|
63
69
|
@onNewPatternListChange="onNewPatternListChange"/>
|
|
@@ -97,6 +103,18 @@ export default {
|
|
|
97
103
|
type: Object,
|
|
98
104
|
default: () => null
|
|
99
105
|
},
|
|
106
|
+
isShowTableHeader: {
|
|
107
|
+
type: Boolean,
|
|
108
|
+
default: true
|
|
109
|
+
},
|
|
110
|
+
isSingleCrossMode: {
|
|
111
|
+
type: Boolean,
|
|
112
|
+
default: false
|
|
113
|
+
},
|
|
114
|
+
tableColums: {
|
|
115
|
+
type: Array,
|
|
116
|
+
default: () => ['no', 'agentid', 'name', 'isused', 'patternid', 'offset', 'cycle', 'pattern']
|
|
117
|
+
},
|
|
100
118
|
isOnlyOneTab: {
|
|
101
119
|
type: Boolean,
|
|
102
120
|
default: true
|
|
@@ -255,7 +273,7 @@ export default {
|
|
|
255
273
|
for (let opt of optPatternList) {
|
|
256
274
|
if (opt.devs && opt.devs.length > 0) {
|
|
257
275
|
for (let dev of opt.devs) {
|
|
258
|
-
if (!dev.feature || dev.feature.patternList) {
|
|
276
|
+
if (!dev.feature || !dev.feature.patternList) {
|
|
259
277
|
resetFlag = true
|
|
260
278
|
break
|
|
261
279
|
}
|
|
@@ -11,30 +11,57 @@
|
|
|
11
11
|
**/
|
|
12
12
|
<template>
|
|
13
13
|
<div class="app-container" ref="pattern-container">
|
|
14
|
-
<el-table :data="newPatternList" :max-height="tableHeight" id="footerBtn">
|
|
14
|
+
<el-table :data="newPatternList" :max-height="tableHeight" id="footerBtn" :show-header="isShowTableHeader">
|
|
15
15
|
<el-table-column type="expand" v-if="isAllowedExpand">
|
|
16
16
|
<template slot-scope="scope">
|
|
17
|
+
<div v-if="isAllowedExpand && isSingleCrossMode" class="optimizetype">
|
|
18
|
+
<span>{{$t('openatccomponents.pattern.optimizetype')}}</span>
|
|
19
|
+
<el-select v-model="value" clearable :placeholder="$t('openatccomponents.common.select')">
|
|
20
|
+
<el-option
|
|
21
|
+
v-for="item in typeOptions"
|
|
22
|
+
:key="item.value"
|
|
23
|
+
:label="$t('openatccomponents.overview.type' + item.value)"
|
|
24
|
+
:value="item.value"
|
|
25
|
+
>
|
|
26
|
+
</el-option>
|
|
27
|
+
</el-select>
|
|
28
|
+
<span class="optimiNum">{{$t('openatccomponents.pattern.optimizecycle')}}</span>
|
|
29
|
+
<el-input v-model="optimizecycle" clearable :placeholder="$t('openatccomponents.common.enter')"></el-input>
|
|
30
|
+
<el-button type="primary" @click="onOptimizeClick(scope.row, scope.$index)">{{$t('openatccomponents.pattern.inoptimize')}}</el-button>
|
|
31
|
+
</div>
|
|
17
32
|
<div class="components-container board">
|
|
18
|
-
<XiaoKanBan v-for="n in scope.row.ringCount"
|
|
33
|
+
<XiaoKanBan v-for="n in scope.row.ringCount"
|
|
34
|
+
:key="n"
|
|
35
|
+
:isSingleCrossMode="isSingleCrossMode"
|
|
36
|
+
class="kanban todo"
|
|
37
|
+
:list="scope.row.rings[n-1]"
|
|
38
|
+
:header-text="$t('openatccomponents.pattern.ring') +' '+n"
|
|
39
|
+
:index="scope.$index"
|
|
40
|
+
@fatherMethod="fatherMethod"/>
|
|
19
41
|
</div>
|
|
20
42
|
</template>
|
|
21
43
|
</el-table-column>
|
|
22
|
-
<el-table-column align="center" label="No" width="45" minWidth="40">
|
|
44
|
+
<el-table-column align="center" label="No" width="45" minWidth="40" v-if="isShowColumn('no')">
|
|
23
45
|
<template slot-scope="scope">
|
|
24
46
|
<span>{{scope.$index+1}}</span>
|
|
25
47
|
</template>
|
|
26
48
|
</el-table-column>
|
|
27
|
-
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.deviceid')" width="100" minWidth="40">
|
|
49
|
+
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.deviceid')" width="100" minWidth="40" v-if="isShowColumn('agentid')">
|
|
28
50
|
<template slot-scope="scope">
|
|
29
51
|
<span>{{scope.row.agentid}}</span>
|
|
30
52
|
</template>
|
|
31
53
|
</el-table-column>
|
|
32
|
-
<el-table-column align="center" :label="$t('openatccomponents.
|
|
54
|
+
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.period')" width="100" minWidth="40" v-if="isShowColumn('period')">
|
|
55
|
+
<template slot-scope="scope">
|
|
56
|
+
<span>{{getPeriod(scope.row)}}</span>
|
|
57
|
+
</template>
|
|
58
|
+
</el-table-column>
|
|
59
|
+
<el-table-column align="center" :label="$t('openatccomponents.overview.crossname')" width="120" minWidth="40" v-if="isShowColumn('name')">
|
|
33
60
|
<template slot-scope="scope">
|
|
34
61
|
<span>{{getDevName(scope.row)}}</span>
|
|
35
62
|
</template>
|
|
36
63
|
</el-table-column>
|
|
37
|
-
<el-table-column property="isValid" :label="$t('openatccomponents.token.isValid')" align="center" width="80" prop="isused">
|
|
64
|
+
<el-table-column property="isValid" :label="$t('openatccomponents.token.isValid')" align="center" width="80" prop="isused" v-if="isShowColumn('isused')">
|
|
38
65
|
<template slot-scope="scope">
|
|
39
66
|
<el-switch
|
|
40
67
|
style="padding-left: 5px;"
|
|
@@ -46,7 +73,8 @@
|
|
|
46
73
|
<el-table-column
|
|
47
74
|
:label="$t('openatccomponents.greenwaveoptimize.pattern')"
|
|
48
75
|
width="120"
|
|
49
|
-
align="center"
|
|
76
|
+
align="center"
|
|
77
|
+
v-if="isShowColumn('patternid')">
|
|
50
78
|
<template slot-scope="scope">
|
|
51
79
|
<el-select
|
|
52
80
|
v-model="scope.row.patternid"
|
|
@@ -64,7 +92,7 @@
|
|
|
64
92
|
<span></span>
|
|
65
93
|
</template>
|
|
66
94
|
</el-table-column>
|
|
67
|
-
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.offset')" width="
|
|
95
|
+
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.offset')" width="85" prop="offset" v-if="isShowColumn('offset')">
|
|
68
96
|
<template slot-scope="scope">
|
|
69
97
|
<el-input-number v-if="isAllowedExpand" :controls="false" :min="0" :step="1" v-model.number="scope.row.offset" size="small" style="width:70%;"></el-input-number>
|
|
70
98
|
<span v-else>
|
|
@@ -72,18 +100,11 @@
|
|
|
72
100
|
</span>
|
|
73
101
|
</template>
|
|
74
102
|
</el-table-column>
|
|
75
|
-
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.cycle')" width="60" prop="cycle">
|
|
103
|
+
<el-table-column align="center" :label="$t('openatccomponents.greenwaveoptimize.cycle')" width="60" prop="cycle" v-if="isShowColumn('cycle')">
|
|
76
104
|
</el-table-column>
|
|
77
|
-
<el-table-column align="center" :label="$t('openatccomponents.pattern.plan')">
|
|
105
|
+
<el-table-column align="center" :label="$t('openatccomponents.pattern.plan')" v-if="isShowColumn('pattern')">
|
|
78
106
|
<template slot-scope="scope">
|
|
79
107
|
<div class="pattern-figure">
|
|
80
|
-
<!-- <pattern-list
|
|
81
|
-
:patternStatusList="scope.row.rings"
|
|
82
|
-
:cycles="scope.row.cycle"
|
|
83
|
-
:phaseList="scope.row.currPhase"
|
|
84
|
-
:contrloType="getControlType(scope.row)"
|
|
85
|
-
>
|
|
86
|
-
</pattern-list> -->
|
|
87
108
|
<pattern-list
|
|
88
109
|
v-if="getControlType(scope.row) === 'ring'"
|
|
89
110
|
:patternStatusList="scope.row.rings"
|
|
@@ -115,10 +136,11 @@
|
|
|
115
136
|
</template>
|
|
116
137
|
|
|
117
138
|
<script>
|
|
118
|
-
import XiaoKanBan from '../../XiaoKanBan'
|
|
139
|
+
import XiaoKanBan from '../../XiaoKanBan/index.vue'
|
|
119
140
|
// import { getPatternList } from '../../../../api/route'
|
|
120
141
|
import { getIntersectionInfo } from '../../../../api/template'
|
|
121
142
|
import { getMessageByCode } from '../../../../utils/responseMessage'
|
|
143
|
+
import { getDuration } from '../../../../api/cross'
|
|
122
144
|
// import { getDirName } from '../../../components/SelectCrossPhase/utils.js'
|
|
123
145
|
export default {
|
|
124
146
|
name: 'PatternTable',
|
|
@@ -133,10 +155,26 @@ export default {
|
|
|
133
155
|
optList: {
|
|
134
156
|
type: Array
|
|
135
157
|
},
|
|
158
|
+
isSingleCrossMode: {
|
|
159
|
+
type: Boolean,
|
|
160
|
+
default: false
|
|
161
|
+
},
|
|
162
|
+
tableColums: {
|
|
163
|
+
type: Array,
|
|
164
|
+
default: () => []
|
|
165
|
+
},
|
|
136
166
|
isAllowedExpand: {
|
|
137
167
|
type: Boolean,
|
|
138
168
|
default: true
|
|
139
169
|
},
|
|
170
|
+
isShowGenerateButton: {
|
|
171
|
+
type: Boolean,
|
|
172
|
+
default: true
|
|
173
|
+
},
|
|
174
|
+
isShowTableHeader: {
|
|
175
|
+
type: Boolean,
|
|
176
|
+
default: true
|
|
177
|
+
},
|
|
140
178
|
maxTableHeight: {
|
|
141
179
|
type: Number,
|
|
142
180
|
default: 200
|
|
@@ -144,6 +182,13 @@ export default {
|
|
|
144
182
|
},
|
|
145
183
|
data () {
|
|
146
184
|
return {
|
|
185
|
+
typeOptions: [{
|
|
186
|
+
value: 'flow-split-opt'
|
|
187
|
+
}, {
|
|
188
|
+
value: 'cycle-opt'
|
|
189
|
+
}],
|
|
190
|
+
value: 'flow-split-opt',
|
|
191
|
+
optimizecycle: 0,
|
|
147
192
|
controlType: 'stage',
|
|
148
193
|
loading: true,
|
|
149
194
|
tableHeight: 460,
|
|
@@ -181,6 +226,113 @@ export default {
|
|
|
181
226
|
})
|
|
182
227
|
},
|
|
183
228
|
methods: {
|
|
229
|
+
onOptimizeClick (row, index) {
|
|
230
|
+
let msg = this.$t('openatccomponents.pattern.algorithmEngineOptimization')
|
|
231
|
+
const loading = this.$loading({
|
|
232
|
+
lock: true,
|
|
233
|
+
text: msg,
|
|
234
|
+
spinner: 'el-icon-loading',
|
|
235
|
+
background: 'rgba(0, 0, 0, 0.7)'
|
|
236
|
+
})
|
|
237
|
+
setTimeout(() => {
|
|
238
|
+
loading.close()
|
|
239
|
+
this.handeleOptimizeClick(row, index)
|
|
240
|
+
}, 1000)
|
|
241
|
+
},
|
|
242
|
+
handeleOptimizeClick (row, index) {
|
|
243
|
+
let newPha = []
|
|
244
|
+
for (let i = 0; i < row.rings.length; i++) {
|
|
245
|
+
newPha.push(...row.rings[i])
|
|
246
|
+
}
|
|
247
|
+
let phaseData = newPha.map(item => {
|
|
248
|
+
return {
|
|
249
|
+
id: item.id,
|
|
250
|
+
flowperhour: item.flowperhour,
|
|
251
|
+
saturation: item.saturation
|
|
252
|
+
}
|
|
253
|
+
})
|
|
254
|
+
let patternList = row.allPatterns
|
|
255
|
+
if (row.feature && row.feature.patternList && row.feature.patternList.length > 0) {
|
|
256
|
+
patternList = row.feature.patternList
|
|
257
|
+
}
|
|
258
|
+
let pattern = patternList.filter((item) => item.id === row.patternid)[0]
|
|
259
|
+
let phaseList = row.currPhase
|
|
260
|
+
let reqData = {
|
|
261
|
+
'type': this.value,
|
|
262
|
+
'optcycle': this.optimizecycle ? this.optimizecycle : 0,
|
|
263
|
+
'phaseList': phaseList,
|
|
264
|
+
'pattern': pattern,
|
|
265
|
+
'phases': phaseData
|
|
266
|
+
}
|
|
267
|
+
let isValidata = []
|
|
268
|
+
for (let j = 0; j < newPha.length; j++) {
|
|
269
|
+
let comNum = (newPha[j].length / 4) * 1700 * 0.8
|
|
270
|
+
isValidata.push(newPha[j].flowperhour > comNum)
|
|
271
|
+
}
|
|
272
|
+
if (isValidata.includes(true)) {
|
|
273
|
+
this.$confirm(this.$t('openatccomponents.overview.maxFlow'),
|
|
274
|
+
this.$t('openatccomponents.common.alarm'), {
|
|
275
|
+
confirmButtonText: this.$t('openatccomponents.common.confirm'),
|
|
276
|
+
cancelButtonText: this.$t('openatccomponents.common.cancel'),
|
|
277
|
+
type: 'warning'
|
|
278
|
+
}).then(() => {
|
|
279
|
+
this.doOptimize(row, index, reqData)
|
|
280
|
+
}).catch(() => {})
|
|
281
|
+
} else {
|
|
282
|
+
this.doOptimize(row, index, reqData)
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
doOptimize (row, index, reqData) {
|
|
286
|
+
// let _this = this
|
|
287
|
+
getDuration(reqData).then(data => {
|
|
288
|
+
if (data.data.success) {
|
|
289
|
+
this.$message({
|
|
290
|
+
type: 'success',
|
|
291
|
+
message: this.$t('openatccomponents.pattern.success')
|
|
292
|
+
})
|
|
293
|
+
// let cycle = 0
|
|
294
|
+
for (let i = 0; i < row.rings.length; i++) {
|
|
295
|
+
for (let j = 0; j < row.rings[i].length; j++) {
|
|
296
|
+
for (let h = 0; h < data.data.data.phase.length; h++) {
|
|
297
|
+
if (row.rings[i][j].id === data.data.data.phase[h].id) {
|
|
298
|
+
row.rings[i][j].value = data.data.data.phase[h].duration
|
|
299
|
+
// cycle = cycle + row.rings[i][j].value
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
// row.cycle = cycle
|
|
305
|
+
// let newPattern = _this.newPatternList[index]
|
|
306
|
+
// newPattern.cycle = cycle
|
|
307
|
+
// newPattern.rings = row.rings
|
|
308
|
+
// _this.newPatternList[index] = newPattern
|
|
309
|
+
// if (row.feature && row.feature.patternList && row.feature.patternList.length > 0) {
|
|
310
|
+
// let pattern = row.feature.patternList.find((item) => item.id === row.patternid)
|
|
311
|
+
// if (pattern) {
|
|
312
|
+
// pattern.cycle = cycle
|
|
313
|
+
// pattern.rings = row.rings
|
|
314
|
+
// }
|
|
315
|
+
// }
|
|
316
|
+
}
|
|
317
|
+
}).catch(error => {
|
|
318
|
+
console.log(error)
|
|
319
|
+
})
|
|
320
|
+
},
|
|
321
|
+
isShowColumn (colum) {
|
|
322
|
+
let res = true
|
|
323
|
+
if (this.tableColums && this.tableColums.length > 0) {
|
|
324
|
+
res = this.tableColums.find(item => item === colum)
|
|
325
|
+
}
|
|
326
|
+
return res
|
|
327
|
+
},
|
|
328
|
+
getPeriod (row) {
|
|
329
|
+
let period = row.period
|
|
330
|
+
let res = ''
|
|
331
|
+
if (period && period.length > 0) {
|
|
332
|
+
res = period[0] + '-' + period[1]
|
|
333
|
+
}
|
|
334
|
+
return res
|
|
335
|
+
},
|
|
184
336
|
getDevName (row) {
|
|
185
337
|
let res = row.name ? row.name : ''
|
|
186
338
|
if (this.devicesData) {
|
|
@@ -258,7 +410,9 @@ export default {
|
|
|
258
410
|
if (ring.length === 0) continue
|
|
259
411
|
for (let rr of ring) {
|
|
260
412
|
rr.desc = []
|
|
261
|
-
let
|
|
413
|
+
let targetPhase = currPhase.filter(curp => curp.id === rr.id)[0]
|
|
414
|
+
if (!targetPhase) continue
|
|
415
|
+
let direction = targetPhase.direction // 相位方向集合
|
|
262
416
|
let phaseRing = currPhase.filter(curp => curp.id === rr.id)[0].ring
|
|
263
417
|
count.push(phaseRing)
|
|
264
418
|
for (let dir of direction) {
|
|
@@ -405,17 +559,30 @@ export default {
|
|
|
405
559
|
<style lang="scss">
|
|
406
560
|
.board {
|
|
407
561
|
width: 100%;
|
|
408
|
-
margin-left:
|
|
562
|
+
margin-left: 10PX;
|
|
409
563
|
display: flex;
|
|
410
|
-
justify-content:
|
|
411
|
-
|
|
564
|
+
justify-content: flex-start;
|
|
565
|
+
gap: 10PX;
|
|
412
566
|
align-items: flex-start;
|
|
413
567
|
}
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
568
|
+
.optimizetype{
|
|
569
|
+
font-size: 14PX;
|
|
570
|
+
display: flex;
|
|
571
|
+
justify-content: flex-start;
|
|
572
|
+
align-items: center;
|
|
573
|
+
gap: 10PX;
|
|
574
|
+
padding-left: 20PX;
|
|
575
|
+
.el-input {
|
|
576
|
+
width: 120PX;
|
|
577
|
+
}
|
|
578
|
+
// .el-select{
|
|
579
|
+
// width: 170PX;
|
|
580
|
+
// }
|
|
581
|
+
// .el-button {
|
|
582
|
+
// margin-left: 10PX;
|
|
583
|
+
// }
|
|
584
|
+
.optimiNum {
|
|
585
|
+
padding-left: 10PX;
|
|
586
|
+
}
|
|
587
|
+
}
|
|
421
588
|
</style>
|
|
@@ -119,7 +119,7 @@ export default {
|
|
|
119
119
|
let res = []
|
|
120
120
|
let devs = tab.devs
|
|
121
121
|
for (let dev of devs) {
|
|
122
|
-
if (!dev.patternList || dev.patternList.length === 0) {
|
|
122
|
+
if (!dev.feature || !dev.feature.patternList || dev.feature.patternList.length === 0) {
|
|
123
123
|
res = list
|
|
124
124
|
return res
|
|
125
125
|
}
|
|
@@ -127,9 +127,7 @@ export default {
|
|
|
127
127
|
let devPatternList = devs.map(item => {
|
|
128
128
|
let pattern = {
|
|
129
129
|
agentid: item.agentid,
|
|
130
|
-
feature:
|
|
131
|
-
patternList: item.patternList
|
|
132
|
-
}
|
|
130
|
+
feature: item.feature
|
|
133
131
|
}
|
|
134
132
|
return pattern
|
|
135
133
|
})
|