From 0d7d6fc9a5c40ccc90190b0f24039ec1362f120f Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期一, 17 十月 2022 11:33:10 +0800
Subject: [PATCH] 新增设备管理、完善消息新增,修改bug

---
 dist.rar                                                                                           |    0 
 src/views/operate/management/myIndex/components/closure/index.vue                                  |   33 
 src/views/systemSetting/baseSetting/department/updateUser/index.vue                                |   54 
 vue.config.js                                                                                      |    2 
 src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue   |    2 
 src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/book/index.vue     |    8 
 src/views/operate/message/myIndex/index.vue                                                        |   88 +
 src/views/layout/components/Menu/index.vue                                                         |   49 
 src/views/systemSetting/platform/index.vue                                                         |    3 
 src/views/operate/disposal/casepool/pool/index.vue                                                 |   13 
 src/views/systemSetting/baseSetting/user/components/header/index.vue                               |    2 
 src/components/illdetail/index.vue                                                                 |   10 
 src/views/operate/disposal/casepool/learn/index.vue                                                |    9 
 src/views/systemSetting/baseSetting/department/index.vue                                           |   60 
 src/views/systemSetting/device/bayonet/index.vue                                                   |  376 +++++++++
 src/views/operate/disposal/casepool/notDeal/index.vue                                              |    9 
 src/views/operate/fivepack/shop/components/header/index.vue                                        |    4 
 src/views/systemSetting/baseSetting/user/components/updateUser/index.vue                           |    5 
 src/views/systemSetting/baseSetting/user/components/createUser/index.vue                           |  389 ++++++---
 src/views/systemSetting/baseSetting/index.vue                                                      |    3 
 src/views/systemSetting/device/bayonet/create/index.vue                                            |  137 +++
 src/components/process/index.vue                                                                   |   11 
 src/views/operate/message/myIndex/createUser/index.vue                                             |   87 +
 src/views/systemSetting/baseSetting/user/components/main/index.vue                                 |   60 
 src/views/systemSetting/device/point/index.vue                                                     |    5 
 src/views/operate/disposal/casepool/pool/createUser/vio/index.vue                                  |  138 +--
 src/views/operate/fivepack/shop/components/createUser/index.vue                                    |   12 
 src/components/edit/index.vue                                                                      |   25 
 src/views/operate/disposal/casepool/escalation/index.vue                                           |    9 
 src/views/operate/management/myIndex/components/examine/index.vue                                  |   22 
 src/views/systemSetting/device/grid/index.vue                                                      |    5 
 src/views/systemSetting/baseSetting/role/createUser/index.vue                                      |   12 
 src/views/layout/components/Header/index.vue                                                       |   37 
 src/components/dispatch/index.vue                                                                  |  115 ++
 src/router/index.js                                                                                |  107 +
 src/views/operate/disposal/casepool/dispatch/index.vue                                             |    9 
 src/utils/request.js                                                                               |   22 
 src/views/systemSetting/device/index.vue                                                           |    3 
 src/components/detail/index.vue                                                                    |   10 
 src/components/scene/index.vue                                                                     |   83 +
 src/views/systemSetting/baseSetting/department/createUser/index.vue                                |  121 ++
 src/views/operate/car/myIndex/index.vue                                                            |   10 
 src/views/operate/baseSetting/violation/createUser/index.vue                                       |   11 
 src/views/operate/management/myIndex/index.vue                                                     |    9 
 src/components/solveProblem/index.vue                                                              |  124 ++-
 src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue |    2 
 src/App.vue                                                                                        |    4 
 src/views/systemSetting/baseSetting/role/index.vue                                                 |   46 
 48 files changed, 1,631 insertions(+), 724 deletions(-)

diff --git a/dist.rar b/dist.rar
new file mode 100644
index 0000000..c3739d7
--- /dev/null
+++ b/dist.rar
Binary files differ
diff --git a/src/App.vue b/src/App.vue
index 31ef5a4..91f0a7b 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -157,5 +157,9 @@
     background-color: #09152f;
     border: 1px solid #17324c;
   }
+  .el-textarea__inner{
+    background-color: #09152f;
+    border: 1px solid #17324c;
+  }
 }
 </style>
\ No newline at end of file
diff --git a/src/components/detail/index.vue b/src/components/detail/index.vue
index 7a4ecc6..e5a9857 100644
--- a/src/components/detail/index.vue
+++ b/src/components/detail/index.vue
@@ -120,8 +120,8 @@
                 <div class="show-wrap">
                     <MyProcess v-if="activeIndex === 1" :handlePassVo="handlePassVo" :baseCase="baseCase"></MyProcess>
                     <MyFilePicture v-else-if="activeIndex === 2" :filesPictureVo="filesPictureVo" ></MyFilePicture>
-                    <MySovleProblem v-else-if="activeIndex === 3" :problemProVo="problemProVo"></MySovleProblem>
-                    <MyScene v-else :currentSitVo="currentSitVo"></MyScene>
+                    <MySovleProblem v-else-if="activeIndex === 3" :baseCase="baseCase" :handlePassVo="handlePassVo"></MySovleProblem>
+                    <MyScene v-else :currentSitVo="currentSitVo" :baseCase="baseCase"></MyScene>
                 </div>
             </div>
         </div>
@@ -163,7 +163,7 @@
             baseCase:{},
             handlePassVo:{},
             currentSitVo:{},
-            problemProVo:{},
+            // problemProVo:{},
             filesPictureVo:{}
             
         }
@@ -174,9 +174,9 @@
         this.baseCase = info.baseCase;
         this.handlePassVo = info.handlePassVo;
         this.currentSitVo = info.currentSitVo;
-        this.problemProVo = info.problemProVo;
+        // this.problemProVo = info.problemProVo;
         this.filesPictureVo = info.filesPictureVo;
-        console.log(info); 
+        console.log(info);  
     },
     methods: {
         changeComponent(index) {
diff --git a/src/components/dispatch/index.vue b/src/components/dispatch/index.vue
index 5e8c919..2d1673e 100644
--- a/src/components/dispatch/index.vue
+++ b/src/components/dispatch/index.vue
@@ -22,8 +22,8 @@
             <!-- 閫夋嫨浜哄憳 -->
             <div class="form-person">
                 <!-- 閮ㄩ棬 -->
-                <el-form-item label="閫夋嫨浜哄憳:" prop="dispatchOpinion">
-                    <el-select v-model="dispatch.dispatchOpinion" placeholder="璇烽�夋嫨閮ㄩ棬" @change="handleTopChange">
+                <el-form-item label="閫夋嫨浜哄憳:" prop="createUser">
+                    <el-select v-model="dispatch.createUser" placeholder="璇烽�夋嫨閮ㄩ棬" @change="handleTopChange">
                         <el-option v-for="item in departOptions" :key="item.id" :label="item.departName"
                             :value="item.id">
                         </el-option>
@@ -32,7 +32,7 @@
                 <!-- 涓槦 -->
                 <el-form-item prop="enforcementTeam" class="person-item">
                     <el-select v-model="dispatch.enforcementTeam" placeholder="閫夋嫨涓槦"
-                        :disabled="squadronOptions.length!==0?false:true" @change="handleMidChange">
+                        :disabled="squadronOptions.length!==0 && squadronOptions?false:true" @change="handleMidChange">
                         <el-option v-for="item in squadronOptions" :key="item.id" :label="item.departName"
                             :value="item.id">
                         </el-option>
@@ -41,7 +41,7 @@
                 <el-form-item prop='lawEnforcer' class="person-item">
                     <!-- 浜哄憳 -->
                     <el-select v-model="dispatch.lawEnforcer" placeholder="璇烽�夋嫨浜哄憳"
-                        :disabled="personOptions.length !== 0 ? false:true" @change="handlePerChange">
+                        :disabled="personOptions.length !== 0 && personOptions? false:true" @change="handlePerChange">
                         <el-option v-for="item in personOptions" :key="item.id" :label="item.username" :value="item.id">
                         </el-option>
                     </el-select>
@@ -50,13 +50,22 @@
             <div class="form-footer">
                 <!-- 鎵ф硶浜哄憳缂栧彿 -->
                 <el-form-item label="鎵ф硶浜哄憳缂栧彿:" prop="lawEnforcerName">
-                    <el-input v-model="dispatch.lawEnforcerName"></el-input>
+                    <el-input v-model="dispatch.lawEnforcerName" disabled></el-input>
                 </el-form-item>
                 <!-- 鎵ф硶浜哄憳鑱旂郴鏂瑰紡 -->
                 <el-form-item label="鑱旂郴鏂瑰紡:" prop="contactWay">
-                    <el-input v-model="dispatch.contactWay"></el-input>
+                    <el-input v-model="dispatch.contactWay" disabled></el-input>
                 </el-form-item>
                 <el-button type="primary">鍙戦�佺煭淇�</el-button>
+            </div>
+            <div class="form-time">
+                <el-form-item label="娲鹃仯鎰忚" prop="dispatchOpinion">
+                    <el-input v-model="dispatch.dispatchOpinion" placeholder="璇疯緭鍏ユ淳閬f剰瑙�"></el-input>
+                </el-form-item>
+                <el-form-item label="澶勭疆鏃ユ湡" prop="disposeDate">
+                    <el-date-picker v-model="dispatch.disposeDate" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿">
+                    </el-date-picker>
+                </el-form-item>
             </div>
         </el-form>
         <div class="map">
@@ -74,7 +83,7 @@
     components: {
         MyMap
     },
-    props: ['id', 'changeDialog', 'refresh', 'mytype'], 
+    props: ['id', 'changeDialog', 'refresh', 'mytype'],
     created() {
         // 鍒ゆ柇杞﹁締绫诲瀷
         this.mytype === 1 ? this.getLawCarList() : this.getSoilCarList();
@@ -90,14 +99,14 @@
                     callback();
                 }
             } else {
-                callback(new Error('鑱旂郴鏂瑰紡涓嶈兘涓虹┖'))
+                callback()
             }
         }
         const checkOpinion = (rule, value, callback) => {
             if (value) {
                 callback();
             } else {
-                callback(new Error('閮ㄩ棬涓嶈兘涓虹┖'))
+                callback(new Error('娲鹃仯鎰忚涓嶈兘涓虹┖'))
             }
         }
         const checkDistance = (rule, value, callback) => {
@@ -111,7 +120,7 @@
             if (value) {
                 callback();
             } else {
-                callback(new Error('涓槦涓嶈兘涓虹┖'))
+                callback(new Error('澶勭疆鏃ユ湡涓嶈兘涓虹┖'))
             }
         }
         const checkPerson = (rule, value, callback) => {
@@ -128,19 +137,32 @@
                 callback()
             }
         }
+        const checkDepart = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error('璇烽�夋嫨閮ㄩ棬'))
+            }
+        }
         return {
             dispatch: {
                 baseCaseId: 0,//妗堜欢id
                 contactWay: "",//鑱旂郴鏂瑰紡
-                dispatchOpinion: "",//閮ㄩ棬
+                dispatchOpinion: "",//澶勭疆鎰忚
                 disposeDate: "",//澶勭疆鏃ユ湡
                 distance: 0,//璺濈
                 enforcementCar: '',//鎵ф硶杞�
                 enforcementTeam: "",//鎵ф硶涓槦
                 lawEnforcer: '',//鎵ф硶浜哄憳
-                lawEnforcerName: ""//鎵ф硶缂栧彿
+                lawEnforcerName: "",//鎵ф硶缂栧彿,
+                createUser: null,
             },
             rules: {
+                createUser: [
+                    {
+                        required: true, trigger: 'change', validator: checkDepart
+                    }
+                ],
                 contactWay: [
                     {
                         required: false, trigger: 'blur', validator: checkPhone
@@ -161,6 +183,11 @@
                 lawEnforcerName: [
                     { required: false, trigger: 'change', validator: checkNumber }
                 ],
+                disposeDate: [
+                    {
+                        required: true, trigger: 'false', validator: checkTeam
+                    }
+                ]
             },
             carOptions: [
                 {
@@ -233,7 +260,7 @@
             })
                 .then(res => {
                     this.carOptions = res.data.records;
-                    console.log(res,this.carOptions);
+                    console.log(res, this.carOptions);
                 })
         },
         // 鑾峰彇娓e湡杞﹁締
@@ -259,6 +286,7 @@
         },
         // 鑾峰彇涓槦
         async getTeamList(id) {
+            console.log(id);
             await this.$axios({
                 method: 'get',
                 url: `sccg/depart/query_father_children?fatherId=${id}`
@@ -272,52 +300,83 @@
         },
         // 鑾峰彇閮ㄩ棬涓嬬殑鐢ㄦ埛
         async getDepartUserList(id) {
+            console.log(id);
             await this.$axios({
                 method: 'get',
                 url: `sccg/admin/getDepartUser/${id}`,
             })
                 .then(res => {
-                    this.personOptions = res.data;
+                    console.log(res);
+                    if (res.code === 200) {
+                        this.personOptions = res.data;
+                    } else {
+                        this.personOptions = [];
+                    }
+                    if(this.personOptions.length === 0){
+                        this.$message({
+                            type: 'warning',
+                            message: '璇ヤ腑闃熶笅娌℃湁浜哄憳'
+                        })
+                    }
                 })
                 .catch(err => {
                     this.$message({
-                    type: 'error',
-                    message: '璇ラ儴闂ㄤ汉鍛樹笉瓒筹紝璇锋崲涓儴闂�'
-                })
+                        type: 'error',
+                        message: '璇ラ儴闂ㄤ汉鍛樹笉瓒筹紝璇锋崲涓儴闂�'
+                    })
                 })
         },
         // 閮ㄩ棬鏇存敼
         async handleTopChange(id) {
             this.dispatch.lawEnforcer = '';
             this.dispatch.enforcementTeam = '';
+            this.dispatch.contactWay = '';
+            this.dispatch.lawEnforcerName = '';
             await this.getTeamList(id);
-            if(this.squadronOptions.length===0){
-                await this.getDepartUserList(id);
-            }
+            // if (this.squadronOptions.length === 0) {
+            //     await this.getDepartUserList(id);
+            // }
         },
         // 涓槦鏇存敼
         async handleMidChange(id) {
             this.dispatch.lawEnforcer = '';
+            this.dispatch.contactWay = '';
+            this.dispatch.lawEnforcerName = '';
             await this.getDepartUserList(id);
         },
         // 浜哄憳鏇存敼
-        async handlePerChange(id){
-            let obj =  await this.getLawUser(id);
+        async handlePerChange(id) {
+            let obj = await this.getLawUser(id);
             this.dispatch.lawEnforcerName = obj.nickName;
             this.dispatch.contactWay = obj.mobile;
         },
         // 鑾峰彇鎵ф硶浜哄憳淇℃伅
-        async getLawUser(id){
+        async getLawUser(id) {
             let obj = {}
             await this.$axios({
-                method:'get',
-                url:`sccg/admin/${id}`
+                method: 'get',
+                url: `sccg/admin/${id}`
             })
-            .then(res=>{
-                obj = res.data;
-            })
+                .then(res => {
+                    obj = res.data;
+                })
             return obj;
         }
+    },
+    watch: {
+        'squadronOptions.length': {
+            handler(newval, oldval) {
+                console.log(newval);
+                if (newval === 0) {
+                    console.log(1);
+                    this.$message({
+                        type: 'warning',
+                        message: '璇ラ儴闂ㄤ笅娌℃湁涓槦'
+                    })
+                }
+            },
+            deep: true
+        },
     }
 }
 </script>
diff --git a/src/components/edit/index.vue b/src/components/edit/index.vue
index 7752241..ec89cb5 100644
--- a/src/components/edit/index.vue
+++ b/src/components/edit/index.vue
@@ -11,6 +11,7 @@
             editor: null
         }
     },
+    props:['getMyBody'],
     mounted() {
         this.editor = new E('#edit');
         this.editor.config.height = 450;
@@ -18,6 +19,11 @@
             '#4b9bb7',
             '#09152f'
         ]
+        
+        this.editor.config.onchange =(html)=>{
+            // 绗簩姝ワ紝鐩戞帶鍙樺寲锛屽悓姝ユ洿鏂板埌 textarea
+            this.$emit('getMyBody',html);
+        }
         this.editor.create();
     },
     beforeDestroy() {
@@ -28,14 +34,15 @@
 }
 </script>
 <style lang="scss" scoped>
-    #edit{
-        :deep(.w-e-toolbar){
-            background-color: #09152f !important;
-            color: #4b9bb7;
-        }
-        :deep(.w-e-text-container){
-            background-color: #09152f !important;
-            color: #4b9bb7;
-        }
+#edit {
+    :deep(.w-e-toolbar) {
+        background-color: #09152f !important;
+        color: #4b9bb7;
     }
+
+    :deep(.w-e-text-container) {
+        background-color: #09152f !important;
+        color: #4b9bb7;
+    }
+}
 </style>
\ No newline at end of file
diff --git a/src/components/illdetail/index.vue b/src/components/illdetail/index.vue
index 12af55c..b2ae36c 100644
--- a/src/components/illdetail/index.vue
+++ b/src/components/illdetail/index.vue
@@ -79,8 +79,8 @@
                 <div class="show-wrap">
                     <MyProcess v-if="activeIndex === 1" :handlePassVo="handlePassVo" :baseCase="baseCase"></MyProcess>
                     <MyFilePicture v-else-if="activeIndex === 2" :filesPictureVo="filesPictureVo" ></MyFilePicture>
-                    <MySovleProblem v-else-if="activeIndex === 3" :problemProVo="problemProVo"></MySovleProblem>
-                    <MyScene v-else :currentSitVo="currentSitVo"></MyScene>
+                    <MySovleProblem v-else-if="activeIndex === 3" :baseCase="baseCase" :handlePassVo="handlePassVo"></MySovleProblem>
+                    <MyScene v-else :currentSitVo="currentSitVo" :baseCase="baseCase"></MyScene>
                 </div>
             </div>
         </div>
@@ -122,20 +122,18 @@
             baseCase:{},
             handlePassVo:{},
             currentSitVo:{},
-            problemProVo:{},
             filesPictureVo:{}
             
         }
-    },
+    }, 
     created() {
         console.log('created');
         const {info} = this; 
         this.baseCase = info.baseCase;
         this.handlePassVo = info.handlePassVo;
         this.currentSitVo = info.currentSitVo;
-        this.problemProVo = info.problemProVo;
         this.filesPictureVo = info.filesPictureVo;
-        console.log(info); 
+        console.log(info);  
     },
     methods: {
         changeComponent(index) {
diff --git a/src/components/process/index.vue b/src/components/process/index.vue
index 09afaa4..20f092a 100644
--- a/src/components/process/index.vue
+++ b/src/components/process/index.vue
@@ -30,7 +30,7 @@
                     <div class="desc-title">鐜妭鐢ㄦ椂:{{item.disposeRecords.length !==0 ? item.disposeRecords[0].linkTime : ''}}</div>
                     <div class="desc-content" v-if="active > index">
                         <div class="desc-content-message">1111111</div>
-                        <div class="desc-content-endtime">{{item.disposeRecords.length !==0 ? item.disposeRecords[0].endTime:''}}</div>
+                        <div class="desc-content-endtime">{{item.disposeRecords.length !==0 ? filterTime(item.disposeRecords[0].endTime):''}}</div>
                     </div>
                 </div>
             </div>
@@ -38,6 +38,7 @@
     </div>
 </template>
 <script>
+import helper from '@/utils/mydate'
 export default {
     data() {
         return {
@@ -65,6 +66,14 @@
         }
         this.list =  mylist;
     },
+    methods:{
+        filterTime(time){
+            if(time){
+                return helper(time)
+            }
+            return;
+        }
+    }
 }
 </script>
 <style lang="scss" scoped>
diff --git a/src/components/scene/index.vue b/src/components/scene/index.vue
index 09f384f..b382cc8 100644
--- a/src/components/scene/index.vue
+++ b/src/components/scene/index.vue
@@ -11,19 +11,20 @@
         <div class="scene-item" v-if="active === 1">
             <el-form ref="arrivalSituation" label-position="right" label-width="120px" :model="arrivalSituation">
                 <el-form-item label="鍒拌揪鏃堕棿:">
-                    <el-input v-model="arrivalSituation.arrivalTime"></el-input>
+                    <el-input disabled v-model="arrivalSituation.arrivalTime"></el-input>
                 </el-form-item>
                 <el-form-item label="鍒拌揪鍦板潃:">
-                    <el-input v-model="arrivalSituation.arrivalAddress"></el-input>
+                    <el-input disabled v-model="arrivalSituation.arrivalAddress"></el-input>
                 </el-form-item>
                 <el-form-item label="鐜板満鎯呭喌璇存槑:">
-                    <el-input v-model="arrivalSituation.situationExplain"></el-input>
+                    <el-input disabled v-model="arrivalSituation.situationExplain"></el-input>
                 </el-form-item>
                 <el-form-item label="淇¤鍥炲璇存槑:">
-                    <el-input v-model="arrivalSituation.replyExplain"></el-input>
+                    <el-input disabled v-model="arrivalSituation.replyExplain"></el-input>
                 </el-form-item>
                 <el-form-item label="鐜板満鎯呭喌鐓х墖:">
-                    <el-input v-model="arrivalSituation.situationPic"></el-input>
+                    <img class="img" :src="arrivalSituation.situationPic" alt="" v-if="arrivalSituation.situationPic">
+                    <!-- <el-input disabled v-model=""></el-input> -->
                 </el-form-item>
             </el-form>
         </div>
@@ -31,73 +32,74 @@
             <el-form ref="investigation" label-position="right" label-width="120px" :model="investigation">
                 <div class="inves-item">
                     <el-form-item label="鎵垮姙闃熷憳:">
-                        <el-input v-model="investigation.name"></el-input>
+                        <el-input disabled v-model="investigation.undertaker"></el-input>
                     </el-form-item>
                     <el-form-item label="鍗忓姙闃熷憳:">
-                        <el-input v-model="investigation.assistant"></el-input>
+                        <el-input disabled v-model="investigation.assistant"></el-input>
                     </el-form-item>
                 </div>
                 <el-form-item label="鏃堕棿:">
-                    <el-input v-model="investigation.type"></el-input>
+                    <el-input disabled v-model="investigation.investigationTime"></el-input>
                 </el-form-item>
                 <el-form-item label="鍦板潃:">
-                    <el-input v-model="investigation.address"></el-input>
+                    <el-input disabled v-model="investigation.address"></el-input>
                 </el-form-item>
                 <el-form-item label="妗堢敱:">
-                    <el-input v-model="investigation.caseAction"></el-input>
+                    <el-input disabled v-model="investigation.caseAction"></el-input>
                 </el-form-item>
                 <el-form-item label="褰撲簨浜轰俊鎭�:">
-                    <el-input v-model="investigation.type"></el-input>
+                    <el-input disabled v-model="investigation.type"></el-input>
                 </el-form-item>
                 <el-form-item label="鎯呭喌鎻忚堪:">
-                    <el-input v-model="investigation.description"></el-input>
+                    <el-input disabled v-model="investigation.description"></el-input>
                 </el-form-item>
                 <el-form-item label="鐓х墖闄勪欢:">
-                    <el-input v-model="investigation.pic"></el-input>
+                    <img class="img" :src="investigation.pic" alt="" v-if="investigation.pic">
+                    <!-- <el-input disabled v-model="investigation.pic"></el-input> -->
                 </el-form-item>
                 <el-form-item label="绫诲瀷:">
-                    <el-input v-model="investigation.type"></el-input>
+                    <el-input disabled v-model="mybaseCase.categoryText"></el-input>
                 </el-form-item>
                 <div class="inves-item">
                     <el-form-item label="褰撲簨浜哄鍚�:">
-                        <el-input v-model="investigation.type"></el-input>
+                        <el-input disabled v-model="partyInfo.name"></el-input>
                     </el-form-item>
                     <el-form-item label="鎵嬫満鍙风爜:">
-                        <el-input v-model="investigation.type"></el-input>
+                        <el-input disabled v-model="partyInfo.phoneCode"></el-input>
                     </el-form-item>
                 </div>
                 <div class="inves-item">
                     <el-form-item label="璇佷欢绫诲瀷:">
-                        <el-input v-model="investigation.type"></el-input>
+                        <el-input disabled v-model="partyInfo.certificateTypeText"></el-input>
                     </el-form-item>
                     <el-form-item label="璇佷欢鍙风爜:">
-                        <el-input v-model="investigation.type"></el-input>
+                        <el-input disabled v-model="partyInfo.certificateCode"></el-input>
                     </el-form-item>
                 </div>
                 <div class="inves-item">
                     <el-form-item label="鏂囧寲绋嬪害:">
-                        <el-input v-model="investigation.type"></el-input>
+                        <el-input disabled v-model="partyInfo.educationDegreeText"></el-input>
                     </el-form-item>
                     <el-form-item label="鑱屼笟:">
-                        <el-input v-model="investigation.type"></el-input>
+                        <el-input disabled v-model="partyInfo.career"></el-input>
                     </el-form-item>
                 </div>
                 <el-form-item label="宸ヤ綔鍗曚綅鍙婅亴鍔�:">
-                    <el-input v-model="investigation.type"></el-input>
+                    <el-input disabled v-model="partyInfo.work"></el-input>
                 </el-form-item>
                 <div class="inves-item">
                     <el-form-item label="姘戞棌:">
-                        <el-input v-model="investigation.type"></el-input>
+                        <el-input disabled v-model="partyInfo.nationText"></el-input>
                     </el-form-item>
                     <el-form-item label="绫嶈疮:">
-                        <el-input v-model="investigation.type"></el-input>
+                        <el-input disabled v-model="partyInfo.nativePlace"></el-input>
                     </el-form-item>
                 </div>
                 <el-form-item label="鐜颁綇鍧�:">
-                    <el-input v-model="investigation.type"></el-input>
+                    <el-input disabled v-model="partyInfo.liveAddress"></el-input>
                 </el-form-item>
                 <el-form-item label="鎴风睄鎵�鍦ㄥ湴:">
-                    <el-input v-model="investigation.type"></el-input>
+                    <el-input disabled v-model="partyInfo.registerAddress"></el-input>
                 </el-form-item>
             </el-form>
             <el-button>杩斿洖</el-button>
@@ -105,7 +107,7 @@
         <div class="scene-item" v-if="active === 3">
             <el-form ref="writ" label-position="right" label-width="120px" :model="writ">
                 <el-form-item label="绫诲瀷:">
-                    <el-input v-model="writ.name"></el-input>
+                    <el-input disabled v-model="writ.name"></el-input>
                 </el-form-item>
             </el-form>
         </div>
@@ -130,21 +132,30 @@
                     label: '鍛婄煡杩濇硶'
                 }
             ],
+            mybaseCase: {},
             arrivalSituation: {},
             investigation: {},
-            writ: {}
-
+            writ: {},
+            partyInfo: {}
         }
     },
-    props: ['currentSitVo'],
+    props: ['currentSitVo', 'baseCase'],
     created() {
-        const { currentSitVo: { arrivalSituation: mylist,investigation:invesList } } = this;
+        const { currentSitVo: { arrivalSituation: mylist, investigation: invesList }, baseCase } = this;
+        if (invesList) {
+            const { partyInfo } = invesList;
+            if (invesList) {
+                this.investigation = invesList;
+            }
+            if (partyInfo) {
+                this.partyInfo = partyInfo;
+            }
+        }
         if (mylist) {
             this.arrivalSituation = mylist;
         }
-        if(invesList){
-            this.investigation = invesList;
-        }
+        this.mybaseCase = baseCase;
+        console.log(baseCase);
         console.log(this.currentSitVo);
     },
     methods: {
@@ -203,7 +214,11 @@
             border: 1px solid #17324c;
         }
     }
-    .inves-item{
+    .img{
+        width: 60px;
+        height:60px;
+    }
+    .inves-item {
         display: flex;
     }
 }
diff --git a/src/components/solveProblem/index.vue b/src/components/solveProblem/index.vue
index f9f9be8..9223300 100644
--- a/src/components/solveProblem/index.vue
+++ b/src/components/solveProblem/index.vue
@@ -1,60 +1,104 @@
 <template>
     <div class="sovle-problem">
         <div class="sovle-header">
-            <div class="sovle-limit">澶勭悊鏃堕檺:{{}}</div>
-            <div class="sovle-limit">鍓╀綑鏃堕棿:23灏忔椂</div>
+            <div class="sovle-limit">澶勭悊鏃堕檺:{{dispatchInfo.disposeDate}}</div>
+            <div class="sovle-limit">鍓╀綑鏃堕棿:{{getRestTime(dispatchInfo.disposeDate)}}</div>
         </div>
         <div class="sovle-timeline">
             <el-timeline>
                 <el-timeline-item :color="mycolor" v-for="item in list" :key="item.id">
                     <div class="title">
-                        <div class="title-left">銆恵{item.name}}銆憑{item.name === '娲鹃仯' ? '娲鹃仯鍛�':item.name === '澶勭悊' ? '澶勭悊浜�':'璇勫畾浜�'}}:{{item.disposeRecords.length !==0 ? item.disposeRecords[0].handleId : ''}}</div>
-                        <div class="title-right">{{item.disposeRecords.length !==0 ? item.disposeRecords[0].endTime:''}}</div>
+                        <div class="title-left">銆恵{item.name}}銆憑{item.name === '娲鹃仯' ? '娲鹃仯鍛�':item.name === '澶勭悊' ?
+                        '澶勭悊浜�':'璇勫畾浜�'}}:{{item.disposeRecords.length !==0 ? item.disposeRecords[0].handleId : ''}}
+                        </div>
+                        <div class="title-right">{{item.disposeRecords.length !==0 ? filterTime(item.disposeRecords[0].endTime):''}}
+                        </div>
                     </div>
-                    <div class="message">銆恵{item.name === '娲鹃仯' ? '娲鹃仯鎰忚':item.name === '澶勭悊' ? '澶勭悊缁撴灉':'璇勫畾缁撴灉'}}銆戣鐩稿叧鎵ф硶闃熷憳鍙婃椂鍓嶅線鐜板満杩涜澶勭疆</div>
-                </el-timeline-item> 
+                    <div class="message">{{filterPerson(item.name)}}</div>
+                </el-timeline-item>
             </el-timeline>
         </div>
     </div>
-</template>
+</template> 
 <script>
-    export default{
-        data(){
-            return{
-                mycolor:'#02a7f0',
-                list:[]
+import helper from '@/utils/mydate'
+import {computeTime} from '@/utils/helper'
+export default {
+    data() {
+        return {
+            mycolor: '#02a7f0',
+            list: [],
+            dispatchInfo: {},
+        }
+    },
+    props: ['handlePassVo', 'baseCase'],
+    created() {
+        const { handlePassVo: mylist, baseCase } = this;
+        console.log(baseCase, mylist); 
+        if (mylist) {
+            this.list = mylist.workflowConfigSteps;
+        }
+        if (baseCase.dispatchInfo) {
+            this.dispatchInfo = baseCase.dispatchInfo;
+        }
+    },
+    methods: {
+        // 鑾峰緱鎰忚
+        filterPerson(name) {
+            const { baseCase, dispatchInfo } = this;
+            if (name === '璋冨害') {
+                return '銆愭淳閬f剰瑙併��' + dispatchInfo.dispatchOpinion
+            } else if (name === '鏍告煡') {
+                return '銆愭牳鏌ョ粨鏋溿��' + baseCase.handlingOpinion
+            } else if (name === '缁撴') {
+                return '銆愯瘎瀹氱粨鏋溿��' + baseCase.finalOpinion
+            } else {
+                return '銆愬鐞嗙粨鏋溿��' + baseCase.handlingOpinion
             }
         },
-        props:['problemProVo'],
-        created(){
-            const {problemProVo:{workflowConfigSteps:mylist}} = this;
-            console.log(mylist);
-            this.list = mylist;
-        }   
+        // 澶勭悊鏃堕棿
+        filterTime(time){
+            if(time){
+                return helper(time)
+            }else{
+                return
+            }
+            
+        },
+        // 鑾峰緱鍓╀綑鏃堕棿
+        getRestTime(limitTime){
+            if(limitTime){
+                return computeTime(limitTime)
+            }
+            return 
+        }
     }
+}
 </script>
 <style lang="scss" scoped>
-    .sovle-problem{
-        .sovle-header{
-            padding: 0 200px;
-            display: flex;
-            line-height: 60px;
-            justify-content: space-between;
-        }
-        .title{
-            display: flex;
-            justify-content: space-between;
-            line-height: 40px;
-            padding: 0 20px;
-            color: #4b9bb7;
-            font-size: 16px;
-        }
-        .message{
-            padding: 20px;
-            background-color: #070f22;
-            color: #4b9bb7;
-            line-height: 20px;
-            font-size: 10px;
-        }
+.sovle-problem {
+    .sovle-header {
+        padding: 0 200px;
+        display: flex;
+        line-height: 60px;
+        justify-content: space-between;
     }
+
+    .title {
+        display: flex;
+        justify-content: space-between;
+        line-height: 40px;
+        padding: 0 20px;
+        color: #4b9bb7;
+        font-size: 16px;
+    }
+
+    .message {
+        padding: 20px;
+        background-color: #070f22;
+        color: #4b9bb7;
+        line-height: 20px;
+        font-size: 10px;
+    }
+}
 </style>
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index d1422bc..f4aa33d 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -21,39 +21,76 @@
         component: () => import('@/views/systemSetting'),
         children: [
           {
-            path: "user",
-            name: "user",
-            component: () => import('@/views/systemSetting/baseSetting/user')
+            path: 'userSetting',
+            name: 'userSetting',
+            component: () => import('@/views/systemSetting/baseSetting'),
+            children: [
+              {
+                path: "user",
+                name: "user",
+                component: () => import('@/views/systemSetting/baseSetting/user')
+              },
+              {
+                path: 'role',
+                name: 'role',
+                component: () => import('@/views/systemSetting/baseSetting/role')
+              },
+              {
+                path: 'authority',
+                name: 'authority',
+                component: () => import('@/views/systemSetting/baseSetting/authority')
+              },
+              {
+                path: 'department',
+                name: 'department',
+                component: () => import('@/views/systemSetting/baseSetting/department')
+              },
+
+            ]
           },
           {
-            path: 'role',
-            name: 'role',
-            component: () => import('@/views/systemSetting/baseSetting/role')
+            path: 'platform',
+            name: 'platform',
+            component: () => import('@/views/systemSetting/platform'),
+            children: [
+              {
+                path: 'portalSetting',
+                name: 'portalSetting',
+                component: () => import('@/views/systemSetting/platform/portalSetting')
+              },
+              {
+                path: 'otherInterface',
+                name: 'otherInterface',
+                component: () => import('@/views/systemSetting/platform/otherInterface')
+              },
+              {
+                path: 'mySetting',
+                name: 'mySetting',
+                component: () => import('@/views/systemSetting/platform/mySetting')
+              }
+            ]
           },
           {
-            path: 'authority',
-            name: 'authority',
-            component: () => import('@/views/systemSetting/baseSetting/authority')
-          },
-          {
-            path: 'department',
-            name: 'department',
-            component: () => import('@/views/systemSetting/baseSetting/department')
-          },
-          {
-            path: 'portalSetting',
-            name: 'portalSetting',
-            component: () => import('@/views/systemSetting/platform/portalSetting')
-          },
-          {
-            path: 'otherInterface',
-            name: 'otherInterface',
-            component: () => import('@/views/systemSetting/platform/otherInterface')
-          },
-          {
-            path: 'mySetting',
-            name: 'mySetting',
-            component: () => import('@/views/systemSetting/platform/mySetting')
+            path: 'device',
+            name: 'device',
+            component: () => import('@/views/systemSetting/device'),
+            children: [
+              {
+                path: 'bayonet',
+                name: 'bayonet',
+                component: () => import('@/views/systemSetting/device/bayonet')
+              },
+              {
+                path: 'grid',
+                name: 'grid',
+                component: () => import('@/views/systemSetting/device/grid'),
+              },
+              {
+                path: 'point',
+                name: 'point',
+                component: () => import('@/views/systemSetting/device/point'),
+              }
+            ]
           }
         ]
       },
@@ -189,13 +226,13 @@
                 component: () => import('@/views/operate/car/myIndex'),
               },
               {
-                path:'lawTrajectory',
-                name:'lawTrajectory',
+                path: 'lawTrajectory',
+                name: 'lawTrajectory',
                 component: () => import('@/views/operate/car/lawCar'),
               },
               {
-                path:'soilTrajectory',
-                name:'soilTrajectory',
+                path: 'soilTrajectory',
+                name: 'soilTrajectory',
                 component: () => import('@/views/operate/car/soilCar'),
               }
             ]
@@ -211,8 +248,8 @@
                 component: () => import('@/views/operate/message/myIndex'),
               },
               {
-                path:'mycontrol',
-                name:'mycontrol',
+                path: 'mycontrol',
+                name: 'mycontrol',
                 component: () => import('@/views/operate/message/mycontrol'),
               },
             ]
diff --git a/src/utils/request.js b/src/utils/request.js
index 5b3db90..e6b7b9b 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -3,7 +3,8 @@
 // 寮曞叆elementUI
 import tip from 'element-ui';
 const api = axios.create({
-  baseURL: '/', // 璇锋眰鐨勫叕鍏卞湴鍧�閮ㄥ垎
+  // http://42.193.1.25:8082
+  baseURL: 'http://42.193.1.25:8082/', // 璇锋眰鐨勫叕鍏卞湴鍧�閮ㄥ垎
   timeout: 15000
 })
 // 鎷︽埅鍣�
@@ -28,10 +29,10 @@
       return result;
     }
     else if (response.status === 200 && result.code === 500) {
-      tip.Message({
-        type: 'error',
-        message: '鏈嶅姟鍣ㄥ姫鍔涘姞杞戒腑',
-      })
+      // tip.Message({
+      //   type: 'error',
+      //   message: '鏈嶅姟鍣ㄥ姫鍔涘姞杞戒腑',
+      // })
       return result;
     }
     else if (response.status === 200 && result.code === 401) {
@@ -47,7 +48,16 @@
     }
   },
   (error) => {
-    console.log(error);
+    let msg =''
+    if (error.code === 'ERR_NETWORK') {
+        msg = '缃戠粶璇锋眰瓒呮椂'
+    }else{
+      msg = '缃戠粶閿欒'
+    }
+    tip.Message({
+      type: 'error',
+      message: msg
+    })
   },
 )
 export default api;
\ No newline at end of file
diff --git a/src/views/layout/components/Header/index.vue b/src/views/layout/components/Header/index.vue
index 8169db6..5498981 100644
--- a/src/views/layout/components/Header/index.vue
+++ b/src/views/layout/components/Header/index.vue
@@ -11,12 +11,14 @@
     <div class="header-right">
       <!-- 鎼滅储妗� -->
       <div class="menu-right__item search">
-        <el-input suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�"></el-input>
+        <el-input suffix-icon="el-icon-search" v-model="keyword" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�"></el-input>
       </div>
       <!-- 鐧诲綍鐢ㄦ埛 -->
       <div class="menu-right__item user" @mousemove="flag.user=true" @mouseleave="flag.user=false">
-        <el-avatar :size="20" src="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png"></el-avatar>
-        <span style="padding: 0 5px;">Admin</span>
+        <el-avatar :size="20" :src="user.icon" v-if="user.icon"></el-avatar>
+        <el-avatar :size="20" src="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png" v-else>
+        </el-avatar>
+        <span style="padding: 0 5px;">{{user.username? user.username:'Admin'}}</span>
         <i class="el-icon-arrow-down"></i>
         <!-- 鐢ㄦ埛鎿嶄綔 -->
         <div class="user-card" v-if="flag.user" @mouseleave="flag.user = false">
@@ -91,6 +93,7 @@
         user: false,
         message: false
       },
+      user: '',
       menuMessageList: [
         {
           label: '鍏ㄩ儴娑堟伅',
@@ -112,8 +115,12 @@
           num: 10,
           id: '4m'
         },
-      ]
+      ],
+      keyword: '',
     };
+  },
+  created() {
+    this.getLoginInfo();
   },
   methods: {
     // 閫�鍑哄姛鑳�
@@ -126,7 +133,7 @@
         sessionStorage.removeItem('token');
         sessionStorage.removeItem('tokenHead');
         this.$router.push({ path: "/login" })
-      }).catch(err=>{
+      }).catch(err => {
         console.log(err);
       })
     },
@@ -140,6 +147,23 @@
         }
       })
     },
+    // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
+    getLoginInfo() {
+      const info = JSON.parse(sessionStorage.getItem('user'));
+      if (info) {
+        this.user = info; 
+      } else {
+        const name = sessionStorage.getItem('name');
+        this.$axios({
+          method: 'get',
+          url: 'sccg/admin/info?name=' + name,
+        })
+          .then(res => {
+            sessionStorage.setItem('user', JSON.stringify(res.data));
+            this.user = res.data;
+          })
+      }
+    }
   }
 };
 </script>
@@ -167,7 +191,8 @@
         display: block;
         line-height: 40px;
         width: 100%;
-        &:hover{
+
+        &:hover {
           cursor: pointer;
           color: #fff;
         }
diff --git a/src/views/layout/components/Menu/index.vue b/src/views/layout/components/Menu/index.vue
index 9dc05a4..635f444 100644
--- a/src/views/layout/components/Menu/index.vue
+++ b/src/views/layout/components/Menu/index.vue
@@ -5,7 +5,7 @@
       <h2 class="siderbar-title">閬傛槍鎵ф硶骞冲彴</h2>
       <el-scrollbar>
         <!-- 璺敱 -->
-        <el-menu router class="el-menu-vertical" :default-active="$route.path">
+        <el-menu router class="el-menu-vertical" :default-active="$route.path" >
           <!-- 绯荤粺璁剧疆妯″潡 -->
           <el-submenu index="/home/system" class="firstMenu">
             <template slot="title">
@@ -16,51 +16,34 @@
               <span class="fisrtSpan">绯荤粺璁剧疆</span>
             </template>
             <!-- 鍩烘湰璁剧疆 -->
-            <el-submenu index="/home/system/base" class="secondMenu">
+            <el-submenu index="/home/system/userSetting" class="secondMenu">
               <template slot="title">
                 <span class="secondSpan">鍩烘湰璁剧疆</span>
               </template>
               <!-- 鐢ㄦ埛绠$悊 -->
-              <el-menu-item index="/home/system/user">鐢ㄦ埛绠$悊</el-menu-item>
-              <!-- <el-submenu index="/home/system/base/user" class="thirdMenu">
-                <template slot="title">
-                  <span class="thirdSpan">鐢ㄦ埛绠$悊</span>
-                </template>
-                <el-menu-item index="/home/system/user">鐢ㄦ埛鍒楄〃</el-menu-item>
-              </el-submenu> -->
+              <el-menu-item index="/home/system/userSetting/user">鐢ㄦ埛绠$悊</el-menu-item>
               <!-- 瑙掕壊绠$悊 -->
-              <el-menu-item index="/home/system/role">瑙掕壊绠$悊</el-menu-item>
-              <!-- <el-submenu index="/home/system/base/role" class="thirdMenu">
-                <template slot="title">
-                  <span class="thirdSpan">瑙掕壊绠$悊</span>
-                </template>
-                <el-menu-item index="/home/system/role">瑙掕壊绠$悊鍒楄〃</el-menu-item>
-              </el-submenu> -->
-              <!-- 鏉冮檺绠$悊 -->
-              <!-- <el-menu-item index="/home/system/authority">鏉冮檺绠$悊</el-menu-item> -->
-              <!-- <el-submenu index="/home/system/base/authority" class="thirdMenu">
-                <template slot="title">
-                  <span class="thirdSpan">鏉冮檺绠$悊</span>
-                </template>
-                <el-menu-item index="/home/system/authority">璁剧疆鏉冮檺</el-menu-item>
-              </el-submenu> -->
+              <el-menu-item index="/home/system/userSetting/role">瑙掕壊绠$悊</el-menu-item>
               <!-- 閮ㄩ棬绠$悊 -->
-              <el-menu-item index="/home/system/department">閮ㄩ棬绠$悊</el-menu-item>
-              <!-- <el-submenu index="/home/system/base/department" class="thirdMenu">
-                <template slot="title">
-                  <span class="thirdSpan">閮ㄩ棬绠$悊</span>
-                </template>
-                <el-menu-item index="/home/system/department">閮ㄩ棬绠$悊</el-menu-item>
-              </el-submenu> -->
+              <el-menu-item index="/home/system/userSetting/department">閮ㄩ棬绠$悊</el-menu-item>
             </el-submenu>
             <!-- 骞冲彴璁剧疆 -->
-            <el-submenu index="/home/operate/add" class="secondMenu">
+            <el-submenu index="/home/system/add" class="secondMenu">
               <template slot="title">
                 <span class="secondSpan">闂ㄦ埛绠$悊</span>
               </template>
               <el-menu-item index="/home/system/mySetting">鑷畾涔夎彍鍗�</el-menu-item>
               <el-menu-item index="/home/system/portalSetting">logo绠$悊</el-menu-item>
               <el-menu-item index="/home/system/otherInterface">绗笁鏂规帴鍙g鐞�</el-menu-item>
+            </el-submenu>
+            <!-- 璁惧绠$悊 -->
+            <el-submenu index="/home/system/device" class="secondMenu">
+              <template slot="title">
+                <span class="secondSpan">璁惧绠$悊</span>
+              </template>
+              <el-menu-item index="/home/system/device/bayonet">鍗″彛璁惧绠$悊</el-menu-item>
+              <el-menu-item index="/home/system/device/point">鐐逛綅绠$悊</el-menu-item>
+              <el-menu-item index="/home/system/device/grid">缃戞牸绠$悊</el-menu-item>
             </el-submenu>
           </el-submenu>
           <!-- 杩愯惀绠$悊妯″潡 -->
@@ -77,7 +60,7 @@
               </template>
               <el-menu-item index="/home/operate/baseSetting/violation">杩濊浜嬮」璁剧疆</el-menu-item>
               <el-menu-item index="/home/operate/baseSetting/illegalBuild">杩濆缓浜嬮」璁剧疆</el-menu-item>
-              <el-menu-item index="/home/operate/baseSetting/threepack">闂ㄥ墠涓夊寘璁剧疆</el-menu-item>
+              <!-- <el-menu-item index="/home/operate/baseSetting/threepack">闂ㄥ墠涓夊寘璁剧疆</el-menu-item> -->
             </el-submenu>
             <el-submenu index="/home/operate/disposal" class="secondMenu">
               <template slot="title">
diff --git a/src/views/operate/baseSetting/violation/createUser/index.vue b/src/views/operate/baseSetting/violation/createUser/index.vue
index 01669a3..b55af77 100644
--- a/src/views/operate/baseSetting/violation/createUser/index.vue
+++ b/src/views/operate/baseSetting/violation/createUser/index.vue
@@ -19,9 +19,6 @@
                     <!-- 鐖剁骇id -->
                     <el-form-item class="optionItem" label="鐖剁骇:" prop="parentId">
                         <el-select v-model="things.parentId" placeholder="璇烽�夋嫨鎵�灞炵被鍨�" :disabled="things.level===1">
-                            <!-- <el-option v-for="item in parentList" :key="item.id" :label="item.name" :value="item.id"
-                                v-if="things.level===1">
-                            </el-option> -->
                             <el-option :value="mylabel">
                                 <el-tree ref="tree" :check-strictly="true"  :data="parentList" :props="defaultProps" show-checkbox
                                     @check-change="handleCheck" default-expand-all node-key="id">
@@ -109,7 +106,12 @@
             },
             defaultProps: {
                 children: 'children',
-                label: 'name'
+                label: 'name',
+                disabled:(data,node)=>{
+                    if (data.level<this.things.level-1) {
+                        return !data.leaf
+                    }
+                }
             },
             mylabel:''
         }
@@ -210,6 +212,7 @@
         },
         // 妗堜欢绾у埆鍙樺寲
         async resetParentList(index) {
+            this.things.parentId=''
             this.selectOrg.orgsid = [];
             if (index === 1) {
                 // this.getTypeThird();
diff --git a/src/views/operate/car/myIndex/index.vue b/src/views/operate/car/myIndex/index.vue
index 0f0b869..c3de32e 100644
--- a/src/views/operate/car/myIndex/index.vue
+++ b/src/views/operate/car/myIndex/index.vue
@@ -65,10 +65,10 @@
                 <!-- tools -->
                 <div class="tools">
                     <div class="funs">
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
                         </div>
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
@@ -302,7 +302,6 @@
         opernDialog(data){
             this.dialogAdd = true;
             this.caseId = data.id;
-            // console.log(data); 
         },
         // 鍏抽棴鐣岄潰
         closeDialog({flag,index}){
@@ -418,12 +417,13 @@
 
             .funs {
                 display: flex;
-
+                .funs-sp{
+                    border: 1px solid #17324c;
+                }
                 .funsItem {
                     line-height: 28px;
                     display: flex;
                     align-items: center;
-                    border: 1px solid #17324c;
                     border-radius: 4px;
                     font-size: 12px;
                     margin-left: 10px;
diff --git a/src/views/operate/disposal/casepool/dispatch/index.vue b/src/views/operate/disposal/casepool/dispatch/index.vue
index 6314ab2..effa791 100644
--- a/src/views/operate/disposal/casepool/dispatch/index.vue
+++ b/src/views/operate/disposal/casepool/dispatch/index.vue
@@ -95,10 +95,10 @@
                 <!-- tools -->
                 <div class="tools">
                     <div class="funs">
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
                         </div>
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
@@ -467,7 +467,9 @@
             justify-content: space-between;
             align-items: center;
             padding: 0 20px;
-
+            .funs-sp{
+                border: 1px solid #17324c;
+            }
             .funs {
                 display: flex;
 
@@ -475,7 +477,6 @@
                     line-height: 28px;
                     display: flex;
                     align-items: center;
-                    border: 1px solid #17324c;
                     border-radius: 4px;
                     font-size: 12px;
                     margin-left: 10px;
diff --git a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue
index 449b57b..61e13cf 100644
--- a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue
+++ b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue
@@ -33,7 +33,7 @@
                         </div>
                         <div class="upload" v-if="arrive.situationPic.length<4">
                             <el-upload :file-list="fileList" class="upload-demo"
-                                action="/sccg/file/medias" multiple :show-file-list="false"
+                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
                                 :limit="50" :on-success="handleSuccess" list-type="picture" :headers="getToken()">
                                 <i class="el-icon-plus"></i>
                             </el-upload>
diff --git a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/book/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/book/index.vue
index eda2ad9..ea68e71 100644
--- a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/book/index.vue
+++ b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/book/index.vue
@@ -59,7 +59,7 @@
                         </div>
                         <div class="upload" v-if="book.writPic.length<4">
                             <el-upload :file-list="fileList" class="upload-demo"
-                                action="/sccg/file/medias" multiple :show-file-list="false"
+                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
                                 :limit="4" :on-success="handleSuccess1" :headers="getToken()">
                                 <i class="el-icon-plus"></i>
                             </el-upload>
@@ -78,7 +78,7 @@
                         </div>
                         <div class="upload" v-if="book.originalPic.length<4">
                             <el-upload :file-list="fileList" class="upload-demo"
-                                action="/sccg/file/medias" multiple :show-file-list="false"
+                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
                                 :limit="4" :on-success="handleSuccess2" :headers="getToken()">
                                 <i class="el-icon-plus"></i>
                             </el-upload>
@@ -97,7 +97,7 @@
                         </div>
                         <div class="upload" v-if="book.rectifiedPic.length<4">
                             <el-upload :file-list="fileList" class="upload-demo"
-                                action="/sccg/file/medias" multiple :show-file-list="false"
+                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
                                 :limit="4" :on-success="handleSuccess3" :headers="getToken()">
                                 <i class="el-icon-plus"></i>
                             </el-upload>
@@ -116,7 +116,7 @@
                         </div>
                         <div class="upload" v-if="book.otherPic.length<4">
                             <el-upload :file-list="fileList" class="upload-demo"
-                                action="/sccg/file/medias" multiple :show-file-list="false"
+                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
                                 :limit="4" :on-success="handleSuccess4" :headers="getToken()">
                                 <i class="el-icon-plus"></i>
                             </el-upload>
diff --git a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue
index 7d70c90..511566a 100644
--- a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue
+++ b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue
@@ -46,7 +46,7 @@
                         </div>
                         <div class="upload" v-if="evidence.pic.length<4">
                             <el-upload :file-list="fileList" class="upload-demo"
-                                action="/sccg/file/medias" multiple :show-file-list="false"
+                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
                                 :limit="4" :on-success="handleSuccess2" :headers="getToken()">
                                 <i class="el-icon-plus"></i>
                             </el-upload>
diff --git a/src/views/operate/disposal/casepool/escalation/index.vue b/src/views/operate/disposal/casepool/escalation/index.vue
index 3f78a38..31434d3 100644
--- a/src/views/operate/disposal/casepool/escalation/index.vue
+++ b/src/views/operate/disposal/casepool/escalation/index.vue
@@ -90,10 +90,10 @@
                 <!-- tools -->
                 <div class="tools">
                     <div class="funs">
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
                         </div>
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
@@ -545,12 +545,13 @@
 
             .funs {
                 display: flex;
-
+                .funs-sp{
+                    border: 1px solid #17324c;
+                }
                 .funsItem {
                     line-height: 28px;
                     display: flex;
                     align-items: center;
-                    border: 1px solid #17324c;
                     border-radius: 4px;
                     font-size: 12px;
                     margin-left: 10px;
diff --git a/src/views/operate/disposal/casepool/learn/index.vue b/src/views/operate/disposal/casepool/learn/index.vue
index 69dbf6e..ceeb418 100644
--- a/src/views/operate/disposal/casepool/learn/index.vue
+++ b/src/views/operate/disposal/casepool/learn/index.vue
@@ -91,10 +91,10 @@
                 <!-- tools -->
                 <div class="tools">
                     <div class="funs">
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
                         </div>
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
@@ -481,12 +481,13 @@
 
             .funs {
                 display: flex;
-
+                .funs-sp{
+                    border: 1px solid #17324c;
+                }
                 .funsItem {
                     line-height: 28px;
                     display: flex;
                     align-items: center;
-                    border: 1px solid #17324c;
                     border-radius: 4px;
                     font-size: 12px;
                     margin-left: 10px;
diff --git a/src/views/operate/disposal/casepool/notDeal/index.vue b/src/views/operate/disposal/casepool/notDeal/index.vue
index 97519f6..a0e23fc 100644
--- a/src/views/operate/disposal/casepool/notDeal/index.vue
+++ b/src/views/operate/disposal/casepool/notDeal/index.vue
@@ -84,10 +84,10 @@
                 <!-- tools -->
                 <div class="tools">
                     <div class="funs">
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
                         </div>
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
@@ -464,12 +464,13 @@
 
             .funs {
                 display: flex;
-
+                .funs-sp{
+                    border: 1px solid #17324c;
+                }
                 .funsItem {
                     line-height: 28px;
                     display: flex;
                     align-items: center;
-                    border: 1px solid #17324c;
                     border-radius: 4px;
                     font-size: 12px;
                     margin-left: 10px;
diff --git a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
index 7c84c25..b6d8f0c 100644
--- a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
+++ b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
@@ -28,7 +28,7 @@
                     </div>
                     <div class="user-item">
                         <!-- 灏忕被鍚嶇О -->
-                        <el-form-item class="optionItems" label="灏忕被鍚嶇О:" prop="typeId" >
+                        <el-form-item class="optionItems" label="灏忕被鍚嶇О:" prop="typeId">
                             <el-select v-model="vio.typeId" placeholder="璇烽�夋嫨灏忕被鍚嶇О" @change="handleSmallKindChange">
                                 <el-option v-for="item in smallKindList" :key="item.id" :label="item.name"
                                     :value="item.id">
@@ -45,12 +45,11 @@
                         </el-form-item>
                     </div>
                     <!-- 妗堢敱 -->
-                    <el-form-item class="optionItem" label="妗堢敱:" prop="actionCause">
-                        <el-select v-model="vio.actionCause" placeholder="璇疯緭鍏ユ鐢�">
-                                <el-option v-for="item in anYouList" :key="item.id" :label="item.name"
-                                    :value="item.id" >
-                                </el-option>
-                            </el-select>
+                    <el-form-item class="optionItem anyou" label="妗堢敱:" prop="actionCause">
+                        <el-select v-model="vio.actionCause" placeholder="璇疯緭鍏ユ鐢�" filterable @blur="selectBlur">
+                            <el-option v-for="item in anYouList" :key="item.id" :label="item.name" :value="item.name" >
+                            </el-option>
+                        </el-select>
                         <!-- <el-input v-model="vio.actionCause" placeholder="璇疯緭鍏ユ鐢�"></el-input> -->
                     </el-form-item>
                     <!-- 鎵�灞炲尯鍘� -->
@@ -141,7 +140,8 @@
 </template>
 <script>
 import MyMap from '@/components/map'
-import { validateName, validatePhone, validateCarNum } from '@/utils/validate'
+import { validateName, validatePhone, validateCarNum, validateCardId } from '@/utils/validate'
+import {getTypeList} from '@/utils/helper'
 export default {
     components: {
         MyMap
@@ -223,21 +223,21 @@
         }
         const checkName = (rule, value, callback) => {
             if (value) {
-                validateName(value) ? callback():callback(new Error('璇疯緭鍏ユ纭殑濮撳悕'))
+                validateName(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑濮撳悕'))
             } else {
                 callback()
             }
         }
         const checkCardId = (rule, value, callback) => {
             if (value) {
-                callback();
+                validateCardId(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�'))
             } else {
                 callback()
             }
         }
         const checkPhone = (rule, value, callback) => {
             if (value) {
-                validatePhone(value) ? callback():callback(new Error('璇疯緭鍏ユ纭殑鎵嬫満鍙�'));
+                validatePhone(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑鎵嬫満鍙�'));
             } else {
                 callback()
             }
@@ -246,9 +246,9 @@
             if (value) {
                 callback();
             } else {
-                if(this.vio.linkShop===1){
+                if (this.vio.linkShop === 1) {
                     callback(new Error('鍏宠仈鍟嗛摵鍚嶅瓧涓嶈兘涓虹┖'));
-                }else{
+                } else {
                     callback();
                 }
             }
@@ -303,23 +303,23 @@
                         required: true, trigger: 'blur', validator: checkDesc
                     }
                 ],
-                informant:[
+                informant: [
                     {
                         required: false, trigger: 'blur', validator: checkName
                     }
                 ],
-                informantIdCard:[
+                informantIdCard: [
                     {
                         required: false, trigger: 'blur', validator: checkCardId
                     }
                 ],
-                informantPhoneCode:[
+                informantPhoneCode: [
                     {
                         required: false, trigger: 'blur', validator: checkPhone
                     }
                 ],
                 // linkShop:0,//鏄惁鍏宠仈鍟嗛摵(0鍚�1鏄�)
-                shopName:[
+                shopName: [
                     {
                         required: false, trigger: 'blur', validator: checkLink
                     }
@@ -370,11 +370,11 @@
             ],
             streetList: [],
             communityList: [],
-            anYouList:[],
+            anYouList: [],
         }
     },
     created() {
-        const { setBigKindList,getStreetList,getEventLevel } = this;
+        const { setBigKindList, getStreetList, getEventLevel } = this;
         console.log(this.mytype);
         this.vio.category = this.mytype + 1;
         setBigKindList();
@@ -386,23 +386,23 @@
             this.refresh();
         },
         // 璁剧疆澶х被
-        async setBigKindList(){
-            this.bigKindList = await this.getBigKind(); 
+        async setBigKindList() {
+            this.bigKindList = await this.getBigKind();
         },
         // 璁剧疆灏忕被
-        async setSmallKindList(id){
+        async setSmallKindList(id) {
             let arr = await this.getSmallKind();
-            this.smallKindList = arr.filter(item=>{
-                if(item.parentId===id){
+            this.smallKindList = arr.filter(item => {
+                if (item.parentId === id) {
                     return item;
                 }
             })
         },
         // 璁剧疆妗堢敱
-        async setAnYouList(id){
+        async setAnYouList(id) {
             let arr = await this.getAnYouList();
-            this.anYouList = arr.filter(item=>{
-                if(item.parentId===id){
+            this.anYouList = arr.filter(item => {
+                if (item.parentId === id) {
                     return item;
                 }
             })
@@ -433,14 +433,8 @@
             return arr
         },
         // 鑾峰彇妗堜欢绛夌骇鍒楄〃
-        getEventLevel() {
-            this.$axios({
-                method: 'get',
-                url: 'sccg/violations/query/event_type'
-            })
-                .then(res => {
-                    this.eventLevelList = res.data;
-                })
+        async getEventLevel() {
+            this.eventLevelList = await getTypeList(1,'02');
         },
         // 鏌ヨ鎵�灞炴鐢�
         async getAnYouList() {
@@ -491,19 +485,14 @@
             this.$emit('changeDialog', { flag: false })
         },
         // 鑾峰彇琛楅亾淇℃伅
-        getStreetList() {
-            this.$axios({
-                method: 'get',
-                url: 'sccg/dict/query_Street_type'
-            })
-                .then(res => {
-                    this.streetList = res.data;
-                })
+        async getStreetList() {
+            this.streetList = await getTypeList(1,'10');
         },
         // 琛楅亾鏇存敼
         handleStreet(id) {
             console.log(id);
             this.vio.communityId = '';
+            // this.communityList = getTypeList(1,'11')
             this.$axios({
                 method: 'get',
                 url: 'sccg/dict/query_social_type?id=' + id
@@ -517,16 +506,23 @@
             value === 0 ? this.vio.shopName = '' : '';
         },
         // 澶х被閫変腑
-        handleBigKindChange(id){
+        handleBigKindChange(id) {
             this.vio.actionCause = '';
             this.vio.typeId = '';
             this.setSmallKindList(id);
         },
         // 灏忕被閫変腑
-        handleSmallKindChange(id){
+        handleSmallKindChange(id) {
             this.vio.actionCause = '';
             this.setAnYouList(id);
-        } 
+        },
+        // 妗堢敱杈撳叆
+        selectBlur(e){
+            if(e.target.value){
+                this.vio.actionCause = e.target.value;
+                console.log(e.target.value);
+            }
+        }
     },
     props: ['mytype', 'changeDialog', 'refresh']
 }
@@ -586,53 +582,9 @@
     .map-area {
         flex: 1;
     }
-
-    .not-need {
-        color: #4b9bb7;
-
-        .not-need__header {
-            line-height: 40px;
-        }
-
-        .my-sp-item {
-            display: flex;
-
-            .not-item-left,
-            .not-item-right {
-                display: flex;
-
-                .el-input {
-                    flex: 1;
-                }
-            }
-        }
-
-        .not-need-item {
-            line-height: 40px;
-            margin-bottom: 22px;
-            display: flex;
-
-            label {
-                width: 100px;
-                padding-right: 12px;
-                text-align: right;
-            }
-
-            .el-input {
-                flex: 1;
-            }
-
-            .not-need__inner {
-                flex: 1;
-                line-height: 40px;
-                padding: 0 15px;
-                border-radius: 4px;
-                color: #fff;
-                // outline: #409eff solid 1px;
-                outline: none;
-                background-color: #09152f;
-                border: 1px solid #17324c;
-            }
+    .anyou{
+        :deep(.el-select){
+            display: block;
         }
     }
 
diff --git a/src/views/operate/disposal/casepool/pool/index.vue b/src/views/operate/disposal/casepool/pool/index.vue
index e49a982..7af8961 100644
--- a/src/views/operate/disposal/casepool/pool/index.vue
+++ b/src/views/operate/disposal/casepool/pool/index.vue
@@ -94,6 +94,9 @@
                                 <span class="line">|</span>
                                 <span @click="handleNotDeal(scope.row)">鏆備笉澶勭悊</span>
                             </div>
+                            <div class="operation" v-else>
+                                <span @click="JumpView(scope.row)">鏌ョ湅</span>
+                            </div>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -112,11 +115,11 @@
                 <!-- tools -->
                 <div class="tools">
                     <div class="funs">
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="all" @change="selectAll()"
                                 :disabled="tableData.length !== 0 ? false : true">鍏ㄩ��</el-checkbox>
                         </div>
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
@@ -442,6 +445,7 @@
                 url: `sccg/base_case/baseCaseDetail/${code}`
             })
                 .then(res => {
+                    console.log(res);
                     this.info = res.data;
                     this.dialogView = true;
                 })
@@ -640,12 +644,13 @@
 
             .funs {
                 display: flex;
-
+                .funs-sp{
+                    border: 1px solid #17324c;
+                }
                 .funsItem {
                     line-height: 28px;
                     display: flex;
                     align-items: center;
-                    border: 1px solid #17324c;
                     border-radius: 4px;
                     font-size: 12px;
                     margin-left: 10px;
diff --git a/src/views/operate/fivepack/shop/components/createUser/index.vue b/src/views/operate/fivepack/shop/components/createUser/index.vue
index dbf7350..b773949 100644
--- a/src/views/operate/fivepack/shop/components/createUser/index.vue
+++ b/src/views/operate/fivepack/shop/components/createUser/index.vue
@@ -142,7 +142,7 @@
         }
     },
     created() {
-        const that = this;
+        this.getCodeList();
     },
     methods: {
         handleUser() {
@@ -184,6 +184,16 @@
         },
         handleBack(){
             this.$emit('sendDialog',{flag:false})
+        },
+        // 鑾峰彇瀛楀吀
+        getCodeList(){
+            this.$axios({
+                method:'get',
+                url:'sccg/dict/queryByCode?code='+"03"
+            })
+            .then(res=>{
+                console.log(res);
+            })
         }
     },
     props: ['sendDialog']
diff --git a/src/views/operate/fivepack/shop/components/header/index.vue b/src/views/operate/fivepack/shop/components/header/index.vue
index 280fe26..ba96679 100644
--- a/src/views/operate/fivepack/shop/components/header/index.vue
+++ b/src/views/operate/fivepack/shop/components/header/index.vue
@@ -6,10 +6,10 @@
                     <span>杈撳叆鏌ヨ:</span>
                     <el-input placeholder="搴楅摵(闂ㄥ簵)鍚嶇О" v-model="search"></el-input>
                 </div>
-                <div class="status">
+                <!-- <div class="status">
                     <span>搴楅摵鐘舵��:</span>
                     <el-input placeholder="閫夋嫨搴楅摵鐘舵��" v-model="shopStatus"></el-input>
-                </div>
+                </div> -->
                 <div class="findBtn">
                     <el-button type="primary" @click="setSearch" icon="el-icon-search">鏌ヨ</el-button>
                     <el-button icon="el-icon-delete-solid" @click="clearSearch">閲嶇疆</el-button>
diff --git a/src/views/operate/management/myIndex/components/closure/index.vue b/src/views/operate/management/myIndex/components/closure/index.vue
index bddc83d..71dd4ac 100644
--- a/src/views/operate/management/myIndex/components/closure/index.vue
+++ b/src/views/operate/management/myIndex/components/closure/index.vue
@@ -15,28 +15,28 @@
                         <span class="data-detail">{{baseCase.category === 1 ? '杩濊' : '杩濆缓'}}</span>
                     </el-form-item>
                     <el-form-item label="浜嬩欢绛夌骇:">
-                        <span class="data-detail">xxxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.gradeText}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
                     <el-form-item label="澶х被鍚嶇О:">
-                        <span class="data-detail">xxxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.categoryText}}</span>
                     </el-form-item>
                     <el-form-item label="灏忕被鍚嶇О:">
-                        <span class="data-detail">xxxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.categoryText}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
                     <el-form-item label="鎵�灞炲尯鍘�:">
-                        <span class="data-detail">xxxx</span>
+                        <span class="data-detail"></span>
                     </el-form-item>
                     <el-form-item label="鎵�灞炶閬�:">
-                        <span class="data-detail">{{baseCase.streetId}}</span>
+                        <span class="data-detail">{{baseCase.streetText}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
                     <el-form-item label="鎵�灞炵ぞ鍖�:">
-                        <span class="data-detail">{{baseCase.communityId}}</span>
+                        <span class="data-detail">{{baseCase.communityText}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
@@ -44,25 +44,25 @@
                         <span class="data-detail">{{baseCase.site}}</span>
                     </el-form-item>
                     <el-form-item label="杞︾墝鍙�:">
-                        <span class="data-detail">xxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.carNumber}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
                     <el-form-item label="鍏宠仈鍟嗛摵鍚嶇О:">
-                        <span class="data-detail">xxxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.shopName}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
                     <el-form-item label="闂鎻忚堪:">
-                        <span class="data-detail">xxxxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.description}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
                     <el-form-item label="鍙嶆槧浜�:">
-                        <span class="data-detail">xxxxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.informant}}</span>
                     </el-form-item>
                     <el-form-item label="鑱旂郴鏂瑰紡:">
-                        <span class="data-detail">xxxxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.informantPhoneCode}}</span>
                     </el-form-item>
                 </div>
                 <!-- 瀹℃牳鎰忚
@@ -99,13 +99,13 @@
                         </el-form>
                         <div class="form-footer">
                             <el-button type="primary"  @click.native.prevent="handleSubmit">缁撴</el-button>
-                            <el-button>杩斿洖</el-button>
+                            <el-button  @click.native.prevent="handleBack">杩斿洖</el-button>
                         </div>
                     </div>
                     <MyProcess v-else-if="activeIndex === 1" :handlePassVo="handlePassVo" :baseCase="baseCase"></MyProcess>
-                    <MyFilePicture v-else-if="activeIndex === 2" :filesPictureVo="filesPictureVo"></MyFilePicture>
-                    <MySovleProblem v-else-if="activeIndex === 3" :problemProVo="problemProVo"></MySovleProblem>
-                    <MyScene v-else :currentSitVo="currentSitVo"></MyScene>
+                    <MyFilePicture v-else-if="activeIndex === 2"  :baseCase="baseCase" :filesPictureVo="filesPictureVo"></MyFilePicture>
+                    <MySovleProblem v-else-if="activeIndex === 3" :baseCase="baseCase" :problemProVo="problemProVo"></MySovleProblem>
+                    <MyScene v-else :baseCase="baseCase" :currentSitVo="currentSitVo"></MyScene>
                 </div>
             </div>
         </div>
@@ -193,6 +193,9 @@
         changeComponent(index) {
             this.activeIndex = index;
         },
+        handleBack(){
+            this.$emit('closeDialog', { flag: false });
+        },
         // 鎻愪氦瀹℃牳鎰忚
         handleSubmit() {
             const { baseCase } = this;
diff --git a/src/views/operate/management/myIndex/components/examine/index.vue b/src/views/operate/management/myIndex/components/examine/index.vue
index 62b985a..6bd340d 100644
--- a/src/views/operate/management/myIndex/components/examine/index.vue
+++ b/src/views/operate/management/myIndex/components/examine/index.vue
@@ -15,20 +15,20 @@
                         <span class="data-detail">{{baseCase.category === 1 ? '杩濊' : '杩濆缓'}}</span>
                     </el-form-item>
                     <el-form-item label="澶х被鍚嶇О:">
-                        <span class="data-detail">xxxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.categoryText}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
                     <el-form-item label="灏忕被鍚嶇О:">
-                        <span class="data-detail">xxxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.typeText}}</span>
                     </el-form-item>
                     <el-form-item label="浜嬩欢绛夌骇:">
-                        <span class="data-detail">xxxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.gradeText}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
                     <el-form-item label="妗堢敱:">
-                        <span class="data-detail">xxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.actionCause}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
@@ -36,12 +36,12 @@
                         <span class="data-detail">xxxx</span>
                     </el-form-item>
                     <el-form-item label="鎵�灞炶閬�:">
-                        <span class="data-detail">{{baseCase.streetId}}</span>
+                        <span class="data-detail">{{baseCase.streetText}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
                     <el-form-item label="鎵�灞炵ぞ鍖�:">
-                        <span class="data-detail">{{baseCase.communityId}}</span>
+                        <span class="data-detail">{{baseCase.communityText}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
@@ -51,7 +51,7 @@
                 </div>
                 <div class="data-item">
                     <el-form-item label="闂鎻忚堪:">
-                        <span class="data-detail">xxxxxx</span>
+                        <span class="data-detail">{{baseCase.violations.description}}</span>
                     </el-form-item>
                 </div>
                 <div class="data-item">
@@ -84,10 +84,10 @@
             </div>
             <div class="show-item">
                 <div class="show-wrap">
-                    <MyProcess v-if="activeIndex === 1" :handlePassVo="handlePassVo"></MyProcess>
-                    <MyFilePicture v-else-if="activeIndex === 2" :filesPictureVo="filesPictureVo"></MyFilePicture>
-                    <MySovleProblem v-else-if="activeIndex === 3" :problemProVo="problemProVo"></MySovleProblem>
-                    <MyScene v-else :currentSitVo="currentSitVo"></MyScene>
+                    <MyProcess v-if="activeIndex === 1" :handlePassVo="handlePassVo" :baseCase="baseCase"></MyProcess>
+                    <MyFilePicture v-else-if="activeIndex === 2" :filesPictureVo="filesPictureVo" ></MyFilePicture>
+                    <MySovleProblem v-else-if="activeIndex === 3" :baseCase="baseCase" :problemProVo="problemProVo"></MySovleProblem>
+                    <MyScene v-else :currentSitVo="currentSitVo" :baseCase="baseCase"></MyScene>
                 </div>
             </div>
         </div>
diff --git a/src/views/operate/management/myIndex/index.vue b/src/views/operate/management/myIndex/index.vue
index ede3dd1..f39c4ae 100644
--- a/src/views/operate/management/myIndex/index.vue
+++ b/src/views/operate/management/myIndex/index.vue
@@ -87,10 +87,10 @@
                 <!-- tools -->
                 <div class="tools">
                     <div class="funs">
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
                         </div>
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
@@ -405,12 +405,13 @@
 
             .funs {
                 display: flex;
-
+                .funs-sp{
+                    border: 1px solid #17324c;
+                }
                 .funsItem {
                     line-height: 28px;
                     display: flex;
                     align-items: center;
-                    border: 1px solid #17324c;
                     border-radius: 4px;
                     font-size: 12px;
                     margin-left: 10px;
diff --git a/src/views/operate/message/myIndex/createUser/index.vue b/src/views/operate/message/myIndex/createUser/index.vue
index aff2598..64cc64d 100644
--- a/src/views/operate/message/myIndex/createUser/index.vue
+++ b/src/views/operate/message/myIndex/createUser/index.vue
@@ -14,7 +14,7 @@
                                     </el-option>
                                 </el-select>
                             </div>
-                            <span class="message-add" @click='dialogCreate = true'>娣诲姞鏍忕洰</span>
+                            <span class="message-add" @click='dialogCreate = true'> 娣诲姞鏍忕洰</span>
                         </div>
                     </el-form-item>
                     <!-- 娑堟伅鏍囬 -->
@@ -26,9 +26,9 @@
                     <!-- 鎺ユ敹瀵硅薄 -->
                     <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
                         <div class="message-item__left">
-                            <el-select v-model="role.targetTo" multiple :placeholder="checkNum">
+                            <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
                                 <el-option :value="role.targetTo">
-                                    <el-tree ref="tree"  :data="departList" :props="defaultProps"
+                                    <el-tree ref="tree" check-strictly :data="departList" :props="defaultProps"
                                         show-checkbox @check="handleCheck" default-expand-all node-key="id">
                                     </el-tree>
                                 </el-option>
@@ -37,7 +37,7 @@
                     </el-form-item>
                     <!-- 娑堟伅鍐呭 -->
                     <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
-                        <MyEditor :content="role.body"></MyEditor>
+                        <MyEditor ref="edit" @getMyBody="getMyBody"></MyEditor>
                         <!-- <el-input type="textarea" v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input> -->
                     </el-form-item>
                     <!-- 鎻愰啋鏂瑰紡 -->
@@ -53,11 +53,11 @@
                         <div class="optionBtn">
                             <el-button type="primary" class="btn save">淇濆瓨
                             </el-button>
-                            <el-button type="primary" class="btn submit">鍙戝竷
+                            <el-button type="primary" @click.native.prevent="handleSubmit" class="btn submit">鍙戝竷
                             </el-button>
                             <el-button type="primary" class="btn submit">棰勮
                             </el-button>
-                            <el-button class="btn cancel">閲嶇疆</el-button>
+                            <el-button class="btn cancel" @click.native.prevent="handleReset">閲嶇疆</el-button>
                         </div>
                     </el-form-item>
                 </el-form>
@@ -91,10 +91,10 @@
             }
         };
         const validateTruename = (rule, value, callback) => {
-            if (value) {
+            if (value.length !== 0) {
                 callback();
             } else {
-                callback();
+                callback(new Error('璇烽�夋嫨鎺ユ敹瀵硅薄'));
             }
         };
         return {
@@ -106,19 +106,18 @@
                 channelCode: 1,
             },
             createRoleRules: {
-                name: [
+                messageType: [
                     { required: true, trigger: "blur", validator: validateNickname },
                 ],
-                type: [
+                head: [
                     { required: false, trigger: "blur", validator: validatePass },
                 ],
-                description: [
+                targetTo: [
                     { required: false, trigger: "blur", validator: validateTruename },
                 ],
             },
             colList: [],
             departList: [],
-            checkNum: '璇烽�夋嫨鎺ユ敹瀵硅薄',
             typeList: [],
             dialogCreate: false,
             defaultProps: {
@@ -128,8 +127,9 @@
                     if (data.createTime) {
                         return !data.leaf
                     }
-                } 
+                }
             },
+            checkedList: []
         }
     },
     created() {
@@ -200,11 +200,11 @@
             if (obj.children !== null) {
                 if (obj.children.length !== 0) {
                     obj.children.forEach(item => {
-                        return this.setChildren(item); 
+                        return this.setChildren(item);
                     })
                 }
             } else {
-                if (obj.userInfoDTOS.length !== 0) { 
+                if (obj.userInfoDTOS.length !== 0) {
                     obj.children = [];
                     obj.userInfoDTOS.forEach(item => {
                         obj.children.push({ id: item.userId, departName: item.username })
@@ -214,16 +214,57 @@
         },
         // 閫変腑id
         handleCheck(data, node) {
-            console.log(node.checkedKeys);
-            // this.checkList = node.checkedKeys;
-            // if(node.checkedKeys.length === 1){
-            //     this.role.targetTo = data.departName;
-            // }
-            // let per = node.checkedKeys.length;
-            // per ===0 ? this.checkNum="璇烽�夋嫨鎺ユ敹瀵硅薄" : this.checkNum = ''+per;
+            console.log(data, node);
+            this.checkedList = node.checkedKeys;
+            this.role.targetTo = node.checkedKeys.length + '浜�';
+        },
+        // 鏂板缓娑堟伅
+        handleSubmit() {
+            console.log(this.role);
+            this.$refs.user.validate((valid) => {
+                console.log(valid)
+                if (valid) {
+                    const {role,checkedList} = this;
+                    this.$axios({
+                        method: 'post',
+                        url: 'sccg/message/sendMessage',
+                        data: {
+                            body: role.body,
+                            channelCode: role.channelCode,
+                            head: role.head,
+                            messageType: role.messageType,
+                            sendTime: new Date(),
+                            targetTo: checkedList.join(',')
+                        }
+                    })
+                    .then(res=>{
+                        if(res.code === 200){
+                            this.$message({
+                                type:'success',
+                                message:'鍙戦�佹垚鍔�',
+                            })
+                            this.$emit('closeMyDialog',{flag:false,index:1});
+                        }
+                    })
+                } else {
+                    return false;
+                }
+            })
+        },
+        // 鑾峰緱娑堟伅浣�
+        getMyBody(obj) {
+            console.log(obj);
+            this.role.body = obj;
+        },
+        // 閲嶇疆琛ㄥ崟
+        handleReset(){
+            this.$refs.edit.editor.txt.clear();
+            // this.$refs.edit.wangEditor.txt.html('<p><br></p>') 
+            this.setDepartList();
+            this.$refs.user.resetFields();
         }
     },
-    props: ['']
+    props: ['closeMyDialog']
 }
 </script>
 <style lang="scss" scoped>
diff --git a/src/views/operate/message/myIndex/index.vue b/src/views/operate/message/myIndex/index.vue
index 039a410..bad32ed 100644
--- a/src/views/operate/message/myIndex/index.vue
+++ b/src/views/operate/message/myIndex/index.vue
@@ -51,7 +51,8 @@
                     </el-table-column>
                     <el-table-column prop="channelCode" label="娑堟伅鍒嗙被" min-width="10">
                         <template slot-scope="scope">
-                            <span>{{scope.row.channelCode === '01' ? '绔欏唴淇�':scope.row.channelCode ==='02'?"閭欢":'鐭俊'}}</span>
+                            <span>{{scope.row.channelCode === '01' ? '绔欏唴淇�':scope.row.channelCode
+                            ==='02'?"閭欢":'鐭俊'}}</span>
                         </template>
                     </el-table-column>
                     <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
@@ -64,7 +65,8 @@
                             <div class="operation">
                                 <el-link icon="el-icon-view" :underline="false" @click="dialogView = true">鏌ョ湅</el-link>
                                 <el-link icon="el-icon-edit" class="leftPx" :underline="false">缂栬緫</el-link>
-                                <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false" @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+                                <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+                                    @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
                             </div>
                         </template>
                     </el-table-column>
@@ -72,7 +74,7 @@
                 <!-- 鏂板缓娑堟伅 -->
                 <el-dialog title="鏂板缓娑堟伅" :visible.sync="dialogCreate" v-if="dialogCreate" width="80%"
                     :before-close="handleConfirmClose">
-                    <MyCreate></MyCreate>
+                    <MyCreate @closeMyDialog="closeDialog"></MyCreate>
                 </el-dialog>
                 <!-- 娑堟伅璇︽儏 -->
                 <el-dialog title="娑堟伅璇︽儏" :visible.sync="dialogView" v-if="dialogView" width="45%"
@@ -82,10 +84,10 @@
                 <!-- tools -->
                 <div class="tools">
                     <div class="funs">
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
                         </div>
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
@@ -113,14 +115,14 @@
 import MyCreate from './createUser'
 export default {
     components: {
-        MyView,MyCreate
+        MyView, MyCreate
     },
     data() {
         return {
             tableData: [],
             context: "",
-            dialogCreate:false,
-            dialogView:false,
+            dialogCreate: false,
+            dialogView: false,
             totalNum: null,
             pageSize: 10,
             currentPage: 1,
@@ -154,25 +156,25 @@
         this.setTableData();
     },
     methods: {
-        handleDelete(idarr){
+        handleDelete(idarr) {
             this.$axios({
-                method:'post',
-                url:'sccg/message/delete?ids='+idarr,
+                method: 'post',
+                url: 'sccg/message/delete?ids=' + idarr,
             })
-            .then(res=>{
-                if(res.code===200){
-                    this.$message({
-                        type:'success',
-                        message:'鍒犻櫎鎴愬姛',
-                    })
-                    this.setTableData();
-                }else{
-                    this.$message({
-                        type:'error',
-                        message:res.message
-                    })
-                }
-            })
+                .then(res => {
+                    if (res.code === 200) {
+                        this.$message({
+                            type: 'success',
+                            message: '鍒犻櫎鎴愬姛',
+                        })
+                        this.setTableData();
+                    } else {
+                        this.$message({
+                            type: 'error',
+                            message: res.message
+                        })
+                    }
+                })
         },
         // 璁剧疆琛ㄦ牸鏁版嵁
         async setTableData() {
@@ -183,7 +185,7 @@
         // 鑾峰彇娑堟伅鏁版嵁
         async getMessageList() {
             let arr = [];
-            const {currentPage,pageSize} = this;
+            const { currentPage, pageSize } = this;
             await this.$axios({
                 method: 'post',
                 url: 'sccg/message/list',
@@ -306,23 +308,24 @@
             this.search();
         },
         // 鍏抽棴寮圭獥
-        handleClose(done){
+        handleClose(done) {
             done();
         },
         // 纭鍏抽棴寮圭獥
-        handleConfirmClose(done){
+        handleConfirmClose(done) {
             this.$confirm('纭鍏抽棴?')
-            .then(_=>{
-                done();
-            })
-            .catch(err=>{
-                console.log(err);
-            })
+                .then(_ => {
+                    done();
+                })
+                .catch(err => {
+                    console.log(err);
+                })
         },
         // 鑷畾涔夊叧闂脊绐�
-        closeDialog({flag,index}){
+        closeDialog({ flag, index }) {
+            this.dialogCreate = flag;
             this.dialogView = flag;
-            if(index ===1 ){
+            if (index === 1) {
                 this.setTableData();
             }
         }
@@ -396,12 +399,15 @@
         margin-top: 20px;
         padding-bottom: 50px;
         border: 1pox solid #fff;
-        .el-link{
+
+        .el-link {
             color: #4b9bb7;
         }
-        .leftPx{
+
+        .leftPx {
             margin-left: 10px;
         }
+
         .mainTitle {
             line-height: 60px;
         }
@@ -422,11 +428,15 @@
             .funs {
                 display: flex;
 
+                .funs-sp {
+                    border: 1px solid #17324c;
+                }
+
                 .funsItem {
                     line-height: 28px;
                     display: flex;
                     align-items: center;
-                    border: 1px solid #17324c;
+
                     border-radius: 4px;
                     font-size: 12px;
                     margin-left: 10px;
diff --git a/src/views/systemSetting/baseSetting/department/createUser/index.vue b/src/views/systemSetting/baseSetting/department/createUser/index.vue
index d0e0582..f07eccf 100644
--- a/src/views/systemSetting/baseSetting/department/createUser/index.vue
+++ b/src/views/systemSetting/baseSetting/department/createUser/index.vue
@@ -11,8 +11,10 @@
                     <!-- 涓婄骇閮ㄩ棬 -->
                     <el-form-item class="optionItems" label="涓婄骇閮ㄩ棬:" prop="parentId">
                         <el-select v-model="depart.parentId" placeholder="璇疯緭鍏ヤ笂绾ч儴闂�">
-                            <el-option v-for="item in departList" :key="item.departName" :label="item.departName"
-                                :value="item.id" :disabled="item.disabled">
+                            <el-option :value="mylabel">
+                                <el-tree ref="tree" :check-strictly="true" :data="departList" :props="defaultProps"
+                                    show-checkbox @check-change="handleCheck" default-expand-all node-key="id">
+                                </el-tree>
                             </el-option>
                         </el-select>
                     </el-form-item>
@@ -23,15 +25,19 @@
                                 :value="item.id">
                             </el-option>
                         </el-select>
-                        <!-- <el-input v-model="depart.departType" placeholder="璇烽�夋嫨閮ㄩ棬绫诲瀷"></el-input> -->
                     </el-form-item>
                     <!--娣诲姞浜哄憳  -->
                     <el-form-item class="optionItem add" label="娣诲姞浜哄憳:">
                         <ul class="addPerson">
-                            <li><i class="el-icon-user-solid"></i></li>
-                            <li><i class="el-icon-user-solid"></i></li>
-                            <li><i class="el-icon-user-solid"></i></li>
-                            <li><i class="el-icon-plus" @click="openUser = true"></i></li>
+                            <li v-for="(item,index) in cehckedList" :key="index" @click="setLeader(index)">
+                                <div class="li-item">
+                                    <div class="li-icon">
+                                        <i :class="['el-icon-user-solid',item.checked ? 'leader': '']"></i>
+                                    </div>
+                                    <label style="font-size: 12px;" :class="[item.checked ? 'leader': '']">{{item.username}}</label>
+                                </div>
+                            </li>
+                            <li class="li-btn"><i class="el-icon-plus" @click="openUser = true"></i></li>
                         </ul>
                         <div class="card" v-if="openUser">
                             <el-card class="box-card">
@@ -66,6 +72,7 @@
     </div>
 </template>
 <script>
+import { getTypeList } from '@/utils/helper'
 export default {
     data() {
         const validateNickname = (rule, value, callback) => {
@@ -86,10 +93,6 @@
             if (!value) {
                 callback();
             } else {
-                // const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
-                // if (!rep.test(value)) {
-                //     callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
-                // }
                 callback();
             }
         };
@@ -117,8 +120,17 @@
             userList: [],
             departList: [],
             checkedUser: [],
+            cehckedList: [],
             openUser: false,
             departTypeList: [],
+            selectOrg: {
+                orgsid: []
+            },
+            mylabel: '',
+            defaultProps: {
+                children: 'children',
+                label: 'departName',
+            },
         }
     },
     created() {
@@ -134,23 +146,18 @@
         handleUser() {
             this.$refs.user.validate((valid) => {
                 if (valid) {
-                    const { depart, checkedUser, userList } = this;
-                    console.log(depart);
-                    console.log(checkedUser);
+                    const { depart,cehckedList,selectOrg } = this;
                     const arr = [];
-                    checkedUser.forEach(item => {
-                        userList.forEach(child => {
-                            if (item === child.id) {
-                                arr.push({ isLeader: 0, userId: item,});
-                            }
-                        })
+                    cehckedList.forEach(item => {
+                        arr.push({ isLeader: item.isLeader, userId: item.id, });
                     })
+                    console.log(arr);
                     this.$axios({
                         method: 'post',
-                        url:'/sccg/depart/create',
+                        url: '/sccg/depart/create',
                         data: {
                             departName: depart.departName,
-                            parentId: depart.parentId, departType: depart.departType, departDes: depart.departDes,
+                            parentId: selectOrg.orgsid[0], departType: depart.departType, departDes: depart.departDes,
                             departManagerList: arr
                         }
                     }).then(res => {
@@ -180,6 +187,7 @@
                 url: 'sccg/depart/tree',
             })
                 .then(res => {
+                    console.log(res);
                     res.data.unshift({ id: 0, departName: '椤剁骇鑿滃崟' })
                     this.departList = res.data;
                 })
@@ -195,21 +203,65 @@
         },
         addUser() {
             console.log(this.checkedUser);
+            console.log(this.userList);
+            this.cehckedList = [];
+            this.userList.forEach(item => {
+                this.checkedUser.forEach(child => {
+                    if (item.id == child) {
+                        this.cehckedList.push({ id: item.id, username: item.username, isLeader: 0, checked: false });
+                    }
+                })
+            })
+            this.cehckedList[0].isLeader = 1;
+            this.cehckedList[0].checked = true;
             this.openUser = false;
         },
         handleClose() {
             this.$emit('changMyDialog', { flag: false });
         },
         // 鑾峰彇閮ㄩ棬绫诲瀷
-        getDepartTypeList() {
-            this.$axios({
-                method: 'get',
-                url: 'sccg/dict/query_depart_type',
-            })
-                .then(res => {
-                    console.log(res);
-                    this.departTypeList = res.data;
+        async getDepartTypeList() {
+            this.departTypeList = await getTypeList(1, '08')
+        },
+        handleCheck(data, checked) {
+            this.depart.parentId = data.departName;
+            // 鑾峰彇褰撳墠閫夋嫨鐨刬d鍦ㄦ暟缁勪腑鐨勭储寮�
+            const indexs = this.selectOrg.orgsid.indexOf(data.id)
+            // 濡傛灉涓嶅瓨鍦ㄦ暟缁勪腑锛屽苟涓旀暟缁勪腑宸茬粡鏈変竴涓猧d骞朵笖checked涓簍rue鐨勬椂鍊欙紝浠h〃涓嶈兘鍐嶆閫夋嫨銆�
+            if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
+                this.$message({
+                    message: '鍙兘閫夋嫨涓�涓儴闂紒',
+                    type: 'warning',
+                    showClose: true
                 })
+                // 璁剧疆宸查�夋嫨鐨勮妭鐐逛负false 寰堥噸瑕�
+                this.$refs.tree.setChecked(data, false)
+            } else if (this.selectOrg.orgsid.length === 0 && checked) {
+                // 鍙戠幇鏁扮粍涓虹┖ 骞朵笖鏄凡閫夋嫨
+                // 闃叉鏁扮粍鏈夊�硷紝棣栧厛娓呯┖锛屽啀push
+                this.selectOrg.orgsid = []
+                this.selectOrg.orgsid.push(data.id)
+            } else if (
+                indexs >= 0 &&
+                this.selectOrg.orgsid.length === 1 &&
+                !checked
+            ) {
+                // 鍐嶆鐩存帴杩涜璧嬪�间负绌烘搷浣�
+                this.selectOrg.orgsid = []
+                this.depart.parentId = '';
+            }
+        },
+        // 璁剧疆棰嗗
+        setLeader(idx){
+            this.cehckedList.forEach((item,index)=>{
+                if(index === idx){
+                    item.checked = true;
+                    item.isLeader = 1;
+                }else{
+                    item.checked = false;
+                    item.isLeader = 0;
+                }
+            })
         }
     },
     props: ['refresh', 'changMyDialog']
@@ -341,6 +393,15 @@
         }
     }
 
+    .li-item {
+        display: flex;
+        flex-direction: column;
+    }
+
+    .leader {
+        color: red;
+    }
+
     footer {
         border-top: 1px solid #fff;
         height: 80px;
diff --git a/src/views/systemSetting/baseSetting/department/index.vue b/src/views/systemSetting/baseSetting/department/index.vue
index 0379968..b248dfa 100644
--- a/src/views/systemSetting/baseSetting/department/index.vue
+++ b/src/views/systemSetting/baseSetting/department/index.vue
@@ -40,8 +40,9 @@
                     </el-table-column> -->
                     <el-table-column prop="status" label="鍚敤" min-width="5">
                         <template slot-scope="scope">
-                            <el-switch class="switchStyle" v-model="scope.row.status" active-text="寮�" inactive-text="鍏�"
-                                active-color="#3fef9a" inactive-color="#000212" @change="handleChangeStatus(scope.row)">
+                            <!-- @change="handleChangeStatus(scope.row)" -->
+                            <el-switch class="switchStyle" v-model="scope.row.status"
+                                active-color="#3fef9a" inactive-color="#000212" disabled>
                             </el-switch>
                         </template>
                     </el-table-column>
@@ -66,10 +67,10 @@
                 <!-- tools -->
                 <div class="tools">
                     <div class="funs">
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
                         </div>
-                        <div class="funsItem">
+                        <div class="funsItem funs-sp">
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
@@ -401,7 +402,9 @@
             justify-content: space-between;
             align-items: center;
             padding: 0 20px;
-
+            .funs-sp{
+                border: 1px solid #17324c;
+            }
             .funs {
                 display: flex;
 
@@ -409,7 +412,6 @@
                     line-height: 28px;
                     display: flex;
                     align-items: center;
-                    border: 1px solid #17324c;
                     border-radius: 4px;
                     font-size: 12px;
                     margin-left: 10px;
@@ -477,34 +479,34 @@
                 }
             }
         }
-        &::v-deep .switchStyle .el-switch__label {
-            position: absolute;
-            display: none;
-            color: #fff;
-        }
+        // &::v-deep .switchStyle .el-switch__label {
+        //     position: absolute;
+        //     display: none;
+        //     color: #fff;
+        // }
 
-        &::v-deep .el-switch__core {
-            background-color: rgba(166, 166, 166, 1);
-        }
+        // &::v-deep .el-switch__core {
+        //     background-color: rgba(166, 166, 166, 1);
+        // }
 
-        &::v-deep .switchStyle .el-switch__label--left {
-            z-index: 9;
-            left: 20px;
-        }
+        // &::v-deep .switchStyle .el-switch__label--left {
+        //     z-index: 9;
+        //     left: 20px;
+        // }
 
-        &::v-deep .switchStyle .el-switch__label--right {
-            z-index: 9;
-            left: 4px;
-        }
+        // &::v-deep .switchStyle .el-switch__label--right {
+        //     z-index: 9;
+        //     left: 4px;
+        // }
 
-        &::v-deep .switchStyle .el-switch__label.is-active {
-            display: block;
-        }
+        // &::v-deep .switchStyle .el-switch__label.is-active {
+        //     display: block;
+        // }
 
-        &::v-deep .switchStyle.el-switch .el-switch__core,
-        &::v-deep .el-switch .el-switch__label {
-            width: 50px !important;
-        }
+        // &::v-deep .switchStyle.el-switch .el-switch__core,
+        // &::v-deep .el-switch .el-switch__label {
+        //     width: 50px !important;
+        // }
     }
 }
 </style>
\ No newline at end of file
diff --git a/src/views/systemSetting/baseSetting/department/updateUser/index.vue b/src/views/systemSetting/baseSetting/department/updateUser/index.vue
index 6f1c887..fecebad 100644
--- a/src/views/systemSetting/baseSetting/department/updateUser/index.vue
+++ b/src/views/systemSetting/baseSetting/department/updateUser/index.vue
@@ -7,18 +7,18 @@
             <div class="mainContent">
                 <el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules"
                     label-position="right">
-                    <!-- 閮ㄩ棬id -->
+                    <!-- 閮ㄩ棬id
                     <el-form-item class="optionItem" label="閮ㄩ棬id:" prop="id">
                         <el-input v-model="user.id" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" :disabled="!updateFlag"></el-input>
-                    </el-form-item>
+                    </el-form-item> -->
                     <!-- 閮ㄩ棬鍚嶇О -->
                     <el-form-item class="optionItem" label="閮ㄩ棬鍚嶇О:" prop="departName">
                         <el-input v-model="user.departName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" :disabled="!updateFlag"></el-input>
                     </el-form-item>
                     <!-- 涓婄骇閮ㄩ棬 -->
                     <el-form-item class="optionItems" label="涓婄骇閮ㄩ棬:" prop="parentId">
-                        <el-select v-model="user.parentId" placeholder="璇烽�夋嫨涓婄骇閮ㄩ棬" :disabled="!updateFlag">
-                            <el-option v-for="item in typeList" :key="item.departName" :label="item.departName"
+                        <el-select v-model="user.parentId" placeholder="璇烽�夋嫨涓婄骇閮ㄩ棬" disabled>
+                            <el-option v-for="item in departList" :key="item.departName" :label="item.departName"
                                 :value="item.id">
                             </el-option>
                         </el-select>
@@ -26,7 +26,7 @@
                     <!-- 閮ㄩ棬绫诲瀷 -->
                     <el-form-item class="optionItem" label="閮ㄩ棬绫诲瀷:" prop="departType">
                         <el-select v-model="user.departType" placeholder="璇烽�夋嫨閮ㄩ棬绫诲瀷" :disabled="!updateFlag">
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value">
+                            <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
                             </el-option>
                         </el-select>
                     </el-form-item>
@@ -47,6 +47,7 @@
     </div>
 </template>
 <script>
+import {getTypeList} from '@/utils/helper'
 export default {
     data() {
         const validateNickname = (rule, value, callback) => {
@@ -110,8 +111,8 @@
                     { required: false, trigger: "blur" },
                 ],
             },
-            roleList: [
-                { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
+            departList: [
+                
             ],
             typeList: []
         }
@@ -119,16 +120,11 @@
     created() {
         const that = this;
         this.user = JSON.parse(JSON.stringify(that.userInfo));
-        // 鑾峰彇瑙掕壊鍒楄〃
-        // this.$axios.get('')
-        // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃
-        // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{
-        //     console.log(res);
-        // })
-        // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
         this.$axios.get('sccg/depart/page').then(res => {
-            that.typeList = res.data.records;
-        })
+            that.departList = res.data.records;
+        });
+        // 鑾峰彇閮ㄩ棬绫诲瀷
+        this.getDepartType();
     },
     methods: {
         handleUser() {
@@ -154,6 +150,10 @@
                     return false;
                 }
             })
+        },
+        // 鑾峰彇閮ㄩ棬绫诲瀷
+        async getDepartType(){
+           this.typeList =   await getTypeList(1,'08')
         }
     },
     props: ['userInfo', 'updateFlag', 'getUserList', 'changeDialog']
@@ -163,28 +163,6 @@
 .updateUser {
     border-radius: 1px;
     background-color: #09152f;
-
-    // header {
-    //     display: flex;
-    //     justify-content: center;
-    //     height: 60px;
-    //     line-height: 60px;
-    //     padding: 0 20px;
-    //     border: 1px solid #fff;
-
-    //     .headerTitle {
-    //         color: #4b9bb7;
-    //         font-weight: 600;
-    //     }
-
-    //     .headerTip span {
-    //         color: #ff3b6c;
-    //     }
-
-    //     .headerTip label {
-    //         color: #4b9bb7;
-    //     }
-    // }
 
     main {
         // border: 1px solid #fff;
diff --git a/src/views/systemSetting/baseSetting/index.vue b/src/views/systemSetting/baseSetting/index.vue
new file mode 100644
index 0000000..e3bc8ac
--- /dev/null
+++ b/src/views/systemSetting/baseSetting/index.vue
@@ -0,0 +1,3 @@
+<template>
+    <router-view></router-view>
+</template>
\ No newline at end of file
diff --git a/src/views/systemSetting/baseSetting/role/createUser/index.vue b/src/views/systemSetting/baseSetting/role/createUser/index.vue
index e967385..442819b 100644
--- a/src/views/systemSetting/baseSetting/role/createUser/index.vue
+++ b/src/views/systemSetting/baseSetting/role/createUser/index.vue
@@ -34,6 +34,7 @@
     </div>
 </template>
 <script>
+import { getTypeList } from '@/utils/helper'
 export default {
     data() {
         const validateNickname = (rule, value, callback) => {
@@ -113,15 +114,8 @@
             this.refresh();
         },
         // 鑾峰彇瑙掕壊绫诲瀷
-        getRoleTypeList(){
-            this.$axios({
-                method:'get',
-                url:'sccg/dict/query_role_type',
-            })
-            .then(res=>{
-                console.log(res);
-                this.typeList = res.data; 
-            })
+        async getRoleTypeList(){
+            this.typeList = await getTypeList(1,'09');
         }
     },
     props: ['refresh']
diff --git a/src/views/systemSetting/baseSetting/role/index.vue b/src/views/systemSetting/baseSetting/role/index.vue
index 712b7c8..38ead8d 100644
--- a/src/views/systemSetting/baseSetting/role/index.vue
+++ b/src/views/systemSetting/baseSetting/role/index.vue
@@ -516,34 +516,34 @@
                 }
             }
         }
-        &::v-deep .switchStyle .el-switch__label {
-            position: absolute;
-            display: none;
-            color: #fff;
-        }
+        // &::v-deep .switchStyle .el-switch__label {
+        //     position: absolute;
+        //     display: none;
+        //     color: #fff;
+        // }
 
-        &::v-deep .el-switch__core {
-            background-color: rgba(166, 166, 166, 1);
-        }
+        // &::v-deep .el-switch__core {
+        //     background-color: rgba(166, 166, 166, 1);
+        // }
 
-        &::v-deep .switchStyle .el-switch__label--left {
-            z-index: 9;
-            left: 20px;
-        }
+        // &::v-deep .switchStyle .el-switch__label--left {
+        //     z-index: 9;
+        //     left: 20px;
+        // }
 
-        &::v-deep .switchStyle .el-switch__label--right {
-            z-index: 9;
-            left: 4px;
-        }
+        // &::v-deep .switchStyle .el-switch__label--right {
+        //     z-index: 9;
+        //     left: 4px;
+        // }
 
-        &::v-deep .switchStyle .el-switch__label.is-active {
-            display: block;
-        }
+        // &::v-deep .switchStyle .el-switch__label.is-active {
+        //     display: block;
+        // }
 
-        &::v-deep .switchStyle.el-switch .el-switch__core,
-        &::v-deep .el-switch .el-switch__label {
-            width: 50px !important;
-        }
+        // &::v-deep .switchStyle.el-switch .el-switch__core,
+        // &::v-deep .el-switch .el-switch__label {
+        //     width: 50px !important;
+        // }
     }
 }
 </style>
\ No newline at end of file
diff --git a/src/views/systemSetting/baseSetting/user/components/createUser/index.vue b/src/views/systemSetting/baseSetting/user/components/createUser/index.vue
index ab14172..2ef5e07 100644
--- a/src/views/systemSetting/baseSetting/user/components/createUser/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/createUser/index.vue
@@ -5,93 +5,163 @@
                 <el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules"
                     label-position="right">
                     <!-- 鐢ㄦ埛鍚嶇О -->
-                    <el-form-item class="optionItem" label="鐢ㄦ埛鍚嶇О:" prop="username">
-                        <el-input v-model="user.username" placeholder="濉啓鐢ㄦ埛鍚嶇О" autoComplete="new-username"></el-input>
-                    </el-form-item>
-                    <!-- 鐢ㄦ埛瀵嗙爜 -->
-                    <el-form-item class="optionItems" label="鐢ㄦ埛瀵嗙爜:" prop="password">
-                        <el-input v-model="user.password" type="password" autoComplete="new-password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�"></el-input>
-                    </el-form-item>
-                    <!-- 鎵�灞炵敤鎴峰鍚� -->
-                    <el-form-item class="optionItem" label="鎵�灞炵敤鎴峰鍚�:" prop="nickName">
-                        <el-input v-model="user.nickName" placeholder="璇峰~鍐欑敤鎴峰鍚�"></el-input>
-                    </el-form-item>
-                    <!-- 鎬у埆 -->
-                    <el-form-item class="optionItem" label="鎬у埆:" prop="sex">
-                        <el-radio-group v-model="user.sex">
-                            <el-radio :label="1">鐢�</el-radio>
-                            <el-radio :label="0">濂�</el-radio>
-                        </el-radio-group>
-                    </el-form-item>
-                    <!-- 鏄惁鍏氬憳 -->
-                    <el-form-item class="optionItem" label="鏄惁鍏氬憳:" prop="isDy">
-                        <el-radio-group v-model="user.isDy">
-                            <el-radio :label="1">鏄�</el-radio>
-                            <el-radio :label="0">鍚�</el-radio>
-                        </el-radio-group>
-                    </el-form-item>
-                    <!-- 鎵�灞炴墜鏈哄彿鐮� -->
-                    <el-form-item class="optionItem" label="鎵�灞炴墜鏈哄彿鐮�:" prop="mobile">
-                        <el-input v-model="user.mobile" maxlength="11" placeholder="璇峰~鍐欐墜鏈哄彿鐮�"></el-input>
-                    </el-form-item>
-                    <!-- 閭鍦板潃 -->
-                    <el-form-item class="optionItem" label="閭鍦板潃:" prop="email">
-                        <el-input v-model="user.email" placeholder="璇峰~鍐欓偖绠卞湴鍧�"></el-input>
-                    </el-form-item>
-                    <!-- 閫夋嫨瑙掕壊 -->
-                    <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role">
-                        <el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�" multiple collapse-tags>
-                            <el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id">
-                            </el-option>
-                        </el-select>
-                        <!-- <el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�">
-                            <el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id"
-                                :disabled="item.disabled">
-                            </el-option>
-                        </el-select> -->
-                    </el-form-item>
-                    <!-- 鐢ㄦ埛绫诲瀷 -->
-                    <el-form-item class="optionItem" label="鐢ㄦ埛绫诲瀷:" prop="userType">
-                        <el-select v-model="user.userType" placeholder="璇烽�夋嫨鐢ㄦ埛绫诲瀷">
-                            <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
-                            </el-option>
-                        </el-select>
-                    </el-form-item>
-                    <!-- 搴ф満/鍒嗘満 -->
                     <div class="user-item">
-                        <el-form-item label="搴ф満/鍒嗘満:" prop="zjarea">
-                            <el-input v-model="user.zjarea" placeholder="鐢佃瘽鍖哄彿">
-                            </el-input>
-                        </el-form-item>
-                        <el-form-item prop="zjnumber" class="left-px">
-                            <el-input v-model="user.zjnumber" placeholder="鐢佃瘽鍙风爜">
-                            </el-input>
-                        </el-form-item>
-                        <el-form-item prop="zjother" class="left-px">
-                            <el-input v-model="user.zjother" placeholder="鍒嗘満鍙风爜">
-                            </el-input>
-                        </el-form-item>
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="鐢ㄦ埛鍚嶇О:" prop="username">
+                                <el-input v-model="user.username" placeholder="濉啓鐢ㄦ埛鍚嶇О" autoComplete="new-username">
+                                </el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
+                    <!-- 鐢ㄦ埛瀵嗙爜 -->
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItems" label="鐢ㄦ埛瀵嗙爜:" prop="password">
+                                <el-input v-model="user.password" type="password" autoComplete="new-password"
+                                    placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�"></el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right">閲嶆柊杈撳叆瀵嗙爜鍗充负淇敼锛屽瘑鐮佹湁鏁堟湡榛樿涓�3涓湀</div>
+                    </div>
+                    <!-- 鎵�灞炵敤鎴峰鍚� -->
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="鎵�灞炵敤鎴峰鍚�:" prop="nickName">
+                                <el-input v-model="user.nickName" placeholder="璇峰~鍐欑敤鎴峰鍚�"></el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
+                    <!-- 鎬у埆 -->
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="鎬у埆:" prop="sex">
+                                <el-radio-group v-model="user.sex">
+                                    <el-radio :label="1">鐢�</el-radio>
+                                    <el-radio :label="0">濂�</el-radio>
+                                </el-radio-group>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
+                    <!-- 鏄惁鍏氬憳 -->
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="鏄惁鍏氬憳:" prop="isDy">
+                                <el-radio-group v-model="user.isDy">
+                                    <el-radio :label="1">鏄�</el-radio>
+                                    <el-radio :label="0">鍚�</el-radio>
+                                </el-radio-group>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
+                    <!-- 鎵�灞炴墜鏈哄彿鐮� -->
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="鎵�灞炴墜鏈哄彿鐮�:" prop="mobile">
+                                <el-input v-model="user.mobile" maxlength="11" placeholder="璇峰~鍐欐墜鏈哄彿鐮�"></el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
+                    <!-- 閭鍦板潃 -->
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="閭鍦板潃:" prop="email">
+                                <el-input v-model="user.email" placeholder="璇峰~鍐欓偖绠卞湴鍧�"></el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
+                    <!-- 閫夋嫨瑙掕壊 -->
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role">
+                                <el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�" multiple collapse-tags>
+                                    <el-option v-for="item in roleList" :key="item.id" :label="item.name"
+                                        :value="item.id">
+                                    </el-option>
+                                </el-select>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
+                    <!-- 鐢ㄦ埛绫诲瀷 -->
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="鐢ㄦ埛绫诲瀷:" prop="userType">
+                                <el-select v-model="user.userType" placeholder="璇烽�夋嫨鐢ㄦ埛绫诲瀷">
+                                    <el-option v-for="item in typeList" :key="item.id" :label="item.name"
+                                        :value="item.id">
+                                    </el-option>
+                                </el-select>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
+                    <!-- 搴ф満/鍒嗘満 -->
+                    <div class="user-item sp-item">
+                        <div class="item-left">
+                            <el-form-item label="搴ф満/鍒嗘満:" prop="zjarea">
+                                <el-input v-model="user.zjarea" placeholder="鐢佃瘽鍖哄彿">
+                                </el-input>
+                            </el-form-item>
+                            <el-form-item prop="zjnumber" class="left-px">
+                                <el-input v-model="user.zjnumber" placeholder="鐢佃瘽鍙风爜">
+                                </el-input>
+                            </el-form-item>
+                            <el-form-item prop="zjother" class="left-px">
+                                <el-input v-model="user.zjother" placeholder="鍒嗘満鍙风爜">
+                                </el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
                     </div>
                     <!-- 鎵�灞為儴闂� -->
-                    <el-form-item class="optionItem" label="鎵�灞為儴闂�:" prop="departmentId">
-                        <el-select v-model="user.departmentId" placeholder="璇烽�夋嫨鎵�灞為儴闂�" @change="getDepartName">
-                            <el-option v-for="item in departList" :key="item.name" :label="item.departName"
-                                :value="item.id">
-                            </el-option>
-                        </el-select>
-                    </el-form-item>
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="鎵�灞為儴闂�:" prop="departmentId">
+                                <el-select v-model="user.departmentId" placeholder="璇烽�夋嫨鎵�灞為儴闂�" @change="getDepartName">
+                                    <el-option :value="mylabel">
+                                        <el-tree ref="tree" :check-strictly="true" :data="departList"
+                                            :props="defaultProps" show-checkbox @check-change="handleCheck"
+                                            default-expand-all node-key="id">
+                                        </el-tree>
+                                    </el-option>
+                                </el-select>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
                     <!-- 褰撳墠鑱屽姟 -->
-                    <el-form-item class="optionItem" label="褰撳墠鑱屽姟:" prop="jobTitle">
-                        <el-input v-model="user.jobTitle" placeholder="璇疯緭鍏ュ綋鍓嶈亴鍔�"></el-input>
-                    </el-form-item>
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="褰撳墠鑱屽姟:" prop="jobTitle">
+                                <el-input v-model="user.jobTitle" placeholder="璇疯緭鍏ュ綋鍓嶈亴鍔�"></el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
                     <!-- 濉啓鎵�灞瀖ac鍦板潃 -->
-                    <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac">
-                        <el-input v-model="user.mac" placeholder="璇峰~鍐欐墍灞瀖ac鍦板潃"></el-input>
-                    </el-form-item>
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac">
+                                <el-input v-model="user.mac" placeholder="璇峰~鍐欐墍灞瀖ac鍦板潃"></el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
                     <!-- 濉啓鎵�灞瀒p鍦板潃 -->
-                    <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip">
-                        <el-input v-model="user.ip" placeholder="璇峰~鍐欐墍灞瀒p鍦板潃"></el-input>
-                    </el-form-item>
+                    <div class="user-item">
+                        <div class="item-left">
+                            <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip">
+                                <el-input v-model="user.ip" placeholder="璇峰~鍐欐墍灞瀒p鍦板潃"></el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="item-right"></div>
+                    </div>
                     <el-form-item>
                         <div class="optionBtn">
                             <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦
@@ -106,6 +176,7 @@
     </div>
 </template>
 <script>
+import { getTypeList } from '@/utils/helper'
 export default {
     data() {
         const validateNickname = (rule, value, callback) => {
@@ -131,12 +202,7 @@
             if (!value) {
                 callback(new Error("鐢ㄦ埛濮撳悕涓嶈兘涓虹┖"));
             } else {
-                const rep = /^[\u4E00-\u9FA5]{2,4}$/;
-                if (!rep.test(value)) {
-                    callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
-                } else {
-                    callback();
-                }
+                callback();
             }
         };
         const validatePhone = (rule, value, callback) => {
@@ -156,10 +222,10 @@
                 const rep = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
                 if (!rep.test(value)) {
                     callback(new Error("璇疯緭鍏ユ纭殑閭"))
-                }else{
+                } else {
                     callback();
                 }
-            }else{
+            } else {
                 callback();
             }
         };
@@ -194,14 +260,14 @@
         const validateMac = (rule, value, callback) => {
             if (value) {
                 callback();
-            }else{
+            } else {
                 callback()
             }
         };
         const validateIp = (rule, value, callback) => {
             if (value) {
                 callback();
-            }else{
+            } else {
                 callback()
             }
         };
@@ -244,7 +310,7 @@
                     { required: true, trigger: "blur", validator: validatePhone },
                 ],
                 email: [
-                    { required: false, trigger: "blur", validator: validateMail },
+                    { required: true, trigger: "blur", validator: validateMail },
                 ],
                 role: [
                     { required: true, trigger: "change", validator: validateRole },
@@ -269,24 +335,34 @@
                 ],
             },
             roleList: [
-                
+
             ],
             typeList: [
-                
+
             ],
-            departList: []
+            departList: [],
+            mylabel: '',
+            defaultProps: {
+                children: 'children',
+                label: 'departName',
+                disabled: (data, node) => {
+                    if (node.level === 1 && node.childNodes.length !== 0) {
+                        return !data.leaf
+                    }
+                }
+            },
+            selectOrg: {
+                orgsid: []
+            },
         }
     },
     created() {
-        const that = this;
         // 鑾峰彇瑙掕壊鍒楄〃
         this.getRoleList();
-        // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
-        this.$axios.get('sccg/depart/page').then(res => {
-            that.departList = res.data.records;
-        })
         // 鑾峰彇鐢ㄦ埛绫诲瀷
         this.getUserTypeList();
+        // 鑾峰彇閮ㄩ棬
+        this.getDepartList();
     },
     methods: {
         // 鎻愪氦娉ㄥ唽
@@ -294,41 +370,41 @@
             this.$refs['user'].validate((valid) => {
                 console.log(valid);
                 if (valid) {
-                    const { user } = this;
+                    const { user, selectOrg } = this;
                     console.log(user);
                     this.$axios.post('sccg/admin/register', {
-                        departmentId: user.departmentId,
+                        departmentId: selectOrg.orgsid[0],
                         email: user.email,
-                        icon:'',
+                        icon: '',
                         isDy: `${user.isDy}`,
                         jobTitle: user.jobTitle,
                         mobile: user.mobile,
-                        note:'',
-                        roleIds:user.role,
+                        note: '',
+                        roleIds: user.role,
                         // nickName: user.nickName,
-                        sex:`${user.sex}`,
+                        sex: `${user.sex}`,
                         password: user.password,
                         userType: `${user.userType}`,
                         username: user.username,
-                        zj:user.zjarea+`${user.zjnumber}`+user.zjother,
+                        zj: user.zjarea + `${user.zjnumber}` + user.zjother,
                         // departName:user.departName,
                     }).then(res => {
                         if (res.code === 200) {
                             console.log(1);
                             this.$message({
-                                type:'success',
-                                message:res.message,
+                                type: 'success',
+                                message: res.message,
                             })
                             this.$emit('sendDialog', { flag: false });
-                        }else if(res.code === 500 && res.message === "鎿嶄綔澶辫触"){
+                        } else if (res.code === 500 && res.message === "鎿嶄綔澶辫触") {
                             this.$message({
-                                type:'warning',
-                                message:'璇ョ敤鎴峰凡娉ㄥ唽'
+                                type: 'warning',
+                                message: '璇ョ敤鎴峰凡娉ㄥ唽'
                             })
-                        }else{
+                        } else {
                             this.$message({
-                                type:'warning',
-                                message:res.message
+                                type: 'warning',
+                                message: res.message
                             })
                         }
                     })
@@ -360,16 +436,47 @@
             })
         },
         // 鑾峰彇鐢ㄦ埛绫诲瀷
-        getUserTypeList(){
+        async getUserTypeList() {
+            this.typeList = await getTypeList(1, '07');
+        },
+        // 鑾峰彇閮ㄩ棬鏍�
+        getDepartList() {
             this.$axios({
-                method:'get',
-                url:'sccg/dict/query_user_type'
+                method: 'get',
+                url: 'sccg/depart/tree'
             })
-            .then(res=>{
-                console.log(res);
-                this.typeList = res.data;
-            })
-        }
+                .then(res => {
+                    this.departList = res.data;
+                })
+        },
+        handleCheck(data, checked) {
+            this.user.departmentId = data.departName;
+            // 鑾峰彇褰撳墠閫夋嫨鐨刬d鍦ㄦ暟缁勪腑鐨勭储寮�
+            const indexs = this.selectOrg.orgsid.indexOf(data.id)
+            // 濡傛灉涓嶅瓨鍦ㄦ暟缁勪腑锛屽苟涓旀暟缁勪腑宸茬粡鏈変竴涓猧d骞朵笖checked涓簍rue鐨勬椂鍊欙紝浠h〃涓嶈兘鍐嶆閫夋嫨銆�
+            if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
+                this.$message({
+                    message: '鍙兘閫夋嫨涓�涓儴闂紒',
+                    type: 'warning',
+                    showClose: true
+                })
+                // 璁剧疆宸查�夋嫨鐨勮妭鐐逛负false 寰堥噸瑕�
+                this.$refs.tree.setChecked(data, false)
+            } else if (this.selectOrg.orgsid.length === 0 && checked) {
+                // 鍙戠幇鏁扮粍涓虹┖ 骞朵笖鏄凡閫夋嫨
+                // 闃叉鏁扮粍鏈夊�硷紝棣栧厛娓呯┖锛屽啀push
+                this.selectOrg.orgsid = []
+                this.selectOrg.orgsid.push(data.id)
+            } else if (
+                indexs >= 0 &&
+                this.selectOrg.orgsid.length === 1 &&
+                !checked
+            ) {
+                // 鍐嶆鐩存帴杩涜璧嬪�间负绌烘搷浣�
+                this.selectOrg.orgsid = []
+                this.user.departmentId = '';
+            }
+        },
     },
     props: ['sendDialog']
 }
@@ -388,9 +495,9 @@
 
         .mainContent {
             display: flex;
-            justify-content: center;
+            // justify-content: center;
             margin-top: 50px;
-
+            width: 100%;
             &::v-deep .el-form-item__label {
                 color: #4b9bb7;
             }
@@ -402,29 +509,45 @@
 
             .el-form-item__content {
                 width: 400px;
-
                 .el-select {
                     width: 100%;
                 }
             }
 
+            .sp-item {
+                .item-left{
+                    display: flex;
+                }
+            }
+
             .user-item {
                 display: flex;
+                justify-content: space-between;
+                .item-left {
+                    width: 500px;
+                }
+                .item-right {
+                    line-height: 40px;
+                    color: #4b9bb7;
+                    font-size: 12px;
+                    // margin-left: 16px;
+                }
 
                 .left-px :deep(.el-form-item__content) {
                     margin-left: 0px !important;
                 }
             }
-                .optionBtn {
-                    display: flex;
-                    margin-top: 20px;
 
-                    .btn {
-                        padding: 12px 50px;
-                    }
+            .optionBtn {
+                display: flex;
+                margin-top: 20px;
+
+                .btn {
+                    padding: 12px 50px;
                 }
-
             }
+
         }
     }
+}
 </style>
\ No newline at end of file
diff --git a/src/views/systemSetting/baseSetting/user/components/header/index.vue b/src/views/systemSetting/baseSetting/user/components/header/index.vue
index 48daecc..d5e5dea 100644
--- a/src/views/systemSetting/baseSetting/user/components/header/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/header/index.vue
@@ -11,7 +11,7 @@
             <div class="addUser">
                 <!-- :before-close="handleClose" -->
                 <el-button class="addBtn" type="primary" @click="dialogCreate = true">娣诲姞鐢ㄦ埛</el-button>
-                <el-dialog :visible.sync="dialogCreate" title="鏂板璐︽埛" width="45%" v-if="dialogCreate"
+                <el-dialog :visible.sync="dialogCreate" title="鏂板璐︽埛" width="60%" v-if="dialogCreate"
                     :before-close="handleClose">
                     <createUser @sendDialog="sendDialog" />
                 </el-dialog>
diff --git a/src/views/systemSetting/baseSetting/user/components/main/index.vue b/src/views/systemSetting/baseSetting/user/components/main/index.vue
index 1ecd2f8..0b3024f 100644
--- a/src/views/systemSetting/baseSetting/user/components/main/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/main/index.vue
@@ -33,8 +33,9 @@
                 </el-table-column>
                 <el-table-column prop="status" label="鍚敤" min-width="5">
                     <template slot-scope="scope">
-                        <el-switch class="switchStyle" v-model="scope.row.status" active-text="寮�" inactive-text="鍏�"
-                            active-color="#3fef9a" inactive-color="#000212" @change="handleChangeStatus(scope.row)">
+                        <!-- @change="handleChangeStatus(scope.row)" -->
+                        <el-switch class="switchStyle" v-model="scope.row.status"
+                            active-color="#3fef9a" inactive-color="#000212" disabled>
                         </el-switch>
                     </template>
                 </el-table-column>
@@ -65,10 +66,10 @@
             <!-- tools -->
             <div class="tools">
                 <div class="funs">
-                    <div class="funsItem">
+                    <div class="funsItem funs-sp">
                         <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
                     </div>
-                    <div class="funsItem">
+                    <div class="funsItem funs-sp">
                         <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                     </div>
                     <div class="funsItem">
@@ -399,12 +400,13 @@
 
         .funs {
             display: flex;
-
+            .funs-sp{
+                border: 1px solid #17324c;
+            }
             .funsItem {
                 line-height: 28px;
                 display: flex;
                 align-items: center;
-                border: 1px solid #17324c;
                 border-radius: 4px;
                 font-size: 12px;
                 margin-left: 10px;
@@ -472,33 +474,33 @@
             }
         }
     }
-    &::v-deep .switchStyle .el-switch__label {
-        position: absolute;
-        display: none;
-        color: #fff;
-    }
+    // &::v-deep .switchStyle .el-switch__label {
+    //     position: absolute;
+    //     display: none;
+    //     color: #fff;
+    // }
 
-    &::v-deep .el-switch__core {
-        background-color: rgba(166, 166, 166, 1);
-    }
+    // &::v-deep .el-switch__core {
+    //     background-color: rgba(166, 166, 166, 1);
+    // }
 
-    &::v-deep .switchStyle .el-switch__label--left {
-        z-index: 9;
-        left: 20px;
-    }
+    // &::v-deep .switchStyle .el-switch__label--left {
+    //     z-index: 9;
+    //     left: 20px;
+    // }
 
-    &::v-deep .switchStyle .el-switch__label--right {
-        z-index: 9;
-        left: 4px;
-    }
+    // &::v-deep .switchStyle .el-switch__label--right {
+    //     z-index: 9;
+    //     left: 4px;
+    // }
 
-    &::v-deep .switchStyle .el-switch__label.is-active {
-        display: block;
-    }
+    // &::v-deep .switchStyle .el-switch__label.is-active {
+    //     display: block;
+    // }
 
-    &::v-deep .switchStyle.el-switch .el-switch__core,
-    &::v-deep .el-switch .el-switch__label {
-        width: 56px !important;
-    }
+    // &::v-deep .switchStyle.el-switch .el-switch__core,
+    // &::v-deep .el-switch .el-switch__label {
+    //     width: 56px !important;
+    // }
 }
 </style>
\ No newline at end of file
diff --git a/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue b/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue
index bcad673..bdb2020 100644
--- a/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue
@@ -409,11 +409,6 @@
         background-color: #09152f;
         color: #4b9bb7;
     }
-
-    // .el-select-dropdown__item :deep(.selected){
-    //     background-color: #09152f;
-    //     color: #4b9bb7;
-    // }
     main {
         text-align: left;
         padding: 0 55px;
diff --git a/src/views/systemSetting/device/bayonet/create/index.vue b/src/views/systemSetting/device/bayonet/create/index.vue
new file mode 100644
index 0000000..9995ea1
--- /dev/null
+++ b/src/views/systemSetting/device/bayonet/create/index.vue
@@ -0,0 +1,137 @@
+<template>
+    <div class="create">
+        <el-form ref="device" label-position="right" label-width="120px" :model="bayonet" :rule="rules">
+            <!-- 鍗″彛鍚嶇О -->
+            <div class="device-item">
+                <div class="item-left">
+                    <el-form-item label="鍗″彛鍚嶇О:" prop="name">
+                        <el-input v-model="bayonet.name" placeholder="璇峰~鍐欏崱鍙e悕绉�"></el-input>
+                    </el-form-item>
+                </div>
+                <div class="item-right"></div>
+            </div>
+            <!-- 缁忕含搴︿綅缃� -->
+            <div class="device-item">
+                <div class="item-left">
+                    <el-form-item label="缁忕含搴︿綅缃�:" prop="longitude">
+                        <el-input v-model="bayonet.longitude" placeholder="璇峰~鍐欑粡搴︿綅缃�"></el-input>
+                    </el-form-item>
+                    <el-form-item prop="latitude">
+                        <el-input v-model="bayonet.latitude" placeholder="璇峰~鍐欑含搴︿綅缃�"></el-input>
+                    </el-form-item>
+                </div>
+                <div class="item-right"></div>
+            </div>
+            <!-- 鎵�灞炲尯鍩� -->
+            <div class="device-item">
+                <div class="item-left">
+                    <el-form-item label="鎵�灞炲尯鍩�:" prop="area">
+                        <el-input v-model="bayonet.area" placeholder="璇峰~鍐欏尯鍩熷悕绉�"></el-input>
+                    </el-form-item>
+                </div>
+                <div class="item-right"></div>
+            </div>
+            <!-- 鍩熷悕/ip -->
+            <div class="device-item">
+                <div class="item-left">
+                    <el-form-item label="鍩熷悕/IP:" prop="domainName">
+                        <el-input v-model="bayonet.domainName" placeholder="璇峰~鍐欏煙鍚嶆垨鑰匢P"></el-input>
+                    </el-form-item>
+                </div>
+                <div class="item-right"></div>
+            </div>
+            <!-- 绔彛鍙� -->
+            <div class="device-item">
+                <div class="item-left">
+                    <el-form-item label="绔彛鍙�:" prop="port">
+                        <el-input v-model="bayonet.port" placeholder="璇疯緭鍏ョ鍙e彿"></el-input>
+                    </el-form-item>
+                </div>
+                <div class="item-right"></div>
+            </div>
+            <!-- 鍓嶇绫诲瀷 -->
+            <div class="device-item">
+                <div class="item-left">
+                    <el-form-item label="鍓嶇绫诲瀷:" prop="webType">
+                        <el-input v-model="bayonet.webType" placeholder="璇疯緭鍏ュ墠绔被鍨�"></el-input>
+                    </el-form-item>
+                </div>
+                <div class="item-right"></div>
+            </div>
+            <!-- 鍑哄叆鍩庣被鍨� -->
+            <div class="device-item">
+                <div class="item-left">
+                    <el-form-item label="鍑哄叆鍩庣被鍨�:" prop="cityType">
+                        <el-input v-model="bayonet.cityType" placeholder="鍑哄煄/鍏ュ煄"></el-input>
+                    </el-form-item>
+                </div>
+                <div class="item-right"></div>
+            </div>
+            <!-- 鎻忚堪 -->
+            <div class="device-item">
+                <div class="item-left">
+                    <el-form-item label="鎻忚堪:" prop="description">
+                        <el-input type="textarea" :rows='5' maxlength="200" v-model="bayonet.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input>
+                    </el-form-item>
+                </div>
+                <div class="item-right"></div>
+            </div>
+            <!-- 鎸夐挳 -->
+            <div class="device-btn">
+                <el-button>杩斿洖</el-button>
+                <el-button type="primary">纭畾</el-button>
+            </div>
+        </el-form>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            bayonet: {
+                name: '',
+                latitude: '',
+                longitude: '',
+                area: '',
+                domainName: '',
+                port: '',
+                webType: '',
+                cityType: '',
+                description: '',
+            },
+            rules: {
+
+            }
+        }
+    },
+
+}
+</script>
+<style lang="scss" scoped>
+.create {
+    padding: 20px;
+
+    .device-item {
+        display: flex;
+
+        .item-left {
+            flex: 6;
+            display: flex;
+
+            .el-form-item {
+                flex: 1;
+            }
+        }
+
+        .item-right {
+            flex: 4;
+        }
+    }
+
+    .device-btn {
+        padding-top: 20px;
+        display: flex;
+        justify-content: center;
+    }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/systemSetting/device/bayonet/index.vue b/src/views/systemSetting/device/bayonet/index.vue
new file mode 100644
index 0000000..90eabef
--- /dev/null
+++ b/src/views/systemSetting/device/bayonet/index.vue
@@ -0,0 +1,376 @@
+<template>
+    <div class="userList">
+        <header>
+            <div class="header-content">
+                <div class="search">
+                    <span>绛涢�夋潯浠�:</span>
+                    <el-select v-model="value" placeholder="璇烽�夋嫨">
+                        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                    <!-- <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input> -->
+                </div>
+            </div>
+        </header>
+        <main>
+            <div class="main-content">
+                <div class="main-title">
+                    <el-button class="el-icon-plus" type="primary" @click="dialogCreate = true">娣诲姞</el-button>
+                    <el-button class="">瀵煎嚭鍗″彛</el-button>
+                </div>
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}"
+                    :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"
+                    @selection-change="tableChange">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column prop="name" label="鍗″彛鍚嶇О" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="sort" label="缁忕含搴︿綅缃�" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="adminCount" label="鎵�灞炲尯鍩�" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="description" label="鍩熷悕/IP" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="description" label="绔彛鍙�" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="description" label="鍓嶇绫诲瀷" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="description" label="鍑哄叆鍩庣被鍨�" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+                        <template slot-scope="scope">
+                            <div class="operation">
+                                <span>缂栬緫</span>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- tools -->
+                <!-- <div class="tools">
+                    <div class="funs">
+                        <div class="funsItem">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value" :disabled="item.disabled">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div class="pagination">
+                        <el-pagination background :current-page="currentPage" layout="prev, pager, next"
+                            :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage"
+                            @prev-click="handlePrev" @next-click="handleNext">
+                        </el-pagination>
+                    </div>
+                </div> -->
+            </div>
+        </main>
+        <footer>
+            <!-- 娣诲姞鍗″彛 -->
+            <el-dialog title="娣诲姞鍗″彛" :visible.sync="dialogCreate" width="60%" :before-close="handleClose">
+                <MyCreate></MyCreate>
+            </el-dialog>
+        </footer>
+    </div>
+</template>
+<script>
+import helper from "@/utils/mydate.js"
+import MyCreate from './create'
+export default {
+    components: {
+        MyCreate
+    },
+    data() {
+        return {
+            tableData: [],
+            context: "",
+            dialogCreate: false,
+            totalNum: null,
+            pageSize: 10,
+            currentPage: 1,
+            all: false,
+            unsame: false,
+            myIdx: 0,
+            preMyIdx: 0,
+            options: [
+                {
+                    value: 0,
+                    label: '绂荤嚎',
+                },
+                {
+                    value: 1,
+                    label: '鍦ㄧ嚎',
+                }
+            ],
+            tempList: []
+        }
+    },
+    created() {
+    },
+    methods: {
+        async selectChange(list) {
+            console.log(this.tempList);
+            if (this.tempList.length !== 0) {
+                this.preMyIdx = list;
+                if (list === 3) {
+                    await this.handleDelete(this.tempList);
+                } else if (list === 2) {
+                    await this.mulUpdateStatus(this.tempList, 0);
+                } else {
+                    await this.mulUpdateStatus(this.tempList, 1);
+                }
+                this.myIdx = 0;
+            } else {
+                this.myIdx = this.preMyIdx;
+                this.$message({
+                    type: 'warning',
+                    message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+                })
+            }
+        },
+        mulUpdateStatus(idArr, flag) {
+            this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+                .then(_ => {
+                    this.$axios({
+                        method: 'post',
+                        url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+                    })
+                        .then(res => {
+                            if (res.code === 200) {
+                                this.$message({
+                                    type: 'success',
+                                    message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+                                })
+                                this.getUserList();
+                            } else {
+                                this.$message({
+                                    type: 'error',
+                                    message: res.message
+                                })
+                            }
+                            console.log(res);
+                        })
+                })
+                .catch(err => { console.log(err) })
+        },
+        tableChange(list) {
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.id);
+            })
+            if (list.length === this.tableData.length) {
+                this.all = true;
+            } else {
+                this.all = false
+            }
+        },
+        changeTime({ createTime }) {
+            return helper(createTime);
+        },
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+        },
+        disSame(list) {
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+        handleDelete(id) {
+            const that = this;
+            // let arr = [];
+            // arr.push(id);
+            this.$confirm('纭鍒犻櫎锛�')
+                .then(_ => {
+                    that.$axios({
+                        method: 'post',
+                        url: 'sccg/role/delete?ids=' + id,
+                    })
+                        .then(res => {
+                            this.myIdx = 0;
+                            this.preMyIdx = 0;
+                            console.log(res);
+                            this.$message({
+                                type: 'success',
+                                message: res.message
+                            })
+
+                            this.getUserList();
+                        })
+                })
+                .catch(_ => { });
+        },
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 == 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+            return '';
+        },
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+        },
+        // 涓婁竴椤电偣鍑讳簨浠�
+        handlePrev(page) {
+            this.currentPage = page;
+        },
+        // 涓嬩竴椤电偣鍑讳簨浠�
+        handleNext(page) {
+            this.currentPage = page;
+        },
+        // 鍏抽棴寮圭獥
+        handleClose(done) {
+            this.$confirm('纭鍏抽棴锛�')
+                .then(_ => {
+                    done();
+                })
+                .catch(_ => { });
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+    text-align: left;
+    margin: 10px 20px;
+    color: #4b9bb7;
+
+    header {
+        background-color: #09152f;
+        border: 1pox solid #fff;
+
+        .header-content {
+            padding: 0 40px;
+            display: flex;
+            line-height: 100px;
+            justify-content: space-between;
+            align-items: center;
+
+            .search {
+                display: flex;
+                justify-content: flex-start;
+
+                span {
+                    flex: 1;
+                }
+
+                .el-input {
+                    flex: 2;
+                    color: #1d3f57;
+
+                    &::v-deep .el-input__inner {
+                        background-color: #09152f;
+                        border: 1px solid #17324c;
+                    }
+                }
+
+            }
+        }
+    }
+
+    main {
+        background-color: #09152f;
+        margin-top: 20px;
+        padding-bottom: 50px;
+        border: 1pox solid #fff;
+
+        .main-title {
+            line-height: 60px;
+            padding: 10px 20px;
+        }
+
+        .tools {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 0 20px;
+
+            .funs {
+                display: flex;
+
+                .funsItem {
+                    line-height: 28px;
+                    display: flex;
+                    align-items: center;
+                    border: 1px solid #17324c;
+                    border-radius: 4px;
+                    font-size: 12px;
+                    margin-left: 10px;
+
+                    .el-checkbox {
+                        width: 80px;
+                        padding: 0 10px;
+                    }
+
+                    .el-select {
+                        width: 120px;
+                    }
+
+                    &::v-deep .el-input__inner {
+                        border: none;
+                        background-color: #09152f;
+                    }
+
+                    &:hover {
+                        border: 1px solid #4b9bb7;
+                    }
+
+                    &:hover .el-checkbox {
+                        color: #4b9bb7;
+                    }
+                }
+
+            }
+
+            .pagination {
+                margin-top: 50px;
+                display: flex;
+                line-height: 50px;
+                justify-content: center;
+
+                .el-pagination {
+
+                    &::v-deep li,
+                    &::v-deep .btn-prev,
+                    &::v-deep .btn-next {
+                        background-color: #071f39;
+                        color: #4b9bb7;
+                    }
+
+                    &::v-deep .active {
+                        background-color: #409eff;
+                        color: #fff;
+                    }
+                }
+            }
+        }
+
+        .el-table {
+            color: #4b9bb7;
+            font-size: 10px;
+
+            .operation {
+                display: flex;
+
+                .line {
+                    padding: 0 5px;
+                }
+
+                span:hover {
+                    cursor: pointer;
+                }
+            }
+        }
+    }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/systemSetting/device/grid/index.vue b/src/views/systemSetting/device/grid/index.vue
new file mode 100644
index 0000000..2baad4a
--- /dev/null
+++ b/src/views/systemSetting/device/grid/index.vue
@@ -0,0 +1,5 @@
+<template>
+    <div class="grid">
+      222
+    </div>
+</template>
\ No newline at end of file
diff --git a/src/views/systemSetting/device/index.vue b/src/views/systemSetting/device/index.vue
new file mode 100644
index 0000000..e3bc8ac
--- /dev/null
+++ b/src/views/systemSetting/device/index.vue
@@ -0,0 +1,3 @@
+<template>
+    <router-view></router-view>
+</template>
\ No newline at end of file
diff --git a/src/views/systemSetting/device/point/index.vue b/src/views/systemSetting/device/point/index.vue
new file mode 100644
index 0000000..acc4e86
--- /dev/null
+++ b/src/views/systemSetting/device/point/index.vue
@@ -0,0 +1,5 @@
+<template>
+    <div class="point">
+        111
+    </div>
+</template>
\ No newline at end of file
diff --git a/src/views/systemSetting/platform/index.vue b/src/views/systemSetting/platform/index.vue
new file mode 100644
index 0000000..e3bc8ac
--- /dev/null
+++ b/src/views/systemSetting/platform/index.vue
@@ -0,0 +1,3 @@
+<template>
+    <router-view></router-view>
+</template>
\ No newline at end of file
diff --git a/vue.config.js b/vue.config.js
index 7da1cd2..46b037b 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -42,7 +42,7 @@
         target: `http://42.193.1.25:8082`,
         changeOrigin: true,
         pathRewrite: {
-          "^/api": ''
+          "^/sccg": ''
         }
       }
     },

--
Gitblit v1.8.0