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
@@ -142,6 +142,14 @@ const zh = {
142
142
  'priorityPhase': '优先相位',
143
143
  'typeOption0': '常规优先',
144
144
  'typeOption1': '紧急优先',
145
+ 'dong': '东',
146
+ 'xi': '西',
147
+ 'bei': '北',
148
+ 'nan': '南',
149
+ 'dongnan': '东南',
150
+ 'xinan': '西南',
151
+ 'dongbei': '东北',
152
+ 'xibei': '西北',
145
153
  'es': '东直行',
146
154
  'el': '东左转',
147
155
  'er': '东右转',
@@ -1200,6 +1208,131 @@ const zh = {
1200
1208
  'detector': '检测器',
1201
1209
  'port': '端口'
1202
1210
  },
1211
+ 'greenwaveoptimize': {
1212
+ 'downSend': '下发',
1213
+ 'patternName': '方案名称',
1214
+ 'period': '时段',
1215
+ 'distancenull': '距离不能设置为0',
1216
+ 'spaceGraph': '时距图',
1217
+ 'addplan': '点击添加按钮添加绿波协调计划',
1218
+ 'createconfig': '点击编辑按钮开始生成配置',
1219
+ 'operation': '操作',
1220
+ 'isdelete': '是否删除',
1221
+ 'nochooseplan': '未选中任何方案!',
1222
+ 'namerepeat': '名称重复!',
1223
+ 'addfail': '新增失败,名称重复!',
1224
+ 'addroute': '新增路线管理',
1225
+ 'editroute': '编辑路线管理',
1226
+ 'name': '名称',
1227
+ 'routename': '路线名称',
1228
+ 'isClose': '配置未保存,是否确认关闭?',
1229
+ 'coordinateparamconfig': '路线参数',
1230
+ 'device': '路口',
1231
+ 'phase': '相位',
1232
+ 'distance': '距离',
1233
+ 'pattern': '方案',
1234
+ 'choosephase': '请选择相位!',
1235
+ 'choosepattern': '请选择方案!',
1236
+ 'configsuccess': '参数配置成功!',
1237
+ 'adddevice': '新增路口',
1238
+ 'deletedevice': '是否删除设备',
1239
+ 'deviceid': '路口ID',
1240
+ 'devicename': '路口名称',
1241
+ 'type': '类型',
1242
+ 'IP': 'IP',
1243
+ 'port': '端口',
1244
+ 'describe': '路口描述',
1245
+ 'deletedevsuccess': '删除路口成功!',
1246
+ 'distancemeter': '距离(m)',
1247
+ 'widthmeter': '宽度(m)',
1248
+ 'forward': '上行',
1249
+ 'back': '下行',
1250
+ 'generate': '生成',
1251
+ 'edit': '编辑',
1252
+ 'confirmdownloadpattern': '确认下载此方案?',
1253
+ 'offset': '相位差',
1254
+ 'cycle': '周期',
1255
+ 'timespace': '干线实时监控',
1256
+ 'coordinationstrategy': '协调策略',
1257
+ 'coordinationdirection': '协调方向',
1258
+ 'keyintersection': '关键路口',
1259
+ 'upspeed': '上行速度(km/h)',
1260
+ 'downspeed': '下行速度(km/h)',
1261
+ 'up': '上行',
1262
+ 'down': '下行',
1263
+ 'optstrategyoption1': '绿波优化',
1264
+ 'optstrategyoption2': '红波优化',
1265
+ 'optstrategyoption3': '车队尾策略',
1266
+ 'optstrategyoption4': '动态绿波',
1267
+ 'directionOption1': '上行',
1268
+ 'directionOption2': '下行',
1269
+ 'directionOption3': '双向',
1270
+ 'duration': '持续时间:',
1271
+ 'speed': '速度:',
1272
+ 'vehicle': '车辆:',
1273
+ 'es': '东直行',
1274
+ 'el': '东左转',
1275
+ 'er': '东右转',
1276
+ 'eb': '东掉头',
1277
+ 'ws': '西直行',
1278
+ 'wl': '西左转',
1279
+ 'wr': '西右转',
1280
+ 'wb': '西掉头',
1281
+ 'ns': '北直行',
1282
+ 'nl': '北左转',
1283
+ 'nr': '北右转',
1284
+ 'nb': '北掉头',
1285
+ 'ss': '南直行',
1286
+ 'sl': '南左转',
1287
+ 'sr': '南右转',
1288
+ 'sb': '南掉头',
1289
+ 'notonline': '不在线!',
1290
+ 'generatesuedsucc': '生成成功!',
1291
+ 'planissuedsucc': '方案下发成功!',
1292
+ 'chooseRoute': '请选择路线!',
1293
+ 'onlyOneTab': '只允许一个tab!',
1294
+ 'scene': '仿真实例',
1295
+ 'choosePattern': '请先点击选择方案!',
1296
+ 'routeDeviceNotOnline': '路线路口不在线!',
1297
+ 'atleastOnePattern': '最少要保留一个方案!',
1298
+ 'chooseCros': '请选择路口!',
1299
+ 'choosePhase': '请选择相位!',
1300
+ 'errDownloadParam': '下载参数异常!',
1301
+ 'pleaseChoseOptstrategy': '请选择协调策略!',
1302
+ 'pleaseInputPatternName': '请输入方案名称!',
1303
+ 'repeatPatternName': '方案名称重复!',
1304
+ 'pleaseChoseKeyintersection': '请选择关键路口!',
1305
+ 'pleaseInputUpspeed': '请输入上行速度!',
1306
+ 'pleaseInputDownspeed': '请输入下行速度!',
1307
+ 'abnormalIntersections': '路口数据异常!',
1308
+ 'routeCros': '路线路口',
1309
+ 'setDistance': '设置距离',
1310
+ 'setPhase': '设置相位',
1311
+ 'intesectionDistance': '路口名称/间隔距离(米)',
1312
+ 'intesectionWidth': '路口宽度(米)',
1313
+ 'inputRouteName': '请输入路线名称!',
1314
+ 'executePlan': '执行临时方案',
1315
+ 'backSelfControl': '恢复自主控制',
1316
+ 'downloadPlan': '下载协调方案',
1317
+ 'updated': '已更新',
1318
+ 'ignored': '忽略',
1319
+ 'failed': '失败',
1320
+ 'continueOnfailure': '遇到失败继续',
1321
+ 'executeTime': '执行时间',
1322
+ 'saveParams': '参数保存',
1323
+ 'time': '时间(s)',
1324
+ 'realtimecoordinationscheme': '实时路线协调方案',
1325
+ 'planningcoordinationscheme': '规划路线协调方案'
1326
+ },
1327
+ 'token': {
1328
+ 'username': '用户名',
1329
+ 'tokenManage': 'Token管理',
1330
+ 'timeStart': '有效期开始',
1331
+ 'timeEnd': '有效期截止',
1332
+ 'isValid': '是否启用',
1333
+ 'yes': '是',
1334
+ 'no': '否'
1335
+ },
1203
1336
  'channelizationmap': {
1204
1337
  'importpicture': '导入图片',
1205
1338
  'importtip': '图片格式为svg、png、jpg,大小不超过10Mb',
@@ -27,8 +27,10 @@
27
27
  <el-tooltip class="item" effect="dark" placement="left">
28
28
  <div slot="content">{{element.name}}</div>
29
29
  <div class="common-phase-description">
30
- <xdrdirselector Width="40px"
31
- Height="40px"
30
+ <xdrdirselector Width="70px"
31
+ Height="70px"
32
+ Widths="60px"
33
+ Heights="60px"
32
34
  :showlist="element.desc"
33
35
  :ISActiveMask="ISActiveMask"
34
36
  :MaskColor="MaskColor"
@@ -50,8 +52,10 @@
50
52
  <div slot="content">{{element.name}}</div>
51
53
  <div class="common-phase-description">
52
54
  <!-- <patternwalksvg :sidewalkPhaseData="sidewalkPhaseData" :showWalk="element.peddirection" Width="38" Height="40"></patternwalksvg> -->
53
- <xdrdirselector Width="40px"
54
- Height="40px"
55
+ <xdrdirselector Width="70px"
56
+ Height="70px"
57
+ Widths="60px"
58
+ Heights="60px"
55
59
  :showlist="element.desc"
56
60
  :ISActiveMask="ISActiveMask"
57
61
  :MaskColor="MaskColor"
@@ -18,7 +18,7 @@
18
18
  </div>
19
19
 
20
20
  <div class="phase-icon" v-if="item.direction">
21
- <xdr-dir-selector Width="44px" Height="44px" :showlist="getShowlist(item)" :roadDirection="roadDirection"></xdr-dir-selector>
21
+ <xdr-dir-selector Width="60px" Height="60px" Widths="50px" Heights="50px" :showlist="getShowlist(item)" :roadDirection="roadDirection"></xdr-dir-selector>
22
22
  </div>
23
23
  </div>
24
24
  <div class="single-phase-name">{{$t('openatccomponents.channelizationmap.phase') + item.id}}</div>
@@ -18,7 +18,7 @@
18
18
  </div>
19
19
 
20
20
  <div class="phase-icon" v-if="item.direction">
21
- <xdr-dir-selector Width="44px" Height="44px" :showlist="getShowlist(item)" :roadDirection="roadDirection"></xdr-dir-selector>
21
+ <xdr-dir-selector Width="50px" Height="50px" Widths="60px" Heights="60px" :showlist="getShowlist(item)" :roadDirection="roadDirection"></xdr-dir-selector>
22
22
  </div>
23
23
  </div>
24
24
  <div class="single-phase-name">{{$t('openatccomponents.channelizationmap.phase') + item.id}}</div>
@@ -26,7 +26,7 @@
26
26
  <el-tooltip class="item" effect="dark" placement="left">
27
27
  <div slot="content">{{element.name}}</div>
28
28
  <div class="common-phase-description">
29
- <xdrdirselector Width="40px" Height="40px" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
29
+ <xdrdirselector Width="60px" Height="60px" Widths="50px" Heights="50px" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
30
30
  </div>
31
31
  </el-tooltip>
32
32
  </el-col>
@@ -23,7 +23,7 @@
23
23
  <el-tooltip class="item" effect="dark" placement="left">
24
24
  <div slot="content">{{element.name}}</div>
25
25
  <div class="common-phase-description">
26
- <xdrdirselector Width="40px" Height="40px" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
26
+ <xdrdirselector Width="60px" Height="60px" Widths="50px" Heights="50px" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
27
27
  </div>
28
28
  </el-tooltip>
29
29
  </el-col>
@@ -14,7 +14,7 @@
14
14
  <div style="cursor:pointer;">
15
15
  <div class="ring-phase">
16
16
  <!-- <patternwalksvg :showWalk="list.peddirection" :Width="'32'" :Height="'34'"></patternwalksvg> -->
17
- <xdrdirselector Width="36px" Height="34px" :showlist="item.direction"></xdrdirselector>
17
+ <xdrdirselector Width="60px" Height="60px" Widths="50px" Heights="50px" :showlist="item.direction"></xdrdirselector>
18
18
  </div>
19
19
  <div class="box">
20
20
  <div class="ring-nums">
@@ -136,7 +136,7 @@ export default {
136
136
  let overlapData = overlap.map(item => {
137
137
  let findIndexs = []
138
138
  item.includedphases.forEach(i => {
139
- const findItems = stageList.filter(j => j.stages.includes(i))
139
+ const findItems = stageList.filter(j => j.phases.includes(i))
140
140
  if (findItems.length) findIndexs.push(...findItems.map(m => m.key))
141
141
  })
142
142
  findIndexs = Array.from(new Set(findIndexs))
@@ -50,7 +50,7 @@
50
50
  <el-tooltip class="item" effect="dark" placement="left">
51
51
  <div slot="content">{{element.name}}</div>
52
52
  <div class="common-phase-description">
53
- <xdrdirselector Width="40px" Height="40px" :Data="showStyle" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
53
+ <xdrdirselector Width="60px" Height="60px" Widths="50px" Heights="50px" :Data="showStyle" :Datas="showStyle" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
54
54
  </div>
55
55
  </el-tooltip>
56
56
  </el-col>
@@ -15,32 +15,32 @@
15
15
  <div v-if="this.contrloType === 'ring' || !this.contrloType">
16
16
  <div class="ring-first" v-for="(list, index1) in patternInfo" :key="index1">
17
17
  <div style="position: relative;" :style="{'height': '34px','float':'left','width':((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%'}" v-for="(item,index2) in list" :key="index2" :class="item.mode===7?'direction': ''">
18
- <div class="first-1" :class="item.mode===8?'mask': ''" :style="{'width':Number(item.greenWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','background':'#7ccc66'}">
18
+ <div class="first-1" :class="item.mode===8?'masks': ''" :style="{'width':Number(item.greenWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','background':'#7ccc66'}">
19
19
  <el-tooltip placement="top-start" effect="light">
20
20
  <div slot="content">P{{item.id}}:{{item.split}}</div>
21
21
  <div style="cursor:pointer;">
22
22
  <div class="ring-phase">
23
23
  <!-- <patternwalksvg :showWalk="item.peddirection" :Width="'32'" :Height="'34'"></patternwalksvg> -->
24
- <xdrdirselector Width="38px" Height="36px" :showlist="item.direction"></xdrdirselector>
24
+ <xdrdirselector Width="60px" Height="60px" Widths="50px" Heights="50px" :showlist="item.direction"></xdrdirselector>
25
25
  </div>
26
- <div class="box" style="position: absolute; left:40px;top: 2px;">
26
+ <div class="box" style="position: absolute; left:40px;top: -1px;">
27
27
  <div class="ring-nums">P{{item.id}}</div>
28
28
  <div class="ring-nums">{{item.split}}</div>
29
29
  </div>
30
30
  </div>
31
31
  </el-tooltip>
32
32
  <div style="width:50px;" v-for="(bus,index3) in busPhaseData" :key="index3">
33
- <i class="iconfont icon-lukouzhilu" style="position: absolute;top: 8px;left:60px;font-size:12px;color:#454545;" v-if="bus.controltype === 1 && bus.phaseid===item.id"></i>
34
- <i class="iconfont icon-BRT" style="position: absolute;top: 8px;left:60px;font-size:12px;color:#454545;" v-if="bus.controltype === 4 && bus.phaseid===item.id"></i>
35
- <i class="iconfont icon-xuxiangwei-xin" style="position: absolute;top: 8px;left:60px;font-size:12px;color:#454545;" v-if="bus.controltype === 99 && bus.phaseid===item.id"></i>
36
- <i class="iconfont icon-feijidongche" style="position: absolute;top: 8px;left:60px;font-size:12px;color:#454545;" v-if="bus.controltype === 6 && bus.phaseid===item.id"></i>
37
- <i class="iconfont icon-gongjiaoche" style="position: absolute;top: 8px;left:60px;font-size:12px;color:#454545;" v-if="bus.controltype === 3 && bus.phaseid===item.id"></i>
38
- <i class="iconfont icon-youguidianche" style="position: absolute;top: 8px;left:60px;font-size:12px;color:#454545;" v-if="bus.controltype === 5 && bus.phaseid===item.id"></i>
33
+ <i class="iconfont icon-lukouzhilu" style="position: absolute;top: 8px;left:70px;font-size:12px;color:#454545;" v-if="bus.controltype === 1 && bus.phaseid===item.id"></i>
34
+ <i class="iconfont icon-BRT" style="position: absolute;top: 8px;left:70px;font-size:12px;color:#454545;" v-if="bus.controltype === 4 && bus.phaseid===item.id"></i>
35
+ <i class="iconfont icon-xuxiangwei-xin" style="position: absolute;top: 8px;left:70px;font-size:12px;color:#454545;" v-if="bus.controltype === 99 && bus.phaseid===item.id"></i>
36
+ <i class="iconfont icon-feijidongche" style="position: absolute;top: 8px;left:70px;font-size:12px;color:#454545;" v-if="bus.controltype === 6 && bus.phaseid===item.id"></i>
37
+ <i class="iconfont icon-gongjiaoche" style="position: absolute;top: 8px;left:70px;font-size:12px;color:#454545;" v-if="bus.controltype === 3 && bus.phaseid===item.id"></i>
38
+ <i class="iconfont icon-youguidianche" style="position: absolute;top: 8px;left:70px;font-size:12px;color:#454545;" v-if="bus.controltype === 5 && bus.phaseid===item.id"></i>
39
39
  </div>
40
40
  </div>
41
- <div class="first-1" :class="item.mode===8?'mask': ''" :style="{'width':Number(item.flashgreen.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','float':'left','background': 'linear-gradient(to right, #ffffff 50%, #7ccc66 0)','background-size': '4px 100%'}"></div>
42
- <div class="first-1" :class="item.mode===8?'mask': ''" :style="{'width':Number(item.yellowWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','background':'#f9dc6a'}"></div>
43
- <div class="first-1" :class="item.mode===8?'mask': ''" :style="{'width':Number(item.redWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','background':'#f27979'}"></div>
41
+ <div class="first-1" :class="item.mode===8?'masks': ''" :style="{'width':Number(item.flashgreen.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','float':'left','background': 'linear-gradient(to right, #ffffff 50%, #7ccc66 0)','background-size': '4px 100%'}"></div>
42
+ <div class="first-1" :class="item.mode===8?'masks': ''" :style="{'width':Number(item.yellowWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','background':'#f9dc6a'}"></div>
43
+ <div class="first-1" :class="item.mode===8?'masks': ''" :style="{'width':Number(item.redWidth.replace('%', ''))/Number((((item.split+(item.sum?item.sum:0)) / (max?max:item.cycle) * 100).toFixed(3) + '%').replace('%', ''))*100+'%','height':'34px','background':'#f27979'}"></div>
44
44
  </div>
45
45
  </div>
46
46
  <div v-if="showBarrier">
@@ -60,19 +60,19 @@
60
60
  <el-tooltip placement="top-start" effect="light">
61
61
  <div slot="content">
62
62
  <span class="ring-nums" v-for="(pha,index) in list.phases" :key="index">
63
- P:{{pha}}
63
+ P{{pha}}
64
64
  </span>
65
65
  </div>
66
66
  <div style="cursor:pointer;">
67
67
  <div class="ring-phase">
68
68
  <!-- <patternwalksvg :showWalk="list.peddirection" :Width="'32'" :Height="'34'"></patternwalksvg> -->
69
- <xdrdirselector Width="36px" Height="34px" :showlist="list.direction"></xdrdirselector>
69
+ <xdrdirselector Width="60px" Height="60px" Widths="50px" Heights="50px" :showlist="list.direction"></xdrdirselector>
70
70
  </div>
71
- <div class="box" style="line-height:28px">
71
+ <!-- <div class="box" style="line-height:28px">
72
72
  <span class="ring-nums" v-for="(pha,index) in list.phases" :key="index">
73
73
  P:{{pha}}
74
74
  </span>
75
- </div>
75
+ </div> -->
76
76
  </div>
77
77
  </el-tooltip>
78
78
  </div>
@@ -323,17 +323,18 @@ export default {
323
323
  if (directionList.length === 0) {
324
324
  tempList.push({
325
325
  id: '',
326
- color: '#606266',
326
+ color: '#454545',
327
327
  peddirection: peddirections
328
328
  })
329
329
  } else {
330
330
  tempList = directionList.map(dir => ({
331
331
  id: dir,
332
- color: '#606266',
332
+ color: '#454545',
333
333
  peddirection: peddirections
334
334
  }))
335
335
  }
336
- stagesTemp.push(...tempList)
336
+ let newTemp = tempList.filter(item => item.id !== '')
337
+ stagesTemp.push(...newTemp)
337
338
  }
338
339
  return stagesTemp
339
340
  },
@@ -1355,7 +1356,7 @@ export default {
1355
1356
  .direction {
1356
1357
  filter: brightness(70%);
1357
1358
  }
1358
- .mask {
1359
+ .masks {
1359
1360
  background: rgb(242, 121, 121) !important;
1360
1361
  }
1361
1362
  .first-1 {
@@ -7,7 +7,7 @@
7
7
  <phaseCountCycle v-if="showLevel === 3"></phaseCountCycle>
8
8
  <div class="dirwrap">
9
9
  <xdrdirselector
10
- Width="40px" Height="40px"
10
+ Width="60px" Height="60px" Widths="50px" Heights="50px"
11
11
  :showlist="dirshow">
12
12
  </xdrdirselector>
13
13
  </div>
@@ -731,7 +731,7 @@ export default {
731
731
  return
732
732
  }
733
733
  }
734
- this.$alert(this.$t('openatccomponents.common.download'), { type: 'success' })
734
+ this.$message.success(this.$t('openatccomponents.common.download'))
735
735
  }).catch(error => {
736
736
  this.unlockScreen()
737
737
  console.log(error)
@@ -59,7 +59,7 @@
59
59
  <div style="margin-top:20px" class="model-label-title">{{currentName}}{{$t('openatccomponents.overview.currentphase')}}:</div>
60
60
  <div class="control-model" v-for="(item, index) in sidewalkPhaseData" :key="index">
61
61
  <div style="position:relative;" class="single-model">
62
- <xdr-dir-selector Width="40PX" Height="40PX" :Data="showStyle" :showlist="item"></xdr-dir-selector>
62
+ <xdr-dir-selector Width="75PX" Height="75PX" Widths="65PX" Heights="65PX" :Data="showStyle" :Datas="showStyles" :showlist="item"></xdr-dir-selector>
63
63
  <div style="height:65px;display:flex;flex-direction:row;justify-content:center;align-items:end;">
64
64
  <div class="current-stage-num" style="width:20%;">{{index + 1}}</div>
65
65
  <div style="width:70%;">
@@ -102,7 +102,7 @@
102
102
  <script>
103
103
  import { getPhase } from './utils'
104
104
  import { getIframdevid } from '../../../../utils/auth'
105
- import { getlockPhase, lockPhase } from '../../../../api/control'
105
+ import { getlockPhase, lockPhase, getAllDerection } from '../../../../api/control'
106
106
  import Stages from '../../Stages/index'
107
107
  import RingDataModel from '../../../../utils/RingDataModel.js'
108
108
  import { getMessageByCode } from '../../../../utils/responseMessage'
@@ -142,18 +142,25 @@ export default {
142
142
  obj.name = this.$t(obj.name)
143
143
  arrays.push(obj)
144
144
  })
145
- return arrays
145
+ let arr1Ids = this.allDirection.map(item => item.id)
146
+ const result = arrays.filter(item => arr1Ids.includes(item.id))
147
+ return result
146
148
  }
147
149
  },
148
150
  data () {
149
151
  return {
150
152
  showStyle: {
153
+ top: '7PX',
154
+ left: '13px'
155
+ },
156
+ showStyles: {
151
157
  top: '5PX',
152
- left: '14px'
158
+ left: '12px'
153
159
  },
154
160
  sidewalkPhaseData: [],
155
161
  currentName: '',
156
162
  lockList: [],
163
+ allDirection: [],
157
164
  patternCycleEqual: true,
158
165
  spanIndex: [],
159
166
  directions: [],
@@ -167,25 +174,59 @@ export default {
167
174
  }
168
175
  },
169
176
  created () {
177
+ this.getAllDerection()
170
178
  },
171
179
  methods: {
172
180
  checkId (val) {
173
181
  if (val.id === 1) {
174
- return 2
175
- } else if (val.id === 5) {
176
182
  return 1
183
+ } else if (val.id === 5) {
184
+ return 2
177
185
  } else if (val.id === 13) {
178
- return 4
179
- } else if (val.id === 9) {
180
186
  return 3
187
+ } else if (val.id === 9) {
188
+ return 4
181
189
  } else if (val.id === 17) {
182
- return 8
190
+ return 6
183
191
  } else if (val.id === 21) {
184
- return 5
185
- } else if (val.id === 25) {
186
192
  return 7
193
+ } else if (val.id === 25) {
194
+ return 5
187
195
  } else if (val.id === 29) {
188
- return 6
196
+ return 8
197
+ }
198
+ },
199
+ getAllDerection () {
200
+ let iframdevid = getIframdevid()
201
+ getAllDerection(iframdevid).then((res) => {
202
+ if (res.data.success !== true) {
203
+ this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
204
+ return
205
+ }
206
+ this.allDirection = res.data.data.map(item => {
207
+ return {
208
+ id: this.checkDirection(item.direction)
209
+ }
210
+ })
211
+ })
212
+ },
213
+ checkDirection (id) {
214
+ if (id === 1) {
215
+ return 1
216
+ } else if (id === 2) {
217
+ return 5
218
+ } else if (id === 3) {
219
+ return 13
220
+ } else if (id === 4) {
221
+ return 9
222
+ } else if (id === 5) {
223
+ return 25
224
+ } else if (id === 6) {
225
+ return 17
226
+ } else if (id === 7) {
227
+ return 21
228
+ } else if (id === 8) {
229
+ return 29
189
230
  }
190
231
  },
191
232
  getLockPhase (val) {
@@ -248,7 +289,7 @@ export default {
248
289
  this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
249
290
  return
250
291
  }
251
- this.$alert(this.$t('openatccomponents.common.download'), { type: 'success' })
292
+ this.$message.success(this.$t('openatccomponents.common.download'))
252
293
  // if (res.data.success !== true) {
253
294
  // this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
254
295
  // }
@@ -14,56 +14,56 @@ let images = [
14
14
  {
15
15
  id: 1,
16
16
  // name: 'East-Straight',
17
- name: 'openatccomponents.overview.es',
17
+ name: 'openatccomponents.overview.dong',
18
18
  // img: require('./images/East-Straight.svg'),
19
19
  class: 'iconfont icon-dongzhihang'
20
20
  },
21
21
  {
22
22
  id: 5,
23
23
  // name: 'West-Straight',
24
- name: 'openatccomponents.overview.ws',
24
+ name: 'openatccomponents.overview.xi',
25
25
  // img: require('./images/West-Straight.svg'),
26
26
  class: 'iconfont icon-xizhihang'
27
27
  },
28
28
  {
29
29
  id: 13,
30
30
  // name: 'South-Straight',
31
- name: 'openatccomponents.overview.ss',
31
+ name: 'openatccomponents.overview.nan',
32
32
  // img: require('./images/South-Straight.svg'),
33
33
  class: 'iconfont icon-nanzhihang'
34
34
  },
35
35
  {
36
36
  id: 9,
37
37
  // name: 'North-Straight',
38
- name: 'openatccomponents.overview.ns',
38
+ name: 'openatccomponents.overview.bei',
39
39
  // img: require('./images/North-Straight.svg'),
40
40
  class: 'iconfont icon-beizhihang'
41
41
  },
42
42
  {
43
43
  id: 17,
44
44
  // name: 'South-Back',
45
- name: 'openatccomponents.overview.ses',
45
+ name: 'openatccomponents.overview.dongnan',
46
46
  // img: require('./images/South-Back.svg'),
47
47
  class: 'iconfont icon-dongnanzhihang'
48
48
  },
49
49
  {
50
50
  id: 21,
51
51
  // name: 'South-Back',
52
- name: 'openatccomponents.overview.sws',
52
+ name: 'openatccomponents.overview.xinan',
53
53
  // img: require('./images/South-Back.svg'),
54
54
  class: 'iconfont icon-xinanzhihang'
55
55
  },
56
56
  {
57
57
  id: 25,
58
58
  // name: 'South-Back',
59
- name: 'openatccomponents.overview.nes',
59
+ name: 'openatccomponents.overview.dongbei',
60
60
  // img: require('./images/South-Back.svg'),
61
61
  class: 'iconfont icon-dongbeizhihang'
62
62
  },
63
63
  {
64
64
  id: 29,
65
65
  // name: 'South-Back',
66
- name: 'openatccomponents.overview.nws',
66
+ name: 'openatccomponents.overview.xibei',
67
67
  // img: require('./images/South-Back.svg'),
68
68
  class: 'iconfont icon-xibeizhihang'
69
69
  }
@@ -62,6 +62,8 @@
62
62
  <div style="width: 100%; height: auto;overflow: hidden;" v-if="isHasPermission('configer:manual:dwell')">
63
63
  <Stages :crossStatusData="manuals?manualsStage:realtimeStage"
64
64
  :phaseList="phaseList"
65
+ :preselectStages="preselectStages"
66
+ :preselectModel="preselectModel"
65
67
  :isShowCurrentStage="false"
66
68
  @onSelectStages="selectStages"></Stages>
67
69
  </div>
@@ -51,7 +51,7 @@
51
51
  :label="item.label"
52
52
  :value="item.value">
53
53
  <div class="single-model">
54
- <xdrdirselector Width="40px" Height="40px" :showlist="item.item"></xdrdirselector>
54
+ <xdrdirselector Width="60px" Height="60px" Widths="50px" Heights="50px" :showlist="item.item"></xdrdirselector>
55
55
  <span style="float: right; color: #8492a6; font-size: 13px">{{ item.label }}</span>
56
56
  </div>
57
57
  </el-option>
@@ -691,7 +691,7 @@ export default {
691
691
  let res = {
692
692
  key: i,
693
693
  split: this.narr[i], // 阶段绿性比
694
- stages: stageArr,
694
+ phases: stageArr,
695
695
  stageKanban: stage,
696
696
  delaystart: 0,
697
697
  advanceend: 0