loulijun2021
2022-06-24 3d14449abab5055e2f370be4fa1a31c15c715453
1.修改部分页面样式
已添加2个文件
已修改10个文件
465 ■■■■ 文件已修改
src/api/wlgl.js 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/zzmx.js 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Breadcrumb/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/styles/global.css 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/jcsz/jsqd.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/jcsz/wldw.vue 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/jcsz/yhqd.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/jcsz/zzjg.vue 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sbgl/sbqd.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/template.vue 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/xtsy/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/wlgl.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
import request from '@/utils/request'
// ä»“库定义查询
export function WareHouseDefSearch(data) {
  return request({
    url: 'BasicSetting/WareHouseDefSearch',
    method: 'get',
    params: data
  })
}
// ä»“库定义新增编辑
export function AddUpdateWareHouseDef(data) {
  return request({
    url: 'BasicSetting/AddUpdateWareHouseDef',
    method: 'post',
    data
  })
}
// ä»“库删除
export function DeleteWareHouseDef(data) {
  return request({
    url: 'BasicSetting/DeleteWareHouseDef',
    method: 'post',
    params: data
  })
}
// æ‰€å±žä»“库接口
export function WareHouseSelect() {
  return request({
    url: 'BasicSetting/WareHouseSelect',
    method: 'get'
  })
}
// åº“位定义查询
export function StorageDefSearch(data) {
  return request({
    url: 'BasicSetting/StorageDefSearch',
    method: 'get',
    params: data
  })
}
// åº“位定义新增编辑
export function AddUpdateStorageDef(data) {
  return request({
    url: 'BasicSetting/AddUpdateStorageDef',
    method: 'post',
    data
  })
}
// åº“位删除
export function DeleteStorageDef(data) {
  return request({
    url: 'BasicSetting/DeleteStorageDef',
    method: 'post',
    params: data
  })
}
src/api/zzmx.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,184 @@
import request from '@/utils/request'
// å­˜è´§ç±»åž‹æŽ¥å£
export function StockTypeSelect() {
  return request({
    url: 'BasicSetting/StockTypeSelect',
    method: 'get'
  })
}
// ç‰©æ–™ç±»åž‹æŸ¥è¯¢
export function MaterialTypeSearch(data) {
  return request({
    url: 'BasicSetting/MaterialTypeSearch',
    method: 'get',
    params: data
  })
}
// ç‰©æ–™ç±»åž‹æ–°å¢žç¼–辑
export function AddUpdateMaterialType(data) {
  return request({
    url: 'BasicSetting/AddUpdateMaterialType',
    method: 'post',
    data
  })
}
// ç‰©æ–™ç±»åž‹åˆ é™¤
export function DeleteMaterialType(data) {
  return request({
    url: 'BasicSetting/DeleteMaterialType',
    method: 'post',
    params: data
  })
}
// å•位列表查询
export function UomSearch(data) {
  return request({
    url: 'BasicSetting/UomSearch',
    method: 'get',
    params: data
  })
}
// å•位新增
export function UomAdd(data) {
  return request({
    url: 'BasicSetting/UomAdd',
    method: 'post',
    data
  })
}
// å•位删除
export function UomDelete(data) {
  return request({
    url: 'BasicSetting/UomDelete',
    method: 'post',
    params: data
  })
}
// å­˜ç±»åž‹æŸ¥æ‰¾ç‰©æ–™ç±»åž‹
export function StockTypeSelectMaterialType(data) {
  return request({
    url: 'BasicSetting/StockTypeSelectMaterialType',
    method: 'get',
    params: data
  })
}
// å­˜è´§æ¡£æ¡ˆæŸ¥è¯¢
export function InventoryFileSelect(data) {
  return request({
    url: 'BasicSetting/InventoryFileSelect',
    method: 'get',
    params: data
  })
}
// å­˜è´§æ¡£æ¡ˆæ–°å¢žç¼–辑
export function AddUpdateInventoryFile(data) {
  return request({
    url: 'BasicSetting/AddUpdateInventoryFile',
    method: 'post',
    data
  })
}
// å­˜è´§æ¡£æ¡ˆåˆ é™¤
export function DeleteInventoryFile(data) {
  return request({
    url: 'BasicSetting/DeleteInventoryFile',
    method: 'post',
    params: data
  })
}
// å­˜è´§æ¡£æ¡ˆå…³è”工艺路线查询
export function InventoryFileAssociationRoute(data) {
  return request({
    url: 'BasicSetting/InventoryFileAssociationRoute',
    method: 'get',
    params: data
  })
}
// å­˜è´§æ¡£æ¡ˆå…³è”工艺路线提交
export function SaveInventoryFile(partcode, data) {
  return request({
    url: 'BasicSetting/SaveInventoryFile?partcode=' + partcode,
    method: 'post',
    data
  })
}
// å·¥è‰ºè·¯çº¿æŸ¥è¯¢
export function RouteSearch(data) {
  return request({
    url: 'BasicSetting/RouteSearch',
    method: 'get',
    params: data
  })
}
// å·¥è‰ºè·¯çº¿é¢„览
export function ViewRoute(data) {
  return request({
    url: 'BasicSetting/ViewRoute',
    method: 'get',
    params: data
  })
}
// å·¥è‰ºè·¯çº¿æ–°å¢žç¼–辑
export function AddUpdateRoute(id, opertype, data) {
  return request({
    url: 'BasicSetting/AddUpdateRoute?id=' + id + '&opertype=' + opertype,
    method: 'post',
    data
  })
}
// å·¥è‰ºè·¯çº¿åˆ é™¤
export function DeleteRoute(data) {
  return request({
    url: 'BasicSetting/DeleteRoute',
    method: 'post',
    params: data
  })
}
// å·¥åºæŸ¥è¯¢
export function StepSearch(data) {
  return request({
    url: 'BasicSetting/StepSearch',
    method: 'get',
    params: data
  })
}
// å·¥åºæ–°å¢žç¼–辑
export function AddUpdateStep(data) {
  return request({
    url: 'BasicSetting/AddUpdateStep',
    method: 'post',
    data
  })
}
// å·¥åºåˆ é™¤
export function DeleteStep(data) {
  return request({
    url: 'BasicSetting/DeleteStep',
    method: 'post',
    params: data
  })
}
// å·¥åºå®šä¹‰å…³è”工作站查询
export function StepAssociationEqp(data) {
  return request({
    url: 'BasicSetting/StepAssociationEqp',
    method: 'get',
    params: data
  })
}
// å·¥åºå®šä¹‰å…³è”工作站提交
export function SaveStepAssociationEqp(stepcode, data) {
  return request({
    url: 'BasicSetting/SaveStepAssociationEqp?stepcode=' + stepcode,
    method: 'post',
    data
  })
}
src/components/Breadcrumb/index.vue
@@ -1,5 +1,5 @@
<template>
  <el-breadcrumb class="app-breadcrumb" separator="|">
  <el-breadcrumb class="app-breadcrumb" separator="/">
    <transition-group name="breadcrumb">
      <el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path">
        <span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
src/router/index.js
@@ -73,6 +73,7 @@
    name: '基础设置',
    code: '1001',
    meta: { title: '基础设置', icon: 'tree' },
    alwaysShow: true, // å½“children只有一个时,也显示父菜单
    children: [
      {
        path: 'zzjg',
@@ -114,6 +115,7 @@
    name: '设备管理',
    code: '1002',
    meta: { title: '设备管理', icon: 'example' },
    alwaysShow: true,
    children: [
      {
        path: 'sblx',
@@ -192,6 +194,7 @@
    name: '工装管理',
    code: '1003',
    meta: { title: '工装管理', icon: 'component' },
    alwaysShow: true,
    children: [
      {
        path: 'gzlx',
@@ -269,6 +272,7 @@
    name: '物料管理',
    code: '1004',
    meta: { title: '物料管理', icon: 'table' },
    alwaysShow: true,
    children: [
      {
        path: 'ckdy',
@@ -317,6 +321,7 @@
    name: '制造模型',
    code: '1005',
    meta: { title: '制造模型', icon: 'icu' },
    alwaysShow: true,
    children: [
      {
        path: 'wllx',
@@ -367,6 +372,7 @@
    name: '生产管理',
    code: '1006',
    meta: { title: '生产管理', icon: 'production' },
    alwaysShow: true,
    children: [
      {
        path: 'scdd',
@@ -402,6 +408,7 @@
    name: '质量管理',
    code: '1007',
    meta: { title: '质量管理', icon: 'quality' },
    alwaysShow: true,
    children: [
      {
        path: 'zjbz',
@@ -443,6 +450,7 @@
    name: '系统设置',
    code: '1009',
    meta: { title: '系统设置', icon: 'xtsz' },
    alwaysShow: true,
    children: [
      {
        path: 'bmgz',
src/styles/global.css
@@ -12,13 +12,25 @@
.body {
  display: flex;
  flex-direction: column;
  height: 800px;
  background-color: #eee;
  height: 100%;
  /*background-color: #eee;*/
  margin: 0;
  padding: 30px 10px 0 20px;
  padding: 0 10px;
}
.elForm {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  flex-wrap: wrap;
}
.elTableDiv {
  display: flex;
  border: 1px solid #eee;
  width: 99%;
  margin: 0 auto;
}
/*
定义滚动条高宽及背景
src/views/jcsz/jsqd.vue
@@ -1,8 +1,7 @@
<template>
  <div>
    <!--    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;">-->
    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;" :style="{height:mainHeight+'px'}">
      <div>
    <div class="body" :style="{height:mainHeight+'px'}">
      <div style="padding: 10px 5px 0 0">
        <el-form
          ref="form"
          :model="form"
@@ -37,13 +36,14 @@
          </div>
        </el-form>
      </div>
      <div style="margin-bottom: 20px;display: flex; z-index: 2">
      <el-divider />
      <div style="margin-left: 10px;display: flex">
        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <el-button type="primary" icon="el-icon-setting" @click="settingButton">设置</el-button>
        <el-button type="primary" icon="el-icon-upload2" @click="upload">导入</el-button>
      </div>
      <div style="display: flex;border: 1px solid #eee">
      <el-divider />
      <div class="elTableDiv">
        <el-table
          :data="tableData"
          border
@@ -190,7 +190,6 @@
      width="50%"
      top="15vh"
      class="settingDialogVisible"
      @closed="handleCloseSetting"
      @close="handleCloseSetting"
    >
      <div style="margin-bottom: 20px;display: flex">
@@ -976,7 +975,7 @@
          this.$nextTick(() => {
            $('input:checkbox').eq(0).prop('checked', true)// è‡ªå®šä¹‰å•选框回显
          })
        }, 10)
        }, 100)
        this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightPCArr[0].code
      }
      // 3.第三种情况PC未选中,APP已选中
@@ -987,7 +986,7 @@
          this.$nextTick(() => {
            $('input:checkbox').eq(1).prop('checked', true)// è‡ªå®šä¹‰å•选框回显
          })
        }, 10)
        }, 100)
        this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightAPPArr[0].code
      }
      // 4.第四种情况PC已选中,APP已选中
@@ -1001,7 +1000,7 @@
            $('input:checkbox').eq(0).prop('checked', true)// è‡ªå®šä¹‰å•选框回显
            $('input:checkbox').eq(1).prop('checked', true)// è‡ªå®šä¹‰å•选框回显
          })
        }, 10)
        }, 100)
        this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightPCArr[0].code
      }
      this.dialogFormRight.rightOperationArr.push({
@@ -1473,11 +1472,12 @@
::v-deep .el-radio.is-bordered + .el-radio.is-bordered {
  margin: 10px 30px 0px 0;
}
.elForm {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  flex-wrap: wrap;
.body ::v-deep .el-divider{
  border: 1px solid #eee;
  width: 99%;
  margin: 10px auto;
}
::v-deep .el-form-item{
  margin-bottom: 0;
}
</style>
src/views/jcsz/wldw.vue
@@ -1,7 +1,7 @@
<template>
  <div>
    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;" :style="{height:mainHeight+'px'}">
      <div>
    <div class="body" :style="{height:mainHeight+'px'}">
      <div style="padding: 10px 5px 0 0">
        <el-form
          ref="form"
          :model="form"
@@ -36,12 +36,13 @@
          </div>
        </el-form>
      </div>
      <div style="margin-bottom: 20px;display: flex;z-index: 2">
      <el-divider />
      <div style="margin-left: 10px;display: flex">
        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <el-button type="primary" icon="el-icon-upload2">导入</el-button>
      </div>
      <!--      :style="{width: 100+'%',height:isCompatible?(tableHeight+'px'):'800px'}"-->
      <div style="display: flex;border: 1px solid #eee">
      <el-divider />
      <div class="elTableDiv">
        <el-table
          :data="tableData"
          border
@@ -140,7 +141,7 @@
            <template slot-scope="{row}">
              <div class="operationClass">
                <el-button type="text" @click="edit('edit',row)">修改</el-button>
                <el-button type="text" @click="del(row.id)">删除</el-button>
                <el-button type="text" @click="del(row)">删除</el-button>
              </div>
            </template>
          </el-table-column>
@@ -226,7 +227,6 @@
      }
    }
    return {
      isCompatible: false, // æ˜¯å¦å…¼å®¹
      mainHeight: 0,
      tableHeight: 0,
      form: {
@@ -369,13 +369,13 @@
      })
    },
    // åˆ é™¤æŒ‰é’®
    async del(id) {
    async del(row) {
      this.$confirm('是否确认删除?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        DeleteCurrentUnit({ unitid: id }).then(res => {
        DeleteCurrentUnit({ unitcode: row.code }).then(res => {
          if (res.code === '200') {
            this.$message.success('删除成功!')
            this.getCurrentUnitSearch()
@@ -579,10 +579,14 @@
::v-deep .el-radio.is-bordered + .el-radio.is-bordered {
  margin: 10px 30px 0px 0;
}
.elForm {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  flex-wrap: wrap;
.body ::v-deep .el-divider {
  border: 1px solid #eee;
  width: 99%;
  margin: 10px auto;
}
::v-deep .el-form-item {
  margin-bottom: 0;
}
</style>
src/views/jcsz/yhqd.vue
@@ -1,8 +1,7 @@
<template>
  <div>
    <!--    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;">-->
    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;" :style="{height:mainHeight+'px'}">
      <div>
    <div class="body" :style="{height:mainHeight+'px'}">
      <div style="padding: 10px 5px 0 0">
        <el-form
          ref="form"
          :model="form"
@@ -53,11 +52,13 @@
          </div>
        </el-form>
      </div>
      <div style="margin-bottom: 20px;display: flex;z-index: 2">
      <el-divider />
      <div style="margin-left: 10px;display: flex">
        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <el-button type="primary" icon="el-icon-upload2" @click="upload">导入</el-button>
      </div>
      <div style="display: flex;border: 1px solid #eee">
      <el-divider />
      <div class="elTableDiv">
        <el-table
          :data="tableData"
          border
@@ -938,7 +939,6 @@
}
::v-deep .el-table .caret-wrapper {
  //float: right;
  transform: scale(0.8);
}
@@ -986,7 +986,6 @@
::v-deep .el-checkbox.is-bordered + .el-checkbox.is-bordered {
  margin: 10px 30px 0px 0;
  //cursor: default !important;
}
::v-deep .el-radio__input.is-checked + .el-radio__label {
@@ -998,20 +997,11 @@
}
.dialogVisibleRoles {
  //::v-deep .el-checkbox.is-bordered.el-checkbox--medium{
  // pointer-events: none;
  //}
  //::v-deep .el-checkbox__label{
  //  pointer-events: none !important;
  //  color: red;
  //}
  .myCheckboxGroup {
    display: flex;
    flex-wrap: wrap;
    .myCheckbox {
      //border: 1px solid $main_color;
      border: 1px solid #eee;
      display: flex;
      min-width: 100px;
@@ -1027,10 +1017,6 @@
    }
    //.myCheckbox{
    //  border: 1px solid $main_color;
    //}
    input[type=checkbox] {
      cursor: pointer;
      position: relative;
@@ -1042,13 +1028,12 @@
    input[type=checkbox]::after {
      position: absolute;
      top: 0;
      //color: rgb(130, 35, 35);
      color: $main_color;
      width: 14px;
      height: 14px;
      display: inline-block;
      visibility: visible;
      padding-left: 0px;
      padding-left: 0;
      text-align: center;
      content: ' ';
      border-radius: 3px
@@ -1063,12 +1048,14 @@
      background-color: $main_color;
    }
  }
}
.elForm {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  flex-wrap: wrap;
.body ::v-deep .el-divider{
  border: 1px solid #eee;
  width: 99%;
  margin: 10px auto;
}
::v-deep .el-form-item{
  margin-bottom: 0;
}
</style>
src/views/jcsz/zzjg.vue
@@ -1,8 +1,7 @@
<template>
  <div>
    <!--    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;">-->
    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;" :style="{height:mainHeight+'px'}">
      <div>
    <div class="body" :style="{height:mainHeight+'px'}">
      <div style="padding: 10px 5px 0 0">
        <el-form
          ref="form"
          :model="form"
@@ -37,13 +36,12 @@
          </div>
        </el-form>
      </div>
      <div style="margin-bottom: 20px;display: flex;z-index: 2">
      <el-divider />
      <div style="margin-left: 10px;display: flex">
        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <!--        <el-button type="primary" icon="el-icon-edit" @click="edit('edit')">修改</el-button>-->
        <!--        <el-button type="primary" icon="el-icon-delete" @click="del">批量删除</el-button>-->
      </div>
      <div style="display: flex;border: 1px solid #eee">
      <el-divider />
      <div class="elTableDiv">
        <el-table
          :data="tableData"
          border
@@ -422,7 +420,6 @@
}
::v-deep .el-button--info{
  //background-color: $main_color !important;
  height: 30px;
  display: flex;
  align-items: center;
@@ -479,7 +476,6 @@
}
::v-deep .el-table .caret-wrapper {
  //float: right;
  transform: scale(0.8);
}
@@ -501,10 +497,13 @@
  justify-content: space-between;
  align-items: center;
}
.elForm {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  flex-wrap: wrap;
.body ::v-deep .el-divider{
  border: 1px solid #eee;
  width: 99%;
  margin: 10px auto;
}
::v-deep .el-form-item{
  margin-bottom: 0;
}
</style>
src/views/sbgl/sbqd.vue
@@ -1,7 +1,7 @@
<template>
  <div>
    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;" :style="{height:mainHeight+'px'}">
      <div>
    <div class="body" :style="{height:mainHeight+'px'}">
      <div style="padding: 10px 5px 0 0">
        <el-form
          ref="form"
          :model="form"
@@ -68,14 +68,15 @@
          </div>
        </el-form>
      </div>
      <div style="margin-bottom: 20px;display: flex">
      <el-divider />
      <div style="margin-left: 10px;display: flex">
        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <el-button type="primary" icon="el-icon-c-scale-to-original" @click="deviceTypeButton">设备类型</el-button>
        <el-button type="primary" icon="el-icon-document-copy" @click="deviceGroupButton">设备组</el-button>
        <el-button type="primary" icon="el-icon-upload2" @click="upload">导入</el-button>
      </div>
      <div style="display: flex;border: 1px solid #eee">
      <el-divider />
      <div class="elTableDiv">
        <el-table
          :data="tableData"
          border
@@ -257,7 +258,6 @@
      width="50%"
      top="15vh"
      class="DeviceTypeDialogVisible"
      @closed="handleCloseDeviceType"
      @close="handleCloseDeviceType"
    >
      <div style="margin-bottom: 20px;display: flex">
@@ -1037,10 +1037,12 @@
  margin: 10px 30px 0px 0;
}
.elForm {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  flex-wrap: wrap;
.body ::v-deep .el-divider{
  border: 1px solid #eee;
  width: 99%;
  margin: 10px auto;
}
::v-deep .el-form-item{
  margin-bottom: 0;
}
</style>
src/views/template.vue
@@ -1,7 +1,7 @@
<template>
  <div>
    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;" :style="{height:mainHeight+'px'}">
      <div>
    <div class="body" :style="{height:mainHeight+'px'}">
      <div style="padding: 10px 5px 0 0">
        <el-form
          ref="form"
          :model="form"
@@ -36,13 +36,12 @@
          </div>
        </el-form>
      </div>
      <div style="margin-bottom: 20px;display: flex">
      <el-divider />
      <div style="margin-left: 10px;display: flex">
        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <!--        <el-button type="primary" icon="el-icon-edit" @click="edit('edit')">修改</el-button>-->
        <!--        <el-button type="primary" icon="el-icon-delete" @click="del">批量删除</el-button>-->
      </div>
      <div style="display: flex;border: 1px solid #eee">
      <el-divider />
      <div class="elTableDiv">
        <el-table
          :data="tableData"
          border
@@ -416,7 +415,6 @@
}
::v-deep .el-button--info {
  //background-color: $main_color !important;
  height: 30px;
  display: flex;
  align-items: center;
@@ -473,7 +471,6 @@
}
::v-deep .el-table .caret-wrapper {
  //float: right;
  transform: scale(0.8);
}
@@ -531,10 +528,14 @@
  margin: 10px 30px 0px 0;
}
.elForm {
  display: flex;
  justify-content: flex-start;
  width: 85%;
  flex-wrap: wrap;
.body ::v-deep .el-divider {
  border: 1px solid #eee;
  width: 99%;
  margin: 10px auto;
}
::v-deep .el-form-item {
  margin-bottom: 0;
}
</style>
src/views/xtsy/index.vue
@@ -1,6 +1,6 @@
<template>
  <!--  <div>-->
  <div class="body" :style="{height:mainHeight+'px'}">
  <div class="body" style="  padding: 30px 10px 0 20px;background-color: #eee;" :style="{height:mainHeight+'px'}">
    <div style="">
      <div class="title"><i class="el-icon-s-fold" style="margin-right: 5px" />实时数据</div>
      <div class="top">