Shannon_mu il y a 3 ans
Parent
commit
abfb9e1b4b

+ 3 - 0
accessControlSystem/src/assets/css/public-style.scss

@@ -57,3 +57,6 @@ $base_fontSize: 100;
 /deep/ .titleName {
   color: $mainTextColor !important;
 }
+.mgB20{
+  margin-bottom: rem(20);
+}

+ 2 - 2
accessControlSystem/src/views/accessControlAuthorization/employeeAuthorization/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="content main">
         <template v-if="tableShow">
-            <organ-tree @organId="currentOrganId" :buildingType="2"></organ-tree>
+            <organ-tree @organId="currentOrganId" :buildingType="1"></organ-tree>
             <div class="content-right">
                 <div class="search">
                     <el-input
@@ -153,7 +153,7 @@ export default {
         },
         clerOwnerStatus() {
             this.thisData = {};
-             this.tableShow = true;
+            this.tableShow = true;
             this.mixins_search();
         },
         currentOrganId(data) {

+ 109 - 13
accessControlSystem/src/views/accessControlAuthorization/stepPage/residentLookPage.vue

@@ -19,7 +19,21 @@
             </div>
             <div class="content-item" v-show="tabsIndex === 0">
                 <div class="formContent-item_title">围墙机</div>
+                <el-checkbox-group v-model="formData.gateIds" class="mgB20">
+                    <template v-for="(item, index) in gateList">
+                        <el-checkbox-button :key="index" v-if="item.gateType == 1" class="buttonSelect" :label="item.id">{{
+                            item.deviceName
+                        }}</el-checkbox-button>
+                    </template>
+                </el-checkbox-group>
                 <div class="formContent-item_title">单元机</div>
+                <el-checkbox-group v-model="formData.gateIds" class="mgB20">
+                    <template v-for="(item, index) in gateList">
+                        <el-checkbox-button :key="index" v-if="item.gateType == 2" class="buttonSelect" :label="item.id">{{
+                            item.deviceName
+                        }}</el-checkbox-button>
+                    </template>
+                </el-checkbox-group>
                 <div class="formContent-item_title">权限配置</div>
                 <div class="widthFlex">
                     <el-form ref="form" :model="formData" :rules="formRules" label-width="110px">
@@ -64,11 +78,11 @@
                                 ref="uploaduserlogo"
                                 class="mini-upload"
                                 :limit="1"
-                                action="/sc-user-center/user/addUserPhoto"
+                                action="/sc-community/upload/uploadFile"
                                 list-type="picture-card"
                                 :on-success="uploadsuccess"
                                 :auto-upload="true"
-                                name="avatarfile"
+                                name="file"
                             >
                                 <i slot="default" class="el-icon-plus"></i>
                                 <div slot="file" slot-scope="{ file }">
@@ -83,6 +97,9 @@
                         </el-form-item>
                     </el-form>
                 </div>
+                <div style="text-align: right">
+                    <el-button type="primary" @click="addInstall">保存</el-button>
+                </div>
             </div>
             <div class="content-item" v-show="tabsIndex === 1">
                 <zz-table
@@ -131,7 +148,8 @@ export default {
                 faceStatus: '',
                 appStatus: '',
                 authType: 1,
-                facePictureUrl: ''
+                facePictureUrl: '',
+                gateIds: []
             },
             formRules: {
                 facePictureUrl: this.$valid.custome({
@@ -152,33 +170,35 @@ export default {
             },
             pickerTime: '',
             detailsData: {},
+            gateList: [],
             cols: [
                 {
                     label: '卡号',
-                    prop: 'name'
+                    prop: 'cardNo'
                 },
                 {
                     label: '卡类型',
-                    prop: 'phone'
+                    prop: 'cardType'
                 },
                 {
                     label: '卡状态',
-                    prop: 'idNumber'
+                    prop: 'cardStatus'
                 },
                 {
                     label: '开卡时间',
-                    prop: 'communityName'
+                    prop: 'createDate'
                 },
                 {
                     label: '到期时间',
-                    prop: 'appStatus'
+                    prop: 'expirationTime'
                 },
                 {
                     label: '操作',
                     slot: 'opt',
                     width: 130
                 }
-            ]
+            ],
+            mixins_post: 'get'
         };
     },
     methods: {
@@ -210,14 +230,90 @@ export default {
                 this.formData.startDate = ``;
                 this.formData.endDate = ``;
             }
+        },
+        getGateList(communityId, resolve) {
+            this.$http.get('/sc-gate-web/gate/list', { communityId: communityId }).then(({ msg, data, status }) => {
+                if (status == 0) {
+                    this.gateList = data;
+                } else {
+                    this.$message.error(msg);
+                }
+                resolve && resolve(true);
+            });
+        },
+        addInstall() {
+            this.$refs.form.validate((valid) => {
+                let installData = JSON.parse(JSON.stringify(this.formData));
+                if (valid) {
+                    this.$http
+                        .post('/sc-gate-web/auth/save', installData)
+                        .then(({ status, msg }) => {
+                            if (status == 0) {
+                                this.$message.success(msg);
+                                this.$emit('clerOwnerStatus');
+                            } else {
+                                this.$message.error(msg);
+                            }
+                            loading.close();
+                        })
+                        .catch(() => {
+                            loading.close();
+                        });
+                }
+            });
+        },
+        getList() {
+            if (!this.mixins_dataUrl) {
+                this.mixins_onQuery = false;
+                return;
+            }
+            let data = Object.assign({}, this.mixins_pageset, this.mixins_query);
+            this.mixins_onQuery = true;
+            delete data.total;
+            this.$http[this.mixins_post](this.mixins_dataUrl, data)
+                .then(({ status, data, msg }) => {
+                    this.mixins_onQuery = false;
+                    if (0 === status) {
+                        this.mixins_list = data;
+                    } else {
+                        this.$message.error(msg);
+                    }
+                })
+                .catch((err) => {
+                    this.mixins_onQuery = false;
+                });
+        },
+        lookPage(row) {
+            new Promise((resolve) => {
+                this.$store.dispatch('addPopup', {
+                    url: '/accessControlCard/popups/lookPage.vue',
+                    width: '494px',
+                    height: '400px',
+                    props: {
+                        callback: resolve,
+                        row
+                    },
+                    hideStar: false,
+                    title: '查看门禁'
+                });
+            }).then(() => {
+                this.mixins_search();
+            });
         }
     },
     created() {
         this.detailsData = this.params;
-        console.log(this.params);
-        this.mixins_dataUrl = '/sc-gate-web/auth/residentPage'; // 分页查询接口
-        this.mixins_query = {};
-        this.mixins_search();
+
+        new Promise((resolve) => {
+            this.getGateList(this.params.communityId, resolve);
+        }).then(() => {
+            this.mixins_dataUrl = '/sc-gate-web/gateCard/list'; // 分页查询接口
+            this.mixins_query = {
+                userId: this.gateList.userId,
+                cardType: this.gateList.cardType
+            };
+            this.mixins_search();
+        });
     }
 };
 </script>

+ 36 - 0
accessControlSystem/src/views/accessControlAuthorization/style.scss

@@ -146,3 +146,39 @@
     color: #f56c6c;
   }
 }
+.buttonSelect {
+  padding: 0 rem(15);
+  text-align: center;
+  font-size: rem(14);
+  height: rem(30);
+  box-sizing: border-box;
+  border-radius: rem(2);
+  border: 1px solid #e0e1e3;
+  color: #535766;
+  display: inline-block;
+  cursor: pointer;
+  &.is-active,
+  &.is-checked {
+      color: #0eaeff;
+      border-color: #0eaeff;
+  }
+  &:not(:last-child) {
+      margin-right: rem(20);
+  }
+}
+/deep/ .el-radio-button .el-radio-button__inner,
+/deep/ .el-checkbox-button .el-checkbox-button__inner {
+    border: none;
+    box-sizing: border-box;
+    padding: 0;
+    line-height: rem(24);
+    margin-top: rem(2);
+    display: block;
+}
+
+/deep/ .el-radio-button__orig-radio:checked + .el-radio-button__inner,
+/deep/ .el-checkbox-button.is-checked .el-checkbox-button__inner {
+    color: #0eaeff;
+    background-color: white;
+    box-shadow: none;
+}

+ 138 - 21
accessControlSystem/src/views/accessControlCard/index.vue

@@ -1,19 +1,19 @@
 <template>
     <div class="content main">
-        <organ-tree @organId="currentOrganId" :buildingType="2" :clearRoom="true"></organ-tree>
+        <organ-tree @organId="currentOrganId" :buildingType="1" :clearRoom="true"></organ-tree>
         <div class="content-right">
             <div class="search">
                 <el-input clearable placeholder="输入住户姓名/房间号/卡号" class="search-input" v-model.trim="mixins_query.name"></el-input>
-                <el-select v-model="mixins_query.householdType" clearable placeholder="卡类型">
+                <el-select v-model="mixins_query.cardType" clearable placeholder="卡类型">
                     <el-option :value="1" label="住户卡"></el-option>
                     <el-option :value="2" label="管理卡"></el-option>
-                    <el-option :value="3" label="其他"></el-option>
                 </el-select>
-                <el-select v-model="mixins_query.householdType" clearable placeholder="住户类型">
+                <el-select v-model="mixins_query.cardStatus" clearable placeholder="住户类型">
                     <el-option :value="1" label="正常"></el-option>
                     <el-option :value="2" label="禁用"></el-option>
                     <el-option :value="3" label="即将到期"></el-option>
                     <el-option :value="4" label="已过期"></el-option>
+                    <el-option :value="5" label="已注销"></el-option>
                 </el-select>
                 <el-button
                     class="search-btn"
@@ -53,8 +53,13 @@
                         <el-tooltip class="item" effect="light" placement="bottom" content="补卡">
                             <i class="zoniot_font zoniot-icon-buka" @click="makeUpCard(scope.row)"></i>
                         </el-tooltip>
-                        <el-tooltip class="item" effect="light" placement="bottom" content="禁用">
-                            <i class="zoniot_font zoniot-icon-jinyong2 redText" @click="disableAccessControl(scope.row)"></i>
+                        <el-tooltip class="item" effect="light" placement="bottom" :content="scope.row.cardStatus === 1 ? '禁用' : '启用'">
+                            <i
+                                v-if="scope.row.cardStatus === 1"
+                                class="zoniot_font zoniot-icon-qiyong1"
+                                @click="disableAccessControl(scope.row, 1)"
+                            ></i>
+                            <i v-else class="zoniot_font zoniot-icon-jinyong1" @click="disableAccessControl(scope.row, 2)"></i>
                         </el-tooltip>
                         <el-tooltip class="item" effect="light" placement="bottom" content="注销">
                             <i class="zoniot_font zoniot-icon-tingyong redText" @click="cancellation(scope.row)"></i>
@@ -77,36 +82,58 @@ export default {
             cols: [
                 {
                     label: '卡号',
-                    prop: 'name'
+                    prop: 'cardNo'
                 },
                 {
                     label: '卡类型',
-                    prop: 'phone'
+                    prop: 'cardType',
+                    format(val) {
+                        switch (val) {
+                            case 1:
+                                return '住户卡';
+                            case 2:
+                                return '管理卡';
+                        }
+                    }
                 },
                 {
                     label: '姓名',
-                    prop: 'idNumber'
+                    prop: 'username'
                 },
                 {
                     label: '所属社区',
                     prop: 'communityName'
                 },
-
                 {
                     label: '房产地址',
-                    prop: 'roomNumber'
+                    prop: 'address'
                 },
                 {
                     label: '卡状态',
-                    prop: 'roomNumber'
+                    prop: 'cardStatus',
+                    format(val) {
+                        switch (val) {
+                            case 1:
+                                return '正常';
+                            case 2:
+                                return '禁用';
+                            case 3:
+                                return '即将到期';
+                            case 4:
+                                return '已过期';
+                            case 5:
+                                return '已注销';
+                        }
+                    }
                 },
+
                 {
                     label: '开卡时间',
-                    prop: 'roomNumber'
+                    prop: 'createDate'
                 },
                 {
                     label: '到期时间',
-                    prop: 'roomNumber'
+                    prop: 'expirationTime'
                 },
                 {
                     label: '操作',
@@ -147,7 +174,8 @@ export default {
                     height: '600px',
                     props: {
                         callback: resolve,
-                        cardType: cardType
+                        cardType: cardType,
+                        obj: this.mixins_query
                     },
                     hideStar: false,
                     title: title
@@ -156,11 +184,100 @@ export default {
                 this.mixins_search();
             });
         },
-        lookAccessControl(row) {},
-        disableAccessControl(row) {},
-        renewalCard(row) {},
-        makeUpCard(row) {},
-        cancellation(row) {}
+        lookAccessControl(row) {
+            new Promise((resolve) => {
+                this.$store.dispatch('addPopup', {
+                    url: '/accessControlCard/popups/lookPage.vue',
+                    width: '494px',
+                    height: '400px',
+                    props: {
+                        callback: resolve,
+                        row
+                    },
+                    hideStar: false,
+                    title: '查看门禁'
+                });
+            }).then(() => {
+                this.mixins_search();
+            });
+        },
+        disableAccessControl(row, sun) {
+            if (sun == 1) {
+                this.disableAccessControlApi(sun, row.id);
+            } else {
+                this.$msgBox(`禁用确认`, '门禁卡禁用后,住户将无法正常使用门禁卡开门', 'warning')
+                    .then(() => {
+                        this.disableAccessControlApi(sun, row.id);
+                    })
+                    .catch(() => {});
+            }
+        },
+        disableAccessControlApi(status, id) {
+            this.$http
+                .post('/sc-gate-web/gateCard/operate', { cardStatus: status, id: id })
+                .then(({ status, msg }) => {
+                    if (status == 0) {
+                        this.$message.success(msg);
+                        this.mixins_search();
+                    } else {
+                        this.$message.error(msg);
+                    }
+                })
+                .catch(() => {});
+        },
+        renewalCard(row) {
+            new Promise((resolve) => {
+                this.$store.dispatch('addPopup', {
+                    url: '/accessControlCard/popups/continuedMake.vue',
+                    width: '524px',
+                    height: '300px',
+                    props: {
+                        callback: resolve,
+                        row,
+                        type: 5
+                    },
+                    hideStar: false,
+                    title: '续卡'
+                });
+            }).then(() => {
+                this.mixins_search();
+            });
+        },
+        makeUpCard(row) {
+            new Promise((resolve) => {
+                this.$store.dispatch('addPopup', {
+                    url: '/accessControlCard/popups/continuedMake.vue',
+                    width: '524px',
+                    height: '350px',
+                    props: {
+                        callback: resolve,
+                        row,
+                        type: 6
+                    },
+                    hideStar: false,
+                    title: '补卡'
+                });
+            }).then(() => {
+                this.mixins_search();
+            });
+        },
+        cancellation(row) {
+            new Promise((resolve) => {
+                this.$store.dispatch('addPopup', {
+                    url: '/accessControlCard/popups/statusCard.vue',
+                    width: '400px',
+                    height: '250px',
+                    props: {
+                        callback: resolve,
+                        row
+                    },
+                    hideStar: true,
+                    title: '注销确认'
+                });
+            }).then(() => {
+                this.mixins_search();
+            });
+        }
     },
     watch: {
         currentId(newValue, oldValue) {
@@ -172,7 +289,7 @@ export default {
         }
     },
     created() {
-        this.mixins_dataUrl = '/sc-community/scResident/page'; // 分页查询接口
+        this.mixins_dataUrl = '/sc-gate-web/gateCard/page'; // 分页查询接口
         this.mixins_query = {};
         this.mixins_search('search');
     }

+ 142 - 32
accessControlSystem/src/views/accessControlCard/popups/addHairpin.vue

@@ -24,7 +24,7 @@
                         </el-select>
                     </el-form-item>
                     <el-form-item :prop="`unitName`" :rules="buildingIdRules('单元', address.unitName)" class="form-item-flex-input">
-                        <el-select v-model="address.unitName" placeholder="请选择单元" clearable>
+                        <el-select v-model="address.unitName" placeholder="请选择单元" clearable @change="roomNameList(address.unitName)">
                             <el-option
                                 v-for="(item, index) in unitList"
                                 :key="index"
@@ -34,30 +34,37 @@
                         </el-select>
                     </el-form-item>
                     <el-form-item :prop="`roomNumber`" :rules="buildingIdRules('房间', address.roomNumber)" class="form-item-flex-input">
-                        <el-select v-model="address.roomNumber" placeholder="请选择房间" clearable>
+                        <el-select v-model="address.roomNumber" placeholder="请选择房间" clearable @change="roomSelect()">
                             <el-option
-                                v-for="(item, index) in unitList"
+                                v-for="(item, index) in roomList"
                                 :key="index"
-                                :label="item.unitName"
-                                :value="item.unitName"
+                                :label="item.roomNumber"
+                                :value="item.houseId"
                             ></el-option>
                         </el-select>
                     </el-form-item>
                 </div>
             </el-form-item>
-            <el-form-item label="住户" required>
-                <el-select placeholder="请选择住户" v-model="formData.gateType">
-                    <el-option label="微信" :value="1"></el-option>
-                    <el-option label="支付宝" :value="2"></el-option>
-                    <el-option label="现金" :value="3"></el-option>
-                    <el-option label="其他" :value="5"></el-option>
+            <el-form-item :label="params.cardType == 1 ? '住户' : '员工'" prop="userId">
+                <el-select placeholder="请选择住户" v-model="formData.userId" @change="slectUser()" v-if="params.cardType == 1">
+                    <el-option :label="item.name" :value="item.id" v-for="(item, index) in ScResident" :key="index"></el-option>
                 </el-select>
+
+                <el-cascader
+                    ref="userName"
+                    v-else
+                    v-model="formData.userId"
+                    :props="defaultProps"
+                    :options="findUser"
+                    @change="findUserToggle"
+                ></el-cascader>
             </el-form-item>
             <el-form-item label="发卡" required>
                 <el-radio-group v-model="formData.cardType">
-                    <el-radio-button class="buttonSelect" label="读取卡"></el-radio-button>
-                    <el-radio-button class="buttonSelect" label="格式化卡"></el-radio-button>
+                    <el-radio-button class="buttonSelect" :label="1" :value="1">读取卡</el-radio-button>
+                    <el-radio-button class="buttonSelect" :label="2" :value="2">格式化卡</el-radio-button>
                 </el-radio-group>
+                <el-input v-model="formData.cardNo"></el-input>
             </el-form-item>
             <el-form-item label="到期时间" prop="expirationTime">
                 <el-date-picker
@@ -72,13 +79,21 @@
             <el-form-item label="选择门禁" required>
                 <el-checkbox :indeterminate="checkAccessControl" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
                 <div class="formContent-item_title">围墙机</div>
-                <el-checkbox-group v-model="formData.gateIds">
-                    <el-checkbox-button class="buttonSelect" :label="1">东出入口</el-checkbox-button>
-                    <el-checkbox-button class="buttonSelect" :label="2">南出入口</el-checkbox-button>
-                    <el-checkbox-button class="buttonSelect" :label="3">西出入口</el-checkbox-button>
-                    <el-checkbox-button class="buttonSelect" :label="4">北出入口</el-checkbox-button>
+                <el-checkbox-group v-model="gateIds" class="mgB20" @change="handleCheckChange">
+                    <template v-for="(item, index) in gateList">
+                        <el-checkbox-button :key="index" v-if="item.gateType == 1" class="buttonSelect" :label="item.id">{{
+                            item.deviceName
+                        }}</el-checkbox-button>
+                    </template>
                 </el-checkbox-group>
                 <div class="formContent-item_title">单元机</div>
+                <el-checkbox-group v-model="gateIds" class="mgB20" @change="handleCheckChange">
+                    <template v-for="(item, index) in gateList">
+                        <el-checkbox-button :key="index" v-if="item.gateType == 2" class="buttonSelect" :label="item.id">{{
+                            item.deviceName
+                        }}</el-checkbox-button>
+                    </template>
+                </el-checkbox-group>
             </el-form-item>
         </el-form>
     </div>
@@ -89,18 +104,22 @@ export default {
     props: ['params'],
     data() {
         return {
+            defaultProps: {
+                value: 'id', // 唯一标识
+                label: 'label', // 标签显示
+                children: 'children',
+                emitPath: false
+            },
             formData: {
                 communityId: '',
                 expirationTime: '',
                 cardNo: '',
-                cardType: '',
-                gateIds: [
-                    {
-                        deviceId: '',
-                        duoduId: ''
-                    }
-                ]
+                cardType: 1,
+                userId: '',
+                username: '',
+                gateIds: []
             },
+            gateIds: [],
             address: {
                 buildingId: '',
                 unitName: '',
@@ -108,17 +127,22 @@ export default {
             },
             formRules: {
                 communityId: [this.$valid.selectRequired('所属社区')],
+                userId: [this.$valid.selectRequired('住户')],
                 expirationTime: [this.$valid.selectRequired('到期时间')]
             },
             envConfig: envConfig,
             token: {
                 [localStorage.getItem('SC_token') && 'Authorization']: 'Bearer ' + localStorage.getItem('SC_token')
             },
-            checkAll: [],
+            checkAll: false,
             checkAccessControl: false,
             communityArr: [],
             buildingList: [],
-            unitList: []
+            unitList: [],
+            roomList: [],
+            gateList: [],
+            ScResident: [],
+            findUser: []
         };
     },
     methods: {
@@ -133,6 +157,8 @@ export default {
         //查询楼栋下拉列表
         buildingNameList(id) {
             this.buildingList = [];
+            this.unitList = [];
+            this.roomList = [];
             this.$http.post('/sc-community/assets/building/list/building', { communityId: id }).then(({ data, status, msg }) => {
                 if (0 === status) {
                     this.buildingList = data;
@@ -141,7 +167,8 @@ export default {
         },
         unitNameList(id) {
             this.unitList = [];
-            this.$http.get('/sc-community/assets/building/house/find', { id: id }).then((res) => {
+            this.roomList = [];
+            this.$http.get('/sc-community/assets/building/house/find/v2', { id: id }).then((res) => {
                 if (res.status == 0) {
                     if (res.data.buildingUnitList.length != 0) {
                         this.unitList = res.data.buildingUnitList;
@@ -149,6 +176,18 @@ export default {
                 }
             });
         },
+        roomNameList(id) {
+            this.roomList = [];
+            this.unitList.map((item, index) => {
+                if (item.unitName == id) {
+                    this.roomList = item.roomList;
+                }
+            });
+        },
+        roomSelect() {
+            const { buildingId, unitName, roomNumber } = this.address;
+            this.getScResident(this.formData.communityId, buildingId, unitName, roomNumber);
+        },
         buildingIdRules(name, val) {
             return {
                 required: true,
@@ -163,16 +202,32 @@ export default {
                 }
             };
         },
+        slectUser() {
+            this.ScResident.map((item) => {
+                if (item.id == this.formData.userId) {
+                    this.formData.username = item.name;
+                }
+            });
+        },
         submit() {
             this.$refs.form.validate((valid) => {
                 if (valid) {
                     var loading = this.$loading();
                     let installData = JSON.parse(JSON.stringify(this.formData));
-                    if (installData.gateType == 2) {
-                        delete installData.gateUnitDtoList;
+                    this.gateIds.map((item, index) => {
+                        installData.gateIds.push({ deviceId: item });
+                    });
+                    if (this.params.cardType == 1) {
+                        //房间号
+                        installData.houseId = this.address.roomNumber;
+                        const { buildingId, unitName, roomNumber } = this.address;
+                        let thisBuId = this.buildingList.find((item) => item.id === buildingId);
+                        let thisRoom = this.roomList.find((item) => item.houseId === roomNumber);
+                        installData.address = `${thisBuId.buildingName}${this.CheckChinese(unitName, '单元')}${thisRoom['roomNumber']}`;
                     }
+
                     this.$http
-                        .post('/sc-gate-web/gate/add', installData)
+                        .post('/sc-gate-web/gateCard/add', installData)
                         .then(({ status, msg }) => {
                             if (status == 0) {
                                 this.$message.success(msg);
@@ -190,12 +245,64 @@ export default {
             });
         },
         handleCheckAllChange(val) {
-            this.checkedCities = val ? [] : [];
+            let checked = this.gateList.map((item) => {
+                debugger;
+                return item.id;
+            });
+            this.gateIds = val ? checked : [];
             this.checkAccessControl = false;
+        },
+        handleCheckChange(val) {
+            let checkedCount = val.length;
+            this.checkAll = checkedCount === this.gateList.length;
+            this.checkAccessControl = checkedCount > 0 && checkedCount < this.gateList.length;
+        },
+        getGateList(communityId) {
+            this.$http.get('/sc-gate-web/gate/list', { communityId: communityId }).then(({ msg, data, status }) => {
+                if (status == 0) {
+                    this.gateList = data;
+                } else {
+                    this.$message.error(msg);
+                }
+            });
+        },
+        getScResident(communityId, buildingId, unitName, roomNumber) {
+            this.$http
+                .get('/sc-community/scResident/list', {
+                    communityId: communityId,
+                    buildingId: buildingId,
+                    unitName: unitName,
+                    roomNumber: roomNumber
+                })
+                .then(({ msg, data, status }) => {
+                    if (status == 0) {
+                        this.ScResident = data;
+                    } else {
+                        this.$message.error(msg);
+                    }
+                });
+        },
+        CheckChinese(val, name) {
+            var reg = new RegExp('[\\u4E00-\\u9FFF]+', 'g');
+            let newVal = val;
+            if (!reg.test(val)) {
+                newVal = val + name;
+            }
+            return newVal;
+        },
+        getUserList() {
+            this.$http.get('/sc-user-center/user/findUserList').then(({ data, status, msg }) => {
+                this.findUser = data;
+            });
+        },
+        findUserToggle() {
+            this.formData.username = this.$refs.userName.getCheckedNodes()[0].label;
         }
     },
     created() {
         this.getorgTree();
+        this.getUserList();
+        this.getGateList(this.params.obj.communityId);
     }
 };
 </script>
@@ -215,6 +322,9 @@ export default {
         }
     }
 }
+.el-checkbox {
+    margin-bottom: rem(20);
+}
 .buttonSelect {
     padding: 0 rem(15);
     text-align: center;

+ 98 - 0
accessControlSystem/src/views/accessControlCard/popups/continuedMake.vue

@@ -0,0 +1,98 @@
+<template >
+    <div class="addAccess">
+        <el-form ref="form" :model="formData" :rules="formRules" label-width="90px">
+            <el-form-item label="姓名:">{{ thisObj.username }}</el-form-item>
+            <el-form-item label="旧卡号:">{{ thisObj.cardNo }}</el-form-item>
+            <el-form-item label="新卡号:" class="form-item-flex" v-if="params.type == 6">
+                <el-input type="text" maxlength="6" placeholder="生成新卡号" v-model="formData.cardNo"></el-input>
+                <span @click="randomPassword" class="shuax zoniot_font zoniot-icon-shuaxin1"></span>
+            </el-form-item>
+            <el-form-item label="到期时间" prop="expirationTime">
+                <el-date-picker
+                    v-model="formData.expirationTime"
+                    value-format="yyyyMMdd"
+                    type="date"
+                    placeholder="选择日期"
+                    class="width100"
+                >
+                </el-date-picker>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script >
+export default {
+    props: ['params'],
+    data() {
+        return {
+            thisObj: {},
+            formData: {
+                expirationTime: '',
+                id: '',
+                cardNo: '',
+                type: this.params.type
+            },
+            formRules: {
+                expirationTime: [this.$valid.selectRequired('到期时间')]
+            }
+        };
+    },
+    methods: {
+        submit() {
+            this.$refs.form.validate((valid) => {
+                if (valid) {
+                    var loading = this.$loading();
+                    let installData = JSON.parse(JSON.stringify(this.formData));
+                    this.$http
+                        .post('/sc-gate-web/gateCard/operate', installData)
+                        .then(({ status, msg }) => {
+                            if (status == 0) {
+                                this.$message.success(msg);
+                                this.params.callback();
+                                this.$emit('close');
+                            } else {
+                                this.$message.error(msg);
+                            }
+                            loading.close();
+                        })
+                        .catch(() => {
+                            loading.close();
+                        });
+                }
+            });
+        },
+        getList(id) {
+            this.$http.get('/sc-gate-web/gateCard/find/' + id).then(({ msg, data, status }) => {
+                if (status == 0) {
+                    this.formData.id = data.id;
+                    this.thisObj = data;
+                } else {
+                    this.$message.error(msg);
+                }
+            });
+        },
+        randomPassword() {
+            let sun = 6;
+            let randomNumber = [];
+            for (let numb = 0; numb < sun; numb++) {
+                randomNumber.push(parseInt(Math.ceil(Math.random() * sun)));
+            }
+            this.formData.cardNo = randomNumber.toString().replace(/,/g, '');
+        }
+    },
+    created() {
+        this.getList(this.params.row.id);
+    }
+};
+</script>
+<style lang="scss" scoped>
+@import '@assets/css/public-style.scss';
+.form-item-flex /deep/ .el-form-item__content {
+    display: flex;
+    justify-content: space-between;
+    .shuax {
+        margin-left: rem(10);
+        line-height: rem(32);
+    }
+}
+</style>

+ 84 - 0
accessControlSystem/src/views/accessControlCard/popups/lookPage.vue

@@ -0,0 +1,84 @@
+<template >
+    <div class="addAccess">
+        <el-form ref="form" label-width="90px">
+            <el-form-item label="所属社区:">{{ thisObj.communityName }}</el-form-item>
+            <el-form-item label="姓名:">{{ thisObj.username }}</el-form-item>
+            <el-form-item label="卡类型:"> {{ cardType(thisObj.cardType) }}</el-form-item>
+            <el-form-item label="卡号:"> {{ thisObj.cardNo }}</el-form-item>
+            <el-form-item label="到期时间"> {{ thisObj.expirationTime }}</el-form-item>
+            <el-form-item label="门禁权限">
+                <div class="formContent-item_title">围墙机</div>
+                <template v-for="(item, index) in thisObj.gateList">
+                    <div :key="index" v-if="item.gateType == 1" class="buttonSelect">{{ item.deviceName }}</div>
+                </template>
+                <div class="formContent-item_title">单元机</div>
+                <template v-for="(item, index) in thisObj.gateList">
+                    <div :key="index" v-if="item.gateType == 2" class="buttonSelect">{{ item.deviceName }}</div>
+                </template>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+<script >
+export default {
+    props: ['params'],
+    data() {
+        return {
+            thisObj: {}
+        };
+    },
+    methods: {
+        getList(id) {
+            this.$http.get('/sc-gate-web/gateCard/find/' + id).then(({ msg, data, status }) => {
+                if (status == 0) {
+                    this.thisObj = data;
+                } else {
+                    this.$message.error(msg);
+                }
+            });
+        },
+        cardType(sun) {
+            switch (sun) {
+                case 1:
+                    return '住户卡';
+                case 2:
+                    return '管理卡';
+            }
+        }
+    },
+    created() {
+        this.getList(this.params.row.id);
+    }
+};
+</script>
+<style lang="scss" scoped>
+@import '@assets/css/public-style.scss';
+/deep/ .el-form-item__content,
+/deep/.el-form-item__label {
+    font-size: rem(12);
+}
+.formContent-item_title {
+    line-height: rem(32);
+    margin-bottom: rem(0);
+    &::before {
+        top: rem(10);
+    }
+}
+.buttonSelect {
+    padding: 0 rem(15);
+    text-align: center;
+    font-size: rem(14);
+    height: rem(30);
+    box-sizing: border-box;
+    border-radius: rem(2);
+    border: 1px solid #e0e1e3;
+    color: #535766;
+    display: inline-block;
+    color: #0eaeff;
+    border-color: #0eaeff;
+    margin-right: rem(20);
+    &:nth-of-type(4n) {
+        margin-right: rem(0);
+    }
+}
+</style>

+ 76 - 0
accessControlSystem/src/views/accessControlCard/popups/statusCard.vue

@@ -0,0 +1,76 @@
+<template >
+    <div class="addAccess">
+        <div>卡号:{{ thisObj.cardNo }}</div>
+        <div>
+            <el-radio-group v-model="type">
+                <el-radio :label="3">无卡注销</el-radio>
+                <el-radio :label="4">有卡注销</el-radio>
+            </el-radio-group>
+        </div>
+        <div><span class="el-icon-warning"></span> 门禁卡注销后,住户将无法正常使用门禁卡开门。</div>
+    </div>
+</template>
+<script >
+export default {
+    props: ['params'],
+    data() {
+        return {
+            thisObj: {},
+            type: 3
+        };
+    },
+    methods: {
+        submit() {
+            var loading = this.$loading();
+            let installData = {
+                id: this.thisObj.id,
+                type: this.type,
+                cardStatus: 5
+            };
+            this.$http
+                .post('/sc-gate-web/gateCard/operate', installData)
+                .then(({ status, msg }) => {
+                    if (status == 0) {
+                        this.$message.success(msg);
+                        this.params.callback();
+                        this.$emit('close');
+                    } else {
+                        this.$message.error(msg);
+                    }
+                    loading.close();
+                })
+                .catch(() => {
+                    loading.close();
+                });
+        },
+        getList(id) {
+            this.$http.get('/sc-gate-web/gateCard/find/' + id).then(({ msg, data, status }) => {
+                if (status == 0) {
+                    this.thisObj = data;
+                } else {
+                    this.$message.error(msg);
+                }
+            });
+        }
+    },
+    created() {
+        this.getList(this.params.row.id);
+    }
+};
+</script>
+<style lang="scss" scoped>
+@import '@assets/css/public-style.scss';
+.addAccess {
+    & > div {
+        line-height: rem(20);
+        margin-bottom: rem(30);
+        &:last-child {
+            margin: 0;
+        }
+    }
+    .el-icon-warning {
+        font-size: 14 !important;
+        color: #e6a23c;
+    }
+}
+</style>

+ 4 - 3
accessControlSystem/src/views/deviceManagement/accessControlMachineManagement/index.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="content main">
-        <organ-tree @organId="currentOrganId" :buildingType="2" :clearRoom="true"></organ-tree>
+        <organ-tree @organId="currentOrganId" :buildingType="1" :clearRoom="true"></organ-tree>
         <div class="content-right">
             <div class="search">
                 <el-input clearable placeholder="输入设备编号/名称" class="search-input" v-model.trim="mixins_query.name"></el-input>
@@ -267,14 +267,15 @@ export default {
                 })
                 .catch(() => {});
         },
-        lookAccessControl(row) {
+        lookAccessControl({ id }) {
             new Promise((resolve) => {
                 this.$store.dispatch('addPopup', {
                     url: '/deviceManagement/accessControlMachineManagement/popups/details.vue',
                     width: '615px',
                     height: '724px',
                     props: {
-                        callback: resolve
+                        callback: resolve,
+                        id
                     },
                     hideStar: true,
                     showCancelButton: true,

+ 41 - 16
accessControlSystem/src/views/deviceManagement/accessControlMachineManagement/popups/details.vue

@@ -5,13 +5,19 @@
             <div class="tableLeft">
                 <div class="list-item" v-for="(item, index) in basic.left" :key="`basic.left${index}`">
                     <div class="list-item-label">{{ item.label }}</div>
-                    <div class="list-item-conten"></div>
+                    <div class="list-item-conten">{{ detailsData[item.prop] || '--' }}</div>
                 </div>
             </div>
             <div class="tableRight">
                 <div class="list-item" v-for="(item, index) in basic.right" :key="`basic.right${index}`">
                     <div class="list-item-label">{{ item.label }}</div>
-                    <div class="list-item-conten"></div>
+                    <div class="list-item-conten" v-if="!!item.format && item.prop == 'lnglat'">
+                        {{ item.format(detailsData) || '--' }}
+                    </div>
+                    <div class="list-item-conten" v-else-if="!!item.format">
+                        {{ item.format(detailsData[item.prop]) || '--' }}
+                    </div>
+                    <div class="list-item-conten" v-else>{{ detailsData[item.prop] }}</div>
                 </div>
             </div>
         </div>
@@ -31,7 +37,7 @@
             </div>
         </div>
         <div class="formContent-item_title">网络信息</div>
-                <div class="contentTableList">
+        <div class="contentTableList">
             <div class="tableLeft">
                 <div class="list-item" v-for="(item, index) in network.left" :key="`network.left${index}`">
                     <div class="list-item-label">{{ item.label }}</div>
@@ -58,41 +64,41 @@ export default {
                 left: [
                     {
                         label: '门禁机名称',
-                        prop: ''
+                        prop: 'deviceName'
                     },
                     {
                         label: '社区名称',
-                        prop: ''
+                        prop: 'communityName'
                     },
                     {
                         label: '门禁机类型',
-                        prop: ''
+                        prop: 'deviceType'
                     },
                     {
                         label: '进出门类型',
-                        prop: ''
+                        prop: 'accessType'
                     },
                     {
                         label: '安装时间',
-                        prop: ''
+                        prop: 'expirationTime'
                     },
                     {
                         label: '图片',
-                        prop: ''
+                        prop: 'picture'
                     }
                 ],
                 right: [
                     {
                         label: '设备编号',
-                        prop: ''
+                        prop: 'deviceNo'
                     },
                     {
                         label: '安装位置',
-                        prop: ''
+                        prop: 'address'
                     },
                     {
                         label: '安装方位',
-                        prop: ''
+                        prop: 'installedLocation'
                     },
                     {
                         label: '重启时间',
@@ -100,7 +106,10 @@ export default {
                     },
                     {
                         label: '经纬度',
-                        prop: ''
+                        prop: 'lnglat',
+                        format(row) {
+                            return !!row ? `${row.lng},${row.lat}` : '';
+                        }
                     },
                     {
                         label: '',
@@ -199,12 +208,23 @@ export default {
                         prop: ''
                     }
                 ]
-            }
+            },
+            detailsData: {}
         };
     },
-    methods: {},
+    methods: {
+        getDetails(id) {
+            this.$http.get('/sc-gate-web/gate/find/' + id).then(({ msg, data, status }) => {
+                if (status == 0) {
+                    this.detailsData = data;
+                } else {
+                    this.$message.error(msg);
+                }
+            });
+        }
+    },
     created() {
-        // this.chiData = this.params.chiData;
+        this.getDetails(this.params.id);
     }
 };
 </script>
@@ -227,6 +247,7 @@ $border: 1px solid #e0e1e3;
         .list-item {
             line-height: rem(40);
             border-bottom: $border;
+            display: flex;
             &:last-child {
                 border: none;
             }
@@ -235,6 +256,10 @@ $border: 1px solid #e0e1e3;
                 border-right: $border;
                 margin-left: rem(10);
             }
+            &-conten {
+                width: calc(100% - #{rem(100)});
+                margin: 0 rem(10);
+            }
         }
     }
 }

+ 123 - 22
accessControlSystem/src/views/deviceManagement/distributionRecord/index.vue

@@ -55,17 +55,15 @@
             </div>
             <zz-table
                 :settings="{ showIndex: true, stripe: true }"
-                :cols="cols"
+                :cols="chargeStatus == 1 ? cols : cols2"
                 :loading="mixins_onQuery"
                 :data="mixins_list"
                 :pageset="mixins_pageset"
                 @page-change="pageChange"
             >
-                <template slot-scope="scope" slot="opt">
-                    <div class="opt">
-                        <el-tooltip class="item" effect="light" placement="bottom" content="查看">
-                            <i class="zoniot_font zoniot-icon-xiangqing" @click="lookPage(scope.row)"></i>
-                        </el-tooltip>
+                <template slot="facepictureurl" slot-scope="scope">
+                    <div class="imgVdio">
+                        <el-image class="imgs" :src="scope.row.facepictureurl" :preview-src-list="[scope.row.facepictureurl]"></el-image>
                     </div>
                 </template>
             </zz-table>
@@ -89,44 +87,141 @@ export default {
             cols: [
                 {
                     label: '门禁卡号',
-                    prop: 'communityName'
+                    prop: ''
                 },
                 {
                     label: '姓名',
-                    prop: 'communityName'
+                    prop: 'name'
                 },
                 {
                     label: '卡类型',
+                    prop: ''
+                },
+                {
+                    label: '所属社区',
                     prop: 'communityName'
                 },
+                {
+                    label: '设备名称',
+                    prop: ''
+                },
+                {
+                    label: '设备位置',
+                    prop: 'address'
+                },
+                {
+                    label: '名单类型',
+                    prop: 'type',
+                    format(val) {
+                        switch (val) {
+                            case 0:
+                                return `删除`;
+                            case 1:
+                                return `启用`;
+                            case 2:
+                                return `禁用`;
+                        }
+                    },
+                    width: '80px'
+                },
+                {
+                    label: '下发状态',
+                    prop: 'issueStatus',
+                    format(val) {
+                        switch (val) {
+                            case 0:
+                                return `失败`;
+                            case 1:
+                                return `成功`;
+                        }
+                    },
+                    width: '80px'
+                },
+                {
+                    label: '操作时间',
+                    prop: 'createDate',
+                    width: '150px'
+                },
+                {
+                    label: '下发时间',
+                    prop: 'issueDate',
+                    width: '150px'
+                }
+            ],
+            cols2: [
+                {
+                    label: '姓名',
+                    prop: 'name'
+                },
+                {
+                    label: '人员类型',
+                    prop: 'householdType',
+                    format(val) {
+                        switch (val) {
+                            case 1:
+                                return `业主`;
+                            case 2:
+                                return `亲属`;
+                            case 3:
+                                return `租客`;
+                        }
+                    },
+                    width: '100px'
+                },
                 {
                     label: '所属社区',
-                    prop: 'householdType'
+                    prop: 'communityName'
                 },
                 {
                     label: '设备名称',
-                    prop: 'householdType'
+                    prop: ''
                 },
-
                 {
                     label: '设备位置',
-                    prop: 'roomNumber'
+                    prop: 'address'
+                },
+                {
+                    label: '人脸照片',
+                    prop: 'facepictureurl',
+                    slot: 'facepictureurl'
                 },
                 {
                     label: '名单类型',
-                    prop: 'roomNumber'
+                    prop: 'type',
+                    format(val) {
+                        switch (val) {
+                            case 0:
+                                return `删除`;
+                            case 1:
+                                return `启用`;
+                            case 2:
+                                return `禁用`;
+                        }
+                    },
+                    width: '80px'
                 },
                 {
                     label: '下发状态',
-                    prop: 'roomNumber'
+                    prop: 'issueStatus',
+                    format(val) {
+                        switch (val) {
+                            case 0:
+                                return `失败`;
+                            case 1:
+                                return `成功`;
+                        }
+                    },
+                    width: '80px'
                 },
                 {
                     label: '操作时间',
-                    prop: 'roomNumber'
+                    prop: 'createDate',
+                    width: '150px'
                 },
                 {
                     label: '下发时间',
-                    prop: 'roomNumber'
+                    prop: 'issueDate',
+                    width: '150px'
                 }
             ],
             mixins_post: 'get'
@@ -134,7 +229,8 @@ export default {
     },
     methods: {
         currentOrganId(data) {
-            this.currentId = data.id || '';
+            this.mixins_query.communityId = data.id || '';
+            this.mixins_search();
         },
         timeToggle(e) {
             let start = '00:00:00',
@@ -148,16 +244,12 @@ export default {
             }
         },
         changeRadio() {
-            this.mixins_query.chargeStatus = this.chargeStatus;
             this.mixins_search();
         }
     },
 
     created() {
-        this.mixins_dataUrl = '/sc-community/scResident/page'; // 分页查询接口
-        this.mixins_query = {
-            questParams: ''
-        };
+        this.mixins_dataUrl = '/sc-gate-web/record/faceRecord/page'; // 分页查询接口
         this.mixins_search();
     }
 };
@@ -203,4 +295,13 @@ export default {
 /deep/ .el-select {
     width: rem(180);
 }
+.imgVdio {
+    display: inline-block;
+    margin-right: 10px;
+    .imgs,
+    video {
+        width: 64px;
+        cursor: pointer;
+    }
+}
 </style>

+ 12 - 8
accessControlSystem/src/views/trafficRecord/accessControlCapture/index.vue

@@ -1,12 +1,10 @@
 <template>
     <div class="content main">
-        <organ-tree @organId="currentOrganId" :buildingType="2" :clearRoom="true"></organ-tree>
+        <organ-tree @organId="currentOrganId" :buildingType="1" :clearRoom="true"></organ-tree>
         <div class="content-right">
             <div class="search">
-                <el-select v-model="mixins_query.householdType" clearable placeholder="门禁机">
-                    <el-option :value="1" label="门禁机1"></el-option>
-                    <el-option :value="2" label="门禁机2"></el-option>
-                    <el-option :value="3" label="门禁机3"></el-option>
+                <el-select v-model="mixins_query.guid" clearable placeholder="门禁机">
+                    <el-option v-for="(item, index) in organList" :key="index" :label="item.deviceName" :value="item.id"></el-option>
                 </el-select>
                 <el-select v-model="mixins_query.householdType" clearable placeholder="人员类型">
                     <el-option :value="1" label="业主"></el-option>
@@ -90,6 +88,7 @@ export default {
             ],
             thisLeftData: {},
             communityArr: [],
+            organList: [],
             mixins_post: 'post'
         };
     },
@@ -97,6 +96,13 @@ export default {
         currentOrganId(data) {
             this.currentId = data || '';
         },
+        getOrganList() {
+            this.$http.get('/sc-gate-web/gate/list').then(({ status, data, msg }) => {
+                if (status === 0 && data) {
+                    this.organList = data;
+                }
+            });
+        },
         CheckChinese(val, name) {
             var reg = new RegExp('[\\u4E00-\\u9FFF]+', 'g');
             let newVal = val;
@@ -141,10 +147,8 @@ export default {
     },
     created() {
         this.getorgTree();
+        this.getOrganList();
         this.mixins_dataUrl = '/sc-gate-web/record/visitor/page'; // 分页查询接口
-        this.mixins_query = {
-            userTypeId: 0
-        };
         this.mixins_search();
     }
 };

+ 17 - 12
accessControlSystem/src/views/trafficRecord/accessRecord/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="content main">
         <div class="content-left">
-            <organ-tree @organId="currentOrganId" :buildingType="2" :clearRoom="true"></organ-tree>
+            <organ-tree @organId="currentOrganId" :buildingType="1" :clearRoom="true"></organ-tree>
             <div class="leftBottom">
                 <div class="title">门禁机列表</div>
                 <list-organ></list-organ>
@@ -9,7 +9,12 @@
         </div>
         <div class="content-right">
             <div class="search">
-                <el-input clearable placeholder="输入姓名/手机号/地址" class="search-input" v-model.trim="mixins_query.name"></el-input>
+                <el-input
+                    clearable
+                    placeholder="输入姓名/手机号/地址"
+                    class="search-input"
+                    v-model.trim="mixins_query.likeValue"
+                ></el-input>
                 <el-select v-model="mixins_query.communityId" placeholder="开门方式" clearable>
                     <el-option v-for="(item, index) in communityArr" :key="index" :label="item.communityName" :value="item.id"></el-option>
                 </el-select>
@@ -65,43 +70,43 @@ export default {
                 },
                 {
                     label: '房产地址',
-                    prop: 'communityName'
+                    prop: 'address'
                 },
                 {
                     label: '姓名',
-                    prop: 'idNumber'
+                    prop: 'userName'
                 },
                 {
                     label: '手机号',
-                    prop: 'communityName'
+                    prop: 'mobile'
                 },
                 {
                     label: '开门方式',
-                    prop: 'roomNumber'
+                    prop: 'operateStyleName'
                 },
                 {
                     label: '人员类型',
-                    prop: 'roomNumber'
+                    prop: 'ownerTypeName'
                 },
                 {
                     label: '出入图片',
-                    prop: 'roomNumber'
+                    prop: 'imageUrl'
                 },
                 {
                     label: '出入视频',
-                    prop: 'roomNumber'
+                    prop: 'videoUrl'
                 },
                 {
                     label: '开门状态',
-                    prop: 'roomNumber'
+                    prop: 'operateStyleName'
                 },
                 {
                     label: '进出门类型',
-                    prop: 'roomNumber'
+                    prop: 'accessDoorType'
                 },
                 {
                     label: '开门时间',
-                    prop: 'roomNumber'
+                    prop: 'openTime'
                 }
             ],
             thisLeftData: {},

+ 9 - 50
accessControlSystem/src/views/trafficRecord/accessRecord/popups/listOrganTree.vue

@@ -21,14 +21,14 @@
 
 <script>
 export default {
-    props: ['buildingType', 'clearRoom'],
+    props: ['buildingType'],
     data() {
         return {
             filterText: '',
             organList: [],
             defaultProps: {
                 children: 'children',
-                label: 'name'
+                label: 'deviceName'
             }
         };
     },
@@ -39,44 +39,13 @@ export default {
     },
     methods: {
         getOrgTreeList() {
-            this.$http
-                .get('/sc-community/assets/tree/community/find', { buildingType: this.buildingType })
-                .then(({ status, data, msg }) => {
-                    if (status === 0 && data) {
-                        this.dimension(data);
-                        this.organList = data;
-                        // 过滤房间
-                        if (this.clearRoom) {
-                            this.clearRoomToggle(data);
-                        }
-                        this.$nextTick().then(() => {
-                            const firstNode = document.querySelector('.el-tree-node');
-                            firstNode.click();
-                        });
-                    }
-                });
-        },
-        dimension(arr) {
-            arr.map((item, index) => {
-                if (!!item.children) {
-                    this.dimension(item.children);
-                    if (item.type == 'unit') {
-                        item.name = this.CheckChinese(item.name, '单元');
-                    } else if (item.type == 'building') {
-                        item.name = this.CheckChinese(item.name, '楼栋');
-                    }
-                }
-            });
-        },
-        clearRoomToggle(arr) {
-            arr.map((item, index) => {
-                if (item.type == 'unit') {
-                    item.children = null;
-                    return;
-                } else if (item.type !== 'room') {
-                    this.clearRoomToggle(item.children);
-                } else if (item.type == 'room') {
-                    arr.splice(index, 1);
+            this.$http.get('/sc-gate-web/gate/list').then(({ status, data, msg }) => {
+                if (status === 0 && data) {
+                    this.organList = [{ deviceName: '全部', children: data }];
+                    this.$nextTick().then(() => {
+                        const firstNode = document.querySelector('.el-tree-node');
+                        firstNode.click();
+                    });
                 }
             });
         },
@@ -85,17 +54,7 @@ export default {
             return data.name.indexOf(value) !== -1;
         },
         treeClick(e) {
-            // debugger;
-
             // this.$emit('organId', e);
-        },
-        CheckChinese(val, name) {
-            var reg = new RegExp('[\\u4E00-\\u9FFF]+', 'g');
-            let newVal = val;
-            if (!reg.test(val)) {
-                newVal = val + name;
-            }
-            return newVal;
         }
     },
     created() {