소스 검색

信号图表

Changpeng Duan 4 년 전
부모
커밋
c7ff163066
9개의 변경된 파일334개의 추가작업 그리고 261개의 파일을 삭제
  1. 12 0
      README.md
  2. 12 4
      src/Global.js
  3. 31 0
      src/api/getApiRes.js
  4. 11 0
      src/views/Record.vue
  5. 62 106
      src/views/Region.vue
  6. 67 77
      src/views/signEquip.vue
  7. 60 26
      src/views/statistics.vue
  8. 19 17
      src/views/tactics.vue
  9. 60 31
      src/views/wirelessStatistics.vue

+ 12 - 0
README.md

@@ -3,6 +3,18 @@
 
 基于 https://panjiachen.github.io/vue-element-admin-site/zh/guide/ 的版本, 只保留常用功能和修改部分UI效果  
 
+## todo
+
+1.监控区域查询,没有宽高返回值
+2.监控区域删除接口
+3.无线设备
+4.计划任务查询,添加,修改,删除接口
+5.扫描任务查询,添加,修改,删除接口
+6.检测记录统计图
+7.无线信号统计图
+8.设置(缓)
+
+
 ##安装:  
 
 ###克隆项目  

+ 12 - 4
src/Global.js

@@ -418,12 +418,15 @@ levelOptions = function () {
             label: '全部'
         }, {
             value: 1,
-            label: '安全'
+            label: '白名单'
         }, {
             value: 2,
-            label: '可疑'
+            label: '安全'
         }, {
             value: 3,
+            label: '可疑'
+        }, {
+            value: 4,
             label: '危险'
         },
     ];
@@ -494,7 +497,7 @@ filterDetctorType = function (value) {
     }
 };
 // 时间戳
-filterTimeToString = function (value) {
+filterTimeToString = function (value,len) {
     let date = new Date(value);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
     let year = date.getFullYear(),
         month = ("0" + (date.getMonth() + 1)).slice(-2),
@@ -503,7 +506,12 @@ filterTimeToString = function (value) {
         minute = ("0" + date.getMinutes()).slice(-2),
         second = ("0" + date.getSeconds()).slice(-2);
     // 拼接
-    let result = year + "-" + month + "-" + sdate + " " + hour + ":" + minute + ":" + second;
+    let result;
+    if(len == 11){
+        result = year + "-" + month + "-" + sdate;
+    }else{
+        result = year + "-" + month + "-" + sdate + " " + hour + ":" + minute + ":" + second;
+    }
     // 返回
     return result;
 };

+ 31 - 0
src/api/getApiRes.js

@@ -208,3 +208,34 @@ export function DetectorNetDevList(postdata) {
     let url = headapi + 'v1/Detector/NetDevList';
     return getApiBasic(url, postdata);
 }
+// 区域列表带详情
+export function RegionListDetail(postdata) {
+    let url = headapi + 'v1/Region/ListDetail';
+    return getApiBasic(url, postdata);
+}
+
+// 2021/1/27
+
+// 区域删除
+export function RegionDelete(postdata) {
+    let url = headapi + 'v1/Region/Delete';
+    return getApiBasic(url, postdata);
+}
+
+// 提交已知设备
+export function DetectorKnownEdit(postdata) {
+    let url = headapi + 'v1/Detector/KnownEdit';
+    return getApiBasic(url, postdata);
+}
+
+// 已知设备移除
+export function DetectorKnownRemove(postdata) {
+    let url = headapi + 'v1/Detector/KnownRemove';
+    return getApiBasic(url, postdata);
+}
+
+// 获取探测走势图
+export function ChartDayCount(postdata) {
+    let url = headapi + 'v1/Chart/DayCount';
+    return getApiBasic(url, postdata);
+}

+ 11 - 0
src/views/Record.vue

@@ -91,6 +91,7 @@
                     label="品牌"
                     width="140"
                     align="center"
+                    sortable
             >
                 <template slot-scope="scope">
                     <el-tooltip class="item" effect="dark" :content="scope.row.Oem" placement="top-start">
@@ -107,12 +108,14 @@
             <el-table-column
                     prop="DetectorTag"
                     label="探测器"
+                    sortable
             >
             </el-table-column>
             <el-table-column
                     prop="DeviceType"
                     label="设备类型"
                     :formatter="filterType"
+                    sortable
             >
             </el-table-column>
             <el-table-column
@@ -120,6 +123,7 @@
                     label="开始探测"
                     width="180"
                     :formatter="filterTime"
+                    sortable
             >
             </el-table-column>
             <el-table-column
@@ -127,21 +131,25 @@
                     label="结束探测"
                     width="180"
                     :formatter="filterTime"
+                    sortable
             >
             </el-table-column>
             <el-table-column
                     prop="Down"
                     label="下载"
+                    sortable
             >
             </el-table-column>
             <el-table-column
                     prop="Up"
                     label="上传"
+                    sortable
             >
             </el-table-column>
             <el-table-column
                     prop="安全等级"
                     label="Level"
+                    sortable
             >
                 <template slot-scope="scope">
                     <span v-if="scope.row.Level == 1">安全</span>
@@ -153,11 +161,13 @@
             <el-table-column
                     prop="Rssi"
                     label="Rssi"
+                    sortable
             >
             </el-table-column>
             <el-table-column
                     prop="Ssid"
                     label="Ssid"
+                    sortable
             >
                 <template slot-scope="scope">
                     <el-tooltip class="item" effect="dark" :content="scope.row.Ssid" placement="top-start">
@@ -174,6 +184,7 @@
             <el-table-column
                     prop="StaCount"
                     label="连接设备数"
+                    sortable
             >
             </el-table-column>
         </el-table>

+ 62 - 106
src/views/Region.vue

@@ -50,33 +50,45 @@
             >
             </el-table-column>
             <el-table-column
-                    prop="Xmax"
+                    prop="Description"
+                    label="描述"
+            >
+            </el-table-column>
+            <el-table-column
+                    prop="X"
                     label="长/m"
             >
             </el-table-column>
             <el-table-column
-                    prop="Ymax"
+                    prop="Y"
                     label="宽/m"
             >
             </el-table-column>
             <el-table-column
-                    prop="Memo"
-                    label="备注"
+                    prop="CreateTime"
+                    label="添加时间"
+                    :formatter="filterTime"
             >
             </el-table-column>
             <!--<el-table-column-->
-                    <!--prop="address"-->
-                    <!--label="操作记录"-->
-                    <!--width="220"-->
+            <!--prop="Status"-->
+            <!--label="状态"-->
+            <!--&gt;-->
+            <!--</el-table-column>-->
+
+            <!--<el-table-column-->
+            <!--prop="address"-->
+            <!--label="操作记录"-->
+            <!--width="220"-->
             <!--&gt;-->
-                <!--<template slot-scope="scope">-->
-                    <!--&lt;!&ndash;<el-button class="" type="text" @click="goPhoneRecord(scope.row)">手机信号记录</el-button>&ndash;&gt;-->
-                    <!--&lt;!&ndash;<el-button class="" type="primary" size="small" @click="goWifiRecord(scope.row)">监测记录</el-button>&ndash;&gt;-->
-                    <!--&lt;!&ndash;<el-button v-if="scope.row.Status == 1" class="yellow" type="text" @click="pauseRow(scope.row)">禁用&ndash;&gt;-->
-                    <!--&lt;!&ndash;</el-button>&ndash;&gt;-->
-                    <!--&lt;!&ndash;<el-button v-if="scope.row.Status == 0" class="green" type="text" @click="runRow(scope.row)">启用&ndash;&gt;-->
-                    <!--&lt;!&ndash;</el-button>&ndash;&gt;-->
-                <!--</template>-->
+            <!--<template slot-scope="scope">-->
+            <!--&lt;!&ndash;<el-button class="" type="text" @click="goPhoneRecord(scope.row)">手机信号记录</el-button>&ndash;&gt;-->
+            <!--&lt;!&ndash;<el-button class="" type="primary" size="small" @click="goWifiRecord(scope.row)">监测记录</el-button>&ndash;&gt;-->
+            <!--&lt;!&ndash;<el-button v-if="scope.row.Status == 1" class="yellow" type="text" @click="pauseRow(scope.row)">禁用&ndash;&gt;-->
+            <!--&lt;!&ndash;</el-button>&ndash;&gt;-->
+            <!--&lt;!&ndash;<el-button v-if="scope.row.Status == 0" class="green" type="text" @click="runRow(scope.row)">启用&ndash;&gt;-->
+            <!--&lt;!&ndash;</el-button>&ndash;&gt;-->
+            <!--</template>-->
             <!--</el-table-column>-->
         </el-table>
         <br>
@@ -117,7 +129,7 @@
                     </el-col>
                     <el-col :span="24">
                         <label>
-                            备注
+                            描述
                         </label>
                         <el-input v-model="dialog.description" type="textarea"></el-input>
                     </el-col>
@@ -141,6 +153,9 @@
         DetectorEdit,
         GetDetectorCoords,
         GeFullRegionSelect,
+        RegionListDetail,
+        RegionDelete,
+        RegionAdd,
     } from '../api/getApiRes.js'
 
     let qs = require('qs');
@@ -152,26 +167,11 @@
                 dialog_title: '',
                 dialog_type: '',//类型,1是添加,2是修改
                 dialog: {
-                    mac: '',
-                    comId: 1,
-                    regionlevelOneId: 0,
-                    regionId: 0,
-                    tagname: '',
-                    longitude: 0,
-                    latitude: 0,
-                    HardwareVersion: '',
-                    FirmwareVersion: '',
-                    FirmwareScanM4Version: '',
-                    FirmwareScanM0Version: '',
-                    purchasesrc: '',
-                    location: '',
-                    coords_memo: '',
-                    memo: '',
-                    plateImgSrc: '',
-                    regionlevelOneIdOptions: [],
-                    regionIdRoomOptions: [],
-                    points: [],
-                    CoordsId: 0,
+                    name: '',
+                    description: '',
+                    x: 0,
+                    y: 0,
+                    pic: '',
                     status: 0,
                 },
                 tabIndex: 0,
@@ -217,11 +217,6 @@
             }
         },
         mounted() {
-            if (this.$route.query.RegionId) {
-                this.panel.regionid = this.$route.query.RegionId;
-                this.panel.tagname = this.$route.query.TagName;
-            }
-
             this.getTableQuery();
         },
         methods: {
@@ -245,7 +240,7 @@
                     tableMax: 9999,//
                 };
                 let postdata = qs.stringify(param);
-                RegionList(postdata).then(res => {
+                RegionListDetail(postdata).then(res => {
                     let json = res;
                     if (json.Code == 0) {
                         that.loading = false;
@@ -397,26 +392,16 @@
                 this.dialog_title = '添加监控区域';
                 this.dialog_type = 1;
 
-                // 重载地区列表
-                this.getGeFullRegionSelect();
+                // // 重载地区列表
+                // this.getGeFullRegionSelect();
 
                 // clear dialog
-                this.dialog.mac = '';
-                this.dialog.regionId = '';
-                this.dialog.tagname = '';
-                this.dialog.HardwareVersion = '';
-                this.dialog.FirmwareVersion = '';
-                this.dialog.FirmwareScanM4Version = '';
-                this.dialog.FirmwareScanM0Version = '';
-                this.dialog.location = '';
-                this.dialog.purchasesrc = '';
-                this.dialog.memo = '';
-                this.dialog.coords_memo = '';
-                this.dialog.points = [{}];
-
-                // 加载默认的平面图
-                // this.dialogGetGetChildRegionSelect(0, 1);
-                this.dialoggetGeFullRegionSelect()
+                this.dialog.name = '';
+                this.dialog.x = 0;
+                this.dialog.y = 0;
+                this.dialog.description = "";
+
+
             },
             delList() {
                 let that = this;
@@ -433,8 +418,7 @@
 
                 let param = {
                     token: localStorage.token,
-                    detectorid: detectorid,
-                    status: 9,//0禁用1启用9删除
+                    id: detectorid,
                 };
                 let postdata = qs.stringify(param);
 
@@ -443,7 +427,7 @@
                     cancelButtonText: '取消',
                     type: 'warning'
                 }).then(() => {
-                    DetectorEditStatus(postdata).then(res => {
+                    RegionDelete(postdata).then(res => {
                         let json = res;
                         if (json.Code == 0) {
                             that.$message({
@@ -582,46 +566,31 @@
             confirmAddEquip() {
                 let that = this;
                 // checkVal
-                if (!that.dialog.mac) {
-                    this.$message.error('错了哦,mac不能为空');
-                    return false
-                }
-                if (!checkMac(that.dialog.mac)) {
-                    this.$message.error('错了哦,mac格式不正确');
-                    return false
-                }
-                if (!that.dialog.regionId) {
-                    this.$message.error('错了哦,所属区域不能为空');
+                if (!that.dialog.name) {
+                    this.$message.error('错了哦,区域名称不能为空');
                     return false
                 }
-                if (!that.dialog.tagname) {
-                    this.$message.error('错了哦,标签名不能为空');
+                if (that.dialog.name.length > 8) {
+                    this.$message.error('错了哦,标签名不能超过8个字符');
                     return false
                 }
-                if (that.dialog.tagname.length > 20) {
-                    this.$message.error('错了哦,标签名不能超过20个字符');
-                    return false
+                if (that.dialog.memo) {
+                    if (that.dialog.memo.length > 20) {
+                        this.$message.error('错了哦,描述不能超过20个字符');
+                        return false
+                    }
                 }
-                this.selectRegionLabel(that.dialog.regionId);
+
                 let param = {
                     token: localStorage.token,
-                    mac: that.dialog.mac,
-                    comId: 1,
+                    name: that.dialog.name,
+                    description: that.dialog.description,
+                    x: that.dialog.x,
+                    y: that.dialog.y,
                     regionId: that.dialog.regionId,
-                    name: that.dialog.tagname,
-                    HardwareVersion: that.dialog.HardwareVersion,
-                    FirmwareVersion: that.dialog.FirmwareVersion,
-                    FirmwareScanM4Version: that.dialog.FirmwareScanM4Version,
-                    FirmwareScanM0Version: that.dialog.FirmwareScanM0Version,
-                    location: that.dialog.location,
-                    purchasesrc: that.dialog.purchasesrc,
-                    x: that.dialog.points[0].x,
-                    y: that.dialog.points[0].y,
-                    // coords_memo: that.dialog.coords_memo,
-                    memo: that.dialog.memo,
                 };
                 let postdata = qs.stringify(param);
-                DetectorAdd(postdata).then(res => {
+                RegionAdd(postdata).then(res => {
                     let json = res;
                     if (json.Code == 0) {
                         that.$message({
@@ -642,19 +611,6 @@
             confirmEditEquip() {
                 let that = this;
                 // checkVal
-                if (!that.dialog.mac) {
-                    this.$message.error('错了哦,mac不能为空');
-                    return false
-                }
-                if (!checkMac(that.dialog.mac)) {
-                    this.$message.error('错了哦,mac格式不正确');
-                    return false
-                }
-
-                if (!that.dialog.regionId) {
-                    this.$message.error('错了哦,所属区域不能为空');
-                    return false
-                }
                 if (!that.dialog.tagname) {
                     this.$message.error('错了哦,标签名不能为空');
                     return false

+ 67 - 77
src/views/signEquip.vue

@@ -49,11 +49,11 @@
                     <div class="pline">
                         <el-button size="medium" type="primary" @click="query">查询</el-button>
                     </div>
-                    <div class="pline pull-right">
-                        <el-button size="medium" type="primary" @click="addList">添加</el-button>
-                        <el-button size="medium" type="primary" @click="editList">修改</el-button>
-                        <el-button size="medium" type="primary" @click="delList">删除</el-button>
-                    </div>
+                    <!--<div class="pline pull-right">-->
+                    <!--<el-button size="medium" type="primary" @click="addList">添加</el-button>-->
+                    <!--<el-button size="medium" type="primary" @click="editList">修改</el-button>-->
+                    <!--<el-button size="medium" type="primary" @click="delList">删除</el-button>-->
+                    <!--</div>-->
                 </div>
             </div>
         </div>
@@ -163,10 +163,11 @@
                     sortable
             >
                 <template slot-scope="scope">
-                    <span v-if="scope.row.RltLevel == 1">安全</span>
-                    <span v-if="scope.row.RltLevel == 2" class="yellow">可疑</span>
-                    <span v-if="scope.row.RltLevel == 3" class="red">危险</span>
+                    <span v-if="scope.row.RltLevel == 1">白名单</span>
+                    <span v-if="scope.row.RltLevel == 2" class="">正常</span>
+                    <span v-if="scope.row.RltLevel == 3" class="yellow">可疑</span>
                     <span v-if="scope.row.RltLevel == 4" class="red">危险</span>
+                    <span v-if="scope.row.RltLevel == 99" class="red">已处理</span>
                 </template>
             </el-table-column>
             <el-table-column
@@ -177,20 +178,20 @@
                     sortable
             >
             </el-table-column>
-            <!--<el-table-column-->
-                    <!--prop="address"-->
-                    <!--label="操作记录"-->
-                    <!--width="220"-->
-            <!--&gt;-->
-                <!--<template slot-scope="scope">-->
-                    <!--<el-button class="" type="text" @click="goPhoneRecord(scope.row)">手机信号记录</el-button>-->
+            <el-table-column
+                    prop="address"
+                    label="操作"
+                    width="220"
+            >
+                <template slot-scope="scope">
                     <!--<el-button class="" type="primary" size="small" @click="goWifiRecord(scope.row)">监测记录</el-button>-->
-                    <!--<el-button v-if="scope.row.Status == 1" class="yellow" type="text" @click="pauseRow(scope.row)">禁用-->
-                    <!--</el-button>-->
-                    <!--<el-button v-if="scope.row.Status == 0" class="green" type="text" @click="runRow(scope.row)">启用-->
-                    <!--</el-button>-->
-                <!--</template>-->
-            <!--</el-table-column>-->
+                    <el-button class="" type="primary" size="small" @click="markEquip(scope.row)">标记设备</el-button>
+                    <el-button v-if="scope.row.Status == 1" class="yellow" type="text" @click="pauseRow(scope.row)">禁用
+                    </el-button>
+                    <el-button v-if="scope.row.Status == 0" class="green" type="text" @click="runRow(scope.row)">启用
+                    </el-button>
+                </template>
+            </el-table-column>
         </el-table>
         <br>
         <el-pagination
@@ -204,36 +205,42 @@
         <dialog_referrer_list
                 :show="dialog_state"
                 :title="dialog_title"
-                :large="true"
                 @dialog_cancel="dialog_cancel"
                 @dialog_ok="dialog_ok"
         >
             <div class="dialogContent">
                 <el-row :gutter="24">
-                    <el-col :span="24">
-                        <label>
-                            区域名称
-                        </label>
-                        <el-input v-model="dialog.mac" @keyup.native="autoCompleteMac"
-                                  :disabled="dialog_type == 2"></el-input>
-                    </el-col>
                     <el-col :span="12">
                         <label>
-                            长/m
+                            危险等级
                         </label>
-                        <el-input v-model="dialog.tagname"></el-input>
+                        <el-select v-model="dialog.dangerLevel">
+                            <el-option
+                                    v-for="item in panel.levelOptions"
+                                    :key="item.value"
+                                    :label="item.label"
+                                    :value="item.value">
+                            </el-option>
+                        </el-select>
                     </el-col>
                     <el-col :span="12">
                         <label>
-                            宽/m
+                            设备类型
                         </label>
-                        <el-input v-model="dialog.tagname"></el-input>
+                        <el-select v-model="dialog.deviceType">
+                            <el-option
+                                    v-for="item in panel.deviceTypeOptions"
+                                    :key="item.value"
+                                    :label="item.label"
+                                    :value="item.value">
+                            </el-option>
+                        </el-select>
                     </el-col>
                     <el-col :span="24">
                         <label>
                             备注
                         </label>
-                        <el-input v-model="dialog.memo"  type="textarea"></el-input>
+                        <el-input v-model="dialog.memo" type="textarea"></el-input>
                     </el-col>
                 </el-row>
             </div>
@@ -255,6 +262,7 @@
         DetectorEdit,
         GetDetectorCoords,
         GeFullRegionSelect,
+        DetectorKnownEdit,
         DetectorNetDevList
     } from '../api/getApiRes.js'
 
@@ -267,7 +275,11 @@
                 dialog_title: '',
                 dialog_type: '',//类型,1是添加,2是修改
                 dialog: {
+                    id: '',
                     mac: '',
+                    level: 1,
+                    dangerLevel: 1,
+                    deviceType: 1,
                     comId: 1,
                     regionlevelOneId: 0,
                     regionId: 0,
@@ -297,7 +309,7 @@
                 panel: {
                     mac: '',
                     deviceType: '',
-                    level:'',
+                    level: '',
                     detectorId: '',
                     time1: globalBt3(1),
                     deviceTypeOptions: AllTypeOption(),
@@ -365,6 +377,12 @@
                     }
                 })
             },
+            // 标记设备
+            markEquip(row) {
+                this.dialog_title = '标记设备';
+                this.dialog_state = true;
+                this.dialog.id = row.Id;
+            },
             // 获取下级列表
             getGeFullRegionSelect() {
                 let that = this;
@@ -673,61 +691,25 @@
                 that.dialog_state = false;
             },
             dialog_ok() {
-                if (this.dialog_type == 1) {
-                    this.confirmAddEquip();
-                } else {
-                    this.confirmEditEquip();
-                }
+                this.confirmAddEquip();
             },
             // 提交增加新设备
             confirmAddEquip() {
                 let that = this;
-                // checkVal
-                if (!that.dialog.mac) {
-                    this.$message.error('错了哦,mac不能为空');
-                    return false
-                }
-                if (!checkMac(that.dialog.mac)) {
-                    this.$message.error('错了哦,mac格式不正确');
-                    return false
-                }
-                if (!that.dialog.regionId) {
-                    this.$message.error('错了哦,所属区域不能为空');
-                    return false
-                }
-                if (!that.dialog.tagname) {
-                    this.$message.error('错了哦,标签名不能为空');
-                    return false
-                }
-                if (that.dialog.tagname.length > 20) {
-                    this.$message.error('错了哦,标签名不能超过20个字符');
-                    return false
-                }
-                this.selectRegionLabel(that.dialog.regionId);
                 let param = {
                     token: localStorage.token,
-                    mac: that.dialog.mac,
-                    comId: 1,
-                    regionId: that.dialog.regionId,
-                    name: that.dialog.tagname,
-                    HardwareVersion: that.dialog.HardwareVersion,
-                    FirmwareVersion: that.dialog.FirmwareVersion,
-                    FirmwareScanM4Version: that.dialog.FirmwareScanM4Version,
-                    FirmwareScanM0Version: that.dialog.FirmwareScanM0Version,
-                    location: that.dialog.location,
-                    purchasesrc: that.dialog.purchasesrc,
-                    x: that.dialog.points[0].x,
-                    y: that.dialog.points[0].y,
-                    // coords_memo: that.dialog.coords_memo,
+                    id: that.dialog.id,
+                    dangerLevel: that.dialog.dangerLevel,
+                    deviceType: that.dialog.deviceType,
                     memo: that.dialog.memo,
                 };
                 let postdata = qs.stringify(param);
-                DetectorAdd(postdata).then(res => {
+                DetectorKnownEdit(postdata).then(res => {
                     let json = res;
                     if (json.Code == 0) {
                         that.$message({
                             showClose: true,
-                            message: '设备添加成功!',
+                            message: '设备标记成功!',
                             type: 'success'
                         });
                         // 重载列表
@@ -1022,4 +1004,12 @@
     .yellow {
         color: #fd0;
     }
+
+    /deep/ .modal-body .el-select {
+        width: 100%;
+    }
+
+    /deep/ .modal-dialog {
+        min-height: 280px;
+    }
 </style>

+ 60 - 26
src/views/statistics.vue

@@ -40,7 +40,7 @@
 
         <div class="histogram">
             <ve-Line :data="chartData" width="100%" height="700px" :loading="loading" :legend-visible="false"
-                          :extend="chartExtend"></ve-Line>
+                     :extend="chartExtend"></ve-Line>
             <div class="null_state" v-if="chartData.rows == ''">
                 暂无
             </div>
@@ -51,7 +51,7 @@
 <script>
     import Global from '../Global.js'
     import {
-        DetectorList,
+        ChartDayCount,
     } from '../api/getApiRes.js'
 
     let qs = require('qs');
@@ -71,13 +71,25 @@
                     keyword: '',
                     USERCODE: '',
                     taskstatus: 99,
-                    level: 0,
+                    level: 1,
                     regionid: 0,
                     regionid2: '',
                     regionidOptions: [],
                     regionidOptions2: [],
-                    levelOptions: levelOptions(),
-                    time1: globalBt3(2),
+                    levelOptions: [{
+                        value: 1,
+                        label: '白名单'
+                    }, {
+                        value: 2,
+                        label: '安全'
+                    }, {
+                        value: 3,
+                        label: '可疑'
+                    }, {
+                        value: 4,
+                        label: '危险'
+                    },],
+                    time1: globalBt3(7),
                 },
                 days: 13,
                 loading: false,
@@ -133,7 +145,7 @@
                             show: true,
                             interval: 'auto',
                             formatter: function (val) {
-                                return  val
+                                return val
                             }
                         },
                     },
@@ -152,9 +164,9 @@
                             }
                         }
                     },
-                    tooltip:{
+                    tooltip: {
                         formatter: function (val) {
-                            return   val[0].data
+                            return val[0].data
                         }
                     }
                 }
@@ -162,18 +174,8 @@
         },
         mounted() {
             this.getTableQuery();
-            // test
-            this.chartData.rows = [
-                {X:"01-01",Y:200},
-                {X:"01-02",Y:300},
-                {X:"01-03",Y:400},
-                {X:"01-04",Y:200},
-                {X:"01-05",Y:500},
-                {X:"01-06",Y:210},
-                {X:"01-07",Y:600},
-            ]
         },
-        methods:{
+        methods: {
             // 查询按钮
             query() {
                 this.getTableQuery();
@@ -183,21 +185,50 @@
             getTableQuery() {
                 let that = this;
                 that.loading = true;
+                let bt = parseInt(new Date(that.panel.time1[0]).getTime() / 1000);
+                let et = parseInt(new Date(that.panel.time1[1]).getTime() / 1000);
                 let param = {
                     token: localStorage.token,
-                    mac: this.panel.mac,//
-                    regionId: that.panel.regionId,//
-                    name: that.panel.tagname,//标签名
-                    comid: 1,//
-                    start: 1,//
-                    tableMax: 9999,//
+                    type: 1,//1: wifi 2:无线
+                    level: that.panel.level,//危险等级
+                    bt: bt,//标签名
+                    et: et,//
                 };
                 let postdata = qs.stringify(param);
-                DetectorList(postdata).then(res => {
+                ChartDayCount(postdata).then(res => {
                     let json = res;
                     if (json.Code == 0) {
                         that.loading = false;
+                        let charts = [];
+                        if (json.Rs) {
+                            for (var i = 0; i < json.Rs.length; i++) {
+                                charts[i] = {
+                                    X: filterTimeToString(json.Rs[i].DateTs,11),
+                                    Y: json.Rs[i].Count,
+                                }
+                            }
+                        }
+
+                        // color
+                        console.log(parseInt(that.panel.level));
+                        switch (parseInt(that.panel.level)) {
+                            case 1:
+                                that.chartExtend.color = ['#72FF99'];
+                                break;
+                            case 2:
+                                that.chartExtend.color = ['#04E3FD'];
+                                break;
+                            case 3:
+                                that.chartExtend.color = ['#ffd600'];
+                                break;
+                            case 4:
+                                that.chartExtend.color = ['#d50000'];
+                                break;
+
+                        }
 
+
+                        this.chartData.rows = charts;
                     } else {
                         that.$message.error(json.Memo + ',错误代码:' + json.Code);
                     }
@@ -213,14 +244,17 @@
 
 <style scoped>
     @import "../assets/css/panel.css";
+
     .tabs ul {
         width: 368px;
         float: left;
     }
+
     .tabs li {
         width: 168px;
         float: left;
     }
+
     table span {
         cursor: pointer;
     }

+ 19 - 17
src/views/tactics.vue

@@ -37,22 +37,6 @@
                 ref="multipleTable"
                 @row-click="handle"
         >
-            <el-table-column
-                    type="selection"
-                    width="55">
-            </el-table-column>
-            <el-table-column
-                    type="index"
-                    label="序号"
-                    width="60"
-                    sortable
-            >
-            </el-table-column>
-            <el-table-column
-                    prop="Name"
-                    label="策略名称"
-            >
-            </el-table-column>
             <el-table-column type="expand">
                 <template slot-scope="props">
                     <el-table
@@ -87,6 +71,22 @@
                     </el-table>
                 </template>
             </el-table-column>
+            <el-table-column
+                    type="selection"
+                    width="55">
+            </el-table-column>
+            <el-table-column
+                    type="index"
+                    label="序号"
+                    width="60"
+                    sortable
+            >
+            </el-table-column>
+            <el-table-column
+                    prop="Name"
+                    label="策略名称"
+            >
+            </el-table-column>
             <el-table-column
                     prop="Value.IsRecording"
                     label="信号录制"
@@ -101,7 +101,6 @@
                     label="创建时间"
                     sortable
                     :formatter="filterTime"
-
             >
             </el-table-column>
         </el-table>
@@ -864,4 +863,7 @@
     .yellow {
         color: #fd0;
     }
+    /deep/ .el-table__expand-icon {
+        color: #fff;
+    }
 </style>

+ 60 - 31
src/views/wirelessStatistics.vue

@@ -40,7 +40,7 @@
 
         <div class="histogram">
             <ve-Line :data="chartData" width="100%" height="700px" :loading="loading" :legend-visible="false"
-                          :extend="chartExtend"></ve-Line>
+                     :extend="chartExtend"></ve-Line>
             <div class="null_state" v-if="chartData.rows == ''">
                 暂无
             </div>
@@ -51,7 +51,7 @@
 <script>
     import Global from '../Global.js'
     import {
-        DetectorList,
+        ChartDayCount,
     } from '../api/getApiRes.js'
 
     let qs = require('qs');
@@ -71,18 +71,25 @@
                     keyword: '',
                     USERCODE: '',
                     taskstatus: 99,
-                    level: 0,
+                    level: 1,
                     regionid: 0,
                     regionid2: '',
                     regionidOptions: [],
                     regionidOptions2: [],
-                    levelOptions: [
-                        {value: 0, label: '全部'},
-                        {value: 1, label: '安全'},
-                        {value: 2, label: '可疑'},
-                        {value: 3, label: '危险'},
-                    ],
-                    time1: globalBt3(2),
+                    levelOptions: [{
+                        value: 1,
+                        label: '白名单'
+                    }, {
+                        value: 2,
+                        label: '安全'
+                    }, {
+                        value: 3,
+                        label: '可疑'
+                    }, {
+                        value: 4,
+                        label: '危险'
+                    },],
+                    time1: globalBt3(7),
                 },
                 days: 13,
                 loading: false,
@@ -138,7 +145,7 @@
                             show: true,
                             interval: 'auto',
                             formatter: function (val) {
-                                return  val
+                                return val
                             }
                         },
                     },
@@ -157,9 +164,9 @@
                             }
                         }
                     },
-                    tooltip:{
+                    tooltip: {
                         formatter: function (val) {
-                            return   val[0].data
+                            return val[0].data
                         }
                     }
                 }
@@ -167,18 +174,8 @@
         },
         mounted() {
             this.getTableQuery();
-            // test
-            this.chartData.rows = [
-                {X:"01-01",Y:200},
-                {X:"01-02",Y:300},
-                {X:"01-03",Y:400},
-                {X:"01-04",Y:200},
-                {X:"01-05",Y:500},
-                {X:"01-06",Y:210},
-                {X:"01-07",Y:600},
-            ]
         },
-        methods:{
+        methods: {
             // 查询按钮
             query() {
                 this.getTableQuery();
@@ -188,21 +185,50 @@
             getTableQuery() {
                 let that = this;
                 that.loading = true;
+                let bt = parseInt(new Date(that.panel.time1[0]).getTime() / 1000);
+                let et = parseInt(new Date(that.panel.time1[1]).getTime() / 1000);
                 let param = {
                     token: localStorage.token,
-                    mac: this.panel.mac,//
-                    regionId: that.panel.regionId,//
-                    name: that.panel.tagname,//标签名
-                    comid: 1,//
-                    start: 1,//
-                    tableMax: 9999,//
+                    type: 2,//1: wifi 2:无线
+                    level: that.panel.level,//危险等级
+                    bt: bt,//标签名
+                    et: et,//
                 };
                 let postdata = qs.stringify(param);
-                DetectorList(postdata).then(res => {
+                ChartDayCount(postdata).then(res => {
                     let json = res;
                     if (json.Code == 0) {
                         that.loading = false;
+                        let charts = [];
+                        if (json.Rs) {
+                            for (var i = 0; i < json.Rs.length; i++) {
+                                charts[i] = {
+                                    X: filterTimeToString(json.Rs[i].DateTs,11),
+                                    Y: json.Rs[i].Count,
+                                }
+                            }
+                        }
+
+                        // color
+                        console.log(parseInt(that.panel.level));
+                        switch (parseInt(that.panel.level)) {
+                            case 1:
+                                that.chartExtend.color = ['#72FF99'];
+                                break;
+                            case 2:
+                                that.chartExtend.color = ['#04E3FD'];
+                                break;
+                            case 3:
+                                that.chartExtend.color = ['#ffd600'];
+                                break;
+                            case 4:
+                                that.chartExtend.color = ['#d50000'];
+                                break;
+
+                        }
 
+
+                        this.chartData.rows = charts;
                     } else {
                         that.$message.error(json.Memo + ',错误代码:' + json.Code);
                     }
@@ -218,14 +244,17 @@
 
 <style scoped>
     @import "../assets/css/panel.css";
+
     .tabs ul {
         width: 368px;
         float: left;
     }
+
     .tabs li {
         width: 168px;
         float: left;
     }
+
     table span {
         cursor: pointer;
     }