交换机管理的图形监控
This commit is contained in:
		@@ -542,7 +542,126 @@ export function switchNetSpeed(data) {
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 图形监控-自动发现项-光模块AllName
 | 
			
		||||
export function moduleAllName(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchOpticalModule/getAllModuleName',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-光模块-基本信息
 | 
			
		||||
export function moduleMsg(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchOpticalModule/switchOpticalModuleMsg',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-光模块-光衰阈值
 | 
			
		||||
export function moduleLowThreshold(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchOpticalModule/opticalModuleLowThreshold',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-光模块-功率
 | 
			
		||||
export function modulePower(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchOpticalModule/opticalModulePower',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-MPU1 AllName
 | 
			
		||||
export function mpuAllName(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchMpuInfo/getAllMpuName',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-MPU1-基本信息
 | 
			
		||||
export function mpuMsg(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchMpuInfo/getMpuMsg',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-MPU1-cpu使用率
 | 
			
		||||
export function mpuCpuUse(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchMpuInfo/getMpuCpuUse',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-MPU1-内存使用率
 | 
			
		||||
export function mpuMemUse(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchMpuInfo/getMpuMemUse',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-MPU1-温度
 | 
			
		||||
export function mpuTemperature(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchMpuInfo/getMpuTemperature',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-电源AllName
 | 
			
		||||
export function pwrAllName(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchPowerSupply/getAllPwrName',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-电源-基本信息
 | 
			
		||||
export function pwrMsg(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchPowerSupply/getPwrMsg',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-电源-光衰阈值
 | 
			
		||||
export function pwrCurrent(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchPowerSupply/getPwrCurrent',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-电源-功率
 | 
			
		||||
export function pwrVoltage(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchPowerSupply/getPwrVoltage',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-风扇AllName
 | 
			
		||||
export function fanAllName(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchFanInfo/getAllFanName',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 图形监控-自动发现项-风扇-基本信息
 | 
			
		||||
export function fanMsg(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/rocketmq/switchFanInfo/getFanMsg',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**     --------------接口备注信息---------------     */
 | 
			
		||||
// 查询列表
 | 
			
		||||
@@ -595,6 +714,13 @@ export function addMachine(query) {
 | 
			
		||||
    data: query
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
export function getLogicalNode() {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/system/registration/getAllLogicalNodeId',
 | 
			
		||||
    method: 'get',
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function getRegistList(query) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/system/registration/getRegistList',
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@
 | 
			
		||||
 | 
			
		||||
                <template v-if="formVal.type === 'textarea'">
 | 
			
		||||
                  <div v-if="toBoolean(formVal.disabled || formItem.config.readonly)">
 | 
			
		||||
                    <div style="color: #606266;font-weight: 700;padding-left: 15px;line-height: 1.5;" v-html="ruleForm[key]"></div>
 | 
			
		||||
                    <div style="color: #606266;font-weight: 700;padding-left: 15px;" v-html="ruleForm[key]"></div>
 | 
			
		||||
                  </div>
 | 
			
		||||
                  <template v-else>
 | 
			
		||||
                    <el-input
 | 
			
		||||
 
 | 
			
		||||
@@ -266,7 +266,7 @@ export const dynamicRoutes = [
 | 
			
		||||
        path: ':id?',
 | 
			
		||||
        component: () => import('@/views/earnManage/businessIssued/details'),
 | 
			
		||||
        name: 'BusinessIssuedDetails',
 | 
			
		||||
        meta: { title: '业务脚本信息', noCache: true ,activeMenu: '/earnManage/businessIssued' }
 | 
			
		||||
        meta: { title: '业务下发信息', noCache: true ,activeMenu: '/earnManage/businessIssued' }
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <Form :formList="formList" :ruleFormData="ruleForm" :config="config" @fnClick="callback"></Form>
 | 
			
		||||
    <Form ref="formRef" :formList="formList" :ruleFormData="ruleForm" :config="config" @fnClick="callback"></Form>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@@ -11,6 +11,28 @@
 | 
			
		||||
    name: 'BusinessIssuedDetails',
 | 
			
		||||
    components: {Form},
 | 
			
		||||
    dicts: ['eps_business_review_status'],
 | 
			
		||||
    props: {
 | 
			
		||||
      open: {
 | 
			
		||||
        type: String,
 | 
			
		||||
        default: () => {}
 | 
			
		||||
      },
 | 
			
		||||
      dialogRowData: {
 | 
			
		||||
        type: Object,
 | 
			
		||||
        default: (() => {})
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    watch: {
 | 
			
		||||
      open: {
 | 
			
		||||
        handler(val) {
 | 
			
		||||
          if (val === 'type_false') {
 | 
			
		||||
            // 清空form
 | 
			
		||||
            this.$refs['formRef'].$refs.ruleForm.resetFields();
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        deep: true,
 | 
			
		||||
        immediate: true
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        loading: true,
 | 
			
		||||
@@ -23,6 +45,10 @@
 | 
			
		||||
    },
 | 
			
		||||
    created() {
 | 
			
		||||
      this.paramsData = this.$route && this.$route.query;
 | 
			
		||||
      if (this.open) {
 | 
			
		||||
        this.paramsData = {};
 | 
			
		||||
        this.$set(this.ruleForm, 'deployDevice', this.dialogRowData.clientId);
 | 
			
		||||
      }
 | 
			
		||||
      if (this.paramsData && this.paramsData.readonly) {
 | 
			
		||||
        this.config = {
 | 
			
		||||
          buttonGroup: [{title: '返回', fnCode: 'goBack'}]
 | 
			
		||||
@@ -59,8 +85,8 @@
 | 
			
		||||
              submitBy: {label: '提交人', span: 12, type: 'input'},
 | 
			
		||||
              // reviewBy: {label: '审核人', span: 12, type: 'input', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
              // reviewTime: {label: '审核时间', span: 12, type: 'input', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
              updateTime: {label: '修改时间', span: 12, type: 'date'},
 | 
			
		||||
              createTime: {label: '创建时间', span: 12, type: 'date'},
 | 
			
		||||
              updateTime: {label: '修改时间', span: 12, type: 'datetime'},
 | 
			
		||||
              createTime: {label: '创建时间', span: 12, type: 'datetime'},
 | 
			
		||||
              reviewStatus: {label: '审核状态', span: 12, type: 'select', options: this.dict.type.eps_business_review_status,},
 | 
			
		||||
              deployDevice: {label: '部署设备', span: 18, type: 'textarea', rows: 15, required: true},
 | 
			
		||||
            }
 | 
			
		||||
@@ -85,8 +111,8 @@
 | 
			
		||||
              reviewBy: {label: '审核人', span: 12, type: 'input', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
              reviewTime: {label: '审核时间', span: 12, type: 'input', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
              reviewComment: {label: '审核意见', span: 12, type: 'input', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
              createTime: {label: '创建时间', span: 12, type: 'date', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
              updateTime: {label: '修改时间', span: 12, type: 'date', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
              createTime: {label: '创建时间', span: 12, type: 'datetime', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
              updateTime: {label: '修改时间', span: 12, type: 'datetime', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
              deployDevice: {label: '部署设备', span: 18, type: 'textarea', rows: 15, required: true},
 | 
			
		||||
            }
 | 
			
		||||
          }];
 | 
			
		||||
@@ -140,7 +166,11 @@
 | 
			
		||||
              }
 | 
			
		||||
              fnType(dataVal).then(response => {
 | 
			
		||||
                this.$modal.msgSuccess(response.msg);
 | 
			
		||||
                if (this.open) {
 | 
			
		||||
                  this.$emit("dialogResult", {open: false});
 | 
			
		||||
                } else {
 | 
			
		||||
                  this.$router.push("/earnManage/businessIssued");
 | 
			
		||||
                }
 | 
			
		||||
                this.loading = false;
 | 
			
		||||
              }).catch(() => {
 | 
			
		||||
                this.$modal.msgError("操作失败");
 | 
			
		||||
@@ -174,7 +204,11 @@
 | 
			
		||||
              });
 | 
			
		||||
                break;
 | 
			
		||||
            case 'cancel':
 | 
			
		||||
              if (this.open) {
 | 
			
		||||
                this.$emit("dialogResult", {open: false});
 | 
			
		||||
              } else {
 | 
			
		||||
                this.$router.push("/earnManage/businessIssued");
 | 
			
		||||
              }
 | 
			
		||||
              break;
 | 
			
		||||
            default:
 | 
			
		||||
          }
 | 
			
		||||
 
 | 
			
		||||
@@ -45,8 +45,8 @@
 | 
			
		||||
            scriptPath: {label: '脚本文件地址', span: 12, type: 'input', required: true},
 | 
			
		||||
            defaultParams: {label: '脚本默认参数', span: 12, type: 'input'},
 | 
			
		||||
            createBy: {label: '创建人', span: 12, type: 'input', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
            createTime: {label: '创建时间', span: 12, type: 'date', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
            updateTime: {label: '修改时间', span: 12, type: 'date', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
            createTime: {label: '创建时间', span: 12, type: 'datetime', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
            updateTime: {label: '修改时间', span: 12, type: 'datetime', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
          }
 | 
			
		||||
        }];
 | 
			
		||||
      },
 | 
			
		||||
 
 | 
			
		||||
@@ -97,6 +97,7 @@
 | 
			
		||||
              }
 | 
			
		||||
              break;
 | 
			
		||||
            case 'clientAllId':
 | 
			
		||||
              this.$set(this.ruleForm, 'deployDevice', '');
 | 
			
		||||
              getRegistList({resourceType: 1}).then(res => {
 | 
			
		||||
                let str = '';
 | 
			
		||||
                if (res && res.data) {
 | 
			
		||||
 
 | 
			
		||||
@@ -135,6 +135,10 @@
 | 
			
		||||
      open: {
 | 
			
		||||
        type: String,
 | 
			
		||||
        default: () => {}
 | 
			
		||||
      },
 | 
			
		||||
      dialogRowData: {
 | 
			
		||||
        type: Object,
 | 
			
		||||
        default: (() => {})
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    watch: {
 | 
			
		||||
@@ -185,6 +189,10 @@
 | 
			
		||||
    created() {
 | 
			
		||||
      this.timeOptions = this.dict.type.collection_cycle;
 | 
			
		||||
      this.paramsData = this.$route && this.$route.query;
 | 
			
		||||
      if (this.open) {
 | 
			
		||||
        this.paramsData = {};
 | 
			
		||||
        this.$set(this.ruleFormData, 'deployDevice', this.dialogRowData.clientId);
 | 
			
		||||
      }
 | 
			
		||||
      if (this.paramsData && this.paramsData.id) {
 | 
			
		||||
        this.getFormDataList(this.paramsData.id);
 | 
			
		||||
      } else {
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  import Form from '@/components/form/index.vue';
 | 
			
		||||
  import {addMachine, getHandle, updateTopology, getRegistList} from "@/api/disRevenue/resource"
 | 
			
		||||
  export default {
 | 
			
		||||
    name: 'serverRegisterEdit',
 | 
			
		||||
    name: 'serverRegister_Edit',
 | 
			
		||||
    components: {Form},
 | 
			
		||||
    dicts: ['rm_register_status','rm_register_online_state'],
 | 
			
		||||
    data() {
 | 
			
		||||
 
 | 
			
		||||
@@ -25,9 +25,9 @@
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="6">
 | 
			
		||||
            <el-form-item label="多公网IP状态" title="多公网IP状态" prop="onlineStatus">
 | 
			
		||||
            <el-form-item label="多公网IP状态" title="多公网IP状态" prop="multiPublicIpStatus">
 | 
			
		||||
              <el-select
 | 
			
		||||
                v-model="queryParams.onlineStatus"
 | 
			
		||||
                v-model="queryParams.multiPublicIpStatus"
 | 
			
		||||
                placeholder="请选择多公网IP状态"
 | 
			
		||||
                clearable>
 | 
			
		||||
                <el-option
 | 
			
		||||
@@ -39,13 +39,13 @@
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="6">
 | 
			
		||||
            <el-form-item label="注册状态" title="注册状态" prop="onlineStatus">
 | 
			
		||||
            <el-form-item label="注册状态" title="注册状态" prop="registrationStatus">
 | 
			
		||||
              <el-select
 | 
			
		||||
                v-model="queryParams.onlineStatus"
 | 
			
		||||
                v-model="queryParams.registrationStatus"
 | 
			
		||||
                placeholder="请选择注册状态"
 | 
			
		||||
                clearable>
 | 
			
		||||
                <el-option
 | 
			
		||||
                  v-for="dict in dict.type.rm_register_online_state"
 | 
			
		||||
                  v-for="dict in dict.type.rm_register_status"
 | 
			
		||||
                  :key="dict.value"
 | 
			
		||||
                  :label="dict.label"
 | 
			
		||||
                  :value="dict.value"/>
 | 
			
		||||
@@ -53,30 +53,30 @@
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="6">
 | 
			
		||||
            <el-form-item label="业务名称" title="业务名称" prop="onlineStatus">
 | 
			
		||||
            <el-form-item label="业务名称" title="业务名称" prop="businessName">
 | 
			
		||||
              <el-select
 | 
			
		||||
                v-model="queryParams.onlineStatus"
 | 
			
		||||
                v-model="queryParams.businessName"
 | 
			
		||||
                placeholder="请选择业务名称"
 | 
			
		||||
                clearable>
 | 
			
		||||
                <el-option
 | 
			
		||||
                  v-for="dict in dict.type.rm_register_online_state"
 | 
			
		||||
                  :key="dict.value"
 | 
			
		||||
                  :label="dict.label"
 | 
			
		||||
                  :value="dict.value"/>
 | 
			
		||||
                  v-for="item in busNameList"
 | 
			
		||||
                  :key="item.value"
 | 
			
		||||
                  :label="item.label"
 | 
			
		||||
                  :value="item.value"/>
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="6">
 | 
			
		||||
            <el-form-item label="逻辑节点标识" title="逻辑节点标识" prop="onlineStatus">
 | 
			
		||||
            <el-form-item label="逻辑节点标识" title="逻辑节点标识" prop="logicalNodeId">
 | 
			
		||||
              <el-select
 | 
			
		||||
                v-model="queryParams.onlineStatus"
 | 
			
		||||
                v-model="queryParams.logicalNodeId"
 | 
			
		||||
                placeholder="请选择逻辑节点标识"
 | 
			
		||||
                clearable>
 | 
			
		||||
                <el-option
 | 
			
		||||
                  v-for="dict in dict.type.rm_register_online_state"
 | 
			
		||||
                  :key="dict.value"
 | 
			
		||||
                  :label="dict.label"
 | 
			
		||||
                  :value="dict.value"/>
 | 
			
		||||
                  v-for="item in logicalNodeList"
 | 
			
		||||
                  :key="item.value"
 | 
			
		||||
                  :label="item.label"
 | 
			
		||||
                  :value="item.value"/>
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
@@ -106,24 +106,27 @@
 | 
			
		||||
      <!--    查看执行结果弹窗    -->
 | 
			
		||||
      <el-dialog title="命令执行结果" :visible.sync="open" width="800px" append-to-body>
 | 
			
		||||
        <div class="block">
 | 
			
		||||
          <template v-if="timelineList && timelineList.length > 0">
 | 
			
		||||
            <el-timeline :reverse="true">
 | 
			
		||||
              <el-timeline-item v-for="item of timelineList" :timestamp="item.createTime" placement="top">
 | 
			
		||||
                <pre>{{item.content}}</pre>
 | 
			
		||||
              </el-timeline-item>
 | 
			
		||||
            </el-timeline>
 | 
			
		||||
          </template>
 | 
			
		||||
          <el-empty v-else :image-size="200"></el-empty>
 | 
			
		||||
        </div>
 | 
			
		||||
      </el-dialog>
 | 
			
		||||
      <!--    下发业务    -->
 | 
			
		||||
      <el-dialog :title="title" :visible.sync="issueOpen" width="800px" append-to-body style="padding-bottom: 20px;">
 | 
			
		||||
        <Form ref="formRef" :formList="formList" :ruleFormData="ruleForm" :config="{labelWidth: '140px', buttonGroup: []}" @fnClick="callback"></Form>
 | 
			
		||||
        <div style="text-align: right;margin-right: 20px;margin-bottom: 20px;">
 | 
			
		||||
          <el-button type="primary" style="margin-left: 10px;" @click="submit">提交</el-button>
 | 
			
		||||
          <el-button @click="callback({fnCode: 'cancel'})">取消</el-button>
 | 
			
		||||
        </div>
 | 
			
		||||
        <BusinessIssuedDetails :open="`type_${issueOpen}`" :dialogRowData="dialogRowData" @dialogResult="fnDialogResult"></BusinessIssuedDetails>
 | 
			
		||||
      </el-dialog>
 | 
			
		||||
      <!--    下发脚本策略    -->
 | 
			
		||||
      <el-dialog :title="title" :visible.sync="scriptOpen" width="800px" append-to-body style="padding-bottom: 20px;">
 | 
			
		||||
        <severScriptStratDetails :open="`type_${scriptOpen}`" :dialogRowData="dialogRowData" @dialogResult="fnDialogResult"></severScriptStratDetails>
 | 
			
		||||
      </el-dialog>
 | 
			
		||||
      <!-- 添加监控策略 -->
 | 
			
		||||
      <el-dialog title="添加监控策略" :visible.sync="stratOpen" width="1200px" append-to-body>
 | 
			
		||||
        <MonitorStrategy :open="`type_${stratOpen}`" @dialogResult="fnDialogResult"></MonitorStrategy>
 | 
			
		||||
        <MonitorStrategy :open="`type_${stratOpen}`" :dialogRowData="dialogRowData" @dialogResult="fnDialogResult"></MonitorStrategy>
 | 
			
		||||
      </el-dialog>
 | 
			
		||||
      <!--   选择公网业务IP    -->
 | 
			
		||||
      <el-dialog title="选择公网业务IP" :visible.sync="pubilcNetOpen" width="800px" append-to-body style="padding-bottom: 20px;">
 | 
			
		||||
@@ -138,18 +141,22 @@
 | 
			
		||||
 | 
			
		||||
<script setup name="Register">
 | 
			
		||||
    import Form from '@/components/form/index.vue';
 | 
			
		||||
    import {listHandle, networkList} from '@/api/disRevenue/resource';
 | 
			
		||||
    import {listHandle, networkList, getScriptResultBySn, getLogicalNode} from '@/api/disRevenue/resource';
 | 
			
		||||
    import {listAllBusinessList} from "@/api/disRevenue/earnManage"
 | 
			
		||||
    import TableList from '@/components/table/index.vue';
 | 
			
		||||
    import MonitorStrategy from '../serverMonitorStrat/monitorStrategy';
 | 
			
		||||
    import severScriptStratDetails from '../serverScriptStrat/details';
 | 
			
		||||
    import BusinessIssuedDetails from '../../earnManage/businessIssued/details';
 | 
			
		||||
    export default {
 | 
			
		||||
      name: 'ServerRegister',
 | 
			
		||||
      components: {TableList, MonitorStrategy,Form},
 | 
			
		||||
      components: {TableList, MonitorStrategy,Form, BusinessIssuedDetails, severScriptStratDetails},
 | 
			
		||||
      dicts: ['rm_moreip_status', 'rm_register_status', 'rm_register_online_state', 'policy_method'],
 | 
			
		||||
      data() {
 | 
			
		||||
        return {
 | 
			
		||||
          open: false,
 | 
			
		||||
          stratOpen: false,
 | 
			
		||||
          roleList: [],
 | 
			
		||||
          busNameList: [],
 | 
			
		||||
          loading: true,
 | 
			
		||||
          showSearch: true,
 | 
			
		||||
          ids: [],
 | 
			
		||||
@@ -243,6 +250,7 @@
 | 
			
		||||
            {content: '【服务器节点名称1】执行脚本命令', time: '2025-12-10 12:12:12'}
 | 
			
		||||
          ],
 | 
			
		||||
          issueOpen: false,
 | 
			
		||||
          scriptOpen: false,
 | 
			
		||||
          title: '',
 | 
			
		||||
          formList: [],
 | 
			
		||||
          ruleForm: {},
 | 
			
		||||
@@ -259,11 +267,15 @@
 | 
			
		||||
          }],
 | 
			
		||||
          pubilcNetRuleForm: {publicIp: []},
 | 
			
		||||
          ipContentList: {},
 | 
			
		||||
          dialogRowData: {},
 | 
			
		||||
          logicalNodeList: [],
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      created() {
 | 
			
		||||
        this.getList();
 | 
			
		||||
        this.fnBusNameList();
 | 
			
		||||
        this.fnLogicalNode();
 | 
			
		||||
      },
 | 
			
		||||
      activated() {
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
@@ -271,6 +283,20 @@
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      methods: {
 | 
			
		||||
        fnBusNameList() {
 | 
			
		||||
          listAllBusinessList().then(val => {
 | 
			
		||||
            this.busNameList = val && val.data.map(item => {
 | 
			
		||||
              return Object.assign({label: item.businessName, value: item.businessName});
 | 
			
		||||
            });
 | 
			
		||||
          });
 | 
			
		||||
        },
 | 
			
		||||
        fnLogicalNode() {
 | 
			
		||||
          getLogicalNode().then(val => {
 | 
			
		||||
            this.logicalNodeList = val && val.map(item => {
 | 
			
		||||
              return Object.assign({label: item.logicalNodeId, value: item.logicalNodeId});
 | 
			
		||||
            });
 | 
			
		||||
          });
 | 
			
		||||
        },
 | 
			
		||||
        // 处理子组件传递的新值
 | 
			
		||||
        handleValueChange(newValue) {
 | 
			
		||||
          // 父组件更新自身数据,实现同步
 | 
			
		||||
@@ -279,7 +305,7 @@
 | 
			
		||||
        },
 | 
			
		||||
        /** 查询角色列表 */
 | 
			
		||||
        getList() {
 | 
			
		||||
          this.loading = true
 | 
			
		||||
          this.loading = true;
 | 
			
		||||
          listHandle(this.addDateRange(this.queryParams)).then(response => {
 | 
			
		||||
            this.roleList = response.rows;
 | 
			
		||||
            this.queryParams.total = response.total;
 | 
			
		||||
@@ -309,6 +335,8 @@
 | 
			
		||||
        },
 | 
			
		||||
        fnDialogResult(res){
 | 
			
		||||
          this.stratOpen = false;
 | 
			
		||||
          this.issueOpen = false;
 | 
			
		||||
          this.scriptOpen = false;
 | 
			
		||||
        },
 | 
			
		||||
        callback(result, rowData, selectChange) {
 | 
			
		||||
          if (result && result.fnCode) {
 | 
			
		||||
@@ -335,11 +363,13 @@
 | 
			
		||||
                });
 | 
			
		||||
                break;
 | 
			
		||||
              case 'result':
 | 
			
		||||
                this.open = true;
 | 
			
		||||
                this.timelineList = [];
 | 
			
		||||
                // 获取详情
 | 
			
		||||
                getScriptResultBySn({hardwareSn: rowData.hardwareSn}).then(val => {
 | 
			
		||||
                getScriptResultBySn({clientId: rowData.clientId}).then(val => {
 | 
			
		||||
                  this.open = true;
 | 
			
		||||
                  this.timelineList = val && val.data && val.data.scriptResult || [];
 | 
			
		||||
                }).catch(() => {
 | 
			
		||||
                  this.open = true;
 | 
			
		||||
                  this.$modal.msgError("操作失败")
 | 
			
		||||
                });
 | 
			
		||||
                break;
 | 
			
		||||
@@ -391,70 +421,12 @@
 | 
			
		||||
              case 'issueBusiness':
 | 
			
		||||
                this.issueOpen = true;
 | 
			
		||||
                this.title = '下发业务任务';
 | 
			
		||||
                this.formList = [{
 | 
			
		||||
                  config: {title: '',labelWidth: '140px', colSpan: 'disBlock m0Auto'},
 | 
			
		||||
                  controls: {
 | 
			
		||||
                    id: {label: 'ID',hidden: true},
 | 
			
		||||
                    taskName: {label: '任务名称', span: 18, type: 'input', required: true},
 | 
			
		||||
                    businessName: {label: '业务名称', span: 18, type: 'select',options: [], required: true},
 | 
			
		||||
                    scriptName: {label: '脚本名称', span: 18, type: 'select',options: [], required: true},
 | 
			
		||||
                    adress: {label: '脚本文件地址', span: 18, type: 'input', disabled: true, required: true},
 | 
			
		||||
                    params: {label: '脚本参数', span: 18, type: 'input',options: [], required: true},
 | 
			
		||||
                    deployDevice: {label: '部署设备', span: 18, type: 'textarea',rows: 15, required: true},
 | 
			
		||||
                  }
 | 
			
		||||
                }];
 | 
			
		||||
                this.ruleForm = {
 | 
			
		||||
                  id: '',
 | 
			
		||||
                  clientId: '',
 | 
			
		||||
                  name: '',
 | 
			
		||||
                  scriptName: '',
 | 
			
		||||
                  adress: '',
 | 
			
		||||
                  params: '',
 | 
			
		||||
                  machineCode: ''
 | 
			
		||||
                };
 | 
			
		||||
                this.$nextTick(() => {
 | 
			
		||||
                  this.$refs['formRef'].initFormData();
 | 
			
		||||
                  // 5. 最后执行重置
 | 
			
		||||
                  if (this.$refs['formRef']?.$refs.ruleForm) {
 | 
			
		||||
                    this.$refs['formRef'].$refs.ruleForm.resetFields();
 | 
			
		||||
                  }
 | 
			
		||||
                });
 | 
			
		||||
                this.dialogRowData = rowData;
 | 
			
		||||
                break;
 | 
			
		||||
              case 'issueScript':
 | 
			
		||||
                this.issueOpen = true;
 | 
			
		||||
                this.scriptOpen = true;
 | 
			
		||||
                this.title = '添加脚本策略';
 | 
			
		||||
                this.formList = [{
 | 
			
		||||
                  config: {title: '',labelWidth: '140px', colSpan: 'disBlock m0Auto'},
 | 
			
		||||
                  controls: {
 | 
			
		||||
                    id: {label: 'ID',hidden: true},
 | 
			
		||||
                    clientId: {label: '策略名称', span: 18, type: 'input', required: true},
 | 
			
		||||
                    description: {label: '描述', span: 18, type: 'textarea', required: true},
 | 
			
		||||
                    deployDevice: {label: '部署设备', span: 18, type: 'textarea',rows: 15, required: true},
 | 
			
		||||
                    scriptName: {label: '脚本名称', span: 18, type: 'select',options: [], required: true},
 | 
			
		||||
                    scriptPath: {label: '脚本文件地址', span: 18, type: 'input', disabled: true, required: true},
 | 
			
		||||
                    scriptParams: {label: '脚本参数', span: 18, type: 'input', required: true},
 | 
			
		||||
                    executionMethod: {label: '执行方式', span: 18, type: 'select',eventName:'change', options: this.dict.type.policy_method},
 | 
			
		||||
                    scheduledTime: {label: '定时时间', span: 18, type: 'date', hidden: true},
 | 
			
		||||
                  }
 | 
			
		||||
                }];
 | 
			
		||||
                this.ruleForm = {
 | 
			
		||||
                  id: '',
 | 
			
		||||
                  clientId: '',
 | 
			
		||||
                  remarks: '',
 | 
			
		||||
                  scriptName: '',
 | 
			
		||||
                  adress: '',
 | 
			
		||||
                  params: '',
 | 
			
		||||
                  machineCode: '',
 | 
			
		||||
                  executionMethod: '',
 | 
			
		||||
                  scheduledTime: ''
 | 
			
		||||
                };
 | 
			
		||||
                this.$nextTick(() => {
 | 
			
		||||
                  this.$refs['formRef'].initFormData();
 | 
			
		||||
                  // 5. 最后执行重置
 | 
			
		||||
                  if (this.$refs['formRef']?.$refs.ruleForm) {
 | 
			
		||||
                    this.$refs['formRef'].$refs.ruleForm.resetFields();
 | 
			
		||||
                  }
 | 
			
		||||
                });
 | 
			
		||||
                this.dialogRowData = rowData;
 | 
			
		||||
                break;
 | 
			
		||||
              case 'executionMethod':
 | 
			
		||||
                if (rowData && rowData === '1') {
 | 
			
		||||
@@ -465,6 +437,7 @@
 | 
			
		||||
                break;
 | 
			
		||||
              case 'issueMonitor':
 | 
			
		||||
                this.stratOpen = true;
 | 
			
		||||
                this.dialogRowData = rowData;
 | 
			
		||||
                break;
 | 
			
		||||
              case 'submit':
 | 
			
		||||
                break;
 | 
			
		||||
 
 | 
			
		||||
@@ -10,9 +10,31 @@
 | 
			
		||||
  import {getPolicy, addPolicy, updatePolicy} from "@/api/disRevenue/resource"
 | 
			
		||||
  import {getAllBusScriptName} from "@/api/disRevenue/earnManage"
 | 
			
		||||
  export default {
 | 
			
		||||
    name: 'PortRemarks',
 | 
			
		||||
    name: 'severScriptStratDetails',
 | 
			
		||||
    components: {Form},
 | 
			
		||||
    dicts: ['policy_method', 'policy_status'],
 | 
			
		||||
    props: {
 | 
			
		||||
      open: {
 | 
			
		||||
        type: String,
 | 
			
		||||
        default: () => {}
 | 
			
		||||
      },
 | 
			
		||||
      dialogRowData: {
 | 
			
		||||
        type: Object,
 | 
			
		||||
        default: (() => {})
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    watch: {
 | 
			
		||||
      open: {
 | 
			
		||||
        handler(val) {
 | 
			
		||||
          if (val === 'type_false') {
 | 
			
		||||
            // 清空form
 | 
			
		||||
            this.$refs['formRef'].$refs.ruleForm.resetFields();
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        deep: true,
 | 
			
		||||
        immediate: true
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        loading: false,
 | 
			
		||||
@@ -24,6 +46,10 @@
 | 
			
		||||
    },
 | 
			
		||||
    created() {
 | 
			
		||||
      this.paramsData = this.$route && this.$route.query;
 | 
			
		||||
      if (this.open) {
 | 
			
		||||
        this.paramsData = {};
 | 
			
		||||
        this.$set(this.ruleForm, 'deployDevice', this.dialogRowData.clientId);
 | 
			
		||||
      }
 | 
			
		||||
      if (this.paramsData && this.paramsData.id) {
 | 
			
		||||
        this.getFormDataList(this.paramsData.id);
 | 
			
		||||
      }
 | 
			
		||||
@@ -39,7 +65,7 @@
 | 
			
		||||
            id: {label: 'ID',hidden: true},
 | 
			
		||||
            policyName: {label: '策略名称', span: 18, type: 'input', required: true},
 | 
			
		||||
            description: {label: '描述', span: 18, type: 'textarea'},
 | 
			
		||||
            task: {label: '关联业务下发任务', span: 18, type: 'input', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
            taskName: {label: '关联业务下发任务', span: 18, type: 'input', hidden: !(this.paramsData && this.paramsData.readonly)},
 | 
			
		||||
            deployDevice: {label: '部署设备', span: 18, type: 'textarea',rows: 15, required: true},
 | 
			
		||||
            scriptName: {label: '脚本名称', span: 18, type: 'select', eventName: 'change', options: [], required: true},
 | 
			
		||||
            scriptPath: {label: '脚本文件地址', span: 18, type: 'input', disabled: true, required: true},
 | 
			
		||||
@@ -105,14 +131,22 @@
 | 
			
		||||
              this.loading = true;
 | 
			
		||||
              fnType(dataVal).then(response => {
 | 
			
		||||
                this.$modal.msgSuccess(response.msg);
 | 
			
		||||
                if (this.open) {
 | 
			
		||||
                  this.$emit("dialogResult", {open: false});
 | 
			
		||||
                } else {
 | 
			
		||||
                  this.$router.push("/resource/serverScriptStrat");
 | 
			
		||||
                }
 | 
			
		||||
                this.loading = false;
 | 
			
		||||
              }).catch(() => {
 | 
			
		||||
                this.$modal.msgError("操作失败")
 | 
			
		||||
              });
 | 
			
		||||
              break;
 | 
			
		||||
            case 'cancel':
 | 
			
		||||
              if (this.open) {
 | 
			
		||||
                this.$emit("dialogResult", {open: false});
 | 
			
		||||
              } else {
 | 
			
		||||
                this.$router.push("/resource/serverScriptStrat");
 | 
			
		||||
              }
 | 
			
		||||
              break;
 | 
			
		||||
            default:
 | 
			
		||||
          }
 | 
			
		||||
 
 | 
			
		||||
@@ -57,16 +57,21 @@
 | 
			
		||||
    </TableList>
 | 
			
		||||
    <!--    弹窗  -->
 | 
			
		||||
    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
 | 
			
		||||
      <el-checkbox-group v-model="checkboxGroup" size="min" :disabled="dialogData['timeline'] ? false : true">
 | 
			
		||||
      <template v-if="clientList && clientList.length > 0">
 | 
			
		||||
        <el-checkbox-group v-model="checkboxGroup" size="min" :disabled="dialogData['timeline'] ? false : true" @change="handleCheckedCitiesChange">
 | 
			
		||||
          <el-checkbox-button style="margin-right: 10px;" v-for="city in clientList" :label="city" :key="city">{{city}}</el-checkbox-button>
 | 
			
		||||
        </el-checkbox-group>
 | 
			
		||||
        <div v-if="dialogData['timeline']" class="block mt10">
 | 
			
		||||
          <el-timeline :reverse="true">
 | 
			
		||||
          <el-timeline-item v-for="item of dialogData.timelineList" :timestamp="item.createTime" placement="top">
 | 
			
		||||
            <template v-for="(timeline,key,index) of dialogData.timelineList">
 | 
			
		||||
              <el-timeline-item v-for="item of timeline" :timestamp="item.createTime" placement="top">
 | 
			
		||||
                <pre>{{item.content}}</pre>
 | 
			
		||||
              </el-timeline-item>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-timeline>
 | 
			
		||||
        </div>
 | 
			
		||||
      </template>
 | 
			
		||||
      <el-empty v-else :image-size="200"></el-empty>
 | 
			
		||||
    </el-dialog>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
@@ -94,7 +99,7 @@
 | 
			
		||||
          id: { label: `ID`,width: '50'},
 | 
			
		||||
          policyName: { label: `策略名称`, minWidth: '250', visible: true },
 | 
			
		||||
          description: { label: `描述`,minWidth: '200'},
 | 
			
		||||
          task: { label: `关联业务下发`,minWidth: '200',visible: true},
 | 
			
		||||
          taskName: { label: `关联业务下发`,minWidth: '200',visible: true},
 | 
			
		||||
          deployDevice: { label: `部署设备`,minWidth: '200'},
 | 
			
		||||
          scriptName: { label: `脚本名称`,minWidth: '150'},
 | 
			
		||||
          scriptPath: { label: `脚本地址`,minWidth: '200'},
 | 
			
		||||
@@ -128,13 +133,11 @@
 | 
			
		||||
        title: '',
 | 
			
		||||
        dialogData: {
 | 
			
		||||
          timeline: false,
 | 
			
		||||
          timelineList: [
 | 
			
		||||
            {content: '【服务器节点名称1】执行脚本命令', time: '2025-12-12 12:12:12'},
 | 
			
		||||
            {content: '【服务器节点名称1】执行脚本命令', time: '2025-12-11 12:12:12'},
 | 
			
		||||
            {content: '【服务器节点名称1】执行脚本命令', time: '2025-12-10 12:12:12'}
 | 
			
		||||
          ]
 | 
			
		||||
          timelineList: {}
 | 
			
		||||
        },
 | 
			
		||||
        clientList: [],
 | 
			
		||||
        changeClientMap: [],
 | 
			
		||||
        changeRowData: {},
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    created() {
 | 
			
		||||
@@ -176,12 +179,10 @@
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      fnDetails(num, row){
 | 
			
		||||
        this.dialogData['timelineList'] = [];
 | 
			
		||||
        getScriptResultBySn({clientId: row.clientId, scriptId: row.id}).then(val => {
 | 
			
		||||
          this.dialogData['timelineList'] = val && val.data && val.data.scriptResult || [];
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
          this.$modal.msgError("操作失败")
 | 
			
		||||
        });
 | 
			
		||||
        this.checkboxGroup = [];
 | 
			
		||||
        this.changeClientMap = [];
 | 
			
		||||
        this.changeRowData = row;
 | 
			
		||||
        this.dialogData['timelineList'] = {};
 | 
			
		||||
        this.clientList = [];
 | 
			
		||||
        this.open = true;
 | 
			
		||||
        if (num === 1) {
 | 
			
		||||
@@ -192,10 +193,38 @@
 | 
			
		||||
          this.title = '执行成功设备';
 | 
			
		||||
          this.dialogData['timeline'] = true;
 | 
			
		||||
          this.clientList = row.sucessClientIds;
 | 
			
		||||
          if (this.clientList && this.clientList.length > 0) {
 | 
			
		||||
            this.checkboxGroup = [this.clientList[0]];
 | 
			
		||||
            this.handleCheckedCitiesChange([this.clientList[0]]);
 | 
			
		||||
          }
 | 
			
		||||
        } else {
 | 
			
		||||
          this.title = '执行失败设备';
 | 
			
		||||
          this.dialogData['timeline'] = true;
 | 
			
		||||
          this.clientList = row.failClientIds;
 | 
			
		||||
          if (this.clientList && this.clientList.length > 0) {
 | 
			
		||||
            this.checkboxGroup = [this.clientList[0]];
 | 
			
		||||
            this.handleCheckedCitiesChange([this.clientList[0]]);
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      // 选中clientId
 | 
			
		||||
      handleCheckedCitiesChange(val) {
 | 
			
		||||
        let differentValues = val.filter(item => !new Set(this.changeClientMap).has(item));
 | 
			
		||||
        if (differentValues && differentValues.length > 0) {
 | 
			
		||||
          this.changeClientMap = val;
 | 
			
		||||
          getScriptResultBySn({clientId: differentValues[0], scriptId: this.changeRowData.id}).then(val => {
 | 
			
		||||
            if ( val && val.data && val.data.scriptResult && val.data.scriptResult.length > 0) {
 | 
			
		||||
              this.$set(this.dialogData['timelineList'], differentValues[0], val.data.scriptResult);
 | 
			
		||||
            }
 | 
			
		||||
          }).catch(() => {
 | 
			
		||||
            this.$modal.msgError("操作失败")
 | 
			
		||||
          });
 | 
			
		||||
        } else {
 | 
			
		||||
          let delDifferentVal = this.changeClientMap.filter(item => !new Set(val).has(item));
 | 
			
		||||
          if (delDifferentVal && delDifferentVal.length > 0) {
 | 
			
		||||
            this.changeClientMap = val;
 | 
			
		||||
            this.$delete(this.dialogData['timelineList'], delDifferentVal[0]);
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,9 @@
 | 
			
		||||
<script>
 | 
			
		||||
  import FirstMonitor from "./firstMonitor";
 | 
			
		||||
  import SecondAutoFind from "./secondAutoFind";
 | 
			
		||||
  import {switchMonitorData, switchCpuData, switchMemData,switchPowerData, postInterFaceName, switchNetDetails,switchNetDiscards,switchNeTotal,switchNetErrDiscard, switchNetSpeed} from "@/api/disRevenue/resource"
 | 
			
		||||
  import {switchMonitorData, switchCpuData, switchMemData,switchPowerData, postInterFaceName, switchNetDetails,switchNetDiscards,switchNeTotal,
 | 
			
		||||
    switchNetErrDiscard, switchNetSpeed, moduleAllName, moduleMsg, moduleLowThreshold, modulePower, mpuAllName, mpuMsg, mpuCpuUse, mpuMemUse,
 | 
			
		||||
    mpuTemperature,pwrAllName, pwrMsg, pwrCurrent, pwrVoltage, fanAllName, fanMsg} from "@/api/disRevenue/resource"
 | 
			
		||||
  export default {
 | 
			
		||||
    name: "MonitorChart",
 | 
			
		||||
    components: {FirstMonitor, SecondAutoFind},
 | 
			
		||||
@@ -118,8 +120,8 @@
 | 
			
		||||
          net: {
 | 
			
		||||
            title: '网络端口GE1/0/1',
 | 
			
		||||
            type: 'net',
 | 
			
		||||
            formList: {name: '端口名称', type: '端口类型', status: '端口状态', mbps: '端口适配速率(Mbps)'},
 | 
			
		||||
            formModel: {name: 'GE1/0/1', type: 'ETHNET', status: 'up', mbps: '1000'},
 | 
			
		||||
            formList: {ifDescr: '端口名称', ifType: '端口类型', ifOperStatus: '端口状态', ifSpeed: '端口适配速率(Mbps)'},
 | 
			
		||||
            formModel: {},
 | 
			
		||||
            echartFors: [
 | 
			
		||||
              {title: '的丢包数', oneName: '入站丢包', twoName: '出站丢包'},
 | 
			
		||||
              {title: '的Bites总数', oneName: '端口发送Bites总数', twoName: '端口接收Bites总数'},
 | 
			
		||||
@@ -134,8 +136,8 @@
 | 
			
		||||
            formList: {name: '光模块端口名称'},
 | 
			
		||||
            formModel: {name: 'sabc'},
 | 
			
		||||
            echartFors: [
 | 
			
		||||
              {title: 'sabc的光衰阈值(dBm)', oneName: '光模块发送光衰阈值', twoName: '光模块接收光衰阈值'},
 | 
			
		||||
              {title: 'sabc的功率(dBm)', oneName: '光模块接收功率', twoName: '光模块发送功率'}
 | 
			
		||||
              {title: '的光衰阈值(dBm)', oneName: '光模块发送光衰阈值', twoName: '光模块接收光衰阈值'},
 | 
			
		||||
              {title: '的功率(dBm)', oneName: '光模块接收功率', twoName: '光模块发送功率'}
 | 
			
		||||
            ],
 | 
			
		||||
            echartList: []
 | 
			
		||||
          },
 | 
			
		||||
@@ -145,9 +147,9 @@
 | 
			
		||||
            formList: {name: 'MPU名称', system: 'MPU的操作系统'},
 | 
			
		||||
            formModel: {name: 'MPU1', system: 'xxxx'},
 | 
			
		||||
            echartFors: [
 | 
			
		||||
              {title: 'MPU1的CPU使用率(%)', oneName: 'CPU利用率'},
 | 
			
		||||
              {title: 'MPU1的内存使用率(%)', oneName: '内存利用率'},
 | 
			
		||||
              {title: 'MPU1的温度(°C)', oneName: '温度'},
 | 
			
		||||
              {title: '的CPU使用率(%)', oneName: 'CPU利用率'},
 | 
			
		||||
              {title: '的内存使用率(%)', oneName: '内存利用率'},
 | 
			
		||||
              {title: '的温度(°C)', oneName: '温度'},
 | 
			
		||||
            ],
 | 
			
		||||
            echartList: []
 | 
			
		||||
          },
 | 
			
		||||
@@ -157,8 +159,8 @@
 | 
			
		||||
            formList: {name: '电源名称', status: '电源状态'},
 | 
			
		||||
            formModel: {name: 'PW1', status: '正在供电'},
 | 
			
		||||
            echartFors: [
 | 
			
		||||
              {title: '电源电流(mA)', oneName: '电源电流'},
 | 
			
		||||
              {title: '电源电压(mV)', oneName: '电源电压'}
 | 
			
		||||
              {title: '电流(mA)', oneName: '电源电流'},
 | 
			
		||||
              {title: '电压(mV)', oneName: '电源电压'}
 | 
			
		||||
            ],
 | 
			
		||||
            echartList: []
 | 
			
		||||
          },
 | 
			
		||||
@@ -261,61 +263,85 @@
 | 
			
		||||
      // 接口名称
 | 
			
		||||
      fnInterFaceNameList(val) {
 | 
			
		||||
        this.activeNames = [];
 | 
			
		||||
        postInterFaceName({clientId: this.paramsData.clientId}).then(res => {
 | 
			
		||||
        postInterFaceName({clientId: this.paramsData.clientId,resourceType: 2}).then(res => {
 | 
			
		||||
          let tabNameList = {};
 | 
			
		||||
          res && res.forEach(async(item,index) => {
 | 
			
		||||
            let oneData = JSON.parse(JSON.stringify(this.linuxSystem['net']));
 | 
			
		||||
            oneData.title = item && item.interfaceName;
 | 
			
		||||
            tabNameList[item.interfaceName] = oneData;
 | 
			
		||||
            tabNameList[item.interfaceName + '_net'] = oneData;
 | 
			
		||||
          });
 | 
			
		||||
          this.secondChartList = {...tabNameList};
 | 
			
		||||
          this.activeNames = [Object.keys(tabNameList)[0]];
 | 
			
		||||
          this.getNetDetailsData(this.currTimeList, Object.keys(tabNameList)[0]);
 | 
			
		||||
          // this.fnSwitchNetNames(); // 第二模块名称
 | 
			
		||||
          // setTimeout(() => {
 | 
			
		||||
          //   this.fnDiskNames(); // 第三模块名称
 | 
			
		||||
          //   setTimeout(() => {
 | 
			
		||||
          //     this.fnDockerNames(); // 第四模块名称
 | 
			
		||||
          //   },500);
 | 
			
		||||
          // },500);
 | 
			
		||||
          this.fnModuleNameList(); // 第二模块名称
 | 
			
		||||
          setTimeout(() => {
 | 
			
		||||
            this.fnMpuNameList(); // 第三模块名称
 | 
			
		||||
            setTimeout(() => {
 | 
			
		||||
              this.fnPwrNameList(); // 第四模块名称
 | 
			
		||||
              setTimeout(() => {
 | 
			
		||||
                this.fnFanNameList(); // 第五模块名称
 | 
			
		||||
              },500);
 | 
			
		||||
            },500);
 | 
			
		||||
          },500);
 | 
			
		||||
          this.getNetDetailsData(this.currTimeList, tabNameList[Object.keys(tabNameList)[0]].title, Object.keys(tabNameList)[0]);
 | 
			
		||||
        }).catch((error) => {
 | 
			
		||||
 | 
			
		||||
          this.fnModuleNameList(); // 第二模块名称
 | 
			
		||||
          setTimeout(() => {
 | 
			
		||||
            this.fnMpuNameList(); // 第三模块名称
 | 
			
		||||
            setTimeout(() => {
 | 
			
		||||
              this.fnPwrNameList(); // 第四模块名称
 | 
			
		||||
              setTimeout(() => {
 | 
			
		||||
                this.fnFanNameList(); // 第五模块名称
 | 
			
		||||
              },500);
 | 
			
		||||
            },500);
 | 
			
		||||
          },500);
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      // 基本信息
 | 
			
		||||
      getNetDetailsData(times, titleName) {
 | 
			
		||||
      getNetDetailsData(times, titleName, keyName) {
 | 
			
		||||
        this.$modal.loading();
 | 
			
		||||
        this.eventDataMap[titleName] = true;
 | 
			
		||||
        switchNetDetails({clientId: this.paramsData.clientId, name: titleName}).then(async res => {
 | 
			
		||||
          this.secondChartList[titleName].formModel = res && res.data || [];
 | 
			
		||||
          if (await this.getNetDiscards(times ,titleName)) {
 | 
			
		||||
            if (await this.getNetTotal(times, titleName)) {
 | 
			
		||||
              if (await this.getNetErrDisc(times, titleName)) {
 | 
			
		||||
                this.getNetSpeed(times, titleName);
 | 
			
		||||
        this.eventDataMap[keyName] = true;
 | 
			
		||||
        switchNetDetails({clientId: this.paramsData.clientId, ifDescr: titleName}).then(async res => {
 | 
			
		||||
          this.secondChartList[keyName].formModel = res && res.data || [];
 | 
			
		||||
          // const [one, two, three, four] = await Promise.all([
 | 
			
		||||
          //   this.getNetDiscards(times, titleName, keyName),
 | 
			
		||||
          //   this.getNetTotal(times, titleName, keyName),
 | 
			
		||||
          //   this.getNetErrDisc(times, titleName, keyName), // 原 tree 应为 three
 | 
			
		||||
          //   this.getNetSpeed(times, titleName, keyName)
 | 
			
		||||
          // ]);
 | 
			
		||||
          // console.log('one==', one);
 | 
			
		||||
          // console.log('two==', two);
 | 
			
		||||
          // console.log('tree==', three);
 | 
			
		||||
          // console.log('four==', four);
 | 
			
		||||
          // if (one && two && three && four) {
 | 
			
		||||
          //   console.log('vvvvvvvv========');
 | 
			
		||||
          //   this.$modal.closeLoading();
 | 
			
		||||
          // }
 | 
			
		||||
 | 
			
		||||
          if (await this.getNetDiscards(times ,titleName, keyName)) {
 | 
			
		||||
            if (await this.getNetTotal(times, titleName, keyName)) {
 | 
			
		||||
              if (await this.getNetErrDisc(times, titleName, keyName)) {
 | 
			
		||||
                this.getNetSpeed(times, titleName, keyName);
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(async error => {
 | 
			
		||||
          if (await this.getNetDiscards(times ,titleName, keyName)) {
 | 
			
		||||
            if (await this.getNetTotal(times, titleName, keyName)) {
 | 
			
		||||
              if (await this.getNetErrDisc(times, titleName, keyName)) {
 | 
			
		||||
                this.getNetSpeed(times, titleName, keyName);
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
          this.getSpaceEcharts(times ,titleName);
 | 
			
		||||
          setTimeout(() => {
 | 
			
		||||
            this.getNetTotal(times, titleName);
 | 
			
		||||
            setTimeout(() => {
 | 
			
		||||
              this.getNetErrDisc(times, titleName);
 | 
			
		||||
              setTimeout(() => {
 | 
			
		||||
                this.getNetSpeed(times, titleName);
 | 
			
		||||
              },500);
 | 
			
		||||
            },500);
 | 
			
		||||
          },500);
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      // 丢包
 | 
			
		||||
      getNetDiscards(times,titleName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[titleName]));
 | 
			
		||||
      getNetDiscards(times,titleName, keyName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
 | 
			
		||||
        let netEcharts = JSON.parse(JSON.stringify(this.echartData));
 | 
			
		||||
        let content = JSON.parse(JSON.stringify(this.linuxSystem['net']));
 | 
			
		||||
        netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
 | 
			
		||||
        netEcharts.fnEvent = 'getNetDiscards';
 | 
			
		||||
        return switchNetDiscards(Object.assign({}, {name : titleName,clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
        return switchNetDiscards(Object.assign({}, {ifDescr : titleName,clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
          if (res && res.data) {
 | 
			
		||||
            netEcharts.title = titleName + content.echartFors[0].title;
 | 
			
		||||
            netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
 | 
			
		||||
@@ -330,7 +356,7 @@
 | 
			
		||||
              data: res.data && res.data.yData['netOutDiscardsData'] || []
 | 
			
		||||
            };
 | 
			
		||||
            mountCollect['echartList'][0] = netEcharts;
 | 
			
		||||
            this.$set(this.secondChartList, titleName, mountCollect);
 | 
			
		||||
            this.$set(this.secondChartList, keyName, mountCollect);
 | 
			
		||||
            return true;
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
@@ -338,13 +364,13 @@
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      // 总数
 | 
			
		||||
      getNetTotal(times,titleName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[titleName]));
 | 
			
		||||
      getNetTotal(times,titleName, keyName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
 | 
			
		||||
        let netEcharts = JSON.parse(JSON.stringify(this.echartData));
 | 
			
		||||
        let content = JSON.parse(JSON.stringify(this.linuxSystem['net']));
 | 
			
		||||
        netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
 | 
			
		||||
        netEcharts.fnEvent = 'getNetTotal';
 | 
			
		||||
        return switchNeTotal(Object.assign({}, {name : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
        return switchNeTotal(Object.assign({}, {ifDescr : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
          if (res && res.data) {
 | 
			
		||||
            netEcharts.title = titleName + content.echartFors[1].title;
 | 
			
		||||
            netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
 | 
			
		||||
@@ -359,7 +385,7 @@
 | 
			
		||||
              data: res.data && res.data.yData['netOutTotalData'] || []
 | 
			
		||||
            };
 | 
			
		||||
            mountCollect['echartList'][1] = netEcharts;
 | 
			
		||||
            this.$set(this.secondChartList, titleName, mountCollect);
 | 
			
		||||
            this.$set(this.secondChartList, keyName, mountCollect);
 | 
			
		||||
            return true;
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
@@ -367,13 +393,13 @@
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      // 错误丢包
 | 
			
		||||
      getNetErrDisc(times, titleName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[titleName]));
 | 
			
		||||
      getNetErrDisc(times, titleName, keyName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
 | 
			
		||||
        let netEcharts = JSON.parse(JSON.stringify(this.echartData));
 | 
			
		||||
        let content = JSON.parse(JSON.stringify(this.linuxSystem['net']));
 | 
			
		||||
        netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
 | 
			
		||||
        netEcharts.fnEvent = 'getNetErrDisc';
 | 
			
		||||
        return switchNetErrDiscard(Object.assign({}, {name : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
        return switchNetErrDiscard(Object.assign({}, {ifDescr : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
          if (res && res.data) {
 | 
			
		||||
            netEcharts.title = titleName + content.echartFors[2].title;
 | 
			
		||||
            netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
 | 
			
		||||
@@ -386,7 +412,7 @@
 | 
			
		||||
              data: res.data && res.data.yData['netOutErrDiscardsData'] || []
 | 
			
		||||
            };
 | 
			
		||||
            mountCollect['echartList'][2] = netEcharts;
 | 
			
		||||
            this.$set(this.secondChartList, titleName, mountCollect);
 | 
			
		||||
            this.$set(this.secondChartList, keyName, mountCollect);
 | 
			
		||||
            return true;
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
@@ -394,13 +420,13 @@
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      // 实时流量
 | 
			
		||||
      getNetSpeed(times, titleName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[titleName]));
 | 
			
		||||
      getNetSpeed(times, titleName, keyName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
 | 
			
		||||
        let netEcharts = JSON.parse(JSON.stringify(this.echartData));
 | 
			
		||||
        let content = JSON.parse(JSON.stringify(this.linuxSystem['net']));
 | 
			
		||||
        netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
 | 
			
		||||
        netEcharts.fnEvent = 'getNetSpeed';
 | 
			
		||||
        switchNetSpeed(Object.assign({}, {name : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
        return switchNetSpeed(Object.assign({}, {ifDescr : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
          if (res && res.data) {
 | 
			
		||||
            netEcharts.title = titleName + content.echartFors[3].title;
 | 
			
		||||
            netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
 | 
			
		||||
@@ -413,10 +439,311 @@
 | 
			
		||||
              data: res.data && res.data.yData['netOutSpeedData'] || []
 | 
			
		||||
            };
 | 
			
		||||
            mountCollect['echartList'][3] = netEcharts;
 | 
			
		||||
            this.$set(this.secondChartList, titleName, mountCollect);
 | 
			
		||||
            this.$set(this.secondChartList, keyName, mountCollect);
 | 
			
		||||
            // return true;
 | 
			
		||||
            this.$modal.closeLoading();
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
          // return true;
 | 
			
		||||
          this.$modal.closeLoading();
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      // 光模块的所有名称 moduleAllName, moduleMsg, moduleLowThreshold, modulePower
 | 
			
		||||
      fnModuleNameList(val) {
 | 
			
		||||
        moduleAllName({clientId: this.paramsData.clientId}).then(res => {
 | 
			
		||||
          let tabNameList = {};
 | 
			
		||||
          res && res.data.forEach(async(item,index) => {
 | 
			
		||||
            let oneData = JSON.parse(JSON.stringify(this.linuxSystem['light']));
 | 
			
		||||
            oneData.title = item && item.fiberPortName;
 | 
			
		||||
            tabNameList[item.fiberPortName + '_module'] = oneData;
 | 
			
		||||
            this.$set(this.secondChartList, item.fiberPortName + '_module', oneData);
 | 
			
		||||
          });
 | 
			
		||||
        }).catch((error) => {
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      // 基本信息
 | 
			
		||||
      getModuleDetailsData(times, titleName, keyName) {
 | 
			
		||||
        this.$modal.loading();
 | 
			
		||||
        this.eventDataMap[keyName] = true;
 | 
			
		||||
        moduleMsg({clientId: this.paramsData.clientId, moudleName: titleName}).then(async res => {
 | 
			
		||||
          this.secondChartList[titleName].formModel = res && res.data || [];
 | 
			
		||||
          if (await this.getModuleLowThreshold(times ,titleName, keyName)) {
 | 
			
		||||
            this.getModulePower(times, titleName, keyName);
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(async error => {
 | 
			
		||||
          if (await this.getModuleLowThreshold(times ,titleName, keyName)) {
 | 
			
		||||
            this.getModulePower(times, titleName, keyName);
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      // 光衰阈值
 | 
			
		||||
      getModuleLowThreshold(times,titleName, keyName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
 | 
			
		||||
        let netEcharts = JSON.parse(JSON.stringify(this.echartData));
 | 
			
		||||
        let content = JSON.parse(JSON.stringify(this.linuxSystem['light']));
 | 
			
		||||
        netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
 | 
			
		||||
        netEcharts.fnEvent = 'getModuleLowThreshold';
 | 
			
		||||
        return moduleLowThreshold(Object.assign({}, {moudleName : titleName,clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
          if (res && res.data) {
 | 
			
		||||
            netEcharts.title = titleName + content.echartFors[0].title;
 | 
			
		||||
            netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
 | 
			
		||||
            // 入
 | 
			
		||||
            netEcharts.dataVal.dataList[0] = {
 | 
			
		||||
              name: content.echartFors[0].oneName,
 | 
			
		||||
              data: res.data && res.data.yData['TxLowThreshold'] || []
 | 
			
		||||
            };
 | 
			
		||||
            // 出
 | 
			
		||||
            netEcharts.dataVal.dataList[1] = {
 | 
			
		||||
              name: content.echartFors[0].twoName,
 | 
			
		||||
              data: res.data && res.data.yData['RxLowThreshold'] || []
 | 
			
		||||
            };
 | 
			
		||||
            mountCollect['echartList'][0] = netEcharts;
 | 
			
		||||
            this.$set(this.secondChartList, keyName, mountCollect);
 | 
			
		||||
            return true;
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
          return true;
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      // 功率
 | 
			
		||||
      getModulePower(times,titleName, keyName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
 | 
			
		||||
        let netEcharts = JSON.parse(JSON.stringify(this.echartData));
 | 
			
		||||
        let content = JSON.parse(JSON.stringify(this.linuxSystem['light']));
 | 
			
		||||
        netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
 | 
			
		||||
        netEcharts.fnEvent = 'getModulePower';
 | 
			
		||||
        return modulePower(Object.assign({}, {moudleName : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
          if (res && res.data) {
 | 
			
		||||
            netEcharts.title = titleName + content.echartFors[1].title;
 | 
			
		||||
            netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
 | 
			
		||||
            // 入
 | 
			
		||||
            netEcharts.dataVal.dataList[0] = {
 | 
			
		||||
              name: content.echartFors[1].oneName,
 | 
			
		||||
              data: res.data && res.data.yData['RxPower'] || []
 | 
			
		||||
            };
 | 
			
		||||
            // 出
 | 
			
		||||
            netEcharts.dataVal.dataList[1] = {
 | 
			
		||||
              name: content.echartFors[1].twoName,
 | 
			
		||||
              data: res.data && res.data.yData['TxPower'] || []
 | 
			
		||||
            };
 | 
			
		||||
            mountCollect['echartList'][1] = netEcharts;
 | 
			
		||||
            this.$set(this.secondChartList, keyName, mountCollect);
 | 
			
		||||
            this.$modal.closeLoading();
 | 
			
		||||
            return true;
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
          this.$modal.closeLoading();
 | 
			
		||||
          return true;
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      // mpu的所有名称 mpuAllName, mpuMsg, mpuCpuUse, mpuMemUse, mpuTemperature
 | 
			
		||||
      fnMpuNameList(val) {
 | 
			
		||||
        mpuAllName({clientId: this.paramsData.clientId}).then(res => {
 | 
			
		||||
          let tabNameList = {};
 | 
			
		||||
          res && res.data.forEach(async(item,index) => {
 | 
			
		||||
            let oneData = JSON.parse(JSON.stringify(this.linuxSystem['mpu']));
 | 
			
		||||
            oneData.title = item && item.mpuName;
 | 
			
		||||
            tabNameList[item.mpuName + '_mpu'] = oneData;
 | 
			
		||||
            this.$set(this.secondChartList, item.mpuName + '_mpu', oneData);
 | 
			
		||||
          });
 | 
			
		||||
        }).catch((error) => {
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      // 基本信息
 | 
			
		||||
      getMpuDetailsData(times, titleName, keyName) {
 | 
			
		||||
        this.$modal.loading();
 | 
			
		||||
        this.eventDataMap[keyName] = true;
 | 
			
		||||
        mpuMsg({clientId: this.paramsData.clientId, mpuName: titleName}).then(async res => {
 | 
			
		||||
          this.secondChartList[titleName].formModel = res && res.data || [];
 | 
			
		||||
          if (await this.getMpuCpuUse(times ,titleName, keyName)) {
 | 
			
		||||
            if (await this.getMpuMemUse(times, titleName, keyName)) {
 | 
			
		||||
              this.getMpuTemperature(times, titleName, keyName);
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(async error => {
 | 
			
		||||
          if (await this.getMpuCpuUse(times ,titleName, keyName)) {
 | 
			
		||||
            if (await this.getMpuMemUse(times, titleName, keyName)) {
 | 
			
		||||
              this.getMpuTemperature(times, titleName, keyName);
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      //
 | 
			
		||||
      getMpuCpuUse(times,titleName, keyName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
 | 
			
		||||
        let netEcharts = JSON.parse(JSON.stringify(this.echartData));
 | 
			
		||||
        let content = JSON.parse(JSON.stringify(this.linuxSystem['mpu']));
 | 
			
		||||
        netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
 | 
			
		||||
        netEcharts.fnEvent = 'getMpuCpuUse';
 | 
			
		||||
        return mpuCpuUse(Object.assign({}, {mpuName : titleName,clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
          if (res && res.data) {
 | 
			
		||||
            netEcharts.title = titleName + content.echartFors[0].title;
 | 
			
		||||
            netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
 | 
			
		||||
            // 入
 | 
			
		||||
            netEcharts.dataVal.dataList[0] = {
 | 
			
		||||
              name: content.echartFors[0].oneName,
 | 
			
		||||
              data: res.data && res.data.yData['cpuUsage'] || []
 | 
			
		||||
            };
 | 
			
		||||
            mountCollect['echartList'][0] = netEcharts;
 | 
			
		||||
            this.$set(this.secondChartList, keyName, mountCollect);
 | 
			
		||||
            return true;
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
          return true;
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      //
 | 
			
		||||
      getMpuMemUse(times,titleName, keyName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
 | 
			
		||||
        let netEcharts = JSON.parse(JSON.stringify(this.echartData));
 | 
			
		||||
        let content = JSON.parse(JSON.stringify(this.linuxSystem['mpu']));
 | 
			
		||||
        netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
 | 
			
		||||
        netEcharts.fnEvent = 'getMpuMemUse';
 | 
			
		||||
        return mpuMemUse(Object.assign({}, {mpuName : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
          if (res && res.data) {
 | 
			
		||||
            netEcharts.title = titleName + content.echartFors[1].title;
 | 
			
		||||
            netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
 | 
			
		||||
            // 入
 | 
			
		||||
            netEcharts.dataVal.dataList[0] = {
 | 
			
		||||
              name: content.echartFors[1].oneName,
 | 
			
		||||
              data: res.data && res.data.yData['memUsage'] || []
 | 
			
		||||
            };
 | 
			
		||||
            mountCollect['echartList'][1] = netEcharts;
 | 
			
		||||
            this.$set(this.secondChartList, keyName, mountCollect);
 | 
			
		||||
            return true;
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
          return true;
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      //
 | 
			
		||||
      getMpuTemperature(times,titleName, keyName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
 | 
			
		||||
        let netEcharts = JSON.parse(JSON.stringify(this.echartData));
 | 
			
		||||
        let content = JSON.parse(JSON.stringify(this.linuxSystem['mpu']));
 | 
			
		||||
        netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
 | 
			
		||||
        netEcharts.fnEvent = 'getMpuTemperature';
 | 
			
		||||
        return mpuTemperature(Object.assign({}, {mpuName : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
          if (res && res.data) {
 | 
			
		||||
            netEcharts.title = titleName + content.echartFors[2].title;
 | 
			
		||||
            netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
 | 
			
		||||
            // 入
 | 
			
		||||
            netEcharts.dataVal.dataList[0] = {
 | 
			
		||||
              name: content.echartFors[2].oneName,
 | 
			
		||||
              data: res.data && res.data.yData['temperature'] || []
 | 
			
		||||
            };
 | 
			
		||||
            mountCollect['echartList'][2] = netEcharts;
 | 
			
		||||
            this.$set(this.secondChartList, keyName, mountCollect);
 | 
			
		||||
            this.$modal.closeLoading();
 | 
			
		||||
            return true;
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
          this.$modal.closeLoading();
 | 
			
		||||
          return true;
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      // 电源的所有名称 pwrAllName, pwrMsg, pwrCurrent, pwrVoltage
 | 
			
		||||
      fnPwrNameList(val) {
 | 
			
		||||
        pwrAllName({clientId: this.paramsData.clientId}).then(res => {
 | 
			
		||||
          let tabNameList = {};
 | 
			
		||||
          res && res.data.forEach(async(item,index) => {
 | 
			
		||||
            let oneData = JSON.parse(JSON.stringify(this.linuxSystem['pw']));
 | 
			
		||||
            oneData.title = item && item.pwrName;
 | 
			
		||||
            tabNameList[item.pwrName + '_pw'] = oneData;
 | 
			
		||||
            this.$set(this.secondChartList, item.pwrName + '_pw', oneData);
 | 
			
		||||
          });
 | 
			
		||||
        }).catch((error) => {
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      // 基本信息
 | 
			
		||||
      getPwrDetailsData(times, titleName, keyName) {
 | 
			
		||||
        this.$modal.loading();
 | 
			
		||||
        this.eventDataMap[keyName] = true;
 | 
			
		||||
        pwrMsg({clientId: this.paramsData.clientId, pwrName: titleName}).then(async res => {
 | 
			
		||||
          this.secondChartList[titleName].formModel = res && res.data || [];
 | 
			
		||||
          if (await this.getPwrCurrent(times ,titleName, keyName)) {
 | 
			
		||||
            this.getPwrVoltage(times, titleName, keyName);
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(async error => {
 | 
			
		||||
          if (await this.getPwrCurrent(times ,titleName, keyName)) {
 | 
			
		||||
            this.getPwrVoltage(times, titleName, keyName);
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      //
 | 
			
		||||
      getPwrCurrent(times,titleName, keyName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
 | 
			
		||||
        let netEcharts = JSON.parse(JSON.stringify(this.echartData));
 | 
			
		||||
        let content = JSON.parse(JSON.stringify(this.linuxSystem['pw']));
 | 
			
		||||
        netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
 | 
			
		||||
        netEcharts.fnEvent = 'getPwrCurrent';
 | 
			
		||||
        return pwrCurrent(Object.assign({}, {pwrName : titleName,clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
          if (res && res.data) {
 | 
			
		||||
            netEcharts.title = titleName + content.echartFors[0].title;
 | 
			
		||||
            netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
 | 
			
		||||
            // 入
 | 
			
		||||
            netEcharts.dataVal.dataList[0] = {
 | 
			
		||||
              name: content.echartFors[0].oneName,
 | 
			
		||||
              data: res.data && res.data.yData['pwrCurrent'] || []
 | 
			
		||||
            };
 | 
			
		||||
            mountCollect['echartList'][0] = netEcharts;
 | 
			
		||||
            this.$set(this.secondChartList, keyName, mountCollect);
 | 
			
		||||
            return true;
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
          return true;
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      //
 | 
			
		||||
      getPwrVoltage(times,titleName, keyName) {
 | 
			
		||||
        let mountCollect = JSON.parse(JSON.stringify(this.secondChartList[keyName]));
 | 
			
		||||
        let netEcharts = JSON.parse(JSON.stringify(this.echartData));
 | 
			
		||||
        let content = JSON.parse(JSON.stringify(this.linuxSystem['pw']));
 | 
			
		||||
        netEcharts.dateDataTrans['dateRange'] = this.defaultTimes;
 | 
			
		||||
        netEcharts.fnEvent = 'getPwrVoltage';
 | 
			
		||||
        return pwrVoltage(Object.assign({}, {pwrName : titleName, clientId: this.paramsData.clientId}, times)).then(res => {
 | 
			
		||||
          if (res && res.data) {
 | 
			
		||||
            netEcharts.title = titleName + content.echartFors[1].title;
 | 
			
		||||
            netEcharts.dataVal.lineXData = res.data && res.data.xData.length > 0 ? res.data.xData : this.firstChartTrans && this.firstChartTrans['timeList'] || [];
 | 
			
		||||
            // 入
 | 
			
		||||
            netEcharts.dataVal.dataList[0] = {
 | 
			
		||||
              name: content.echartFors[1].oneName,
 | 
			
		||||
              data: res.data && res.data.yData['pwrVoltage'] || []
 | 
			
		||||
            };
 | 
			
		||||
            mountCollect['echartList'][1] = netEcharts;
 | 
			
		||||
            this.$set(this.secondChartList, keyName, mountCollect);
 | 
			
		||||
            this.$modal.closeLoading();
 | 
			
		||||
            return true;
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
          this.$modal.closeLoading();
 | 
			
		||||
          return true;
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      // 风扇的所有名称 fanAllName, fanMsg
 | 
			
		||||
      fnFanNameList(val) {
 | 
			
		||||
        fanAllName({clientId: this.paramsData.clientId}).then(res => {
 | 
			
		||||
          let tabNameList = {};
 | 
			
		||||
          res && res.data.forEach(async(item,index) => {
 | 
			
		||||
            let oneData = JSON.parse(JSON.stringify(this.linuxSystem['fan']));
 | 
			
		||||
            oneData.title = item && item.fanName;
 | 
			
		||||
            tabNameList[item.fanName + '_fan'] = oneData;
 | 
			
		||||
            this.$set(this.secondChartList, item.fanName + '_fan', oneData);
 | 
			
		||||
          });
 | 
			
		||||
        }).catch((error) => {
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      // 基本信息
 | 
			
		||||
      getFanDetailsData(times, titleName, keyName) {
 | 
			
		||||
        this.eventDataMap[keyName] = true;
 | 
			
		||||
        fanMsg({clientId: this.paramsData.clientId, fanName: titleName}).then(res => {
 | 
			
		||||
          this.secondChartList[titleName].formModel = res && res.data || [];
 | 
			
		||||
          this.$modal.closeLoading();
 | 
			
		||||
        }).catch( error => {
 | 
			
		||||
          this.$modal.closeLoading();
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
@@ -426,7 +753,15 @@
 | 
			
		||||
          if (!this.eventDataMap[item]) {
 | 
			
		||||
            this.$modal.loading();
 | 
			
		||||
            if (this.secondChartList[item].type === 'net') {
 | 
			
		||||
              this.getNetDetailsData(this.currTimeList, item);
 | 
			
		||||
              this.getNetDetailsData(this.currTimeList, this.secondChartList[item].title, item);
 | 
			
		||||
            } else if (this.secondChartList[item].type === 'light') {
 | 
			
		||||
              this.getModuleDetailsData(this.currTimeList, this.secondChartList[item].title, item);
 | 
			
		||||
            } else if (this.secondChartList[item].type === 'mpu') {
 | 
			
		||||
              this.getMpuDetailsData(this.currTimeList, this.secondChartList[item].title, item);
 | 
			
		||||
            } else if (this.secondChartList[item].type === 'pw') {
 | 
			
		||||
              this.getPwrDetailsData(this.currTimeList, this.secondChartList[item].title, item);
 | 
			
		||||
            } else if (this.secondChartList[item].type === 'fan') {
 | 
			
		||||
              this.getFanDetailsData(this.currTimeList, this.secondChartList[item].title, item);
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div style="padding: 8px 20px 20px;">
 | 
			
		||||
    <el-collapse v-model="activeShowList" @change="collapseChange">
 | 
			
		||||
      <el-collapse-item v-for="(val,key, index) of secondChartList" :title="`【${val && val.title || ''}】`" :name="val && val.title || ''">
 | 
			
		||||
      <el-collapse-item v-for="(val,key, index) of secondChartList" :title="`【${val && val.title || ''}】`" :name="key || ''">
 | 
			
		||||
        <div class="mt10 w100">
 | 
			
		||||
          <div class="w100 plr-20" style="font-size: 14px">
 | 
			
		||||
            <div v-for="(item,key,index) of val && val.formList || []" :key="`${key}-${index}`"  class="w50 disInlineBlock p10">
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user