openatc-components 0.0.96-hotfix → 0.0.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 (29) hide show
  1. package/package/kisscomps/components/BoardCard/BoardCard.vue +6 -1
  2. package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1 -2
  3. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +17 -119
  4. package/package/kisscomps/components/KanBan/kanban.vue +6 -6
  5. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +153 -38
  6. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +16 -0
  7. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +190 -0
  8. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -0
  9. package/package/kisscomps/components/StageStatus/StageStatus.vue +6 -2
  10. package/package/kisscomps/components/patternList/patternList.vue +5 -0
  11. package/package/kisscomps/index.js +2 -0
  12. package/package/kissui.min.js +1 -1
  13. package/package.json +13 -12
  14. package/src/i18n/language/en.js +31 -3
  15. package/src/i18n/language/zh.js +30 -2
  16. package/src/kisscomps/components/BoardCard/BoardCard.vue +6 -1
  17. package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1 -2
  18. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +17 -119
  19. package/src/kisscomps/components/KanBan/kanban.vue +6 -6
  20. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +153 -38
  21. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +16 -0
  22. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +190 -0
  23. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -0
  24. package/src/kisscomps/components/StageStatus/StageStatus.vue +6 -2
  25. package/src/kisscomps/components/patternList/patternList.vue +5 -0
  26. package/src/kisscomps/index.js +2 -0
  27. package/src/router/index.js +2 -2
  28. package/static/styles/channelizatioon.scss +3 -12
  29. package/static/styles/schemeconfig.scss +52 -0
@@ -0,0 +1,190 @@
1
+ <template>
2
+ <div class="priority-control">
3
+ <div class="title" style="margin-bottom: 18px;">{{$t('openatccomponents.overview.prioritycontrol')}}</div>
4
+ <el-row>
5
+ <el-col :span="12">
6
+ <el-form
7
+ ref="manual"
8
+ label-position="left"
9
+ :model="manualInfo"
10
+ label-width="100px">
11
+ <el-form-item
12
+ :label="$t('openatccomponents.overview.delay') + ':'"
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> -->
16
+ </el-form-item>
17
+ <el-form-item
18
+ :label="$t('openatccomponents.overview.priorityType') + ':'"
19
+ prop="count">
20
+ <el-select v-model="manualInfo.type" class="col-inner" size="small" clearable :placeholder="$t('openatccomponents.common.select')">
21
+ <el-option
22
+ v-for="item in typeSelect"
23
+ :key="item.value"
24
+ :label="item.label"
25
+ :value="item.value">
26
+ </el-option>
27
+ </el-select>
28
+ <!-- <el-input v-model="manualInfo.tempDuration" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
29
+ </el-form-item>
30
+ </el-form>
31
+ </el-col>
32
+ <el-col :span="12">
33
+ <el-form
34
+ ref="manual"
35
+ label-position="left"
36
+ :model="manualInfo"
37
+ label-width="100px">
38
+ <el-form-item
39
+ :label="$t('openatccomponents.overview.duration') + ':'"
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> -->
43
+ </el-form-item>
44
+ <el-form-item
45
+ :label="$t('openatccomponents.overview.priorityPhase') + ':'"
46
+ prop="count">
47
+ <el-select v-model="manualInfo.phase" class="col-inner" size="small" clearable :placeholder="$t('openatccomponents.common.select')">
48
+ <el-option
49
+ v-for="(item, index) in phaseSelect"
50
+ :key="index"
51
+ :label="item.label"
52
+ :value="item.value">
53
+ <div class="single-model">
54
+ <xdrdirselector Width="40px" Height="40px" :showlist="item.item"></xdrdirselector>
55
+ <span style="float: right; color: #8492a6; font-size: 13px">{{ item.label }}</span>
56
+ </div>
57
+ </el-option>
58
+ </el-select>
59
+ <!-- <el-input v-model="manualInfo.tempDuration" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
60
+ </el-form-item>
61
+ </el-form>
62
+ </el-col>
63
+ </el-row>
64
+ <el-row>
65
+ <el-col :span="12">
66
+ <el-form
67
+ ref="manual"
68
+ label-position="left"
69
+ :model="manualInfo"
70
+ label-width="100px">
71
+ <el-form-item
72
+ :label="$t('openatccomponents.overview.level') + ':'"
73
+ prop="count">
74
+ <el-select v-model="manualInfo.level" class="col-inner" size="small" clearable :placeholder="$t('openatccomponents.common.select')">
75
+ <el-option
76
+ v-for="item in levelOption"
77
+ :key="item.value"
78
+ :label="$t('openatccomponents.overview.levelOption' + item.value)"
79
+ :value="item.value">
80
+ </el-option>
81
+ </el-select>
82
+ <!-- <el-input v-model="manualInfo.tempDuration" size="mini" :placeholder="$t('openatccomponents.common.input')"></el-input> -->
83
+ </el-form-item>
84
+ </el-form>
85
+ </el-col>
86
+ </el-row>
87
+ <div class="footer">
88
+ <el-button @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
89
+ <el-button type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
90
+ </div>
91
+ </div>
92
+ </template>
93
+
94
+ <script>
95
+ import xdrdirselector from '../../XRDDirSelector/XRDDirSelector'
96
+ import { getTheme } from '../../../../utils/auth'
97
+ import { getDirName } from './utils'
98
+ export default {
99
+ name: 'prioritycontrol',
100
+ components: {
101
+ xdrdirselector
102
+ },
103
+ props: {
104
+ phaseList: {
105
+ type: Array
106
+ }
107
+ },
108
+ data () {
109
+ return {
110
+ levelOption: [{
111
+ value: 1,
112
+ label: 1
113
+ }, {
114
+ value: 2,
115
+ label: 2
116
+ }, {
117
+ value: 3,
118
+ label: 3
119
+ }, {
120
+ value: 4,
121
+ label: 4
122
+ }, {
123
+ value: 5,
124
+ label: 5
125
+ }],
126
+ typeSelect: [{
127
+ value: 0,
128
+ label: this.$t('openatccomponents.overview.typeOption0')
129
+ }, {
130
+ value: 1,
131
+ label: this.$t('openatccomponents.overview.typeOption1')
132
+ }],
133
+ phaseSelect: [],
134
+ manualInfo: {
135
+ level: 1,
136
+ phase: 1,
137
+ type: 0,
138
+ duration: 300,
139
+ delay: 0
140
+ }
141
+ }
142
+ },
143
+ created () {
144
+ this.getSelect(this.phaseList)
145
+ },
146
+ methods: {
147
+ getSelect (list) {
148
+ let color = getTheme() === 'light' ? '#1E1E1E' : '#F1F3F4'
149
+ this.phaseSelect = list.map((item, index) => {
150
+ let dirArr = []
151
+ for (let rec of item.direction) {
152
+ let recd = {
153
+ id: rec,
154
+ color: color
155
+ }
156
+ dirArr.push(recd)
157
+ }
158
+ let nameArr = getDirName(dirArr)
159
+ let name = ''
160
+ nameArr = nameArr.map(record => this.$t(record))
161
+ name = nameArr.join(',')
162
+ return {
163
+ label: name,
164
+ item: dirArr,
165
+ value: item.id
166
+ }
167
+ })
168
+ },
169
+ handleClose () {
170
+ this.$emit('closePhaseBack')
171
+ },
172
+ handleManualControl () {
173
+ let submitdata = {
174
+ control: 24,
175
+ delay: this.manualInfo.delay,
176
+ duration: this.manualInfo.duration,
177
+ type: this.manualInfo.type,
178
+ phase: this.manualInfo.phase,
179
+ level: this.manualInfo.level
180
+ }
181
+ console.log(submitdata, 'submitdata')
182
+ this.$emit('closePhaseControl', submitdata)
183
+ }
184
+ }
185
+ }
186
+ </script>
187
+
188
+ <style>
189
+
190
+ </style>
@@ -0,0 +1,163 @@
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
+ import Edgebase from '@openatc/edgebase-front'
13
+ let images = [{
14
+ id: 1,
15
+ // name: 'East-Straight',
16
+ name: 'openatccomponents.overview.es',
17
+ // img: require('./images/East-Straight.svg'),
18
+ class: 'iconfont icon-icon-test2'
19
+ },
20
+ {
21
+ id: 2,
22
+ // name: 'East-Left',
23
+ name: 'openatccomponents.overview.el',
24
+ // img: require('./images/East-Left.svg'),
25
+ class: 'iconfont icon-icon-test4'
26
+ },
27
+ {
28
+ id: 3,
29
+ // name: 'East-Right',
30
+ name: 'openatccomponents.overview.er',
31
+ // img: require('./images/East-Right.svg'),
32
+ class: 'iconfont icon-icon-test3'
33
+ },
34
+ {
35
+ id: 4,
36
+ // name: 'East-Back',
37
+ name: 'openatccomponents.overview.eb',
38
+ // img: require('./images/East-Back.svg'),
39
+ class: 'iconfont icon-icon-test6'
40
+ },
41
+ {
42
+ id: 5,
43
+ // name: 'West-Straight',
44
+ name: 'openatccomponents.overview.ws',
45
+ // img: require('./images/West-Straight.svg'),
46
+ class: 'iconfont icon-icon-test5'
47
+ },
48
+ {
49
+ id: 6,
50
+ // name: 'West-Left',
51
+ name: 'openatccomponents.overview.wl',
52
+ // img: require('./images/West-Left.svg'),
53
+ class: 'iconfont icon-icon-test7'
54
+ },
55
+ {
56
+ id: 7,
57
+ // name: 'West-Right',
58
+ name: 'openatccomponents.overview.wr',
59
+ // img: require('./images/West-Right.svg'),
60
+ class: 'iconfont icon-icon-test9'
61
+ },
62
+ {
63
+ id: 8,
64
+ // name: 'West-Back',
65
+ name: 'openatccomponents.overview.wb',
66
+ // img: require('./images/West-Back.svg'),
67
+ class: 'iconfont icon-icon-test8'
68
+ },
69
+ {
70
+ id: 9,
71
+ // name: 'North-Straight',
72
+ name: 'openatccomponents.overview.ns',
73
+ // img: require('./images/North-Straight.svg'),
74
+ class: 'iconfont icon-icon-test10'
75
+ },
76
+ {
77
+ id: 10,
78
+ // name: 'North-Left',
79
+ name: 'openatccomponents.overview.nl',
80
+ // img: require('./images/North-Left.svg'),
81
+ class: 'iconfont icon-icon-test12'
82
+ },
83
+ {
84
+ id: 11,
85
+ // name: 'North-Right',
86
+ name: 'openatccomponents.overview.nr',
87
+ // img: require('./images/North-Right.svg'),
88
+ class: 'iconfont icon-icon-test13'
89
+ },
90
+ {
91
+ id: 12,
92
+ // name: 'North-Back',
93
+ name: 'openatccomponents.overview.nb',
94
+ // img: require('./images/North-Back.svg'),
95
+ class: 'iconfont icon-icon-test11'
96
+ },
97
+ {
98
+ id: 13,
99
+ // name: 'South-Straight',
100
+ name: 'openatccomponents.overview.ss',
101
+ // img: require('./images/South-Straight.svg'),
102
+ class: 'iconfont icon-icon-test15'
103
+ },
104
+ {
105
+ id: 14,
106
+ // name: 'South-Left',
107
+ name: 'openatccomponents.overview.sl',
108
+ // img: require('./images/South-Left.svg'),
109
+ class: 'iconfont icon-icon-test14'
110
+ },
111
+ {
112
+ id: 15,
113
+ // name: 'South-Right',
114
+ name: 'openatccomponents.overview.sr',
115
+ // img: require('./images/South-Right.svg'),
116
+ class: 'iconfont icon-icon-test'
117
+ },
118
+ {
119
+ id: 16,
120
+ // name: 'South-Back',
121
+ name: 'openatccomponents.overview.sb',
122
+ // img: require('./images/South-Back.svg'),
123
+ class: 'iconfont icon-icon-test1'
124
+ }]
125
+
126
+ const getImages = () => {
127
+ if (Edgebase.Store.getters.roadDirection === 'left') {
128
+ // 左行下,掉头图标替换
129
+ images.forEach((img) => {
130
+ if (img.id === 4) {
131
+ img.class = 'iconfont icon-dongtiaotou-yinni'
132
+ }
133
+ if (img.id === 8) {
134
+ img.class = 'iconfont icon-xitiaotou-yinni'
135
+ }
136
+ if (img.id === 12) {
137
+ img.class = 'iconfont icon-beitiaotou-yinni'
138
+ }
139
+ if (img.id === 16) {
140
+ img.class = 'iconfont icon-nantiaotou-yinni'
141
+ }
142
+ })
143
+ }
144
+ return images
145
+ }
146
+
147
+ const getDirName = (arr) => {
148
+ let res = ''
149
+ let nameArr = []
150
+ for (let item of arr) {
151
+ let id = item.id
152
+ for (let img of images) {
153
+ if (id === img.id) {
154
+ let name = img.name
155
+ nameArr.push(name)
156
+ }
157
+ }
158
+ }
159
+ res = nameArr
160
+ return res
161
+ }
162
+
163
+ export {getImages, getDirName}
@@ -57,7 +57,9 @@ export default {
57
57
  if (this.contrloType === 'stage') {
58
58
  this.getStageLine()
59
59
  } else {
60
- this.getPhaseId(this.controlData)
60
+ if (this.controlData) {
61
+ this.getPhaseId(this.controlData)
62
+ }
61
63
  }
62
64
  },
63
65
  // 深度观察监听
@@ -66,7 +68,9 @@ export default {
66
68
  patternStatusList: {
67
69
  handler: function (val, oldVal) {
68
70
  // this.handleStages() // 计算屏障高度
69
- this.getPhaseId(this.patternStatusList)
71
+ if (this.patternStatusList) {
72
+ this.getPhaseId(this.patternStatusList)
73
+ }
70
74
  },
71
75
  // 深度观察监听
72
76
  deep: true
@@ -10,6 +10,7 @@
10
10
  :patternList="patternList"
11
11
  :localPatternList="localPatternList"
12
12
  :phaseList="phaseList"
13
+ :showBarrier="showBarrier"
13
14
  :agentId="agentId"
14
15
  :controlData="controlData"
15
16
  :syncTime="syncTime"
@@ -507,6 +508,10 @@ export default {
507
508
  phaseList: {
508
509
  type: Array
509
510
  },
511
+ showBarrier: {
512
+ type: Boolean,
513
+ default: false
514
+ },
510
515
  controlData: {
511
516
  type: Object
512
517
  },
@@ -21,6 +21,7 @@ import StageBord from './components/StageBord/index'
21
21
  import ExpendConfig from './components/ExpendConfig/index'
22
22
  import PatternWalkSvg from './components/PatternWalkSvg/index'
23
23
  import tentativeplancontrolmodal from './components/SchemeConfig/tentativeplancontrolmodal/index'
24
+ import priorityControl from './components/SchemeConfig/priorityControl/index'
24
25
  import { setToken, setHost } from '../utils/auth.js'
25
26
  import componentsGlobalParam from '../store/modules/globalParam'
26
27
 
@@ -51,6 +52,7 @@ const components = {
51
52
  StageBord,
52
53
  ExpendConfig,
53
54
  PatternWalkSvg,
55
+ priorityControl,
54
56
  tentativeplancontrolmodal
55
57
  }
56
58