openatc-components 0.1.139 → 0.1.142

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 (70) hide show
  1. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +8 -4
  2. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +1 -1
  3. package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +1 -1
  4. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +1 -1
  5. package/package/kisscomps/components/KanBan/kanban.vue +1 -1
  6. package/package/kisscomps/components/OverLap/OverLap.vue +2 -2
  7. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +1 -1
  8. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +21 -20
  9. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +1 -1
  10. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +1 -1
  11. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +54 -13
  12. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +8 -8
  13. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +2 -0
  14. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +1 -1
  15. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1 -1
  16. package/package/kisscomps/components/Stages/index.vue +32 -2
  17. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +458 -626
  18. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -0
  19. package/package/kisscomps/components/XiaoKanban/index.vue +102 -0
  20. package/package/kisscomps/components/patternConfig/index.js +2 -0
  21. package/package/kisscomps/components/patternConfig/index.vue +1010 -0
  22. package/package/kisscomps/components/patternConfig/pattern/patternTable.vue +349 -0
  23. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -0
  24. package/package/kisscomps/components/patternConfig/planContent.vue +572 -0
  25. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -0
  26. package/package/kisscomps/components/patternConfig/utils.js +152 -0
  27. package/package/kisscomps/index.js +4 -0
  28. package/package/kissui.min.js +1 -1
  29. package/package.json +14 -13
  30. package/src/api/control.js +19 -0
  31. package/src/api/device.js +135 -0
  32. package/src/api/route.js +171 -0
  33. package/src/i18n/language/en.js +149 -0
  34. package/src/i18n/language/zh.js +133 -0
  35. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +8 -4
  36. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +1 -1
  37. package/src/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +1 -1
  38. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +1 -1
  39. package/src/kisscomps/components/KanBan/kanban.vue +1 -1
  40. package/src/kisscomps/components/OverLap/OverLap.vue +2 -2
  41. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +1 -1
  42. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +21 -20
  43. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +1 -1
  44. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +1 -1
  45. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +54 -13
  46. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +8 -8
  47. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +2 -0
  48. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +1 -1
  49. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1 -1
  50. package/src/kisscomps/components/Stages/index.vue +32 -2
  51. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +458 -626
  52. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -0
  53. package/src/kisscomps/components/XiaoKanban/index.vue +102 -0
  54. package/src/kisscomps/components/patternConfig/index.js +2 -0
  55. package/src/kisscomps/components/patternConfig/index.vue +1010 -0
  56. package/src/kisscomps/components/patternConfig/pattern/patternTable.vue +349 -0
  57. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -0
  58. package/src/kisscomps/components/patternConfig/planContent.vue +572 -0
  59. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -0
  60. package/src/kisscomps/components/patternConfig/utils.js +152 -0
  61. package/src/kisscomps/index.js +4 -0
  62. package/src/lib/publicjs/KissApi.js +2 -2
  63. package/src/router/index.js +7 -0
  64. package/src/utils/auth.js +24 -3
  65. package/src/views/intersection.vue +1 -1
  66. package/src/views/patternConfig.vue +1468 -0
  67. package/static/apiconfig.json +85 -0
  68. package/static/styles/common.scss +2 -0
  69. package/static/styles/patternConfig.scss +57 -0
  70. package/static/styles/xiaokanban.scss +51 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openatc-components",
3
- "version": "0.1.139",
3
+ "version": "0.1.142",
4
4
  "description": "A Vue.js project",
5
5
  "author": "openatc developer",
6
6
  "private": false,
@@ -21,24 +21,24 @@
21
21
  "npm2yuanqu": "npm config set registry http://nexus.ctsp.kedacom.com/content/groups/npm-host-yuanqu/"
22
22
  },
23
23
  "dependencies": {
24
+ "@minogin/vue-drag-resize-rotate": "^1.0.5",
25
+ "animate.css": "^3.7.2",
26
+ "axios": "0.21.1",
27
+ "echarts": "^4.9.0",
28
+ "element-ui": "^2.7.2",
24
29
  "flatpickr": "^4.5.1",
25
30
  "jquery": "^3.3.1",
31
+ "js-cookie": "2.2.0",
32
+ "localStorage": "^1.0.4",
33
+ "moment": "^2.24.0",
26
34
  "pend": "^1.2.0",
35
+ "scss-loader": "0.0.1",
27
36
  "v-tooltip": "^2.0.0-rc.33",
28
37
  "vue": "^2.5.2",
29
- "vue-router": "^3.0.1",
30
- "element-ui": "^2.7.2",
31
- "moment": "^2.24.0",
32
- "axios": "0.21.1",
33
- "js-cookie": "2.2.0",
34
- "localStorage": "^1.0.4",
35
38
  "vue-i18n": "^8.7.0",
36
- "vuex": "3.0.1",
37
- "scss-loader": "0.0.1",
39
+ "vue-router": "^3.0.1",
38
40
  "vuedraggable": "^2.16.0",
39
- "animate.css": "^3.7.2",
40
- "echarts": "^4.9.0",
41
- "@minogin/vue-drag-resize-rotate": "^1.0.5"
41
+ "vuex": "3.0.1"
42
42
  },
43
43
  "devDependencies": {
44
44
  "autoprefixer": "^7.1.2",
@@ -104,7 +104,8 @@
104
104
  "vue-template-compiler": "^2.5.2",
105
105
  "webpack": "^3.6.0",
106
106
  "webpack-bundle-analyzer": "^2.9.0",
107
- "webpack-dev-server": "^2.9.1",
107
+ "webpack-cli": "^5.1.4",
108
+ "webpack-dev-server": "^2.11.5",
108
109
  "webpack-merge": "^4.1.0"
109
110
  },
110
111
  "optionalDependencies": {
@@ -57,6 +57,10 @@ export const getlockPhase = (data) => {
57
57
  let api = new Authapi('getlockPhase')
58
58
  return api.Send({}, data)
59
59
  }
60
+ export const getAllDerection = (id) => {
61
+ let api = new Authapi('allDerection')
62
+ return api.Send({}, {}, [id])
63
+ }
60
64
 
61
65
  export const lockPhase = (data) => {
62
66
  let api = new Authapi('lockPhase')
@@ -85,3 +89,18 @@ export function getTscCurrentVolume (agentid) {
85
89
  data.infotype = 'status/currentvolume'
86
90
  return api.Send({}, data)
87
91
  }
92
+
93
+ export function putControl (reqData) {
94
+ let api = new Authapi('putTscControl')
95
+ let {param, agentid} = {...reqData}
96
+ let data = {}
97
+ data.agentid = agentid
98
+ data.operation = 'set-request'
99
+ data.infotype = 'control/pattern'
100
+ data.data = param
101
+ return api.Send({}, data)
102
+ }
103
+ export function batchPutControl (reqData) {
104
+ let api = new Authapi('batchPutControl')
105
+ return api.Send({}, reqData)
106
+ }
@@ -0,0 +1,135 @@
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 GetAllDevice = () => {
15
+ let api = new Authapi('getAllDevice')
16
+
17
+ return api.Send({}, {}, [])
18
+ }
19
+
20
+ export const getDict = () => {
21
+ let api = new Authapi('getDict')
22
+
23
+ return api.Send({}, {}, [])
24
+ }
25
+ // 添加字典
26
+ export const addDict = (data) => {
27
+ let api = new Authapi('addDict')
28
+ const params = JSON.parse(JSON.stringify(data))
29
+ return api.Send({}, params, [])
30
+ }
31
+
32
+ export const GetDeviceByIds = (ids) => {
33
+ let api = new Authapi('getDeviceByIds')
34
+ const params = {
35
+ routeIntersectionIdList: ids
36
+ }
37
+ return api.Send({}, params, [])
38
+ }
39
+
40
+ export const getDeviceRange = (data) => {
41
+ let api = new Authapi('getDeviceRange')
42
+ const params = JSON.parse(JSON.stringify(data))
43
+ return api.Send({}, params, [])
44
+ }
45
+
46
+ export function getBasicData (param) {
47
+ let api = new Authapi('getBasic')
48
+ return api.Send({}, param)
49
+ }
50
+
51
+ export function getOperationData (param) {
52
+ let api = new Authapi('getOperation')
53
+ return api.Send({}, param)
54
+ }
55
+
56
+ export function getPlatformData (param) {
57
+ let api = new Authapi('getplatform')
58
+ return api.Send({}, param)
59
+ }
60
+
61
+ export function getFault (param) {
62
+ let api = new Authapi('getfault')
63
+ return api.Send({}, param)
64
+ }
65
+
66
+ export const AddDevice = (data) => {
67
+ let api = new Authapi('addDevice')
68
+ const params = JSON.parse(JSON.stringify(data))
69
+ params.jsonparam = {}
70
+ params.jsonparam.ip = params.ip
71
+ params.jsonparam.port = params.port
72
+ delete params.ip
73
+ delete params.port
74
+ return api.Send({}, params, [])
75
+ }
76
+
77
+ export const UpdateDevice = (data) => {
78
+ let api = new Authapi('updateDevice')
79
+ const params = JSON.parse(JSON.stringify(data))
80
+ params.jsonparam.ip = params.ip
81
+ params.jsonparam.port = params.port
82
+ delete params.ip
83
+ delete params.port
84
+ return api.Send({}, params, [])
85
+ }
86
+
87
+ export const UpdateDeviceId = (data) => {
88
+ let api = new Authapi('updateDeviceId')
89
+ return api.Send({}, data, [])
90
+ }
91
+
92
+ export const UpdatePassword = (data) => {
93
+ let api = new Authapi('updatePassword')
94
+ return api.Send({}, data, [])
95
+ }
96
+
97
+ export const DeleteDevice = (id) => {
98
+ let api = new Authapi('deleteDevice')
99
+
100
+ let paramList = [id]
101
+
102
+ return api.Send({}, {}, paramList)
103
+ }
104
+
105
+ export const getAllTrafficData = (reqData) => {
106
+ let api = new Authapi('getAllTrafficData')
107
+ return api.Send({}, reqData, [])
108
+ }
109
+
110
+ export const getAllPatternData = (reqData) => {
111
+ let api = new Authapi('getAllPatternData')
112
+ return api.Send({}, reqData, [])
113
+ }
114
+
115
+ export const getYesterdayStatusCollect = () => {
116
+ let api = new Authapi('getYesterdayStatusCollect')
117
+ return api.Send({}, {}, [])
118
+ }
119
+
120
+ export default {
121
+ GetAllDevice,
122
+ AddDevice,
123
+ UpdateDevice,
124
+ DeleteDevice,
125
+ UpdateDeviceId,
126
+ getAllTrafficData,
127
+ getAllPatternData,
128
+ getDeviceRange,
129
+ getDict,
130
+ getFault,
131
+ getPlatformData,
132
+ addDict,
133
+ getOperationData,
134
+ getYesterdayStatusCollect
135
+ }
@@ -0,0 +1,171 @@
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 GetSimpleRoute = () => {
15
+ let api = new Authapi('getSimpleRoute')
16
+
17
+ return api.Send({}, {}, [])
18
+ }
19
+
20
+ export const GetAllRoute = () => {
21
+ let api = new Authapi('GetAllRoute')
22
+
23
+ return api.Send({}, {}, [])
24
+ }
25
+
26
+ export const GetRouteInfo = (id) => {
27
+ let api = new Authapi('getRouteInfo')
28
+ let paramList = [id]
29
+ return api.Send({}, {}, paramList)
30
+ }
31
+
32
+ export const AddRoute = (data) => {
33
+ let api = new Authapi('addRoute')
34
+ const params = JSON.parse(JSON.stringify(data))
35
+ return api.Send({}, params, [])
36
+ }
37
+
38
+ export const UpdateRoute = (data) => {
39
+ let api = new Authapi('updateRoute')
40
+ const params = JSON.parse(JSON.stringify(data))
41
+ return api.Send({}, params, [])
42
+ }
43
+
44
+ export const DeleteRoute = (id) => {
45
+ let api = new Authapi('deleteRoute')
46
+
47
+ let paramList = [id]
48
+
49
+ return api.Send({}, {}, paramList)
50
+ }
51
+
52
+ export function getPatternList (agentid) {
53
+ let api = new Authapi('getTscControl')
54
+ let data = {}
55
+ data.agentid = agentid
56
+ data.operation = 'get-request'
57
+ data.infotype = 'feature/pattern'
58
+ return api.Send({}, data)
59
+ }
60
+
61
+ export function getTscPhase (agentid) {
62
+ let api = new Authapi('getTscControl')
63
+ let data = {}
64
+ data.agentid = agentid
65
+ data.operation = 'get-request'
66
+ data.infotype = 'feature/phase'
67
+ return api.Send({}, data)
68
+ }
69
+
70
+ export const getAllPatternOfRoute = (id) => {
71
+ let api = new Authapi('getAllPatternOfRoute')
72
+ let paramList = [id]
73
+ return api.Send({}, {}, paramList)
74
+ }
75
+
76
+ export const getAllPhaseOfRoute = (id) => {
77
+ let api = new Authapi('getAllPhaseOfRoute')
78
+ let paramList = [id]
79
+ return api.Send({}, {}, paramList)
80
+ }
81
+
82
+ export const getAllPatternOfDevs = async (ids) => {
83
+ let res = {
84
+ data: {
85
+ success: true,
86
+ data: {
87
+ devs: []
88
+ }
89
+ }
90
+ }
91
+ for (let id of ids) {
92
+ let patternRes = await getPatternList(id)
93
+ let list = []
94
+ if (patternRes && patternRes.data.success) {
95
+ list = patternRes.data.data.data.patternList
96
+ } else {
97
+ return patternRes
98
+ }
99
+ let item = {
100
+ agentid: id,
101
+ feature: {
102
+ patternList: list
103
+ }
104
+ }
105
+ res.data.data.devs.push(item)
106
+ }
107
+ return res
108
+ }
109
+
110
+ export const getAllPhaseOfDevs = async (ids) => {
111
+ let res = {
112
+ data: {
113
+ success: true,
114
+ data: {
115
+ devs: []
116
+ }
117
+ }
118
+ }
119
+ for (let id of ids) {
120
+ let patternRes = await getTscPhase(id)
121
+ let list = []
122
+ if (patternRes && patternRes.data.success) {
123
+ list = patternRes.data.data.data.phaseList
124
+ } else {
125
+ return patternRes
126
+ }
127
+ let item = {
128
+ agentid: id,
129
+ feature: {
130
+ phaseList: list
131
+ }
132
+ }
133
+ res.data.data.devs.push(item)
134
+ }
135
+ return res
136
+ }
137
+
138
+ export const generateRoute = (param) => {
139
+ let api = new Authapi('generateRoute')
140
+ return api.Send({}, param)
141
+ }
142
+
143
+ export const putAllPatternOfRoute = (param) => {
144
+ let api = new Authapi('putAllPatternOfRoute')
145
+ return api.Send({}, param)
146
+ }
147
+
148
+ export const UpdateRouteName = (data) => {
149
+ let api = new Authapi('updateRouteName')
150
+ const params = JSON.parse(JSON.stringify(data))
151
+ return api.Send({}, params, [])
152
+ }
153
+
154
+ export const updateRoutePattern = (data) => {
155
+ let api = new Authapi('updateRoutePattern')
156
+ const params = JSON.parse(JSON.stringify(data))
157
+ return api.Send({}, params, [])
158
+ }
159
+
160
+ export const downloadRoutePattern = (data, feature = 'pattern') => {
161
+ let api = new Authapi('downloadRoutePattern')
162
+ const params = JSON.parse(JSON.stringify(data))
163
+ let paramList = [feature, 'download']
164
+ return api.Send({}, params, paramList)
165
+ }
166
+
167
+ export const deleteRoutePattern = (data) => {
168
+ let api = new Authapi('deleteRoutePattern')
169
+ const params = JSON.parse(JSON.stringify(data))
170
+ return api.Send({}, params, [])
171
+ }
@@ -219,6 +219,14 @@ const en = {
219
219
  'priorityPhase': 'Priority Phase',
220
220
  'typeOption0': 'Regular Priority',
221
221
  'typeOption1': 'Urgent Priority',
222
+ 'dong': 'East',
223
+ 'xi': 'West',
224
+ 'bei': 'North',
225
+ 'nan': 'South',
226
+ 'dongnan': 'Southeast',
227
+ 'xinan': 'Southwest',
228
+ 'dongbei': 'Northeast',
229
+ 'xibei': 'Northwest',
222
230
  'es': 'East-Straight',
223
231
  'el': 'East-Left',
224
232
  'er': 'East-Right',
@@ -235,6 +243,22 @@ const en = {
235
243
  'sl': 'South-Left',
236
244
  'sr': 'South-Right',
237
245
  'sb': 'South-Back',
246
+ 'ses': 'Straight southeast ',
247
+ 'sel': 'Southeast left ',
248
+ 'ser': 'Southeast right turn ',
249
+ 'seb': 'Turn southeast ',
250
+ 'sws': 'Straight southwest ',
251
+ 'swl': 'Southwest left turn ',
252
+ 'swr': 'Southwest right turn ',
253
+ 'swb': 'Southwest turn ',
254
+ 'nes': 'Straight northeast ',
255
+ 'nel': 'Northeast left turn ',
256
+ 'ner': 'Northeast right turn ',
257
+ 'neb': 'Northeast turn ',
258
+ 'nws': 'Straight northwest ',
259
+ 'nwl': 'Northwest left turn ',
260
+ 'nwr': 'Northwest right turn ',
261
+ 'nwb': 'Northwest turn around ',
238
262
  'level': 'Level',
239
263
  'levelOption': 'LevelOption',
240
264
  'levelOption1': '1',
@@ -1185,6 +1209,131 @@ const en = {
1185
1209
  'detector': 'detector',
1186
1210
  'port': 'port'
1187
1211
  },
1212
+ 'greenwaveoptimize': {
1213
+ 'downSend': 'Down Send',
1214
+ 'patternName': 'Pattern Name',
1215
+ 'period': 'Period',
1216
+ 'distancenull': 'Distance cannot be set to 0',
1217
+ 'spaceGraph': 'Time Space Graph',
1218
+ 'addplan': 'Click the Add button to add the greenwave Optimize plan',
1219
+ 'createconfig': 'Click the Edit button to start the configuration',
1220
+ 'operation': 'Operation',
1221
+ 'isdelete': 'Is delete',
1222
+ 'nochooseplan': 'No route selected!',
1223
+ 'namerepeat': 'Duplicate route name!',
1224
+ 'addfail': 'Failed to add, the name of route is duplicate!',
1225
+ 'addroute': 'New Route Management',
1226
+ 'editroute': 'Edit Route Management',
1227
+ 'name': 'Name',
1228
+ 'routename': 'Route Name',
1229
+ 'isClose': 'Configuration not saved, are you sure to close?',
1230
+ 'coordinateparamconfig': 'Parameter Configuration',
1231
+ 'device': 'Intersection',
1232
+ 'phase': 'Phase',
1233
+ 'distance': 'Distance',
1234
+ 'pattern': 'Pattern',
1235
+ 'choosephase': 'Please select phase!',
1236
+ 'choosepattern': 'Please select pattern!',
1237
+ 'configsuccess': 'Parameter configuration succeeded!',
1238
+ 'adddevice': 'Add Interscetion',
1239
+ 'deletedevice': 'Is delete Interscetion',
1240
+ 'deviceid': 'Interscetion Id',
1241
+ 'devicename': 'Interscetion Name',
1242
+ 'type': 'Type',
1243
+ 'IP': 'IP',
1244
+ 'port': 'Port',
1245
+ 'describe': 'Describe',
1246
+ 'deletedevsuccess': 'Delete device successfully!',
1247
+ 'distancemeter': 'Distance(m)',
1248
+ 'widthmeter': 'Width(m)',
1249
+ 'forward': 'Forward',
1250
+ 'back': 'Back',
1251
+ 'generate': 'Generate',
1252
+ 'edit': 'Edit',
1253
+ 'confirmdownloadpattern': 'Confirm to download this pattern?',
1254
+ 'offset': 'Offset',
1255
+ 'cycle': 'Cycle',
1256
+ 'timespace': 'Route Monitor',
1257
+ 'coordinationstrategy': 'Coordination Strategy',
1258
+ 'coordinationdirection': 'Coordination Direction',
1259
+ 'keyintersection': 'Key Intersection',
1260
+ 'upspeed': 'Up Speed(km/h)',
1261
+ 'downspeed': 'Down Speed(km/h)',
1262
+ 'up': 'Up',
1263
+ 'down': 'Down',
1264
+ 'optstrategyoption1': 'Green wave optimization',
1265
+ 'optstrategyoption2': 'Red wave optimization',
1266
+ 'optstrategyoption3': 'Motorcade-end',
1267
+ 'optstrategyoption4': 'DynamicGreen',
1268
+ 'directionOption1': 'Up',
1269
+ 'directionOption2': 'Down',
1270
+ 'directionOption3': 'All',
1271
+ 'duration': 'Duration:',
1272
+ 'speed': 'Speed:',
1273
+ 'vehicle': 'vehicle:',
1274
+ 'es': 'East-Straight',
1275
+ 'el': 'East-Left',
1276
+ 'er': 'East-Right',
1277
+ 'eb': 'East-Back',
1278
+ 'ws': 'West-Straight',
1279
+ 'wl': 'West-Left',
1280
+ 'wr': 'West-Right',
1281
+ 'wb': 'West-Back',
1282
+ 'ns': 'North-Straight',
1283
+ 'nl': 'North-Left',
1284
+ 'nr': 'North-Right',
1285
+ 'nb': 'North-Back',
1286
+ 'ss': 'South-Straight',
1287
+ 'sl': 'South-Left',
1288
+ 'sr': 'South-Right',
1289
+ 'sb': 'South-Back',
1290
+ 'notonline': ' do not online!',
1291
+ 'generatesuedsucc': 'Generate Suedsucc!',
1292
+ 'chooseRoute': 'please choose route',
1293
+ 'onlyOneTab': 'only one tab allowed',
1294
+ 'scene': 'simulation ',
1295
+ 'chooseCros': 'please choose cross!',
1296
+ 'choosePhase': 'please choose phase !',
1297
+ 'choosePattern': 'please choose tab!',
1298
+ 'routeDeviceNotOnline': 'route device not Online!',
1299
+ 'atleastOnePattern': 'at least one pattern !',
1300
+ 'inputRouteName': 'please input routeName',
1301
+ 'errDownloadParam': 'Err Download Param !',
1302
+ 'pleaseChoseOptstrategy': 'Please Chose Optstrategy!',
1303
+ 'pleaseInputPatternName': 'PleaseInput Pattern Name!',
1304
+ 'repeatPatternName': 'Repeat Pattern Name!',
1305
+ 'pleaseChoseKeyintersection': 'Please Chose Keyintersection!',
1306
+ 'pleaseInputUpspeed': 'Please Input Upspeed!',
1307
+ 'pleaseInputDownspeed': 'Please Input Downspeed!',
1308
+ 'abnormalIntersections': 'Abnormal Intersections!',
1309
+ 'routeCros': 'route Intersection',
1310
+ 'setDistance': 'Set Distance',
1311
+ 'setPhase': 'Set Phase',
1312
+ 'intesectionDistance': 'Intesection Distance(m)',
1313
+ 'intesectionWidth': 'Intesection Width(m)',
1314
+ 'planissuedsucc': 'Plan issued successfully',
1315
+ 'executePlan': 'Execute Plan',
1316
+ 'backSelfControl': 'BackSelfControl',
1317
+ 'downloadPlan': 'DownloadPlan',
1318
+ 'updated': 'updated',
1319
+ 'ignored': 'ignored',
1320
+ 'failed': 'failed',
1321
+ 'continueOnfailure': 'continue On failure',
1322
+ 'executeTime': 'Execute Time',
1323
+ 'saveParams': 'Save Params',
1324
+ 'time': 'time(s)',
1325
+ 'realtimecoordinationscheme': 'Realtime route coordination scheme',
1326
+ 'planningcoordinationscheme': 'Planning route coordination scheme'
1327
+ },
1328
+ 'token': {
1329
+ 'username': 'User Name',
1330
+ 'tokenManage': 'Token Management',
1331
+ 'timeStart': 'Time Start',
1332
+ 'timeEnd': 'Time End',
1333
+ 'isValid': 'isValid',
1334
+ 'yes': 'Yes',
1335
+ 'no': 'No'
1336
+ },
1188
1337
  'channelizationmap': {
1189
1338
  'importpicture': 'Import Picture',
1190
1339
  'importtip': 'The picture format is SVG, PNG and JPG, and the size is no more than 10MB',