openatc-components 0.3.110 → 0.3.112
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 +4 -11
- package/package/kisscomps/components/Channelization/Channelization.vue +1 -1
- package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +1 -1
- package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +145 -46
- package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +4 -4
- package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +1 -1
- package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +1 -1
- package/package/kisscomps/components/OptimizeKanban/index.js +2 -0
- package/package/kisscomps/components/OptimizeKanban/index.vue +369 -0
- package/package/kisscomps/components/OverviewComponent/index.vue +17 -11
- package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +2 -11
- package/package/kisscomps/components/PatternStatus/PatternStatus.vue +89 -84
- package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +5 -34
- package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +11 -9
- package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +4 -6
- package/package/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +0 -32
- package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +12 -19
- package/package/kisscomps/components/overView/index.vue +24 -1
- package/package/kisscomps/components/patternList/patternList.vue +4 -11
- package/package/kissui.min.js +1 -1
- package/package.json +1 -1
- package/src/i18n/language/en.js +3 -6
- package/src/i18n/language/zh.js +3 -6
- package/src/kisscomps/components/BoardCard/BoardCard.vue +4 -11
- package/src/kisscomps/components/Channelization/Channelization.vue +1 -1
- package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +1 -1
- package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +145 -46
- package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +4 -4
- package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +1 -1
- package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +1 -1
- package/src/kisscomps/components/OverviewComponent/index.vue +17 -11
- package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +2 -11
- package/src/kisscomps/components/PatternStatus/PatternStatus.vue +89 -84
- package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +5 -34
- package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +11 -9
- package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +4 -6
- package/src/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +0 -32
- package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +12 -19
- package/src/kisscomps/components/overView/index.vue +24 -1
- package/src/kisscomps/components/patternList/patternList.vue +4 -11
- package/src/node_modules/.package_versions.json +1 -0
- package/src/utils/ControlFormat.js +1 -1
- package/src/views/intersection.vue +6 -7
- package/src/views/intersection2.vue +4 -4
- package/src/views/overView.vue +5 -27
- package/static/apiconfig.json +0 -10
- package/static/styles/common.scss +3 -3
- package/static/styles/dark/theme/element-dark.scss +1 -1
- package/static/styles/intersection.scss +15 -5
- package/static/styles/light/theme/element-light.scss +1 -1
- package/static/styles/schemeconfig.scss +3 -6
- package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +0 -95
- package/src/api/permission.js +0 -33
- package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +0 -95
|
@@ -12,15 +12,13 @@
|
|
|
12
12
|
<template>
|
|
13
13
|
<div class="manual-control-modal-new">
|
|
14
14
|
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
|
|
15
|
-
<el-tab-pane :label="$t('openatccomponents.overview.residentcontrol')" name="residentcontrol"
|
|
16
|
-
v-if="(funcSort === 'allFunc' || (funcSort === 'thirdPartyFunc'&& thirdPartyControlMenu.indexOf('residentcontrol') !== -1))">
|
|
15
|
+
<el-tab-pane :label="$t('openatccomponents.overview.residentcontrol')" name="residentcontrol">
|
|
17
16
|
<ControlModelGroup
|
|
18
17
|
v-if="activeName === 'residentcontrol'"
|
|
19
18
|
ref="ControlModelGroup"
|
|
20
19
|
className="residentcontrol"
|
|
21
20
|
:controlList="residentControlList"
|
|
22
21
|
:funcSort="funcSort"
|
|
23
|
-
:thirdPartyControl="thirdPartyControl"
|
|
24
22
|
@selectModel="selectModel"
|
|
25
23
|
/>
|
|
26
24
|
|
|
@@ -82,15 +80,13 @@
|
|
|
82
80
|
<el-button v-if="!isShowImplement" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
|
|
83
81
|
</div>
|
|
84
82
|
</el-tab-pane>
|
|
85
|
-
<el-tab-pane :label="$t('openatccomponents.overview.specialcontrol')" name="specialcontrol"
|
|
86
|
-
v-if="(funcSort === 'allFunc' || (funcSort === 'thirdPartyFunc'&& thirdPartyControlMenu.indexOf('specialcontrol') !== -1))">
|
|
83
|
+
<el-tab-pane :label="$t('openatccomponents.overview.specialcontrol')" name="specialcontrol">
|
|
87
84
|
<ControlModelGroup
|
|
88
85
|
v-if="activeName === 'specialcontrol'"
|
|
89
86
|
ref="ControlModelGroup"
|
|
90
87
|
className="specialcontrol"
|
|
91
88
|
:controlList="specialControlList"
|
|
92
89
|
:funcSort="funcSort"
|
|
93
|
-
:thirdPartyControl="thirdPartyControl"
|
|
94
90
|
@selectModel="selectModel"
|
|
95
91
|
/>
|
|
96
92
|
|
|
@@ -116,15 +112,13 @@
|
|
|
116
112
|
</div>
|
|
117
113
|
|
|
118
114
|
</el-tab-pane>
|
|
119
|
-
<el-tab-pane :label="$t('openatccomponents.overview.schemeselection')" name="schemeselection"
|
|
120
|
-
v-if="(funcSort === 'allFunc' || (funcSort === 'thirdPartyFunc'&& thirdPartyControlMenu.indexOf('schemeselection') !== -1))">
|
|
115
|
+
<el-tab-pane :label="$t('openatccomponents.overview.schemeselection')" name="schemeselection">
|
|
121
116
|
<ControlModelGroup
|
|
122
117
|
v-if="activeName === 'schemeselection'"
|
|
123
118
|
ref="ControlModelGroup"
|
|
124
119
|
className="otherscontrol"
|
|
125
120
|
:controlList="patternChooseControlList"
|
|
126
121
|
:funcSort="funcSort"
|
|
127
|
-
:thirdPartyControl="thirdPartyControl"
|
|
128
122
|
@selectModel="selectModel"
|
|
129
123
|
@selectSpecialModel="selectSpecialModel" />
|
|
130
124
|
|
|
@@ -183,16 +177,14 @@
|
|
|
183
177
|
<el-button v-if="!isShowImplement" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
|
|
184
178
|
</div>
|
|
185
179
|
</el-tab-pane>
|
|
186
|
-
<el-tab-pane :label="$t('openatccomponents.overview.others')" name="others"
|
|
187
|
-
v-if="(funcSort === 'allFunc' || (funcSort === 'thirdPartyFunc'&& thirdPartyControlMenu.indexOf('others') !== -1))">
|
|
180
|
+
<el-tab-pane :label="$t('openatccomponents.overview.others')" name="others">
|
|
188
181
|
<ControlModelGroup
|
|
189
|
-
v-if="activeName === 'others'"
|
|
182
|
+
v-if="activeName === 'others' && funcSort === 'allFunc'"
|
|
190
183
|
ref="ControlModelGroup"
|
|
191
184
|
className="otherscontrol"
|
|
192
185
|
othersControl
|
|
193
186
|
:controlList="othersControlList"
|
|
194
187
|
:funcSort="funcSort"
|
|
195
|
-
:thirdPartyControl="thirdPartyControl"
|
|
196
188
|
@selectModel="selectModel"
|
|
197
189
|
@selectSpecialModel="selectSpecialModel"
|
|
198
190
|
/>
|
|
@@ -356,15 +348,15 @@ export default {
|
|
|
356
348
|
isShowImplement: {
|
|
357
349
|
type: Boolean,
|
|
358
350
|
default: true
|
|
359
|
-
},
|
|
360
|
-
thirdPartyControlMenu: {
|
|
361
|
-
type: Array
|
|
362
|
-
},
|
|
363
|
-
thirdPartyControl: {
|
|
364
|
-
type: Array
|
|
365
351
|
}
|
|
366
352
|
},
|
|
367
353
|
watch: {
|
|
354
|
+
activeName: {
|
|
355
|
+
handler: function (val) {
|
|
356
|
+
},
|
|
357
|
+
// 深度观察监听
|
|
358
|
+
deep: true
|
|
359
|
+
},
|
|
368
360
|
patternSelect: {
|
|
369
361
|
handler: function (val) {
|
|
370
362
|
this.manualInfo.tempPatternid = this.crossStatusData.patternid
|
|
@@ -383,6 +375,7 @@ export default {
|
|
|
383
375
|
},
|
|
384
376
|
data () {
|
|
385
377
|
return {
|
|
378
|
+
basicFuncControlId: [0, 1, 4, 5], // 基础功能包含的控制方式: 自主控制(手动下)、黄闪、步进、定周期
|
|
386
379
|
visible: this.Visible,
|
|
387
380
|
manuals: false,
|
|
388
381
|
realtimeStage: {},
|
|
@@ -74,6 +74,7 @@
|
|
|
74
74
|
:agentId="agentId"
|
|
75
75
|
:ip="ip"
|
|
76
76
|
:platform="platform"
|
|
77
|
+
:funcSort="FuncSort"
|
|
77
78
|
:roadDirection="roadDirection" />
|
|
78
79
|
</div>
|
|
79
80
|
</div>
|
|
@@ -139,6 +140,7 @@ export default {
|
|
|
139
140
|
stateName: this.$t('openatccomponents.overview.offline'),
|
|
140
141
|
curBodyWidth: 1920,
|
|
141
142
|
graphicMode: false,
|
|
143
|
+
FuncSort: 'allFunc',
|
|
142
144
|
controlData: {},
|
|
143
145
|
checked: false,
|
|
144
146
|
overlap: [],
|
|
@@ -153,7 +155,7 @@ export default {
|
|
|
153
155
|
volumeControlTimer: null, // 流量定时器
|
|
154
156
|
ParamsMode: new Map([[0, '自主控制'], [1, '本地手动'], [2, '平台控制'], [3, '配置软件控制'], [4, '遥控器控制'], [5, '黄闪器控制'], [6, '降级控制'], [7, '脚本控制'], [8, '算法控制']]),
|
|
155
157
|
ParamsModeEn: new Map([[0, 'Autonomous Control'], [1, 'Local Manual'], [2, 'Platform Control'], [3, 'Configuration Software Control'], [4, 'Remote Control'], [5, 'Yellow Flasher Control'], [6, 'Degradation Control'], [7, 'Script Control'], [8, 'Algorithm Control']]),
|
|
156
|
-
ParamsControl: new Map([[0, '多时段'], [1, '黄闪'], [2, '全红'], [3, '关灯'], [4, '步进'], [5, '定周期控制'], [6, '单点感应控制'], [7, '协调感应控制'], [8, '方案选择控制'], [9, '自适应控制'], [10, '无电缆控制'], [11, '有电缆控制'], [12, '行人过街控制'], [13, '方案恢复过渡'], [14, '相位驻留'], [15, '通道检测'], [16, '方向锁定'], [17, '韦伯斯特单点控制'], [18, '
|
|
158
|
+
ParamsControl: new Map([[0, '多时段'], [1, '黄闪'], [2, '全红'], [3, '关灯'], [4, '步进'], [5, '定周期控制'], [6, '单点感应控制'], [7, '协调感应控制'], [8, '方案选择控制'], [9, '自适应控制'], [10, '无电缆控制'], [11, '有电缆控制'], [12, '行人过街控制'], [13, '方案恢复过渡'], [14, '相位驻留'], [15, '通道检测'], [16, '方向锁定'], [17, '韦伯斯特单点控制'], [18, '预留18'], [19, '感应式行人过街'], [20, '方案干预'], [100, '方案干预'], [21, '预留21'], [22, '相位锁定'], [23, '相位放行控制'], [24, '紧急控制'], [99, '设备维护']]),
|
|
157
159
|
ParamsControlEn: new Map([[0, 'Multi Period'], [1, 'Yellow Flash Control'], [2, 'Red Control'], [3, 'Dark Control'], [4, 'Step'], [5, 'Fixed_Cycle Control'], [6, 'Free Control'], [7, 'Coordinated Induction Control'], [8, 'Pattern Selection Control'], [9, 'Adaptive Control'], [10, 'Wireless Control'], [11, 'Cable Control'], [12, 'Pedestrian Crossing Control'], [13, 'Pattern recovery'], [14, 'Phase dwell'], [15, 'Channel Detection'], [16, 'Direction lock'], [17, 'Webster Single Point Coordination'], [18, 'Reserving18'], [19, 'Inductive Pedestrian Crossing Control'], [20, 'Program Intervention'], [100, 'Program Intervention'], [21, 'Reserving21'], [22, 'Priority Control'], [23, 'Close Phase'], [24, 'Emergency Control'], [99, 'Device Mantenance']]),
|
|
158
160
|
phaseType: new Map([[1, '红'], [2, '黄'], [3, '绿']]), // phaseType表示红,黄,绿
|
|
159
161
|
phaseTypeEn: new Map([[1, 'Red'], [2, 'Yellow'], [3, 'Green']]), // phaseType表示红,黄,绿
|
|
@@ -182,6 +184,7 @@ export default {
|
|
|
182
184
|
...mapState({
|
|
183
185
|
// curBodyWidth: state => state.globalParam.curBodyWidth,
|
|
184
186
|
curBodyHeight: state => state.globalParam.curBodyHeight,
|
|
187
|
+
// FuncSort: state => state.globalParam.FuncSort,
|
|
185
188
|
hideMenu: state => state.globalParam.hideMenu
|
|
186
189
|
// graphicMode: state => state.globalParam.graphicMode
|
|
187
190
|
// isShowGui: state => state.globalParam.isShowGui,
|
|
@@ -610,6 +613,12 @@ export default {
|
|
|
610
613
|
this.agentName = res.data.data.name
|
|
611
614
|
}
|
|
612
615
|
this.platform = res.data.data.platform
|
|
616
|
+
if (this.platform === 'OpenATC') {
|
|
617
|
+
this.FuncSort = 'allFunc'
|
|
618
|
+
}
|
|
619
|
+
if (this.platform === 'SCATS' || this.platform === 'HUATONG') {
|
|
620
|
+
this.FuncSort = 'basicFunc'
|
|
621
|
+
}
|
|
613
622
|
this.$refs.intersectionMap.resetCrossDiagram()
|
|
614
623
|
this.registerMessage() // 注册消息
|
|
615
624
|
this.initData()
|
|
@@ -654,6 +663,20 @@ export default {
|
|
|
654
663
|
} else {
|
|
655
664
|
this.stateName = this.$t('openatccomponents.overview.offline')
|
|
656
665
|
}
|
|
666
|
+
// let func = 'allFunc'
|
|
667
|
+
// if (this.platform === 'OpenATC') {
|
|
668
|
+
// func = 'allFunc'
|
|
669
|
+
// }
|
|
670
|
+
// if (this.platform === 'SCATS' || this.platform === 'HUATONG') {
|
|
671
|
+
// func = 'basicFunc'
|
|
672
|
+
// }
|
|
673
|
+
// this.$store.dispatch('SaveFunctionLevel', func)
|
|
674
|
+
if (this.platform === 'OpenATC') {
|
|
675
|
+
this.FuncSort = 'allFunc'
|
|
676
|
+
}
|
|
677
|
+
if (this.platform === 'SCATS' || this.platform === 'HUATONG') {
|
|
678
|
+
this.FuncSort = 'basicFunc'
|
|
679
|
+
}
|
|
657
680
|
})
|
|
658
681
|
},
|
|
659
682
|
isJsonString (str) {
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
<BoardCard
|
|
4
4
|
:patternId="patternId"
|
|
5
5
|
:contrloType="contrloType"
|
|
6
|
+
:patternType="patternType"
|
|
6
7
|
:stagesChange="stagesChange"
|
|
7
8
|
:isShowTip="isShowTip"
|
|
8
|
-
:isMove="isMove"
|
|
9
9
|
:patternStatusList="patternStatusList"
|
|
10
10
|
:cycles="cycles"
|
|
11
11
|
:cycle="cycle"
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
:agentId="agentId"
|
|
21
21
|
:controlData="controlData"
|
|
22
22
|
:syncTime="syncTime"
|
|
23
|
-
@handleSplitMove="handleSplitMove"
|
|
24
23
|
:isPhase="isPhase"
|
|
25
24
|
>
|
|
26
25
|
</BoardCard>
|
|
@@ -504,10 +503,6 @@ export default {
|
|
|
504
503
|
type: Boolean,
|
|
505
504
|
default: true
|
|
506
505
|
},
|
|
507
|
-
isMove: {
|
|
508
|
-
type: Boolean,
|
|
509
|
-
default: true
|
|
510
|
-
},
|
|
511
506
|
contrloType: {
|
|
512
507
|
type: String
|
|
513
508
|
},
|
|
@@ -547,6 +542,9 @@ export default {
|
|
|
547
542
|
patternStatusList: {
|
|
548
543
|
type: Array
|
|
549
544
|
},
|
|
545
|
+
patternType: {
|
|
546
|
+
type: String
|
|
547
|
+
},
|
|
550
548
|
patternId: {
|
|
551
549
|
type: Number
|
|
552
550
|
},
|
|
@@ -587,11 +585,6 @@ export default {
|
|
|
587
585
|
// if (this.$route.query !== undefined && Object.keys(this.$route.query).length) {
|
|
588
586
|
// this.resetCrossDiagram()
|
|
589
587
|
// }
|
|
590
|
-
},
|
|
591
|
-
methods: {
|
|
592
|
-
handleSplitMove (data) {
|
|
593
|
-
this.$emit('handleSplitMove', data)
|
|
594
|
-
}
|
|
595
588
|
}
|
|
596
589
|
}
|
|
597
590
|
</script>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -14,7 +14,7 @@ export default class ControlFormat {
|
|
|
14
14
|
constructor (crossStatusData, phaseList) {
|
|
15
15
|
this.ParamsMode = new Map([[0, '自主控制'], [1, '本地手动'], [2, '平台控制'], [3, '配置软件控制'], [4, '遥控器控制'], [5, '黄闪器控制'], [6, '降级控制'], [7, '脚本控制'], [8, '算法控制']])
|
|
16
16
|
this.ParamsModeEn = new Map([[0, 'Autonomous Control'], [1, 'Local Manual'], [2, 'Platform Control'], [3, 'Configuration Software Control'], [4, 'Remote Control'], [5, 'Yellow Flasher Control'], [6, 'Degradation Control'], [7, 'Script Control'], [8, 'Algorithm Control']])
|
|
17
|
-
this.ParamsControl = new Map([[0, '多时段'], [1, '黄闪'], [2, '全红'], [3, '关灯'], [4, '步进'], [5, '定周期控制'], [6, '单点感应控制'], [7, '协调感应控制'], [8, '方案选择控制'], [9, '自适应控制'], [10, '无电缆控制'], [11, '有电缆控制'], [12, '行人过街控制'], [13, '方案恢复过渡'], [14, '相位驻留'], [15, '通道检测'], [16, '方向锁定'], [17, '韦伯斯特单点控制'], [18, '
|
|
17
|
+
this.ParamsControl = new Map([[0, '多时段'], [1, '黄闪'], [2, '全红'], [3, '关灯'], [4, '步进'], [5, '定周期控制'], [6, '单点感应控制'], [7, '协调感应控制'], [8, '方案选择控制'], [9, '自适应控制'], [10, '无电缆控制'], [11, '有电缆控制'], [12, '行人过街控制'], [13, '方案恢复过渡'], [14, '相位驻留'], [15, '通道检测'], [16, '方向锁定'], [17, '韦伯斯特单点控制'], [18, '预留18'], [19, '感应式行人过街'], [20, '方案干预'], [100, '方案干预'], [21, '预留21'], [22, '相位锁定'], [23, '相位放行控制'], [24, '紧急控制'], [99, '设备维护']])
|
|
18
18
|
this.ParamsControlEn = new Map([[0, 'Multi Period'], [1, 'Yellow Flash Control'], [2, 'Red Control'], [3, 'Dark Control'], [4, 'Step'], [5, 'Fixed_Cycle Control'], [6, 'Free Control'], [7, 'Coordinated Induction Control'], [8, 'Pattern Selection Control'], [9, 'Adaptive Control'], [10, 'Wireless Control'], [11, 'Cable Control'], [12, 'Pedestrian Crossing Control'], [13, 'Pattern recovery'], [14, 'Phase dwell'], [15, 'Channel Detection'], [16, 'Direction lock'], [17, 'Webster Single Point Coordination'], [18, 'Reserving18'], [19, 'Inductive Pedestrian Crossing Control'], [20, 'Program Intervention'], [100, 'Program Intervention'], [21, 'Reserving21'], [22, 'Priority Control'], [23, 'Close Phase'], [24, 'Emergency Control'], [99, 'Device Mantenance']])
|
|
19
19
|
this.phaseType = new Map([[1, '红'], [2, '黄'], [3, '绿']]) // phaseType表示红,黄,绿
|
|
20
20
|
this.phaseTypeEn = new Map([[1, 'Red'], [2, 'Yellow'], [3, 'Green']]) // phaseType表示红,黄,绿
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<intersection-with-interface :AgentId="agentId" />
|
|
4
3
|
<h2 class="text">实时通道路口图</h2>
|
|
5
|
-
|
|
4
|
+
<channel-realtime-intersection
|
|
6
5
|
:agentId="this.agentId"
|
|
7
6
|
:roadDirection="roadDirection"
|
|
8
7
|
:channelRealtimeStatusData="channelRealtimeStatusData"
|
|
9
|
-
/>
|
|
8
|
+
/>
|
|
10
9
|
|
|
11
10
|
<!-- 按通道获取相位的方向选择列表,特殊路口显示列表,普通路口显示模版路口图 -->
|
|
12
11
|
<h2 class="text">非第三方配置路口图(按通道显示相位方向)</h2>
|
|
13
|
-
|
|
12
|
+
<intersection-direction-selection
|
|
14
13
|
:agentId="this.agentId"
|
|
15
14
|
:choosedDirection="[14,6,13,8]"
|
|
16
15
|
:choosedPedDirection="[1]"
|
|
@@ -26,7 +25,7 @@
|
|
|
26
25
|
:choosedPedDirection="[1,2]"
|
|
27
26
|
:roadDirection="roadDirection"
|
|
28
27
|
@handleClickCrossIcon="handleClickCrossIcon" />
|
|
29
|
-
</div>
|
|
28
|
+
</div>
|
|
30
29
|
|
|
31
30
|
<!-- 显示按通道获取相位的模版路口图 -->
|
|
32
31
|
<h2 class="text">显示配置的相位路口图</h2>
|
|
@@ -162,12 +161,12 @@ export default {
|
|
|
162
161
|
return {
|
|
163
162
|
roadDirection: 'right',
|
|
164
163
|
// reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
165
|
-
agentId: '
|
|
164
|
+
agentId: 'tjblfql',
|
|
166
165
|
// agentId: '13013',
|
|
167
166
|
// agentId: '12007_390',
|
|
168
167
|
// agentId: '12014',
|
|
169
168
|
reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
170
|
-
Token: '
|
|
169
|
+
Token: 'eyJraWQiOiIxNzIxOTc3OTkzMTY4IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcyMTk4MTU5MywiaWF0IjoxNzIxOTc0MzkzfQ.vjgAFMJlM4FEHxT9K9lJQ_VsUx1fDubr4tYgMaVffS0',
|
|
171
170
|
// agentId: '30003-352',
|
|
172
171
|
// reqUrl: 'https://kints-dev.devdolphin.com/openatc',
|
|
173
172
|
// Token: 'eyJraWQiOiIxNjUwNTA5MDI2ODk2IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJ4aWFvbWluZyIsImV4cCI6MTczNjkwOTAyNiwiaWF0IjoxNjUwNTA5MDI2fQ.-s4T-uMRmB2zf9yer87USKQXLY1a12Zq5lCOnqjNmfA',
|
|
@@ -102,12 +102,12 @@ export default {
|
|
|
102
102
|
return {
|
|
103
103
|
roadDirection: 'left',
|
|
104
104
|
// reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
105
|
-
|
|
105
|
+
agentId: 'cllzpl',
|
|
106
106
|
// agentId: '13013',
|
|
107
|
-
agentId: '12007_390',
|
|
107
|
+
// agentId: '12007_390',
|
|
108
108
|
// agentId: '12014',
|
|
109
109
|
reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
110
|
-
Token: '
|
|
110
|
+
Token: 'eyJraWQiOiIxNzEwNzU4MTU3Njk0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiIxMjM0NTYiLCJleHAiOjE3MTM4ODgwMDAsImlhdCI6MTcxMDY5MTIwMH0.vicLABPjoZEWmHr12-5FXMbjYmEKv-WSTVRROR1eOME',
|
|
111
111
|
// agentId: '30003-352',
|
|
112
112
|
// reqUrl: 'https://kints-dev.devdolphin.com/openatc',
|
|
113
113
|
// Token: 'eyJraWQiOiIxNjUwNTA5MDI2ODk2IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJ4aWFvbWluZyIsImV4cCI6MTczNjkwOTAyNiwiaWF0IjoxNjUwNTA5MDI2fQ.-s4T-uMRmB2zf9yer87USKQXLY1a12Zq5lCOnqjNmfA',
|
|
@@ -117,7 +117,7 @@ export default {
|
|
|
117
117
|
controlName: '步进',
|
|
118
118
|
isShowState: true,
|
|
119
119
|
isShowMode: true,
|
|
120
|
-
isShowMessage:
|
|
120
|
+
isShowMessage: true,
|
|
121
121
|
isShowPatternStatus: false,
|
|
122
122
|
isShowIntersection: true,
|
|
123
123
|
isShowInterval: true,
|
package/src/views/overView.vue
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="test1">
|
|
3
|
-
|
|
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>
|
|
11
|
-
<el-button @click="handleChangeOverview">切换overview组件</el-button>
|
|
12
|
-
<overview-component
|
|
13
|
-
:AgentId="agentId2"
|
|
14
|
-
:isShowInterval="isShowInterval"
|
|
15
|
-
:isShowMessage ="isShowMessage"/>
|
|
10
|
+
:Token="Token"></overview>
|
|
16
11
|
</div>
|
|
17
12
|
</template>
|
|
18
13
|
|
|
@@ -24,29 +19,12 @@ export default {
|
|
|
24
19
|
isShowMode: true,
|
|
25
20
|
modeName: '交警遥控',
|
|
26
21
|
controlName: '步进',
|
|
27
|
-
agentId: '
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
isShowMessage: false,
|
|
31
|
-
isShowInterval: true,
|
|
32
|
-
sum: 0,
|
|
33
|
-
Token: 'eyJraWQiOiIxNzMzODg3MDYyMjgwIiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTczMzg5MDY2MiwiaWF0IjoxNzMzODgzNDYyfQ.qUJZ4lKv0WU3s3lWfYwl5ZM77n2rriYeFQ8qOwRFuzk',
|
|
34
|
-
reqUrl: 'http://192.168.13.103:10003/openatc',
|
|
35
|
-
isOnlyMap: true
|
|
22
|
+
agentId: 'jmlxhl',
|
|
23
|
+
Token: 'eyJraWQiOiIxNzA4OTA5NDk2ODcxIiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTcwODk1MjY5NiwiaWF0IjoxNzA4OTA5NDk2fQ.FI0gzBQFLyQsj95LG56lVZxb6WYlr2-datNsyv6fF-I',
|
|
24
|
+
reqUrl: 'http://192.168.13.103:10003/openatc'
|
|
36
25
|
}
|
|
37
26
|
},
|
|
38
27
|
methods: {
|
|
39
|
-
handleChangeOverview () {
|
|
40
|
-
if (this.sum % 2 === 0) {
|
|
41
|
-
this.agentId = this.agentid1
|
|
42
|
-
} else {
|
|
43
|
-
this.agentId = this.agentid2
|
|
44
|
-
}
|
|
45
|
-
this.sum++
|
|
46
|
-
},
|
|
47
|
-
reverseOverviewBtMap () {
|
|
48
|
-
this.isOnlyMap = !this.isOnlyMap
|
|
49
|
-
}
|
|
50
28
|
},
|
|
51
29
|
watch: {
|
|
52
30
|
},
|
package/static/apiconfig.json
CHANGED
|
@@ -447,15 +447,5 @@
|
|
|
447
447
|
"key": "getDetectorStatus",
|
|
448
448
|
"url": "/devs/detectorstatus",
|
|
449
449
|
"method": "get"
|
|
450
|
-
},
|
|
451
|
-
{
|
|
452
|
-
"key": "getRoleByName",
|
|
453
|
-
"url": "/auth/role/rolename",
|
|
454
|
-
"method": "get"
|
|
455
|
-
},
|
|
456
|
-
{
|
|
457
|
-
"key": "getPermission",
|
|
458
|
-
"url": "/auth/role/",
|
|
459
|
-
"method": "get"
|
|
460
450
|
}
|
|
461
451
|
]
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
|
|
12
12
|
// 全局滚动条样式
|
|
13
13
|
::-webkit-scrollbar {
|
|
14
|
-
width:
|
|
15
|
-
height:
|
|
14
|
+
width: 12PX;
|
|
15
|
+
height: 12PX;
|
|
16
16
|
}
|
|
17
17
|
::-webkit-scrollbar-thumb {
|
|
18
18
|
// 滚动条的滑块
|
|
19
|
-
border-radius:
|
|
19
|
+
border-radius: 4px;
|
|
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: $--color-text-placeholder;
|
|
38
38
|
$--tooltip-color: $--color-white;
|
|
39
39
|
$--checkbox-font-color: $--color-text-secondary;
|
|
40
40
|
|
|
@@ -38,6 +38,9 @@
|
|
|
38
38
|
zoom: 0.9;
|
|
39
39
|
|
|
40
40
|
}
|
|
41
|
+
.centerText .text {
|
|
42
|
+
font-size: 14px;
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
45
|
/*当屏幕小于等于1440px的屏幕样式*/
|
|
43
46
|
@media only screen and (max-width: 1440px){
|
|
@@ -46,6 +49,9 @@
|
|
|
46
49
|
zoom: 0.8;
|
|
47
50
|
|
|
48
51
|
}
|
|
52
|
+
.centerText .text {
|
|
53
|
+
font-size: 18px;
|
|
54
|
+
}
|
|
49
55
|
}
|
|
50
56
|
/*当屏幕小于等于1280px的屏幕样式*/
|
|
51
57
|
@media only screen and (max-width: 1280px){
|
|
@@ -53,6 +59,9 @@
|
|
|
53
59
|
// transform: scale(0.65);
|
|
54
60
|
zoom: 0.65;
|
|
55
61
|
}
|
|
62
|
+
.centerText .text {
|
|
63
|
+
font-size: 20px;
|
|
64
|
+
}
|
|
56
65
|
}
|
|
57
66
|
/*当屏幕小于等于960px的屏幕样式*/
|
|
58
67
|
@media only screen and (max-width: 960px){
|
|
@@ -60,6 +69,9 @@
|
|
|
60
69
|
// transform: scale(0.5);
|
|
61
70
|
zoom: 0.5;
|
|
62
71
|
}
|
|
72
|
+
.centerText .text {
|
|
73
|
+
font-size: 14px;
|
|
74
|
+
}
|
|
63
75
|
}
|
|
64
76
|
/*当屏幕小于等于720px的屏幕样式*/
|
|
65
77
|
@media only screen and (max-width: 720px){
|
|
@@ -67,6 +79,9 @@
|
|
|
67
79
|
// transform: scale(0.45);
|
|
68
80
|
zoom: 0.45;
|
|
69
81
|
}
|
|
82
|
+
.centerText .text {
|
|
83
|
+
font-size: 14px;
|
|
84
|
+
}
|
|
70
85
|
}
|
|
71
86
|
// 小屏幕打开首页适配样式
|
|
72
87
|
.minifont {
|
|
@@ -173,9 +188,4 @@
|
|
|
173
188
|
color: $--color-text-primary;
|
|
174
189
|
font-size:30PX;
|
|
175
190
|
}
|
|
176
|
-
.centerText {
|
|
177
|
-
.text {
|
|
178
|
-
font-size: 18PX;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
191
|
}
|
|
@@ -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
|
-
$--tag-info-color:
|
|
37
|
+
// $--tag-info-color: $--color-text-placeholder;
|
|
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: 8PX;
|
|
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: center;
|
|
502
502
|
}
|
|
503
503
|
.el-input-number {
|
|
504
504
|
width: 100%;
|
|
505
505
|
.el-input__inner {
|
|
506
|
-
text-align:
|
|
506
|
+
text-align: center;
|
|
507
507
|
}
|
|
508
508
|
}
|
|
509
509
|
.el-select {
|
|
@@ -540,9 +540,6 @@
|
|
|
540
540
|
}
|
|
541
541
|
.el-input-number {
|
|
542
542
|
width: 100%;
|
|
543
|
-
.el-input__inner {
|
|
544
|
-
text-align: left;
|
|
545
|
-
}
|
|
546
543
|
}
|
|
547
544
|
.el-input-number--mini{
|
|
548
545
|
width: 100%;
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
// const permissionMenuMap = new Map([[
|
|
2
|
-
// 'configer:manual:dwell', ['驻留控制']
|
|
3
|
-
// ], [
|
|
4
|
-
// 'configer:manual:senior', ['特殊控制']
|
|
5
|
-
// ], [
|
|
6
|
-
// 'configer:manual:base', ['方案选择']
|
|
7
|
-
// ], [
|
|
8
|
-
// 'configer:manual:optimize', ['其他']
|
|
9
|
-
// ]])
|
|
10
|
-
const permissionControlMap = new Map([[
|
|
11
|
-
'configer:manual:dwell', [4, 22, 25]
|
|
12
|
-
], [
|
|
13
|
-
'configer:manual:senior', [1, 2, 3]
|
|
14
|
-
], [
|
|
15
|
-
'configer:manual:base', [5, 6, 9, 10, 12, 19]
|
|
16
|
-
], [
|
|
17
|
-
'configer:manual:optimize', [23, 100, 24]
|
|
18
|
-
], [
|
|
19
|
-
'configer:manual:dwell:step', [4]
|
|
20
|
-
], [
|
|
21
|
-
'configer:manual:dwell:stage', [4]
|
|
22
|
-
], [
|
|
23
|
-
'configer:manual:dwell:phaselock', [22]
|
|
24
|
-
], [
|
|
25
|
-
'configer:manual:dwell:directionlock', [25]
|
|
26
|
-
], [
|
|
27
|
-
'configer:manual:senior:yellowfalsh', [1]
|
|
28
|
-
], [
|
|
29
|
-
'configer:manual:senior:allred', [2]
|
|
30
|
-
], [
|
|
31
|
-
'configer:manual:senior:close', [3]
|
|
32
|
-
], [
|
|
33
|
-
'configer:manual:base:fix', [5]
|
|
34
|
-
], [
|
|
35
|
-
'configer:manual:base:free', [6]
|
|
36
|
-
], [
|
|
37
|
-
'configer:manual:base:adapter', [9]
|
|
38
|
-
], [
|
|
39
|
-
'configer:manual:base:coordinate', [10]
|
|
40
|
-
], [
|
|
41
|
-
'configer:manual:base:ped', [12]
|
|
42
|
-
], [
|
|
43
|
-
'configer:manual:base:pedfree', [19]
|
|
44
|
-
], [
|
|
45
|
-
'configer:manual:optimize:procedure', [23]
|
|
46
|
-
], [
|
|
47
|
-
'configer:manual:optimize:temp', [100]
|
|
48
|
-
], [
|
|
49
|
-
'configer:manual:optimize:preempt', [24]
|
|
50
|
-
]])
|
|
51
|
-
|
|
52
|
-
export function getPermissionMenu (thirdPartyControl) {
|
|
53
|
-
// 按第三方平台角色的权限处理可显示的手动控制菜单
|
|
54
|
-
// let thirdPartyControlMenu = []
|
|
55
|
-
// for (let i = 0; i < permissionList.length; i++) {
|
|
56
|
-
// let per = permissionList[i].permission_code
|
|
57
|
-
// if (permissionMenuMap.get(per)) {
|
|
58
|
-
// thirdPartyControlMenu = thirdPartyControlMenu.concat(permissionMenuMap.get(per))
|
|
59
|
-
// }
|
|
60
|
-
// }
|
|
61
|
-
// console.log(thirdPartyControlMenu)
|
|
62
|
-
// return thirdPartyControlMenu
|
|
63
|
-
let thirdPartyControlMenu = []
|
|
64
|
-
for (let i = 0; i < thirdPartyControl.length; i++) {
|
|
65
|
-
let control = thirdPartyControl[i]
|
|
66
|
-
if ([4, 22, 25].indexOf(control) !== -1) {
|
|
67
|
-
thirdPartyControlMenu = thirdPartyControlMenu.concat(['residentcontrol'])
|
|
68
|
-
}
|
|
69
|
-
if ([1, 2, 3].indexOf(control) !== -1) {
|
|
70
|
-
thirdPartyControlMenu = thirdPartyControlMenu.concat(['specialcontrol'])
|
|
71
|
-
}
|
|
72
|
-
if ([5, 6, 9, 10, 12, 19].indexOf(control) !== -1) {
|
|
73
|
-
thirdPartyControlMenu = thirdPartyControlMenu.concat(['schemeselection'])
|
|
74
|
-
}
|
|
75
|
-
if ([23, 24, 100].indexOf(control) !== -1) {
|
|
76
|
-
thirdPartyControlMenu = thirdPartyControlMenu.concat(['others'])
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
thirdPartyControlMenu = [...new Set(thirdPartyControlMenu)]
|
|
80
|
-
// console.log(thirdPartyControlMenu)
|
|
81
|
-
return thirdPartyControlMenu
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export function getPermissionControl (permissionList) {
|
|
85
|
-
// 按第三方平台角色的权限处理可显示的手动控制按钮
|
|
86
|
-
let thirdPartyControl = []
|
|
87
|
-
for (let i = 0; i < permissionList.length; i++) {
|
|
88
|
-
let per = permissionList[i].permission_code
|
|
89
|
-
if (permissionControlMap.get(per)) {
|
|
90
|
-
thirdPartyControl = thirdPartyControl.concat(permissionControlMap.get(per))
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
// console.log(thirdPartyControl)
|
|
94
|
-
return thirdPartyControl
|
|
95
|
-
}
|
package/src/api/permission.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
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 Authapi from './authapi'
|
|
13
|
-
|
|
14
|
-
export const GetPermissionById = (id) => {
|
|
15
|
-
let api = new Authapi('getPermission')
|
|
16
|
-
|
|
17
|
-
let paramList = [id, 'permissions']
|
|
18
|
-
|
|
19
|
-
return api.Send({}, {}, paramList)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export const GetRoleByName = (roleName) => {
|
|
23
|
-
let api = new Authapi('getRoleByName')
|
|
24
|
-
|
|
25
|
-
let argList = [roleName, 'permissions']
|
|
26
|
-
|
|
27
|
-
return api.Send({}, {}, argList)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export default {
|
|
31
|
-
GetPermissionById,
|
|
32
|
-
GetRoleByName
|
|
33
|
-
}
|