浏览代码

告警管理 告警总数 及弹框页面排版 计划停电完善

ming 3 年之前
父节点
当前提交
02d58f3b4c

+ 1 - 1
.gitignore

@@ -1,7 +1,7 @@
 .DS_Store
 node_modules
 /dist
-
+.history
 
 # local env files
 .env.local

+ 18 - 30
src/assets/css/element-variables.scss

@@ -1,36 +1,30 @@
 /* 改变主题色变量 */
-$--color-primary: #009688;
 
+$--color-primary: #1187FF;
 /// color|1|Font Color|2
 $--color-text-primary: #303133 !default;
 
 /* 改变 icon 字体路径变量,必需 */
-$--font-path: '~element-plus/lib/theme-chalk/fonts';
 
+$--font-path: '~element-plus/lib/theme-chalk/fonts';
 @import '~element-plus/packages/theme-chalk/src/index';
-
 $heading-color: rgba(0, 0, 0, 0.85); // 标题色
-
 // Menu
 $menu-collapsed-width: 54px;
-
 // dark theme
 $menu-dark-bg: #222834;
 $menu-dark-submenu-bg: #000c17;
 $menu-dark-color: rgba(#FFF, 0.65);
 $menu-dark-highlight-color: #fff;
 
-
 /* 重置 NavMenu */
+
 .index-layout-leftmenu {
     background-color: $menu-dark-bg;
     border: none;
-
-
     .el-submenu .el-menu {
         background-color: $menu-dark-submenu-bg;
     }
-    
     .el-submenu__title,
     .el-menu-item {
         height: 40px;
@@ -43,17 +37,15 @@ $menu-dark-highlight-color: #fff;
             text-align: center;
             color: $menu-dark-color;
         }
-
         &:focus,
         &:hover {
             color: $menu-dark-highlight-color !important;
-            background:none;
+            background: none;
             .icon {
                 color: $menu-dark-highlight-color !important;
             }
-        } 
+        }
     }
-
     .is-active>.el-submenu__title {
         color: $menu-dark-highlight-color !important;
         .icon {
@@ -61,7 +53,7 @@ $menu-dark-highlight-color: #fff;
         }
     }
     .el-submenu .el-menu-item.is-active,
-    .el-menu-item.is-active{
+    .el-menu-item.is-active {
         color: $menu-dark-highlight-color !important;
         background-color: $--color-primary !important;
     }
@@ -72,8 +64,6 @@ $menu-dark-highlight-color: #fff;
     .el-menu-item:not(:last-child) {
         margin-bottom: 8px;
     }
-
-
     /* 收起 */
     &.el-menu--collapse {
         width: $menu-collapsed-width;
@@ -84,14 +74,12 @@ $menu-dark-highlight-color: #fff;
                 left: 15px;
                 top: 10px;
                 margin: 0;
-            }         
+            }
         }
     }
-
-
 }
-.index-layout-leftmenu-popper {
 
+.index-layout-leftmenu-popper {
     .el-menu {
         background-color: $menu-dark-submenu-bg;
     }
@@ -107,17 +95,15 @@ $menu-dark-highlight-color: #fff;
             text-align: center;
             color: $menu-dark-color;
         }
-
         &:focus,
         &:hover {
             color: $menu-dark-highlight-color !important;
-            background:none;
+            background: none;
             .icon {
                 color: $menu-dark-highlight-color !important;
             }
-        }        
+        }
     }
-
     .is-active>.el-submenu__title {
         color: $menu-dark-highlight-color !important;
         .icon {
@@ -125,7 +111,7 @@ $menu-dark-highlight-color: #fff;
         }
     }
     .el-submenu .el-menu-item.is-active,
-    .el-menu-item.is-active{
+    .el-menu-item.is-active {
         color: $menu-dark-highlight-color !important;
         background-color: $--color-primary !important;
     }
@@ -136,12 +122,11 @@ $menu-dark-highlight-color: #fff;
     .el-menu-item:not(:last-child) {
         margin-bottom: 8px;
     }
-
-
 }
 
 
 /* 重置 Drawer */
+
 .el-drawer {
     .el-drawer__header {
         padding: 15px 20px;
@@ -154,14 +139,18 @@ $menu-dark-highlight-color: #fff;
     }
 }
 
+
 /* 重置 card */
+
 .cus-card {
     .el-card {
         border: 0;
     }
 }
 
+
 /*自定义 table 样式*/
+
 .custom-table {
     .el-table__header {
         background-color: #F5F7FA;
@@ -173,11 +162,10 @@ $menu-dark-highlight-color: #fff;
         background-color: #F5F7FA;
     }
 }
+
 .custom-table-header {
     color: #303133;
     th {
         background-color: #F5F7FA;
     }
-}
-
-
+}

+ 72 - 9
src/assets/css/index.scss

@@ -154,7 +154,8 @@ div:focus {
 }
 
 .el-form-item:not(.user-layout .el-form-item) {
-    width: 400px;
+    width: 90%;
+    max-width: 400px;
     margin: 0 auto 20px;
 }
 
@@ -191,6 +192,7 @@ div:focus {
     padding: 20px;
 }
 
+.groupInfo,
 .basic-info-page,
 .powerScore {
     .el-form-item {
@@ -276,14 +278,12 @@ div:focus {
     text-align: right
 }
 
-.variableList {
-    .filter-container {
-        .el-button+.el-button {
-            margin-left: 20px !important;
-        }
-        .el-input {
-            margin: 0 20px;
-        }
+.filter-container {
+    .el-button+.el-button {
+        margin-left: 20px !important;
+    }
+    .el-input {
+        margin: 0 20px;
     }
 }
 
@@ -297,4 +297,67 @@ div:focus {
     position: absolute;
     right: 6px;
     top: 5px;
+}
+
+//告警详情弹框组件
+.alarmStatusDialog {
+    .el-form-item:not(.user-layout .el-form-item) {
+        margin-bottom: 0
+    }
+    .deviceTit {
+        font-size: 16px;
+        color: #409EFF;
+        padding: 20px 0
+    }
+    .basicTit {
+        color: #4074e7;
+        line-height: 49px;
+        height: 49px;
+    }
+    .basicTit:before {
+        content: "";
+        width: 3px;
+        margin-right: 9px;
+        height: 16px;
+        position: relative;
+        top: 3px;
+        display: inline-block;
+        background: #4074e7;
+    }
+    .topInfo {
+        position: relative;
+        .lubo {
+            position: absolute;
+            right: 0px;
+            bottom: 20px;
+        }
+        .handleStatus {
+            position: absolute;
+            right: 0px;
+            top: 0px;
+            color: #F80000
+        }
+    }
+}
+
+.underline {
+    position: relative;
+}
+
+.underline:after {
+    position: absolute;
+    bottom: 0;
+    left: -20px;
+    right: -20px;
+    height: 1px;
+    content: '';
+    -webkit-transform: scaleY(.5);
+    transform: scaleY(.5);
+    background-color: #000; //这个是唯佳的线颜色
+    opacity: .2
+}
+
+.underline:last-child:after {
+    //可以这样用
+    height: 0;
 }

+ 1 - 1
src/layouts/IndexLayout/components/RightTop.vue

@@ -166,7 +166,7 @@ export default defineComponent({
       cursor: pointer;
 
       &:hover {
-        background-color: #009688;
+        background-color: #1187FF;
         color: #616161;
       }
     }

+ 2 - 0
src/layouts/IndexLayout/locales/zh-CN.ts

@@ -3,6 +3,8 @@ export default {
   'index-layout.topmenu.logout': '退出',
 
   'index-layout.menu.alarmManage': '告警管理',
+  'index-layout.menu.alarmManage.alarmTotal': '告警总数',
+
   'index-layout.menu.siteManage': '站点管理',
 
   'index-layout.menu.stationManage': '台区管理',

+ 33 - 1
src/layouts/IndexLayout/routes.ts

@@ -4,12 +4,44 @@ import BlankLayout from '@/layouts/BlankLayout.vue';
 
 const IndexLayoutRoutes: Array<RoutesDataItem> = [
 
+  // {
+  //   icon: 'alarmManage',
+  //   title: 'index-layout.menu.alarmManage',
+  //   path: '/alarmManage',
+  //   component: () => import('@/views/alarmManage/index.vue')
+  // },
+
+
   {
     icon: 'alarmManage',
     title: 'index-layout.menu.alarmManage',
     path: '/alarmManage',
-    component: () => import('@/views/alarmManage/index.vue')
+    redirect: '/alarmManage/index',
+    component: BlankLayout,
+    children: [
+      {
+        icon: 'alarmManage',
+        title: 'index-layout.menu.alarmManage.alarmTotal',
+        path: 'alarmTotal',
+        component: () => import('@/views/alarmManage/alarmTotal.vue'),
+        selectLeftMenu: '/alarmManage',
+        hidden: true
+      },
+      {
+        icon: 'alarmManage',
+        title: 'index-layout.menu.alarmManage',
+        path: 'index',
+        component: () => import('@/views/alarmManage/index.vue'),
+        selectLeftMenu: '/alarmManage',
+        hidden: true
+      },
+      
+    ]
   },
+
+
+
+
   {
     icon: 'siteManage',
     title: 'index-layout.menu.siteManage',

+ 195 - 0
src/views/alarmManage/alarmTotal.vue

@@ -0,0 +1,195 @@
+<template>
+  <div class='app-container'>
+    <!-- 返回start -->
+    <div class='siteTitle'>
+      <el-button class='goBack' @click='goBack'>返回</el-button>
+      站点【上海新时达电气股份有限公司】{{alarmTit==1?'一级告警':''}}
+    </div>
+    <!-- 返回end -->
+
+    <!-- 表格start -->
+    <el-table
+      :data='tableData'
+      border
+      stripe
+      :header-cell-style='headClass'
+      :cell-style='cellStyle'
+    >
+      <el-table-column fixed prop='happenTime' label='发生时间' width=''>
+      </el-table-column>
+      <el-table-column prop='alarmDes' label='告警描述' width=''>
+      </el-table-column>
+      <el-table-column prop='deviceName' label='设备' width=''>
+      </el-table-column>
+      <el-table-column prop='alarmType' label='告警类型' width=''> </el-table-column>
+      <el-table-column prop='check' label='详情' width=''> 
+
+          <template #default="scope">
+            <span   @click="addItem()"
+            >{{ scope.row.check }}</span>
+          </template>
+    </el-table-column>
+      <el-table-column prop='eddl' label='状态' width=''>
+        <template #default="scope">
+          <span :style="{'color': scope.row.eddl=='已确认-admin'?'#8DCF6E':scope.row.eddl=='未确认'?'#FF747B':'#5c88fa'}"
+          >{{ scope.row.eddl }}</span>
+          </template>
+         </el-table-column>
+   
+    </el-table>
+    <!-- 表格end -->
+
+     <!-- 分页start -->
+    <div class="paginationBlock">
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage4"
+        :page-sizes="[100, 200, 300, 400]"
+        :page-size="100"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="400"
+      >
+      </el-pagination>
+    </div>
+    <!-- 分页end -->
+
+     <!--弹框组件开始-----------------------start-->
+    <dialog-component
+      v-if="showDialog"
+      ref="dialogComponent"
+      :dialog-title="dialogTitle"
+      :item-info="tableItem"
+      @closeDialog="closeDialog"
+    ></dialog-component>
+    <!--弹框组件开始-----------------------end-->
+
+  </div>
+</template>
+
+<script>
+import DialogComponent from "./dialogComponent";
+export default {
+  // name: 'Dashboard',
+  // computed: {
+  //   ...mapGetters(['name']),
+  // },
+ components: { DialogComponent },
+  data() {
+    return {
+      showDialog: false,
+
+      input: '请输入发生时间',
+      tableData: [
+        {
+          happenTime: '2021-09-14 14:23:21',
+          alarmDes: '【母线带电】SEO状态变为ON',
+          deviceName: '电压测试',
+          alarmType: '故障',
+          check: '查看',
+          eddl: '自动恢复',
+        },
+        {
+          happenTime: '2021-09-14 14:23:21',
+          alarmDes: '【母线带电】SEO状态变为ON',
+          deviceName: '小会议室测试151',
+          alarmType: '故障',
+          check: '查看',
+          eddl: '已确认-admin',
+        },
+        {
+          happenTime: '2021-09-14 14:23:21',
+          alarmDes: '【母线带电】SEO状态变为ON',
+          deviceName: '电压测试',
+          alarmType: 'spjcsdb1',
+          check: '查看',
+          eddl: '未确认',
+        },
+        {
+          happenTime: '2021-09-14 14:23:21',
+          alarmDes: '【母线带电】SEO状态变为ON',
+          deviceName: '小会议室测试151',
+          alarmType: '故障',
+          check: '查看',
+          eddl: '自动恢复',
+        },
+      ],
+    };
+  },
+  computed:{
+    alarmTit:function(){
+       return this.$route.query.type
+      // if(this.$route.query.id==1){
+      //   alert(1)
+      //   return '一级告警'
+      // }
+      
+      
+    }
+
+  },
+  methods: {
+
+    // 查看操作
+    checkItem() {
+      this.tableItem = {
+        id: "",
+        stationName: "",
+        stationCode: "",
+        stationAddress: "",
+        siteList: [],
+        done: "",
+        guaZai: "",
+      };
+      this.dialogTitle = "告警详情";
+      this.showDialog = true;
+      this.$nextTick(() => {
+        this.$refs["dialogComponent"].showDialog = true;
+      });
+    },
+
+    goBack() {
+      this.$router.replace('/alarmManage/index');
+    },
+    // 表头样式设置
+    headClass() {
+      return 'background:#FAFAFA;';
+    },
+
+    //自定义列样式
+    cellStyle({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 4) {
+        return `color:#1187FF;cursor:pointer`;
+      } else {
+        return '';
+      }
+    },
+    //查看
+     handleClick(row) {
+         alert('查看对应站点(页面跳转)')
+        console.log(row);
+      },
+
+    // 添加操作
+    addItem() {
+      this.tableItem = {
+        id: '',
+        happenTime: '',
+        alarmDes: '',
+        deviceName: '',
+        siteList: [],
+        done: '',
+        guaZai: '',
+      };
+      this.dialogTitle = '告警详情';
+      this.showDialog = true;
+      this.$nextTick(() => {
+        this.$refs['dialogComponent'].showDialog = true;
+      });
+    },
+  },
+};
+</script>
+
+<style lang='scss' scoped>
+</style>

+ 107 - 76
src/views/alarmManage/dialogComponent.vue

@@ -11,52 +11,102 @@
       <el-form
         ref="formInfo"
         :model="formInfo"
-        class="demo-form-inline"
+        class="demo-form-inline alarmStatusDialog"
         label-width="100px"
         :rules="rules"
       >
-        <el-form-item label="站点名称:" prop="watchName" label-width="150px">
-          <el-input v-model="formInfo.watchName"></el-input>
+        <div class="topInfo underline">
+          <el-form-item label="卡号:" prop="stationName">
+            2021-09-14 14:53:28
+          </el-form-item>
+          <el-form-item label="告警历时:" prop="stationCode">
+            3分钟
+          </el-form-item>
+          <el-form-item label="关联告警:" prop="stationAddress">
+            2021-09-14 14:54:59
+          </el-form-item>
+          <div class="deviceTit">【测试站点主线】设备低压 复归:</div>
+           <el-button type="success" class="lubo">故障录播</el-button>
+           <div class="handleStatus">未处理</div>
+        </div>
+
+        <div class="basicTit">基本信息</div>
+
+        <el-form-item label="站点名称:" prop="pointNum">
+          测试站点1
         </el-form-item>
-        <el-form-item label="开始停电时间:" prop="watchCode" label-width="150px">
-          <el-input v-model="formInfo.watchCode"></el-input >
+        <el-form-item label="台区展示:" prop="deviceNum">
+          测试台区1
         </el-form-item>
-        <el-form-item label="结束停电时间:" prop="routeAddress" label-width="150px">
-          <el-select
-            v-model="formInfo.routeAddress"
-            multiple
-            filterable
-            collapse-tags
-            placeholder="请选择"
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
-            </el-option>
-          </el-select>
+        <el-form-item label="线路:" prop="deviceNum"> 进线二 </el-form-item>
+        <el-form-item label="告警信息:" prop="deviceNum"> 低压 </el-form-item>
+        <el-form-item label="告警状态:" prop="deviceNum"> 动作 </el-form-item>
+        <el-form-item label="采集终端:" prop="deviceNum">
+          DA00013433
         </el-form-item>
-
-        <el-form-item label="提交时间:" prop="ratedVoltage" label-width="150px">
-          <el-input v-model="formInfo.ratedVoltage"></el-input>
+        <el-form-item label="站点地址:" prop="deviceNum">
+          沪太路8786弄155号
         </el-form-item>
-        <el-form-item label="提交人:" prop="stationAddress" label-width="150px">
-          <el-input v-model="formInfo.ratedCurrent"></el-input>
+        <el-form-item label="联系人:" prop="deviceNum"> 张三 </el-form-item>
+        <el-form-item label="联系方式:" prop="deviceNum">
+          12345675223
         </el-form-item>
-        <el-form-item label="状态:" prop="fzlMx" label-width="150px">
-          <el-input v-model="formInfo.fzlMx"></el-input>
+
+        <div class="basicTit">处理信息</div>
+
+        <el-form-item label="处理内容" prop="handleCont" style="margin-bottom:20px">
+          <el-input
+            v-model="textarea"
+            :rows="2"
+            type="textarea"
+            placeholder="Please input"
+          />
+        </el-form-item>
+
+        <el-form-item label="现场照片" prop="deviceNum">
+          <el-upload
+                  action="#"
+                  list-type="picture-card"
+                  :auto-upload="false"
+                  :limit="3"
+                >
+                <!-- slot="default" -->
+                  <i  class="el-icon-plus"></i>
+                  <!-- :default-slot="{ file }" -->
+                  <div  >
+                    <!-- <img
+                      class="el-upload-list__item-thumbnail"
+                      :src="file.url"
+                      alt=""
+                    /> -->
+                    <span class="el-upload-list__item-actions">
+                      <span
+                        class="el-upload-list__item-preview"
+                        @click="handlePictureCardPreview(file)"
+                      >
+                        <!-- <i class="el-icon-zoom-in"></i> -->
+                      </span>
+                      <span
+                        v-if="!disabled"
+                        class="el-upload-list__item-delete"
+                        @click="handleRemove(file)"
+                      >
+                        <i class="el-icon-delete"></i>
+                      </span>
+                    </span>
+                  </div>
+                </el-upload>
+                <el-dialog v-model="dialogVisible">
+                  <img width="100%" :src="dialogImageUrl" alt="" />
+                </el-dialog>
         </el-form-item>
- 
-        
         <br />
         <br />
         <br />
         <div style="text-align: right">
           <el-button @click="closeDialog(0)">取消</el-button>
           <el-button type="primary" @click="submitForm('formInfo')"
-            >保存</el-button
+            >确定</el-button
           >
         </div>
       </el-form>
@@ -65,16 +115,12 @@
 </template>
 
 <script>
-
-
-
-
 export default {
   name: "DialogComponent",
   props: {
     dialogTitle: {
       type: String,
-      default: "新增",
+      default: "告警详情",
     },
     itemInfo: {
       type: Object,
@@ -85,7 +131,8 @@ export default {
   },
   data() {
     return {
-       checked: true,
+       disabled: false,
+      textarea: "请输入",
       showDialog: false,
       formInfo: JSON.parse(JSON.stringify(this.itemInfo)),
       options: [
@@ -112,45 +159,33 @@ export default {
       ],
 
       rules: {
-        watchName: [
-          // required  是否为必填项, trigger:表单验证的触发时机,失去焦点进行验证
-          { required: true, message: "请输入站点名称", trigger: "blur" },
-          {
-            min: 3,
-            max: 6,
-            message: "用户名长度在 3 到 6 个字符",
-            trigger: "blur",
-          },
-        ],
-        watchCode: [
-          { required: true, message: "请输入开始停电时间", trigger: "blur" },
-          {
-            min: 3,
-            max: 6,
-            message: "用户名长度在 3 到 6 个字符",
-            trigger: "blur",
-          },
-        ],
-        routeAddress: [
-          { required: true, message: "请选则结束停电时间", trigger: "change" },
-         
-        ],
-        ratedVoltage: [
-          { required: true, message: '请选择站点列表', trigger: 'change'}
-        
-        ],
-        ratedCurrent: [
-          { required: true, message: "请输入已选站点个数", trigger: "blur" },
+      
+        handleCont: [
+          { required: true, message: "请输入处理内容", trigger: "blur" },
           { trigger: "blur" },
         ],
-        fzlMx: [
-          { required: true, message: "请输入挂载设备个数", trigger: "blur" },
+        unloadImg: [
+          { required: true, message: "请上传图片", trigger: "blur" },
           { trigger: "blur" },
         ],
       },
     };
   },
   methods: {
+
+     handleRemove(file) {
+      console.log(file);
+    },
+    handlePictureCardPreview(file) {
+      this.dialogImageUrl = file.url;
+      this.dialogVisible = true;
+    },
+
+    resetForm(formName) {
+      this.$refs[formName].resetFields();
+    },
+
+
     roleValid(rule, value, callback) {
       if (value.length === 0) {
         callback(new Error("角色不能为空"));
@@ -160,8 +195,8 @@ export default {
     },
 
     // onSelectedDrug(event) {
-    //   this.routeAddress = event;
-    //   console.log(this.routeAddress);
+    //   this.siteList = event;
+    //   console.log(this.siteList);
     // },
     // 保存操作
     submitForm(formName) {
@@ -195,11 +230,7 @@ export default {
   width: 240px;
 }
 
-// label样式
-.el-form-item__label {
-    width: 150px
-}
-.el-form-item__content {
-    margin-left: 150px
+.el-form-item {
+  margin-left: 0 !important;
 }
 </style>

+ 77 - 136
src/views/alarmManage/index.vue

@@ -4,15 +4,19 @@
     <div class="filter-container mb-20">
       <div class="left">
         <div>
-          <a class="" style="margin-right: 30px">告警管理列表</a>
-          <el-button icon="el-icon-plus" type="success" @click="addItem()"
-            >新增</el-button
-          >
-        </div>
-
-        <div style="margin-top: 20px">
           <div class="filter-item">
-            选择时间范围:
+            站点:
+            <el-select
+              v-model="region"
+              placeholder="请选择"
+              style="width: 200px"
+            >
+              <el-option label="已执行" value="1"></el-option>
+              <el-option label="未执行" value="2"></el-option>
+            </el-select>
+          </div>
+          <div class="filter-item">
+            时间:
             <el-date-picker
               v-model="value1"
               type="datetimerange"
@@ -23,26 +27,13 @@
             >
             </el-date-picker>
           </div>
-          <div class="filter-item">
-            状态:
-            <el-select
-              v-model="region"
-              placeholder="请选择"
-              style="width: 200px"
-            >
-              <el-option label="已执行" value="1"></el-option>
-              <el-option label="未执行" value="2"></el-option>
-            </el-select>
-          </div>
-          <el-button type="primary" icon="el-icon-search" class="search-button"
-            >搜索</el-button
-          >
+          <el-button  class="search-button"
+            >重置</el-button>
+          <el-button type="primary" class="search-button"
+            >搜索</el-button>
         </div>
       </div>
 
-      <div class="right">
-        <el-button type="primary">导入</el-button>
-      </div>
     </div>
     <!-- 筛选end -->
 
@@ -52,38 +43,31 @@
       border
       stripe
       :header-cell-style="headClass"
-  
+       :cell-style="cellStyle"
     >
-      <el-table-column prop="xh" label="序号" width="">
-      </el-table-column>
       <el-table-column prop="siteName" label="站点名称" width="">
+         <template #default="scope">
+           <div @click='handleClick(scope.row)' >  {{ scope.row.totalNum }}</div>
+          
+        </template>
       </el-table-column>
-      <el-table-column prop="startTime" label="开始停电时间" width="">
-      </el-table-column>
-      <el-table-column prop="endTime" label="结束停电时间" width="">
-      </el-table-column>
-      <el-table-column prop="subTime" label="提交时间" width="">
+      <el-table-column prop="totalNum" label="总数" width="">
+         <template #default="scope">  
+            <router-link style="margin-right:15px;" :to="{ path:'alarmTotal',query:{id:scope.row.totalNum}}">
+              {{ scope.row.totalNum }}
+            </router-link>
+          </template>
       </el-table-column>
-      <el-table-column prop="submitter" label="提交人" width="">
+      <el-table-column prop="oneAlarming" label="一级告警" width="">
+         <template #default="scope">  
+            <router-link style="margin-right:15px;" :to="{ path:'alarmTotal',query:{id:scope.row.oneAlarming,type:1}}">
+              {{ scope.row.oneAlarming }}
+            </router-link>
+          </template>
       </el-table-column>
-      <el-table-column prop="status" label="状态" width="">
+      <el-table-column prop="twoAlarming" label="二级告警" width="">
       </el-table-column>
-      <el-table-column fixed="right" label="操作" width="180">
-        <template #default="scope">
-          <el-button
-            type="text"
-            size="small"
-            @click.prevent="editRow(scope.row)"
-            >修改</el-button
-          >
-          <el-button
-            @click="handleDelete(scope.$index, scope.row)"
-            type="text"
-            size="small"
-            class="delete-text"
-            >删除</el-button
-          >
-        </template>
+       <el-table-column prop="other" label="其他" width="">
       </el-table-column>
     </el-table>
     <!-- 表格end -->
@@ -104,25 +88,18 @@
 
     <!-- 分页end -->
 
-    <!--弹框组件开始-----------------------start-->
-    <dialog-component
-      v-if="showDialog"
-      ref="dialogComponent"
-      :dialog-title="dialogTitle"
-      :item-info="tableItem"
-      @closeDialog="closeDialog"
-    ></dialog-component>
-    <!--弹框组件开始-----------------------end-->
+   
+
+  
   </div>
 </template>
 
 <script>
-import DialogComponent from "./dialogComponent";
+
 
 export default {
   name: "VariableList",
-
-  components: { DialogComponent },
+   
 
   data() {
     return {
@@ -137,55 +114,62 @@ export default {
       region: "",
       tableData: [
         {
-           xh: "1",
+           other: "10",
           siteName: "测试站点1",
-          startTime: "2020-02-02 12:00:00",
-          endTime: "2020-02-02 12:00:00",
-          subTime: "2020-02-02 12:00:00",
-          submitter: "张三",
-          status: "未执行",
+          totalNum: "626",
+          oneAlarming: "10",
+          twoAlarming: "10",
         },
         {
-           xh: "1",
+           other: "10",
           siteName: "测试站点1",
-          startTime: "2020-02-02 12:00:00",
-          endTime: "2020-02-02 12:00:00",
-          subTime: "2020-02-02 12:00:00",
-          submitter: "张三",
-          status: "未执行",
+          totalNum: "66",
+          oneAlarming: "10",
+          twoAlarming: "10",
         },
         {
-           xh: "1",
+           other: "0",
           siteName: "测试站点1",
-          startTime: "2020-02-02 12:00:00",
-          endTime: "2020-02-02 12:00:00",
-          subTime: "2020-02-02 12:00:00",
-          submitter: "张三",
-          status: "未执行",
+          totalNum: "6",
+          oneAlarming: "3",
+          twoAlarming: "10",
         },
         {
-           xh: "1",
+           other: "0",
           siteName: "测试站点1",
-          startTime: "2020-02-02 12:00:00",
-          endTime: "2020-02-02 12:00:00",
-          subTime: "2020-02-02 12:00:00",
-          submitter: "张三",
-          status: "未执行",
+          totalNum: "3",
+          oneAlarming: "3",
+          twoAlarming: "3",
         },
         {
-           xh: "1",
+           other: "0",
           siteName: "测试站点1",
-          startTime: "2020-02-02 12:00:00",
-          endTime: "2020-02-02 12:00:00",
-          subTime: "2020-02-02 12:00:00",
-          submitter: "张三",
-          status: "未执行",
+          totalNum: "0",
+          oneAlarming: "2",
+          twoAlarming: "0",
         },
        
       ],
     };
   },
   methods: {
+
+     
+
+    //查看
+     handleClick(row) {
+         alert('查看对应站点(页面跳转)')
+        console.log(row);
+      },
+    //自定义列样式
+    cellStyle({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 0) {
+        return `color:#0284E8;cursor:pointer`;
+      } else {
+        return "";
+      }
+    },
+    
     handleSizeChange(val) {
       console.log(`每页 ${val} 条`);
     },
@@ -204,49 +188,6 @@ export default {
     headClass() {
       return "background:#FAFAFA;";
     },
-
-    // 添加操作
-    addItem() {
-      this.tableItem = {
-        id: "",
-        stationName: "",
-        xh: "",
-        siteName: "",
-        siteList: [],
-        done: "",
-        guaZai: "",
-        checked: true,
-      };
-      this.dialogTitle = "新增";
-      this.showDialog = true;
-      this.$nextTick(() => {
-        this.$refs["dialogComponent"].showDialog = true;
-      });
-    },
-    // 编辑操作
-    editRow(row) {
-      console.log(row);
-      this.tableItem = row;
-      this.dialogTitle = "编辑";
-      this.showDialog = true;
-      this.$nextTick(() => {
-        this.$refs["dialogComponent"].showDialog = true;
-      });
-    },
-    // 关闭操作
-    closeDialog(flag) {
-      if (flag) {
-        // 重新刷新表格内容
-        this.fetchData();
-      }
-      this.showDialog = false;
-    },
-
-    //删除操作
-    handleDelete(index, row) {
-      console.log(index, row);
-      alert(index);
-    },
   },
 };
 </script>

+ 6 - 1
src/views/siteManage/addGroupCom.vue

@@ -16,7 +16,7 @@
         :rules="rules"
       >
         <el-form-item label="分组名称:" prop="watchName">
-          <el-input v-model="formInfo.watchName"></el-input>
+          <el-input v-model="formInfo.watchName"  ></el-input>
         </el-form-item>
       
         <div style="text-align: right">
@@ -100,4 +100,9 @@ export default {
  
 <style scoped lang="scss">
 
+// .el-form-item {
+//     width: auto!important;
+    
+// }
+
 </style>

+ 1 - 1
src/views/siteManage/groupInfoCom.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="siteManage-main">
+  <div class="siteManage-main groupInfo">
     <el-form
       :model="ruleForm"
       :rules="rules"

+ 1 - 1
src/views/stationManage/dialogComponent.vue

@@ -113,7 +113,7 @@ export default {
       rules: {
         stationName: [
           // required  是否为必填项, trigger:表单验证的触发时机,失去焦点进行验证
-          { required: true, message: "请输入台区名称", trigger: "blur" },
+          { required: false, message: "请输入台区名称", trigger: "blur" },
           {
             min: 3,
             max: 6,