Procházet zdrojové kódy

全套设计稿已GET

Changpeng Duan před 5 roky
rodič
revize
66882bf79e
4 změnil soubory, kde provedl 2399 přidání a 421 odebrání
  1. 7 8
      src/router/index.js
  2. 631 413
      src/views/Region.vue
  3. 826 0
      src/views/RegionBak.vue
  4. 935 0
      src/views/signEquip.vue

+ 7 - 8
src/router/index.js

@@ -120,14 +120,6 @@ const routes = [
                     title: "no use",
                 }
             }
-            // ,{
-            //     path: '/setting',
-            //     name: 'Setting',
-            //     component: () => import('@/views/Setting.vue'),
-            //     meta: {
-            //         title: "基本设置",
-            //     }
-            // }
             , {
                 path: '/createmeetingqrcode',
                 name: 'Createmeetingqrcode',
@@ -135,6 +127,13 @@ const routes = [
                 meta: {
                     title: "二维码设置",
                 }
+            },{
+                path: '/signEquip',
+                name: 'signEquip',
+                component: () => import('@/views/signEquip.vue'),
+                meta: {
+                    title: "无线设备管理",
+                }
             },
         ]
     }, {

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 631 - 413
src/views/Region.vue


+ 826 - 0
src/views/RegionBak.vue

@@ -0,0 +1,826 @@
+<template>
+    <div class="pages">
+        <div class="image-border image-border1"></div>
+        <div class="image-border image-border2"></div>
+        <div class="image-border image-border3"></div>
+        <div class="image-border image-border4"></div>
+        <div class="tabs">
+            <ul>
+                <li class="active">
+                    区域管理
+                </li>
+            </ul>
+        </div>
+        <div class="content">
+            <div class="tree">
+                    <span class="addMain" @click="addMain">
+                        <em>添加主建筑
+                        <img src="../assets/img/region/add.png" height="18" width="18"/></em>
+                    </span>
+                <el-tree
+                        :data="tree"
+                        show-checkbox
+                        :props="defaultProps"
+                        node-Key="Id"
+                        default-expand-all
+                        @node-click="handleNodeClick"
+                        :expand-on-click-node="false">
+                     <span class="custom-tree-node" slot-scope="{ node, data }">
+                    <span>{{ node.label }}</span>
+                      <span class="treeIcon">
+                          <!--第三层不能增加其子区域-->
+                      <img src="../assets/img/region/add.png"
+                           height="18" width="18"
+                           v-if="node.level != 3"
+                           @click="addLoft(node)"
+                      />
+                      <img src="../assets/img/region/edit.png"
+                           height="18" width="18"
+                           @click="editLoft(node)"
+                      />
+                      <img src="../assets/img/region/del.png"
+                           height="18" width="18"
+                           @click="delLoft(node)"
+                      />
+                      <img src="../assets/img/region/watch.png"
+                           height="18" width="18"
+                      />
+                      </span>
+                  </span>
+                </el-tree>
+            </div>
+            <div class="plate">
+                <div class="loftList">
+                    <div class="plateTitle">
+                        {{plateTitle}}
+                    </div>
+                    <ul class="list" v-if="loftListState">
+                        <span v-if="!loftList">没有下属区域,请先添加</span>
+                        <li v-for="loft in loftList" @click="seePic(loft)">
+                            <img src="../assets/img/region/loft.png" height="22"
+                                 width="20"/><em>{{loft.Name}}</em></li>
+                    </ul>
+                    <div class="plateImg" v-if="plateImg">
+                        <!--<img src="../assets/img/main/RoomBg.png" height="769" width="1396"/>-->
+                        <img :src="plateImgSrc"/>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <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="20">
+                    <el-col :span="20">
+                        <label>
+                            建筑名称
+                        </label>
+                        <el-input v-model="dialog.name"></el-input>
+                    </el-col>
+                    <el-col :span="20">
+                        <label>
+                            建筑介绍
+                        </label>
+                        <el-input type="textarea" v-model="dialog.description"></el-input>
+                    </el-col>
+
+                    <!--<el-col :span="20" v-if="dialog_level != 1">-->
+                    <el-col :span="20" v-if="true">
+                        <label>
+                            建筑平面图
+                        </label>
+                        <el-upload
+                                :action="RegionPictureUploadUrl"
+                                ref="upload"
+                                list-type="picture-card"
+                                :data="dialog"
+                                :on-success="handleImgSuccess"
+                                :before-upload="handleImgbefore"
+                                :auto-upload="true">
+                            <i slot="default" class="el-icon-plus"></i>
+                            <div slot="file" slot-scope="{file}">
+                                <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="handleDownload(file)"
+        >
+          <i class="el-icon-download"></i>
+        </span>
+      </span>
+                            </div>
+                        </el-upload>
+
+                        <img
+                                v-if="dialog.imgSrc"
+                                class="editImg"
+                                :src="dialog.imgSrc" alt=""
+                        >
+                        <el-dialog :visible.sync="dialogVisible">
+                            <img width="100%" :src="dialogImageUrl" alt="">
+                        </el-dialog>
+                    </el-col>
+                </el-row>
+            </div>
+        </dialog_referrer_list>
+    </div>
+</template>
+
+<script>
+    import Global from '../Global.js'
+    import dialog_referrer_list from '../components/dialog_referrer_list'
+    import {
+        GetRegionAndDectorSelect,
+        RegionStatusEdit,
+        RegionAdd,
+        RegionPictureGetByRegionId,
+        GetChildRegionSelect,
+        RegionEdit,
+        GetRegionplaneinfo,
+    }
+        from '../api/getApiRes.js'
+
+    let qs = require('qs');
+    export default {
+        data() {
+            return {
+                // dialog
+                dialog_state: false,
+                dialog_title: '',
+                RegionPictureUploadUrl: headapi + 'v1/Company/RegionPictureUpload',
+                dialog_type: '',//类型,1是添加,2是修改
+                dialog_level: 1,//类型,1是楼(有图不显示),2是楼层(有图),3是会议室(有图)
+                dialog: {
+                    shopID: 1,//One and always is one
+                    token: localStorage.token,
+                    name: '',
+                    region: '',
+                    description: '',
+                    regionId: 0,
+                    superiorid: 0,
+                    memo: '',
+                    Key: '',
+                    image: '',
+                    imgSrc: '',
+                },
+                dialogImageUrl: '',
+                plateImgSrc: '',
+                dialogVisible: false,
+                disabled: false,
+                plateTitle: '',
+                plateImg: false,
+                loftListState: false,
+                loftList: [],
+                defaultProps: {
+                    label: 'Name',
+                    children: 'ChildSelect'
+                },
+                count: 1,
+                tree: []
+            };
+        },
+        mounted() {
+            this.getDate(1);
+        },
+        methods: {
+            // 获取建筑树列表
+            getDate(i) {
+                let that = this;
+                // 右侧先初始化
+                this.loftListState = true;
+                this.plateImg = false;
+
+                let param = {
+                    token: localStorage.token,
+                };
+                let postdata = qs.stringify(param);
+                GetRegionAndDectorSelect(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        this.tree = json.FullChildlRs;//全部关系
+                        // 第一次默认加载
+                        if (i == 1) {
+                            let Name = json.FullChildlRs[0].Name;
+                            let Id = json.FullChildlRs[0].Id;
+                            that.seeFirstLoft(Name, Id)
+                        }
+                    } else {
+                        this.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                })
+            },
+            // 获取下级列表
+            getGetChildRegionSelect(regionId) {
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                    regionId: regionId,
+                };
+                let postdata = qs.stringify(param);
+                GetChildRegionSelect(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.loftList = json.Rs;
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                })
+            },
+            // 查看当前楼宇的平面图
+            seePic(loft) {
+                this.loftListState = false;
+                this.plateImg = true;
+                this.getRegionPictureGetByRegionId(loft.Id);
+            },
+            clearDialog() {
+                let that = this;
+                that.dialog.superiorid = 0;//上级 为空
+                that.dialog.name = '';
+                that.dialog.region = '';
+                that.dialog.regmemoion = '';
+                that.dialog.description = '';
+                that.dialog.Key = '';
+                that.dialog.image = '';
+                that.dialog.regionId = 0;
+                // 清除已上传的
+                that.$refs.upload.clearFiles()
+            },
+            // 添加主建筑
+            addMain() {
+                let that = this;
+                that.dialog_state = true;
+                that.dialog_title = '添加主建筑';
+                that.dialog_type = 1;//1添加2修改
+                that.dialog_level = 1;//类型,1是楼(有图不显示),2是楼层(有图),3是会议室(有图)
+                // clear dialog
+                that.clearDialog();
+            },
+            // 修改建筑 弹窗
+            editLoft(node) {
+                let that = this;
+                that.clearDialog();
+                that.dialog_state = true;
+                that.dialog_title = '修改';
+                that.dialog_type = 2;
+                that.dialog_level = node.level;//类型,1是楼(有图不显示),2是楼层(有图),3是会议室(有图)
+                that.dialog.name = node.data.Name;
+                that.dialog.regionId = node.data.Id;
+                that.getGetRegionplaneinfo(node.data.Id); //读取Description
+                that.diglogRegionPictureGetByRegionId(node.data.Id); //读取Description
+            },
+            // 删除楼层
+            delLoft(node) {
+                let that = this;
+                let regionId = node.data.Id;
+                let name = node.data.Name;
+                // 状态9删除
+                let param = {
+                    token: localStorage.token,
+                    regionid: regionId,
+                    newstatus: 9,
+                };
+                let postdata = qs.stringify(param);
+
+                this.$confirm('是否删除' + name + '区域?', '删除操作', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    RegionStatusEdit(postdata).then(res => {
+                        let json = res;
+                        if (json.Code == 0) {
+                            that.$message({
+                                type: 'success',
+                                message: `删除成功`
+                            });
+                            // 重载
+                            that.getDate(2);
+                        } else {
+                            that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                        }
+                    });
+                }).catch(() => {
+                    this.$message({
+                        type: 'info',
+                        message: '已取消禁用'
+                    });
+                });
+            },
+            // 提交添加新的建筑/区域
+            confirmAddRegion() {
+                let that = this;
+                // checkVal
+                if (!that.dialog.name) {
+                    this.$message.error('错了哦,主建筑名称不能空');
+                    return false
+                }
+                if (that.dialog.name.length > 20) {
+                    this.$message.error('错了哦,主建筑名称不能超过20个字符');
+                    return false
+                }
+                let param = {
+                    token: localStorage.token,
+                    regionname: that.dialog.name,
+                    comid: 1,
+                    superiorid: that.dialog.superiorid,
+                    description: that.dialog.description,
+                    longitude: 0,
+                    latitude: 0,
+                    width: 400,
+                    height: 300,
+                    picMemo: 300,
+                    picType: that.dialog_level, //图片类型,1:主图 2:平面图
+                    key: that.dialog.Key,
+                };
+                let postdata = qs.stringify(param);
+                RegionAdd(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.dialog_state = false;
+                        that.$message({
+                            showClose: true,
+                            message: '建筑/区域已添加!',
+                            type: 'success'
+                        });
+                        // 重载tree
+                        that.getDate(2);
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                })
+            },
+            // 提交修改
+            confirmEdit() {
+                let that = this;
+                // checkVal
+                if (!that.dialog.name) {
+                    this.$message.error('错了哦,建筑名称不能空');
+                    return false
+                }
+                if (that.dialog.name.length > 20) {
+                    this.$message.error('错了哦,建筑名称不能超过20个字符');
+                    return false
+                }
+
+                let param = {
+                    token: localStorage.token,
+                    regionid: that.dialog.regionId,
+                    regionname: that.dialog.name,
+                    comid: 1,
+                    superiorid: that.dialog.superiorid,
+                    description: that.dialog.description,
+                    longitude: 0,
+                    latitude: 0,
+                    width: 400,
+                    height: 300,
+                    picMemo: 300,
+                    picType: that.dialog_level, //图片类型,1:主图 2:平面图
+                    picKey: that.dialog.Key,
+                };
+                let postdata = qs.stringify(param);
+                RegionEdit(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.$message({
+                            showClose: true,
+                            message: '区域内容修改成功!',
+                            type: 'success'
+                        });
+                        // 重载tree
+                        that.getDate(2);
+
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                });
+
+                // ok
+                that.dialog_state = false;
+                that.$message({
+                    message: '建筑已修改',
+                    type: 'success'
+                });
+            },
+            // 添加次级建筑
+            addLoft(node) {
+                let that = this;
+                // clear dialog
+                that.clearDialog();
+                that.dialog_state = true;
+                that.dialog_title = '添加楼层或区域';
+                that.dialog_type = 1;//1添加2修改
+                that.dialog_level = node.level;//类型,1是楼(有图不显示),2是楼层(有图),3是会议室(有图)
+                that.dialog.superiorid = node.data.Id;//将当前ID保存为上级ID
+            },
+            handleImgSuccess(res, file) {
+                let that = this;
+                if (res.Code == 0) {
+                    that.dialog.Key = res.Key
+                } else {
+                    that.$message.error(res.Memo);
+                }
+            },
+            handleImgbefore(file) {
+                this.dialog.image = file;
+                this.dialog.imgSrc = '';
+                if(file.size > 376396){
+                    this.$message.error('图片容量过大,请选择小于4M的容量重新上传');
+                    return false
+                }
+            },
+            handleCheckChange(data, checked, indeterminate) {
+                console.log(data, checked, indeterminate);
+            },
+            handleNodeClick(data,Node) {
+                this.seeLoft(Node);
+            },
+            loadNode(node, resolve) {
+                if (node.level === 0) {
+                    return resolve([{name: 'region1'}, {name: 'region2'}]);
+                }
+                if (node.level > 3) return resolve([]);
+
+                var hasChild;
+                if (node.data.name === 'region1') {
+                    hasChild = true;
+                } else if (node.data.name === 'region2') {
+                    hasChild = false;
+                } else {
+                    hasChild = Math.random() > 0.5;
+                }
+
+                setTimeout(() => {
+                    var data;
+                    if (hasChild) {
+                        data = [{
+                            name: 'zone' + this.count++
+                        }, {
+                            name: 'zone' + this.count++
+                        }];
+                    } else {
+                        data = [];
+                    }
+
+                    resolve(data);
+                }, 500);
+            },
+            dialog_cancel() {
+                let that = this;
+                that.dialog_state = false;
+            },
+            dialog_ok() {
+                let that = this;
+                // 添加类 1是添加,2是修改
+                if (that.dialog_type == 1) {
+                    // 获取提交类型
+                    that.confirmAddRegion();
+                }
+                // 修改类 1是添加,2是修改
+                if (that.dialog_type == 2) {
+                    that.confirmEdit();
+                }
+            },
+            handlePictureCardPreview(file) {
+                this.dialogImageUrl = file.url;
+                this.dialogVisible = true;
+            },
+            handleDownload(file) {
+                console.log(file);
+            },
+            // 查看当前区域情况
+            seeLoft(node) {
+                let that = this;
+                that.plateTitle = node.data.Name;
+                switch (parseInt(node.level)) {
+                    case 1:
+                        // 看列表
+                        that.loftListState = true;
+                        that.plateImg = false;
+                        that.getGetChildRegionSelect(node.data.Id);
+                        break;
+                    case 2:
+                        // 看楼层图
+                        that.loftListState = false;
+                        that.plateImg = true;
+                        that.getRegionPictureGetByRegionId(node.data.Id);
+                        // that.plateImgSrc
+                        break;
+                    case 3:
+                        // 看会议图
+                        that.loftListState = false;
+                        that.plateImg = true;
+                        that.getRegionPictureGetByRegionId(node.data.Id);
+                        break;
+                }
+            },
+            // 查看默认区域情况
+            seeFirstLoft(Name, Id) {
+                let that = this;
+                that.plateTitle = Name;
+                // 看列表
+                that.loftListState = true;
+                that.plateImg = false;
+                that.getGetChildRegionSelect(Id);
+            },
+            getGetRegionplaneinfo(regionid) {
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                    regionid: regionid,
+                    regionId: regionid,
+                };
+                let postdata = qs.stringify(param);
+                GetRegionplaneinfo(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.dialog.description = json.Rs.Region.Description
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                })
+            },
+            getRegionPictureGetByRegionId(regionID) {
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                    regionID: regionID,
+                };
+                let postdata = qs.stringify(param);
+                RegionPictureGetByRegionId(postdata).then(res => {
+                    let json = res;
+                    that.plateImgSrc = '';
+                    if (json.Code == 0) {
+                        that.plateImgSrc = json.EncodeString
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                })
+            },
+            // 给弹窗渲染已上传的图片
+            diglogRegionPictureGetByRegionId(regionID) {
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                    regionID: regionID,
+                };
+                let postdata = qs.stringify(param);
+                RegionPictureGetByRegionId(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.dialog.imgSrc = json.EncodeString;
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                })
+            }
+        }
+        ,
+        components: {
+            dialog_referrer_list
+        }
+    }
+    ;
+</script>
+
+<style scoped>
+    @import "../assets/css/panel.css";
+    @import "../assets/css/dialog.css";
+
+    .tabs ul {
+        width: 200px;
+        margin: 0 auto;
+        margin-top: 10px;
+    }
+
+    .image-border {
+        position: absolute;
+        width: 20px;
+        height: 20px;
+    }
+
+    .image-border1 {
+        top: 0;
+        left: 25px;
+        border-left: 2px solid #6DC1FF;
+        border-top: 2px solid #6DC1FF;
+    }
+
+    .image-border2 {
+        top: 0;
+        right: 12px;
+        border-right: 2px solid #6DC1FF;
+        border-top: 2px solid #6DC1FF;
+    }
+
+    .image-border3 {
+        bottom: 0;
+        left: 25px;
+        border-bottom: 2px solid #6DC1FF;
+        border-left: 2px solid #6DC1FF;
+    }
+
+    .image-border4 {
+        bottom: 0;
+        right: 12px;
+        border-right: 2px solid #6DC1FF;
+        border-bottom: 2px solid #6DC1FF;
+    }
+
+    .pages {
+        width: 100%;
+        min-height: 600px;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        padding-bottom: 80px;
+    }
+
+    ul, li {
+        list-style: none;
+        margin: 0;
+        padding: 0;
+    }
+
+    em, s, i {
+        font-style: normal;
+        text-decoration: none;
+    }
+
+    .content {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        margin-top: 10px;
+    }
+
+    .content .tree {
+        width: 347px;
+        min-height: 781px;
+        background: rgba(27, 86, 200, 0.14);
+        color: #6DC1FF;
+        border: 1px solid #005EA2;
+        float: left;
+        margin-left: 30px;
+    }
+
+    .addMain {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        height: 44px;
+        line-height: 44px;
+        background: #001743;
+        cursor: pointer;
+        margin-bottom: 24px;
+    }
+
+    .addMain img {
+        position: relative;
+        left: 6px;
+        top: 3px;
+    }
+
+    /deep/ .el-tree {
+        background: none;
+        color: #6DC1FF;
+    }
+
+    /deep/ .treeIcon {
+        float: right;
+        padding-left: 10px;
+        padding-top: 1px;
+    }
+
+    /deep/ .treeIcon img {
+        margin-right: 7px;
+    }
+
+    .plate {
+        /*width: 1440px;*/
+        width: 78%;
+        min-height: 780px;
+        float: left;
+        margin-left: 10px;
+        background: rgba(27, 86, 200, 0.14);
+        color: #6DC1FF;
+        overflow: hidden;
+        border: 1px solid #005EA2;
+    }
+
+    .plateTitle {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        height: 44px;
+        line-height: 44px;
+        background: #001743;
+        cursor: pointer;
+        margin-bottom: 24px;
+        text-align: left;
+        padding-left: 44px;
+    }
+
+    .plate ul.list {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        padding: 28px 44px;
+    }
+
+    .plate .list li {
+        width: 157px;
+        height: 49px;
+        float: left;
+        background: #08255B;
+        border: 1px solid #005EA2;
+        padding: 13px 0;
+        margin-right: 10px;
+        margin-bottom: 10px;
+        cursor: pointer;
+    }
+
+    .list img {
+        display: block;
+        margin: 0 auto;
+        margin-bottom: 9px;
+    }
+
+    .list em {
+        text-align: center;
+    }
+
+    .plateImg {
+        width: 1280px;
+        height: 569px;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        /*padding-bottom: 60px;*/
+    }
+
+    .plateImg img {
+        width: 100%;
+        height: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    /*upload*/
+    /deep/ .el-upload--picture-card {
+        float: left;
+        background: none;
+        border: 1px solid #005EA2;
+        color: #005EA2;
+    }
+
+    /deep/ .el-upload--picture-card i {
+        color: #005EA2;
+    }
+
+    /deep/ .modal-body {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        margin-bottom: 40px;
+    }
+
+    /deep/ .modal-body textarea {
+        color: #6DC1FF;
+    }
+
+    .editImg {
+        width: 140px;
+        height: 140px;
+        float: left;
+        margin-left: 30px;
+    }
+
+    /*响应式调整*/
+    @media only screen and (max-width: 1600px) {
+        .plate {
+            width: 72%;
+        }
+    }
+
+</style>

+ 935 - 0
src/views/signEquip.vue

@@ -0,0 +1,935 @@
+<template>
+    <div class="content">
+        <div class="tabs">
+            <ul>
+                <li v-for="(tab,i) in tabs" @click="goTab(tab.url)" :class="{'active':tabIndex == i}">
+                    {{tab.name}}
+                </li>
+            </ul>
+        </div>
+        <div class="panel">
+            <div class="panel-body">
+                <div class=" panel_control">
+                    <div class="pline">
+                        <em>设备ID:</em>
+                        <el-input v-model="panel.tagname" placeholder=""></el-input>
+                    </div>
+                    <div class="pline">
+                        <em>MAC地址:</em>
+                        <el-input v-model="panel.tagname" placeholder=""></el-input>
+                    </div>
+                    <div class="pline">
+                        <em>所属区域:</em>
+                        <el-select v-model="panel.regionid">
+                            <el-option
+                                    v-for="item in panel.regionidOptions"
+                                    :key="item.Id"
+                                    :label="item.Name"
+                                    :value="item.Id">
+                            </el-option>
+                        </el-select>
+                    </div>
+                    <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>
+            </div>
+        </div>
+        <el-table
+                :data="tableData"
+                is-horizontal-resize
+                :default-sort="{prop: 'date', order: 'descending'}"
+                v-loading="loading"
+                element-loading-background="rgba(0, 0, 0, 0.8)"
+                class=""
+                @selection-change="handleSelectionChange"
+                stripe
+        >
+            <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="Mac"
+                    label="区域名称"
+            >
+            </el-table-column>
+            <el-table-column
+                    prop="Xmax"
+                    label="长/m"
+            >
+            </el-table-column>
+            <el-table-column
+                    prop="Ymax"
+                    label="宽/m"
+            >
+            </el-table-column>
+            <el-table-column
+                    prop="Memo"
+                    label="备注"
+            >
+            </el-table-column>
+            <el-table-column
+                    prop="address"
+                    label="操作记录"
+                    width="220"
+            >
+                <template slot-scope="scope">
+                    <!--<el-button class="" type="text" @click="goPhoneRecord(scope.row)">手机信号记录</el-button>-->
+                    <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-table>
+        <br>
+        <el-pagination
+                background
+                :total="pageination.total"
+                :page-size="pageination.pageItem"
+                @current-change="pageChange"
+        ></el-pagination>
+
+        <!--<el-button class="down_btn" type="primary" @click="goPoster(scope.row)">下载驱动器todo</el-button>-->
+        <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-col>
+                    <el-col :span="12">
+                        <label>
+                            宽/m
+                        </label>
+                        <el-input v-model="dialog.tagname"></el-input>
+                    </el-col>
+                    <el-col :span="24">
+                        <label>
+                            备注
+                        </label>
+                        <el-input v-model="dialog.memo"  type="textarea"></el-input>
+                    </el-col>
+                </el-row>
+            </div>
+        </dialog_referrer_list>
+    </div>
+</template>
+
+<script>
+    import Global from '../Global.js'
+    import dialog_referrer_list from '../components/dialog_referrer_list'
+    import {
+        DetectorQuery,
+        GetChildRegionSelect,
+        DetectorEditStatus,
+        RegionPictureGetByRegionId,
+        DetectorAdd,
+        RegionList,
+        DetectorList,
+        DetectorEdit,
+        GetDetectorCoords,
+        GeFullRegionSelect,
+    } from '../api/getApiRes.js'
+
+    let qs = require('qs');
+    export default {
+        data() {
+            return {
+                // dialog
+                dialog_state: false,
+                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,
+                    status: 0,
+                },
+                tabIndex: 0,
+                tabs: [
+                    {name: '无线设备管理', url: 'signEquip'},
+                ],
+                // panel 配置项目
+                panel: {
+                    usercode: '',
+                    username: '',
+                    compname: '',
+                    keyword: '',
+                    USERCODE: '',
+                    taskstatus: 99,
+                    regionid: 0,
+                    regionid2: '',
+                    regionidOptions: [],
+                    regionidOptions2: [],
+                    options: [
+                        {value: 99, label: '全部'},
+                        {value: 1, label: '进行中'},
+                        {value: 2, label: '已完成'},
+                    ],
+                    time1: globalBt3(2),
+                },
+                pageination: {
+                    pageItem: 100,
+                    pageoptions: pageOptions(),
+                    total: 500,
+                    pageIndex: 1,
+                },
+                draw: 1,
+                start: 0,
+                recordsTotal: 0,
+                tableData: [],
+                allTableData: [],
+                limit: '10',
+                multipleSort: false,
+                loading: true,
+                fileList: [],
+                multipleSelection: [],
+                detectedmac: '',
+            }
+        },
+        mounted() {
+            if (this.$route.query.RegionId) {
+                this.panel.regionid = this.$route.query.RegionId;
+                this.panel.tagname = this.$route.query.TagName;
+            }
+
+            this.getTableQuery();
+        },
+        methods: {
+            // 页面数据查询
+            getTableQuery() {
+                let that = this;
+                // this.getGetChildRegionSelect(0, 1);
+                this.getGeFullRegionSelect();
+                that.loading = true;
+                // 查询检测设备。上级区域id,区域id必传。regionid传0,查询supregionid对应所有子区域的检测设备。 如果supregionid,regionid都传0,默认查询企业ID下所有检测设备
+                let param = {
+                    token: localStorage.token,
+                    mac: this.panel.mac,//
+                    regionId: that.panel.regionId,//
+                    name: that.panel.tagname,//标签名
+                    comid: 1,//
+                    start: 1,//
+                    tableMax: 9999,//
+                };
+                let postdata = qs.stringify(param);
+                DetectorList(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.loading = false;
+                        if (json.Rs) {
+                            that.allTableData = json.Rs;
+                            console.log(json.Rs);
+                            that.recordsTotal = json.Rs.length;
+                        } else {
+                            that.allTableData = [];
+                            that.recordsTotal = 0;
+                        }
+                        // 设置分页数据
+                        that.setPaginations();
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                })
+            },
+            // 获取下级列表
+            getGeFullRegionSelect() {
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                };
+                let postdata = qs.stringify(param);
+                RegionList(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        if (!json.Rs) {
+                            that.$message.error('区域列表为空,请先添加有效区域');
+                            return false
+                        }
+                        that.panel.regionidOptions = json.Rs;
+                        that.panel.regionidOptions.unshift({Id: 0, Name: "全部", DisplayName: "全部"});
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                })
+            },
+            // dialog获取下级列表
+            dialoggetGeFullRegionSelect() {
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                };
+                let postdata = qs.stringify(param);
+                RegionList(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.dialog.regionlevelOneIdOptions = json.Rs;
+                        that.dialog.regionId = json.Rs[0].Id;
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                })
+            },
+            // dialog获取区域下级菜单
+            dialogGetGetChildRegionSelect(regionId, level) {
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                    regionId: regionId,
+                };
+                let postdata = qs.stringify(param);
+                RegionList(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.dialog.regionlevelOneIdOptions = json.Rs;
+                        that.dialog.regionlevelOneId = regionId;
+                        // if (level == 1) {
+                        //     console.log(json.Rs);
+                        //     that.dialog.regionlevelOneIdOptions = json.Rs;
+                        //     that.dialog.regionlevelOneId = regionId;
+                        // } else {
+                        //     if (json.Rs) {
+                        //         console.log(123);
+                        //         that.dialog.regionIdRoomOptions = json.Rs;
+                        //         that.dialog.regionId = regionId;
+                        //     } else {
+                        //         that.dialog.regionIdRoomOptions = [];
+                        //         that.dialog.regionId = '';
+                        //     }
+                        // }
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                })
+            },
+            // 跳转tab页面
+            goTab(url) {
+                this.$router.push({path: url});
+            },
+            // 查询按钮
+            query() {
+                this.getTableQuery();
+                this.$message.success('查询完毕');
+            },
+
+            handleSelectionChange(val) {
+                this.multipleSelection = val;
+            },
+            // 设置分页数据
+            setPaginations() {
+                // 分页属性
+                let that = this;
+                that.pageination.total = that.recordsTotal;
+                // 默认分页
+                that.tableData = that.allTableData.filter((item, index) => {
+                    return index < that.pageination.pageItem;
+                });
+            },
+            // 每页显示数量
+            handleSizeChange() {
+                let that = this;
+                that.tableData = that.allTableData.filter((item, index) => {
+                    return index < that.pageination.pageItem;
+                });
+                that.draw = that.pageination.pageItem;
+                // that.getTableQuery();
+            },
+            // 翻页
+            pageChange(pageIndex) {
+                let that = this;
+                // 获取当前页
+                let index = that.pageination.pageItem * (pageIndex - 1);
+                // 数据总数
+                let nums = that.pageination.pageItem * pageIndex;
+                // 容器
+                let tables = [];
+                for (var i = index; i < nums; i++) {
+                    if (that.allTableData[i]) {
+                        tables.push(that.allTableData[i])
+                    }
+                    this.tableData = tables;
+                }
+                that.start = index * that.draw;
+                // that.getTableQuery();
+            },
+            // 自动排序
+            sortChange(params) {
+                console.log(params)
+            },
+            // 过滤时间
+            filterFmtDate(value, row, column) {
+                return globalfmtDate(column, 11);
+            },
+            addList() {
+                this.dialog_state = true;
+                this.dialog_title = '添加监控区域';
+                this.dialog_type = 1;
+
+                // 重载地区列表
+                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()
+            },
+            delList() {
+                let that = this;
+                // checkNum
+                if (!this.multipleSelection.length) {
+                    that.$message({
+                        showClose: true,
+                        message: '错了哦,需要先选中至少一条记录',
+                        type: 'error'
+                    });
+                    return false
+                }
+                let detectorid = that.multipleSelection[0].Id;
+
+                let param = {
+                    token: localStorage.token,
+                    detectorid: detectorid,
+                    status: 9,//0禁用1启用9删除
+                };
+                let postdata = qs.stringify(param);
+
+                this.$confirm('此操作将永久删除该设备, 是否继续?', '提示', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    DetectorEditStatus(postdata).then(res => {
+                        let json = res;
+                        if (json.Code == 0) {
+                            that.$message({
+                                showClose: true,
+                                message: '选中的设备已删除!',
+                                type: 'success'
+                            });
+                            // 重载列表
+                            that.getTableQuery();
+                            that.dialog_state = false;
+                        } else {
+                            that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                        }
+                    });
+                }).catch(() => {
+                    this.$message({
+                        type: 'info',
+                        message: '已取消删除'
+                    });
+                });
+            },
+            editList() {
+                let that = this;
+                // checkNum
+                if (!this.multipleSelection.length) {
+                    this.$message({
+                        showClose: true,
+                        message: '错了哦,需要先选中一条记录',
+                        type: 'error'
+                    });
+                    return false
+                }
+                if (this.multipleSelection.length > 1) {
+                    this.$message({
+                        showClose: true,
+                        message: '错了哦,只能选中一条记录',
+                        type: 'error'
+                    });
+                    return false
+                }
+                this.dialog_state = true;
+                this.dialog_title = '修改设备信息';
+                this.dialog_type = 2;
+
+                // 读取本条记录
+                let row = this.multipleSelection[0];
+                this.dialog.eqId = row.Id;
+                this.dialog.mac = row.Mac;
+                this.dialog.regionId = row.RegionId;
+                this.dialog.tagname = row.TagName;
+                this.dialog.HardwareVersion = row.HardwareVersion;
+                this.dialog.FirmwareVersion = row.FirmwareVersion;
+                this.dialog.FirmwareScanM4Version = row.FirmwareScanM4Version;
+                this.dialog.FirmwareScanM0Version = row.FirmwareScanM0Version;
+                this.dialog.location = row.Location;
+                this.dialog.purchasesrc = row.PurchaseSrc;
+                this.dialog.memo = row.Memo;
+                this.dialog.regionlevelOneId = row.RegionId;
+                this.dialog.status = row.Status;
+                // this.dialog.coords_memo = row.coords_memo;
+
+                // 重载地区列表
+                this.getGeFullRegionSelect();
+
+                that.dialog.points = [{x: row.X, y: row.Y}];
+
+                // let param = {
+                //     token: localStorage.token,
+                //     detectorId: row.Id,
+                // };
+                // let postdata = qs.stringify(param);
+                // GetDetectorCoords(postdata).then(res => {
+                //     let json = res;
+                //     if (json.Code == 0) {
+                //         if (json.Rs.length != 0) {
+                //             console.log(json.Rs[0]);
+                //             // that.dialog.points = [{x: json.Rs[0].X, y: json.Rs[0].Y}];
+                //             that.dialog.points = [{x: json.Rs.X, y: json.Rs.Y}];
+                //             // that.dialog.CoordsId = json.Rs[0].CoordsId;
+                //             // that.dialog.coords_memo = json.Rs[0].Memo;
+                //         } else {
+                //             that.dialog.points = [{x: 0, y: 0}];
+                //             that.dialog.CoordsId = 0;
+                //         }
+                //     } else {
+                //         that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                //     }
+                // })
+            },
+            // 自动补全MAC
+            autoCompleteMac() {
+                let text = this.dialog.mac;
+                if (text.length == 2 || text.length == 5 || text.length == 8 || text.length == 11 || text.length == 14) {
+                    this.dialog.mac = this.dialog.mac.toUpperCase() + ":"
+                }
+                if (text.length > 14) {
+                    this.dialog.mac = this.dialog.mac.toUpperCase()
+                }
+            },
+            // 探测记录
+            goPhoneRecord(row) {
+                this.$router.push({
+                    path: '/phoneSign',
+                    query:
+                        {
+                            detectorid: row.Id,
+                            comId: 1,
+                            regionId: row.RegionId,
+                        }
+                });
+            },
+            // 探测记录
+            goWifiRecord(row) {
+                this.$router.push({
+                    path: '/wifiSign',
+                    query:
+                        {
+                            detectorid: row.Id,
+                            comId: 1,
+                            regionId: row.RegionId,
+                        }
+                });
+            },
+            dialog_cancel() {
+                let that = this;
+                that.dialog_state = false;
+            },
+            dialog_ok() {
+                if (this.dialog_type == 1) {
+                    this.confirmAddEquip();
+                } else {
+                    this.confirmEditEquip();
+                }
+            },
+            // 提交增加新设备
+            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,
+                    memo: that.dialog.memo,
+                };
+                let postdata = qs.stringify(param);
+                DetectorAdd(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.$message({
+                            showClose: true,
+                            message: '设备添加成功!',
+                            type: 'success'
+                        });
+                        // 重载列表
+                        that.getTableQuery();
+                        that.dialog_state = false;
+
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                });
+            },
+            // 提交修改设备信息
+            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
+                }
+                if (that.dialog.tagname.length > 20) {
+                    this.$message.error('错了哦,标签名不能超过20个字符');
+                    return false
+                }
+                this.selectRegionLabel(that.dialog.regionId);
+                let param = {
+                    token: localStorage.token,
+                    id: that.dialog.eqId,
+                    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,
+                    memo: that.dialog.memo,
+                    coordsType: 1,//坐标状态 0:禁用, 1:启用, 9:删除,没有就传0
+                    coordsID: that.dialog.CoordsId,
+                    status: that.dialog.status,
+                };
+
+                let postdata = qs.stringify(param);
+                DetectorEdit(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.$message({
+                            showClose: true,
+                            message: '设备添加成功!',
+                            type: 'success'
+                        });
+                        // 重载列表
+                        that.getTableQuery();
+                        that.dialog_state = false;
+
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                });
+            },
+            // 修改设备状态
+            getDetectorEditStatus(detectorid, status, text) {
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                    detectorid: detectorid,
+                    status: status,
+                };
+                let postdata = qs.stringify(param);
+                DetectorEditStatus(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.$message({
+                            showClose: true,
+                            message: text + '成功!',
+                            type: 'success'
+                        });
+                        // table 重载
+                        that.getTableQuery();
+                    } else {
+                        that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                    }
+                })
+            },
+            // 禁用
+            pauseRow(row) {
+                let that = this;
+                this.$confirm('是否禁用' + row.TagName + '设备?', '禁用操作', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    that.getDetectorEditStatus(row.Id, 0, '禁用');
+                }).catch(() => {
+                    this.$message({
+                        type: 'info',
+                        message: '已取消禁用'
+                    });
+                });
+            },
+            // 获取区域位置的平面图
+            getRegionPictureGetByRegionId(regionID) {
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                    regionID: regionID,
+                    regionId: regionID,
+                };
+                let postdata = qs.stringify(param);
+                that.dialog.plateImgSrc = '../assets/img/main/grid.png'
+                // RegionPictureGetByRegionId(postdata).then(res => {
+                //     let json = res;
+                //     that.dialog.plateImgSrc = '';
+                //     if (json.Code == 0) {
+                //         that.dialog.plateImgSrc = json.EncodeString;
+                //     } else {
+                //         that.$message.error(json.Memo + ',错误代码:' + json.Code);
+                //     }
+                // })
+            },
+            // 启用
+            runRow(row) {
+                console.log(row);
+                let that = this;
+                this.$confirm('是否启用' + row.TagName + '设备?', '启用操作', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    that.getDetectorEditStatus(row.Id, 1, '启用');
+                }).catch(() => {
+                    this.$message({
+                        type: 'info',
+                        message: '已取消启用'
+                    });
+                });
+            },
+            // 添加探测器位置的点坐标
+            addPoint(e) {
+                let x = e.offsetX;
+                let y = e.offsetY;
+                this.dialog.points = [{x: x, y: y}];
+            },
+            // 获取位置的文字内容
+            selectRegionLabel(id) {
+                let that = this;
+                let selectedWorkName = {};
+                // selectedWorkName = that.dialog.regionIdRoomOptions.filter(item => {
+                selectedWorkName = that.dialog.regionlevelOneIdOptions.filter(item => {
+                    if (item.Id === id) {
+                        console.log(item.Name);
+                        that.dialog.location = item.Name;
+                    }
+                });
+            },
+            filterTime(val, row, column) {
+                return nonTfmtDate(column, 10);
+            }
+        },
+        watch: {
+            // 'dialog.regionlevelOneId': function (val) {
+            //     this.dialogGetGetChildRegionSelect(val, 2)
+            // },
+            'dialog.regionId': function (val) {
+                if (val) {
+                    this.getRegionPictureGetByRegionId(val);
+                }
+            },
+        },
+        components: {
+            dialog_referrer_list
+        }
+    }
+</script>
+
+<style scoped>
+    @import "../assets/css/panel.css";
+    @import "../assets/css/dialog.css";
+
+    .tabs ul {
+        width: 168px;
+        float: left;
+    }
+
+    table span {
+        cursor: pointer;
+    }
+
+    .down_btn {
+        float: left;
+    }
+
+    .content {
+        width: 98%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        padding-left: 20px;
+    }
+
+    .selectStyle {
+        width: 100%;
+        color: #005EA2;
+    }
+
+    .selectStyle ::placeholder {
+        color: #005EA2;
+    }
+
+    /deep/ .modal .el-select .el-input .el-select__caret {
+        position: relative;
+        top: 35px;
+    }
+
+    .imgContianer {
+        width: 100%;
+        height: 340px;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .imgContianer img {
+        width: 100%;
+        height: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .pointers {
+        position: relative;
+        bottom: 340px;
+        width: 100%;
+        height: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .imgContianer i {
+        position: relative;
+        width: 10px;
+        height: 10px;
+        float: left;
+        border-radius: 250px;
+        background: #FFDD00;
+    }
+
+    /deep/ .modal-dialog {
+        height: 80px;
+        margin-top: 20px;
+    }
+
+    /deep/ textarea {
+        color: #6DC1FF;
+    }
+
+    /deep/ .el-table__empty-text {
+        color: #015B9E;
+    }
+
+    /deep/ .el-input.is-disabled .el-input__inner {
+        background-color: #015B9E;
+    }
+
+    .red {
+        color: red;
+    }
+
+    .yellow {
+        color: #fd0;
+    }
+</style>

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů