Showing 70 changed files with 4210 additions and 104 deletions

Too many changes to show.

To preserve performance only 70 of 70+ files are displayed.

  1 +ALTER TABLE `cloud_backend_monitor_1122`.`b_ops_person`
  2 +ADD COLUMN `politicsStatus` varchar(30) NULL COMMENT '政治面貌' AFTER `idcard`;
@@ -359,9 +359,8 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -359,9 +359,8 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
359 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true}, 359 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},
360 {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'}, 360 {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},
361 {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'}, 361 {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},
362 -  
363 - {field: 'hostState', title: '主机状态', align: 'center', minWidth: x_110, templet: '#hostStateTpl', sort: true},  
364 {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true}, 362 {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},
  363 + {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true}
365 ], 364 ],
366 "HUAWEI_CLOUD_PHYSICSHOST": [ 365 "HUAWEI_CLOUD_PHYSICSHOST": [
367 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 366 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -377,10 +376,9 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -377,10 +376,9 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
377 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true}, 376 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},
378 {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'}, 377 {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},
379 {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'}, 378 {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},
380 -  
381 - // 2021-11-22 徐毫杰 连接状态无数据改成展示主机状态  
382 - {field: 'hostState', title: '主机状态', align: 'center', minWidth: x_110, templet: '#hostStateTpl', sort: true},  
383 {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true}, 379 {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},
  380 + // 2021-11-22 徐毫杰 连接状态无数据改成展示主机状态
  381 + {field: 'hostState', title: '主机状态', align: 'center', minWidth: x_110, templet: '#hostStateTpl', sort: true}
384 ], 382 ],
385 "HUAWEI_CLOUD_VIRTUALHOST": [ 383 "HUAWEI_CLOUD_VIRTUALHOST": [
386 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 384 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -396,9 +394,8 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -396,9 +394,8 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
396 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true}, 394 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},
397 {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'}, 395 {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},
398 {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'}, 396 {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},
399 -  
400 - {field: 'hostState', title: '主机状态', align: 'center', width: 85, templet: '#hostStateTpl', sort: true},  
401 - {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true} 397 + {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},
  398 + {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true}
402 ], 399 ],
403 "HUAWEI_CLOUD_STORAGE": [ 400 "HUAWEI_CLOUD_STORAGE": [
404 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 401 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -414,8 +411,8 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -414,8 +411,8 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
414 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true}, 411 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},
415 {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'}, 412 {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},
416 {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'}, 413 {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},
417 - {field: 'hostState', title: '主机状态', align: 'center', width: 85, templet: '#hostStateTpl', sort: true},  
418 - {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true} 414 + {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},
  415 + {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true}
419 ], 416 ],
420 "HUAWEI_CLOUD_SWITCHBOARD": [ 417 "HUAWEI_CLOUD_SWITCHBOARD": [
421 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 418 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -427,14 +424,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -427,14 +424,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
427 // {field: 'cpuRate', title: 'CPU使用率', align: 'center', minWidth: x_130, templet: '#cpuRateTpl', sort: true}, 424 // {field: 'cpuRate', title: 'CPU使用率', align: 'center', minWidth: x_130, templet: '#cpuRateTpl', sort: true},
428 // {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_130, templet: '#memoryRateTpl', sort: true}, 425 // {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_130, templet: '#memoryRateTpl', sort: true},
429 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'}, 426 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'},
430 -  
431 - {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},  
432 - {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},  
433 - {field: 'hostState', title: '主机状态', align: 'center', width: 85, templet: '#hostStateTpl', sort: true},  
434 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true}, 427 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true},
435 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true}, 428 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},
436 - {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true}  
437 - 429 + {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},
  430 + {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},
  431 + {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},
  432 + {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true}
438 ], 433 ],
439 "HUAWEI_CLOUD_FIREWALL": [ 434 "HUAWEI_CLOUD_FIREWALL": [
440 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 435 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -446,14 +441,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -446,14 +441,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
446 // {field: 'cpuRate', title: 'CPU使用率', align: 'center', minWidth: x_130, templet: '#cpuRateTpl', sort: true}, 441 // {field: 'cpuRate', title: 'CPU使用率', align: 'center', minWidth: x_130, templet: '#cpuRateTpl', sort: true},
447 // {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_130, templet: '#memoryRateTpl', sort: true}, 442 // {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_130, templet: '#memoryRateTpl', sort: true},
448 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'}, 443 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'},
449 -  
450 - {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},  
451 - {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},  
452 - {field: 'hostState', title: '主机状态', align: 'center', width: 85, templet: '#hostStateTpl', sort: true},  
453 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true}, 444 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true},
454 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true}, 445 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},
455 - {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true}  
456 - 446 + {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},
  447 + {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},
  448 + {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},
  449 + {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true}
457 ], 450 ],
458 "ALI_CLOUD_ECS": [ 451 "ALI_CLOUD_ECS": [
459 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 452 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -467,14 +460,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -467,14 +460,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
467 {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_130, templet: '#memoryRateTpl', sort: true}, 460 {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_130, templet: '#memoryRateTpl', sort: true},
468 {field: 'ptName', title: '所属平台', minWidth: x_130, align: 'center', sort: true}, 461 {field: 'ptName', title: '所属平台', minWidth: x_130, align: 'center', sort: true},
469 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'}, 462 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'},
470 -  
471 - {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},  
472 - {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},  
473 - {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true},  
474 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true}, 463 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true},
475 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true}, 464 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},
476 - {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true}  
477 - 465 + {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},
  466 + {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},
  467 + {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},
  468 + {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true}
478 ], 469 ],
479 "ALI_CLOUD_RDS": [ 470 "ALI_CLOUD_RDS": [
480 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 471 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -486,13 +477,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -486,13 +477,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
486 {field: 'cpuRate', title: 'CPU使用率', align: 'center', minWidth: x_130, templet: '#cpuRateTpl', sort: true}, 477 {field: 'cpuRate', title: 'CPU使用率', align: 'center', minWidth: x_130, templet: '#cpuRateTpl', sort: true},
487 {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_130, templet: '#memoryRateTpl', sort: true}, 478 {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_130, templet: '#memoryRateTpl', sort: true},
488 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'}, 479 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'},
489 - {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},  
490 - {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},  
491 - {field: 'hostState', title: '主机状态', align: 'center', width: 85, templet: '#hostStateTpl', sort: true},  
492 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true}, 480 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true},
493 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true}, 481 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},
494 - {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true}  
495 - 482 + {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},
  483 + {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},
  484 + {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},
  485 + {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true}
496 ], 486 ],
497 "ALI_CLOUD_SLB": [ 487 "ALI_CLOUD_SLB": [
498 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 488 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -502,14 +492,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -502,14 +492,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
502 }, 492 },
503 {field: 'ip', title: 'IP地址', width: 130, align: 'center', sort: true}, 493 {field: 'ip', title: 'IP地址', width: 130, align: 'center', sort: true},
504 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'}, 494 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'},
505 -  
506 - {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},  
507 - {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},  
508 -  
509 - {field: 'hostState', title: '主机状态', align: 'center', width: 85, templet: '#hostStateTpl', sort: true},  
510 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true}, 495 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true},
511 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true}, 496 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},
  497 + {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},
  498 + {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},
512 {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true}, 499 {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},
  500 + {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true}
513 ], 501 ],
514 "ALI_CLOUD_OSS": [ 502 "ALI_CLOUD_OSS": [
515 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 503 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -519,13 +507,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -519,13 +507,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
519 }, 507 },
520 {field: 'ip', title: 'IP地址', width: 130, align: 'center', sort: true}, 508 {field: 'ip', title: 'IP地址', width: 130, align: 'center', sort: true},
521 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'}, 509 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'},
522 - {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},  
523 - {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},  
524 - {field: 'hostState', title: '主机状态', align: 'center', width: 85, templet: '#hostStateTpl', sort: true},  
525 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true}, 510 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true},
526 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true}, 511 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},
527 - {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true}  
528 - 512 + {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},
  513 + {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},
  514 + {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},
  515 + {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true}
529 ], 516 ],
530 "ALI_ARMS": [ 517 "ALI_ARMS": [
531 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 518 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -550,34 +537,29 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -550,34 +537,29 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
550 }, 537 },
551 {field: 'ip', title: 'IP地址', width: 130, align: 'center', sort: true}, 538 {field: 'ip', title: 'IP地址', width: 130, align: 'center', sort: true},
552 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'}, 539 {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'},
553 -  
554 - {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},  
555 - {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},  
556 -  
557 - {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true},  
558 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true}, 540 {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true},
559 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true}, 541 {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},
560 - {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true} 542 + {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},
  543 + {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},
  544 + {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},
  545 + {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true}
561 ], 546 ],
562 "A_CLOUD_PHYSICSHOST": [ 547 "A_CLOUD_PHYSICSHOST": [
563 // {type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 548 // {type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
564 - 549 + {field: 'ip', title: 'IP地址', width: 130, align: 'center', sort: true},
565 { 550 {
566 field: 'resName', title: '资源名称', minWidth: 250, sort: true, 551 field: 'resName', title: '资源名称', minWidth: 250, sort: true,
567 templet: '#resindex_resName' 552 templet: '#resindex_resName'
568 }, 553 },
569 - {field: 'ip', title: 'IP地址', width: 130, align: 'center', sort: true},  
570 - {field: 'resTypeName', title: '资源类型', width: 100, align: 'center'},  
571 {field: 'health', title: '健康状态', width: 120, align: 'center', sort: true, templet: '#healthTpl'}, 554 {field: 'health', title: '健康状态', width: 120, align: 'center', sort: true, templet: '#healthTpl'},
572 {field: 'cpuRate', title: 'CPU使用率', align: 'center', width: 120, templet: '#cpuRateTpl', sort: true}, 555 {field: 'cpuRate', title: 'CPU使用率', align: 'center', width: 120, templet: '#cpuRateTpl', sort: true},
573 {field: 'memoryRate', title: '内存使用率', align: 'center', width: 120, templet: '#memoryRateTpl', sort: true}, 556 {field: 'memoryRate', title: '内存使用率', align: 'center', width: 120, templet: '#memoryRateTpl', sort: true},
574 - 557 + {field: 'lastColTime', title: '最近采集时间', width: 160, align: 'center', sort: true},
575 {field: 'linkState', title: '连接状态', align: 'center', width: 110, templet: '#linkStateTpl', sort: true}, 558 {field: 'linkState', title: '连接状态', align: 'center', width: 110, templet: '#linkStateTpl', sort: true},
576 {field: 'adminName', title: '负责人', width: 125, align: 'center', sort: true}, 559 {field: 'adminName', title: '负责人', width: 125, align: 'center', sort: true},
577 {field: 'adminPhone', title: '负责人电话', width: 120, align: 'center', sort: true}, 560 {field: 'adminPhone', title: '负责人电话', width: 120, align: 'center', sort: true},
578 -  
579 - {field: 'state', title: '资源状态', width: 120, align: 'center', sort: true, templet: '#resStateTpl'},  
580 - {field: 'lastColTime', title: '最近采集时间', width: 160, align: 'center', sort: true} 561 + {field: 'resTypeName', title: '资源类型', width: 100, align: 'center'},
  562 + {field: 'state', title: '资源状态', width: 120, align: 'center', sort: true, templet: '#resStateTpl'}
581 ], 563 ],
582 "VIRTUALIZATION_COLONY": [ 564 "VIRTUALIZATION_COLONY": [
583 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 565 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -2575,21 +2557,19 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -2575,21 +2557,19 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
2575 {field: 'vmmemoryUseRate', title: '虚拟内存使用率', align: 'center', minWidth: x_165, templet: '#vmmemoryRateTpl', sort: true}, 2557 {field: 'vmmemoryUseRate', title: '虚拟内存使用率', align: 'center', minWidth: x_165, templet: '#vmmemoryRateTpl', sort: true},
2576 {field: 'maxNetCardUpRate', title: '上行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardUpRate}} kb/s</div>'}, 2558 {field: 'maxNetCardUpRate', title: '上行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardUpRate}} kb/s</div>'},
2577 {field: 'maxNetCardDownRate', title: '下行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardDownRate}} kb/s</div>'}, 2559 {field: 'maxNetCardDownRate', title: '下行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardDownRate}} kb/s</div>'},
  2560 + {field: 'lastColTime', title: '最近采集时间', minWidth: x_160, align: 'center', sort: true},
2578 {field: 'linkState', title: '连接状态', align: 'center', minWidth: x_110, templet: '#linkStateTpl', sort: true}, 2561 {field: 'linkState', title: '连接状态', align: 'center', minWidth: x_110, templet: '#linkStateTpl', sort: true},
2579 - {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'},  
2580 - {field: 'state', title: '资源状态', minWidth: x_110, align: 'center', sort: true, templet: '#resStateTpl'},  
2581 {field: 'adminName', title: '负责人', minWidth: x_120, align: 'center', sort: true}, 2562 {field: 'adminName', title: '负责人', minWidth: x_120, align: 'center', sort: true},
2582 {field: 'adminPhone', title: '负责人电话', minWidth: x_130, align: 'center', sort: true}, 2563 {field: 'adminPhone', title: '负责人电话', minWidth: x_130, align: 'center', sort: true},
2583 - {field: 'lastColTime', title: '最近采集时间', minWidth: x_160, align: 'center', sort: true} 2564 + {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'},
  2565 + {field: 'state', title: '资源状态', minWidth: x_110, align: 'center', sort: true, templet: '#resStateTpl'}
2584 ], 2566 ],
2585 "ALI_CLOUD_PLAT":[ 2567 "ALI_CLOUD_PLAT":[
2586 - 2568 + {field: 'ip', title: 'IP地址', minWidth: x_130, align: 'center', sort: true},
2587 { 2569 {
2588 field: 'resName', title: '资源名称', minWidth: x_300, sort: true, 2570 field: 'resName', title: '资源名称', minWidth: x_300, sort: true,
2589 templet: '#resindex_resName' 2571 templet: '#resindex_resName'
2590 }, 2572 },
2591 - {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'},  
2592 - {field: 'ip', title: 'IP地址', minWidth: x_130, align: 'center', sort: true},  
2593 {field: 'health', title: '健康状态', minWidth: x_110, align: 'center', sort: true, templet: '#healthTpl'}, 2573 {field: 'health', title: '健康状态', minWidth: x_110, align: 'center', sort: true, templet: '#healthTpl'},
2594 // {field: 'diskSize', title: '磁盘总大小', minWidth: 120, align: 'center'}, 2574 // {field: 'diskSize', title: '磁盘总大小', minWidth: 120, align: 'center'},
2595 {field: 'fileSysUseRate', title: '文件系统使用率(最大)', align: 'center', minWidth: x_185, templet: '#fileUseRateTpl', sort: true}, 2575 {field: 'fileSysUseRate', title: '文件系统使用率(最大)', align: 'center', minWidth: x_185, templet: '#fileUseRateTpl', sort: true},
@@ -2603,14 +2583,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -2603,14 +2583,12 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
2603 {field: 'vmmemoryUseRate', title: '虚拟内存使用率', align: 'center', minWidth: x_165, templet: '#vmmemoryRateTpl', sort: true}, 2583 {field: 'vmmemoryUseRate', title: '虚拟内存使用率', align: 'center', minWidth: x_165, templet: '#vmmemoryRateTpl', sort: true},
2604 {field: 'maxNetCardUpRate', title: '上行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardUpRate}} kb/s</div>'}, 2584 {field: 'maxNetCardUpRate', title: '上行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardUpRate}} kb/s</div>'},
2605 {field: 'maxNetCardDownRate', title: '下行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardDownRate}} kb/s</div>'}, 2585 {field: 'maxNetCardDownRate', title: '下行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardDownRate}} kb/s</div>'},
2606 - 2586 + {field: 'lastColTime', title: '最近采集时间', minWidth: x_160, align: 'center', sort: true},
2607 {field: 'linkState', title: '连接状态', align: 'center', minWidth: x_110, templet: '#linkStateTpl', sort: true}, 2587 {field: 'linkState', title: '连接状态', align: 'center', minWidth: x_110, templet: '#linkStateTpl', sort: true},
2608 -  
2609 -  
2610 - {field: 'state', title: '资源状态', minWidth: x_110, align: 'center', sort: true, templet: '#resStateTpl'},  
2611 {field: 'adminName', title: '负责人', minWidth: x_120, align: 'center', sort: true}, 2588 {field: 'adminName', title: '负责人', minWidth: x_120, align: 'center', sort: true},
2612 {field: 'adminPhone', title: '负责人电话', minWidth: x_130, align: 'center', sort: true}, 2589 {field: 'adminPhone', title: '负责人电话', minWidth: x_130, align: 'center', sort: true},
2613 - {field: 'lastColTime', title: '最近采集时间', minWidth: x_160, align: 'center', sort: true} 2590 + {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'},
  2591 + {field: 'state', title: '资源状态', minWidth: x_110, align: 'center', sort: true, templet: '#resStateTpl'}
2614 ], 2592 ],
2615 "ARMS":[ 2593 "ARMS":[
2616 { 2594 {
@@ -7853,4 +7853,7 @@ form[lay-filter="activewarning-form"] .layui-inline { @@ -7853,4 +7853,7 @@ form[lay-filter="activewarning-form"] .layui-inline {
7853 } 7853 }
7854 .info-ali-cloud-ecs span{ 7854 .info-ali-cloud-ecs span{
7855 width: 16%!important; 7855 width: 16%!important;
  7856 +}
  7857 +.layui-logo{
  7858 + pointer-events: none;
7856 } 7859 }
@@ -47,15 +47,15 @@ @@ -47,15 +47,15 @@
47 <i class="iconfont icon-icon--download"></i> 47 <i class="iconfont icon-icon--download"></i>
48 下载 48 下载
49 </el-button> 49 </el-button>
50 - <el-button :size="$global.elementSize" @click="showFolder(true,true)" v-if="canAddFolder && !isRecycle">  
51 - <i class="iconfont icon-weidaqiadewenjianjia"></i>  
52 - 新增文件夹  
53 - </el-button> 50 +<!-- <el-button :size="$global.elementSize" @click="showFolder(true,true)" v-if="canAddFolder && !isRecycle">-->
  51 +<!-- <i class="iconfont icon-weidaqiadewenjianjia"></i>-->
  52 +<!-- 新增文件夹-->
  53 +<!-- </el-button>-->
54 <el-button type="primary" :size="$global.elementSize" @click="showUploadFile(true)" v-if=" !isRecycle"> 54 <el-button type="primary" :size="$global.elementSize" @click="showUploadFile(true)" v-if=" !isRecycle">
55 <i class="iconfont icon-icon--shangchuan"></i> 55 <i class="iconfont icon-icon--shangchuan"></i>
56 上传 56 上传
57 </el-button> 57 </el-button>
58 - <el-button type="danger" :size="$global.elementSize" @click="deleteDocument('','file')"> 58 + <el-button type="danger" :size="$global.elementSize" @click="deleteDocument('','file')" v-if="isRecycle">
59 <i class="iconfont icon-shanchuwenjianjia"></i> 59 <i class="iconfont icon-shanchuwenjianjia"></i>
60 删除 60 删除
61 </el-button> 61 </el-button>
@@ -132,7 +132,7 @@ @@ -132,7 +132,7 @@
132 <el-input :size="$global.elementSize" v-model="docForm.name" clearable ></el-input> 132 <el-input :size="$global.elementSize" v-model="docForm.name" clearable ></el-input>
133 </el-form-item> 133 </el-form-item>
134 134
135 - <div v-if="!isUserFolder"> 135 + <!-- <div v-if="!isUserFolder">
136 <el-form-item label="文档编号" prop="docNo"> 136 <el-form-item label="文档编号" prop="docNo">
137 <el-input :size="$global.elementSize" v-model="docForm.docNo" clearable></el-input> 137 <el-input :size="$global.elementSize" v-model="docForm.docNo" clearable></el-input>
138 </el-form-item> 138 </el-form-item>
@@ -140,7 +140,7 @@ @@ -140,7 +140,7 @@
140 <el-form-item label="文档类型" prop="type"> 140 <el-form-item label="文档类型" prop="type">
141 <el-input :size="$global.elementSize" v-model="docForm.type" clearable></el-input> 141 <el-input :size="$global.elementSize" v-model="docForm.type" clearable></el-input>
142 </el-form-item> 142 </el-form-item>
143 - </div> 143 + </div>-->
144 144
145 145
146 <el-form-item label="排序" prop="sort"> 146 <el-form-item label="排序" prop="sort">
@@ -414,6 +414,7 @@ export default { @@ -414,6 +414,7 @@ export default {
414 let addDialogVisible = Vue.ref(false); 414 let addDialogVisible = Vue.ref(false);
415 let addDialogTitle = Vue.ref(''); 415 let addDialogTitle = Vue.ref('');
416 let docForm = Vue.ref({ 416 let docForm = Vue.ref({
  417 + id:'',
417 name: '', 418 name: '',
418 docNo: '', 419 docNo: '',
419 type: '', 420 type: '',
@@ -421,6 +422,7 @@ export default { @@ -421,6 +422,7 @@ export default {
421 }); 422 });
422 let showFolder = (flg, isUser) => { 423 let showFolder = (flg, isUser) => {
423 docForm.value = { 424 docForm.value = {
  425 + id:'',
424 name: '', 426 name: '',
425 docNo: '', 427 docNo: '',
426 type: '', 428 type: '',
@@ -428,8 +430,8 @@ export default { @@ -428,8 +430,8 @@ export default {
428 }; 430 };
429 isUserFolder.value = isUser; 431 isUserFolder.value = isUser;
430 addDialogVisible.value = flg; 432 addDialogVisible.value = flg;
431 - let title = `新建树节点“${currentNodeData.value.name}“子文件夹`;  
432 - if (isUser) { 433 + let title = `修改树节点“${currentNodeData.value.name}“子文件夹`;
  434 + if (addDialogVisible.value) {
433 title = `新建自定义文件夹`; 435 title = `新建自定义文件夹`;
434 } 436 }
435 addDialogTitle.value = title 437 addDialogTitle.value = title
@@ -561,7 +563,6 @@ export default { @@ -561,7 +563,6 @@ export default {
561 authUsernames: userIds, 563 authUsernames: userIds,
562 authOrgIds: orgInfo 564 authOrgIds: orgInfo
563 } 565 }
564 -  
565 proxy.$http.post(`/inspection-report/file/doc/grant`, params, function (res) { 566 proxy.$http.post(`/inspection-report/file/doc/grant`, params, function (res) {
566 if (res && res.success) { 567 if (res && res.success) {
567 proxy.$global.showMsg('授权成功!'); 568 proxy.$global.showMsg('授权成功!');
@@ -138,10 +138,19 @@ export default { @@ -138,10 +138,19 @@ export default {
138 proxy.$http.get("/api-user/org/queryOrgs?searchQuery=", {}, function (res) { 138 proxy.$http.get("/api-user/org/queryOrgs?searchQuery=", {}, function (res) {
139 if (res && res.data) { 139 if (res && res.data) {
140 res.data.map(function (v) { 140 res.data.map(function (v) {
  141 + let desc = [];
  142 + let value = v.value;
  143 + let name = v.name;
  144 + if (name) {
  145 + desc.push(name);
  146 + }
  147 + if (value) {
  148 + desc.push(value);
  149 + }
141 orgArr.value.push({ 150 orgArr.value.push({
142 value: v.orgId, 151 value: v.orgId,
143 type:'ORG', 152 type:'ORG',
144 - desc: ``, 153 + desc: `${desc.join(' / ')}`,
145 props : v 154 props : v
146 }) 155 })
147 }); 156 });
@@ -162,7 +162,7 @@ @@ -162,7 +162,7 @@
162 162
163 {{# 163 {{#
164 var dataName = layui.setter.response.dataName; 164 var dataName = layui.setter.response.dataName;
165 - var fisthref = ""; 165 + var fisthref = "/index";
166 var defaultMenu = d.str; 166 var defaultMenu = d.str;
167 var defaultModuleid = ''; 167 var defaultModuleid = '';
168 var defaultPath = ''; 168 var defaultPath = '';
@@ -321,8 +321,14 @@ @@ -321,8 +321,14 @@
321 </li> 321 </li>
322 </ul> 322 </ul>
323 </div> 323 </div>
324 - <div class="layui-tab" lay-unauto lay-allowClose="true" lay-filter="layadmin-layout-tabs"> 324 + <div style="padding:0 10px;float: left;">
  325 + <dd layadmin-event="toYTHViewScreen" ><a><img src="/src/style/img/icon-yitihuadaping.png" style="width: 16px;height: 16px"></a></dd>
  326 + </div>
  327 +
  328 + <div class="layui-tab" lay-unauto lay-allowClose="true" lay-filter="layadmin-layout-tabs">
  329 +
325 <ul class="layui-tab-title" id="LAY_app_tabsheader"> 330 <ul class="layui-tab-title" id="LAY_app_tabsheader">
  331 +
326 {{# if(d.data.length >= 1 ){ }} 332 {{# if(d.data.length >= 1 ){ }}
327 {{# if(d.data[0].moduleid == 'index'){ }} 333 {{# if(d.data[0].moduleid == 'index'){ }}
328 <li lay-id="/"><i class="layui-icon layui-icon-home"></i></li> 334 <li lay-id="/"><i class="layui-icon layui-icon-home"></i></li>
@@ -335,6 +341,8 @@ @@ -335,6 +341,8 @@
335 <li lay-id="/"><i class="layui-icon layui-icon-home"></i></li> 341 <li lay-id="/"><i class="layui-icon layui-icon-home"></i></li>
336 {{# } }} 342 {{# } }}
337 </ul> 343 </ul>
  344 +
  345 +
338 </div> 346 </div>
339 </div> 347 </div>
340 </script> 348 </script>
@@ -40,6 +40,10 @@ @@ -40,6 +40,10 @@
40 40
41 @import "../css/navTabs.css"; 41 @import "../css/navTabs.css";
42 42
  43 +@import "../css/machineroom.css";
  44 +
  45 +@import "../css/Details.css";
  46 +
43 /*故障诊断书*/ 47 /*故障诊断书*/
44 @import "../css/faultDiagnosis.css"; 48 @import "../css/faultDiagnosis.css";
45 49
  1 +
  2 +body{
  3 + /* background-image: url(/vue3/src/assets/images/machineRoom/img-bg-1.png);
  4 + background-size: 100%;*/
  5 +
  6 +}
  7 +li{
  8 + list-style: none
  9 +}
  10 +
  11 +.all{
  12 + display:flex;
  13 + justify-content: space-between;
  14 + overflow: hidden;
  15 + width:90%;
  16 + margin:auto;
  17 +}
  18 +.flex-center{
  19 + justify-content: center;
  20 +}
  21 +
  22 +/* 左侧机柜样式 */
  23 +
  24 +.contain{
  25 +
  26 + width:413px;
  27 + height:710px;
  28 + /*margin-left:3%;*/
  29 + /*margin-top:5%;*/
  30 + /* background-color: red; */
  31 + background-image: url(/vue3/src/assets/images/machineRoom/img-no-machine.png);
  32 + background-size: 100%;
  33 + background-repeat: no-repeat;
  34 + position: relative;
  35 +
  36 +}
  37 +
  38 +.contain-server{
  39 + /*position: absolute;*/
  40 + /*width:365px;*/
  41 + /*height:40%;*/
  42 + /*margin-left:18px;*/
  43 + /*bottom:7%; */
  44 + display: flex;
  45 + justify-content: space-between;
  46 + flex-direction:column;
  47 + align-items: center;
  48 + /* background-color: red; */
  49 +
  50 +}
  51 +
  52 +
  53 +.serve{
  54 + width:382px;
  55 + height:61px;
  56 + /*margin-left:-3px;*/
  57 + background-image: url(/vue3/src/assets/images/machineRoom/img-4Uservice.png);
  58 + background-size: 100% 100%;
  59 + background-repeat: no-repeat;
  60 + margin-bottom: 10px;
  61 + position: absolute;
  62 + bottom: 0;
  63 +}
  64 +.serve-4u-1{
  65 + bottom: 66px;
  66 +}
  67 +.serve-4u-2{
  68 + bottom: 132px;
  69 +}
  70 +.serve-4u-3{
  71 + bottom: 198px;
  72 +}
  73 +.serve-4u-4{
  74 + bottom: 264px;
  75 +}
  76 +.serve-4u-5{
  77 + bottom: 330px;
  78 +}
  79 +.serve-4u-6{
  80 + bottom: 396px;
  81 +}
  82 +.serve-4u-7{
  83 + bottom: 462px;
  84 +}
  85 +.serve-4u-8{
  86 + bottom: 528px;
  87 +}
  88 +.serve-4u-9{
  89 + bottom: 594px;
  90 +}
  91 +.serve-4u-10{
  92 + bottom: 660px;
  93 +}
  94 +.serve-8u-1{
  95 + bottom: 137px;
  96 +}
  97 +.serve-8u-2{
  98 + bottom: 274px;
  99 +}
  100 +.serve-8u-3{
  101 + bottom: 411px;
  102 +}
  103 +.serve-8u-4{
  104 + bottom: 548px;
  105 +}
  106 +.serve-8u-5{
  107 + bottom: 878px;
  108 +}
  109 +.img-serve-1{
  110 + background-image: url(/vue3/src/assets/images/machineRoom/img-1Uservice.png);
  111 + height:17px;
  112 + width:383px;
  113 +}
  114 +.img-serve-2{
  115 + background-image: url(/vue3/src/assets/images/machineRoom/img-2Uservice.png);
  116 + height:34px;
  117 + width:383px;
  118 +}
  119 +.img-serve-6{
  120 + background-image: url(/vue3/src/assets/images/machineRoom/img-6Uservice.png);
  121 + height:100px;
  122 + width:383px;
  123 +}
  124 +.img-serve-8{
  125 + background-image: url(/vue3/src/assets/images/machineRoom/img-8Uservice.png);
  126 + height:127px;
  127 + width:383px;
  128 +}
  129 +.img-serve-10{
  130 + background-image: url(/vue3/src/assets/images/machineRoom/img-10Uservice.png);
  131 + height:157px;
  132 + width:383px;
  133 +}
  134 +.img-serve-1 .img-serve-text{
  135 + font-size: 11px;
  136 + line-height: 17px;
  137 +}
  138 +.img-serve-1 .state{
  139 + height: 16px;
  140 + width: 16px;
  141 + margin: 0;
  142 +}
  143 +.img-serve-2 .state{
  144 + height: 20px;
  145 + width: 20px;
  146 + margin: 0;
  147 +}
  148 +.img-serve-2 .img-serve-text{
  149 + font-size: 11px;
  150 + line-height: 34px;
  151 +}
  152 +.img-serve{
  153 +
  154 + /*width:340px;
  155 + height:50px;
  156 + margin:12px auto;*/
  157 + display: flex;
  158 + justify-content: space-around;
  159 + align-items: center;
  160 + height: 100%;
  161 +
  162 +}
  163 +
  164 +.lamp{
  165 + display:flex;
  166 + width:58%;
  167 + justify-content: space-around;
  168 + align-items: center;
  169 +}
  170 +
  171 +.server-flex{
  172 + display: flex;
  173 + justify-content: space-around;
  174 + width:42%;
  175 +}
  176 +.img-lamp{
  177 + /*margin-left:15px;*/
  178 + /*margin-top:10px*/
  179 + display: flex;
  180 + justify-content: space-around;
  181 + width: 50%;
  182 +}
  183 +
  184 +/* 服务器状态图片样式 */
  185 +.state{
  186 + width:35px;
  187 + height:35px;
  188 + /*margin-top:8px;*/
  189 + margin-left:4px;
  190 +}
  191 +
  192 +.img-serve-text{
  193 + color:#fff;
  194 + line-height: 50px;
  195 + /*margin-left:10px;*/
  196 +}
  197 +
  198 +
  199 +.img-weblog{
  200 + margin-left:34px;
  201 + /*margin-top:15px;*/
  202 + width:30px;
  203 + height:20px;
  204 +
  205 +}
  206 +
  207 +
  208 +
  209 +
  210 +/* 右侧机柜详细信息样式 */
  211 +
  212 +.info{
  213 + width:500px;
  214 + height:700px;
  215 + margin-right:8%;
  216 + /*margin-top:5%;*/
  217 + /* background-color: red; */
  218 + display: flex;
  219 + flex-flow: column;
  220 + justify-content: center;
  221 +
  222 +}
  223 +
  224 +
  225 +.info-top{
  226 + height:340px;
  227 + /*margin-top:-10px;*/
  228 + background-image: url(/vue3/src/assets/images/machineRoom/img-machineInfo-bg.png);
  229 +
  230 +}
  231 +
  232 +.info-bottom{
  233 + height:340px;
  234 + margin-top:20px;
  235 + background-image: url(/vue3/src/assets/images/machineRoom/img-deviceInfo-bg.png);
  236 +}
  237 +.contain{
  238 + display: flex;
  239 + justify-content: center;
  240 + align-items: end;
  241 +}
  242 +.info-contain{
  243 + width:90%;
  244 + display:inline-block;
  245 + height:250px;
  246 + margin-top:60px;
  247 + margin-left: 60px;
  248 +
  249 +}
  250 +
  251 +
  252 +.info-text{
  253 + height:50px;
  254 + font-weight: bolder;
  255 + font-size: 20px;
  256 + color:#fff;
  257 + text-align: left;
  258 + /* background-color: rgb(59, 185, 8); */
  259 +}
  260 +
  261 +.info-text-bot{
  262 + margin-top:-15px;
  263 + height:200px;
  264 + font-size: 16px;
  265 + letter-spacing: 2px;
  266 + color:#fff;
  267 + text-align: left;
  268 + /* background-color: rgb(93, 15, 196); */
  269 +}
  270 +.info-text-bot p{
  271 + text-align: left;
  272 + margin:16px 0;
  273 +}
  274 +.img-serve{
  275 + cursor: pointer;
  276 +}
  277 +.info-bottom{
  278 + /*display:none;*/
  279 +}
  280 +body::-webkit-scrollbar{
  281 + width:15px;
  282 +}
  283 +/* 垂直滚动条的滑动块 */
  284 +body::-webkit-scrollbar-thumb:vertical {
  285 + border-radius: 4px;
  286 + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
  287 + background-color:#169db2;
  288 +}
  289 +/*修改滚动条的下面的样式*/
  290 +body::-webkit-scrollbar-track{
  291 + background-color:#05235c;
  292 + -webkit-borderd-radius:2em;
  293 + -moz-borderd-radius:2em;
  294 + borderd-radius:2em;
  295 +}
@@ -3,6 +3,9 @@ @@ -3,6 +3,9 @@
3 justify-content: center; 3 justify-content: center;
4 margin-top: 30px; 4 margin-top: 30px;
5 } 5 }
  6 +body{
  7 + padding:0;
  8 +}
6 .iconAdd{ 9 .iconAdd{
7 width:50%; 10 width:50%;
8 height:240px; 11 height:240px;
@@ -16,7 +19,8 @@ @@ -16,7 +19,8 @@
16 /*add页面*/ 19 /*add页面*/
17 .analysis-add-container{ 20 .analysis-add-container{
18 height: 100%; 21 height: 100%;
19 - background-color: #f6f6f6; 22 + background-color: #FFFFFF;
  23 + overflow: auto;
20 } 24 }
21 .add-top{ 25 .add-top{
22 background-color: #FFFFFF; 26 background-color: #FFFFFF;
@@ -79,6 +83,87 @@ @@ -79,6 +83,87 @@
79 color: #337ab7; 83 color: #337ab7;
80 cursor: pointer; 84 cursor: pointer;
81 } 85 }
  86 +.text-left{
  87 + text-align: left;
  88 +}
  89 +.analysis-list{
  90 + padding:20px;
  91 +}
  92 +.analysis-list table{
  93 + margin-top:0;
  94 +}
  95 +.list-title{
  96 + margin-bottom:20px;
  97 +}
  98 +.analysis-list .el-table th.el-table__cell{
  99 + color: rgb(30,159,255);
  100 + font-weight: bold;
  101 + background-color: rgb(235,245,249);
  102 +}
  103 +.icon-bg{
  104 + display: flex;
  105 + justify-content: center;
  106 + align-items: center;
  107 + width: 20px;
  108 + height: 20px;
  109 + background:rgb(30,159,255);
  110 + border-radius: 2px;
  111 + cursor: pointer;
  112 +}
  113 +.icon-list{
  114 + display: inline-block;
  115 + background-size: 100%;
  116 + background-position: center;
  117 + width: 14px;
  118 + height: 14px;
  119 +}
  120 +.button-flex-div-center span{
  121 + display: flex;
  122 + justify-content: center;
  123 + align-items: center;
  124 +}
  125 +.button-flex-div-center .icon-list{
  126 + margin-right: 3px;
  127 +}
  128 +.list-search{
  129 + margin-bottom: 20px;
  130 +}
  131 +.icon-list-delete{
  132 + background-image: url("/vue3/src/assets/images/analysis/icon-list-delete.png");
  133 +}
  134 +.icon-list-group{
  135 + background-image: url("/vue3/src/assets/images/analysis/icon-list-group.png");
  136 +}
82 137
  138 +.icon-list-message{
  139 + background-image: url("/vue3/src/assets/images/analysis/icon-list-message.png");
  140 +}
  141 +.icon-list-safe{
  142 + background-image: url("/vue3/src/assets/images/analysis/icon-list-safe.png");
  143 +}
83 144
  145 +.icon-list-net{
  146 + background-image: url("/vue3/src/assets/images/analysis/icon-list-net.png");
  147 +}
  148 +.search-text{
  149 + cursor: pointer;
  150 +}
  151 +.alert-div{
  152 + position:absolute;
  153 + top:0;
  154 +}
84 155
  156 +.analysis-table-div{
  157 + margin-bottom: 34px;
  158 +}
  159 +.demo-pagination-block{
  160 + background: #FFFFFF;
  161 + position: fixed;
  162 + bottom: 0;
  163 + border: 1px solid #ccc;
  164 + width: 100%;
  165 + text-align: left;
  166 + left: 0;
  167 + padding: 5px 10px;
  168 + z-index: 1;
  169 +}
@@ -108,3 +108,6 @@ @@ -108,3 +108,6 @@
108 .dataCenter-container .machine-room .el-tabs--card>.el-tabs__header .el-tabs__nav{ 108 .dataCenter-container .machine-room .el-tabs--card>.el-tabs__header .el-tabs__nav{
109 border-color: #00ccff; 109 border-color: #00ccff;
110 } 110 }
  111 +.dataCenter-container .el-dialog__body{
  112 + min-height: 700px;
  113 +}
  1 +@charset "utf-8";
  2 +*
  3 +{
  4 + margin:0;
  5 + padding:0;
  6 +}
  7 +html
  8 +{
  9 + width:100%;
  10 + height:100%;
  11 + font-size:14px;
  12 + font-family:Arial, Helvetica, sans-serif;
  13 + -webkit-text-size-adjust:none;
  14 + /*background-image:url("/vue3/src/assets/images/machineRoom/img-beijing-dp.png");
  15 + background-repeat: no-repeat;
  16 + background-position: center;*/
  17 +}
  18 +body
  19 +{
  20 + /*padding:5px;*/
  21 +}
  22 +
  23 +.outlinediv {
  24 + padding-top: 30px;
  25 + border: 2px solid #0a93be;
  26 + width: 900px;
  27 + height: 600px;
  28 + margin: 0 auto;
  29 + font-size: 16px;
  30 + border-radius: 5px;
  31 + text-align: center;
  32 + color: #bbb;
  33 + position: relative;
  34 + display: list-item;
  35 +
  36 +
  37 +}
  38 +.outlinediv span {
  39 + /*color: rgba(0, 0, 0, 0.89);*/
  40 + color: rgba(255, 255, 255, 0.89);
  41 + line-height: 20px;
  42 + font-size: 14px;
  43 +}
  44 +.outlinediv .xiaoshansecond-topcabinet{
  45 + margin-top: 20px;
  46 + margin-left: 7%;
  47 + padding: 20px;
  48 + width: 80%;
  49 + height:100px;
  50 +
  51 +}
  52 +
  53 +.outlinediv .xiaoshansecond-middlecabinet{
  54 + margin-top: 50px;
  55 + margin-bottom: 50px;
  56 + margin-left: 7%;
  57 + padding: 20px;
  58 + width: 80%;
  59 + height:100px;
  60 +
  61 +}
  62 +.outlinediv .xiaoshansecond-bottomcabinet{
  63 + margin-left: 7%;
  64 + padding: 20px;
  65 + width: 80%;
  66 + height:100px;
  67 +
  68 +}
  69 +.cabinet{
  70 + width:auto;height:auto;max-height:100%;max-width:100%;
  71 +}
  72 +table{
  73 + margin-top: 20px;
  74 + border-collapse:collapse;
  75 +}
  76 +table tr{
  77 + height: 50px;
  78 +}
  79 +tr.sevenempty {
  80 + height: 10px;
  81 +}
  82 +table tr td{
  83 + position: relative;
  84 + max-width: 35px;
  85 +}
  86 +
  87 +table td .cabinetId{
  88 +
  89 + position: absolute;/*绝对定位*/
  90 + top:20px;
  91 + width: 100%;
  92 + bottom: 0px;/*离底下0像素*/
  93 + left: 0px;/*离左边0像素*/
  94 + text-align: center;
  95 +
  96 + font-size: 12px;
  97 +
  98 + color: white;
  99 +}
  100 +.outlinediv .xiaoshanthird-topcabinet{
  101 + margin-left:22%;
  102 + padding: 20px;
  103 + width: 80%;
  104 +}
  105 +.outlinediv .xiaoshanseven-leftcabinet{
  106 + margin-left:1%;
  107 + width: 40%;
  108 +}
  109 +.outlinediv .xiaoshanseven-rightcabinet{
  110 + margin-left: 5px;
  111 + width: 40%;
  112 +}
  113 +.outlinediv .xiaoshanseven-middlecabinet{
  114 + margin-top: 20px;
  115 + padding-top: 30%;
  116 + border: 2px solid #111D1A;
  117 + width:12% ;
  118 + height: 255px;
  119 + text-align: center;
  120 +}
  121 +.outlinediv .huzhouone-topcabinet{
  122 + margin-left:10%;
  123 + width: 90%;
  124 +}
  125 +tr.zaibeione{
  126 + height: 90px;
  127 +}
  128 +.zaibei.cabinetId{
  129 + position: absolute;/*绝对定位*/
  130 + top:10px;
  131 + width: 100%;
  132 + bottom: 0px;/*离底下0像素*/
  133 + left: 0px;/*离左边0像素*/
  134 + text-align: center;
  135 +
  136 + font-size: 8px;
  137 +
  138 + color: white;
  139 +}
  140 +.cursorClass{
  141 + cursor: pointer;
  142 +}
@@ -107,6 +107,11 @@ @@ -107,6 +107,11 @@
107 107
108 <el-row :gutter="5"> 108 <el-row :gutter="5">
109 <el-col :span="8"> 109 <el-col :span="8">
  110 + <el-form-item label="政治面貌" prop="politicsStatus" class="form-class">
  111 + <el-input v-model="ruleForm.politicsStatus"></el-input>
  112 + </el-form-item>
  113 + </el-col>
  114 + <el-col :span="8">
110 <el-form-item label="在职状态" prop="certificate" :readonly="isAdmin()" class="form-class"> 115 <el-form-item label="在职状态" prop="certificate" :readonly="isAdmin()" class="form-class">
111 <el-radio-group v-model="ruleForm.state"> 116 <el-radio-group v-model="ruleForm.state">
112 <el-radio :label="1">在职</el-radio> 117 <el-radio :label="1">在职</el-radio>
@@ -235,7 +235,8 @@ export default { @@ -235,7 +235,8 @@ export default {
235 quitTime: '', 235 quitTime: '',
236 state: '', 236 state: '',
237 tel: '', 237 tel: '',
238 - idcard:'' 238 + idcard:'',
  239 + politicsStatus:''
239 }) 240 })
240 241
241 // 获取表格数据 242 // 获取表格数据
@@ -259,7 +260,10 @@ export default { @@ -259,7 +260,10 @@ export default {
259 260
260 // 保存用户信息 261 // 保存用户信息
261 let saveUser = () => { 262 let saveUser = () => {
262 - 263 + if(!ruleForm.value.politicsStatus){
  264 + proxy.$global.showMsg('政治面貌不能为空!',"warning");
  265 + return false;
  266 + }
263 proxy.$http.post("/api-web/bOpsPerson/saveOrUpdate", ruleForm.value, function (res) { 267 proxy.$http.post("/api-web/bOpsPerson/saveOrUpdate", ruleForm.value, function (res) {
264 if (res && res.code == 0) { 268 if (res && res.code == 0) {
265 proxy.$global.showMsg('保存成功!'); 269 proxy.$global.showMsg('保存成功!');
@@ -194,9 +194,11 @@ export default { @@ -194,9 +194,11 @@ export default {
194 return { 194 return {
195 keyWords: keyWords.value, 195 keyWords: keyWords.value,
196 resType: resTypeArr.value.join(','), 196 resType: resTypeArr.value.join(','),
197 - kpiType: kpiTypeArr.value.join(','),  
198 - bizType: busTypeArr.value.join(','),  
199 - configId: config.value 197 + kpiId: kpiTypeArr.value.join(','),
  198 + busId: busTypeArr.value.join(','),
  199 + configId: config.value,
  200 + page:2,
  201 + limit:10
200 } 202 }
201 } 203 }
202 204
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <div class="add-top-title" style=" padding: 20px 20px 20px 20px;font-size: 16px;color:#337ab7"> 2 <div class="add-top-title" style=" padding: 20px 20px 20px 20px;font-size: 16px;color:#337ab7">
3 比对分析场景 3 比对分析场景
4 </div> 4 </div>
5 - <div class="analysis-drop"> 5 + <div class="analysis-drop" v-if="!isShowLIst">
6 <router-link :to="'/analysis/add'" class="analysis link-type"> 6 <router-link :to="'/analysis/add'" class="analysis link-type">
7 <div class="analysis-index-container" style="display: grid;"> 7 <div class="analysis-index-container" style="display: grid;">
8 <img src="/vue3/src/assets/images/analysis/icon-add.png" style="margin-left: 20px;"></img> 8 <img src="/vue3/src/assets/images/analysis/icon-add.png" style="margin-left: 20px;"></img>
@@ -11,4 +11,76 @@ @@ -11,4 +11,76 @@
11 </router-link> 11 </router-link>
12 12
13 </div> 13 </div>
  14 + <div class="analysis-list" v-if="isShowLIst">
  15 + <el-row class="list-search">
  16 + <el-col :span="6">
  17 + <div class="search-input flex-div-start">
  18 + <el-input v-model="inputSearch" placeholder="请输入创建人名称" />
  19 + <span class="search-text" @click="searchData">搜索</span>
  20 + </div>
  21 +
  22 + </el-col>
  23 + </el-row>
  24 + <!-- <el-row class="list-title">
  25 + <el-col :span="24" class="text-left">
  26 + <el-button type="primary" class="button-flex-div-center"><i class="icon-list icon-list-add"></i>新增</el-button>
  27 + <el-button type="primary" class="button-flex-div-center"><i class="icon-list icon-list-delete"></i>删除</el-button>
  28 + </el-col>
  29 + </el-row>-->
  30 + <el-row class="analysis-table-div">
  31 + <el-col :span="24">
  32 + <el-table border ref="multipleTable" @selection-change="handleSelectionChange" :data="tableData" stripe style="width: 100%">
  33 +<!-- <el-table-column align="center" type="selection" width="55" />-->
  34 + <el-table-column prop="configName" align="center" label="配置项名称" sortable width="180" />
  35 + <el-table-column prop="configDepict" label="配置项描述" sortable width="180" />
  36 + <el-table-column prop="timeScopeName" label="时间范围" sortable width="180" ></el-table-column>
  37 + <el-table-column align="center" prop="nickname" label="创建人名称" sortable width="180" />
  38 + <el-table-column align="center" prop="createTime" :formatter="dateFormat" label="创建时间" sortable width="210" />
  39 +
  40 + <el-table-column prop="address" label="操作" >
  41 + <template #default="scope">
  42 + <div class="list-handle">
  43 + <span class="icon-bg">
  44 + <i class="icon-list icon-list-delete" @click="handleDelete(scope.row)"></i>
  45 + </span>
  46 + <!--<i class="icon-list icon-list-group"></i>
  47 + <i class="icon-list icon-list-message"></i>
  48 + <i class="icon-list icon-list-safe"></i>
  49 + <i class="icon-list icon-list-net"></i>-->
  50 + </div>
  51 +
  52 + </template>
  53 + </el-table-column>
  54 + </el-table>
  55 + </el-col>
  56 + </el-row>
  57 + <el-row>
  58 + <div class="demo-pagination-block">
  59 + <el-pagination
  60 + v-model:currentPage="currentPage4"
  61 + :page-sizes="[10,20,30,40]"
  62 + :page-size="pageSize"
  63 + layout="total, prev, pager, next, sizes, jumper"
  64 + :total="totalCount"
  65 + @size-change="handleSizeChange"
  66 + @current-change="handleCurrentChange"
  67 + >
  68 + </el-pagination>
  69 + </div>
  70 + </el-row>
  71 + </div>
  72 + <div class="add-dialog">
  73 + <el-dialog v-model="addVisible" :title="添加配置" width="50%" @close="closeDialog" top="15vh">
  74 + <el-form ref="addHandleForm" :model="addHandleForm" label-width="120px">
  75 + <el-form-item label="名称">
  76 + <el-input v-model="addHandleForm.parentName"></el-input>
  77 + </el-form-item>
  78 +
  79 + <el-form-item label="描述">
  80 + <el-input v-model="addHandleForm.desc"></el-input>
  81 + </el-form-item>
  82 + </el-form>
  83 + </el-dialog>
  84 +
  85 + </div>
14 </div> 86 </div>
@@ -4,10 +4,128 @@ export default { @@ -4,10 +4,128 @@ export default {
4 components:{}, 4 components:{},
5 data () { 5 data () {
6 return { 6 return {
  7 + multipleSelection:[],
  8 + domainName:sessionStorage.getItem('domainName'),
  9 + apiUrl:'/api-web/ContrastAnalysis/getParentNodes',
  10 + apiUrl1:'/api-web/ContrastAnalysis/deleteScene',
  11 + addVisible:false,//新增弹框
  12 + inputSearch:'',//搜索内容
  13 + nickname:'',//
  14 + messageVisible:false,//消息提示
  15 + pageSize:10,//每页显示条数
  16 + // currentPage:1,//当前页
  17 + // totalCount:0,//总条数
7 18
8 } 19 }
9 }, 20 },
10 setup(){ 21 setup(){
  22 + const {proxy} = Vue.getCurrentInstance();
  23 + const isShowLIst=Vue.ref(false);
  24 + const tableData=Vue.ref([]);
  25 + const totalCount=Vue.ref(0);
  26 + const currentPage=Vue.ref(1);
11 27
  28 + // 挂载完
  29 + Vue.onMounted(() => {
  30 + proxy.getData();
  31 +
  32 + })
  33 + //获取对比分析列表
  34 + const getData=()=>{
  35 + let params={
  36 + nickname:proxy.nickname,
  37 + limit:proxy.pageSize,
  38 + page:proxy.currentPage
  39 + }
  40 + $.get(proxy.domainName +proxy.apiUrl+'?access_token='+localStorage.getItem('access_token'),params,function (res) {
  41 + if(res){
  42 + console.log("res",res)
  43 + proxy.totalCount=res.count;
  44 + proxy.tableData=res.data;
  45 + proxy.tableData.map((item,index)=>{
  46 + item.createTime= proxy.dateForma(item,item.createTime)
  47 + })
  48 + }
  49 +
  50 +
  51 + if(proxy.tableData && proxy.tableData.length>0){
  52 + proxy.isShowLIst=true
  53 + }else{
  54 + proxy.isShowLIst=false
  55 +
  56 + }
  57 +
  58 + })
  59 +
  60 + }
  61 +
  62 + const toggleSelection=(rows)=> {
  63 + if (rows) {
  64 + rows.forEach((row) => {
  65 + this.$refs.multipleTable.toggleRowSelection(row)
  66 + })
  67 + } else {
  68 + this.$refs.multipleTable.clearSelection()
  69 + }
  70 + }
  71 + const handleSelectionChange=(val)=> {
  72 + this.multipleSelection = val
  73 + }
  74 + //单个删除
  75 + const handleDelete=(item)=>{
  76 +
  77 + let params={
  78 + id:item.id
  79 + }
  80 + $.get(proxy.domainName +proxy.apiUrl1+'?access_token='+localStorage.getItem('access_token'),params,function (res) {
  81 + if(res){
  82 + proxy.$global.showMsg("删除成功","warning")
  83 + proxy.getData();
  84 + }
  85 + })
  86 + }
  87 + const searchData=()=>{
  88 + proxy.nickname=proxy.inputSearch;
  89 + proxy.getData();
  90 + }
  91 + //格式化时间格式
  92 + let dateForma=(row,column)=>{
  93 + const daterc = column
  94 + if(daterc!=null){
  95 + const dateMat= new Date(parseInt(daterc));
  96 + const year = dateMat.getFullYear();
  97 + const month = dateMat.getMonth() + 1;
  98 + const day = dateMat.getDate();
  99 + const hh = dateMat.getHours();
  100 + const mm = dateMat.getMinutes();
  101 + const ss = dateMat.getSeconds();
  102 + const timeFormat= year + "年" + month + "月" + day + "日 " + hh + ":" + mm + ":" + ss;
  103 + return timeFormat;
  104 + }
  105 +
  106 + }
  107 + const handleSizeChange = (val) => {
  108 + proxy.pageSize=val;
  109 + proxy.getData();
  110 + }
  111 + //切换当前页
  112 + const handleCurrentChange = (val) => {
  113 + proxy.currentPage=val;
  114 + proxy.getData();
  115 + }
  116 + return{
  117 + isShowLIst,
  118 + tableData,
  119 + toggleSelection,
  120 + handleSelectionChange,
  121 + getData,
  122 + handleDelete,
  123 + dateForma,
  124 + searchData,
  125 + handleSizeChange,
  126 + handleCurrentChange,
  127 + totalCount,
  128 + currentPage
  129 + }
12 } 130 }
13 } 131 }
@@ -21,7 +21,7 @@ @@ -21,7 +21,7 @@
21 <div class="room-html"> 21 <div class="room-html">
22 <el-row> 22 <el-row>
23 <el-col class="video-item" :span="24" > 23 <el-col class="video-item" :span="24" >
24 - <MachineRoom v-if="src" :src="src"></MachineRoom> 24 + <MachineRoom v-if="src" :src="src" ref="machineRoom" ></MachineRoom>
25 </el-col> 25 </el-col>
26 </el-row> 26 </el-row>
27 </div> 27 </div>
  1 +// 获取状态
  2 +const indirectManage = () => {
  3 + const store = Vuex.useStore()
  4 +
  5 + // 用toRef获取 busId,有相应性,可以直接修改state
  6 + const changeIndex = Vue.toRef(store.state, 'changeIndex')
  7 +
  8 + return {
  9 + changeIndex
  10 + }
  11 +}
1 export default { 12 export default {
2 name: 'machineRoom', 13 name: 'machineRoom',
3 template: '', 14 template: '',
@@ -19,20 +30,14 @@ export default { @@ -19,20 +30,14 @@ export default {
19 30
20 } 31 }
21 }, 32 },
22 - watch:{  
23 - changeIndex(newValue, oldValue) {  
24 - console.log("changeIndex",newValue)  
25 - }  
26 -  
27 - },  
28 -  
29 setup(props, {attrs, slots, emit}) { 33 setup(props, {attrs, slots, emit}) {
30 const {proxy} = Vue.getCurrentInstance(); 34 const {proxy} = Vue.getCurrentInstance();
31 proxy.htmlName=Vue.ref(); 35 proxy.htmlName=Vue.ref();
32 proxy.commandVal=Vue.ref() 36 proxy.commandVal=Vue.ref()
33 proxy.commandName=Vue.ref(); 37 proxy.commandName=Vue.ref();
34 proxy.src=Vue.ref(); 38 proxy.src=Vue.ref();
35 - 39 + // 获取状态
  40 + const { changeIndex} = indirectManage()
36 41
37 // 挂载完 42 // 挂载完
38 Vue.onMounted(() => { 43 Vue.onMounted(() => {
@@ -50,8 +55,9 @@ export default { @@ -50,8 +55,9 @@ export default {
50 proxy.commandVal=item.val; 55 proxy.commandVal=item.val;
51 } 56 }
52 }) 57 })
53 - proxy.src='/h5/machineroom/'+proxy.htmlName+'.html?access_token='+proxy.accessToken+'&changeIndex='+proxy.changeIndex  
54 - console.log("htmlName",proxy.htmlName,proxy.src) 58 + // proxy.src='/h5/machineroom/'+proxy.htmlName+'.html?access_token='+proxy.accessToken+'&changeIndex='+proxy.changeIndex
  59 + //根据htmlName确定引入的机房
  60 + proxy.src=proxy.htmlName
55 61
56 } 62 }
57 const handleCommand=(command,event)=>{ 63 const handleCommand=(command,event)=>{
@@ -59,14 +65,12 @@ export default { @@ -59,14 +65,12 @@ export default {
59 proxy.commandVal=command.props.name; 65 proxy.commandVal=command.props.name;
60 66
61 proxy.getMachine(proxy.commandVal) 67 proxy.getMachine(proxy.commandVal)
62 -  
63 - // proxy.innerVisible=true; 68 + changeIndex.value=proxy.changeIndex;
64 } 69 }
65 70
66 return{ 71 return{
67 getMachine, 72 getMachine,
68 handleCommand 73 handleCommand
69 -  
70 } 74 }
71 } 75 }
72 } 76 }
  1 +<div v-if="!isDetailShow" class="outlinediv" style="height: 666px">
  2 + <!-- <span>湖州灾备一机房平面图</span>-->
  3 + <div class="huzhouone-topcabinet">
  4 + <table>
  5 + <tr v-for="(items,indexs) in tableData" :class="{'zaibeione':items.length==0}">
  6 + <td v-if="items.length" v-for="(item,index) in items" :class="{'cursorClass':item.isShow}" :width="item.width" @click="goDetail(item)">
  7 + <img v-if="item.isShow" src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet" alt="">
  8 + <span v-if="item.isShow" class="zaibei cabinetId">{{item.name}}</span>
  9 + </td>
  10 + </tr>
  11 + <!-- <tr>
  12 + <td><img></td>
  13 + <td><img></td>
  14 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">PDA 4A</span></a></td>
  15 + <td><img></td>
  16 + <td><img></td>
  17 + <td><img ></td>
  18 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">FA-7</span></a></td>
  19 + <td><img/></td>
  20 + <td><img/></td>
  21 + <td><img ></td>
  22 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="zaibei cabinetId">FA-6</span></a></td>
  23 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">FA-5</span></a></td>
  24 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="zaibei cabinetId">FA-4</span></a></td>
  25 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">FA-3</span></a></td>
  26 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">FA-2</span></a></td>
  27 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">FA-1</span></a></td>
  28 + <td><img/></td>
  29 + <td><img/></td>
  30 + <td><img ></td>
  31 + <td><img></td>
  32 + <td><img></td>
  33 + <td><img></td>
  34 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">AC-3</span></a></td>
  35 + </tr>
  36 + <tr>
  37 + <td><img></td>
  38 + <td><img></td>
  39 + <td><img ></td>
  40 + <td><img></td>
  41 + <td><img></td>
  42 + <td><img ></td>
  43 + <td><img ></td>
  44 + <td><img/></td>
  45 + <td><img/></td>
  46 + <td><img ></td>
  47 + <td><img ></td>
  48 + <td><img></td>
  49 + <td><img></td>
  50 + <td><img></td>
  51 + <td><img ></td>
  52 + <td><img></td>
  53 + <td><img/></td>
  54 + <td><img/></td>
  55 + <td><img ></td>
  56 + <td><img></td>
  57 + <td><img></td>
  58 + <td><img></td>
  59 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId"></span></a></td>
  60 + </tr>
  61 + <tr>
  62 + <td><img></td>
  63 + <td><img></td>
  64 + <td><img ></td>
  65 + <td><img></td>
  66 + <td><img></td>
  67 + <td><img ></td>
  68 + <td><img ></td>
  69 + <td><img/></td>
  70 + <td><img/></td>
  71 + <td><img ></td>
  72 + <td><img ></td>
  73 + <td><img></td>
  74 + <td><img></td>
  75 + <td><img></td>
  76 + <td><img ></td>
  77 + <td><img></td>
  78 + <td><img/></td>
  79 + <td><img/></td>
  80 + <td><img ></td>
  81 + <td><img></td>
  82 + <td><img></td>
  83 + <td><img></td>
  84 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">AC-4</span></a></td>
  85 + </tr>
  86 + <tr>
  87 + <td><img></td>
  88 + <td><img></td>
  89 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">PDA 3A</span></a></td>
  90 + <td><img></td>
  91 + <td><img></td>
  92 + <td><img ></td>
  93 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">FB-7</span></a></td>
  94 + <td><img/></td>
  95 + <td><img/></td>
  96 + <td><img ></td>
  97 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="zaibei cabinetId">FB-6</span></a></td>
  98 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">FB-5</span></a></td>
  99 + <td><a href="/h5/machineroomDetail/FB-4.html"><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="zaibei cabinetId">FB-4</span></a></td>
  100 + <td><a href="/h5/machineroomDetail/FB-3.html"><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">FB-3</span></a></td>
  101 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">FB-2</span></a></td>
  102 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">FB-1</span></a></td>
  103 + <td><img/></td>
  104 + <td><img/></td>
  105 + <td><img ></td>
  106 + <td><img></td>
  107 + <td><img></td>
  108 + <td><img></td>
  109 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId"></span></a></td>
  110 + </tr>
  111 + <tr class="zaibeione"></tr>
  112 + <tr>
  113 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">XA-11</span></a></td>
  114 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">XA-10</span></a></td>
  115 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">PDA 1A</span></a></td>
  116 + <td width="10px"></td>
  117 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">EMC1</span></a></td>
  118 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="zaibei cabinetId">EMC2</span></a></td>
  119 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="zaibei cabinetId">EMC3</span></a></td>
  120 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">XA-7</span></a></td>
  121 + <td><img></td>
  122 + <td><img ></td>
  123 + <td><img></td>
  124 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="zaibei cabinetId">小型机595A</span></a></td>
  125 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">小型机595B</span></a></td>
  126 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">小型机3</span></a></td>
  127 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">小型机570-2</span></a></td>
  128 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">小型机570-1</span></a></td>
  129 + <td><img></td>
  130 +
  131 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">XA-1</span></a></td>
  132 + </tr>
  133 + <tr>
  134 + <td><img></td>
  135 + <td><img></td>
  136 + <td><img ></td>
  137 + <td><img></td>
  138 + <td><img></td>
  139 + <td><img ></td>
  140 + <td><img ></td>
  141 + <td><img/></td>
  142 + <td><img/></td>
  143 + <td><img ></td>
  144 + <td><img ></td>
  145 + <td><img></td>
  146 + <td><img></td>
  147 + <td><img></td>
  148 + <td><img ></td>
  149 + <td><img></td>
  150 + <td><img/></td>
  151 + <td><img/></td>
  152 + <td><img ></td>
  153 + <td><img></td>
  154 + <td><img></td>
  155 + <td><img></td>
  156 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId"></span></a></td>
  157 + </tr>
  158 + <tr>
  159 + <td><img></td>
  160 + <td><img></td>
  161 + <td><img ></td>
  162 + <td><img></td>
  163 + <td><img></td>
  164 + <td><img ></td>
  165 + <td><img ></td>
  166 + <td><img/></td>
  167 + <td><img/></td>
  168 + <td><img ></td>
  169 + <td><img ></td>
  170 + <td><img></td>
  171 + <td><img></td>
  172 + <td><img></td>
  173 + <td><img ></td>
  174 + <td><img></td>
  175 + <td><img/></td>
  176 + <td><img/></td>
  177 + <td><img ></td>
  178 + <td><img></td>
  179 + <td><img></td>
  180 + <td><img></td>
  181 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">AC-2</span></a></td>
  182 + </tr>
  183 + <tr>
  184 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">XB-11</span></a></td>
  185 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">XB-10</span></a></td>
  186 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">PDA 2B</span></a></td>
  187 + <td style="width: 15px"></td>
  188 + <td><img></td>
  189 + <td><img ></td>
  190 + <td><img></td>
  191 + <td><img></td>
  192 + <td><img></td>
  193 + <td><img ></td>
  194 + <td><img></td>
  195 + <td><img/></td>
  196 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">小型机570-4</span></a></td>
  197 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="zaibei cabinetId">小型机570-3</span></a></td>
  198 + <td><img ></td>
  199 + <td><img></td>
  200 + <td><img></td>
  201 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">XB-1</span></a></td>
  202 + <td><img ></td>
  203 + <td><img></td>
  204 + <td><img></td>
  205 + <td><img></td>
  206 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId"></span></a></td>
  207 + </tr>
  208 + <tr>
  209 + <td><img></td>
  210 + <td><img></td>
  211 + <td><img ></td>
  212 + <td><img></td>
  213 + <td><img></td>
  214 + <td><img ></td>
  215 + <td><img ></td>
  216 + <td><img/></td>
  217 + <td><img/></td>
  218 + <td><img ></td>
  219 + <td><img ></td>
  220 + <td><img></td>
  221 + <td><img></td>
  222 + <td><img></td>
  223 + <td><img ></td>
  224 + <td><img></td>
  225 + <td><img/></td>
  226 + <td><img/></td>
  227 + <td><img ></td>
  228 + <td><img></td>
  229 + <td><img></td>
  230 + <td><img></td>
  231 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="zaibei cabinetId">AC-1</span></a></td>
  232 + </tr>-->
  233 + </table>
  234 + </div>
  235 +</div>
  236 +<machineRoomDetail v-if="isDetailShow" :detailData="detailData" :machineData="machineData"></machineRoomDetail>
  1 +// 获取状态
  2 +const indirectManage = () => {
  3 + const store = Vuex.useStore()
  4 +
  5 + // 用toRef获取 busId,有相应性,可以直接修改state
  6 + const changeIndex = Vue.toRef(store.state, 'changeIndex')
  7 +
  8 + return {
  9 + changeIndex
  10 + }
  11 +}
  12 +export default {
  13 + name: 'huzhouOne',
  14 + template: '',
  15 + components: {
  16 + 'MachineRoomDetail': Vue.defineAsyncComponent(
  17 + () => myImport('views/commonComponents/machineRoomDetail/index')
  18 + ),
  19 + },
  20 + props:['src'],
  21 + data(){
  22 + return {
  23 + domainName:sessionStorage.getItem('domainName'),
  24 + accessToken:localStorage.getItem('access_token'),
  25 + isDetailShow:false,//是否展示详情页
  26 + detailData:'',//详情数据
  27 + htmlName:'huzhouzaibeione',
  28 + machineData:this.src,
  29 + allowClickData:['FB-3','FB-4'],//允许进入详情的机柜
  30 + tableData:[
  31 + [
  32 +
  33 + {
  34 + name:'',
  35 + isShow:false,
  36 + className:'',
  37 + width:''
  38 + },
  39 + {
  40 + name:'',
  41 + isShow:false,
  42 + className:'',
  43 + width:''
  44 + },
  45 + {
  46 + name:'PDA 4A',
  47 + isShow:true,
  48 + className:'',
  49 + width:''
  50 + },
  51 + {
  52 + name:'',
  53 + isShow:false,
  54 + className:'',
  55 + width:''
  56 + },
  57 + {
  58 + name:'',
  59 + isShow:false,
  60 + className:'',
  61 + width:''
  62 + },
  63 + {
  64 + name:'',
  65 + isShow:false,
  66 + className:'',
  67 + width:''
  68 + },
  69 + {
  70 + name:'FA-7',
  71 + isShow:true,
  72 + className:'',
  73 + width:''
  74 + },
  75 + {
  76 + name:'',
  77 + isShow:false,
  78 + className:'',
  79 + width:''
  80 + },
  81 + {
  82 + name:'',
  83 + isShow:false,
  84 + className:'',
  85 + width:''
  86 + },
  87 + {
  88 + name:'',
  89 + isShow:false,
  90 + className:'',
  91 + width:''
  92 + },
  93 + {
  94 + name:'FA-6',
  95 +
  96 + isShow:true,
  97 + className:'',
  98 + width:''
  99 + },
  100 + {
  101 + name:'FA-5',
  102 +
  103 + isShow:true,
  104 + className:'',
  105 + width:''
  106 + },
  107 + {
  108 + name:'FA-4',
  109 +
  110 + isShow:true,
  111 + className:'',
  112 + width:''
  113 + },
  114 + {
  115 + name:'FA-3',
  116 +
  117 + isShow:true,
  118 + className:'',
  119 + width:''
  120 + },
  121 + {
  122 + name:'FA-2',
  123 +
  124 + isShow:true,
  125 + className:'',
  126 + width:''
  127 + },
  128 + {
  129 + name:'FA-1',
  130 +
  131 + isShow:true,
  132 + className:'',
  133 + width:''
  134 + },
  135 + {
  136 + name:'',
  137 +
  138 + isShow:false,
  139 + className:'',
  140 + width:''
  141 + },
  142 + {
  143 + name:'',
  144 +
  145 + isShow:false,
  146 + className:'',
  147 + width:''
  148 + },
  149 + {
  150 + name:'',
  151 +
  152 + isShow:false,
  153 + className:'',
  154 + width:''
  155 + },
  156 + {
  157 + name:'',
  158 +
  159 + isShow:false,
  160 + className:'',
  161 + width:''
  162 + },
  163 + {
  164 + name:'',
  165 +
  166 + isShow:false,
  167 + className:'',
  168 + width:''
  169 + },
  170 + {
  171 + name:'',
  172 +
  173 + isShow:false,
  174 + className:'',
  175 + width:''
  176 + },
  177 + {
  178 + name:'AC-3',
  179 +
  180 + isShow:true,
  181 + className:'',
  182 + width:''
  183 + },
  184 +
  185 +
  186 + ],
  187 + [
  188 +
  189 + {
  190 + name:'',
  191 +
  192 + isShow:false,
  193 + className:'',
  194 + width:''
  195 + },
  196 + {
  197 + name:'',
  198 +
  199 + isShow:false,
  200 + className:'',
  201 + width:''
  202 + },
  203 + {
  204 + name:'',
  205 +
  206 + isShow:false,
  207 + className:'',
  208 + width:''
  209 + },
  210 + {
  211 + name:'',
  212 +
  213 + isShow:false,
  214 + className:'',
  215 + width:''
  216 + },
  217 + {
  218 + name:'',
  219 +
  220 + isShow:false,
  221 + className:'',
  222 + width:''
  223 + },
  224 + {
  225 + name:'',
  226 +
  227 + isShow:false,
  228 + className:'',
  229 + width:''
  230 + },
  231 + {
  232 + name:'',
  233 +
  234 + isShow:false,
  235 + className:'',
  236 + width:''
  237 + },
  238 + {
  239 + name:'',
  240 +
  241 + isShow:false,
  242 + className:'',
  243 + width:''
  244 + },
  245 + {
  246 + name:'',
  247 +
  248 + isShow:false,
  249 + className:'',
  250 + width:''
  251 + },
  252 + {
  253 + name:'',
  254 +
  255 + isShow:false,
  256 + className:'',
  257 + width:''
  258 + },
  259 + {
  260 + name:'',
  261 +
  262 + isShow:false,
  263 + className:'',
  264 + width:''
  265 + },
  266 + {
  267 + name:'',
  268 +
  269 + isShow:false,
  270 + className:'',
  271 + width:''
  272 + },
  273 + {
  274 + name:'',
  275 +
  276 + isShow:false,
  277 + className:'',
  278 + width:''
  279 + },
  280 + {
  281 + name:'',
  282 +
  283 + isShow:false,
  284 + className:'',
  285 + width:''
  286 + },
  287 + {
  288 + name:'',
  289 +
  290 + isShow:false,
  291 + className:'',
  292 + width:''
  293 + },
  294 + {
  295 + name:'',
  296 +
  297 + isShow:false,
  298 + className:'',
  299 + width:''
  300 + },
  301 + {
  302 + name:'',
  303 +
  304 + isShow:false,
  305 + className:'',
  306 + width:''
  307 + },
  308 + {
  309 + name:'',
  310 +
  311 + isShow:false,
  312 + className:'',
  313 + width:''
  314 + },
  315 + {
  316 + name:'',
  317 +
  318 + isShow:false,
  319 + className:'',
  320 + width:''
  321 + },
  322 + {
  323 + name:'',
  324 +
  325 + isShow:false,
  326 + className:'',
  327 + width:''
  328 + },
  329 + {
  330 + name:'',
  331 +
  332 + isShow:false,
  333 + className:'',
  334 + width:''
  335 + },
  336 + {
  337 + name:'',
  338 +
  339 + isShow:false,
  340 + className:'',
  341 + width:''
  342 + },
  343 + {
  344 + name:'',
  345 +
  346 + isShow:true,
  347 + className:'',
  348 + width:''
  349 + },
  350 +
  351 +
  352 + ],
  353 + [
  354 +
  355 + {
  356 + name:'',
  357 +
  358 + isShow:false,
  359 + className:'',
  360 + width:''
  361 + },
  362 + {
  363 + name:'',
  364 +
  365 + isShow:false,
  366 + className:'',
  367 + width:''
  368 + },
  369 + {
  370 + name:'',
  371 +
  372 + isShow:false,
  373 + className:'',
  374 + width:''
  375 + },
  376 + {
  377 + name:'',
  378 +
  379 + isShow:false,
  380 + className:'',
  381 + width:''
  382 + },
  383 + {
  384 + name:'',
  385 +
  386 + isShow:false,
  387 + className:'',
  388 + width:''
  389 + },
  390 + {
  391 + name:'',
  392 +
  393 + isShow:false,
  394 + className:'',
  395 + width:''
  396 + },
  397 + {
  398 + name:'',
  399 +
  400 + isShow:false,
  401 + className:'',
  402 + width:''
  403 + },
  404 + {
  405 + name:'',
  406 +
  407 + isShow:false,
  408 + className:'',
  409 + width:''
  410 + },
  411 + {
  412 + name:'',
  413 +
  414 + isShow:false,
  415 + className:'',
  416 + width:''
  417 + },
  418 + {
  419 + name:'',
  420 +
  421 + isShow:false,
  422 + className:'',
  423 + width:''
  424 + },
  425 + {
  426 + name:'',
  427 +
  428 + isShow:false,
  429 + className:'',
  430 + width:''
  431 + },
  432 + {
  433 + name:'',
  434 +
  435 + isShow:false,
  436 + className:'',
  437 + width:''
  438 + },
  439 + {
  440 + name:'',
  441 +
  442 + isShow:false,
  443 + className:'',
  444 + width:''
  445 + },
  446 + {
  447 + name:'',
  448 +
  449 + isShow:false,
  450 + className:'',
  451 + width:''
  452 + },
  453 + {
  454 + name:'',
  455 +
  456 + isShow:false,
  457 + className:'',
  458 + width:''
  459 + },
  460 + {
  461 + name:'',
  462 +
  463 + isShow:false,
  464 + className:'',
  465 + width:''
  466 + },
  467 + {
  468 + name:'',
  469 +
  470 + isShow:false,
  471 + className:'',
  472 + width:''
  473 + },
  474 + {
  475 + name:'',
  476 +
  477 + isShow:false,
  478 + className:'',
  479 + width:''
  480 + },
  481 + {
  482 + name:'',
  483 +
  484 + isShow:false,
  485 + className:'',
  486 + width:''
  487 + },
  488 + {
  489 + name:'',
  490 +
  491 + isShow:false,
  492 + className:'',
  493 + width:''
  494 + },
  495 + {
  496 + name:'',
  497 +
  498 + isShow:false,
  499 + className:'',
  500 + width:''
  501 + },
  502 + {
  503 + name:'',
  504 +
  505 + isShow:false,
  506 + className:'',
  507 + width:''
  508 + },
  509 + {
  510 + name:'AC-4',
  511 +
  512 + isShow:true,
  513 + className:'',
  514 + width:''
  515 + },
  516 +
  517 +
  518 + ],
  519 + [
  520 +
  521 + {
  522 + name:'',
  523 +
  524 + isShow:false,
  525 + className:'',
  526 + width:''
  527 + },
  528 + {
  529 + name:'',
  530 +
  531 + isShow:false,
  532 + className:'',
  533 + width:''
  534 + },
  535 + {
  536 + name:'PDA 3A',
  537 +
  538 + isShow:true,
  539 + className:'',
  540 + width:''
  541 + },
  542 + {
  543 + name:'',
  544 +
  545 + isShow:false,
  546 + className:'',
  547 + width:''
  548 + },
  549 + {
  550 + name:'',
  551 +
  552 + isShow:false,
  553 + className:'',
  554 + width:''
  555 + },
  556 + {
  557 + name:'',
  558 +
  559 + isShow:false,
  560 + className:'',
  561 + width:''
  562 + },
  563 + {
  564 + name:'FB-7',
  565 +
  566 + isShow:true,
  567 + className:'',
  568 + width:''
  569 + },
  570 + {
  571 + name:'',
  572 +
  573 + isShow:false,
  574 + className:'',
  575 + width:''
  576 + },
  577 + {
  578 + name:'',
  579 +
  580 + isShow:false,
  581 + className:'',
  582 + width:''
  583 + },
  584 + {
  585 + name:'',
  586 +
  587 + isShow:false,
  588 + className:'',
  589 + width:''
  590 + },
  591 + {
  592 + name:'FB-6',
  593 +
  594 + isShow:true,
  595 + className:'',
  596 + width:''
  597 + },
  598 + {
  599 + name:'FB-5',
  600 +
  601 + isShow:true,
  602 + className:'',
  603 + width:''
  604 + },
  605 + {
  606 + name:'FB-4',
  607 +
  608 + isShow:true,
  609 + className:'',
  610 + width:''
  611 + },
  612 + {
  613 + name:'FB-3',
  614 +
  615 + isShow:true,
  616 + className:'',
  617 + width:''
  618 + },
  619 + {
  620 + name:'FB-2',
  621 +
  622 + isShow:true,
  623 + className:'',
  624 + width:''
  625 + },
  626 + {
  627 + name:'FB-1',
  628 +
  629 + isShow:true,
  630 + className:'',
  631 + width:''
  632 + },
  633 + {
  634 + name:'',
  635 +
  636 + isShow:false,
  637 + className:'',
  638 + width:''
  639 + },
  640 + {
  641 + name:'',
  642 +
  643 + isShow:false,
  644 + className:'',
  645 + width:''
  646 + },
  647 + {
  648 + name:'',
  649 +
  650 + isShow:false,
  651 + className:'',
  652 + width:''
  653 + },
  654 + {
  655 + name:'',
  656 +
  657 + isShow:false,
  658 + className:'',
  659 + width:''
  660 + },
  661 + {
  662 + name:'',
  663 +
  664 + isShow:false,
  665 + className:'',
  666 + width:''
  667 + },
  668 + {
  669 + name:'',
  670 +
  671 + isShow:false,
  672 + className:'',
  673 + width:''
  674 + },
  675 + {
  676 + name:'',
  677 +
  678 + isShow:true,
  679 + className:'',
  680 + width:''
  681 + },
  682 +
  683 +
  684 + ],
  685 + [
  686 +
  687 + ],
  688 + [
  689 +
  690 + {
  691 + name:'XA-11',
  692 +
  693 + isShow:true,
  694 + className:'',
  695 + width:''
  696 + },
  697 + {
  698 + name:'XA-10',
  699 +
  700 + isShow:true,
  701 + className:'',
  702 + width:''
  703 + },
  704 + {
  705 + name:'PDA 1A',
  706 +
  707 + isShow:true,
  708 + className:'',
  709 + width:''
  710 + },
  711 + {
  712 + name:'',
  713 +
  714 + isShow:false,
  715 + className:'',
  716 + width:'10px'
  717 + },
  718 + {
  719 + name:'EMC1',
  720 +
  721 + isShow:true,
  722 + className:'',
  723 + width:''
  724 + },
  725 + {
  726 + name:'EMC2',
  727 +
  728 + isShow:true,
  729 + className:'',
  730 + width:''
  731 + },
  732 + {
  733 + name:'EMC3',
  734 +
  735 + isShow:true,
  736 + className:'',
  737 + width:''
  738 + },
  739 + {
  740 + name:'XA-7',
  741 +
  742 + isShow:true,
  743 + className:'',
  744 + width:''
  745 + },
  746 + {
  747 + name:'',
  748 +
  749 + isShow:false,
  750 + className:'',
  751 + width:''
  752 + },
  753 + {
  754 + name:'',
  755 +
  756 + isShow:false,
  757 + className:'',
  758 + width:''
  759 + },
  760 + {
  761 + name:'',
  762 +
  763 + isShow:false,
  764 + className:'',
  765 + width:''
  766 + },
  767 + {
  768 + name:'小型机595A',
  769 +
  770 + isShow:true,
  771 + className:'',
  772 + width:''
  773 + },
  774 + {
  775 + name:'小型机595B',
  776 +
  777 + isShow:true,
  778 + className:'',
  779 + width:''
  780 + },
  781 + {
  782 + name:'小型机3',
  783 +
  784 + isShow:true,
  785 + className:'',
  786 + width:''
  787 + },
  788 + {
  789 + name:'小型机570-2',
  790 +
  791 + isShow:true,
  792 + className:'',
  793 + width:''
  794 + },
  795 + {
  796 + name:'小型机570-1',
  797 +
  798 + isShow:true,
  799 + className:'',
  800 + width:''
  801 + },
  802 + {
  803 + name:'',
  804 +
  805 + isShow:false,
  806 + className:'',
  807 + width:''
  808 + },
  809 + {
  810 + name:'XA-1',
  811 +
  812 + isShow:true,
  813 + className:'',
  814 + width:''
  815 + }
  816 + ],
  817 + [
  818 +
  819 + {
  820 + name:'',
  821 +
  822 + isShow:false,
  823 + className:'',
  824 + width:''
  825 + },
  826 + {
  827 + name:'',
  828 +
  829 + isShow:false,
  830 + className:'',
  831 + width:''
  832 + },
  833 + {
  834 + name:'',
  835 +
  836 + isShow:false,
  837 + className:'',
  838 + width:''
  839 + },
  840 + {
  841 + name:'',
  842 +
  843 + isShow:false,
  844 + className:'',
  845 + width:''
  846 + },
  847 + {
  848 + name:'',
  849 +
  850 + isShow:false,
  851 + className:'',
  852 + width:''
  853 + },
  854 + {
  855 + name:'',
  856 +
  857 + isShow:false,
  858 + className:'',
  859 + width:''
  860 + },
  861 + {
  862 + name:'',
  863 +
  864 + isShow:false,
  865 + className:'',
  866 + width:''
  867 + },
  868 + {
  869 + name:'',
  870 +
  871 + isShow:false,
  872 + className:'',
  873 + width:''
  874 + },
  875 + {
  876 + name:'',
  877 +
  878 + isShow:false,
  879 + className:'',
  880 + width:''
  881 + },
  882 + {
  883 + name:'',
  884 +
  885 + isShow:false,
  886 + className:'',
  887 + width:''
  888 + },
  889 + {
  890 + name:'',
  891 +
  892 + isShow:false,
  893 + className:'',
  894 + width:''
  895 + },
  896 + {
  897 + name:'',
  898 +
  899 + isShow:false,
  900 + className:'',
  901 + width:''
  902 + },
  903 + {
  904 + name:'',
  905 +
  906 + isShow:false,
  907 + className:'',
  908 + width:''
  909 + },
  910 + {
  911 + name:'',
  912 +
  913 + isShow:false,
  914 + className:'',
  915 + width:''
  916 + },
  917 + {
  918 + name:'',
  919 +
  920 + isShow:false,
  921 + className:'',
  922 + width:''
  923 + },
  924 + {
  925 + name:'',
  926 +
  927 + isShow:false,
  928 + className:'',
  929 + width:''
  930 + },
  931 + {
  932 + name:'',
  933 +
  934 + isShow:false,
  935 + className:'',
  936 + width:''
  937 + },
  938 + {
  939 + name:'',
  940 +
  941 + isShow:false,
  942 + className:'',
  943 + width:''
  944 + },
  945 + {
  946 + name:'',
  947 +
  948 + isShow:false,
  949 + className:'',
  950 + width:''
  951 + },
  952 + {
  953 + name:'',
  954 +
  955 + isShow:false,
  956 + className:'',
  957 + width:''
  958 + },
  959 + {
  960 + name:'',
  961 +
  962 + isShow:false,
  963 + className:'',
  964 + width:''
  965 + },
  966 + {
  967 + name:'',
  968 +
  969 + isShow:false,
  970 + className:'',
  971 + width:''
  972 + },
  973 + {
  974 + name:'',
  975 +
  976 + isShow:true,
  977 + className:'',
  978 + width:''
  979 + },
  980 +
  981 +
  982 + ],
  983 + [
  984 +
  985 + {
  986 + name:'',
  987 +
  988 + isShow:false,
  989 + className:'',
  990 + width:''
  991 + },
  992 + {
  993 + name:'',
  994 +
  995 + isShow:false,
  996 + className:'',
  997 + width:''
  998 + },
  999 + {
  1000 + name:'',
  1001 +
  1002 + isShow:false,
  1003 + className:'',
  1004 + width:''
  1005 + },
  1006 + {
  1007 + name:'',
  1008 +
  1009 + isShow:false,
  1010 + className:'',
  1011 + width:''
  1012 + },
  1013 + {
  1014 + name:'',
  1015 +
  1016 + isShow:false,
  1017 + className:'',
  1018 + width:''
  1019 + },
  1020 + {
  1021 + name:'',
  1022 +
  1023 + isShow:false,
  1024 + className:'',
  1025 + width:''
  1026 + },
  1027 + {
  1028 + name:'',
  1029 +
  1030 + isShow:false,
  1031 + className:'',
  1032 + width:''
  1033 + },
  1034 + {
  1035 + name:'',
  1036 +
  1037 + isShow:false,
  1038 + className:'',
  1039 + width:''
  1040 + },
  1041 + {
  1042 + name:'',
  1043 +
  1044 + isShow:false,
  1045 + className:'',
  1046 + width:''
  1047 + },
  1048 + {
  1049 + name:'',
  1050 +
  1051 + isShow:false,
  1052 + className:'',
  1053 + width:''
  1054 + },
  1055 + {
  1056 + name:'',
  1057 +
  1058 + isShow:false,
  1059 + className:'',
  1060 + width:''
  1061 + },
  1062 + {
  1063 + name:'',
  1064 +
  1065 + isShow:false,
  1066 + className:'',
  1067 + width:''
  1068 + },
  1069 + {
  1070 + name:'',
  1071 +
  1072 + isShow:false,
  1073 + className:'',
  1074 + width:''
  1075 + },
  1076 + {
  1077 + name:'',
  1078 +
  1079 + isShow:false,
  1080 + className:'',
  1081 + width:''
  1082 + },
  1083 + {
  1084 + name:'',
  1085 +
  1086 + isShow:false,
  1087 + className:'',
  1088 + width:''
  1089 + },
  1090 + {
  1091 + name:'',
  1092 +
  1093 + isShow:false,
  1094 + className:'',
  1095 + width:''
  1096 + },
  1097 + {
  1098 + name:'',
  1099 +
  1100 + isShow:false,
  1101 + className:'',
  1102 + width:''
  1103 + },
  1104 + {
  1105 + name:'',
  1106 +
  1107 + isShow:false,
  1108 + className:'',
  1109 + width:''
  1110 + },
  1111 + {
  1112 + name:'',
  1113 +
  1114 + isShow:false,
  1115 + className:'',
  1116 + width:''
  1117 + },
  1118 + {
  1119 + name:'',
  1120 +
  1121 + isShow:false,
  1122 + className:'',
  1123 + width:''
  1124 + },
  1125 + {
  1126 + name:'',
  1127 +
  1128 + isShow:false,
  1129 + className:'',
  1130 + width:''
  1131 + },
  1132 + {
  1133 + name:'',
  1134 +
  1135 + isShow:false,
  1136 + className:'',
  1137 + width:''
  1138 + },
  1139 + {
  1140 + name:'AC-2',
  1141 +
  1142 + isShow:true,
  1143 + className:'',
  1144 + width:''
  1145 + },
  1146 + ],
  1147 + [
  1148 +
  1149 + {
  1150 + name:'XB-11',
  1151 +
  1152 + isShow:true,
  1153 + className:'',
  1154 + width:''
  1155 + },
  1156 + {
  1157 + name:'XB-10',
  1158 +
  1159 + isShow:true,
  1160 + className:'',
  1161 + width:''
  1162 + },
  1163 + {
  1164 + name:'PDA 2B',
  1165 +
  1166 + isShow:true,
  1167 + className:'',
  1168 + width:''
  1169 + },
  1170 + {
  1171 + name:'',
  1172 +
  1173 + isShow:false,
  1174 + className:'',
  1175 + width:'15px'
  1176 + },
  1177 + {
  1178 + name:'',
  1179 +
  1180 + isShow:false,
  1181 + className:'',
  1182 + width:''
  1183 + },
  1184 + {
  1185 + name:'',
  1186 +
  1187 + isShow:false,
  1188 + className:'',
  1189 + width:''
  1190 + },
  1191 + {
  1192 + name:'',
  1193 +
  1194 + isShow:false,
  1195 + className:'',
  1196 + width:''
  1197 + },
  1198 + {
  1199 + name:'',
  1200 +
  1201 + isShow:false,
  1202 + className:'',
  1203 + width:''
  1204 + },
  1205 + {
  1206 + name:'',
  1207 +
  1208 + isShow:false,
  1209 + className:'',
  1210 + width:''
  1211 + },
  1212 + {
  1213 + name:'',
  1214 +
  1215 + isShow:false,
  1216 + className:'',
  1217 + width:''
  1218 + },
  1219 + {
  1220 + name:'',
  1221 +
  1222 + isShow:false,
  1223 + className:'',
  1224 + width:''
  1225 + },
  1226 + {
  1227 + name:'',
  1228 +
  1229 + isShow:false,
  1230 + className:'',
  1231 + width:''
  1232 + },
  1233 + {
  1234 + name:'小型机570-4',
  1235 +
  1236 + isShow:true,
  1237 + className:'',
  1238 + width:''
  1239 + },
  1240 + {
  1241 + name:'小型机570-3',
  1242 +
  1243 + isShow:true,
  1244 + className:'',
  1245 + width:''
  1246 + },
  1247 + {
  1248 + name:'',
  1249 +
  1250 + isShow:false,
  1251 + className:'',
  1252 + width:''
  1253 + },
  1254 + {
  1255 + name:'',
  1256 +
  1257 + isShow:false,
  1258 + className:'',
  1259 + width:''
  1260 + },
  1261 + {
  1262 + name:'',
  1263 +
  1264 + isShow:false,
  1265 + className:'',
  1266 + width:''
  1267 + },
  1268 + {
  1269 + name:'XB-1',
  1270 +
  1271 + isShow:true,
  1272 + className:'',
  1273 + width:''
  1274 + },
  1275 + {
  1276 + name:'',
  1277 +
  1278 + isShow:false,
  1279 + className:'',
  1280 + width:''
  1281 + },
  1282 + {
  1283 + name:'',
  1284 +
  1285 + isShow:false,
  1286 + className:'',
  1287 + width:''
  1288 + },
  1289 + {
  1290 + name:'',
  1291 +
  1292 + isShow:false,
  1293 + className:'',
  1294 + width:''
  1295 + },
  1296 + {
  1297 + name:'',
  1298 +
  1299 + isShow:false,
  1300 + className:'',
  1301 + width:''
  1302 + },
  1303 + {
  1304 + name:'',
  1305 +
  1306 + isShow:true,
  1307 + className:'',
  1308 + width:''
  1309 + },
  1310 +
  1311 +
  1312 + ],
  1313 + [
  1314 +
  1315 + {
  1316 + name:'',
  1317 +
  1318 + isShow:false,
  1319 + className:'',
  1320 + width:''
  1321 + },
  1322 + {
  1323 + name:'',
  1324 +
  1325 + isShow:false,
  1326 + className:'',
  1327 + width:''
  1328 + },
  1329 + {
  1330 + name:'',
  1331 +
  1332 + isShow:false,
  1333 + className:'',
  1334 + width:''
  1335 + },
  1336 + {
  1337 + name:'',
  1338 +
  1339 + isShow:false,
  1340 + className:'',
  1341 + width:''
  1342 + },
  1343 + {
  1344 + name:'',
  1345 +
  1346 + isShow:false,
  1347 + className:'',
  1348 + width:''
  1349 + },
  1350 + {
  1351 + name:'',
  1352 +
  1353 + isShow:false,
  1354 + className:'',
  1355 + width:''
  1356 + },
  1357 + {
  1358 + name:'',
  1359 +
  1360 + isShow:false,
  1361 + className:'',
  1362 + width:''
  1363 + },
  1364 + {
  1365 + name:'',
  1366 +
  1367 + isShow:false,
  1368 + className:'',
  1369 + width:''
  1370 + },
  1371 + {
  1372 + name:'',
  1373 +
  1374 + isShow:false,
  1375 + className:'',
  1376 + width:''
  1377 + },
  1378 + {
  1379 + name:'',
  1380 +
  1381 + isShow:false,
  1382 + className:'',
  1383 + width:''
  1384 + },
  1385 + {
  1386 + name:'',
  1387 +
  1388 + isShow:false,
  1389 + className:'',
  1390 + width:''
  1391 + },
  1392 + {
  1393 + name:'',
  1394 +
  1395 + isShow:false,
  1396 + className:'',
  1397 + width:''
  1398 + },
  1399 + {
  1400 + name:'',
  1401 +
  1402 + isShow:false,
  1403 + className:'',
  1404 + width:''
  1405 + },
  1406 + {
  1407 + name:'',
  1408 +
  1409 + isShow:false,
  1410 + className:'',
  1411 + width:''
  1412 + },
  1413 + {
  1414 + name:'',
  1415 +
  1416 + isShow:false,
  1417 + className:'',
  1418 + width:''
  1419 + },
  1420 + {
  1421 + name:'',
  1422 +
  1423 + isShow:false,
  1424 + className:'',
  1425 + width:''
  1426 + },
  1427 + {
  1428 + name:'',
  1429 +
  1430 + isShow:false,
  1431 + className:'',
  1432 + width:''
  1433 + },
  1434 + {
  1435 + name:'',
  1436 +
  1437 + isShow:false,
  1438 + className:'',
  1439 + width:''
  1440 + },
  1441 + {
  1442 + name:'',
  1443 +
  1444 + isShow:false,
  1445 + className:'',
  1446 + width:''
  1447 + },
  1448 + {
  1449 + name:'',
  1450 +
  1451 + isShow:false,
  1452 + className:'',
  1453 + width:''
  1454 + },
  1455 + {
  1456 + name:'',
  1457 +
  1458 + isShow:false,
  1459 + className:'',
  1460 + width:''
  1461 + },
  1462 + {
  1463 + name:'',
  1464 +
  1465 + isShow:false,
  1466 + className:'',
  1467 + width:''
  1468 + },
  1469 + {
  1470 + name:'AC-1',
  1471 +
  1472 + isShow:true,
  1473 + className:'',
  1474 + width:''
  1475 + },
  1476 +
  1477 +
  1478 + ],
  1479 + ]
  1480 +
  1481 + }
  1482 + },
  1483 + setup(props, {attrs, slots, emit}) {
  1484 + const {proxy} = Vue.getCurrentInstance();
  1485 + // 获取状态
  1486 + const { changeIndex} = indirectManage()
  1487 + // 监听编辑状态
  1488 + Vue.watch(() =>changeIndex.value, (newVal, oldVlaue) => {
  1489 + console.log('vux',changeIndex.value,newVal)
  1490 + proxy.isDetailShow=false;
  1491 +
  1492 + });
  1493 + // 挂载完
  1494 + Vue.onMounted(() => {
  1495 + })
  1496 + const goDetail=(item)=>{
  1497 + proxy.allowClickData.map((itemName,index)=>{
  1498 + if(item.name==itemName){
  1499 + proxy.isDetailShow=true;
  1500 + console.log("detail",item)
  1501 + proxy.detailData=item;
  1502 + }
  1503 + })
  1504 +
  1505 + }
  1506 +
  1507 + return{
  1508 + goDetail
  1509 + }
  1510 + }
  1511 +}
  1 +<div v-if="!isDetailShow" class="outlinediv" >
  2 + <!-- <span>湖州灾备三机房平面图</span>-->
  3 + <div class="huzhouone-topcabinet" style="margin-left: 25%;padding-top: 30px">
  4 + <table>
  5 + <tr v-for="(items,indexs) in tableData" :class="{'zaibeione':items.length==0}">
  6 + <td v-if="items.length" v-for="(item,index) in items" :class="{'cursorClass':item.isShow}" :width="item.width" @click="goDetail(item)">
  7 + <img v-if="item.isShow" src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet" alt="">
  8 + <span v-if="item.isShow" class="zaibei cabinetId">{{item.name}}</span>
  9 + </td>
  10 + </tr>
  11 +
  12 + <!-- <tr>
  13 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId">TB-6</span></a></td>
  14 + <td style="width: 30px"></td>
  15 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="cabinetId">TB-5</span></a></td>
  16 + <td style="width: 30px"></td>
  17 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId"></span></a></td>
  18 + <td style="width: 30px"></td>
  19 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId"></span></a></td>
  20 + <td style="width: 30px"></td>
  21 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId"></span></a></td>
  22 + <td style="width: 30px"></td>
  23 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="cabinetId"></span></a></td>
  24 +
  25 + </tr>
  26 + <tr>
  27 + <td><img></td>
  28 + <td><img ></td>
  29 + <td><img></td>
  30 + <td><img></td>
  31 + <td><img ></td>
  32 + <td><img ></td>
  33 +
  34 + </tr>
  35 + <tr>
  36 + <td><img></td>
  37 + <td><img ></td>
  38 + <td><img></td>
  39 + <td><img></td>
  40 + <td><img ></td>
  41 + <td><img ></td>
  42 + </tr>
  43 + <tr>
  44 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="cabinetId"></span></a></td>
  45 + <td style="width: 30px"></td>
  46 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId"></span></a></td>
  47 + <td style="width: 30px"></td>
  48 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="cabinetId"></span></a></td>
  49 + <td style="width: 30px"></td>
  50 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId"></span></a></td>
  51 + <td style="width: 30px"></td>
  52 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId"></span></a></td>
  53 + <td style="width: 30px"></td>
  54 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId"></span></a></td>
  55 + </tr>
  56 + <tr class="zaibeione"></tr>-->
  57 +
  58 + </table>
  59 + </div>
  60 +</div>
  61 +<machineRoomDetail v-if="isDetailShow" :detailData="detailData" :machineData="machineData"></machineRoomDetail>
  1 +// 获取状态
  2 +const indirectManage = () => {
  3 + const store = Vuex.useStore()
  4 +
  5 + // 用toRef获取 busId,有相应性,可以直接修改state
  6 + const changeIndex = Vue.toRef(store.state, 'changeIndex')
  7 +
  8 + return {
  9 + changeIndex
  10 + }
  11 +}
  12 +export default {
  13 + name: 'huzhouThree',
  14 + template: '',
  15 + components: {
  16 + 'MachineRoomDetail': Vue.defineAsyncComponent(
  17 + () => myImport('views/commonComponents/machineRoomDetail/index')
  18 + ),
  19 + },
  20 + props:['src'],
  21 + data(){
  22 + return {
  23 + domainName:sessionStorage.getItem('domainName'),
  24 + accessToken:localStorage.getItem('access_token'),
  25 + isDetailShow:false,//是否展示详情页
  26 + detailData:'',//详情数据
  27 + htmlName:'huzhouzaibeithree',
  28 + machineData:this.src,
  29 + allowClickData:['FB-3','FB-4'],//允许进入详情的机柜
  30 + tableData:[
  31 + [
  32 +
  33 + {
  34 + name:'TB-6',
  35 + isShow:true,
  36 + className:'',
  37 + width:''
  38 + },
  39 + {
  40 + name:'',
  41 + isShow:false,
  42 + className:'',
  43 + width:'30px'
  44 + },
  45 + {
  46 + name:'TB-5',
  47 + isShow:true,
  48 + className:'',
  49 + width:''
  50 + },
  51 + {
  52 + name:'',
  53 + isShow:false,
  54 + className:'',
  55 + width:'30px'
  56 + },
  57 + {
  58 + name:'',
  59 + isShow:true,
  60 + className:'',
  61 + width:''
  62 + },
  63 + {
  64 + name:'',
  65 + isShow:false,
  66 + className:'',
  67 + width:'30px'
  68 + },
  69 + {
  70 + name:'',
  71 + isShow:true,
  72 + className:'',
  73 + width:''
  74 + },
  75 + {
  76 + name:'',
  77 + isShow:false,
  78 + className:'',
  79 + width:'30px'
  80 + },
  81 + {
  82 + name:'',
  83 + isShow:true,
  84 + className:'',
  85 + width:''
  86 + },
  87 + {
  88 + name:'',
  89 + isShow:false,
  90 + className:'',
  91 + width:'30px'
  92 + },
  93 + {
  94 + name:'',
  95 + isShow:true,
  96 + className:'',
  97 + width:''
  98 + }
  99 + ],
  100 + [
  101 + {
  102 + name:'',
  103 + isShow:false,
  104 + className:'',
  105 + width:''
  106 + },
  107 + {
  108 + name:'',
  109 + isShow:false,
  110 + className:'',
  111 + width:''
  112 + },
  113 + {
  114 + name:'',
  115 + isShow:false,
  116 + className:'',
  117 + width:''
  118 + },
  119 + {
  120 + name:'',
  121 + isShow:false,
  122 + className:'',
  123 + width:''
  124 + },
  125 + {
  126 + name:'',
  127 + isShow:false,
  128 + className:'',
  129 + width:''
  130 + },
  131 + {
  132 + name:'',
  133 + isShow:false,
  134 + className:'',
  135 + width:''
  136 + },
  137 + ],
  138 + [
  139 + {
  140 + name:'',
  141 + isShow:false,
  142 + className:'',
  143 + width:''
  144 + },
  145 + {
  146 + name:'',
  147 + isShow:false,
  148 + className:'',
  149 + width:''
  150 + },
  151 + {
  152 + name:'',
  153 + isShow:false,
  154 + className:'',
  155 + width:''
  156 + },
  157 + {
  158 + name:'',
  159 + isShow:false,
  160 + className:'',
  161 + width:''
  162 + },
  163 + {
  164 + name:'',
  165 + isShow:false,
  166 + className:'',
  167 + width:''
  168 + },
  169 + {
  170 + name:'',
  171 + isShow:false,
  172 + className:'',
  173 + width:''
  174 + },
  175 + ],
  176 + [
  177 +
  178 + {
  179 + name:'',
  180 + isShow:true,
  181 + className:'',
  182 + width:''
  183 + },
  184 + {
  185 + name:'',
  186 + isShow:false,
  187 + className:'',
  188 + width:'30px'
  189 + },
  190 + {
  191 + name:'',
  192 + isShow:true,
  193 + className:'',
  194 + width:''
  195 + },
  196 + {
  197 + name:'',
  198 + isShow:false,
  199 + className:'',
  200 + width:'30px'
  201 + },
  202 + {
  203 + name:'',
  204 + isShow:true,
  205 + className:'',
  206 + width:''
  207 + },
  208 + {
  209 + name:'',
  210 + isShow:false,
  211 + className:'',
  212 + width:'30px'
  213 + },
  214 + {
  215 + name:'',
  216 + isShow:true,
  217 + className:'',
  218 + width:''
  219 + },
  220 + {
  221 + name:'',
  222 + isShow:false,
  223 + className:'',
  224 + width:'30px'
  225 + },
  226 + {
  227 + name:'',
  228 + isShow:true,
  229 + className:'',
  230 + width:''
  231 + },
  232 + {
  233 + name:'',
  234 + isShow:false,
  235 + className:'',
  236 + width:'30px'
  237 + },
  238 + {
  239 + name:'',
  240 + isShow:true,
  241 + className:'',
  242 + width:''
  243 + }
  244 + ],
  245 + []
  246 + ]
  247 + }
  248 + },
  249 +
  250 + setup(props, {attrs, slots, emit}) {
  251 + const {proxy} = Vue.getCurrentInstance();
  252 + // 获取状态
  253 + const { changeIndex} = indirectManage()
  254 + // 监听编辑状态
  255 + Vue.watch(() =>changeIndex.value, (newVal, oldVlaue) => {
  256 + console.log('vux',changeIndex.value,newVal)
  257 + proxy.isDetailShow=false;
  258 +
  259 + });
  260 +
  261 + // 挂载完
  262 + Vue.onMounted(() => {
  263 +
  264 + })
  265 + const goDetail=(item)=>{
  266 + proxy.allowClickData.map((itemName,index)=>{
  267 + if(item.name==itemName){
  268 + proxy.isDetailShow=true;
  269 + proxy.detailData=item;
  270 + }
  271 + })
  272 + }
  273 +
  274 + return{
  275 + goDetail
  276 + }
  277 + }
  278 +}
  1 +<div v-if="!isDetailShow" class="outlinediv" >
  2 + <!-- <span>湖州灾备二机房平面图</span>-->
  3 + <div class="huzhouone-topcabinet" style="margin-left: 20%">
  4 + <table>
  5 +
  6 + <tr v-for="(items,indexs) in tableData" :class="{'zaibeione':items.length==0}">
  7 + <td v-if="items.length" v-for="(item,index) in items" :class="{'cursorClass':item.isShow}" :width="item.width" @click="goDetail(item)">
  8 + <img v-if="item.isShow" src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet" alt="">
  9 + <span v-if="item.isShow" class="zaibei cabinetId">{{item.name}}</span>
  10 + </td>
  11 + </tr>
  12 +
  13 + <!-- <tr>
  14 +
  15 + <td><img/></td>
  16 + <td style="width: 30px"></td>
  17 +
  18 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId">LA-1</span></a></td>
  19 + <td style="width: 30px"></td>
  20 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="cabinetId">LA-2</span></a></td>
  21 + <td style="width: 30px"></td>
  22 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId">LA-3</span></a></td>
  23 + <td style="width: 30px"></td>
  24 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId">LA-2</span></a></td>
  25 + <td style="width: 30px"></td>
  26 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId">LA-1</span></a></td>
  27 + <td style="width: 30px"></td>
  28 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="cabinetId">PDA6B</span></a></td>
  29 +
  30 + </tr>
  31 + <tr>
  32 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId">AC-5</span></a></td>
  33 + <td style="width: 30px"></td>
  34 + <td><img></td>
  35 + <td><img ></td>
  36 + <td><img></td>
  37 + <td><img></td>
  38 + <td><img ></td>
  39 + <td><img ></td>
  40 +
  41 + </tr>
  42 + <tr>
  43 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId"></span></a></td>
  44 + <td style="width: 30px"></td>
  45 + <td><img></td>
  46 + <td><img ></td>
  47 + <td><img></td>
  48 + <td><img></td>
  49 + <td><img ></td>
  50 + <td><img ></td>
  51 + </tr>
  52 + <tr>
  53 + <td><img/></td>
  54 + <td style="width: 30px"></td>
  55 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="cabinetId">LB-1</span></a></td>
  56 + <td style="width: 30px"></td>
  57 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId">LB-2</span></a></td>
  58 + <td style="width: 30px"></td>
  59 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png"class="cabinet"><span class="cabinetId">LB-3</span></a></td>
  60 + <td style="width: 30px"></td>
  61 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId">LB-2</span></a></td>
  62 + <td style="width: 30px"></td>
  63 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId">LB-1</span></a></td>
  64 + <td style="width: 30px"></td>
  65 + <td><a href=""><img src="/vue3/src/assets/images/machineRoom/cabinet.png" class="cabinet"><span class="cabinetId">PDA5A</span></a></td>
  66 + </tr>
  67 + <tr class="zaibeione"></tr>-->
  68 +
  69 + </table>
  70 + </div>
  71 +</div>
  72 +<machineRoomDetail v-if="isDetailShow" :detailData="detailData" :machineData="machineData"></machineRoomDetail>
  1 +// 获取状态
  2 +const indirectManage = () => {
  3 + const store = Vuex.useStore()
  4 +
  5 + // 用toRef获取 busId,有相应性,可以直接修改state
  6 + const changeIndex = Vue.toRef(store.state, 'changeIndex')
  7 +
  8 + return {
  9 + changeIndex
  10 + }
  11 +}
  12 +export default {
  13 + name: 'huzhouTwo',
  14 + template: '',
  15 + components: {
  16 + 'MachineRoomDetail': Vue.defineAsyncComponent(
  17 + () => myImport('views/commonComponents/machineRoomDetail/index')
  18 + ),
  19 + },
  20 + props:['src'],
  21 + data(){
  22 + return {
  23 + domainName:sessionStorage.getItem('domainName'),
  24 + accessToken:localStorage.getItem('access_token'),
  25 + isDetailShow:false,//是否展示详情页
  26 + detailData:'',//详情数据
  27 + htmlName:'huzhouzaibeitwo',
  28 + machineData:this.src,
  29 + allowClickData:['FB-3','FB-4'],//允许进入详情的机柜
  30 + tableData:[
  31 + [
  32 +
  33 + {
  34 + name:'',
  35 + isShow:false,
  36 + className:'',
  37 + width:''
  38 + },
  39 + {
  40 + name:'',
  41 + isShow:false,
  42 + className:'',
  43 + width:'30px'
  44 + },
  45 + {
  46 + name:'LA-1',
  47 + isShow:true,
  48 + className:'',
  49 + width:''
  50 + },
  51 + {
  52 + name:'',
  53 + isShow:false,
  54 + className:'',
  55 + width:'30px'
  56 + },
  57 + {
  58 + name:'LA-2',
  59 + isShow:true,
  60 + className:'',
  61 + width:''
  62 + },
  63 + {
  64 + name:'',
  65 + isShow:false,
  66 + className:'',
  67 + width:'30px'
  68 + },
  69 + {
  70 + name:'LA-3',
  71 + isShow:true,
  72 + className:'',
  73 + width:''
  74 + },
  75 + {
  76 + name:'',
  77 + isShow:false,
  78 + className:'',
  79 + width:'30px'
  80 + },
  81 + {
  82 + name:'LA-2',
  83 + isShow:true,
  84 + className:'',
  85 + width:''
  86 + },
  87 + {
  88 + name:'',
  89 + isShow:false,
  90 + className:'',
  91 + width:'30px'
  92 + },
  93 + {
  94 + name:'FA-1',
  95 + isShow:true,
  96 + className:'',
  97 + width:''
  98 + },
  99 + {
  100 + name:'',
  101 + isShow:false,
  102 + className:'',
  103 + width:'30px'
  104 + },
  105 + {
  106 + name:'PDA6B',
  107 + isShow:true,
  108 + className:'',
  109 + width:''
  110 + }
  111 + ],
  112 + [
  113 +
  114 + {
  115 + name:'AC-5',
  116 + isShow:true,
  117 + className:'',
  118 + width:''
  119 + },
  120 + {
  121 + name:'',
  122 + isShow:false,
  123 + className:'',
  124 + width:'30px'
  125 + },
  126 + {
  127 + name:'',
  128 + isShow:false,
  129 + className:'',
  130 + width:''
  131 + },
  132 + {
  133 + name:'',
  134 + isShow:false,
  135 + className:'',
  136 + width:''
  137 + },
  138 + {
  139 + name:'',
  140 + isShow:false,
  141 + className:'',
  142 + width:''
  143 + },
  144 + {
  145 + name:'',
  146 + isShow:false,
  147 + className:'',
  148 + width:''
  149 + },
  150 + {
  151 + name:'',
  152 + isShow:false,
  153 + className:'',
  154 + width:''
  155 + },
  156 + {
  157 + name:'',
  158 + isShow:false,
  159 + className:'',
  160 + width:''
  161 + },
  162 + ],
  163 + [
  164 +
  165 + {
  166 + name:'',
  167 + isShow:true,
  168 + className:'',
  169 + width:''
  170 + },
  171 + {
  172 + name:'',
  173 + isShow:false,
  174 + className:'',
  175 + width:'30px'
  176 + },
  177 + {
  178 + name:'',
  179 + isShow:false,
  180 + className:'',
  181 + width:''
  182 + },
  183 + {
  184 + name:'',
  185 + isShow:false,
  186 + className:'',
  187 + width:''
  188 + },
  189 + {
  190 + name:'',
  191 + isShow:false,
  192 + className:'',
  193 + width:''
  194 + },
  195 + {
  196 + name:'',
  197 + isShow:false,
  198 + className:'',
  199 + width:''
  200 + },
  201 + {
  202 + name:'',
  203 + isShow:false,
  204 + className:'',
  205 + width:''
  206 + },
  207 + {
  208 + name:'',
  209 + isShow:false,
  210 + className:'',
  211 + width:''
  212 + },
  213 + ],
  214 + [
  215 +
  216 + {
  217 + name:'',
  218 + isShow:false,
  219 + className:'',
  220 + width:''
  221 + },
  222 + {
  223 + name:'',
  224 + isShow:false,
  225 + className:'',
  226 + width:'30px'
  227 + },
  228 + {
  229 + name:'LB-1',
  230 + isShow:true,
  231 + className:'',
  232 + width:''
  233 + },
  234 + {
  235 + name:'',
  236 + isShow:false,
  237 + className:'',
  238 + width:'30px'
  239 + },
  240 + {
  241 + name:'LB-2',
  242 + isShow:true,
  243 + className:'',
  244 + width:''
  245 + },
  246 + {
  247 + name:'',
  248 + isShow:false,
  249 + className:'',
  250 + width:'30px'
  251 + },
  252 + {
  253 + name:'LB-3',
  254 + isShow:true,
  255 + className:'',
  256 + width:''
  257 + },
  258 + {
  259 + name:'',
  260 + isShow:false,
  261 + className:'',
  262 + width:'30px'
  263 + },
  264 + {
  265 + name:'LB-2',
  266 + isShow:true,
  267 + className:'',
  268 + width:''
  269 + },
  270 + {
  271 + name:'',
  272 + isShow:false,
  273 + className:'',
  274 + width:'30px'
  275 + },
  276 + {
  277 + name:'FB-1',
  278 + isShow:true,
  279 + className:'',
  280 + width:''
  281 + },
  282 + {
  283 + name:'',
  284 + isShow:false,
  285 + className:'',
  286 + width:'30px'
  287 + },
  288 + {
  289 + name:'PDA5A',
  290 + isShow:true,
  291 + className:'',
  292 + width:''
  293 + }
  294 + ],
  295 + []
  296 + ]
  297 + }
  298 + },
  299 +
  300 + setup(props, {attrs, slots, emit}) {
  301 + const {proxy} = Vue.getCurrentInstance();
  302 + // 获取状态
  303 + const { changeIndex} = indirectManage()
  304 + // 监听编辑状态
  305 + Vue.watch(() =>changeIndex.value, (newVal, oldVlaue) => {
  306 + console.log('vux',changeIndex.value,newVal)
  307 + proxy.isDetailShow=false;
  308 +
  309 + });
  310 +
  311 + // 挂载完
  312 + Vue.onMounted(() => {
  313 +
  314 + })
  315 + const goDetail=(item)=>{
  316 + proxy.allowClickData.map((itemName,index)=>{
  317 + if(item.name==itemName){
  318 + proxy.isDetailShow=true;
  319 + proxy.detailData=item;
  320 + }
  321 + })
  322 + }
  323 +
  324 + return{
  325 + goDetail
  326 + }
  327 + }
  328 +}
1 -<iframe v-if="src" style="width:90%;height:720px;" :src="src" frameborder="0" ref="machineIframe" ></iframe> 1 +<!--<iframe v-if="src" style="width:90%;height:720px;" :src="src" frameborder="0" ref="machineIframe" ></iframe>-->
  2 +<HuzhouOne v-if="showNum==1" :src="machineData"></HuzhouOne>
  3 +<HuzhouTwo v-if="showNum==2" :src="machineData"></HuzhouTwo>
  4 +<HuzhouThree v-if="showNum==3" :src="machineData"></HuzhouThree>
  5 +<Xiaoshansecond v-if="showNum==4" :src="machineData"></Xiaoshansecond>
  6 +<Xiaoshanthird v-if="showNum==5" :src="machineData"></Xiaoshanthird>
  7 +<Xiaoshanseven v-if="showNum==6" :src="machineData"></Xiaoshanseven>
1 export default { 1 export default {
2 name: 'machineRoom', 2 name: 'machineRoom',
3 template: '', 3 template: '',
4 - components: {}, 4 + components: {
  5 + 'HuzhouOne': Vue.defineAsyncComponent(
  6 + () => myImport('views/commonComponents/huzhouOne/index')
  7 + ),
  8 + 'HuzhouTwo': Vue.defineAsyncComponent(
  9 + () => myImport('views/commonComponents/huzhouTwo/index')
  10 + ),
  11 + 'HuzhouThree': Vue.defineAsyncComponent(
  12 + () => myImport('views/commonComponents/huzhouThree/index')
  13 + ),
  14 + 'Xiaoshansecond': Vue.defineAsyncComponent(
  15 + () => myImport('views/commonComponents/xiaoshansecond/index')
  16 + ),
  17 + 'Xiaoshanthird': Vue.defineAsyncComponent(
  18 + () => myImport('views/commonComponents/xiaoshanthird/index')
  19 + ),
  20 + 'Xiaoshanseven': Vue.defineAsyncComponent(
  21 + () => myImport('views/commonComponents/xiaoshanseven/index')
  22 + ),
  23 + },
5 props:['src'], 24 props:['src'],
6 data(){ 25 data(){
7 return { 26 return {
8 domainName:sessionStorage.getItem('domainName'), 27 domainName:sessionStorage.getItem('domainName'),
9 accessToken:localStorage.getItem('access_token'), 28 accessToken:localStorage.getItem('access_token'),
10 - 29 + isDetailShow:false,//详情页
  30 + // changeIndexNav:this.changeIndex,//nav是否点击变化
  31 + htmmlNameData:[
  32 + {name:'huzhouzaibeione',val:'湖州灾备机房一'},
  33 + {name:'huzhouzaibeitwo',val:'湖州灾备机房二'},
  34 + {name:'huzhouzaibeithree',val:'湖州灾备机房三'},
  35 + {name:'xiaoshansecond',val:'萧山IDC二号机房'},
  36 + {name:'xiaoshanthird',val:'萧山IDC三号机房'},
  37 + {name:'xiaoshanseven',val:'萧山IDC七号机房'},
  38 + ],
  39 + srcName:this.src,
  40 + machineData:'',//机房信息数据
11 // src:'/h5/machineroom/huzhouzaibeione.html?access_token='+this.accessToken 41 // src:'/h5/machineroom/huzhouzaibeione.html?access_token='+this.accessToken
12 42
13 } 43 }
14 }, 44 },
  45 + watch:{
  46 + src(newValue, oldValue) {
  47 + console.log("srcName",newValue)
  48 + this.srcName=newValue;
  49 + this.getName();
  50 + }
  51 +
  52 + },
15 53
16 setup(props, {attrs, slots, emit}) { 54 setup(props, {attrs, slots, emit}) {
17 const {proxy} = Vue.getCurrentInstance(); 55 const {proxy} = Vue.getCurrentInstance();
  56 + const showNum=Vue.ref()
18 57
19 58
20 // 挂载完 59 // 挂载完
21 Vue.onMounted(() => { 60 Vue.onMounted(() => {
22 61
  62 + proxy.getName();
23 }) 63 })
  64 + const getName=()=>{
  65 + proxy.htmmlNameData.map((item,index)=>{
  66 + if(proxy.srcName==item.name){
  67 + proxy.showNum=index+1;
  68 + proxy.machineData=item;
  69 + }
  70 + })
  71 + console.log("src",proxy.src,proxy.showNum)
  72 + }
24 73
25 return{ 74 return{
26 // src:'/h5/machineroom/'+props.htmlName+'.html?access_token='+proxy.accessToken 75 // src:'/h5/machineroom/'+props.htmlName+'.html?access_token='+proxy.accessToken
  76 + getName,
  77 + showNum
27 78
28 } 79 }
29 } 80 }
  1 +<div :class="['all']">
  2 + <!-- 左侧机柜效果图 -->
  3 + <div class='contain'>
  4 +
  5 + <!-- 机柜内部服务器 -->
  6 + <div class='contain-server'>
  7 +
  8 +
  9 + <!-- 第一个物理服务器 -->
  10 +<!-- <div :class="['serve',{'img-serve-8':item.uPosition=='1-8U'}]"@click="showDevice(item)" v-for="(item,index) in serviceData">-->
  11 + <div :class="'serve '+item.serviceClass " :style="item.uClass" @click="showDevice(item)" v-for="(item,index) in serviceData">
  12 + <div class='img-serve' >
  13 +
  14 + <img src="/vue3/src/assets/images/machineRoom/icon-state.png" alt="" class='state'>
  15 + <div class='img-serve-text'>{{item.name}}</div>
  16 + <div class='lamp'>
  17 + <img src="/vue3/src/assets/images/machineRoom/icon-weblogical.png" alt="" class='img-weblog'>
  18 + <div class='img-lamp'>
  19 + <img src="/vue3/src/assets/images/machineRoom/nocolor.png" alt="">
  20 + <img src="/vue3/src/assets/images/machineRoom/nocolor.png" alt="">
  21 + <img src="/vue3/src/assets/images/machineRoom/nocolor.png" alt="">
  22 + <img src="/vue3/src/assets/images/machineRoom/greenColor.png" alt="">
  23 + </div>
  24 + </div>
  25 +
  26 + </div>
  27 + </div>
  28 + </div>
  29 + </div>
  30 + <!-- 右侧机柜详细信息 -->
  31 + <div class='info' >
  32 +
  33 + <!-- 机柜信息 -->
  34 + <div class='info-top'>
  35 + <div class='info-contain'>
  36 + <div class='info-text'>机柜信息</div>
  37 + <div class='info-text-bot'>
  38 + <p>机 房:{{machineData.val}}</p>
  39 + <p>机柜编号:{{detailData.name}}</p>
  40 + <p>机柜容量:{{infoData.cabinetCapacity}}</p>
  41 + <p>设备数量:{{infoData.deviceNum}}台</p>
  42 + <p v-if="infoData.alarmNum">告警量:{{infoData.AlarmNum}}无告警</p>
  43 + <p v-if="!infoData.alarmNum">告警量:无告警</p>
  44 + </div>
  45 + </div>
  46 + </div>
  47 +
  48 + <!-- 设备信息 -->
  49 + <div class='info-bottom' id="info-bottom" v-if="isShowDevice">
  50 + <div class='info-contain'>
  51 + <div class='info-text'>设备信息</div>
  52 + <div class='info-text-bot'>
  53 + <p>资源名称:{{deviceDataInfo.resName}}</p>
  54 + <p>品 牌:{{deviceDataInfo.brandName}}</p>
  55 + <p>型 号:{{deviceDataInfo.model}}</p>
  56 + <p>序 列 号:{{deviceDataInfo.serialNumber}}</p>
  57 + <p>业 务 IP:{{deviceDataInfo.ServiceIP}}</p>
  58 + <p>用 途:{{deviceDataInfo.purpose}}</p>
  59 + </div>
  60 + </div>
  61 + </div>
  62 +
  63 +
  64 + </div>
  65 +
  66 +
  67 +</div>
  68 +
  1 +export default {
  2 + name: 'machineRoomDetail',
  3 + template: '',
  4 + components: {
  5 + 'MachineRoomDetail': Vue.defineAsyncComponent(
  6 + () => myImport('views/commonComponents/machineRoomDetail/index')
  7 + ),
  8 + },
  9 + props:['detailData','machineData'],
  10 + data(){
  11 + return {
  12 + domainName:sessionStorage.getItem('domainName'),
  13 + accessToken:localStorage.getItem('access_token'),
  14 + isCenter:false,//是否居中--true代表湖州机房,false代表萧山机房
  15 + serviceData:[],//机柜的服务器数据
  16 + deviceDataInfo:'',//设备详细信息
  17 + deviceDatas: [
  18 + {
  19 + name:'E12',
  20 +
  21 + cabinetCapacity :'42U',
  22 + deviceData:[
  23 + {
  24 + name:'物理服务器',
  25 + resName:'管理决策二包(数据集市39)',
  26 + brandName:'浪潮',
  27 + model:'TS860',
  28 + serialNumber:'216365930',
  29 + ServiceIP:'80.12.73.39',
  30 + purpose:'管理决策二包使用',
  31 + uPosition:'1-8U',
  32 + }
  33 + ],
  34 + deviceNum:'1',
  35 + alarmNum:'0'
  36 + },
  37 + {
  38 + name:'E13',
  39 + cabinetCapacity :'42U',
  40 + deviceData:[
  41 + {
  42 + name:'物理服务器',
  43 + resName:'管理决策二包(数据集市38)',
  44 + brandName:'浪潮',
  45 + model:'TS860',
  46 + serialNumber:'216365928',
  47 + ServiceIP:'80.12.73.38',
  48 + purpose:'管理决策二包使用',
  49 + uPosition:'1-8U',
  50 +
  51 + }
  52 +
  53 + ],
  54 + deviceNum:'1',
  55 + alarmNum:'0'
  56 + },
  57 + {
  58 + name:'FB-3',
  59 + deviceData:[
  60 + {
  61 + name:'物理服务器1',
  62 + resName:'1',
  63 + brandName:'浪潮',
  64 + model:'TS860',
  65 + serialNumber:'',
  66 + ServiceIP:'',
  67 + purpose:'管理决策二包使用',
  68 + uPosition:'1-1U',
  69 +
  70 + },
  71 + {
  72 + name:'物理服务器2',
  73 + resName:'2',
  74 + brandName:'浪潮',
  75 + model:'TS860',
  76 + serialNumber:'',
  77 + ServiceIP:'',
  78 + purpose:'管理决策二包使用',
  79 + uPosition:'5-7U',
  80 +
  81 + },
  82 + {
  83 + name:'物理服务器3',
  84 + resName:'3',
  85 + brandName:'浪潮',
  86 + model:'TS860',
  87 + serialNumber:'',
  88 + ServiceIP:'',
  89 + purpose:'管理决策二包使用',
  90 + uPosition:'10-16U',
  91 +
  92 + },
  93 + {
  94 + name:'物理服务器3',
  95 + resName:'3',
  96 + brandName:'浪潮',
  97 + model:'TS860',
  98 + serialNumber:'',
  99 + ServiceIP:'',
  100 + purpose:'管理决策二包使用',
  101 + uPosition:'17-25U',
  102 +
  103 + },
  104 + {
  105 + name:'物理服务器5',
  106 + resName:'5',
  107 + brandName:'浪潮',
  108 + model:'TS860',
  109 + serialNumber:'',
  110 + ServiceIP:'',
  111 + purpose:'管理决策二包使用',
  112 + uPosition:'26-30U',
  113 +
  114 + },
  115 + {
  116 + name:'物理服务器10',
  117 + resName:'5',
  118 + brandName:'浪潮',
  119 + model:'TS860',
  120 + serialNumber:'',
  121 + ServiceIP:'',
  122 + purpose:'管理决策二包使用',
  123 + uPosition:'31-41U',
  124 +
  125 + }
  126 +
  127 + ],
  128 + deviceNum:'3',
  129 + cabinetCapacity :'42U',
  130 + },
  131 + {
  132 + name:'FB-4',
  133 + deviceData:[
  134 + {
  135 + name:'物理服务器',
  136 + resName:'',
  137 + brandName:'浪潮',
  138 + model:'TS860',
  139 + serialNumber:'',
  140 + ServiceIP:'',
  141 + purpose:'管理决策二包使用',
  142 + uPosition:'1-4U',
  143 +
  144 + },
  145 + {
  146 + name:'物理服务器',
  147 + resName:'23',
  148 + brandName:'浪潮',
  149 + model:'TS860',
  150 + serialNumber:'',
  151 + ServiceIP:'',
  152 + purpose:'管理决策二包使用',
  153 + uPosition:'6-16U',
  154 +
  155 + }
  156 +
  157 + ],
  158 + deviceNum:'1',
  159 + cabinetCapacity :'42U',
  160 + },
  161 + ],//服务器设备信息
  162 + infoData:'',//设备详细信息
  163 + // isShowDevice:false,//是否显示设备信息
  164 +
  165 + }
  166 + },
  167 +
  168 + setup(props, {attrs, slots, emit}) {
  169 + const {proxy} = Vue.getCurrentInstance();
  170 + const isShowDevice=Vue.ref(false);
  171 +
  172 + const CabinetNum=props.detailData.name;//机柜编号
  173 +
  174 + // 挂载完
  175 + Vue.onMounted(() => {
  176 + if(props.machineData.name.indexOf('huzhou')!=-1){
  177 + proxy.isCenter=true;
  178 + }else{
  179 + proxy.isCenter=false;
  180 + }
  181 + proxy.getDeviceInfo();
  182 +
  183 + })
  184 + const getDeviceInfo=()=>{
  185 + proxy.deviceDatas.map((item,index)=>{
  186 + if(CabinetNum==item.name){
  187 + proxy.infoData=item;
  188 + proxy.serviceData=item.deviceData
  189 + item.deviceData.map((itemD,indexD)=>{
  190 + let strArr=itemD.uPosition.split("U");//[0]1-4 [1]U
  191 + let leftStrArr=strArr[0].split('-');//[0]1 [1]4
  192 + let leftStr=leftStrArr[0];
  193 + let rightStr=leftStrArr[1];
  194 + itemD.serviceHeight=rightStr;//nU的设备
  195 + let serveNum=1;
  196 + if(leftStr==1){
  197 + serveNum=rightStr
  198 + }else{
  199 + serveNum=rightStr-leftStr;
  200 +
  201 + }
  202 + itemD.serviceClass='img-serve-'+serveNum;//设备的css的class
  203 + itemD.uClass='';
  204 + if(leftStr>1){
  205 + let bottom=(leftStr-1)*17;
  206 + itemD.uClass='bottom:'+bottom+'px';
  207 +
  208 + }
  209 + })
  210 + }
  211 + })
  212 +
  213 + }
  214 + const showDevice=(item)=>{
  215 + proxy.isShowDevice=true;
  216 + proxy.deviceDataInfo=item;
  217 + }
  218 +
  219 + return{
  220 + showDevice,
  221 + isShowDevice,
  222 + getDeviceInfo
  223 + }
  224 + }
  225 +}
  1 +<div v-if="!isDetailShow" class="outlinediv" >
  2 + <!-- <span>2号机房平面图</span>-->
  3 + <div v-for="(items,indexs) in tableData" :class="[{'xiaoshansecond-topcabinet':indexs==0,'xiaoshansecond-middlecabinet':indexs==1,'xiaoshansecond-bottomcabinet':indexs==2}]" class="xiaoshansecond-topcabinet" >
  4 + <table>
  5 +
  6 + <tr >
  7 + <td v-if="items.length" v-for="(item,index) in items" :class="{'cursorClass':item.isShow}" :width="item.width" @click="goDetail(item)">
  8 + <img v-if="item.isShow" :src="item.imgEmpty?'/vue3/src/assets/images/machineRoom/emptycabinet.png':'/vue3/src/assets/images/machineRoom/cabinet.png'" class="cabinet" alt="">
  9 + <span v-if="item.isShow" class="cabinetId">{{item.name}}</span>
  10 + </td>
  11 + </tr>
  12 + </table>
  13 + </div>
  14 +</div>
  15 +<machineRoomDetail v-if="isDetailShow" :detailData="detailData" :machineData="machineData"></machineRoomDetail>
  1 +// 获取状态
  2 +const indirectManage = () => {
  3 + const store = Vuex.useStore()
  4 +
  5 + // 用toRef获取 busId,有相应性,可以直接修改state
  6 + const changeIndex = Vue.toRef(store.state, 'changeIndex')
  7 +
  8 + return {
  9 + changeIndex
  10 + }
  11 +}
  12 +export default {
  13 + name: 'xiaoshansecond',
  14 + template: '',
  15 + components: {
  16 + 'MachineRoomDetail': Vue.defineAsyncComponent(
  17 + () => myImport('views/commonComponents/machineRoomDetail/index')
  18 + ),
  19 + },
  20 + props:['src'],
  21 + data(){
  22 + return {
  23 + domainName:sessionStorage.getItem('domainName'),
  24 + accessToken:localStorage.getItem('access_token'),
  25 + isDetailShow:false,//是否展示详情页
  26 + detailData:'',//详情数据
  27 + htmlName:'xiaoshansecond',
  28 + machineData:this.src,
  29 + allowClickData:['E12','E13'],//允许进入详情的机柜
  30 + tableData:[
  31 + [
  32 +
  33 + {
  34 + name:'F1',
  35 + isShow:true,
  36 + className:'',
  37 + imgEmpty:false,
  38 + width:''
  39 + },
  40 + {
  41 + name:'F2',
  42 + isShow:true,
  43 + className:'',
  44 + imgEmpty:false,
  45 + width:''
  46 + },
  47 + {
  48 + name:'F3',
  49 + isShow:true,
  50 + className:'',
  51 + imgEmpty:false,
  52 + width:''
  53 + },
  54 + {
  55 + name:'F4',
  56 + isShow:true,
  57 + className:'',
  58 + imgEmpty:false,
  59 + width:''
  60 + },
  61 + {
  62 + name:'F4',
  63 + isShow:true,
  64 + className:'',
  65 + imgEmpty:false,
  66 + width:''
  67 + },
  68 + {
  69 + name:'F6',
  70 + isShow:true,
  71 + className:'',
  72 + imgEmpty:false,
  73 + width:''
  74 + },
  75 + {
  76 + name:'F7',
  77 + isShow:true,
  78 + className:'',
  79 + imgEmpty:false,
  80 + width:''
  81 + },
  82 + {
  83 + name:'F8',
  84 + isShow:true,
  85 + className:'',
  86 + imgEmpty:false,
  87 + width:''
  88 + },
  89 + {
  90 + name:'F9',
  91 + isShow:true,
  92 + className:'',
  93 + imgEmpty:false,
  94 + width:''
  95 + },
  96 + {
  97 + name:'F10',
  98 + isShow:true,
  99 + className:'',
  100 + imgEmpty:false,
  101 + width:''
  102 + },
  103 + {
  104 + name:'F11',
  105 + isShow:true,
  106 + className:'',
  107 + imgEmpty:false,
  108 + width:''
  109 + },
  110 + {
  111 + name:'',
  112 + isShow:true,
  113 + className:'',
  114 + imgEmpty:true,
  115 + width:''
  116 + },
  117 + {
  118 + name:'',
  119 + isShow:true,
  120 + className:'',
  121 + imgEmpty:true,
  122 + width:''
  123 + },
  124 + {
  125 + name:'F14',
  126 + isShow:true,
  127 + className:'',
  128 + imgEmpty:false,
  129 + width:''
  130 + },
  131 + {
  132 + name:'F15',
  133 + isShow:true,
  134 + className:'',
  135 + imgEmpty:false,
  136 + width:''
  137 + },
  138 + {
  139 + name:'F16',
  140 + isShow:true,
  141 + className:'',
  142 + imgEmpty:false,
  143 + width:''
  144 + },
  145 + {
  146 + name:'F17',
  147 + isShow:true,
  148 + className:'',
  149 + imgEmpty:false,
  150 + width:''
  151 + },
  152 + {
  153 + name:'F18',
  154 + isShow:true,
  155 + className:'',
  156 + imgEmpty:false,
  157 + width:''
  158 + },
  159 + {
  160 + name:'F19',
  161 + isShow:true,
  162 + className:'',
  163 + imgEmpty:false,
  164 + width:''
  165 + },
  166 + {
  167 + name:'F20',
  168 + isShow:true,
  169 + className:'',
  170 + imgEmpty:false,
  171 + width:''
  172 + },
  173 + ],
  174 + [
  175 +
  176 + {
  177 + name:'G1',
  178 + isShow:true,
  179 + className:'',
  180 + imgEmpty:false,
  181 + width:''
  182 + },
  183 + {
  184 + name:'G2',
  185 + isShow:true,
  186 + className:'',
  187 + imgEmpty:false,
  188 + width:''
  189 + },
  190 + {
  191 + name:'G3',
  192 + isShow:true,
  193 + className:'',
  194 + imgEmpty:false,
  195 + width:''
  196 + },
  197 + {
  198 + name:'G4',
  199 + isShow:true,
  200 + className:'',
  201 + imgEmpty:false,
  202 + width:''
  203 + },
  204 + {
  205 + name:'G4',
  206 + isShow:true,
  207 + className:'',
  208 + imgEmpty:false,
  209 + width:''
  210 + },
  211 + {
  212 + name:'G6',
  213 + isShow:true,
  214 + className:'',
  215 + imgEmpty:false,
  216 + width:''
  217 + },
  218 + {
  219 + name:'G7',
  220 + isShow:true,
  221 + className:'',
  222 + imgEmpty:false,
  223 + width:''
  224 + },
  225 + {
  226 + name:'G8',
  227 + isShow:true,
  228 + className:'',
  229 + imgEmpty:false,
  230 + width:''
  231 + },
  232 + {
  233 + name:'G9',
  234 + isShow:true,
  235 + className:'',
  236 + imgEmpty:false,
  237 + width:''
  238 + },
  239 + {
  240 + name:'G10',
  241 + isShow:true,
  242 + className:'',
  243 + imgEmpty:false,
  244 + width:''
  245 + },
  246 + {
  247 + name:'G11',
  248 + isShow:true,
  249 + className:'',
  250 + imgEmpty:false,
  251 + width:''
  252 + },
  253 + {
  254 + name:'G12',
  255 + isShow:true,
  256 + className:'',
  257 + imgEmpty:false,
  258 + width:''
  259 + },
  260 + {
  261 + name:'G13',
  262 + isShow:true,
  263 + className:'',
  264 + imgEmpty:false,
  265 + width:''
  266 + },
  267 + {
  268 + name:'G14',
  269 + isShow:true,
  270 + className:'',
  271 + imgEmpty:false,
  272 + width:''
  273 + },
  274 + {
  275 + name:'G15',
  276 + isShow:true,
  277 + className:'',
  278 + imgEmpty:false,
  279 + width:''
  280 + },
  281 + {
  282 + name:'G16',
  283 + isShow:true,
  284 + className:'',
  285 + imgEmpty:false,
  286 + width:''
  287 + },
  288 + {
  289 + name:'G17',
  290 + isShow:true,
  291 + className:'',
  292 + imgEmpty:false,
  293 + width:''
  294 + },
  295 + {
  296 + name:'G18',
  297 + isShow:true,
  298 + className:'',
  299 + imgEmpty:false,
  300 + width:''
  301 + },
  302 + {
  303 + name:'G19',
  304 + isShow:true,
  305 + className:'',
  306 + imgEmpty:false,
  307 + width:''
  308 + },
  309 + {
  310 + name:'G20',
  311 + isShow:true,
  312 + className:'',
  313 + imgEmpty:false,
  314 + width:''
  315 + },
  316 + ],
  317 + [
  318 +
  319 + {
  320 + name:'H1',
  321 + isShow:true,
  322 + className:'',
  323 + imgEmpty:false,
  324 + width:''
  325 + },
  326 + {
  327 + name:'H2',
  328 + isShow:true,
  329 + className:'',
  330 + imgEmpty:false,
  331 + width:''
  332 + },
  333 + {
  334 + name:'H3',
  335 + isShow:true,
  336 + className:'',
  337 + imgEmpty:false,
  338 + width:''
  339 + },
  340 + {
  341 + name:'H4',
  342 + isShow:true,
  343 + className:'',
  344 + imgEmpty:false,
  345 + width:''
  346 + },
  347 + {
  348 + name:'H4',
  349 + isShow:true,
  350 + className:'',
  351 + imgEmpty:false,
  352 + width:''
  353 + },
  354 + {
  355 + name:'H6',
  356 + isShow:true,
  357 + className:'',
  358 + imgEmpty:false,
  359 + width:''
  360 + },
  361 + {
  362 + name:'H7',
  363 + isShow:true,
  364 + className:'',
  365 + imgEmpty:false,
  366 + width:''
  367 + },
  368 + {
  369 + name:'H8',
  370 + isShow:true,
  371 + className:'',
  372 + imgEmpty:false,
  373 + width:''
  374 + },
  375 + {
  376 + name:'H9',
  377 + isShow:true,
  378 + className:'',
  379 + imgEmpty:false,
  380 + width:''
  381 + },
  382 + {
  383 + name:'H10',
  384 + isShow:true,
  385 + className:'',
  386 + imgEmpty:false,
  387 + width:''
  388 + },
  389 + {
  390 + name:'H11',
  391 + isShow:true,
  392 + className:'',
  393 + imgEmpty:false,
  394 + width:''
  395 + },
  396 + {
  397 + name:'H12',
  398 + isShow:true,
  399 + className:'',
  400 + imgEmpty:false,
  401 + width:''
  402 + },
  403 + {
  404 + name:'H13',
  405 + isShow:true,
  406 + className:'',
  407 + imgEmpty:false,
  408 + width:''
  409 + },
  410 + {
  411 + name:'H14',
  412 + isShow:true,
  413 + className:'',
  414 + imgEmpty:false,
  415 + width:''
  416 + },
  417 + {
  418 + name:'H15',
  419 + isShow:true,
  420 + className:'',
  421 + imgEmpty:false,
  422 + width:''
  423 + },
  424 + {
  425 + name:'H16',
  426 + isShow:true,
  427 + className:'',
  428 + imgEmpty:false,
  429 + width:''
  430 + },
  431 + {
  432 + name:'H17',
  433 + isShow:true,
  434 + className:'',
  435 + imgEmpty:false,
  436 + width:''
  437 + },
  438 + {
  439 + name:'H18',
  440 + isShow:true,
  441 + className:'',
  442 + imgEmpty:false,
  443 + width:''
  444 + },
  445 + {
  446 + name:'H19',
  447 + isShow:true,
  448 + className:'',
  449 + imgEmpty:false,
  450 + width:''
  451 + },
  452 + {
  453 + name:'H20',
  454 + isShow:true,
  455 + className:'',
  456 + imgEmpty:false,
  457 + width:''
  458 + },
  459 + ],
  460 + ]
  461 + }
  462 + },
  463 +
  464 + setup(props, {attrs, slots, emit}) {
  465 + const {proxy} = Vue.getCurrentInstance();
  466 + // 获取状态
  467 + const { changeIndex} = indirectManage()
  468 + // 监听编辑状态
  469 + Vue.watch(() =>changeIndex.value, (newVal, oldVlaue) => {
  470 + console.log('vux',changeIndex.value,newVal)
  471 + proxy.isDetailShow=false;
  472 +
  473 + });
  474 +
  475 + // 挂载完
  476 + Vue.onMounted(() => {
  477 +
  478 + })
  479 + const goDetail=(item)=>{
  480 + proxy.allowClickData.map((itemName,index)=>{
  481 + if(item.name==itemName){
  482 + proxy.isDetailShow=true;
  483 + proxy.detailData=item;
  484 + }
  485 + })
  486 + }
  487 +
  488 + return{
  489 + goDetail
  490 + }
  491 + }
  492 +}
  1 +<div v-if="!isDetailShow" class="outlinediv" >
  2 + <!-- <span>7号机房平面图</span>-->
  3 + <div style="width: 100%;height: 100%;display: inline-flex">
  4 + <div class="xiaoshanseven-leftcabinet">
  5 + <table>
  6 + <tr v-for="(items,indexs) in tableData" :class="{'sevenempty':items.length==0}">
  7 + <td v-if="items.length" v-for="(item,index) in items" :class="{'cursorClass':item.isShow}" :width="item.width" @click="goDetail(item)">
  8 + <img v-if="item.isShow" :src="item.imgEmpty?'/vue3/src/assets/images/machineRoom/emptycabinet.png':'/vue3/src/assets/images/machineRoom/cabinet.png'" class="cabinet" alt="">
  9 + <span v-if="item.isShow" class="cabinetId">{{item.name}}</span>
  10 + </td>
  11 + </tr>
  12 + </table>
  13 + </div>
  14 + <div class="xiaoshanseven-middlecabinet"><span>过道</span></div>
  15 + <div class="xiaoshanseven-rightcabinet">
  16 + <table>
  17 + <tr v-for="(items,indexs) in tableData2" :class="{'sevenempty':items.length==0}">
  18 + <td v-if="items.length" v-for="(item,index) in items" :class="{'cursorClass':item.isShow}" :width="item.width" @click="goDetail(item)">
  19 + <img v-if="item.isShow" :src="item.imgEmpty?'/vue3/src/assets/images/machineRoom/emptycabinet.png':'/vue3/src/assets/images/machineRoom/cabinet.png'" class="cabinet" alt="">
  20 + <span v-if="item.isShow" class="cabinetId">{{item.name}}</span>
  21 + </td>
  22 + </tr>
  23 + </table>
  24 + </div>
  25 +
  26 + </div>
  27 +</div>
  28 +<machineRoomDetail v-if="isDetailShow" :detailData="detailData" :machineData="machineData"></machineRoomDetail>