openatc-components 0.3.73 → 0.3.74
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/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +46 -145
- package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +4 -4
- package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +8 -3
- package/package/kisscomps/components/OverviewComponent/index.js +2 -0
- package/package/kisscomps/components/OverviewComponent/index.vue +794 -0
- package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +28 -18
- package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +9 -11
- package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +1 -1
- package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +21 -1
- package/package/kisscomps/index.js +3 -1
- package/package/kissui.min.js +1 -1
- package/package.json +1 -1
- package/src/i18n/language/en.js +7 -0
- package/src/i18n/language/zh.js +7 -0
- package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +46 -145
- package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +4 -4
- package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +8 -3
- package/src/kisscomps/components/OverviewComponent/index.js +2 -0
- package/src/kisscomps/components/OverviewComponent/index.vue +794 -0
- package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +28 -18
- package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +9 -11
- package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +1 -1
- package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +21 -1
- package/src/kisscomps/index.js +3 -1
- package/src/views/overView.vue +17 -4
- package/static/styles/common.scss +3 -3
- package/static/styles/dark/theme/element-dark.scss +1 -1
- package/static/styles/intersection.scss +5 -15
- package/static/styles/light/theme/element-light.scss +1 -1
- package/static/styles/schemeconfig.scss +6 -3
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
:leave-active-class="toPage === 1 ? 'animated fadeOutRight' : 'animated fadeOutLeft' ">
|
|
20
20
|
<div class="new" style="position: absolute;width: 100%;height:100%;" v-show="(isOperation && !isClosePhase)">
|
|
21
21
|
<ManualControlModalNew
|
|
22
|
+
v-if="resetcomponent"
|
|
22
23
|
ref="ManualControlModalNew"
|
|
23
24
|
:residentControlList="residentControlList"
|
|
24
25
|
:specialControlList="specialControlList"
|
|
@@ -81,6 +82,7 @@
|
|
|
81
82
|
<div v-else style="height: 100%;">
|
|
82
83
|
<div class="new" style="position: absolute;width: 100%;height:100%;" v-show="(isOperation && !isClosePhase)">
|
|
83
84
|
<ManualControlModalNew
|
|
85
|
+
v-if="resetcomponent"
|
|
84
86
|
ref="ManualControlModalNew"
|
|
85
87
|
:residentControlList="residentControlList"
|
|
86
88
|
:specialControlList="specialControlList"
|
|
@@ -460,13 +462,17 @@ export default {
|
|
|
460
462
|
patternAll: [],
|
|
461
463
|
patternSelect: [], // 所有方案id
|
|
462
464
|
specialPage: '', // 哪一个特殊控制页面
|
|
463
|
-
nextcycleefficcontrol: [5, 6, 9, 10, 12, 19] // 下周期生效的控制方式
|
|
465
|
+
nextcycleefficcontrol: [5, 6, 9, 10, 12, 19], // 下周期生效的控制方式
|
|
466
|
+
resetcomponent: false
|
|
464
467
|
}
|
|
465
468
|
},
|
|
466
469
|
watch: {
|
|
467
470
|
agentId: {
|
|
468
|
-
handler: function (
|
|
469
|
-
|
|
471
|
+
handler: function (val1, val2) {
|
|
472
|
+
if (val1 !== val2) {
|
|
473
|
+
this.resetComponent()
|
|
474
|
+
}
|
|
475
|
+
this.getIntersectionInfo(val1)
|
|
470
476
|
},
|
|
471
477
|
// 深度观察监听
|
|
472
478
|
deep: true
|
|
@@ -503,19 +509,29 @@ export default {
|
|
|
503
509
|
this.setHost(this.reqUrl)
|
|
504
510
|
this.PhaseDataModel = new PhaseDataModel(this.roadDirection)
|
|
505
511
|
this.CrossDiagramMgr = new CrossDiagramMgr()
|
|
506
|
-
this.getIntersectionInfo(this.agentId)
|
|
507
512
|
},
|
|
508
513
|
async mounted () {
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
}
|
|
512
|
-
this.setPropsToken(this.Token)
|
|
513
|
-
this.hiddenPartControl()
|
|
514
|
-
// await this.getPhase()
|
|
515
|
-
this.getFault()
|
|
516
|
-
this.initData()
|
|
514
|
+
this.resetcomponent = true
|
|
515
|
+
this.init()
|
|
517
516
|
},
|
|
518
517
|
methods: {
|
|
518
|
+
resetComponent () {
|
|
519
|
+
this.resetcomponent = false
|
|
520
|
+
this.$nextTick(() => {
|
|
521
|
+
this.resetcomponent = true
|
|
522
|
+
this.init()
|
|
523
|
+
})
|
|
524
|
+
},
|
|
525
|
+
init () {
|
|
526
|
+
this.getIntersectionInfo(this.agentId)
|
|
527
|
+
if (this.realtimeStatusModalvisible === false) {
|
|
528
|
+
this.changeStatus()
|
|
529
|
+
}
|
|
530
|
+
this.setPropsToken(this.Token)
|
|
531
|
+
// await this.getPhase()
|
|
532
|
+
this.getFault()
|
|
533
|
+
this.initData()
|
|
534
|
+
},
|
|
519
535
|
setHost (host) {
|
|
520
536
|
// 获取组件外传入的token,便于独立组件调用接口
|
|
521
537
|
if (host && host !== '') {
|
|
@@ -942,12 +958,6 @@ export default {
|
|
|
942
958
|
if (token && token !== '') {
|
|
943
959
|
setToken(token)
|
|
944
960
|
}
|
|
945
|
-
},
|
|
946
|
-
hiddenPartControl () {
|
|
947
|
-
// 保存的面板,不显示方位锁定的功能
|
|
948
|
-
if (this.isShowImplement === false) {
|
|
949
|
-
this.residentControlList = this.residentControlList.filter(item => item.id !== 25)
|
|
950
|
-
}
|
|
951
961
|
}
|
|
952
962
|
},
|
|
953
963
|
destroyed () {
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
:model="manualInfo"
|
|
21
21
|
label-width="90px">
|
|
22
22
|
<el-form-item
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
:label="$t('openatccomponents.overview.duration')"
|
|
24
|
+
prop="count">
|
|
25
|
+
<el-input-number :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.tempDuration" size="small"></el-input-number>
|
|
26
|
+
</el-form-item>
|
|
27
27
|
|
|
28
28
|
<el-form-item
|
|
29
29
|
:label="$t('openatccomponents.overview.yellowflash')"
|
|
@@ -44,13 +44,11 @@
|
|
|
44
44
|
label-position="left"
|
|
45
45
|
:model="manualInfo"
|
|
46
46
|
label-width="90px">
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
</el-form-item>
|
|
53
|
-
|
|
47
|
+
<el-form-item
|
|
48
|
+
:label="$t('openatccomponents.overview.greenclear')"
|
|
49
|
+
prop="intersection">
|
|
50
|
+
<el-input-number :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.tempGreenflash" size="small"></el-input-number>
|
|
51
|
+
</el-form-item>
|
|
54
52
|
<el-form-item
|
|
55
53
|
:label="$t('openatccomponents.overview.allred')"
|
|
56
54
|
prop="intersection">
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
@toAutoControl="toAutoControl" />
|
|
63
63
|
|
|
64
64
|
<AzimuthLocking
|
|
65
|
-
v-if="preselecttype === '方向锁定'
|
|
65
|
+
v-if="preselecttype === '方向锁定'"
|
|
66
66
|
:realtimeStatusModalvisible="realtimeStatusModalvisible"
|
|
67
67
|
:phaseList="phaseList"
|
|
68
68
|
:patternStatus="statusData"
|
|
@@ -160,7 +160,8 @@
|
|
|
160
160
|
<div class="cross-content">
|
|
161
161
|
<div class="cross-name">{{$t('openatccomponents.overview.currentstage')}}:</div>
|
|
162
162
|
<div>
|
|
163
|
-
<Stages
|
|
163
|
+
<Stages v-if="resetcomponent"
|
|
164
|
+
:crossStatusData="crossStatusData"
|
|
164
165
|
:phaseList="phaseList"
|
|
165
166
|
@onSelectStages="onSelectStages"></Stages>
|
|
166
167
|
</div>
|
|
@@ -260,8 +261,27 @@ export default {
|
|
|
260
261
|
}
|
|
261
262
|
|
|
262
263
|
},
|
|
264
|
+
watch: {
|
|
265
|
+
agentId: {
|
|
266
|
+
handler: function (val1, val2) {
|
|
267
|
+
this.$nextTick(() => {
|
|
268
|
+
setTimeout(() => {
|
|
269
|
+
if (val1 !== val2) {
|
|
270
|
+
this.resetcomponent = false
|
|
271
|
+
this.$nextTick(() => {
|
|
272
|
+
this.resetcomponent = true
|
|
273
|
+
})
|
|
274
|
+
}
|
|
275
|
+
}, 100)
|
|
276
|
+
})
|
|
277
|
+
},
|
|
278
|
+
// 深度观察监听
|
|
279
|
+
deep: true
|
|
280
|
+
}
|
|
281
|
+
},
|
|
263
282
|
data () {
|
|
264
283
|
return {
|
|
284
|
+
resetcomponent: true
|
|
265
285
|
}
|
|
266
286
|
},
|
|
267
287
|
methods: {
|
package/src/kisscomps/index.js
CHANGED
|
@@ -32,6 +32,7 @@ import XiaoKanBan from './components/XiaoKanBan/index.vue'
|
|
|
32
32
|
import DirectionListConfiguration from './components/DirectionListConfiguration/index.js'
|
|
33
33
|
import IntersectionDirectionSelection from './components/IntersectionDirectionSelection/index.js'
|
|
34
34
|
import PhaseLegend from './components/PhaseLegend/index.js'
|
|
35
|
+
import OverviewComponent from './components/OverviewComponent/index.js'
|
|
35
36
|
import { setToken, setHost, setIsCheckPermission, setUserRoles, setPermissions } from '../utils/auth.js'
|
|
36
37
|
import componentsGlobalParam from '../store/modules/globalParam'
|
|
37
38
|
|
|
@@ -73,7 +74,8 @@ const components = {
|
|
|
73
74
|
PhaseDirectionSelect,
|
|
74
75
|
DirectionListConfiguration,
|
|
75
76
|
IntersectionDirectionSelection,
|
|
76
|
-
PhaseLegend
|
|
77
|
+
PhaseLegend,
|
|
78
|
+
OverviewComponent
|
|
77
79
|
}
|
|
78
80
|
|
|
79
81
|
const language = {
|
package/src/views/overView.vue
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="test1">
|
|
3
|
-
<overview
|
|
3
|
+
<!-- <overview
|
|
4
4
|
:AgentId="agentId"
|
|
5
5
|
:reqUrl="reqUrl"
|
|
6
6
|
:modeName="modeName"
|
|
7
7
|
:controlName="controlName"
|
|
8
8
|
:isShowState="isShowState"
|
|
9
9
|
:isShowMode="isShowMode"
|
|
10
|
-
:Token="Token"></overview>
|
|
10
|
+
:Token="Token"></overview> -->
|
|
11
|
+
<el-button @click="handleChangeOverview">切换overview组件</el-button>
|
|
12
|
+
<overview-component :AgentId="agentId" />
|
|
11
13
|
</div>
|
|
12
14
|
</template>
|
|
13
15
|
|
|
@@ -19,12 +21,23 @@ export default {
|
|
|
19
21
|
isShowMode: true,
|
|
20
22
|
modeName: '交警遥控',
|
|
21
23
|
controlName: '步进',
|
|
22
|
-
agentId: '
|
|
23
|
-
|
|
24
|
+
agentId: '13013',
|
|
25
|
+
agentid1: 'gjnlahql',
|
|
26
|
+
agentid2: '13013',
|
|
27
|
+
sum: 0,
|
|
28
|
+
Token: 'eyJraWQiOiIxNzI5ODIxNjcyNTQ3IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcyOTgyNTI3MiwiaWF0IjoxNzI5ODE4MDcyfQ._C-0Cf3CQYx3tpGPAF-973Km8ekzJhAm4XwpNKFgSfk',
|
|
24
29
|
reqUrl: 'http://192.168.13.103:10003/openatc'
|
|
25
30
|
}
|
|
26
31
|
},
|
|
27
32
|
methods: {
|
|
33
|
+
handleChangeOverview () {
|
|
34
|
+
if (this.sum % 2 === 0) {
|
|
35
|
+
this.agentId = this.agentid1
|
|
36
|
+
} else {
|
|
37
|
+
this.agentId = this.agentid2
|
|
38
|
+
}
|
|
39
|
+
this.sum++
|
|
40
|
+
}
|
|
28
41
|
},
|
|
29
42
|
watch: {
|
|
30
43
|
},
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
|
|
12
12
|
// 全局滚动条样式
|
|
13
13
|
::-webkit-scrollbar {
|
|
14
|
-
width:
|
|
15
|
-
height:
|
|
14
|
+
width: 6PX;
|
|
15
|
+
height: 6PX;
|
|
16
16
|
}
|
|
17
17
|
::-webkit-scrollbar-thumb {
|
|
18
18
|
// 滚动条的滑块
|
|
19
|
-
border-radius:
|
|
19
|
+
border-radius: 3PX;
|
|
20
20
|
background: rgba(144, 147, 153, 0.3);
|
|
21
21
|
}
|
|
22
22
|
::-webkit-scrollbar-corner{
|
|
@@ -34,7 +34,7 @@ $--button-danger-font-color: #FFFFFF;
|
|
|
34
34
|
$--button-success-font-color: #FFFFFF;
|
|
35
35
|
$--radio-button-checked-font-color: #FFFFFF;
|
|
36
36
|
$--radio-font-color: $--color-text-secondary;
|
|
37
|
-
$--tag-info-color:
|
|
37
|
+
$--tag-info-color: #FFFFFF;
|
|
38
38
|
$--tooltip-color: $--color-white;
|
|
39
39
|
$--checkbox-font-color: $--color-text-secondary;
|
|
40
40
|
|
|
@@ -38,9 +38,6 @@
|
|
|
38
38
|
zoom: 0.9;
|
|
39
39
|
|
|
40
40
|
}
|
|
41
|
-
.centerText .text {
|
|
42
|
-
font-size: 14px;
|
|
43
|
-
}
|
|
44
41
|
}
|
|
45
42
|
/*当屏幕小于等于1440px的屏幕样式*/
|
|
46
43
|
@media only screen and (max-width: 1440px){
|
|
@@ -49,9 +46,6 @@
|
|
|
49
46
|
zoom: 0.8;
|
|
50
47
|
|
|
51
48
|
}
|
|
52
|
-
.centerText .text {
|
|
53
|
-
font-size: 18px;
|
|
54
|
-
}
|
|
55
49
|
}
|
|
56
50
|
/*当屏幕小于等于1280px的屏幕样式*/
|
|
57
51
|
@media only screen and (max-width: 1280px){
|
|
@@ -59,9 +53,6 @@
|
|
|
59
53
|
// transform: scale(0.65);
|
|
60
54
|
zoom: 0.65;
|
|
61
55
|
}
|
|
62
|
-
.centerText .text {
|
|
63
|
-
font-size: 20px;
|
|
64
|
-
}
|
|
65
56
|
}
|
|
66
57
|
/*当屏幕小于等于960px的屏幕样式*/
|
|
67
58
|
@media only screen and (max-width: 960px){
|
|
@@ -69,9 +60,6 @@
|
|
|
69
60
|
// transform: scale(0.5);
|
|
70
61
|
zoom: 0.5;
|
|
71
62
|
}
|
|
72
|
-
.centerText .text {
|
|
73
|
-
font-size: 14px;
|
|
74
|
-
}
|
|
75
63
|
}
|
|
76
64
|
/*当屏幕小于等于720px的屏幕样式*/
|
|
77
65
|
@media only screen and (max-width: 720px){
|
|
@@ -79,9 +67,6 @@
|
|
|
79
67
|
// transform: scale(0.45);
|
|
80
68
|
zoom: 0.45;
|
|
81
69
|
}
|
|
82
|
-
.centerText .text {
|
|
83
|
-
font-size: 14px;
|
|
84
|
-
}
|
|
85
70
|
}
|
|
86
71
|
// 小屏幕打开首页适配样式
|
|
87
72
|
.minifont {
|
|
@@ -188,4 +173,9 @@
|
|
|
188
173
|
color: $--color-text-primary;
|
|
189
174
|
font-size:30PX;
|
|
190
175
|
}
|
|
176
|
+
.centerText {
|
|
177
|
+
.text {
|
|
178
|
+
font-size: 18PX;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
191
181
|
}
|
|
@@ -34,7 +34,7 @@ $--card-background-selected: #c1e0ff;
|
|
|
34
34
|
// $--button-success-font-color: #FFFFFF;
|
|
35
35
|
// $--radio-button-checked-font-color: #FFFFFF;
|
|
36
36
|
// $--radio-font-color: $--color-text-secondary;
|
|
37
|
-
|
|
37
|
+
$--tag-info-color: #303133;
|
|
38
38
|
// $--tooltip-color: $--color-white;
|
|
39
39
|
// $--checkbox-font-color: $--color-text-secondary;
|
|
40
40
|
|
|
@@ -226,7 +226,7 @@
|
|
|
226
226
|
overflow-y: auto;
|
|
227
227
|
}
|
|
228
228
|
.manual-common-content::-webkit-scrollbar {
|
|
229
|
-
width:
|
|
229
|
+
width: 6PX;
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
// 手动控制弹框
|
|
@@ -498,12 +498,12 @@
|
|
|
498
498
|
width: 85% !important;
|
|
499
499
|
}
|
|
500
500
|
.el-input.is-disabled .el-input__inner {
|
|
501
|
-
text-align:
|
|
501
|
+
text-align: left;
|
|
502
502
|
}
|
|
503
503
|
.el-input-number {
|
|
504
504
|
width: 100%;
|
|
505
505
|
.el-input__inner {
|
|
506
|
-
text-align:
|
|
506
|
+
text-align: left;
|
|
507
507
|
}
|
|
508
508
|
}
|
|
509
509
|
.el-select {
|
|
@@ -540,6 +540,9 @@
|
|
|
540
540
|
}
|
|
541
541
|
.el-input-number {
|
|
542
542
|
width: 100%;
|
|
543
|
+
.el-input__inner {
|
|
544
|
+
text-align: left;
|
|
545
|
+
}
|
|
543
546
|
}
|
|
544
547
|
.el-input-number--mini{
|
|
545
548
|
width: 100%;
|