openatc-components 0.0.102 → 0.0.105
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/BoardCard/BoardCard.vue +6 -1
- package/package/kisscomps/components/Channelization/Channelization.vue +11 -0
- package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +349 -0
- package/package/kisscomps/components/ChannelizationFlowStatistic/index.js +2 -0
- package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +12 -0
- package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +12 -9
- package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +22 -3
- package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +83 -17
- package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +11 -0
- package/package/kisscomps/components/KanBan/kanban.vue +7 -7
- package/package/kisscomps/components/PatternStatus/PatternStatus.vue +153 -38
- package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +16 -0
- package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +190 -0
- package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -0
- package/package/kisscomps/components/StageStatus/StageStatus.vue +6 -2
- package/package/kisscomps/components/patternList/patternList.vue +5 -0
- package/package/kisscomps/index.js +4 -0
- package/package/kissui.min.js +1 -1
- package/package.json +13 -12
- package/src/i18n/language/en.js +31 -2
- package/src/i18n/language/zh.js +31 -2
- package/src/kisscomps/components/BoardCard/BoardCard.vue +6 -1
- package/src/kisscomps/components/Channelization/Channelization.vue +11 -0
- package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +349 -0
- package/src/kisscomps/components/ChannelizationFlowStatistic/index.js +2 -0
- package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +12 -0
- package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +12 -9
- package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +22 -3
- package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +83 -17
- package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +11 -0
- package/src/kisscomps/components/KanBan/kanban.vue +7 -7
- package/src/kisscomps/components/PatternStatus/PatternStatus.vue +153 -38
- package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +16 -0
- package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +190 -0
- package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -0
- package/src/kisscomps/components/StageStatus/StageStatus.vue +6 -2
- package/src/kisscomps/components/patternList/patternList.vue +5 -0
- package/src/kisscomps/index.js +4 -0
- package/src/router/index.js +7 -8
- package/src/views/customchannelization.vue +1 -1
- package/src/views/intersection.vue +67 -43
- package/src/views/schemeconfig.vue +2 -2
- package/static/styles/channelizatioon.scss +9 -0
- package/static/styles/commonkanban.scss +27 -27
- package/static/styles/schemeconfig.scss +52 -0
- package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.check.vue +0 -191
- package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.syncOper.vue +0 -331
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
},
|
package/src/kisscomps/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import IntersectionMap from './components/IntersectionMap/index'
|
|
|
5
5
|
import SchemeConfig from './components/SchemeConfig/index'
|
|
6
6
|
import lockingPhaselControlModal from './components/SchemeConfig/lockingPhaselControlModal/index'
|
|
7
7
|
import Channelization from './components/Channelization/index'
|
|
8
|
+
import ChannelizationFlowStatistic from './components/ChannelizationFlowStatistic/index'
|
|
8
9
|
import DrawChannelization from './components/DrawChannelization/index'
|
|
9
10
|
import FaultDetailModal from './components/FaultDetailModal/index'
|
|
10
11
|
import CommonKanban from './components/CommonKanban/index'
|
|
@@ -21,6 +22,7 @@ import StageBord from './components/StageBord/index'
|
|
|
21
22
|
import ExpendConfig from './components/ExpendConfig/index'
|
|
22
23
|
import PatternWalkSvg from './components/PatternWalkSvg/index'
|
|
23
24
|
import tentativeplancontrolmodal from './components/SchemeConfig/tentativeplancontrolmodal/index'
|
|
25
|
+
import priorityControl from './components/SchemeConfig/priorityControl/index'
|
|
24
26
|
import { setToken, setHost } from '../utils/auth.js'
|
|
25
27
|
import componentsGlobalParam from '../store/modules/globalParam'
|
|
26
28
|
|
|
@@ -36,6 +38,7 @@ const components = {
|
|
|
36
38
|
SchemeConfig,
|
|
37
39
|
lockingPhaselControlModal,
|
|
38
40
|
Channelization,
|
|
41
|
+
ChannelizationFlowStatistic,
|
|
39
42
|
DrawChannelization,
|
|
40
43
|
FaultDetailModal,
|
|
41
44
|
PatternStatus,
|
|
@@ -51,6 +54,7 @@ const components = {
|
|
|
51
54
|
StageBord,
|
|
52
55
|
ExpendConfig,
|
|
53
56
|
PatternWalkSvg,
|
|
57
|
+
priorityControl,
|
|
54
58
|
tentativeplancontrolmodal
|
|
55
59
|
}
|
|
56
60
|
|
package/src/router/index.js
CHANGED
|
@@ -4,13 +4,12 @@ Vue.use(Router)
|
|
|
4
4
|
|
|
5
5
|
export default new Router({
|
|
6
6
|
routes: [
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// },
|
|
7
|
+
{
|
|
8
|
+
path: '/',
|
|
9
|
+
component: (resolve) => {
|
|
10
|
+
require(['@/views/intersection'], resolve)
|
|
11
|
+
}
|
|
12
|
+
},
|
|
14
13
|
{
|
|
15
14
|
path: '/cross',
|
|
16
15
|
name: 'cross',
|
|
@@ -19,7 +18,7 @@ export default new Router({
|
|
|
19
18
|
}
|
|
20
19
|
},
|
|
21
20
|
{
|
|
22
|
-
path: '/',
|
|
21
|
+
path: '/config',
|
|
23
22
|
name: 'config',
|
|
24
23
|
component: (resolve) => {
|
|
25
24
|
require(['@/views/schemeconfig'], resolve)
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
</intersection-with-interface> -->
|
|
38
38
|
<!-- </el-dialog> -->
|
|
39
39
|
<div class="layout-container2">
|
|
40
|
+
<h2 style="color: #fff;">路口图</h2>
|
|
40
41
|
<intersection-with-interface
|
|
41
42
|
ref="intersection"
|
|
42
43
|
:AgentId="agentId"
|
|
@@ -45,6 +46,7 @@
|
|
|
45
46
|
:roadDirection="roadDirection"
|
|
46
47
|
:modeName="modeName"
|
|
47
48
|
:controlName="controlName"
|
|
49
|
+
:isShowState="isShowState"
|
|
48
50
|
:isShowMode="isShowMode"
|
|
49
51
|
:isShowInterval="isShowInterval"
|
|
50
52
|
:isShowMessage ="isShowMessage"
|
|
@@ -61,11 +63,7 @@
|
|
|
61
63
|
:currentStage="currentStage"
|
|
62
64
|
@onSelectStages="onSelectStages"></Stages> -->
|
|
63
65
|
|
|
64
|
-
|
|
65
|
-
<!-- <IntersectionWithInterface
|
|
66
|
-
:AgentId="agentId"
|
|
67
|
-
:Token="Token"/> -->
|
|
68
|
-
|
|
66
|
+
<h2 style="color: #fff;">渠化图</h2>
|
|
69
67
|
<channelization-with-interface
|
|
70
68
|
ref="channelization"
|
|
71
69
|
:AgentId="agentId"
|
|
@@ -73,12 +71,21 @@
|
|
|
73
71
|
:Token="Token"
|
|
74
72
|
@getTscControl="getTscControl"
|
|
75
73
|
@onPhaseChange="onPhaseChange"/>
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
|
|
75
|
+
<h2 style="color: #fff;">流量统计渠化路口图</h2>
|
|
76
|
+
<channelization-flow-statistic
|
|
77
|
+
:AgentId="agentId"
|
|
78
|
+
:phasesStatisticsList="phasesStatisticsList"
|
|
79
|
+
bcgColor="#009900"
|
|
80
|
+
:customText="customText"
|
|
81
|
+
textFontSize="50"/>
|
|
78
82
|
</div>
|
|
79
83
|
</div>
|
|
80
84
|
</template>
|
|
81
85
|
<script>
|
|
86
|
+
import {
|
|
87
|
+
setToken
|
|
88
|
+
} from '../utils/auth'
|
|
82
89
|
import IntersectionWithInterface from '../kisscomps/components/IntersectionWithInterface'
|
|
83
90
|
import ChannelizationWithInterface from '../kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface'
|
|
84
91
|
export default {
|
|
@@ -87,9 +94,9 @@ export default {
|
|
|
87
94
|
return {
|
|
88
95
|
roadDirection: 'right',
|
|
89
96
|
// reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
90
|
-
agentId: '
|
|
97
|
+
agentId: '13001-460',
|
|
91
98
|
reqUrl: 'http://192.168.13.105:11003/openatc',
|
|
92
|
-
Token: '
|
|
99
|
+
Token: 'eyJraWQiOiIxNjYwNjQwMDMyMzc0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc0NzAzOTk3OCwiaWF0IjoxNjYwNjM5OTc4fQ.I2O7bJPOFWDU9ZE8BqE6p-fsn-Kuj2i0z5lRgvvkzgA',
|
|
93
100
|
// agentId: '30003-352',
|
|
94
101
|
// reqUrl: 'https://kints-dev.devdolphin.com/openatc',
|
|
95
102
|
// Token: 'eyJraWQiOiIxNjUwNTA5MDI2ODk2IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJ4aWFvbWluZyIsImV4cCI6MTczNjkwOTAyNiwiaWF0IjoxNjUwNTA5MDI2fQ.-s4T-uMRmB2zf9yer87USKQXLY1a12Zq5lCOnqjNmfA',
|
|
@@ -97,12 +104,40 @@ export default {
|
|
|
97
104
|
dialogWidth: '80%',
|
|
98
105
|
modeName: '交警遥控',
|
|
99
106
|
controlName: '步进',
|
|
107
|
+
isShowState: true,
|
|
100
108
|
isShowMode: true,
|
|
101
109
|
isShowMessage: true,
|
|
102
110
|
isShowPatternStatus: false,
|
|
103
111
|
isShowIntersection: true,
|
|
104
112
|
isShowInterval: true,
|
|
105
|
-
isShowStages: true
|
|
113
|
+
isShowStages: true,
|
|
114
|
+
customText: 'A',
|
|
115
|
+
phasesStatisticsList: [
|
|
116
|
+
{
|
|
117
|
+
'phaseno': 1,
|
|
118
|
+
'time': '2020-08-09 15:44:22',
|
|
119
|
+
'phasestatistics': {
|
|
120
|
+
'totalflow': 49,
|
|
121
|
+
'averageflow': 12,
|
|
122
|
+
'saturation': 1,
|
|
123
|
+
'occupyrate': 69,
|
|
124
|
+
'congestionindex': 'A',
|
|
125
|
+
'greenusage': 10
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
'phaseno': 2,
|
|
130
|
+
'time': '2020-08-09 15:44:22',
|
|
131
|
+
'phasestatistics': {
|
|
132
|
+
'totalflow': 62,
|
|
133
|
+
'averageflow': 31,
|
|
134
|
+
'saturation': 3,
|
|
135
|
+
'occupyrate': 98,
|
|
136
|
+
'congestionindex': 'F',
|
|
137
|
+
'greenusage': 10
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
]
|
|
106
141
|
}
|
|
107
142
|
},
|
|
108
143
|
components: {
|
|
@@ -205,6 +240,12 @@ export default {
|
|
|
205
240
|
onSelectStages (res) {
|
|
206
241
|
console.log('onSelectStages')
|
|
207
242
|
console.log(res)
|
|
243
|
+
},
|
|
244
|
+
setPropsToken (token) {
|
|
245
|
+
// 获取组件外传入的token,便于独立组件调用接口
|
|
246
|
+
if (token && token !== '') {
|
|
247
|
+
setToken(token)
|
|
248
|
+
}
|
|
208
249
|
}
|
|
209
250
|
},
|
|
210
251
|
created () {
|
|
@@ -216,6 +257,7 @@ export default {
|
|
|
216
257
|
// alert('Hello')
|
|
217
258
|
// _this.agentId = 'scats1'
|
|
218
259
|
// }, 5 * 1000)
|
|
260
|
+
this.setPropsToken(this.Token)
|
|
219
261
|
window.onresize = () => {
|
|
220
262
|
return (() => {
|
|
221
263
|
this.setDialogWidth()
|
|
@@ -226,7 +268,21 @@ export default {
|
|
|
226
268
|
}
|
|
227
269
|
}
|
|
228
270
|
</script>
|
|
229
|
-
<style lang=
|
|
271
|
+
<style lang='scss'>
|
|
272
|
+
.layout-container {
|
|
273
|
+
width: 800PX;
|
|
274
|
+
}
|
|
275
|
+
.layout-container1 {
|
|
276
|
+
width: 242PX;
|
|
277
|
+
height: 176PX;
|
|
278
|
+
border: 1PX solid green;
|
|
279
|
+
}
|
|
280
|
+
.layout-container2 {
|
|
281
|
+
/* height: 600px; */
|
|
282
|
+
width: 1020px;
|
|
283
|
+
border: 1PX solid yellow;
|
|
284
|
+
position: relative;
|
|
285
|
+
}
|
|
230
286
|
.abow_dialog {
|
|
231
287
|
display: flex;
|
|
232
288
|
justify-content: center;
|
|
@@ -250,35 +306,3 @@ export default {
|
|
|
250
306
|
}
|
|
251
307
|
}
|
|
252
308
|
</style>
|
|
253
|
-
|
|
254
|
-
<style scoped lang='scss'>
|
|
255
|
-
.layout-container {
|
|
256
|
-
width: 800PX;
|
|
257
|
-
// width: 300rem;
|
|
258
|
-
// height: 390PX;
|
|
259
|
-
border: 1PX solid red;
|
|
260
|
-
// color: green;
|
|
261
|
-
}
|
|
262
|
-
.layout-container1 {
|
|
263
|
-
// width: 12.5rem;
|
|
264
|
-
// height: 12.5rem;
|
|
265
|
-
// width: 275px;
|
|
266
|
-
// height: 202px;
|
|
267
|
-
// width: 330.33px;
|
|
268
|
-
// height: 242.67px;
|
|
269
|
-
width: 242PX;
|
|
270
|
-
height: 176PX;
|
|
271
|
-
border: 1PX solid green;
|
|
272
|
-
// background: green;
|
|
273
|
-
}
|
|
274
|
-
.layout-container2 {
|
|
275
|
-
// width: 25.6rem;
|
|
276
|
-
// height: 25.6rem;
|
|
277
|
-
// width: 600px;
|
|
278
|
-
height: 600px;;
|
|
279
|
-
width: 1020px;
|
|
280
|
-
border: 1PX solid yellow;
|
|
281
|
-
position: relative;
|
|
282
|
-
// background: white;
|
|
283
|
-
}
|
|
284
|
-
</style>
|
|
@@ -51,8 +51,8 @@ export default {
|
|
|
51
51
|
showWalk: [ 1, 2 ],
|
|
52
52
|
sidewalkPhaseData: [{key: 'pedphase1653873194007699', phaseid: 1, id: 1, name: '东人行横道', isshow: false}],
|
|
53
53
|
lockPhaseBtnName: this.$t('openatccomponents.overview.comfirm'),
|
|
54
|
-
agentId: '
|
|
55
|
-
Token: '
|
|
54
|
+
agentId: '13001-460',
|
|
55
|
+
Token: 'eyJraWQiOiIxNjYwMjgzMzQwMzM4IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc0NjY4MzM0MCwiaWF0IjoxNjYwMjgzMzQwfQ.xmgkrjwcdwT_miC3krjqL27Tv4txJ9FQuDEKlfWdtzU',
|
|
56
56
|
Token103: 'eyJraWQiOiIxNjQ5MzM4NzA5MTA0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTczNTczODcwOSwiaWF0IjoxNjQ5MzM4NzA5fQ.JDSkpT1SbB61dEKvorhVdZJHKJzoQZEY5DPKHs1Imo0',
|
|
57
57
|
boxVisible: false,
|
|
58
58
|
dialogWidth: '80%',
|
|
@@ -399,5 +399,14 @@
|
|
|
399
399
|
height: 14PX;
|
|
400
400
|
font-size: 14PX;
|
|
401
401
|
}
|
|
402
|
+
.customText {
|
|
403
|
+
position: absolute;
|
|
404
|
+
left: 50%;
|
|
405
|
+
top: 50%;
|
|
406
|
+
transform: translateX(-50%) translateY(-50%);
|
|
407
|
+
z-index: 9;
|
|
408
|
+
align-items: center;
|
|
409
|
+
color: #fff;
|
|
410
|
+
}
|
|
402
411
|
}
|
|
403
412
|
}
|