openatc-components 0.4.88 → 0.4.90

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 (44) hide show
  1. package/config/index.js +137 -137
  2. package/package/kisscomps/components/BoardCard/BoardCard.vue +4 -0
  3. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +2 -2
  4. package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +9 -6
  5. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +52 -15
  6. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +0 -16
  7. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +0 -16
  8. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +5 -0
  9. package/package/kisscomps/components/OverviewComponent/index.vue +33 -7
  10. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +81 -1
  11. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +30 -7
  12. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +19 -0
  13. package/package/kisscomps/components/overView/index.vue +30 -7
  14. package/package/kisscomps/components/patternList/patternList.vue +4 -0
  15. package/package/kisscomps/index.js +2 -6
  16. package/package/kissui.min.js +1 -1
  17. package/package.json +1 -1
  18. package/src/App.vue +24 -20
  19. package/src/i18n/language/en.js +0 -78
  20. package/src/i18n/language/index.js +25 -31
  21. package/src/i18n/language/zh.js +0 -78
  22. package/src/kisscomps/components/BoardCard/BoardCard.vue +4 -0
  23. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +2 -2
  24. package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +9 -6
  25. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +52 -15
  26. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +0 -16
  27. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +0 -16
  28. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +5 -0
  29. package/src/kisscomps/components/OverviewComponent/index.vue +33 -7
  30. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +81 -1
  31. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +30 -7
  32. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +19 -0
  33. package/src/kisscomps/components/overView/index.vue +30 -7
  34. package/src/kisscomps/components/patternList/patternList.vue +4 -0
  35. package/src/kisscomps/index.js +2 -6
  36. package/src/utils/ControlFormat.js +36 -14
  37. package/src/utils/auth.js +199 -199
  38. package/src/utils/fault.js +72 -20
  39. package/src/utils/faultcode.js +182 -130
  40. package/src/utils/responseMessage.js +21 -24
  41. package/src/views/intersection.vue +14 -7
  42. package/src/views/patternConfig.vue +2 -2
  43. package/src/views/schemeconfig.vue +1 -1
  44. package/src/i18n/language/ru.js +0 -1555
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openatc-components",
3
- "version": "0.4.88",
3
+ "version": "0.4.90",
4
4
  "description": "A Vue.js project",
5
5
  "author": "openatc developer",
6
6
  "private": false,
package/src/App.vue CHANGED
@@ -1,20 +1,24 @@
1
- <template>
2
- <div id="app">
3
- <router-view />
4
- </div>
5
- </template>
6
-
7
- <script>
8
- import { getLanguage } from './utils/auth.js'
9
- export default {
10
- name: 'App',
11
- mounted: function () {
12
- let language = getLanguage()
13
- console.log('the language is:' + language)
14
- this.$i18n.locale = language || 'zh'
15
- }
16
- }
17
- </script>
18
-
19
- <style>
20
- </style>
1
+ <template>
2
+ <div id="app">
3
+ <router-view />
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ import { getLanguage } from './utils/auth.js'
9
+ export default {
10
+ name: 'App',
11
+ mounted: function () {
12
+ let language = getLanguage()
13
+ console.log('the language is:' + language)
14
+ if (language === 'en') {
15
+ this.$i18n.locale = 'en'
16
+ } else {
17
+ this.$i18n.locale = 'zh'
18
+ }
19
+ }
20
+ }
21
+ </script>
22
+
23
+ <style>
24
+ </style>
@@ -1487,84 +1487,6 @@ const en = {
1487
1487
  'basicinfo': 'Basic information',
1488
1488
  'importfilesuccess': 'Import of JSON file succeeded!',
1489
1489
  'holographiclaneid': 'Holographic Laneid'
1490
- },
1491
- 'faultlevelCode': {
1492
- '1': 'General failure',
1493
- '2': 'Degradation failure',
1494
- '3': 'Serious failure'
1495
- },
1496
- 'lampgroupCode': {
1497
- '0': '',
1498
- '1': 'Red Lamp Fault',
1499
- '2': 'Yellow Lamp Fault',
1500
- '3': 'Green Lamp Fault'
1501
- },
1502
- 'powerCode': {
1503
- '0': '',
1504
- '1': 'Output Power Is Up',
1505
- '2': 'Output Power Is Down',
1506
- '3': 'Output Power Is Zero',
1507
- '4': 'Off Output Power Is High'
1508
- },
1509
- 'greenlampCode': {
1510
- '0': '',
1511
- '1': 'Output Volatage Is Fail',
1512
- '2': 'Output Volatage Is Low',
1513
- '3': 'Output Volatage Is High',
1514
- '4': 'Off Output Volatage Is high',
1515
- '5': 'Off Output Volatage Is low',
1516
- '6': 'Residual Voltage Is Over-High'
1517
- },
1518
- 'tzparamCode': {
1519
- '0': '',
1520
- '1': 'Non-existent',
1521
- '2': 'File Is Unreadable',
1522
- '3': 'File Artificial Changes',
1523
- '4': 'File Open Fail',
1524
- '5': 'File Update Fail',
1525
- '6': 'File Check SiteID Fail',
1526
- '7': 'Format Error',
1527
- '8': 'USB Mount Fail',
1528
- '9': 'USB Not Find',
1529
- '10': 'HWParam Check Fault'
1530
- },
1531
- 'faultCode': {
1532
- '101': 'CanBus Fault',
1533
- '102': 'Yellow Flash Failure',
1534
- '103': 'Relay Not Work',
1535
- '201': 'LampBoard ID Fault',
1536
- '202': 'LampBoard Offline',
1537
- '203': 'No Red Lamp Is On',
1538
- '204': 'Red And Green Conflict',
1539
- '205': 'Green Conflict',
1540
- '206': 'Red Lamp Voltage Fault',
1541
- '207': 'Yellow Lamp Voltage Fault',
1542
- '208': 'Green Lamp Voltage Fault',
1543
- '209': 'Red Lamp Lamp Power Fault',
1544
- '210': 'Yellow Lamp Lamp Power Fault',
1545
- '211': 'Green Lamp Lamp Power Fault',
1546
- '212': 'Lamp pack failure',
1547
- '213': 'Car detector failure',
1548
- '214': 'Lamp Control Board Slot Code Error',
1549
- '215': 'Code Error Of Lamp Control Board Plug',
1550
- '216': 'The Number Of Lamp Control Board Not be Configed for The Master',
1551
- '301': 'VehDetBoard Is Not Init',
1552
- '302': 'VehDetBoard Is Offline',
1553
- '303': 'VehDetBoard Short Circuit',
1554
- '304': 'VehDetector Open Circiut',
1555
- '401': 'I/O Board Is Not Init',
1556
- '402': 'I/O Board Offline',
1557
- '501': 'Fault Det Board',
1558
- '601': 'Fault TZParam',
1559
- '602': 'Fault HWParam',
1560
- '603': 'System processing exception',
1561
- '604': 'System storage exception',
1562
- '701': 'The front door of the cabinet is open',
1563
- '702': 'The back door of the cabinet is open',
1564
- '901': 'Offline',
1565
- '902': 'Yellow Flash',
1566
- '903': 'All red',
1567
- '904': 'Dark Control'
1568
1490
  }
1569
1491
  }
1570
1492
  }
@@ -1,31 +1,25 @@
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 en from './en'
13
- import zh from './zh'
14
- import enLocale from 'element-ui/lib/locale/lang/en'
15
- import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
16
- import ru from './ru'
17
- import ruLocal from 'element-ui/lib/locale/lang/ru-RU'
18
- export default {
19
- en: {
20
- ...en,
21
- ...enLocale
22
- },
23
- zh: {
24
- ...zh,
25
- ...zhLocale
26
- },
27
- ru: {
28
- ...ru,
29
- ...ruLocal
30
- }
31
- }
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 en from './en'
13
+ import zh from './zh'
14
+ import enLocale from 'element-ui/lib/locale/lang/en'
15
+ import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
16
+ export default {
17
+ en: {
18
+ ...en,
19
+ ...enLocale
20
+ },
21
+ zh: {
22
+ ...zh,
23
+ ...zhLocale
24
+ }
25
+ }
@@ -1487,84 +1487,6 @@ const zh = {
1487
1487
  'basicinfo': '基础信息',
1488
1488
  'importfilesuccess': '导入参数文件成功!',
1489
1489
  'holographiclaneid': '全息车道id'
1490
- },
1491
- 'faultlevelCode': {
1492
- '1': '一般故障',
1493
- '2': '降级故障',
1494
- '3': '严重故障'
1495
- },
1496
- 'lampgroupCode': {
1497
- '0': '',
1498
- '1': '红灯故障',
1499
- '2': '黄灯故障',
1500
- '3': '绿灯故障'
1501
- },
1502
- 'powerCode': {
1503
- '0': '',
1504
- '1': '功率异常增加',
1505
- '2': '功率异常减少',
1506
- '3': '功率无输出',
1507
- '4': '关闭状态有功率输出'
1508
- },
1509
- 'greenlampCode': {
1510
- '0': '',
1511
- '1': '未输出有效电压',
1512
- '2': '输出电压低于输入电压过多',
1513
- '3': '输出电压高于输入电压',
1514
- '4': '关闭输出但实际电压仍然输出',
1515
- '5': '关闭输出但实际电压部分输出',
1516
- '6': '线路残留电压过高'
1517
- },
1518
- 'tzparamCode': {
1519
- '0': '',
1520
- '1': '特征参数文件不存在',
1521
- '2': '特征参数文件不可读',
1522
- '3': '特征参数人为修改',
1523
- '4': '特征参数文件打开失败',
1524
- '5': '特征参数文件更新失败',
1525
- '6': '信号机地址码校验失败',
1526
- '7': '特征参数内容格式错误',
1527
- '8': 'USB挂载失败',
1528
- '9': 'U盘没找到',
1529
- '10': '设备参数异常'
1530
- },
1531
- 'faultCode': {
1532
- '101': 'can总线通信故障',
1533
- '102': '黄闪器故障',
1534
- '103': '继电器未吸合',
1535
- '201': '灯控板ID故障',
1536
- '202': '灯控板脱机',
1537
- '203': '无红灯亮起',
1538
- '204': '红绿同亮',
1539
- '205': '绿冲突',
1540
- '206': '红灯灯电压故障',
1541
- '207': '黄灯灯电压故障',
1542
- '208': '绿灯灯电压故障',
1543
- '209': '红灯灯功率故障',
1544
- '210': '黄灯灯功率故障',
1545
- '211': '绿灯灯功率故障',
1546
- '212': '灯组故障',
1547
- '213': '检测器故障',
1548
- '214': '灯控板插槽编码错误',
1549
- '215': '灯控板插头编码错误',
1550
- '216': '本机灯控板数量未配置',
1551
- '301': '车检板未初始化',
1552
- '302': '车检板脱机',
1553
- '303': '车辆检测器短路',
1554
- '304': '车辆检测器断路',
1555
- '401': 'I/O板未初始化',
1556
- '402': 'I/O板脱机',
1557
- '501': '故障板脱机',
1558
- '601': '特征参数故障',
1559
- '602': '设备参数异常',
1560
- '603': '系统处理异常',
1561
- '604': '系统存储异常',
1562
- '701': '机柜前门打开',
1563
- '702': '机柜后门打开',
1564
- '901': '离线',
1565
- '902': '黄闪',
1566
- '903': '全红',
1567
- '904': '关灯'
1568
1490
  }
1569
1491
  }
1570
1492
  }
@@ -15,6 +15,7 @@
15
15
  :isMove="isMove"
16
16
  :localPatternList="localPatternList"
17
17
  :showCondition="showCondition"
18
+ :patternType="patternType"
18
19
  :contrloType="contrloType"
19
20
  :allPatternList="allPatternList"
20
21
  :stagesChange="stagesChange"
@@ -103,6 +104,9 @@ export default {
103
104
  patternId: {
104
105
  type: Number
105
106
  },
107
+ patternType: {
108
+ type: String
109
+ },
106
110
  agentId: {
107
111
  type: String
108
112
  },
@@ -288,7 +288,7 @@ export default {
288
288
  key: this.CrossDiagramMgr.getUniqueKey('phase'),
289
289
  channelid: ele.id, // 通道id
290
290
  id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
291
- name: this.$t(phaseinfo.commonname)
291
+ name: this.$i18n.locale === 'en' ? phaseinfo.ename : phaseinfo.name
292
292
  })
293
293
  })
294
294
  realphasedirarr = Array.from(new Set(realphasedirarr.concat(ele.realdir)))
@@ -304,7 +304,7 @@ export default {
304
304
  key: this.CrossDiagramMgr.getUniqueKey('pedphase'),
305
305
  channelid: ele.id, // 通道id
306
306
  id: dir,
307
- name: this.$t(pedinfo.commondesc)
307
+ name: this.$i18n.locale === 'en' ? pedinfo.ename : pedinfo.desc
308
308
  })
309
309
  }
310
310
  })
@@ -8,6 +8,7 @@
8
8
  isVipRoute
9
9
  :clickMode="clickMode"
10
10
  :isThirdSignal="isThirdSignal"
11
+ :isRcp="isRcp"
11
12
  :choosedDirection="choosedDirection"
12
13
  :choosedPedDirection="choosedPedDirection"
13
14
  :roadDirection="roadDirection"
@@ -36,7 +37,8 @@ export default {
36
37
  return {
37
38
  crossStatusData: {},
38
39
  isSpecialIntersection: undefined,
39
- isThirdSignal: false,
40
+ isThirdSignal: false, // 是否是第三方平台(可以直接传,也可以内部接口判断),特勤、分组管控下,非第三方设备,按通道显示相位方向;第三方设备还是按路口相位配置显示相位方向
41
+ isRcp: false, // 特勤模式下兼容20999 rcp协议,能显示路口图及相位
40
42
  reset: true
41
43
  }
42
44
  },
@@ -104,6 +106,7 @@ export default {
104
106
  }
105
107
  this.tempType = res.data.data.type
106
108
  this.mainType = this.tempType.split('-')[0]
109
+ this.isSpecialIntersection = false
107
110
  if (this.mainType === '999') {
108
111
  this.isSpecialIntersection = true
109
112
  if (this.clickMode) {
@@ -111,8 +114,6 @@ export default {
111
114
  this.$refs.listConfiguration.init(res)
112
115
  })
113
116
  }
114
- } else {
115
- this.isSpecialIntersection = false
116
117
  }
117
118
  })
118
119
  },
@@ -124,15 +125,17 @@ export default {
124
125
  return
125
126
  }
126
127
  this.platform = res.data.data.platform
127
- console.log(this.platform)
128
+ this.isThirdSignal = false
129
+ this.isRcp = false
128
130
  if (this.platform !== '' && this.platform !== 'OpenATC') {
129
131
  this.isThirdSignal = true
130
- } else {
131
- this.isThirdSignal = false
132
132
  }
133
133
  if (this.thirdSignal) {
134
134
  this.isThirdSignal = this.thirdSignal
135
135
  }
136
+ if (res.data.data.protocol === 'rcp') {
137
+ this.isRcp = true
138
+ }
136
139
  })
137
140
  },
138
141
  handleClickCrossIcon (allChoosedDir, curClickedPhase) {
@@ -307,6 +307,10 @@ export default {
307
307
  channelType: {
308
308
  type: Boolean,
309
309
  default: false
310
+ },
311
+ isRcp: {
312
+ type: Boolean,
313
+ default: false
310
314
  }
311
315
  },
312
316
  // computed: {
@@ -883,24 +887,33 @@ export default {
883
887
  this.getValidDirections()
884
888
  this.getMergeDirections()
885
889
  }
886
- if (this.isVipRoute && !this.isThirdSignal) {
887
- // 特勤、分组管控下,非第三方设备,按通道显示相位方向;第三方设备还是按路口相位配置显示相位方向
890
+ if (this.isVipRoute && !this.isThirdSignal && !this.isRcp) {
891
+ alert('1')
892
+ // 特勤、分组管控下,非第三方设备且不是rcp协议,按通道显示相位方向;第三方设备和rcp协议还是按路口相位配置显示相位方向
888
893
  this.getChannelInfo()
889
894
  return
890
895
  }
891
896
  if (this.channelType && !this.isThirdSignal) {
897
+ alert('2')
892
898
  this.getChannelInfo()
893
899
  return
894
900
  }
895
- this.getTempCrossInfo(res)
896
- // 显示阶段的判断条件
897
- this.allPatternList = res.data.data.param.patternList
898
- if (this.allPatternList[0].rings === undefined || this.allPatternList[0].rings.length === 0) {
899
- this.contrloType = 'stage'
900
- } else if (this.allPatternList[0].contrloType === 'stage') {
901
- this.contrloType = 'stage'
902
- } else {
903
- this.contrloType = 'ring'
901
+ let CrossInfo = res
902
+ if (this.isRcp) {
903
+ // rcp协议数据格式不一样,需要转换成原路口信息数据结构
904
+ CrossInfo = this.transRcpPhaseData(res)
905
+ }
906
+ this.getTempCrossInfo(CrossInfo)
907
+ if (!this.isRcp) {
908
+ // 显示阶段的判断条件
909
+ this.allPatternList = res.data.data.param.patternList
910
+ if (this.allPatternList[0].rings === undefined || this.allPatternList[0].rings.length === 0) {
911
+ this.contrloType = 'stage'
912
+ } else if (this.allPatternList[0].contrloType === 'stage') {
913
+ this.contrloType = 'stage'
914
+ } else {
915
+ this.contrloType = 'ring'
916
+ }
904
917
  }
905
918
  })
906
919
  },
@@ -924,7 +937,8 @@ export default {
924
937
  if (!this.isVipRoute) {
925
938
  this.drawDefaultPhaseIcon()
926
939
  }
927
- if (this.isVipRoute && this.isThirdSignal) {
940
+ if ((this.isVipRoute && this.isThirdSignal) || (this.isVipRoute && this.isRcp)) {
941
+ alert('3')
928
942
  this.LanePhaseData = this.CrossDiagramMgr.compare(this.LanePhaseData, this.overlapLanePhaseData, 'type', 'nostatus')
929
943
  // console.log(this.LanePhaseData)
930
944
  this.sidewalkPhaseData = this.CrossDiagramMgr.compare(this.sidewalkPhaseData, this.overlapsidewalkPhaseData, 'pedtype', 'nostatus')
@@ -935,6 +949,28 @@ export default {
935
949
  this.drawPhaseIcon()
936
950
  }
937
951
  },
952
+ transRcpPhaseData (rcpCrossInfo) {
953
+ const phaseConfigs = rcpCrossInfo.data.data.param.Phase.PhaseConfig
954
+ const phaseList = phaseConfigs.map(phase => {
955
+ return {
956
+ id: phase.Index,
957
+ direction: phase.direction || [],
958
+ peddirection: phase.peddirection || []
959
+ }
960
+ })
961
+ // 返回转换后的数据结构
962
+ const CrossInfo = {
963
+ data: {
964
+ data: {
965
+ type: rcpCrossInfo.data.data.type,
966
+ param: {
967
+ phaseList: phaseList
968
+ }
969
+ }
970
+ }
971
+ }
972
+ return CrossInfo
973
+ },
938
974
  getBusPos () {
939
975
  // 公交相位信息
940
976
  this.busPhaseData = []
@@ -1333,14 +1369,15 @@ export default {
1333
1369
  async drawPhaseIcon () {
1334
1370
  const targetIds = [4, 8, 12, 16] // 掉头相位后画
1335
1371
  this.LanePhaseData = this.LanePhaseData.filter(item => !targetIds.includes(item.id)).concat(this.LanePhaseData.filter(item => targetIds.includes(item.id)))
1336
- if (!this.isThirdSignal && this.isVipRoute) {
1372
+ if (!this.isThirdSignal && this.isVipRoute && !this.isRcp) {
1373
+ alert('4')
1337
1374
  await this.getConflictList()
1338
1375
  this.handleClickedPhase()
1339
1376
  this.compLanePhaseData = JSON.parse(JSON.stringify(this.LanePhaseData))
1340
1377
  this.handleClickedPedPhase()
1341
1378
  this.compSidewalkPhaseData = JSON.parse(JSON.stringify(this.sidewalkPhaseData))
1342
1379
  } else {
1343
- // 第三方信号机不需要处理冲突关系
1380
+ // 第三方信号机不需要处理冲突关系/特勤下rcp协议不需要处理冲突
1344
1381
  this.handleClickedPhase()
1345
1382
  this.compLanePhaseData = JSON.parse(JSON.stringify(this.LanePhaseData))
1346
1383
  this.handleClickedPedPhase()
@@ -1348,7 +1385,7 @@ export default {
1348
1385
  }
1349
1386
  },
1350
1387
  handleClickedPhase () {
1351
- if (!this.isThirdSignal) {
1388
+ if (!this.isThirdSignal && !this.isRcp) {
1352
1389
  this.inneChoosedDirection = this.inneChoosedDirection.filter(dir => this.phaseConflictList.indexOf(dir) === -1)
1353
1390
  }
1354
1391
  for (let index = 0; index < this.LanePhaseData.length; index++) {
@@ -3,7 +3,6 @@
3
3
  "id": 1,
4
4
  "name": "东直行",
5
5
  "ename": "East-Straight",
6
- "commonname": "openatccomponents.overview.es",
7
6
  "x": "588px",
8
7
  "y": "267px"
9
8
  },
@@ -11,7 +10,6 @@
11
10
  "id": 2,
12
11
  "name": "东左转",
13
12
  "ename": "East-Left",
14
- "commonname": "openatccomponents.overview.el",
15
13
  "x": "588px",
16
14
  "y": "297px"
17
15
  },
@@ -19,7 +17,6 @@
19
17
  "id": 3,
20
18
  "name": "东右转",
21
19
  "ename": "East-Right",
22
- "commonname": "openatccomponents.overview.er",
23
20
  "x": "588px",
24
21
  "y": "238px"
25
22
  },
@@ -27,7 +24,6 @@
27
24
  "id": 4,
28
25
  "name": "东掉头",
29
26
  "ename": "East-Back",
30
- "commonname": "openatccomponents.overview.eb",
31
27
  "x": "588px",
32
28
  "y": "325px"
33
29
  },
@@ -35,7 +31,6 @@
35
31
  "id": 5,
36
32
  "name": "西直行",
37
33
  "ename": "West-Straight",
38
- "commonname": "openatccomponents.overview.ws",
39
34
  "x": "244px",
40
35
  "y": "359px"
41
36
  },
@@ -43,7 +38,6 @@
43
38
  "id": 6,
44
39
  "name": "西左转",
45
40
  "ename": "West-Left",
46
- "commonname": "openatccomponents.overview.wl",
47
41
  "x": "244px",
48
42
  "y": "329px"
49
43
  },
@@ -51,7 +45,6 @@
51
45
  "id": 7,
52
46
  "name": "西右转",
53
47
  "ename": "West-Right",
54
- "commonname": "openatccomponents.overview.wr",
55
48
  "x": "244px",
56
49
  "y": "388px"
57
50
  },
@@ -59,7 +52,6 @@
59
52
  "id": 8,
60
53
  "name": "西掉头",
61
54
  "ename": "West-Back",
62
- "commonname": "openatccomponents.overview.wb",
63
55
  "x": "244px",
64
56
  "y": "300px"
65
57
  },
@@ -67,7 +59,6 @@
67
59
  "id": 9,
68
60
  "name": "北直行",
69
61
  "ename": "North-Straight",
70
- "commonname": "openatccomponents.overview.ns",
71
62
  "x": "379px",
72
63
  "y": "134px"
73
64
  },
@@ -75,7 +66,6 @@
75
66
  "id": 10,
76
67
  "name": "北左转",
77
68
  "ename": "North-Left",
78
- "commonname": "openatccomponents.overview.nl",
79
69
  "x": "408px",
80
70
  "y": "134px"
81
71
  },
@@ -83,7 +73,6 @@
83
73
  "id": 11,
84
74
  "name": "北右转",
85
75
  "ename": "North-Right",
86
- "commonname": "openatccomponents.overview.nr",
87
76
  "x": "348px",
88
77
  "y": "134px"
89
78
  },
@@ -91,7 +80,6 @@
91
80
  "id": 12,
92
81
  "name": "北掉头",
93
82
  "ename": "North-Back",
94
- "commonname": "openatccomponents.overview.nb",
95
83
  "x": "436px",
96
84
  "y": "134px"
97
85
  },
@@ -99,7 +87,6 @@
99
87
  "id": 13,
100
88
  "name": "南直行",
101
89
  "ename": "South-Straight",
102
- "commonname": "openatccomponents.overview.ss",
103
90
  "x": "470px",
104
91
  "y": "476px"
105
92
  },
@@ -107,7 +94,6 @@
107
94
  "id": 14,
108
95
  "name": "南左转",
109
96
  "ename": "South-Left",
110
- "commonname": "openatccomponents.overview.sl",
111
97
  "x": "440px",
112
98
  "y": "476px"
113
99
  },
@@ -115,7 +101,6 @@
115
101
  "id": 15,
116
102
  "name": "南右转",
117
103
  "ename": "South-Right",
118
- "commonname": "openatccomponents.overview.sr",
119
104
  "x": "500px",
120
105
  "y": "476px"
121
106
  },
@@ -123,7 +108,6 @@
123
108
  "id": 16,
124
109
  "name": "南掉头",
125
110
  "ename": "South-Back",
126
- "commonname": "openatccomponents.overview.sb",
127
111
  "x": "412px",
128
112
  "y": "476px"
129
113
  }