siyouyou 4 maanden geleden
bovenliggende
commit
1366d8e3f1

+ 84 - 1
src/views/account/camera/index.vue

@@ -131,6 +131,7 @@
           <el-table-column
             prop="cameraCode"
             label="摄像机编码"
+            show-overflow-tooltip="true"
             width="175"
             align="center"
             fixed="left"
@@ -143,7 +144,7 @@
             fixed="left"
           />
           <!-- <el-table-column prop="railwayName" label="线路" align="center" /> -->
-          <el-table-column prop="stationName" label="测点名称" align="center" width="160px"/>
+          <el-table-column prop="stationName" show-overflow-tooltip="true" label="测点名称" align="center" width="160px"/>
           <el-table-column prop="lineDir" label="行别" align="center">
             <templats slot-scope="scope">
               <span v-if="scope.row.lineDir == 1">上行</span>
@@ -457,6 +458,36 @@
                 </el-select>
               </el-form-item>
             </el-col>
+            <el-col :span="12">
+              <el-form-item
+                label="分组"
+                label-width="120px"                
+                prop="group"                
+              >
+              <el-input
+                  v-model="form.group"
+                  placeholder="请输入分组名称"                                              
+                />
+             </el-form-item>  
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="显示排序" label-width="120px" prop="sort">
+                <el-input :maxLength="10" placeholder="请输入排序" onkeyup="this.value=this.value.replace(/\D/g,'')"
+                  onafterpaste="this.value=this.value.replace(/\D/g,'')" v-model="form.sort" type="number"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item
+                label="显卡"
+                label-width="120px"                
+                prop="graphicsCard"                
+              >
+              <el-input
+                  v-model="form.graphicsCard"
+                  placeholder="请输入显卡"                                              
+                />
+             </el-form-item>  
+            </el-col>
           </el-row>
         </el-form>
         <div slot="footer" class="dialog-footer" style="text-align: center">
@@ -659,6 +690,48 @@
                   </el-select>
                 </el-form-item>
               </el-col>
+              <el-col :span="12">
+                <el-form-item
+                  label="分组:"
+                  label-width="120px"
+                  prop="stationName"
+                >
+                  <el-input
+                    v-model="detailData.group"
+                    autocomplete="off"
+                    disabled
+                  />
+                  <!-- <span>{{ detailData.railwayCode }}</span> -->
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item
+                  label="显示排序:"
+                  label-width="120px"
+                  prop="stationName"
+                >
+                  <el-input
+                    v-model="detailData.prop"
+                    autocomplete="off"
+                    disabled
+                  />
+                  <!-- <span>{{ detailData.railwayCode }}</span> -->
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item
+                  label="显卡:"
+                  label-width="120px"
+                  prop="stationName"
+                >
+                  <el-input
+                    v-model="detailData.graphicsCard"
+                    autocomplete="off"
+                    disabled
+                  />
+                  <!-- <span>{{ detailData.railwayCode }}</span> -->
+                </el-form-item>
+              </el-col>
               <!-- <el-col :span="12">
                 <el-form-item
                   label="是否开启录像:"
@@ -914,6 +987,9 @@ export default {
         ],
         stationName:[
           { required: true, message: "请输入测点名称", trigger: "blur" },
+        ],
+        graphicsCard:[
+          { required: true, message: "请输入显卡", trigger: "blur" },
         ]
       },
       disabledSave: false,
@@ -934,6 +1010,7 @@ export default {
         endMileBD: "",
         pageNum: 1,
         pageSize: 10,
+        enableOrNot:''
       },
       firectionData:[],
       ids: [],
@@ -1044,6 +1121,9 @@ export default {
         startRecording: "",
         remark: "",
         stationName:'',
+        sort:"",
+        group:"",
+        graphicsCard:'',
         enableOrNot: 1,
         monitoringDirection:'',
         monitoringDirectionName:''
@@ -1442,6 +1522,9 @@ export default {
             this.form.monitoringDirection = Number(this.form.monitoringDirectionName);
             this.form.lineDir = Number(this.form.lineDirName);
             this.disabledSave = true;
+            // if(this.form.sort!==''){
+            // this.form.sort=Number(this.form.sort)
+            // }
             getCameraDataAddNewer(this.form).then((response) => {
               if (response.code == 200) {
                 this.$message({

+ 5 - 5
src/views/account/terminalManagement/index.vue

@@ -3,9 +3,9 @@
         <div class="search-content">
             <el-input placeholder="请输入终端编码" v-model="queryParams.terminalCode" style="width: 220px" clearable />
             <el-input placeholder="请输入终端名称" v-model="queryParams.terminalName" style="width: 220px" clearable />
-            <el-select v-model="queryParams.status" placeholder="请选择终端状态" style="width: 220px" clearable>
+            <!-- <el-select v-model="queryParams.status" placeholder="请选择终端状态" style="width: 220px" clearable>
                 <el-option v-for="item in statusType" :key="item.value" :label="item.label" :value="item.value" clerable />
-            </el-select>
+            </el-select> -->
             <div class="search-btn">
                 <div class="search" @click="handleQuery">查询</div>
                 <div class="reset" @click="reset">重置</div>
@@ -63,14 +63,14 @@
             <el-table :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
                 <el-table-column type="selection" width="55" />
                 <el-table-column prop="terminalCode" label="终端编码" width="150px" align="center" />
-                <el-table-column prop="terminalName" label="终端名称" align="center" width="200" />
+                <el-table-column prop="terminalName" show-overflow-tooltip="true" label="终端名称" align="center" width="200" />
 
                 <!-- <el-table-column prop="vehicleCode" label="关联机车号" width="150px" align="center" /> -->
 
-                <el-table-column prop="vehicleCode" label="机车号" width="150px" align="center" />
+                <el-table-column prop="vehicleCode" show-overflow-tooltip="true" label="机车号" width="150px" align="center" />
                 <el-table-column prop="end" label="AB端" width="150px" align="center" />
 
-                <el-table-column prop="remark" label="备注" align="center" width="180"></el-table-column>
+                <el-table-column prop="remark" label="备注" show-overflow-tooltip="true" align="center" width="180"></el-table-column>
                 <el-table-column prop="createTime" label="创建时间" width="170" align="center" />
                 <el-table-column prop="updateTime" label="更新时间" width="170" align="center"></el-table-column>
                 <el-table-column label="操作" align="center">

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

@@ -1,734 +1,174 @@
 <template>
-  <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-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>
+  <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
-            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
-            >
+    <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>
           </div>
-        </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="
+          <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;
               display: flex;
               align-items: center;
-              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>
+              justify-content: center;
+              background-color: rgb(39, 102, 221);
+              color: #fff;
+            ">
+            解除警报
           </div>
-
-          <!-- <el-col :span="6"></el-col> -->
         </div>
-      </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>
+        <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>
+
 <script>
-import { mapGetters } from "vuex";
+import palyAndPlayback from "@/components/videoPlayer/palyAndPlayback";
+import cameraInfoMessage from "@/components/videoPlayer/cameraInfoMessage";
+import { msgAlarmDetail } from "@/api/alarmList";
+import { videoHistoricalAlarm, alarmHistoricalAlarm } from "@/api/video";
 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: "cart",
-  components: { warningDispose,detailsDialog },
-  computed: {
-    ...mapGetters(["name"]),
-  },
+  name: "AlarmDetail",
+  components: { palyAndPlayback, cameraInfoMessage, warningDispose },
   data() {
     return {
-      detailsData:{
-        dialogVisible:false,
-        alarmId:''
+      id: "", // id
+      alarmId: "",
+      cameraCode: "", // 摄像机code
+      items: "",
+      cameraInfo: {
+        cameraCode: "",
+        isLock: "",
+        alarmTime: "",
+        alarmType: "",
+        lineDir: "",
+        deptId: "",
+        alarmMile: "",
+        beginMile: "",
+        installLongitude: "",
+        releasedTime: "",
       },
-      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: "",
+      historicalAlarm: [],
       warningDisposeModal: {
         show: false,
         id: "",
       },
     };
   },
-  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();
-    }
-    
+  created() { },
+  mounted() {
+    this.id = this.$route.query.id;
+    this.alarmId = this.$route.query.alarmId;
+    this.cameraCode = this.$route.query.cameraCode;
+    this.msgAlarmDetail();
   },
-  methods: {
-    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,
-        },
-      });
-    },
-    // 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);
+  watch: {
+    $route(req) {
+      this.id = this.$route.query.id;
+      this.cameraCode = this.$route.query.cameraCode;
+      this.msgAlarmDetail();
     },
+  },
+  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
 
-    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;
+        // this.alarmId = this.cameraInfo.alarmId;
+        alarmHistoricalAlarm(this.alarmId).then((res) => {
+          this.historicalAlarm = res.data;
+        });
+      });
     },
-    release(val) {
-      if (val) {
-        this.warningDisposeModal.id = val;
-        this.warningDisposeModal.show = true;
-      }
+    release() {
+      this.warningDisposeModal.id = this.id;
+      this.warningDisposeModal.show = true;
     },
     releaseSuccess() {
       this.warningDisposeModal.id = "";
       this.warningDisposeModal.show = false;
-      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);
-        }
-      });
+      this.msgAlarmDetail();
     },
-    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",
-          });
-        }
-      });
+    goback() {
+      // this.$router.push('/alarmInformation/list')
+      // this.$router.push("/list");
+      this.$router.back();
     },
   },
 };
 </script>
+
 <style lang="scss" scoped>
-::v-deep .searth_left {
-  margin: 0;
-}
-::v-deep .el-card__body {
-  padding: 0 20px 20px 20px;
-}
-.dashboard {
-  &-container {
-    margin: 30px 30px 30px;
+.alarmDetail {
+  height: calc(100vh - 125px);
+
+  ::v-deep .el-card__body {
+    padding: 0;
+    height: 100%;
+    display: flex;
+    flex-direction: column;
   }
 
-  &-text {
-    font-size: 30px;
-    line-height: 46px;
+  .alarmDetail-header {
+    padding: 0 20px;
+    height: 60px;
+    flex-shrink: 0;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    background-color: #eff2f6;
   }
-}
 
-.el-image-viewer__close {
-  color: blue;
+  .alarmDetail-bottom {
+    padding: 0 20px 20px 20px;
+    flex: 1;
+    overflow: auto;
+  }
 }
-</style>
-<style lang="scss" scoped>
+
 .dashboard {
   &-container {
-    margin: 30px;
+    margin: 30px 30px 30px;
   }
 
   &-text {
@@ -736,41 +176,16 @@ export default {
     line-height: 46px;
   }
 }
-.el-card.is-always-shadow,
-.el-card.is-hover-shadow:focus {
-  box-shadow: none;
-}
-.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;
+
+.el-menu--horizontal>.el-menu-item.is-active {
+  background-color: #20a0ff;
+  color: #ffffff;
+  height: 35px;
+  line-height: 35px;
 }
-.export:active {
-  background-color: #194da4;
-  border: 1px solid #194da4;
+
+.el-menu--horizontal>.el-menu-item {
+  height: 35px;
+  line-height: 35px;
 }
 </style>

+ 84 - 212
src/views/dashboard/index.vue

@@ -5,33 +5,68 @@
       <div class="left-map">
         <div style="width: 3px;height: 16px;background-color: #2250C8;position: absolute;left: 15px;top: 14px;"></div>
         <span style="font-size: 16px;font-weight: 500;position: absolute;left: 22px;top: 12px;">线路实况</span>
-        <div class="cameraBtn">
-          <!-- <el-select></el-select>
-          <el-select></el-select> -->
-          <el-input size="small" v-model="searchInfo.camera" placeholder="输入摄像机编号"     clearable></el-input>
-          <el-input size="small" v-model="searchInfo.vehicle" placeholder="输入机车编号"     clearable></el-input>
-          <el-button @click="highlighPanel" size="small" type="primary">
-            <i class="el-icon-search"></i>
-          </el-button>
-          <img src="/map/camera.png" :style="cameraShow ? { opacity: 0.6 } : { opacity: 1 }" width="32" height="32" alt=""
-            @click="showCamera">
+        <div class="cameraBtn" >
+          <!-- <el-select></el-select> -->
+          <el-select></el-select>
+          <!-- <img src="/map/camera.png" :style="cameraShow?{opacity:0.6}:{opacity:1}" width="32" height="32" alt="" @click="showCamera"> -->
         </div>
-        <iframe ref="mapRef" style="width: 100%;height: 100%;" src="/SH-demo(1).html" frameborder="0"></iframe>
+        <iframe ref="mapRef" style="width: 100%;height: 100%;" src="SH-demo.html" frameborder="0"></iframe>
       </div>
       <div class="right-msg">
         <div class="msgStatistics">
           <div style="width: 3px;height: 16px;background-color: #2250C8;position: absolute;left: 15px;top: 14px;"></div>
-          <span style="font-size: 16px;font-weight: 500;position: absolute;left: 22px;top: 12px;">信息统计</span>
-          <div class="tjMsg">
-            <img src="../../assets/矩形_28@2x.png">
-            <span class="total">车载终端总数</span>
-            <div class="blueDrop"></div>
-            <span class="onlineText">在线</span>
-            <div class="redDrop"></div>
-            <span class="offlineText">离线</span>
-            <span class="zs">{{ this.msgStatisticsData.COUNTALLTERMINAL }}</span>
-            <span class="onlineTotal">{{ this.msgStatisticsData.OFFLINETERMINAL }}</span>
-            <span class="offlineTotal">{{ this.msgStatisticsData.ONLINETERMINAL }}</span>
+          <span style="font-size: 16px;font-weight: 500;position: absolute;left: 22px;top: 12px;">设备状态</span>
+          <div class="left">
+            <img src="../../assets/编组201.png" style="position: absolute;right: 25px;top: 29px;">
+            <span style="color:#333333;font-size:12px;position: absolute;top: 18px;left: 77px;">在线</span>
+            <span style="color:#333333;font-size:12px;position: absolute;bottom: 18px;left: 77px;">离线</span>
+            <span
+              style="color:#333333;font-size:12px;position: absolute;bottom: 10px;right: 16px;font-weight: 600;">接入摄像机</span>
+            <!-- <span style="color: #00974D;line-height: 22px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);position: absolute;left: 33px;top: 13px;">{{ msgStatisticsData.online||0 }}{{ '台' }}</span>
+              <span style="color: #FF0000;line-height: 22px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);position: absolute;left: 33px;bottom: 13px;">{{ msgStatisticsData.offline ||0}}{{ '台' }}</span>
+              <span style="color: #2250C8;line-height: 22px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);position: absolute;right: 42px;top: 13px;">{{ msgStatisticsData.countAllCamera||0}}{{ '台' }}</span> -->
+            <div class="onlineNum" style="width: 40%;height: 50%;text-align: center;">
+              <span
+                style="color: #00974D;line-height: 55px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);cursor: pointer;"
+                @click="toCameraMonitoring('2')">{{ msgStatisticsData.online || 0 }}{{ '台' }}</span>
+            </div>
+            <div class="offlineNum" style="width: 40%;height: 50%;text-align: center;">
+              <span
+                style="color: #FF0000;line-height: 55px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);cursor: pointer;"
+                @click="toCameraMonitoring('1')">{{ msgStatisticsData.offline || 0 }}{{ '台' }}</span>
+            </div>
+            <div class="cameraNum" style="position: absolute;right: 5px;top:0;width: 40%;height: 50%;text-align: center;">
+              <span
+                style="color: #2250C8;line-height: 55px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);">{{
+                  msgStatisticsData.countAllCamera || 0 }}{{ '台' }}</span>
+            </div>
+          </div>
+          <div class="right">
+            <img src="../../assets/编组202.png" style="position: absolute;left: 25px;top: 29px;">
+            <span style="color:#333333;font-size:12px;position: absolute;top: 18px;right: 77px;">在线</span>
+            <span style="color:#333333;font-size:12px;position: absolute;bottom: 18px;right: 77px;">离线</span>
+            <span
+              style="color:#333333;font-size:12px;position: absolute;bottom: 10px;left: 24px;font-weight: 600;">车载终端</span>
+            <!-- <span style="color: #00974D;line-height: 22px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);position: absolute;right: 33px;top: 13px;">{{ msgStatisticsData.OFFLINETERMINAL ||0}}{{ '台' }}</span>
+              <span style="color: #FF0000;line-height: 22px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);position: absolute;right: 33px;bottom: 13px;">{{ msgStatisticsData.ONLINETERMINAL ||0}}{{ '台' }}</span>
+              <span style="color: #2250C8;line-height: 22px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);position: absolute;left: 37px;top: 13px;">{{ msgStatisticsData.COUNTALLTERMINAL ||0}}{{ '台' }}</span> -->
+            <div class="terminalNum"
+              style="position: absolute;left: 5px;top:0;width: 40%;height: 50%;text-align: center;">
+              <span
+                style="color: #2250C8;line-height: 55px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);">{{
+                  msgStatisticsData.COUNTALLTERMINAL || 0 }}{{ '台' }}</span>
+            </div>
+            <div class="onlineNum" style="width: 40%;height: 50%;text-align: center;float: right;">
+              <span
+                style="color: #00974D;line-height: 55px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);cursor: pointer;"
+                @click="toVehicleMonitoring('1')">{{ msgStatisticsData.OFFLINETERMINAL || 0 }}{{ '台' }}</span>
+            </div>
+            <div class="offlineNum"
+              style="width: 40%;height: 50%;text-align: center;position: absolute;right: 0;bottom: 0;">
+              <span
+                style="color: #FF0000;line-height: 55px;font-size: 16px;font-weight: 600;text-shadow: 0px 2px 2px rgba(161,158,158,0.5);cursor: pointer;"
+                @click="toVehicleMonitoring('2')">{{ msgStatisticsData.ONLINETERMINAL || 0 }}{{ '台' }}</span>
+            </div>
           </div>
         </div>
         <div class="systemMsg">
@@ -67,7 +102,7 @@
                 style="font-size: 14px;font-weight: 400;color: #484646;line-height: 22px;position: absolute;left: 60px;top: 20px;">离线</span>
             </div>
           </div>
-          <div class="msgItem" v-for="item in sysMsg.monitorSystemList.slice(0, 3)">
+          <div class="msgItem" v-for="item in sysMsg.monitorSystemList.slice(0,3)">
             <div class="blueDrop"></div>
             <div style="width: 100%;height: 10px;"></div>
             <div class="sysName">{{ item.monitorSystemName }}</div>
@@ -189,20 +224,6 @@
         </div>
       </div>
     </div>
-    <el-dialog width="65%" :visible="dialogInfo.show" @close="dialogInfo.show = false, dialogInfo.data = {}">
-      <template #title>
-        <div :style="`opacity: ${Object.keys(dialogInfo.data).length === 0 ? '1' : '0'};`">视频加载中...</div>
-      </template>
-      <div class="video" v-loading="Object.keys(dialogInfo.data).length === 0">
-        <div v-for="item in dialogInfo.data.data" :key="item">
-          <div>
-            <VideoLine :showElectric="false" :items="false" :camera-code="item.cameraCode ? item.cameraCode : ''">
-            </VideoLine>
-            <Video :src="item.url"></Video>
-          </div>
-        </div>
-      </div>
-    </el-dialog>
   </div>
 </template>
 <script>
@@ -236,9 +257,8 @@ import {
   baseVehicleVehicleTree,
   baseVehicleVehicleCurrentStream,
 } from "@/api/alarmList";
-import { statisticsNum, getVehicleList, getCameraList, getVehicleVideo } from "@/api/home";
-import Video from "./Video.vue";
-import VideoLine from "@/components/videoPlayer/videoLine";
+import { statisticsNum, getVehicleList, getCameraList } from "@/api/home";
+import Video from "./Video";
 export default {
   name: "Cart",
   computed: {},
@@ -277,15 +297,7 @@ export default {
       errorMsgList: [],
       data: [],
       timer: null,
-      cameraShow: false,
-      dialogInfo: {
-        show: false,
-        data: {}
-      },
-      searchInfo: {
-        camera: '',
-        vehicle: ''
-      }
+      cameraShow:false
     };
   },
   mounted() {
@@ -324,27 +336,6 @@ export default {
     }
     getMapData()
     this.timer = setInterval(getMapData, 10000);
-    window.onmessage = (e) => {
-      const { data: { data, name } } = e
-      if(!name) return
-      this.$set(this.dialogInfo, 'show', true)
-      getVehicleVideo(data).then(res => {
-        if (res.data?.length > 0) {
-          this.dialogInfo = {
-            show: true,
-            data: {
-              name,
-              data: res.data
-            }
-          }
-        }
-
-        else this.$message({
-          message: "无监控视频",
-          type: 'warning'
-        })
-      })
-    }
   },
   beforeDestroy() {
     clearInterval(this.timer)
@@ -382,10 +373,9 @@ export default {
   components: {
     warningDispose,
     Video,
-    VideoLine
   },
   methods: {
-    showCamera() {
+    showCamera(){
       this.$refs.mapRef.contentWindow.postMessage(this.cameraShow, "*");
       this.cameraShow = !this.cameraShow
     },
@@ -516,6 +506,7 @@ export default {
         this.videoCode = "";
         return;
       }
+      console.log(item);
       const nodes =
         this.getParentNodesByCode(
           this.butType === 1 ? this.data : this.VehicleTree,
@@ -735,12 +726,6 @@ export default {
           this.sysMsg = res.data
         }
       })
-    },
-    highlighPanel() {
-      this.$refs.mapRef.contentWindow.postMessage({
-        type: 3,
-        data: this.searchInfo
-      }, "*");
     }
   },
 };
@@ -767,7 +752,7 @@ export default {
       margin-right: 10px;
       padding: 60px 20px 12px 13px;
       background-color: #fff;
-      //background: url('../../assets/地图图片.png'); 
+      background: url('../../assets/地图图片.png'); 
     }
 
     .right-msg {
@@ -784,102 +769,28 @@ export default {
         background-color: #fff;
         box-shadow: 0px 0px 4px 0px #E4E4E4;
         border-radius: 2px;
-        .tjMsg{
-          width: 501px;
-          height: 180px;
-          background: url('../../assets/messageTjbgc.png') no-repeat 50% 50%;
+
+        .left {
+          position: relative;
+          background: url('../../assets/编组24.png') no-repeat 50% 50%;
           background-size: 100% 100%;
+          width: 205px;
+          height: 103px;
+          float: left;
+          margin-top: 47px;
+          margin-left: 20px;
+        }
+
+        .right {
           position: relative;
-          left: -25px;
-          top: 8px;
-          img{
-            width: 1px;
-            height: 46px;
-            position: relative;
-            left: 245px;
-            top: 60px;
-          }
-          .total{
-            font-family: PingFangSC, PingFang SC;
-            font-weight: 600;
-            font-size: 12px;
-            color: #484646;
-            line-height: 22px;
-            font-style: normal;
-            position: relative;
-            left: 140px;
-            top: 30px;
-          }
-          .blueDrop{
-            width: 6px;
-            height: 6px;
-            border-radius: 6px;
-            background-color: #2250C8;
-            position: relative;
-            left: 265px;
-            top: 17px;
-          }
-          .redDrop{
-            width: 6px;
-            height: 6px;
-            border-radius: 6px;
-            background-color: #FF0000;
-            position: relative;
-            left: 350px;
-            top: -10px;
-          }
-          .onlineText{
-            font-family: PingFangSC, PingFang SC;
-            font-weight: 400;
-            font-size: 14px;
-            color: #696969;
-            line-height: 22px;
-            font-style: normal;
-            position: relative;
-            left: 275px;
-            top: 2px;
-          }
-          .offlineText{
-            font-family: PingFangSC, PingFang SC;
-            font-weight: 400;
-            font-size: 14px;
-            color: #696969;
-            line-height: 22px;
-            font-style: normal;
-            position: relative;
-            left: 360px;
-            top: -25px;
-          }
-          .zs{
-            font-family: PingFangSC, PingFang SC;
-            font-weight: 600;
-            font-size: 20px;
-            color: #2250C8;
-            line-height: 22px;
-            font-style: normal;
-            position: relative;
-            left: 135px;
-          }
-          .onlineTotal{
-            font-family: PingFangSC, PingFang SC;
-            font-weight: 600;
-            font-size: 20px;
-            color: #00974D;
-            font-style: normal;
-            position: relative;
-            left: 235px;
-          }
-          .offlineTotal{
-            font-family: PingFangSC, PingFang SC;
-            font-weight: 600;
-            font-size: 20px;
-            color: #ff0000;
-            font-style: normal;
-            position: relative;
-            left: 310px;
-          }
+          background: url('../../assets/编组25.png') no-repeat 50% 50%;
+          background-size: 100% 100%;
+          width: 205px;
+          height: 103px;
+          float: right;
+          margin-top: 47px;
+          margin-right: 20px;
         }
-       
       }
 
       .systemMsg {
@@ -1112,10 +1023,6 @@ export default {
   padding: 20px 95px !important;
 }
 
-::v-deep .el-button--primary i {
-  top: 0 !important;
-}
-
 .dialog-footer {
   div {
     display: inline-block;
@@ -1151,8 +1058,7 @@ export default {
     border: 1px solid #1f9fff;
   }
 }
-
-.cameraBtn {
+.cameraBtn{
   cursor: pointer;
   top: 12px;
   right: 21px;
@@ -1162,40 +1068,6 @@ export default {
   gap: 12px;
 }
 
-.video {
-  display: grid;
-  gap: 12px;
-  grid-template-columns: repeat(auto-fill, calc(50% - 6px));
-  min-height: 300px;
-  max-height: 85vh;
-  overflow: auto;
-
-  >div {
-    width: 100%;
-    padding-bottom: 56.5%;
-    position: relative;
-    // overflow: hidden;
-
-    >div {
-      position: absolute;
-      width: 100%;
-      height: 100%;
-      top: 0;
-      left: 0;
-    }
-  }
-
-  // height: 60vh;
-}
-
-::v-deep .el-dialog {
-  margin-top: 8vh !important;
-
-  .el-dialog__body {
-    padding: 6px !important;
-  }
-}
-
 // 选中后radio文本的颜色
 ::v-deep .el-radio__input.is-checked+.el-radio__label {
   color: #2766dd;

+ 1 - 1
src/views/log/operation/index.vue

@@ -53,7 +53,7 @@
           @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="55" align="center" />
           <el-table-column prop="operId" label="日志编号" align="center" fixed="left" />
-          <el-table-column prop="title" label="系统模块" align="center" />
+          <el-table-column prop="title" show-overflow-tooltip="true" label="系统模块" align="center" />
           <el-table-column prop="businessType" label="操作类型" align="center">
             <template slot-scope="scope">
               <!-- <dict-tag :options="getDoType" :value="scope.row.businessType" /> -->

+ 338 - 338
src/views/simulatedUpload/index.vue

@@ -1,73 +1,73 @@
 <template>
-    <div class="dashboard-container">
-        <div class="table-content">
-            <div style="width: 100%;height: 30px;">
-                <div class="btn" style="margin-right: -3px;" @click="addBtn">新增</div>
-            </div>
-            <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%">
-                <el-table-column type="index" label="序号" width="60px">
-                </el-table-column>
-                <el-table-column prop="alarmTime" label="报警时间">                    
-                </el-table-column>
-                <el-table-column prop="alarmRailway" label="报警线路编码">
-                </el-table-column>
-                <el-table-column prop="railwayName" label="报警线路">
-                </el-table-column>
-                <el-table-column label="报警行别">
-                  <template slot-scope="scope">
-                    {{ scope.row.lineDir == 1 ? '上行' : '下行' }}
-                  </template>
-                </el-table-column>
-                <el-table-column prop="alarmMiles" label="报警里程位置">
-                </el-table-column>
-                <el-table-column label="报警附件">
-                    <template slot-scope="scope" v-if="scope.row.fileUrl">
-                        <img :src="scope.row.fileUrl" style="width: 100px;height: 100px;"/>
-                    </template>
-                    <template slot-scope="scope" v-else></template>
-                </el-table-column>
-                <el-table-column label="报警类型" width="160px" prop="alarmTypeName">                  
-                </el-table-column>
-                <el-table-column prop="alarmLevel" label="报警级别">
-                </el-table-column>
-                <el-table-column prop="alarmConfidence" label="报警置信度">
-                </el-table-column>
-                <el-table-column prop="content" label="报警内容">
-                </el-table-column>
-                <el-table-column label="模拟状态">
-                  <template slot-scope="scope">
-                    {{ scope.row.stareName }}
+  <div class="dashboard-container">
+      <div class="table-content">
+          <div style="width: 100%;height: 30px;">
+              <div class="btn" style="margin-right: -3px;" @click="addBtn">新增</div>
+          </div>
+          <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%">
+              <el-table-column type="index" label="序号" width="60px">
+              </el-table-column>
+              <el-table-column prop="alarmTime" label="报警时间">                    
+              </el-table-column>
+              <el-table-column prop="alarmRailway" label="报警线路编码">
+              </el-table-column>
+              <el-table-column prop="railwayName" label="报警线路">
+              </el-table-column>
+              <el-table-column label="报警行别">
+                <template slot-scope="scope">
+                  {{ scope.row.lineDir == 1 ? '上行' : '下行' }}
+                </template>
+              </el-table-column>
+              <el-table-column prop="alarmMiles" label="报警里程位置">
+              </el-table-column>
+              <el-table-column label="报警附件">
+                  <template slot-scope="scope" v-if="scope.row.fileUrl">
+                      <img :src="scope.row.fileUrl" style="width: 100px;height: 100px;"/>
                   </template>
-                </el-table-column>
-                <el-table-column label="模拟生效">
+                  <template slot-scope="scope" v-else></template>
+              </el-table-column>
+              <el-table-column label="报警类型" width="160px" prop="alarmTypeName">                  
+              </el-table-column>
+              <el-table-column prop="alarmLevel" label="报警级别">
+              </el-table-column>
+              <el-table-column prop="alarmConfidence" label="报警置信度">
+              </el-table-column>
+              <el-table-column prop="content" show-overflow-tooltip="true" label="报警内容">
+              </el-table-column>
+              <el-table-column label="模拟状态">
+                <template slot-scope="scope">
+                  {{ scope.row.stareName }}
+                </template>
+              </el-table-column>
+              <el-table-column label="模拟生效">
+                <template slot-scope="scope">
+                  <div class="operateBtn">
+                    <div v-if="scope.row.stareName == '未生效'" @click="sendingAlarms(scope.row)">发送报警</div>
+                  </div>                    
+                </template>
+              </el-table-column>
+              <el-table-column label="操作" width="200px">
                   <template slot-scope="scope">
-                    <div class="operateBtn">
-                      <div v-if="scope.row.stareName == '未生效'" @click="sendingAlarms(scope.row)">发送报警</div>
-                    </div>                    
+                      <div class="operateBtn">                            
+                          <!-- <div>删除</div> -->
+                          <div @click="lookDetails(scope.row)">详情查看</div>
+                          <div v-if="scope.row.stareName != '已生效'" @click="editBtn(scope.row)">修改</div>                            
+                          <div v-if="scope.row.stareName == '已生效'" @click="disarmingBtn(scope.row)">解除报警</div>
+                      </div>
                   </template>
-                </el-table-column>
-                <el-table-column label="操作" width="200px">
-                    <template slot-scope="scope">
-                        <div class="operateBtn">                            
-                            <!-- <div>删除</div> -->
-                            <div @click="lookDetails(scope.row)">详情查看</div>
-                            <div v-if="scope.row.stareName != '已生效'" @click="editBtn(scope.row)">修改</div>                            
-                            <div v-if="scope.row.stareName == '已生效'" @click="disarmingBtn(scope.row)">解除报警</div>
-                        </div>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <div class="pagination">
-                <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :page-sizes="[10, 15, 20]"
-                :page-size="searchData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total">
-                </el-pagination>
-            </div>
-            <addDialog v-if="addDialogData.dialogVisible" :addDialogData="addDialogData" @addImitateData="addImitateData"></addDialog>
-            <detailsDialog v-if="detailsDialogData.dialogVisible" :detailsDialogData="detailsDialogData"></detailsDialog>
-            <editDialog v-if="editDialogData.dialogVisible" :editDialogData="editDialogData" @editImitateData="editImitateData"></editDialog>
-            <disarmingAlarmDialog v-if="disarmingAlarmData.dialogVisible" :disarmingAlarmData="disarmingAlarmData" @disarmingAlarm="disarmingAlarm"></disarmingAlarmDialog>
+              </el-table-column>
+          </el-table>
+          <div class="pagination">
+              <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :page-sizes="[10, 15, 20]"
+              :page-size="searchData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total">
+              </el-pagination>
           </div>
-    </div>
+          <addDialog v-if="addDialogData.dialogVisible" :addDialogData="addDialogData" @addImitateData="addImitateData"></addDialog>
+          <detailsDialog v-if="detailsDialogData.dialogVisible" :detailsDialogData="detailsDialogData"></detailsDialog>
+          <editDialog v-if="editDialogData.dialogVisible" :editDialogData="editDialogData" @editImitateData="editImitateData"></editDialog>
+          <disarmingAlarmDialog v-if="disarmingAlarmData.dialogVisible" :disarmingAlarmData="disarmingAlarmData" @disarmingAlarm="disarmingAlarm"></disarmingAlarmDialog>
+        </div>
+  </div>
 </template>
 <script>
 import { getAnalogData ,addAlarmTemporary,sendAlarm,editAlarmTemporary,disarmingAlarm} from "@/api/analogData";
@@ -76,320 +76,320 @@ import detailsDialog from './components/detailsDialog.vue'
 import editDialog from './components/editDialog.vue'
 import disarmingAlarmDialog from './components/disarmingAlarmDialog.vue'
 export default {
-    name :'simulatedUpload',
-    components:{
-        addDialog,
-        detailsDialog,
-        editDialog,
-        disarmingAlarmDialog
-    },
-    data() {
-        return {
-            tableData:[],
-            searchData:{
-                pageNum: 1,
-                pageSize: 10,                
-            },
-            total:0,
-            addDialogData:{
-              dialogVisible: false,
-              data: {}  
-            },
-            detailsDialogData:{
-              dialogVisible: false,
-              data: {} 
-            },
-            editDialogData:{
-              dialogVisible: false,
-              data: {} 
-            },
-            disarmingAlarmData:{
-              dialogVisible: false,
-              data: {} 
-            }
-        }
-    },
-    created() {
-        this.getList(this.searchData)
-    },
-    methods:{
-        getList(params) {
-            getAnalogData(params).then(res => {                
-                if(res.code == 200) {
-                    this.tableData = res.data.records
-                    this.total = res.data.total
-                }
-            })
-        },
-        handleSizeChange(val) {
-            this.searchData.pageSize = val
-            this.getList(this.searchData)
-        },
-        handleCurrentChange(val) {
-            this.searchData.pageNum = val
-            this.getList(this.searchData)
-        },
-        addBtn() {
-            this.addDialogData.dialogVisible = true
-        },
-        addImitateData(payload) {
-            addAlarmTemporary(payload).then(res => {                
-                if(res.code == 200) {
-                    this.$message({
-                        type: 'success',
-                        message: '新增成功!'
-                    });
-                    this.getList(this.searchData)
-                    this.addDialogData.dialogVisible = false
-                }else{
-                    this.$message({
-                        type: 'error',
-                        message: res.msg
-                    }); 
-                }
-            })
-        },  
-        lookDetails(row) {
-            row.alarmType = row.alarmType.toString()
-            row.alarmLevel = row.alarmLevel.toString()
-            row.lineDir = row.lineDir.toString()
-            if(row.source) row.source = row.source.toString()            
-            this.detailsDialogData.data = row
-            this.detailsDialogData.dialogVisible = true
-        },
-        editBtn(row) {
-          row.alarmType = row.alarmType.toString()
-            row.alarmLevel = row.alarmLevel.toString()
-            row.lineDir = row.lineDir.toString()
-            if(row.source) row.source = row.source.toString()
-            this.editDialogData.data = row
-            this.editDialogData.dialogVisible = true
-        }, 
-        disarmingBtn(val) {          
-          this.disarmingAlarmData.dialogVisible = true
-          this.disarmingAlarmData.data.alarmId = val.alarmId
-          this.disarmingAlarmData.data.releaseTime = ''
-          this.disarmingAlarmData.data.releaseContent = ''
-        },
-        disarmingAlarm(payload) {         
-          disarmingAlarm(payload).then(res => {            
-            if(res.code == 200) {
-              this.$message({
-                        type: 'success',
-                        message: '解除报警成功!'
-                    });
-                    this.getList(this.searchData)
-                    this.disarmingAlarmData.dialogVisible = false    
-            }else{
-              this.$message({
-                        type: 'error',
-                        message: res.msg
-                    });
-            }
+  name :'simulatedUpload',
+  components:{
+      addDialog,
+      detailsDialog,
+      editDialog,
+      disarmingAlarmDialog
+  },
+  data() {
+      return {
+          tableData:[],
+          searchData:{
+              pageNum: 1,
+              pageSize: 10,                
+          },
+          total:0,
+          addDialogData:{
+            dialogVisible: false,
+            data: {}  
+          },
+          detailsDialogData:{
+            dialogVisible: false,
+            data: {} 
+          },
+          editDialogData:{
+            dialogVisible: false,
+            data: {} 
+          },
+          disarmingAlarmData:{
+            dialogVisible: false,
+            data: {} 
+          }
+      }
+  },
+  created() {
+      this.getList(this.searchData)
+  },
+  methods:{
+      getList(params) {
+          getAnalogData(params).then(res => {                
+              if(res.code == 200) {
+                  this.tableData = res.data.records
+                  this.total = res.data.total
+              }
+          })
+      },
+      handleSizeChange(val) {
+          this.searchData.pageSize = val
+          this.getList(this.searchData)
+      },
+      handleCurrentChange(val) {
+          this.searchData.pageNum = val
+          this.getList(this.searchData)
+      },
+      addBtn() {
+          this.addDialogData.dialogVisible = true
+      },
+      addImitateData(payload) {
+          addAlarmTemporary(payload).then(res => {                
+              if(res.code == 200) {
+                  this.$message({
+                      type: 'success',
+                      message: '新增成功!'
+                  });
+                  this.getList(this.searchData)
+                  this.addDialogData.dialogVisible = false
+              }else{
+                  this.$message({
+                      type: 'error',
+                      message: res.msg
+                  }); 
+              }
           })
-        },
-        editImitateData(payload){          
-          editAlarmTemporary(payload).then(res => {            
+      },  
+      lookDetails(row) {
+          row.alarmType = row.alarmType.toString()
+          row.alarmLevel = row.alarmLevel.toString()
+          row.lineDir = row.lineDir.toString()
+          if(row.source) row.source = row.source.toString()            
+          this.detailsDialogData.data = row
+          this.detailsDialogData.dialogVisible = true
+      },
+      editBtn(row) {
+        row.alarmType = row.alarmType.toString()
+          row.alarmLevel = row.alarmLevel.toString()
+          row.lineDir = row.lineDir.toString()
+          if(row.source) row.source = row.source.toString()
+          this.editDialogData.data = row
+          this.editDialogData.dialogVisible = true
+      }, 
+      disarmingBtn(val) {          
+        this.disarmingAlarmData.dialogVisible = true
+        this.disarmingAlarmData.data.alarmId = val.alarmId
+        this.disarmingAlarmData.data.releaseTime = ''
+        this.disarmingAlarmData.data.releaseContent = ''
+      },
+      disarmingAlarm(payload) {         
+        disarmingAlarm(payload).then(res => {            
+          if(res.code == 200) {
+            this.$message({
+                      type: 'success',
+                      message: '解除报警成功!'
+                  });
+                  this.getList(this.searchData)
+                  this.disarmingAlarmData.dialogVisible = false    
+          }else{
+            this.$message({
+                      type: 'error',
+                      message: res.msg
+                  });
+          }
+        })
+      },
+      editImitateData(payload){          
+        editAlarmTemporary(payload).then(res => {            
+          if(res.code == 200) {
+            this.$message({
+                      type: 'success',
+                      message: '修改成功!'
+                  });
+              this.getList(this.searchData) 
+              this.editDialogData.dialogVisible = false  
+          }else{
+            this.$message({
+                      type: 'error',
+                      message: res.message
+                  });
+          }
+        })
+      },  
+      sendingAlarms(scope) {          
+        this.$confirm('确定要发送报警吗?', '信息提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          sendAlarm(scope.id).then(res => {
             if(res.code == 200) {
               this.$message({
-                        type: 'success',
-                        message: '修改成功!'
-                    });
-                this.getList(this.searchData) 
-                this.editDialogData.dialogVisible = false  
+                type: 'success',
+                message: '发送报警成功!'
+              });
+              this.getList(this.searchData)
             }else{
               this.$message({
-                        type: 'error',
-                        message: res.message
-                    });
+                type: 'error',
+                message: res.msg
+              });
             }
+            
           })
-        },  
-        sendingAlarms(scope) {          
-          this.$confirm('确定要发送报警吗?', '信息提示', {
-            confirmButtonText: '确定',
-            cancelButtonText: '取消',
-            type: 'warning'
-          }).then(() => {
-            sendAlarm(scope.id).then(res => {
-              if(res.code == 200) {
-                this.$message({
-                  type: 'success',
-                  message: '发送报警成功!'
-                });
-                this.getList(this.searchData)
-              }else{
-                this.$message({
-                  type: 'error',
-                  message: res.msg
-                });
-              }
-              
-            })
-          }).catch(() => {
-            this.$message({
-              type: 'info',
-              message: '已取消'
-            });
-          })
-        }
-    }
+        }).catch(() => {
+          this.$message({
+            type: 'info',
+            message: '已取消'
+          });
+        })
+      }
+  }
 }
 </script>
 <style lang="scss" scoped>
 .dashboard {
-  &-container {
-    margin: 30px;
-  }
+&-container {
+  margin: 30px;
+}
 
-  &-text {
-    font-size: 30px;
-    line-height: 46px;
-  }
+&-text {
+  font-size: 30px;
+  line-height: 46px;
+}
 }
 .dashboard-container {
-  .search-content {
-    width: 100%;
-    height: 74px;
-    background-color: #fff;
+.search-content {
+  width: 100%;
+  height: 74px;
+  background-color: #fff;
+  display: flex;
+  align-items: center;
+  padding-left: 10px;
+
+  .el-input {
+    margin: 0 10px;
+  }
+
+  .el-select {
+    margin: 0 10px;
+  }
+
+  .search-btn {
     display: flex;
     align-items: center;
-    padding-left: 10px;
+    height: 100%;      
+    margin-left: 10px;
 
-    .el-input {
-      margin: 0 10px;
+    div {
+      // margin: 0 6px;
+      display: inline-block;
+      width: 80px;
+      height: 40px;
+      border-radius: 2px;
+      font-size: 14px;
+      line-height: 40px;
+      text-align: center;
     }
 
-    .el-select {
-      margin: 0 10px;
+    div:hover {
+      cursor: pointer;
     }
 
-    .search-btn {
-      display: flex;
-      align-items: center;
-      height: 100%;      
-      margin-left: 10px;
+    .search {
+      margin-right: 10px;
+      background-color: #2766DD;
+      color: #F7F8FB;
+    }
 
-      div {
-        // margin: 0 6px;
-        display: inline-block;
-        width: 80px;
-        height: 40px;
-        border-radius: 2px;
-        font-size: 14px;
-        line-height: 40px;
-        text-align: center;
-      }
+    .search:hover {
+      background-color: #4D85F4;
+    }
 
-      div:hover {
-        cursor: pointer;
-      }
+    .reset {
+      color: #333334;
+      border: 1px solid #D7D7D7;
+    }
 
-      .search {
-        margin-right: 10px;
-        background-color: #2766DD;
-        color: #F7F8FB;
-      }
+    .reset:hover {
+      color: #1F9FFF;
+      border: 1px solid #1F9FFF;
+    }
+  }
+}
 
-      .search:hover {
-        background-color: #4D85F4;
-      }
+.table-content {
+  margin-top: 15px;
+  width: 100%;
+  background-color: #fff;
+  padding: 0 20px 20px;
 
-      .reset {
-        color: #333334;
-        border: 1px solid #D7D7D7;
-      }
+  .btn {
+    margin: 15px 20px 15px 0;
+    cursor: pointer;
+    float: left;
+    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;
+  }
 
-      .reset:hover {
-        color: #1F9FFF;
-        border: 1px solid #1F9FFF;
-      }
-    }
+  .btn:hover {
+    color: #FFFFFF;
+    background-color: #2250C8;
+    border: 1px solid #2250C8;
   }
 
-  .table-content {
-    margin-top: 15px;
-    width: 100%;
-    background-color: #fff;
-    padding: 0 20px 20px;
+  .btn:active {
+    color: #FFFFFF;
+    background-color: #194DA4;
+    border: 1px solid #194DA4;
+  }
 
-    .btn {
-      margin: 15px 20px 15px 0;
-      cursor: pointer;
-      float: left;
+  .startUsing {
+      width: 54px;
+      height: 24px;
+      margin: 14.5px auto 0;
+      line-height: 24px;
       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;
-    }
-
-    .btn:hover {
-      color: #FFFFFF;
-      background-color: #2250C8;
-      border: 1px solid #2250C8;
+      font-size: 12px;
+      color: #00974D;
+      border-radius: 4px;
+      background-color: #E7FAF0;
+      border: 1px solid #BEFDDD;
     }
 
-    .btn:active {
-      color: #FFFFFF;
-      background-color: #194DA4;
-      border: 1px solid #194DA4;
+    .Deactivate {
+      width: 54px;
+      height: 24px;
+      margin: 14.5px auto 0;
+      line-height: 24px;
+      text-align: center;
+      font-size: 12px;
+      color: #FF9933;
+      border-radius: 4px;
+      background-color: #FFF3E8;
+      border: 1px solid #FDE6CF;
     }
 
-    .startUsing {
-        width: 54px;
-        height: 24px;
-        margin: 14.5px auto 0;
-        line-height: 24px;
-        text-align: center;
-        font-size: 12px;
-        color: #00974D;
-        border-radius: 4px;
-        background-color: #E7FAF0;
-        border: 1px solid #BEFDDD;
-      }
-
-      .Deactivate {
-        width: 54px;
-        height: 24px;
-        margin: 14.5px auto 0;
-        line-height: 24px;
-        text-align: center;
-        font-size: 12px;
-        color: #FF9933;
-        border-radius: 4px;
-        background-color: #FFF3E8;
-        border: 1px solid #FDE6CF;
-      }
-
-    .operateBtn {
-      display: flex;
-      justify-content: center;
-      color: #2866DD;
+  .operateBtn {
+    display: flex;
+    justify-content: center;
+    color: #2866DD;
 
-      div {
-        font-size: 14px;
-        margin: 0 5px;
-        cursor: pointer;
-      }
+    div {
+      font-size: 14px;
+      margin: 0 5px;
+      cursor: pointer;
     }
+  }
 
-    .pagination {
-      margin: 10px 0;
-      width: 100%;
-      height: 20px;
+  .pagination {
+    margin: 10px 0;
+    width: 100%;
+    height: 20px;
 
-      .el-pagination {
-        float: right;
-        margin: 10px 0;
-      }
+    .el-pagination {
+      float: right;
+      margin: 10px 0;
     }
   }
+}
 
 }
 </style>

+ 16 - 11
src/views/system/monitor/components/addRoleDialog.vue

@@ -17,20 +17,25 @@
                 </el-row>
                 <el-row :gutter="24">
                     <el-col :span="12">
-                        <el-form-item label="正式环境密钥:" prop="clientSecret">
+                        <el-form-item label="密钥:" prop="clientSecret">
                             <div class="" style="display:flex">
                                 <el-button class="changKerBtn" @click="generateKeyFormal">点击生成密钥</el-button>
-                            <el-input placeholder="请输入正式环境密钥" v-model="addRoleForm.clientSecret" type="text" disabled/>
+                            <el-input placeholder="请输入密钥" v-model="addRoleForm.clientSecret" type="text" disabled/>
                             </div>
                         </el-form-item>
                     </el-col>
-                    <el-col :span="12">
+                    <!-- <el-col :span="12">
                         <el-form-item label="测试环境密钥:" prop="testSecret">
                             <div class="" style="display:flex">
                                 <el-button class="changKerBtn" @click="generateKeyTest">点击生成密钥</el-button>
                                 <el-input placeholder="请输入测试环境密钥" v-model="addRoleForm.testSecret" type="text" disabled/>
                             </div>
                         </el-form-item>
+                    </el-col> -->
+                    <el-col :span="12">
+                        <el-form-item label="报警信息内容:" prop="alarmContent">
+                            <el-input placeholder="请输入报警信息内容" v-model="addRoleForm.alarmContent" type="textarea"/>
+                        </el-form-item>
                     </el-col>
                 </el-row>
                 <el-row :gutter="24">
@@ -52,8 +57,8 @@
                         </el-form-item>
                     </el-col>
                     <el-col :span="12">
-                        <el-form-item label="报警信息内容:" prop="alarmContent">
-                            <el-input placeholder="请输入报警信息内容" v-model="addRoleForm.alarmContent" type="textarea"/>
+                        <el-form-item label="报警对应的处理措施:" prop="treateMeasure">
+                            <el-input placeholder="请输入报警对应的处理措施" v-model="addRoleForm.treateMeasure" type="textarea"/>
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -64,13 +69,13 @@
                         </el-form-item>
                     </el-col>
                 </el-row>
-                <el-row :gutter="24">
+                <!-- <el-row :gutter="24">
                     <el-col :span="24">
                         <el-form-item label="报警对应的处理措施:" prop="treateMeasure">
                             <el-input placeholder="请输入报警对应的处理措施" v-model="addRoleForm.treateMeasure" type="textarea"/>
                         </el-form-item>
                     </el-col>
-                </el-row>
+                </el-row> -->
                 <div>
                 </div>
             </el-form>
@@ -102,7 +107,7 @@ export default {
             addRoleForm: {
                 monitorSystemName: '',//监测系统名称
                 clientId: "",//监测系统编码
-                clientSecret: '',//正式环境密钥
+                clientSecret: '',//密钥
                 testSecret: '',//测试环境密钥
                 alarmGenerate: '',//报警信息生成机制
                 systemIntroduce: '',//系统简介
@@ -110,7 +115,7 @@ export default {
             },
             rules: {
                 monitorSystemName: [{ required: true, message: '请输入监测系统名称', trigger: 'blur' }],
-                clientSecret: [{ required: true, message: '请输入正式环境密钥', trigger: 'blur' }],
+                clientSecret: [{ required: true, message: '请输入密钥', trigger: 'blur' }],
                 testSecret: [{ required: true, message: '请输入测试环境密钥', trigger: 'blur' }],
                 clientId: [{ required: true, message: '请输入监测系统编码', trigger: 'blur' }],
             }
@@ -139,7 +144,7 @@ export default {
             this.addRoleForm = {
                 monitorSystemName: '',//监测系统名称
                 clientId: "",//监测系统编码
-                clientSecret: '',//正式环境密钥
+                clientSecret: '',//密钥
                 testSecret: '',//测试环境密钥
                 alarmGenerate: '',//报警信息生成机制
                 systemIntroduce: '',//系统简介
@@ -151,7 +156,7 @@ export default {
             this.addRoleForm = {
                 monitorSystemName: '',//监测系统名称
                 clientId: "",//监测系统编码
-                clientSecret: '',//正式环境密钥
+                clientSecret: '',//密钥
                 testSecret: '',//测试环境密钥
                 alarmGenerate: '',//报警信息生成机制
                 systemIntroduce: '',//系统简介

+ 6 - 17
src/views/system/monitor/components/detaileDialog.vue

@@ -34,7 +34,7 @@
         </el-row>
         <el-row :gutter="24">
           <el-col :span="12">
-            <el-form-item label="正式环境密钥:">
+            <el-form-item label="密钥:">
               <el-input
                 v-model="detaildData.data.clientSecret"
                 autocomplete="off"
@@ -43,11 +43,12 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="测试环境密钥:">
+            <el-form-item label="报警信息内容:">
               <el-input
-                v-model="detaildData.data.testSecret"
+                v-model="detaildData.data.alarmContent"
                 autocomplete="off"
                 disabled
+                type="textarea"
               />
             </el-form-item>
           </el-col>
@@ -87,9 +88,9 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="报警信息内容:">
+            <el-form-item label="报警对应的处理措施:">
               <el-input
-                v-model="detaildData.data.alarmContent"
+                v-model="detaildData.data.treateMeasure"
                 autocomplete="off"
                 disabled
                 type="textarea"
@@ -104,18 +105,6 @@
               </el-form-item>
           </el-col>
       </el-row>
-        <el-row :gutter="24">
-          <el-col :span="24">
-            <el-form-item label="报警对应的处理措施:">
-              <el-input
-                v-model="detaildData.data.treateMeasure"
-                autocomplete="off"
-                disabled
-                type="textarea"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
       </el-form>
     </el-dialog>
   </div>

+ 11 - 11
src/views/system/monitor/components/upDateRoleDialog.vue

@@ -16,20 +16,25 @@
                 </el-row>
                 <el-row :gutter="24">
                     <el-col :span="12">
-                        <el-form-item label="正式环境密钥:" prop="clientSecret">
+                        <el-form-item label="密钥:" prop="clientSecret">
                             <div class="" style="display:flex">
                                 <el-button class="changKerBtn" @click="generateKeyFormal">点击生成密钥</el-button>
                             <el-input v-model="updateRoleData.data.clientSecret" type="text" disabled/>
                             </div>
                         </el-form-item>
                     </el-col>
-                    <el-col :span="12">
+                    <!-- <el-col :span="12">
                         <el-form-item label="测试环境密钥:" prop="testSecret">
                             <div class="" style="display:flex">
                                 <el-button class="changKerBtn" @click="generateKeyTest">点击生成密钥</el-button>
                                 <el-input v-model="updateRoleData.data.testSecret" type="text" disabled/>
                             </div>
                         </el-form-item>
+                    </el-col> -->
+                    <el-col :span="12">
+                        <el-form-item label="报警信息内容:" prop="alarmContent">
+                            <el-input v-model="updateRoleData.data.alarmContent" type="textarea"/>
+                        </el-form-item>
                     </el-col>
                 </el-row>
                 <el-row :gutter="24">
@@ -51,22 +56,17 @@
                         </el-form-item>
                     </el-col>
                     <el-col :span="12">
-                        <el-form-item label="报警信息内容:" prop="alarmContent">
-                            <el-input v-model="updateRoleData.data.alarmContent" type="textarea"/>
+                        <el-form-item label="报警对应的处理措施:" prop="treateMeasure">
+                            <el-input v-model="updateRoleData.data.treateMeasure" type="textarea"/>
                         </el-form-item>
                     </el-col>
                 </el-row>
                 <el-row :gutter="24">
-                    <el-col :span="12">
+                    <el-col :span="24">
                         <el-form-item label="备注:" prop="remark">
                             <el-input v-model="updateRoleData.data.remark" type="textarea"/>
                         </el-form-item>
                     </el-col>
-                    <el-col :span="12">
-                        <el-form-item label="报警对应的处理措施:" prop="treateMeasure">
-                            <el-input v-model="updateRoleData.data.treateMeasure" type="textarea"/>
-                        </el-form-item>
-                    </el-col>
                 </el-row>          
             </el-form>
             <span slot="footer" class="dialog-footer">
@@ -95,7 +95,7 @@ export default {
             meunTreeData: [],
             rules: {
                 monitorSystemName: [{ required: true, message: '请输入监测系统名称', trigger: 'blur' }],
-                clientSecret: [{ required: true, message: '请输入正式环境密钥', trigger: 'blur' }],
+                clientSecret: [{ required: true, message: '请输入密钥', trigger: 'blur' }],
                 testSecret: [{ required: true, message: '请输入测试环境密钥', trigger: 'blur' }],
                 clientId: [{ required: true, message: '请输入监测系统编码', trigger: 'blur' }],
             }