siyouyou 4 meses atrás
pai
commit
8f7edd7f76

+ 725 - 140
src/views/alarmInformation/index.vue

@@ -1,174 +1,734 @@
 <template>
-  <el-card class="alarmDetail dashboard-container">
-    <div class="alarmDetail-header">
-      <div style="display: flex; align-items: center">
-        <div>报警信息详情</div>
-      </div>
-      <el-button type="text" icon="el-icon-arrow-left" @click="goback">返回</el-button>
-    </div>
+  <div class="dashboard-container">
+    <div class="dashboard-text">
+      <div style="background: #fff">
+        <div style="height: 74px; display: flex; align-items: center">
+          <el-select
+            style="width: 220px; margin-left: 20px; margin-right: 20px"
+            v-model="railwayCode"
+            placeholder="请选择报警线路"
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in routeList"
+              :key="index"
+              :label="item.railwayName"
+              :value="item.railwayCode"
+            >
+            </el-option>
+          </el-select>
 
-    <el-container class="alarmDetail-bottom">
-      <el-container>
-        <div style="display: flex; flex-direction: column">
-          <div style="
-              height: 35px;
-              display: flex;
-              align-items: center;
-              font-family: 0;
-            ">
-            <div style="
-                height: 14px;
-                width: 5px;
-                background-color: rgb(39, 102, 221);
-                margin-right: 5px;
-              "></div>
-            <div style="font-size: 16px; line-height: 16px">报警信息</div>
+          <el-select
+            v-model="lineDir"
+            placeholder="请选择行别"
+            style="width: 220px; margin-right: 20px"
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in lineType"
+              :key="index"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
+
+          <el-select
+            v-model="isLock"
+            placeholder="请选择解除状态"
+            style="width: 220px; margin-right: 20px"
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in zhangtai"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+              :clearable="true"
+            >
+            </el-option>
+          </el-select>
+
+          <div
+            v-if="searchShow == true"
+            style="display: flex"
+            justify="end"
+            type="flex"
+          >
+            <div class="sp-button-submit" type="primary" @click="msgAlarmList">
+              查询
+            </div>
+            <div class="sp-button-reset" @click="resetForm()">重置</div>
+            <!-- <div class="sp-button-submit" @click="uploadOut">导出</div> -->
+            <el-button
+              v-if="searchShow == false"
+              @click="searchShow = true"
+              type="text"
+              style="color: #2766dd"
+              icon="el-icon-arrow-up"
+              >收起</el-button
+            >
+            <el-button
+              v-if="searchShow == true"
+              @click="searchShow = false"
+              type="text"
+              icon="el-icon-arrow-down"
+              style="color: #2766dd"
+              >展开</el-button
+            >
           </div>
-          <cameraInfoMessage pageType="alarmDetail" :cameraInfo="cameraInfo" :historicalAlarm="historicalAlarm"
-            style="flex: 1; width: 300px"></cameraInfoMessage>
-          <div @click="release()" v-if="cameraInfo.isLock == 2" style="
-              margin-top: 10px;
-              font-family: 0;
-              width: 100%;
-              height: 35px;
+        </div>
+
+        <div
+          v-if="searchShow == false"
+          style="
+            display: flex;
+            align-items: center;
+            margin-bottom: 17px;
+            height: 40px;
+          "
+        >
+          <el-date-picker
+            style="width: 460px; margin-right: 20px; margin-left: 20px"
+            v-model="value1"
+            end-placeholder="结束日期"
+            range-separator="至"
+            start-placeholder="开始日期"
+            clearable
+            value-format="yyyy-MM-dd"
+            type="daterange"
+            :clearable="true"
+          >
+          </el-date-picker>
+          <!-- <el-input
+              v-model="alarmMileBD"
+              placeholder="请输入里程位置"
+              suffix-icon="el-icon-search"
+              style="width: 100%"
+              clearable
+            >
+            </el-input> -->
+
+          <el-select
+            v-if="searchShow == false"
+            v-model="alarmType"
+            placeholder="请选择报警类型"
+            style="width: 220px; margin-right: 20px"
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in damageList"
+              :key="index"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
+        </div>
+
+        <div v-if="searchShow == false">
+          <div
+            style="
               display: flex;
               align-items: center;
-              justify-content: center;
-              background-color: rgb(39, 102, 221);
-              color: #fff;
-            ">
-            解除警报
+              padding-bottom: 17px;
+              margin-left: 20px;
+            "
+          >
+            <!-- <el-input
+              v-model="beginMile"
+              placeholder="请输入起始里程"
+              @input="changeValue1"
+              style="width: 220px; margin-left: 20px"
+              clearable
+            >
+              <template slot="append">km</template></el-input
+            > -->
+            <!-- <el-select
+                v-model="beginMile"
+                placeholder="请选择起始里程"
+                style="width: 250px"
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in mileageList"
+                  :key="index"
+                  :clearable="true"
+                  :label="item.dictLabel"
+                  :value="item.dictValue"
+                ></el-option>
+              </el-select> -->
+            <!-- <div
+              style="
+                width: 10px;
+                height: 1px;
+                background-color: #888;
+                margin: 0 5px;
+              "
+            ></div> -->
+            <!-- <el-input
+              v-model="endMile"
+              placeholder="请输入结束里程"
+              @input="changeValue2"
+              style="width: 220px; margin-right: 20px"
+              clearable
+            >
+              <template slot="append">km</template></el-input
+            > -->
+            <el-input
+              v-model="alarmMileBD"
+              placeholder="请输入里程位置"
+              clearable
+              oninput="value=value.replace(/[^\d.]/g, '')"
+              style="width: 220px; margin-right: 20px"
+            >
+              <template slot="append">km</template></el-input
+            >
+            <el-select
+              v-model="monitorSystemName"
+              placeholder="请选择监测系统名称"
+              style="width: 220px; margin-right: 20px"
+              filterable
+            >
+              <el-option
+                v-for="item in monitorNameData"
+                :key="item.monitorSystemName"
+                :label="item.monitorSystemName"
+                :value="item.clientId"
+              />
+            </el-select>
+            <div
+              v-if="searchShow == false"
+              style="display: flex; align-items: center"
+            >
+              <div class="sp-button-submit searth_left" @click="msgAlarmList">
+                查询
+              </div>
+              <div class="sp-button-reset" @click="resetForm()">重置</div>
+
+              <el-button
+                v-if="searchShow == false"
+                @click="searchShow = true"
+                type="text"
+                style="color: #2766dd"
+                icon="el-icon-arrow-up"
+                >收起</el-button
+              >
+              <el-button
+                v-if="searchShow == true"
+                @click="searchShow = false"
+                type="text"
+                icon="el-icon-arrow-down"
+                style="color: #2766dd"
+                >展开</el-button
+              >
+            </div>
           </div>
+
+          <!-- <el-col :span="6"></el-col> -->
         </div>
-        <el-main style="padding: 0px; margin-top: 20px">
-          <palyAndPlayback :items="items" :videoType="videoType" :cameraCode="cameraCode"
-            :alarmTime="cameraInfo.alarmTime" @tabChange="palyAndPlaybackTabChange"></palyAndPlayback>
-        </el-main>
-      </el-container>
-    </el-container>
-
-    <warningDispose v-if="warningDisposeModal.show" :id="warningDisposeModal.id" @close="warningDisposeModal.show = false"
-      @success="releaseSuccess"></warningDispose>
-  </el-card>
-</template>
+      </div>
+    </div>
+    <el-card class="cardHeadr" style="margin-top: 15px; padding-top: 0">
+      <!-- <div style="font-size: 18px">
+          告警:<span style="font-size: 24px; color: red"> {{ total }}</span>
+        </div> -->
+      <div style="height: 64px; display: flex; align-items: center">
+        <div class="export" @click="uploadOut">
+          <span class="icon font_family">&#xe605;</span>
+          导出
+        </div>
+      </div>
+
+      <el-table :data="tableData" style="width: 100%">
+        <el-table-column
+          label="报警时间"
+          prop="alarmTime"
+          width="180"
+          fixed
+        ></el-table-column>
+        <!-- <el-table-column
+          align="center"
+          label="报警线路"
+          prop="railwayName"
+          fixed
+        ></el-table-column> -->
+        <el-table-column
+          label="来源"
+          prop="sourceName"
+          width="140"
+          fixed
+        ></el-table-column>
+        <el-table-column align="center" label="报警类型" prop="alarmTypeName" fixed>
+          <!-- <template slot-scope="scope">
+            <div>
+              {{
+                scope.row.alarmType == 1
+                  ? "泥石流"
+                  : scope.row.alarmType == 2
+                  ? "异物侵线"
+                  : "异物侵入"
+              }}
+            </div>
+          </template> -->
+        </el-table-column>
+        <!-- <el-table-column
+          align="center"
+          label="报警病害属性"
+          prop="alarmAttr"
+          show-overflow-tooltip="true"
+        ></el-table-column> -->
 
+        <el-table-column label="行别" align="center" prop="lineDir">
+          <template slot-scope="scope">
+            <div style="text-align: center">
+              {{
+                scope.row.lineDir === 1
+                  ? "上行"
+                  : scope.row.lineDir === 2
+                  ? "下行"
+                  : "-"
+              }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="里程位置(km)"
+          align="center"
+          prop="alarmMiles"
+        ></el-table-column>
+        <!-- <el-table-column label="起里里程(km)" prop="beginMile"></el-table-column>
+          <el-table-column label="结束里程(km)" prop="endMile"></el-table-column> -->
+        <!-- <el-table-column label="报警次数" align="center" prop="alarmCount">
+            <template slot-scope="scope">
+              <div style="color: red">{{ scope.row.alarmCount }}</div>
+            </template>
+          </el-table-column> -->
+        <!-- <el-table-column label="解除状态" align="center">
+          <template slot-scope="scope">
+            <div>
+              {{
+                scope.row.isLock === 1
+                  ? "已解除"
+                  : scope.row.isLock === 2
+                  ? "未解除"
+                  : "-"
+              }}
+            </div>
+          </template>
+        </el-table-column> -->
+
+        <el-table-column
+          label="报警内容"
+          show-overflow-tooltip="true"
+          align="center"
+          prop="content"
+        
+        >
+          <template slot-scope="scope">
+            <div
+              style="
+                max-width: 10em;
+                overflow: hidden;
+                white-space: nowrap;
+                text-overflow: ellipsis;
+              "
+            >
+              {{ scope.row.content }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="推送车次"
+          align="center"
+       
+          prop="trainNumName"
+        >
+        <template slot-scope="scope">
+          <el-button
+                v-if='scope.row.trainNumName'
+                type="text"
+                style="text-align: center; color: #2766dd" 
+                @click="detailsBtn(scope.row)"               
+                >{{ scope.row.trainNumName }}{{ '...' }}</el-button
+              >
+        </template>
+      </el-table-column>
+        <el-table-column label="解除状态" align="center" prop="isRelease">
+          <template slot-scope="scope">
+            {{
+              scope.row.isRelease === 1
+                ? "已解除"
+                : scope.row.isRelease === 2
+                ? "未解除"
+                : "-"
+            }}
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="解除说明"
+          align="center"
+        
+          prop="releaseContent"
+        ></el-table-column>
+        <el-table-column
+          label="解除时间"
+          align="center"
+        
+          prop="releasedTime"
+        ></el-table-column>
+      
+        <el-table-column label="操作" align="center" width="280" prop="text13">
+          <template slot-scope="scope">
+            <div>
+              <!-- <el-button
+                style="color: #2766dd"
+                v-if="scope.row.isLock == 2"
+                type="text"
+                @click="release(scope.row.id)"
+                >解除</el-button
+              > -->
+
+              <el-button
+                type="text"
+                style="text-align: center; color: #2766dd"
+                @click="
+                  seeDetail(scope.row.id, scope.row.railwayCode, scope.row)
+                "
+                >查看详情</el-button
+              >
+              <!-- <el-button
+                type="text"
+                style="text-align: center; color: #2766dd" 
+                @click="detailsBtn(scope.row)"               
+                >推送详情</el-button
+              > -->
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-row justify="end" style="margin-top: 10px" type="flex">
+        <el-pagination
+          :page-size="100"
+          :page-sizes="[10, 15, 20]"
+          :total="total"
+          layout="total, sizes, prev, pager, next, jumper"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+        >
+        </el-pagination>
+      </el-row>
+    </el-card>
+    <detailsDialog :detailsData="detailsData" v-if="detailsData.dialogVisible"></detailsDialog>
+    <warningDispose
+      v-if="warningDisposeModal.show"
+      :id="warningDisposeModal.id"
+      @close="warningDisposeModal.show = false"
+      @success="releaseSuccess"
+    ></warningDispose>
+  </div>
+</template>
 <script>
-import palyAndPlayback from "@/components/videoPlayer/palyAndPlayback";
-import cameraInfoMessage from "@/components/videoPlayer/cameraInfoMessage";
-import { msgAlarmDetail } from "@/api/alarmList";
-import { videoHistoricalAlarm, alarmHistoricalAlarm } from "@/api/video";
+import { mapGetters } from "vuex";
 import warningDispose from "@/components/warning/warningDispose.vue";
-
+import detailsDialog from './components/detailsDialog.vue'
+import {
+  baseRailwayManagement,
+  dataType,
+  msgAlarmList,
+  getCameraDataUpLoadOut,
+  releaseAlarm,
+  alarmMessageList
+} from "@/api/alarmList";
+import { monitorNameList } from "@/api/monitor";
 export default {
-  name: "AlarmDetail",
-  components: { palyAndPlayback, cameraInfoMessage, warningDispose },
+  name: "cart",
+  components: { warningDispose,detailsDialog },
+  computed: {
+    ...mapGetters(["name"]),
+  },
   data() {
     return {
-      id: "", // id
-      alarmId: "",
-      cameraCode: "", // 摄像机code
-      items: "",
-      cameraInfo: {
-        cameraCode: "",
-        isLock: "",
-        alarmTime: "",
-        alarmType: "",
-        lineDir: "",
-        deptId: "",
-        alarmMile: "",
-        beginMile: "",
-        installLongitude: "",
-        releasedTime: "",
+      detailsData:{
+        dialogVisible:false,
+        alarmId:''
       },
-      historicalAlarm: [],
+      warningModal: {
+        show: true,
+      },
+      isShow: false,
+      searchShow: true,
+      pageNum: 1,
+      pageSize: 10,
+      total: 0,
+      value1: "",
+      value: "",
+      input: "",
+      zhangtai: [
+        {
+          value: "1",
+          label: "已解除",
+        },
+        {
+          value: "2",
+          label: "未解除",
+        },
+      ],
+      monitorNameData: [],
+      tableData: [],
+      routeList: [],
+      lineType: [],
+      damageList: [],
+      mileageList: [],
+      railwayCode: "",
+      lineDir: "",
+      alarmType: "",
+      alarmMileBD: "",
+      monitorSystemName: "",
+      beginMile: "",
+      endMile: "",
+      beginAlarmTime: "",
+      endAlarmTime: "",
+      isLock: "",
       warningDisposeModal: {
         show: false,
         id: "",
       },
     };
   },
-  created() { },
-  mounted() {
-    this.id = this.$route.query.id;
-    this.alarmId = this.$route.query.alarmId;
-    this.cameraCode = this.$route.query.cameraCode;
-    this.msgAlarmDetail();
-  },
-  watch: {
-    $route(req) {
-      this.id = this.$route.query.id;
-      this.cameraCode = this.$route.query.cameraCode;
-      this.msgAlarmDetail();
-    },
+  created() {    
+    if(this.$route.params.pageNum) {          
+      this.isLock = this.$route.params.isLock + '' 
+      this.monitorSystemName = this.$route.params.source
+    }
+    this.getMonitoreName();
+    this.msgAlarmList();
+    this.baseRailwayManagement();
+    this.dataType("sys_line_dir");
+    this.dataType("sys_alarm_type");
+    this.dataType("sys_mileage");
+    if(this.$route.query.zhangtai){
+      this.isLock = "2";
+    this.msgAlarmList();
+    }
+    
   },
   methods: {
-    msgAlarmDetail() {
-      msgAlarmDetail(this.id).then((res) => {
-        console.log(res.data, 'dadadad')
-        this.cameraInfo = res.data;
-        var row = JSON.parse(sessionStorage.row)
-        if (typeof row.alarmMiles === 'number') {
-          var value = row.alarmMiles
-          row.alarmMiles = row.alarmMile
-          row.alarmMile = value
-        }
-        this.items = row
-
-        // this.alarmId = this.cameraInfo.alarmId;
-        alarmHistoricalAlarm(this.alarmId).then((res) => {
-          this.historicalAlarm = res.data;
-        });
+    detailsBtn(row) {      
+      this.detailsData.alarmId = row.alarmId
+      this.detailsData.dialogVisible = true
+    },
+    getMonitoreName() {
+      let params = {};
+      monitorNameList(params).then((response) => {
+        this.monitorNameData = response.data;
+      });
+    },
+    imagePreview(images) {
+      this.$hevueImgPreview({
+        multiple: true, // 开启多图预览模式
+        nowImgIndex: 0, // 多图预览,默认展示第二张图片
+        imgList: images, // 需要预览的多图数组
+      });
+    },
+    seeDetail(val, val1, row) {
+      sessionStorage.row = JSON.stringify(row);
+      this.$router.push({
+        path: "/alarmDetail",
+        query: {
+          id: val,
+          cameraCode: val1,
+          alarmId: row.alarmId,
+        },
       });
     },
-    release() {
-      this.warningDisposeModal.id = this.id;
-      this.warningDisposeModal.show = true;
+    // uploadOut: function () {
+    //   getCameraDataUpLoadOut({}).then((res) => {
+    //     this.resolveBlob(res);
+    //   });
+    // },
+    uploadOut: function () {
+      getCameraDataUpLoadOut({}).then((res) => {
+        this.resolveBlob(res);
+      });
+    },
+    resolveBlob(res) {
+      const link = document.createElement("a");
+      link.style.dispaly = "none";
+      let binaryData = [];
+      binaryData.push(res);
+      link.href = window.URL.createObjectURL(new Blob(binaryData));
+      // link.href = URL.createObjectURL(res);
+      link.setAttribute("download", "报警信息列表.xlsx");
+      document.body.appendChild(link);
+      link.click();
+      document.body.removeChild(link);
+    },
+
+    resetForm() {
+      (this.railwayCode = ""),
+        (this.lineDir = ""),
+        (this.alarmType = ""),
+        (this.alarmMileBD = "");
+      this.monitorSystemName = "";
+      (this.beginMile = ""),
+        (this.endMile = ""),
+        (this.beginAlarmTime = ""),
+        (this.endAlarmTime = "");
+      this.value1 = "";
+      this.isLock = "";
+      this.msgAlarmList();
+    },
+    getImgUrl(img) {
+      return "http://124.71.171.71:18801/picbucket" + img;
+    },
+    release(val) {
+      if (val) {
+        this.warningDisposeModal.id = val;
+        this.warningDisposeModal.show = true;
+      }
     },
     releaseSuccess() {
       this.warningDisposeModal.id = "";
       this.warningDisposeModal.show = false;
-      this.msgAlarmDetail();
+      this.msgAlarmList();
+    },
+    dataType(val) {
+      dataType(val).then((res) => {
+        console.log(res);
+        if (val === "sys_line_dir") {
+          this.lineType = [];
+          this.lineType = res.data;
+          this.$set(this.lineType);
+        } else if ("sys_alarm_type" === val) {
+          this.damageList = [];
+          this.damageList = res.data;
+          this.$set(this.damageList);
+        } else if ("sys_mileage" === val) {
+          this.mileageList = [];
+          this.mileageList = res.data;
+          this.$set(this.mileageList);
+        }
+      });
     },
-    goback() {
-      // this.$router.push('/alarmInformation/list')
-      // this.$router.push("/list");
-      this.$router.back();
+    baseRailwayManagement() {
+      baseRailwayManagement().then((res) => {
+        console.log(res);
+        this.routeList = [];
+        this.routeList = res.data;
+        this.$set(this.routeList);
+      });
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`);
+      this.pageSize = val;
+      this.msgAlarmList();
+    },
+    handleCurrentChange(val) {
+      console.log(`当前页: ${val}`);
+      this.pageNum = val;
+      this.msgAlarmList();
+    },
+
+    changeValue(value) {
+      this.alarmMileBD = /^[0-9]*$/.test(parseInt(value))
+        ? String(parseInt(value)).replace(".", "")
+        : "";
+    },
+    changeValue1(value) {
+      this.beginMile = /^[0-9]*$/.test(parseInt(value))
+        ? String(parseInt(value)).replace(".", "")
+        : "";
+    },
+    changeValue2(value) {
+      this.endMile = /^[0-9]*$/.test(parseInt(value))
+        ? String(parseInt(value)).replace(".", "")
+        : "";
+    },
+
+    msgAlarmList() {
+      // if (this.alarmMileBD && !/^(\d+.\d{1,3}|\d+)$/.test(this.alarmMileBD)) {
+      //   return this.$message({
+      //     type: "error",
+      //     message: "请输入正确的里程",
+      //   });
+      // }
+      // if (this.beginMile && !/^(\d+.\d{1,3}|\d+)$/.test(this.beginMile)) {
+      //   return this.$message({
+      //     type: "error",
+      //     message: "请输入正确的起始里程",
+      //   });
+      // }
+      // if (this.endMile && !/^(\d+.\d{1,3}|\d+)$/.test(this.endMile)) {
+      //   return this.$message({
+      //     type: "error",
+      //     message: "请输入正确的结束里程",
+      //   });
+      // }
+
+      let beginAlarmTime = undefined;
+      let endAlarmTime = undefined;
+      if (this.value1) {
+        beginAlarmTime = this.value1[0];
+        endAlarmTime = this.value1[1];
+      }
+      msgAlarmList({
+        pageNum: this.pageNum,
+        pageSize: this.pageSize,
+        alarmType: this.alarmType,
+        railwayCode: this.railwayCode,
+        beginMile: this.beginMile,
+        endMile: this.endMile,
+        lineDir: this.lineDir,
+        isRelease: this.isLock,
+        alarmMileBD: this.alarmMileBD,
+        beginAlarmTime: beginAlarmTime,
+        endAlarmTime: endAlarmTime,
+        source: this.monitorSystemName,
+      }).then((res) => {
+        console.log(res);
+        if (res.code == 200) {
+          this.tableData = [];
+          this.tableData = res.data.records;
+          this.$set(this.tableData);
+          this.total = res.data.total;
+        } else {
+          this.$message({
+            message: res.mag,
+            type: "error",
+          });
+        }
+      });
     },
   },
 };
 </script>
-
 <style lang="scss" scoped>
-.alarmDetail {
-  height: calc(100vh - 125px);
-
-  ::v-deep .el-card__body {
-    padding: 0;
-    height: 100%;
-    display: flex;
-    flex-direction: column;
-  }
-
-  .alarmDetail-header {
-    padding: 0 20px;
-    height: 60px;
-    flex-shrink: 0;
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    background-color: #eff2f6;
+::v-deep .searth_left {
+  margin: 0;
+}
+::v-deep .el-card__body {
+  padding: 0 20px 20px 20px;
+}
+.dashboard {
+  &-container {
+    margin: 30px 30px 30px;
   }
 
-  .alarmDetail-bottom {
-    padding: 0 20px 20px 20px;
-    flex: 1;
-    overflow: auto;
+  &-text {
+    font-size: 30px;
+    line-height: 46px;
   }
 }
 
+.el-image-viewer__close {
+  color: blue;
+}
+</style>
+<style lang="scss" scoped>
 .dashboard {
   &-container {
-    margin: 30px 30px 30px;
+    margin: 30px;
   }
 
   &-text {
@@ -176,16 +736,41 @@ export default {
     line-height: 46px;
   }
 }
-
-.el-menu--horizontal>.el-menu-item.is-active {
-  background-color: #20a0ff;
-  color: #ffffff;
-  height: 35px;
-  line-height: 35px;
+.el-card.is-always-shadow,
+.el-card.is-hover-shadow:focus {
+  box-shadow: none;
 }
-
-.el-menu--horizontal>.el-menu-item {
-  height: 35px;
-  line-height: 35px;
+.el-card {
+  border: 1px solid#FFFF;
+  background-color: #fff;
+  color: #303133;
+  -webkit-transition: 0.3s;
+  transition: 0.3s;
+}
+::v-deep .el-date-editor .el-range__icon {
+  top: 0;
+}
+.export {
+  // margin: 23px 6px;
+  cursor: pointer;
+  text-align: center;
+  width: 98px;
+  height: 34px;
+  border-radius: 2px;
+  border: 1px solid #abc7fd;
+  line-height: 34px;
+  font-weight: 400;
+  font-size: 14px;
+  color: #2250c8;
+  background-color: #e7eeff;
+}
+.export:hover {
+  color: #fff;
+  border: 1px solid #2250c8;
+  background-color: #2250c8;
+}
+.export:active {
+  background-color: #194da4;
+  border: 1px solid #194da4;
 }
 </style>

+ 1 - 1
src/views/systemMonitoring/cameraMonitoring/index.vue

@@ -117,7 +117,7 @@
             align="center"
             fixed="left"
           />
-          <el-table-column prop="stationName" label="测点名称" align="center" />
+          <el-table-column prop="stationName" label="测点名称" show-overflow-tooltip="true" align="center" />
           <el-table-column prop="lineDir" width="195" label="行别" align="center">
             <templats slot-scope="scope">
               <span v-if="scope.row.lineDir == 1">上行</span>

+ 1 - 1
src/views/systemMonitoring/monitoringSystemMonitoring/index.vue

@@ -33,7 +33,7 @@
             <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%">
                 <el-table-column type="index" label="序号" width="80">
                 </el-table-column>
-                <el-table-column prop="monitorSystemName" label="监测系统名称">
+                <el-table-column prop="monitorSystemName" show-overflow-tooltip="true" label="监测系统名称">
                 </el-table-column>                
                 <el-table-column prop="statusName" label="状态">
                   <template slot-scope="scope">

+ 1 - 1
src/views/systemMonitoring/vehicleMonitoring/index.vue

@@ -20,7 +20,7 @@
             <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%">
                 <el-table-column prop="terminalCodes" label="终端编码">
                 </el-table-column>
-                <el-table-column prop="terminalName" label="终端名称">
+                <el-table-column prop="terminalName" label="终端名称" show-overflow-tooltip="true">
                 </el-table-column>
                 <el-table-column prop="status" label="终端状态">
                     <template slot-scope="scope">