From 7991973cf4c25527e227b80192e0bd087cfcee58 Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期二, 27 九月 2022 18:26:25 +0800
Subject: [PATCH] 完善系统设置的基本设置

---
 src/views/systemSetting/baseSetting/department/updateUser/index.vue      |   59 +
 src/views/systemSetting/baseSetting/user/components/main/index.vue       |  184 ++++-
 src/views/login/index.vue                                                |    1 
 src/views/systemSetting/baseSetting/role/createUser/index.vue            |  113 +--
 src/views/systemSetting/baseSetting/role/updateUser/index.vue            |  137 ++--
 src/views/layout/components/Menu/index.vue                               |    2 
 src/views/systemSetting/baseSetting/department/createUser/index.vue      |  158 ++---
 src/views/systemSetting/baseSetting/department/index.vue                 |   68 +
 src/views/systemSetting/baseSetting/user/components/updateUser/index.vue |  187 +++---
 src/views/systemSetting/baseSetting/user/components/createUser/index.vue |  227 ++++----
 src/views/systemSetting/baseSetting/user/index.vue                       |   18 
 src/App.vue                                                              |    5 
 src/views/operate/lawEnforcement/index.vue                               |   10 
 src/views/operate/lawEnforcement/components/dataView/index.vue           |   21 
 src/views/systemSetting/baseSetting/role/index.vue                       |  140 +++-
 src/views/systemSetting/platform/mySetting/index.vue                     |  288 +++++++---
 16 files changed, 921 insertions(+), 697 deletions(-)

diff --git a/src/App.vue b/src/App.vue
index 0c85672..b646426 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -29,7 +29,7 @@
     // 鑾峰彇icon
     async getIcon() {
       let result;
-      const pic = JSON.parse(localStorage.getItem('pic'));
+      const pic = JSON.parse(sessionStorage.getItem('pic'));
       if (pic) {
         result = pic;
         console.log('缂撳瓨')
@@ -39,9 +39,8 @@
           method: 'get',
           url: 'sccg/system/portal/logo/search',
         }).then(res => {
-          console.log(res);
           result = res.data;
-          localStorage.setItem('pic',JSON.stringify(result));
+          sessionStorage.setItem('pic',JSON.stringify(result));
         })
       }
       return result;
diff --git a/src/views/layout/components/Menu/index.vue b/src/views/layout/components/Menu/index.vue
index c97376b..06a2df9 100644
--- a/src/views/layout/components/Menu/index.vue
+++ b/src/views/layout/components/Menu/index.vue
@@ -37,7 +37,7 @@
                 <el-menu-item index="/home/system/role">瑙掕壊绠$悊鍒楄〃</el-menu-item>
               </el-submenu> -->
               <!-- 鏉冮檺绠$悊 -->
-              <el-menu-item index="/home/system/authority">鏉冮檺绠$悊</el-menu-item>
+              <!-- <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>
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 81992e8..420d278 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -109,7 +109,6 @@
     },
     ...mapActions(["login"]),
     handleLogin() {
-      console.log("in login");
       const { username, password } = this.loginForm;
       const that = this;
       this.$axios
diff --git a/src/views/operate/lawEnforcement/components/dataView/index.vue b/src/views/operate/lawEnforcement/components/dataView/index.vue
new file mode 100644
index 0000000..75fc658
--- /dev/null
+++ b/src/views/operate/lawEnforcement/components/dataView/index.vue
@@ -0,0 +1,21 @@
+<template>
+    <div class="dataView">
+        111
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+
+        }
+    },
+    props:{
+        viewData:Object,
+        default:{},
+    },
+    created(){
+        console.log(this.viewData);
+    }
+}
+</script>
diff --git a/src/views/operate/lawEnforcement/index.vue b/src/views/operate/lawEnforcement/index.vue
index 7ae0911..68ec27e 100644
--- a/src/views/operate/lawEnforcement/index.vue
+++ b/src/views/operate/lawEnforcement/index.vue
@@ -5,16 +5,17 @@
         <!-- 缁勪欢鍖� -->
         <div class="dialog">
             <el-dialog v-if="visible" :visible.async="visible" title="闂鐧昏" width="60%" :before-close="handleClose">
-                <checkIn></checkIn>
+                <MyView  :viewData=showData   />
             </el-dialog>
         </div>
     </div>
 </template>
 <script>
 import MyTable from '@/components/Table'
+import MyView from './components/dataView'
 export default {
     components: {
-        MyTable,
+        MyTable,MyView
     },
     data() {
         return {
@@ -72,7 +73,8 @@
                     },
                 ]
             },
-            visible:false
+            visible:false,
+            showData:{},
         }
     },
     methods:{
@@ -88,6 +90,8 @@
         // 鑾峰彇鎿嶄綔缁撴灉
         changeDialog({index,mykey}){
             console.log(index,mykey);
+            this.showData = this.list[index];
+            this.visible = true;
         }
     }
 }
diff --git a/src/views/systemSetting/baseSetting/department/createUser/index.vue b/src/views/systemSetting/baseSetting/department/createUser/index.vue
index 4e4daee..e0273f4 100644
--- a/src/views/systemSetting/baseSetting/department/createUser/index.vue
+++ b/src/views/systemSetting/baseSetting/department/createUser/index.vue
@@ -1,11 +1,5 @@
 <template>
     <div class="createUser">
-        <!-- <header>
-            <div class="headerTitle">鏂板閮ㄩ棬淇℃伅</div>
-            <div class="headerTip">
-                <label>x</label>
-            </div>
-        </header> -->
         <main>
             <div class="mainContent">
                 <el-form ref="user" label-width="140px" autoComplete="on" :model="depart" :rules="createDepartRules"
@@ -17,18 +11,14 @@
                     <!-- 涓婄骇閮ㄩ棬 -->
                     <el-form-item class="optionItems" label="涓婄骇閮ㄩ棬:" prop="parentId">
                         <el-select v-model="depart.parentId" placeholder="璇疯緭鍏ヤ笂绾ч儴闂�">
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
+                            <el-option v-for="item in departList" :key="item.departName" :label="item.departName" :value="item.id"
                                 :disabled="item.disabled">
                             </el-option>
                         </el-select>
                     </el-form-item>
                     <!-- 閮ㄩ棬绫诲瀷 -->
                     <el-form-item class="optionItem" label="閮ㄩ棬绫诲瀷:" prop="departType">
-                        <el-select v-model="depart.departType" placeholder="璇烽�夋嫨閮ㄩ棬绫诲瀷">
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
-                                :disabled="item.disabled">
-                            </el-option>
-                        </el-select>
+                        <el-input v-model="depart.departType" placeholder="璇烽�夋嫨閮ㄩ棬绫诲瀷"></el-input>
                     </el-form-item>
                     <!--娣诲姞浜哄憳  -->
                     <el-form-item class="optionItem" label="娣诲姞浜哄憳:">
@@ -41,16 +31,16 @@
                     </el-form-item>
                     <!-- 閮ㄩ棬鎻忚堪 -->
                     <el-form-item class="optionItem" label="閮ㄩ棬鎻忚堪:" prop="departDes">
-                        <el-input v-model="depart.departDes" placeholder="璇疯緭鍏ラ儴闂ㄦ弿杩�"></el-input>
+                        <el-input type="textarea" v-model="depart.departDes" placeholder="璇疯緭鍏ラ儴闂ㄦ弿杩�"></el-input>
                     </el-form-item>
                 </el-form>
             </div>
         </main>
         <footer>
             <div class="optionBtn">
-                    <el-button>鍙栨秷</el-button>
-                    <el-button type="primary"  class="btn submit" @click="handleUser">纭畾</el-button>
-                </div>
+                <el-button>鍙栨秷</el-button>
+                <el-button type="primary" class="btn submit" @click="handleUser">纭畾</el-button>
+            </div>
         </footer>
     </div>
 </template>
@@ -59,37 +49,27 @@
     data() {
         const validateNickname = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
+                callback(new Error("璇峰~鍐欓儴闂ㄥ悕绉�"));
+            }else{
+                callback();
             }
         };
         const validatePass = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback();
             } else {
-                const rep = /^\w+$/;
-                if (!rep.test(value)) {
-                    callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
-                }
-            }
-        };
-        const validateTruename = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑敤鎴峰鍚�"));
-            } else {
-                const rep = /^[\u4E00-\u9FA5]{2,4}$/;
-                if (!rep.test(value)) {
-                    callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
-                }
+                callback();
             }
         };
         const validatePhone = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�"));
+                callback();
             } else {
-                const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
-                if (!rep.test(value)) {
-                    callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
-                }
+                // const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
+                // if (!rep.test(value)) {
+                //     callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
+                // }
+                callback();
             }
         };
         return {
@@ -113,36 +93,58 @@
                     { required: false, trigger: "blur" },
                 ],
             },
-            roleList: [
-                { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
-            ],
-            typeList: []
+            typeList: [],
+            departList: [],
         }
     },
     created() {
         const that = this;
-        // 鑾峰彇瑙掕壊鍒楄〃
-        // this.$axios.get('')
-        // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃
-        // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{
-        //     console.log(res);
-        // })
-        // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
+        // 鑾峰彇閮ㄩ棬鏍戝舰缁撴瀯鍥�
+        this.getDepartTree();
+        // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃 
         // this.$axios.get('sccg/depart/page').then(res => {
-        //     that.typeList = res.data.records;
+        //     that.departList = res.data.records;
         // })
     },
     methods: {
         handleUser() {
-            const { depart } = this;
-            console.log(depart);
-            this.$axios.post('/sccg/depart/create', {
-                departName: depart.departName,
-                parentId: depart.parentId,  departType: depart.departType,  departDes: depart.departDes
-            }).then(res => {
-                if (res.code === 200) {
-                    this.refresh();
+            this.$refs.user.validate((valid) => {
+                if (valid) {
+                    const { depart } = this;
+                    console.log(depart);
+                    this.$axios.post('/sccg/depart/create', {
+                        departName: depart.departName,
+                        parentId: depart.parentId, departType: depart.departType, departDes: depart.departDes
+                    }).then(res => {
+                        if (res.code === 200) {
+                            this.$message({
+                                message:res.message,
+                                type:'success'
+                            })
+                            this.refresh();
+                        }else if(res.code ===2001){
+                            this.$message({
+                                message:res.message,
+                                type:'error'
+                            })
+                            this.refresh();
+                        }
+                    })
+                }else{
+                    return false;
                 }
+            })
+        },
+        // 鑾峰彇閮ㄩ棬鏍戝舰缁撴瀯鍥�
+        getDepartTree(){
+            this.$axios({
+                method:'get',
+                url:'sccg/depart/tree',
+            })
+            .then(res=>{ 
+                res.data.unshift({id:0,departName:'涓�绾ц彍鍗曟爮'})
+                this.departList = res.data;
+                console.log(res);
             })
         }
     },
@@ -154,38 +156,17 @@
     border-radius: 1px;
     background-color: #09152f;
 
-    // header {
-    //     display: flex;
-    //     justify-content: space-between;
-    //     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;
         text-align: left;
         padding: 0 55px;
         background-color: #09152f;
         padding-bottom: 50px;
+
         .mainContent {
             display: flex;
             justify-content: center;
             padding-top: 50px;
+
             &::v-deep .el-form-item__label {
                 color: #4b9bb7;
             }
@@ -194,11 +175,18 @@
                 background-color: #09152f;
                 border: 1px solid #17324c;
             }
-            .addPerson{
+
+            &::v-deep .el-textarea__inner {
+                background-color: #09152f;
+                border: 1px solid #17324c;
+            }
+
+            .addPerson {
                 display: flex;
                 list-style: none;
-                padding:0;
-                li{
+                padding: 0;
+
+                li {
                     background-color: #cccccc;
                     width: 36px;
                     height: 36px;
@@ -209,6 +197,7 @@
                     margin-left: 10px;
                 }
             }
+
             .el-form-item__content {
                 width: 400px;
 
@@ -232,7 +221,8 @@
 
         }
     }
-    footer{
+
+    footer {
         border-top: 1px solid #fff;
         height: 80px;
         display: flex;
diff --git a/src/views/systemSetting/baseSetting/department/index.vue b/src/views/systemSetting/baseSetting/department/index.vue
index c9556d0..9516994 100644
--- a/src/views/systemSetting/baseSetting/department/index.vue
+++ b/src/views/systemSetting/baseSetting/department/index.vue
@@ -6,13 +6,13 @@
                     <span>绛涢�夋潯浠�:</span>
                     <el-input v-model="context" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
                     <div class="findBtn">
-                        <el-button type="primary" @click="search()" >鏌ヨ</el-button>
+                        <el-button type="primary" @click="search()">鏌ヨ</el-button>
                     </div>
                 </div>
                 <div class="addUser">
                     <el-button class="addBtn" type="primary" @click="dialogCreate = true">鏂板閮ㄩ棬</el-button>
                     <el-dialog :visible.sync="dialogCreate" title="鏂板閮ㄩ棬淇℃伅" width="45%" v-if="dialogCreate">
-                        <createUser :refresh="getUserList" />
+                        <createUser :refresh="context==='' ? getUserList : search " />
                     </el-dialog>
                 </div>
             </div>
@@ -25,7 +25,7 @@
                     :data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
                     <el-table-column type="selection" min-width="5">
                     </el-table-column>
-                    <el-table-column  prop="id" label="閮ㄩ棬ID" min-width="5">
+                    <el-table-column prop="id" label="閮ㄩ棬ID" min-width="5">
                         <!-- <template slot-scope="scope">{{ scope.row.id }}</template> -->
                     </el-table-column>
                     <el-table-column prop="departName" label="閮ㄩ棬鍚嶇О" min-width="10">
@@ -51,14 +51,18 @@
                                 <span class="line">|</span>
                                 <!-- <span>淇敼瀵嗙爜</span> -->
                                 <!-- <span>鍒犻櫎</span> -->
-                                <span @click="handleUpdate(scope.row)">淇敼閮ㄩ棬</span>
+                                <span @click="handleUpdate(scope.row)">淇敼</span>
+                                <span class="line">|</span>
+                                <span @click="handleDelete(scope.row)">鍒犻櫎</span>
                             </div>
                         </template>
                     </el-table-column>
                 </el-table>
                 <!-- 鏌ョ湅淇敼椤甸潰 -->
-                <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '淇敼閮ㄩ棬淇℃伅' :'鏌ョ湅閮ㄩ棬淇℃伅'" v-if="dialogUpdate">
-                    <updateUser :updateFlag="updateFlag" :userInfo="userInfo" :getUserList="getUserList"  @changeDialog="changMyDialog"  />
+                <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '淇敼閮ㄩ棬淇℃伅' :'鏌ョ湅閮ㄩ棬淇℃伅'"
+                    v-if="dialogUpdate">
+                    <updateUser :updateFlag="updateFlag" :userInfo="userInfo" :getUserList="context==='' ? getUserList : search"
+                        @changeDialog="changMyDialog" />
                 </el-dialog>
                 <!-- 鍒嗛〉 -->
                 <div class="pagination">
@@ -89,13 +93,35 @@
             totalNum: 200,
             pageSize: 10,
             currentPage: 1,
-            context:''
+            context: ''
         }
     },
     created() {
         this.getUserList();
     },
     methods: {
+        handleDelete({ id }) {
+            this.$confirm('纭鍒犻櫎锛�')
+                .then(_ => {
+                    this.$axios({
+                        method: 'post',
+                        url: 'sccg/depart/delete',
+                        data: {
+                            id
+                        }
+                    })
+                        .then(res => {
+                            console.log(res);
+                            this.$message({
+                                type: res.code===404 ? 'warning':'success',
+                                message: res.message
+                            })
+
+                            this.getUserList();
+                        })
+                })
+                .catch(_ => {});
+        },
         // 淇敼瑙掕壊
         handleChangeRole(obj) {
             this.dialogUpdate = true
@@ -107,7 +133,7 @@
             let { id, status } = obj;
             status == true ? status = 1 : status = 0;
             console.log(id, status);
-            this.$axios.post(`sccg/depart/status` ,{id:id,status:status}).then(res => {
+            this.$axios.post(`sccg/depart/status`, { id: id, status: status }).then(res => {
                 console.log(res);
             })
         },
@@ -131,14 +157,14 @@
             const that = this;
             this.dialogCreate = false;
             // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�
-            this.$axios.get('sccg/depart/page',{params:{currentPage:this.currentPage,pageSize:this.pageSize,departName:this.context}}).then(res => {
+            this.$axios.get('sccg/depart/page', { params: { currentPage: this.currentPage, pageSize: this.pageSize, departName: this.context } }).then(res => {
                 if (res.code === 200) {
                     res.data.records.forEach(item => {
                         item.createTime = helper(item.createTime);
                         item.status == 1 ? item.status = true : item.status = false;
                     })
                     that.totalNum = res.data.records.length;
-                    that.tableData = res.data.records.slice((that.currentPage-1)*10,that.currentPage*10)
+                    that.tableData = res.data.records.slice((that.currentPage - 1) * this.pageSize, that.currentPage * this.pageSize)
                 }
             })
         },
@@ -164,22 +190,22 @@
             this.userInfo = rowData
         },
         // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
-        changeCurrentPage(page){
+        changeCurrentPage(page) {
             this.currentPage = page;
             this.search();
         },
         // 涓婁竴椤电偣鍑讳簨浠�
-        handlePrev(page){
+        handlePrev(page) {
             this.currentPage = page;
             this.search();
         },
         // 涓嬩竴椤电偣鍑讳簨浠�
-        handleNext(page){
+        handleNext(page) {
             this.currentPage = page;
             this.search();
         },
-         // 鍏抽棴dialog
-         changMyDialog(val){
+        // 鍏抽棴dialog
+        changMyDialog(val) {
             this.dialogUpdate = val.dialogFlag;
         }
     },
@@ -335,22 +361,26 @@
     &::v-deep .el-dialog__body {
         background-color: #06122c;
     }
-    &::v-deep .el-dialog__header{
+
+    &::v-deep .el-dialog__header {
         display: flex;
         align-items: center;
         background-color: #fff;
         padding: 20px;
         line-height: 60px;
     }
-    &::v-deep .el-dialog__title{
+
+    &::v-deep .el-dialog__title {
         color: #4b9bb7;
     }
-    &::v-deep .el-dialog__close{
+
+    &::v-deep .el-dialog__close {
         width: 20px;
         height: 20px;
         // color: #fff;
     }
-    &::v-deep .el-dialog__body{
+
+    &::v-deep .el-dialog__body {
         padding: 0;
     }
 }
diff --git a/src/views/systemSetting/baseSetting/department/updateUser/index.vue b/src/views/systemSetting/baseSetting/department/updateUser/index.vue
index 44f43fc..e2cfc39 100644
--- a/src/views/systemSetting/baseSetting/department/updateUser/index.vue
+++ b/src/views/systemSetting/baseSetting/department/updateUser/index.vue
@@ -18,7 +18,8 @@
                     <!-- 涓婄骇閮ㄩ棬 -->
                     <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.name" :label="item.name" :value="item.value">
+                            <el-option v-for="item in typeList" :key="item.departName" :label="item.departName"
+                                :value="item.id">
                             </el-option>
                         </el-select>
                     </el-form-item>
@@ -51,31 +52,37 @@
         const validateNickname = (rule, value, callback) => {
             if (!value) {
                 callback(new Error("璇峰~鍐欓儴闂ㄥ悕绉�"));
+            } else {
+                callback();
             }
         };
         const validateId = (rule, value, callback) => {
             if (!value) {
                 callback(new Error("璇峰~鍐欓儴闂╥d"));
+            } else {
+                callback();
             }
         }
         const validatePass = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback();
             } else {
-                const rep = /^\w+$/;
-                if (!rep.test(value)) {
-                    callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
-                }
+                callback();
+                // const rep = /^\w+$/;
+                // if (!rep.test(value)) {
+                //     callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
+                // }
             }
         };
         const validatePhone = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�"));
+                callback();
             } else {
-                const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
-                if (!rep.test(value)) {
-                    callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
-                }
+                callback();
+                // const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
+                // if (!rep.test(value)) {
+                //     callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
+                // }
             }
         };
         return {
@@ -125,16 +132,26 @@
     },
     methods: {
         handleUser() {
-            const { user } = this;
-            const that = this;
-            this.$axios.post('sccg/depart/update', {
-                id: user.id,
-                departName: user.departName,
-                parentId: user.parentId,
-                departDes: user.departDes
-            }).then(res => {
-                this.$emit('changeDialog',{dialogUpdate:false});
-                this.getUserList();
+            this.$refs['user'].validate((valid) => {
+                if (valid) {
+                    const { user } = this;
+                    this.$axios.post('sccg/depart/update', {
+                        id: user.id,
+                        departName: user.departName,
+                        parentId: user.parentId,
+                        departDes: user.departDes
+                    }).then(res => {
+                        console.log(res);
+                        this.$message({
+                            message:res.message,
+                            type:res.code === 200 ? 'success' : 'warning',
+                        })
+                        this.$emit('changeDialog', { dialogUpdate: false });
+                        this.getUserList();
+                    })
+                } else {
+                    return false;
+                }
             })
         }
     },
diff --git a/src/views/systemSetting/baseSetting/role/createUser/index.vue b/src/views/systemSetting/baseSetting/role/createUser/index.vue
index 9d8fbc2..5208019 100644
--- a/src/views/systemSetting/baseSetting/role/createUser/index.vue
+++ b/src/views/systemSetting/baseSetting/role/createUser/index.vue
@@ -1,11 +1,5 @@
 <template>
     <div class="createUser">
-        <!-- <header>
-            <div class="headerTitle">鏂板瑙掕壊</div>
-            <div class="headerTip">
-                <label>x</label>
-            </div>
-        </header> -->
         <main>
             <div class="mainContent">
                 <el-form ref="user" label-width="140px" autoComplete="on" :model="role" :rules="createRoleRules"
@@ -16,20 +10,22 @@
                     </el-form-item>
                     <!-- 瑙掕壊绫诲瀷 -->
                     <el-form-item class="optionItems" label="瑙掕壊绫诲瀷:" prop="status">
-                        <el-select v-model="role.type" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷">
+                        <el-input v-model="role.type" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷"></el-input>
+                        <!-- <el-select v-model="role.type" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷">
                             <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
                                 :disabled="item.disabled">
                             </el-option>
-                        </el-select>
+                        </el-select> -->
                     </el-form-item>
                     <!-- 瑙掕壊鎻忚堪 -->
                     <el-form-item class="optionItem" label="瑙掕壊鎻忚堪:" prop="description">
-                        <el-input v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input>
+                        <el-input type="textarea" v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input>
                     </el-form-item>
                     <el-form-item>
                         <div class="optionBtn">
-                            <el-button  class="btn cancel" >鍙栨秷</el-button>
-                        <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦</el-button>
+                            <el-button class="btn cancel" @click="handleStop">鍙栨秷</el-button>
+                            <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦
+                            </el-button>
                         </div>
                     </el-form-item>
                 </el-form>
@@ -43,50 +39,50 @@
     data() {
         const validateNickname = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
+                callback(new Error("璇峰~鍐欒鑹插悕绉�"));
+            } else {
+                callback();
             }
         };
         const validatePass = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback();
             } else {
-                const rep = /^\w+$/;
-                if (!rep.test(value)) {
-                    callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
-                }
+                // const rep = /^\w+$/;
+                // if (!rep.test(value)) {
+                //     callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
+                // }
+                callback();
             }
         };
         const validateTruename = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑敤鎴峰鍚�"));
+            if (value) {
+                callback();
             } else {
-                const rep = /^[\u4E00-\u9FA5]{2,4}$/;
-                if (!rep.test(value)) {
-                    callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
-                }
+                // const rep = /^[\u4E00-\u9FA5]{2,4}$/;
+                // if (!rep.test(value)) {
+                //     callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
+                // }
+                callback();
             }
         };
         return {
             role: {
+                name: '',
                 type: '',
-                status: '',
                 description: '',
             },
             createRoleRules: {
                 name: [
                     { required: true, trigger: "blur", validator: validateNickname },
                 ],
-                status: [
+                type: [
                     { required: false, trigger: "blur", validator: validatePass },
                 ],
                 description: [
                     { required: false, trigger: "blur", validator: validateTruename },
                 ],
             },
-            roleList: [
-                { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
-            ],
-            typeList: []
         }
     },
     created() {
@@ -98,21 +94,31 @@
         //     console.log(res);
         // })
         // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
-        this.$axios.get('sccg/depart/page').then(res => {
-            that.typeList = res.data.records;
-        })
+        // this.$axios.get('sccg/depart/page').then(res => {
+        //     that.typeList = res.data.records;
+        // })
     },
     methods: {
         handleUser() {
-            const { role } = this;
-            console.log(role);
-            this.$axios.post('sccg/role/create', {
-                description:role.description,name:role.name,type:role.type
-            }).then(res => {
-                if (res.code === 200) {
-                    this.refresh();
+            this.$refs['user'].validate((valid) => {
+                console.log(valid);
+                if (valid) {
+                    const { role } = this;
+                    console.log(role);
+                    this.$axios.post('sccg/role/create', {
+                        description: role.description, name: role.name, type: role.type
+                    }).then(res => {
+                        if (res.code === 200) {
+                            this.refresh();
+                        }
+                    })
+                } else {
+                    return false;
                 }
             })
+        },
+        handleStop(){
+            this.refresh();
         }
     },
     props: ['refresh']
@@ -123,30 +129,7 @@
     border-radius: 1px;
     background-color: #09152f;
 
-    // header {
-    //     display: flex;
-    //     justify-content: space-between;
-    //     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;
         text-align: left;
         padding: 0 55px;
         background-color: #09152f;
@@ -156,6 +139,7 @@
             display: flex;
             justify-content: center;
             padding-top: 50px;
+
             &::v-deep .el-form-item__label {
                 color: #4b9bb7;
             }
@@ -165,6 +149,11 @@
                 border: 1px solid #17324c;
             }
 
+            &::v-deep .el-textarea__inner {
+                background-color: #09152f;
+                border: 1px solid #17324c;
+            }
+
             .el-form-item__content {
                 width: 400px;
 
diff --git a/src/views/systemSetting/baseSetting/role/index.vue b/src/views/systemSetting/baseSetting/role/index.vue
index be67cba..421728c 100644
--- a/src/views/systemSetting/baseSetting/role/index.vue
+++ b/src/views/systemSetting/baseSetting/role/index.vue
@@ -30,9 +30,9 @@
                     </el-table-column> -->
                     <el-table-column prop="name" label="瑙掕壊鍚嶇О" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="username" label="瑙掕壊绫诲瀷" min-width="10">
+                    <el-table-column prop="sort" label="瑙掕壊绫诲瀷" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="mobile" label="榛樿瑙掕壊" min-width="10">
+                    <el-table-column prop="adminCount" label="榛樿瑙掕壊" min-width="10">
                     </el-table-column>
                     <el-table-column prop="description" label="澶囨敞" min-width="10">
                     </el-table-column>
@@ -51,14 +51,20 @@
                                 <span class="line">|</span>
                                 <!-- <span>淇敼瀵嗙爜</span> -->
                                 <!-- <span>鍒犻櫎</span> -->
-                                <span @click="handleUpdate(scope.row)">淇敼瑙掕壊</span>
+                                <span @click="handleUpdate(scope.row)">鏉冮檺璁剧疆</span>
+                                <span class="line">|</span>
+                                <span @click="handleStop(scope.row)">鍋滅敤</span>
+                                <span class="line">|</span>
+                                <span @click="handleDelete(scope.row)">鍒犻櫎</span>
                             </div>
                         </template>
                     </el-table-column>
                 </el-table>
                 <!-- 鏌ョ湅淇敼椤甸潰 -->
-                <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '淇敼瑙掕壊淇℃伅' :'鏌ョ湅瑙掕壊淇℃伅'" v-if="dialogUpdate">
-                    <updateUser :updateFlag="updateFlag" :userInfo=userInfo :getUserList=getUserList @changeDialog="changeDialog"  />
+                <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '鏉冮檺璁剧疆' :'鏌ョ湅瑙掕壊淇℃伅'"
+                    v-if="dialogUpdate">
+                    <updateUser :updateFlag="updateFlag" :userInfo=userInfo :getUserList=getUserList
+                        @changeDialog="changeDialog" />
                 </el-dialog>
                 <!-- 鍒嗛〉 -->
                 <div class="pagination">
@@ -96,6 +102,28 @@
         this.getUserList();
     },
     methods: {
+        handleDelete({ id }) {
+            const that = this;
+            let arr = [];
+            arr.push(id);
+            this.$confirm('纭鍒犻櫎锛�')
+                .then(_ => {
+                    that.$axios({
+                        method: 'post',
+                        url: 'sccg/role/delete?ids=' + arr,
+                    })
+                        .then(res => {
+                            console.log(res);
+                            this.$message({
+                                type: 'success',
+                                message: res.message
+                            })
+
+                            this.getUserList();
+                        })
+                })
+                .catch(_ => { });
+        },
         // 淇敼瑙掕壊
         handleChangeRole(obj) {
             this.dialogUpdate = true
@@ -111,37 +139,66 @@
                 console.log(res);
             })
         },
+        handleStop(obj) {
+            // let { id, status } = obj;
+            // status == true ? status = 1 : status = 0;
+            // console.log(id, status);
+            // this.$axios.post(`/sccg/role/updateStatus/` + id + '?status=' + status).then(res => {
+            //     this.getUserList();
+            // })
+        },
         // 鑾峰彇鐢ㄦ埛鍒楄〃
         getUserList() {
             const that = this;
             this.dialogCreate = false;
             // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�
             this.$axios.get('sccg/role/listAll').then(res => {
-                console.log(res)
-                if (res.code === 200) {
-                    res.data.forEach(item => {
-                        item.createTime = helper(item.createTime);
-                        item.status == 1 ? item.status = true : item.status = false;
-                    })
-                    that.tableData = res.data
-                    this.totalNum=res.data.length
-                }
+                this.totalNum = res.data.length;
+                this.search();
             })
         },
         search() {
             const that = this;
+            const { currentPage, pageSize, context } = this;
             this.dialogCreate = false;
             // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�
-            this.$axios.get('sccg/role/list',{params:{pageNum:this.currentPage,pageSize:this.pageSize,keyword:this.context}}).then(res => {
-                if (res.code === 200) {
-                    res.data.list.forEach(item => {
-                        item.createTime = helper(item.createTime);
-                        item.status == 1 ? item.status = true : item.status = false;
-                    })
-                     this.totalNum=this.
-                     this.totalNum=res.data.list.length
-                }
-            })
+            if (context == '') {
+                this.$axios.get('sccg/role/list?keyword=' + '&pageNum=' + currentPage + '&pageSize=' + pageSize).then(res => {
+                    if (res.code === 200) {
+                        console.log(res);
+                        res.data.list.forEach(item => {
+                            item.createTime = helper(item.createTime);
+                            item.status == 1 ? item.status = true : item.status = false;
+                        })
+                        that.tableData = res.data.list
+                    }
+                })
+            } else {
+                this.$axios({
+                    method: 'get',
+                    url: 'sccg/role/list?keyword='+context + '&pageNum=' + currentPage + '&pageSize=' + pageSize,
+                }).then(res => {
+                    if (res.code === 200) {
+                        console.log(2, res);
+                        res.data.list.forEach(item => {
+                            item.createTime = helper(item.createTime);
+                            item.status == 1 ? item.status = true : item.status = false;
+                        })
+                        that.tableData = res.data.list
+                        this.totalNum = res.data.length;
+                    }
+                })
+                //     this.$axios.get('sccg/role/list?'+context).then(res => {
+                //     if (res.code === 200) {
+                //         console.log(2,res);
+                //         res.data.list.forEach(item => {
+                //             item.createTime = helper(item.createTime);
+                //             item.status == 1 ? item.status = true : item.status = false;
+                //         })
+                //         that.tableData = res.data.list
+                //     }
+                // })
+            }
         },
         // 璁剧疆琛ㄦ牸鏂戦┈绾�
         tableRowClassName({ row, rowIndex }) {
@@ -179,28 +236,7 @@
             this.currentPage = page;
             this.search();
         },
-        // 鐢ㄦ埛鏌ヨ(鏆傛椂鏀寔鐢佃瘽鍙风爜)
-        handlePhone() {
-            const { search, getUserList } = this;
-            const that = this;
-            if (search == '') {
-                getUserList();
-                return;
-            }
-            this.dialogCreate = false;
-            // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�
-            this.$axios.get(`sccg/admin/list?mobile=${search}`).then(res => {
-                if (res.code === 200) {
-                    res.data.records.forEach(item => {
-                        item.createTime = helper(item.createTime);
-                        item.status == 1 ? item.status = true : item.status = false;
-                    })
-                    that.totalNum = res.data.records.length;
-                    that.tableData = res.data.records.slice((that.currentPage - 1) * 10, that.currentPage * 10)
-                }
-            })
-        },
-        changeDialog(val){
+        changeDialog(val) {
             this.dialogUpdate = val.dialogUpdate;
             console.log(val);
         }
@@ -357,22 +393,26 @@
     &::v-deep .el-dialog__body {
         background-color: #06122c;
     }
-    &::v-deep .el-dialog__header{
+
+    &::v-deep .el-dialog__header {
         display: flex;
         align-items: center;
         background-color: #fff;
         padding: 20px;
         line-height: 60px;
     }
-    &::v-deep .el-dialog__title{
+
+    &::v-deep .el-dialog__title {
         color: #4b9bb7;
     }
-    &::v-deep .el-dialog__close{
+
+    &::v-deep .el-dialog__close {
         width: 20px;
         height: 20px;
         // color: #fff;
     }
-    &::v-deep .el-dialog__body{
+
+    &::v-deep .el-dialog__body {
         padding: 0;
     }
 }
diff --git a/src/views/systemSetting/baseSetting/role/updateUser/index.vue b/src/views/systemSetting/baseSetting/role/updateUser/index.vue
index 5d2e253..eb2c505 100644
--- a/src/views/systemSetting/baseSetting/role/updateUser/index.vue
+++ b/src/views/systemSetting/baseSetting/role/updateUser/index.vue
@@ -1,8 +1,5 @@
 <template>
     <div class="updateUser">
-        <!-- <header>
-            <div class="headerTitle">{{updateFlag ? '淇敼瑙掕壊淇℃伅' :'鏌ョ湅瑙掕壊淇℃伅'}}</div>
-        </header> -->
         <main>
             <div class="mainContent">
                 <el-form ref="user" label-width="140px" autoComplete="on" :model="role" :rules="createRoleRules"
@@ -12,20 +9,18 @@
                         <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�" :disabled="!updateFlag"></el-input>
                     </el-form-item>
                     <!-- 瑙掕壊绫诲瀷 -->
-                    <el-form-item class="optionItems" label="瑙掕壊绫诲瀷:" prop="status">
-                        <el-select v-model="role.status" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷" :disabled="!updateFlag">
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
-                                :disabled="item.disabled">
-                            </el-option>
-                        </el-select>
+                    <el-form-item class="optionItems" label="瑙掕壊绫诲瀷:" prop="sort">
+                        <el-input v-model="role.sort" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷" :disabled="!updateFlag"></el-input>
                     </el-form-item>
                     <!-- 瑙掕壊鎻忚堪 -->
                     <el-form-item class="optionItem" label="瑙掕壊鎻忚堪:" prop="description">
-                        <el-input v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�" :disabled="!updateFlag"></el-input>
+                        <el-input type="textarea" v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"
+                            :disabled="!updateFlag"></el-input>
                     </el-form-item>
                     <el-form-item v-if="updateFlag">
                         <div class="optionBtn">
-                        <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">纭</el-button>
+                            <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">纭
+                            </el-button>
                         </div>
                     </el-form-item>
                 </el-form>
@@ -39,83 +34,81 @@
     data() {
         const validateNickname = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
+                callback(new Error("璇峰~鍐欒鑹插悕绉�"));
+            } else {
+                callback();
             }
         };
         const validatePass = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback();
             } else {
-                const rep = /^\w+$/;
-                if (!rep.test(value)) {
-                    callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
-                }
+                // const rep = /^\w+$/;
+                // if (!rep.test(value)) {
+                //     callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
+                // }
+                callback();
             }
         };
         const validateTruename = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑敤鎴峰鍚�"));
+            if (value) {
+                callback();
             } else {
-                const rep = /^[\u4E00-\u9FA5]{2,4}$/;
-                if (!rep.test(value)) {
-                    callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
-                }
+                // const rep = /^[\u4E00-\u9FA5]{2,4}$/;
+                // if (!rep.test(value)) {
+                //     callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
+                // }
+                callback();
             }
         };
         return {
             role: {
-                id:'',
                 name: '',
-                status: '',
+                sort: '',
                 description: '',
             },
             createRoleRules: {
                 name: [
                     { required: true, trigger: "blur", validator: validateNickname },
                 ],
-                status: [
+                sort: [
                     { required: false, trigger: "blur", validator: validatePass },
                 ],
                 description: [
                     { required: false, trigger: "blur", validator: validateTruename },
                 ],
             },
-            roleList: [
-                { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
-            ],
-            typeList: []
         }
     },
     created() {
         const that = this;
-        this.userInfo.status ? this.userInfo.status = 1: this.userInfo.status = 0;
+        this.userInfo.status ? this.userInfo.status = 1 : this.userInfo.status = 0;
         this.role = 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;
-        })
+        console.log(this.role);
     },
     methods: {
         handleUser() {
-            const { role } = this;
-            this.$axios.post('/sccg/role/update/'+role.id, {
-                id:role.id,
-                status: role.status,
-                description:role.description,
-                name:role.name
-            }).then(res => {
-                this.$emit('changeDialog',{dialogUpdate:false});
-                this.getUserList();
+            this.$refs.user.validate((valid) => {
+                console.log(valid);
+                if (valid) {
+                    const { role } = this;
+                    this.$axios.post('/sccg/role/update/' + role.id, {
+                        id: role.id,
+                        status: role.status,
+                        description: role.description,
+                        name: role.name,
+                        sort:role.sort
+                    }).then(res => {
+                        this.$emit('changeDialog', { dialogUpdate: false });
+                        this.getUserList();
+                    })
+                } else {
+                    return false;
+                }
             })
         }
     },
-    props: ['userInfo', 'updateFlag','getUserList','changeDialog']
+    props: ['userInfo', 'updateFlag', 'getUserList', 'changeDialog']
 }
 </script>
 <style lang="scss" scoped>
@@ -123,37 +116,18 @@
     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;
         text-align: left;
         padding: 0 55px;
         background-color: #09152f;
         padding-bottom: 50px;
+
         .mainContent {
             display: flex;
             justify-content: center;
             padding-top: 50px;
+
             .el-form-item__content {
                 width: 400px;
 
@@ -186,14 +160,19 @@
 
         }
     }
-}
 
-.updateUser::v-deep .el-form-item__label {
-    color: #4b9bb7;
-}
+    &::v-deep .el-textarea__inner {
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
 
-.updateUser::v-deep .el-input__inner {
-    background-color: #09152f;
-    border: 1px solid #17324c;
+    ::v-deep .el-form-item__label {
+        color: #4b9bb7;
+    }
+
+    ::v-deep .el-input__inner {
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
 }
 </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 833990f..76db6d1 100644
--- a/src/views/systemSetting/baseSetting/user/components/createUser/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/createUser/index.vue
@@ -1,14 +1,6 @@
 <template>
     <div class="createUser">
-        <!-- <header>
-            <div class="headerTitle">鏂板璐︽埛</div>
-            <div class="headerTip">
-                <span>*</span>
-                <label>涓哄繀濉」</label>
-            </div>
-        </header> -->
         <main>
-            <!-- <div class="mainTitle">鍩虹淇℃伅</div> -->
             <div class="mainContent">
                 <el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules"
                     label-position="right">
@@ -47,17 +39,17 @@
                         <el-input v-model="user.email" placeholder="璇峰~鍐欓偖绠卞湴鍧�"></el-input>
                     </el-form-item>
                     <!-- 閫夋嫨瑙掕壊 -->
-                    <!-- <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role">
+                    <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role">
                         <el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�">
-                            <el-option v-for="item in roleList" :key="item.name" :label="item.name" :value="item.value"
+                            <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>
                     <!-- 鐢ㄦ埛绫诲瀷 -->
                     <el-form-item class="optionItem" label="鐢ㄦ埛绫诲瀷:" prop="userType">
                         <el-select v-model="user.userType" placeholder="璇烽�夋嫨鐢ㄦ埛绫诲瀷">
-                            <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"
                                 :disabled="item.disabled">
                             </el-option>
                         </el-select>
@@ -76,27 +68,28 @@
                     <!-- 鎵�灞為儴闂� -->
                     <el-form-item class="optionItem" label="鎵�灞為儴闂�:" prop="departmentId">
                         <el-select v-model="user.departmentId" placeholder="璇烽�夋嫨鎵�灞為儴闂�">
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.departName"
+                            <el-option v-for="item in departList" :key="item.name" :label="item.departName"
                                 :value="item.id">
                             </el-option>
                         </el-select>
                     </el-form-item>
                     <!-- 褰撳墠鑱屽姟 -->
                     <el-form-item class="optionItem" label="褰撳墠鑱屽姟:" prop="jobTitle">
-                        <el-input v-model="user.work" placeholder="璇疯緭鍏ュ綋鍓嶈亴鍔�" ></el-input>
+                        <el-input v-model="user.jobTitle" placeholder="璇疯緭鍏ュ綋鍓嶈亴鍔�"></el-input>
                     </el-form-item>
                     <!-- 濉啓鎵�灞瀖ac鍦板潃 -->
-                    <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac">
+                    <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac">
                         <el-input v-model="user.mac" placeholder="璇峰~鍐欐墍灞瀖ac鍦板潃"></el-input>
-                    </el-form-item> -->
+                    </el-form-item>
                     <!-- 濉啓鎵�灞瀒p鍦板潃 -->
-                    <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip">
+                    <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip">
                         <el-input v-model="user.ip" placeholder="璇峰~鍐欐墍灞瀒p鍦板潃"></el-input>
-                    </el-form-item> -->
+                    </el-form-item>
                     <el-form-item>
                         <div class="optionBtn">
-                            <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦</el-button>
-                        <el-button class="btn reset">閲嶇疆</el-button>
+                            <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦
+                            </el-button>
+                            <el-button class="btn reset">閲嶇疆</el-button>
                         </div>
                     </el-form-item>
                 </el-form>
@@ -110,99 +103,106 @@
     data() {
         const validateNickname = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
+                callback(new Error("鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖"));
+            }else{
+                callback();
             }
         };
         const validatePass = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback(new Error("鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖"));
             } else {
                 const rep = /^\w+$/;
                 if (!rep.test(value)) {
                     callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
+                }else{
+                    callback();
                 }
             }
         };
         const validateTruename = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑敤鎴峰鍚�"));
+                callback(new Error("鐢ㄦ埛濮撳悕涓嶈兘涓虹┖"));
             } else {
                 const rep = /^[\u4E00-\u9FA5]{2,4}$/;
                 if (!rep.test(value)) {
                     callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
+                }else{
+                    callback();
                 }
             }
         };
         const validatePhone = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�"));
+                callback(new Error("鎵嬫満鍙风爜涓嶈兘涓虹┖"));
             } else {
                 const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
                 if (!rep.test(value)) {
                     callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
+                }else{
+                    callback();
                 }
             }
         };
-        const validateMail = (rule, value, callback) => {
-            if (value) {
-                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("璇疯緭鍏ユ纭殑閭"))
-                }
-            }
-        };
+        // const validateMail = (rule, value, callback) => {
+        //     if (value) {
+        //         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("璇疯緭鍏ユ纭殑閭"))
+        //         }
+        //     }
+        // };
         const validateRole = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback(new Error("鎵�灞炶鑹蹭笉鑳戒负绌�"));
             } else {
-                callback();
+                callback()
             }
         };
         const validateType = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback(new Error("鐢ㄦ埛绫诲瀷涓嶈兘涓虹┖"));
             } else {
-                callback();
+                callback()
             }
         };
         const validateDepartment = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback(new Error("璇烽�夋嫨鐢ㄦ埛閮ㄩ棬"));
             } else {
-                callback();
+                callback()
             }
         };
         const validateWork = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback(new Error("鐢ㄦ埛褰撳墠鑱屽姟涓嶈兘涓虹┖"));
             } else {
                 callback();
             }
         };
-        const validateMac = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
-            } else {
-                callback();
-            }
-        };
-        const validateIp = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
-            } else {
-                callback();
-            }
-        };
+        // const validateMac = (rule, value, callback) => {
+        //     if (value) {
+        //         callback(new Error(""));
+        //     }else{
+        //         callback()
+        //     }
+        // };
+        // const validateIp = (rule, value, callback) => {
+        //     if (value) {
+        //     }else{
+        //         callback()
+        //     }
+        // };
         return {
             user: {
                 nickName: '',
                 password: '',
                 username: '',
-                // gender: 1,
+                gender: 1,
                 isDy: 0,
                 mobile: '',
                 email: '',
-                // role: null,
+                role: null,
                 userType: null,
                 zj: {
                     areaNumber: '',
@@ -211,8 +211,8 @@
                 },
                 departmentId: null,
                 jobTitle: null,
-                // mac: '',
-                // ip: '',
+                mac: '',
+                ip: '',
             },
             createUserRules: {
                 nickName: [
@@ -224,29 +224,29 @@
                 username: [
                     { required: true, trigger: "blur", validator: validateTruename },
                 ],
-                // gender: [
-                //     { required: true, trigger: "blur" },
-                // ],
+                gender: [
+                    { required: true, trigger: "blur" },
+                ],
                 isDy: [
                     { required: true, trigger: "blur" },
                 ],
                 mobile: [
                     { required: true, trigger: "blur", validator: validatePhone },
                 ],
-                email: [
-                    { required: false, trigger: "blur", validator: validateMail },
-                ],
-                // role: [
-                //     { required: true, trigger: "blur", validator: validateRole },
+                // email: [
+                //     { required: false, trigger: "blur", validator: validateMail },
                 // ],
+                role: [
+                    { required: true, trigger: "change", validator: validateRole },
+                ],
                 userType: [
-                    { required: true, trigger: "blur", validator: validateType },
+                    { required: true, trigger: "change", validator: validateType },
                 ],
                 zj: [
                     { required: false, trigger: "blur" },
                 ],
                 departmentId: [
-                    { required: true, trigger: "blur", validator: validateDepartment },
+                    { required: true, trigger: "change", validator: validateDepartment },
                 ],
                 jobTitle: [
                     { required: true, trigger: "blur", validator: validateWork },
@@ -259,44 +259,61 @@
                 // ],
             },
             roleList: [
-                { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
+                { name: '瑙掕壊1', id: 1 }, { name: '瑙掕壊2', id: 2 }
             ],
-            typeList: []
+            typeList: [
+                { name: '绫诲瀷1', id: 1 }, { name: '绫诲瀷2', id: 2 }
+            ],
+            departList: []
         }
     },
     created() {
         const that = this;
         // 鑾峰彇瑙掕壊鍒楄〃
-        // this.$axios.get('')
-        // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃
-        // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{
-        //     console.log(res);
-        // })
+        this.getRoleList();
         // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
         this.$axios.get('sccg/depart/page').then(res => {
-            that.typeList = res.data.records;
+            that.departList = res.data.records;
         })
     },
     methods: {
         handleUser() {
-            const { user } = this;
-            this.$axios.post('sccg/admin/register', {
-                departmentId: user.departmentId,
-                email: user.email,
-                jsDy: user.isDy,
-                jobTitle: user.jobTitle,
-                mobile: user.mobile,
-                nickName: user.nickName,
-                password: user.password,
-                userType: user.userType,
-                username: user.username,
-            }).then(res => {
-                if (res.code === 200) {
-                    console.log(1);
-                    this.$emit('sendDialog',{flag:false});
+            this.$refs['user'].validate((valid) => {
+                console.log(valid);
+                if (valid) {
+                    const { user } = this;
+                    console.log(user);
+                    this.$axios.post('sccg/admin/register', {
+                        departmentId: user.departmentId,
+                        email: user.email,
+                        jsDy: user.isDy,
+                        jobTitle: user.jobTitle,
+                        mobile: user.mobile,
+                        nickName: user.nickName,
+                        password: user.password,
+                        userType: user.userType,
+                        username: user.username,
+                    }).then(res => {
+                        if (res.code === 200) {
+                            console.log(1);
+                            this.$emit('sendDialog', { flag: false });
+                        }
+                    })
+                }else{
+                    return false
                 }
             })
         },
+        // 鑾峰彇瑙掕壊鍒楄〃
+        getRoleList() {
+            this.$axios({
+                method: 'get',
+                url: 'sccg/role/listAll',
+            })
+                .then(res => {
+                    this.roleList = res.data;
+                })
+        }
     },
     props: ['sendDialog']
 }
@@ -306,46 +323,18 @@
     border-radius: 1px;
     background-color: #09152f;
 
-    // header {
-    //     display: flex;
-    //     justify-content: space-between;
-    //     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;
         text-align: left;
         padding: 0 55px;
         background-color: #09152f;
         padding-bottom: 50px;
         padding-top: 20px;
-        // .mainTitle {
-        //     color: #4b9bb7;
-        //     font-weight: 600;
-        //     line-height: 100px;
-        //     font-size: 14px;
-        // }
 
         .mainContent {
             display: flex;
             justify-content: center;
             margin-top: 50px;
+
             &::v-deep .el-form-item__label {
                 color: #4b9bb7;
             }
diff --git a/src/views/systemSetting/baseSetting/user/components/main/index.vue b/src/views/systemSetting/baseSetting/user/components/main/index.vue
index 4ff7c0f..394c7d4 100644
--- a/src/views/systemSetting/baseSetting/user/components/main/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/main/index.vue
@@ -7,20 +7,20 @@
                 :data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
                 <el-table-column type="selection" min-width="5">
                 </el-table-column>
-                <el-table-column label="鐢ㄦ埛ID" min-width="5">
+                <el-table-column label="鐢ㄦ埛ID" min-width="4">
                     <template slot-scope="scope">{{ scope.row.id }}</template>
                 </el-table-column>
                 <el-table-column prop="nickName" label="鐢ㄦ埛鍚嶇О" min-width="10">
                 </el-table-column>
-                <el-table-column prop="username" label="鎵�灞炲鍚�" min-width="10">
+                <el-table-column prop="username" label="鎵�灞炲鍚�" min-width="8">
                 </el-table-column>
-                <el-table-column prop="mobile" label="鑱旂郴鏂瑰紡" min-width="10">
+                <el-table-column prop="mobile" label="鑱旂郴鏂瑰紡" min-width="7">
                 </el-table-column>
-                <el-table-column prop="note" label="鎵�灞炶鑹�" min-width="10">
+                <el-table-column prop="note" label="鎵�灞炶鑹�" min-width="8">
                 </el-table-column>
-                <el-table-column prop="departName" label="鎵�灞為儴闂�" min-width="10">
+                <el-table-column prop="departName" label="鎵�灞為儴闂�" min-width="8">
                 </el-table-column>
-                <el-table-column prop="jobTitle" label="鎵�灞炶亴鍔�" min-width="10">
+                <el-table-column prop="jobTitle" label="鎵�灞炶亴鍔�" min-width="8">
                 </el-table-column>
                 <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
                 </el-table-column>
@@ -31,31 +31,52 @@
                         </el-switch>
                     </template>
                 </el-table-column>
-                <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+                <el-table-column prop="operation" label="鎿嶄綔" min-width="22">
                     <template slot-scope="scope">
                         <div class="operation">
-                            <!-- <span @click="handleChangeRole(scope.row)">淇敼瑙掕壊</span> -->
+                            <span @click="handleChangeRole(scope.row,'role')">淇敼瑙掕壊</span>
+                            <span class="line">|</span>
                             <span @click="handleFind(scope.row)">鏌ョ湅</span>
                             <span class="line">|</span>
-                            <!-- <span>淇敼瀵嗙爜</span> -->
-                            <!-- <span>鍒犻櫎</span> -->
-                            <span @click="handleUpdate(scope.row)">淇敼閮ㄩ棬</span>
+                            <span @click="handleChangeRole(scope.row,'password')">淇敼瀵嗙爜</span>
+                            <span class="line">|</span>
+                            <span @click="handleDelete(scope.row)">鍒犻櫎</span>
+                            <span class="line">|</span>
+                            <span @click="handleChangeRole(scope.row,'depart')">淇敼閮ㄩ棬</span>
                         </div>
                     </template>
                 </el-table-column>
             </el-table>
             <!-- 鏌ョ湅淇敼椤甸潰 -->
             <el-dialog :visible.sync="dialogUpdate" width="45%" v-if="dialogUpdate"
-                :title="updateFlag ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅' :'鏌ョ湅鐢ㄦ埛淇℃伅'">
-                <updateUser :updateFlag="updateFlag" :userInfo=userInfo />
+                :title="updateFlag ? flag.role ? '淇敼鐢ㄦ埛瑙掕壊淇℃伅' : flag.depart ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅': '淇敼鐢ㄦ埛瀵嗙爜' :'鏌ョ湅鐢ㄦ埛淇℃伅'"
+                :before-close="handleClose">
+                <updateUser :updateFlag="updateFlag" :userInfo=userInfo :flag=flag @closeDialog="closeDialog"
+                    :getUserList="getUserList" />
             </el-dialog>
-            <!-- 鍒嗛〉 -->
+            <!-- tools -->
             <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>
+                    <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 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> -->
+                <!-- <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>
 </template>
@@ -77,12 +98,58 @@
             pageSize: 10,
             currentPage: 1,
             renderFlag: false,
+            flag: {
+                role: false,
+                password: false,
+                depart: false,
+            },
+            all:false,
+            unsame:false,
         }
     },
     created() {
         this.getUserList();
     },
     methods: {
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+
+        },
+        disSame(list){
+            console.log(this.$refs.multipleTable);
+            // const row = this.$refs.table.data
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+        // 鍒犻櫎鐢ㄦ埛
+        handleDelete({ id }) {
+            this.$confirm('纭鍒犻櫎锛�').then(_ => {
+                this.$axios({
+                    method: 'post',
+                    url: 'sccg/admin/delete/' + id,
+                }).then(res => {
+                    console.log(res);
+                    this.$message({
+                        message: res.message,
+                        type: 'success'
+                    })
+                    this.getUserList();
+                })
+            }).catch(_ => { })
+        },
+        closeDialog({ flag }) {
+            this.dialogUpdate = flag;
+            this.getUserList();
+        },
+        handleClose(done) {
+            this.$confirm('纭鍏抽棴锛�')
+                .then(_ => {
+                    this.dialogUpdate = false
+                    done();
+                })
+                .catch(_ => { });
+        },
         // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
         changeCurrentPage(page) {
             this.currentPage = page;
@@ -99,10 +166,17 @@
             this.getUserList();
         },
         // 淇敼瑙掕壊
-        handleChangeRole(obj) {
-            this.dialogUpdate = true
-            this.user = obj;
-            // console.log(obj)
+        handleChangeRole(obj, mykey) {
+            this.dialogUpdate = true;
+            this.updateFlag = true;
+            for (let key in this.flag) {
+                if (key == mykey) {
+                    this.flag[key] = true;
+                } else {
+                    this.flag[key] = false;
+                }
+            }
+            this.userInfo = obj;
         },
         // 淇敼鐢ㄦ埛鐘舵��
         handleChangeStatus(obj) {
@@ -119,10 +193,10 @@
             // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�佺敤鎴锋煡璇�(鏆傛椂鏀寔鐢佃瘽鍙风爜)
             this.$axios.get(`sccg/admin/list?mobile=${search}&current=${currentPage}&pageSize=${pageSize}`).then(res => {
                 if (res.code === 200) {
-                    res.data.records.forEach(item => {
-                        item.createTime = helper(item.createTime);
-                        item.status == 1 ? item.status = true : item.status = false;
-                    })
+                    // res.data.records.forEach(item => {
+                    //     item.createTime = helper(item.createTime);
+                    //     item.status == 1 ? item.status = true : item.status = false;
+                    // })
                     that.totalNum = res.data.pages * pageSize;
                     that.tableData = res.data.records;
                     this.renderFlag = true;
@@ -134,22 +208,20 @@
             this.dialogUpdate = true;
             this.updateFlag = false;
             this.userInfo = rowData;
-        },
-        // 淇敼鐢ㄦ埛閮ㄩ棬淇℃伅
-        handleUpdate(rowData) {
-            this.dialogUpdate = true;
-            this.updateFlag = true;
-            this.userInfo = rowData
+            const { flag } = this;
+            for (let key in flag) {
+                flag[key] = false;
+            }
         },
         // 璁剧疆琛ㄦ牸鏂戦┈绾�
         tableRowClassName({ row, rowIndex }) {
-                if ((rowIndex + 1) % 2 == 0) {
-                    return 'warning-row';
-                } else {
-                    return 'success-row';
-                }
-                return '';
-            },
+            if ((rowIndex + 1) % 2 == 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+            return '';
+        },
     },
     props: ['refresh', 'keyword', 'resetFresh'],
     watch: {
@@ -180,22 +252,30 @@
         line-height: 60px;
     }
 
-    .pagination {
-        margin-top: 50px;
+    .tools {
         display: flex;
-        line-height: 50px;
-        justify-content: center;
+        justify-content: space-between;
 
-        .el-pagination {
+        // .funs {}
 
-            &::v-deep li,
-            &::v-deep .btn-prev,
-            &::v-deep .btn-next {
-                background-color: #071f39;
-                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;
+                }
             }
         }
-    }
 
     .el-table {
         color: #4b9bb7;
@@ -253,7 +333,7 @@
 
     &::v-deep .switchStyle.el-switch .el-switch__core,
     &::v-deep .el-switch .el-switch__label {
-        width: 50px !important;
+        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 eabcd01..54363b8 100644
--- a/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue
@@ -1,10 +1,6 @@
 <template>
     <div class="updateUser">
-        <!-- <header>
-            <div class="headerTitle">{{updateFlag ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅' :'鏌ョ湅鐢ㄦ埛淇℃伅'}}</div>
-        </header> -->
         <main>
-            <!-- <div class="mainTitle">鍩虹淇℃伅</div> -->
             <div class="mainContent">
                 <el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules"
                     label-position="right">
@@ -14,7 +10,8 @@
                     </el-form-item>
                     <!-- 鐢ㄦ埛瀵嗙爜 -->
                     <el-form-item class="optionItems" label="鐢ㄦ埛瀵嗙爜:" prop="password">
-                        <el-input v-model="user.password" type="password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" :disabled="true">
+                        <el-input v-model="user.password" type="password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�"
+                            :disabled="!flag.password">
                         </el-input>
                     </el-form-item>
                     <!-- 鎵�灞炵敤鎴峰鍚� -->
@@ -44,17 +41,17 @@
                         <el-input v-model="user.email" placeholder="璇峰~鍐欓偖绠卞湴鍧�" :disabled="true"></el-input>
                     </el-form-item>
                     <!-- 閫夋嫨瑙掕壊 -->
-                    <!-- <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role">
-                        <el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�">
-                            <el-option v-for="item in roleList" :key="item.name" :label="item.name" :value="item.value"
+                    <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role">
+                        <el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�" :disabled="!flag.role">
+                            <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>
                     <!-- 鐢ㄦ埛绫诲瀷 -->
                     <el-form-item class="optionItem" label="鐢ㄦ埛绫诲瀷:" prop="userType">
                         <el-select v-model="user.userType" placeholder="璇烽�夋嫨鐢ㄦ埛绫诲瀷" disabled>
-                            <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>
@@ -71,27 +68,24 @@
                     </el-form-item> -->
                     <!-- 鎵�灞為儴闂� -->
                     <el-form-item class="optionItem" label="鎵�灞為儴闂�:" prop="departmentId">
-                        <el-select v-model="user.department" placeholder="璇烽�夋嫨鎵�灞為儴闂�" :disabled="!updateFlag">
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.departName"
+                        <el-select v-model="user.departmentId" placeholder="璇烽�夋嫨鎵�灞為儴闂�" :disabled="!flag.depart">
+                            <el-option v-for="item in departList" :key="item.name" :label="item.departName"
                                 :value="item.id">
                             </el-option>
                         </el-select>
                     </el-form-item>
                     <!-- 褰撳墠鑱屽姟 -->
                     <el-form-item class="optionItem" label="褰撳墠鑱屽姟:" prop="jobTitle">
-                        <el-select v-model="user.work" placeholder="璇烽�夋嫨褰撳墠鑱屽姟" disabled>
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value">
-                            </el-option>
-                        </el-select>
+                        <el-input v-model="user.jobTitle" placeholder="璇疯緭鍏ュ綋鍓嶈亴鍔�" :disabled="true"></el-input>
                     </el-form-item>
                     <!-- 濉啓鎵�灞瀖ac鍦板潃 -->
-                    <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac">
+                    <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac">
                         <el-input v-model="user.mac" placeholder="璇峰~鍐欐墍灞瀖ac鍦板潃"></el-input>
-                    </el-form-item> -->
+                    </el-form-item>
                     <!-- 濉啓鎵�灞瀒p鍦板潃 -->
-                    <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip">
+                    <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip">
                         <el-input v-model="user.ip" placeholder="璇峰~鍐欐墍灞瀒p鍦板潃"></el-input>
-                    </el-form-item> -->
+                    </el-form-item>
                     <el-form-item v-if="updateFlag">
                         <div class="optionBtn">
                             <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦
@@ -110,26 +104,34 @@
         const validateNickname = (rule, value, callback) => {
             if (!value) {
                 callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
+            } else {
+                callback();
             }
         };
         const validatePass = (rule, value, callback) => {
             if (!value) {
                 callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
             } else {
-                const rep = /^\w+$/;
-                if (!rep.test(value)) {
-                    callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
-                }
+                callback();
+                // const rep = /^\w+$/;
+                // if (!rep.test(value)) {
+                //     callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
+                // } else {
+                //     callback();
+                // }
             }
         };
         const validateTruename = (rule, value, callback) => {
             if (!value) {
                 callback(new Error("璇峰~鍐欑敤鎴峰鍚�"));
             } else {
-                const rep = /^[\u4E00-\u9FA5]{2,4}$/;
-                if (!rep.test(value)) {
-                    callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
-                }
+                callback();
+                // const rep = /^[\u4E00-\u9FA5]{2,4}$/;
+                // if (!rep.test(value)) {
+                //     callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
+                // } else {
+                //     callback();
+                // }
             }
         };
         const validatePhone = (rule, value, callback) => {
@@ -139,6 +141,8 @@
                 const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
                 if (!rep.test(value)) {
                     callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
+                } else {
+                    callback();
                 }
             }
         };
@@ -147,47 +151,52 @@
                 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 {
+                    callback();
                 }
-            }
-        };
-        const validateRole = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
             } else {
                 callback();
             }
         };
+        // const validateRole = (rule, value, callback) => {
+        //     console.log(value);
+        //     if (!value) {
+        //         callback(new Error("璇烽�夋嫨鐢ㄦ埛瑙掕壊"));
+        //     } else {
+        //         callback();
+        //     }
+        // };
         const validateType = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+            if (!value && value!==0) {
+                callback(new Error("璇烽�夋嫨鐢ㄦ埛绫诲瀷"));
             } else {
                 callback();
             }
         };
         const validateDepartment = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+            if (!value && value !== 0) {
+                callback(new Error("璇烽�夋嫨鎵�灞為儴闂�"));
             } else {
                 callback();
             }
         };
         const validateWork = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback(new Error("璇峰~鍐欏綋鍓嶈亴鍔�"));
             } else {
                 callback();
             }
         };
         const validateMac = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback();
             } else {
                 callback();
             }
         };
         const validateIp = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback();
             } else {
                 callback();
             }
@@ -208,10 +217,10 @@
                     phoneNumber: "",
                     moreNumber: "",
                 },
-                departmentId: null,
-                jobTitle: null,
-                // mac: '',
-                // ip: '',
+                // departmentId: null,
+                // jobTitle: null,
+                mac: '',
+                ip: '',
             },
             createUserRules: {
                 nickName: [
@@ -236,16 +245,16 @@
                     { required: false, trigger: "blur", validator: validateMail },
                 ],
                 // role: [
-                //     { required: true, trigger: "blur", validator: validateRole },
+                //     { required: true, trigger: "change", validator: validateRole },
                 // ],
                 userType: [
-                    { required: true, trigger: "blur", validator: validateType },
+                    { required: true, trigger: "change", validator: validateType },
                 ],
                 zj: [
                     { required: false, trigger: "blur" },
                 ],
                 departmentId: [
-                    { required: true, trigger: "blur", validator: validateDepartment },
+                    { required: true, trigger: "change", validator: validateDepartment },
                 ],
                 jobTitle: [
                     { required: true, trigger: "blur", validator: validateWork },
@@ -260,35 +269,62 @@
             roleList: [
                 { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
             ],
-            typeList: []
+            typeList: [],
+            departList: []
         }
     },
     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.getRoleList();
+        // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
         // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
         this.$axios.get('sccg/depart/page').then(res => {
-            that.typeList = res.data.records;
+            that.departList = res.data.records;
         })
     },
     methods: {
         handleUser() {
-            const { user } = this;
-            this.$axios.post('sccg/depart/status', {
-                id: user.departmentId,
-                status: user.status ? 1 : 0,
-            }).then(res => {
-                console.log(res);
+            this.$refs.user.validate((valid) => {
+                if (valid) {
+                    const { user } = this;
+                    console.log(user);
+                    // for(let key in user){
+                    //     if(user[key]===null){
+                    //         user[key] = '';
+                    //     }
+                    // }
+                    // user.status = String(user.status);
+                    // user.isDy = String(user.isDy);
+                    // user.userType = String(user.userType);
+                    // this.$axios({
+                    //     method: 'post',
+                    //     url: 'sccg/admin/update/' + user.id,
+                    //     data: user
+                    // })
+                    //     .then(res => {
+                    //         console.log(res);
+                    //         this.getUserList();
+                    //         this.$emit('closeDialog', { flag: false });
+                    //     })
+                } else {
+                    return false;
+                }
             })
+        },
+        // 鑾峰彇瑙掕壊鍒楄〃
+        getRoleList() {
+            this.$axios({
+                method: 'get',
+                url: 'sccg/role/listAll',
+            })
+                .then(res => {
+                    this.roleList = res.data;
+                })
         }
     },
-    props: ['userInfo', 'updateFlag']
+    props: ['userInfo', 'updateFlag', 'flag','closeDialog','getUserList']
 }
 </script>
 <style lang="scss" scoped>
@@ -296,44 +332,17 @@
     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;
         text-align: left;
         padding: 0 55px;
         background-color: #09152f;
         padding-bottom: 50px;
-        // .mainTitle {
-        //     color: #4b9bb7;
-        //     font-weight: 600;
-        //     line-height: 100px;
-        //     font-size: 14px;
-        // }
 
         .mainContent {
             display: flex;
             justify-content: center;
             padding-top: 50px;
+
             .el-form-item__content {
                 width: 400px;
 
diff --git a/src/views/systemSetting/baseSetting/user/index.vue b/src/views/systemSetting/baseSetting/user/index.vue
index d4cac15..96b7aad 100644
--- a/src/views/systemSetting/baseSetting/user/index.vue
+++ b/src/views/systemSetting/baseSetting/user/index.vue
@@ -1,23 +1,5 @@
 <template>
     <div class="userList">
-        <!-- <header>
-            <div class="headerContent">
-                <div class="search">
-                    <span>绛涢�夋潯浠�:</span>
-                    <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="search"></el-input>
-                    <div class="findBtn">
-                        <el-button type="primary" @click="getUserList">鏌ヨ</el-button>
-                    </div>
-                </div>
-                <div class="addUser">
-                    <el-button class="addBtn" type="primary" @click="dialogCreate = true">娣诲姞鐢ㄦ埛</el-button>
-                    <el-dialog :visible.sync="dialogCreate" title="鏂板璐︽埛" width="45%" v-if="dialogCreate"
-                        :before-close="handleClose1">
-                        <createUser :refresh="getUserList" />
-                    </el-dialog>
-                </div>
-            </div>
-        </header> -->
         <myHeader @setDialog="changeDialog" @getSearch="getSearch"></myHeader>
         <myMain :refresh="isFresh" :keyword="keyword" @resetFresh="resetFresh" />
     </div>
diff --git a/src/views/systemSetting/platform/mySetting/index.vue b/src/views/systemSetting/platform/mySetting/index.vue
index b221b7f..423859c 100644
--- a/src/views/systemSetting/platform/mySetting/index.vue
+++ b/src/views/systemSetting/platform/mySetting/index.vue
@@ -4,87 +4,136 @@
         <header>
             <div class="headerTitle">绯荤粺璁剧疆 >> 闂ㄦ埛绠$悊 > 鑷畾涔夎彍鍗曡缃�</div>
         </header>
-        <!-- main 鍐呭灞曠ず鍖� -->
         <main>
             <div class="mainContent">
-                <!-- 渚ц竟瀵艰埅鏍� -->
-                <div class="aside">
-                    <div class="asideItem" v-for="(item,index) in menuList" :key="item.id" @click="getContent(index)">
-                        <h4>{{item.title}}</h4>
-                        <!-- 瀛愯彍鍗� -->
-                        <ul class="menu">
-                            <li class="menuItem" v-for="(son,sonIndex) in item.children"
-                                @click.stop="getContent(index,sonIndex)">
-                                <span>{{son.title}}</span>
-                            </li>
-                        </ul>
-                    </div>
-                </div>
-                <!-- 鑿滃崟璁剧疆 -->
-                <div class="content">
-                    <h4>鑿滃崟绠$悊-{{article.title}}</h4>
-                    <!-- 瀛愯彍鍗曢」鐩� -->
-                    <ul class="edit">
-                        <li class="editItem">
-                            <label>鍚嶇О:</label>
-                            <span>{{article.name}}</span>
-                        </li>
-                        <li class="editItem">
-                            <label>鎻忚堪:</label>
-                            <span>{{article.description}}</span>
-                        </li>
-                        <li class="editItem">
-                            <label>鏄惁鏄剧ず鑿滃崟:</label>
-                            <span>{{article.hidden===0 ? '鍚�':'鏄�' }}</span>
-                        </li>
-                    </ul>
-                </div>
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}"
+                    :data="menuList" style="width: 100%" row-key="id" :row-class-name="tableRowClassName">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column prop="title" label="鑿滃崟鏍�" min-width="75">
+                        <el-tree :data="menuList" node-key="id" :default-expanded-keys="[0]"
+                            :default-checked-keys="[0]" :props="defaultProps">
+                        </el-tree>
+                    </el-table-column>
+                    <el-table-column label="鎿嶄綔" min-width="20">
+                        <template slot-scope="scope">
+                            <div class="operation">
+                                <!-- <span @click="handleChangeRole(scope.row)">淇敼瑙掕壊</span> -->
+                                <span @click="handleFind(scope.row)">鏌ョ湅</span>
+                                <span class="line">|</span>
+                                <!-- <span>淇敼瀵嗙爜</span> -->
+                                <!-- <span>鍒犻櫎</span> -->
+                                <span @click="handleUpdate(scope.row)">淇敼瑙掕壊</span>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- 鏌ョ湅淇敼椤甸潰 -->
+                <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '淇敼瑙掕壊淇℃伅' :'鏌ョ湅瑙掕壊淇℃伅'"
+                    v-if="dialogUpdate">
+
+                </el-dialog>
             </div>
         </main>
     </div>
 </template>
 <script>
+import helper from "@/utils/mydate.js"
 export default {
     data() {
         return {
             menuList: [],
             article: [],
+            defaultProps: {
+                children: 'menuVoArrayList',
+                label: 'title'
+            },
+            count: 1,
+            menuList: [],
+            context: "",
+            dialogCreate: false,
+            dialogUpdate: false,
+            updateFlag: false,
+            userInfo: '',
         }
     },
     created() {
-        const { getMenuList } = this;
-        getMenuList();
+        this.getMenuList();
     },
     methods: {
         // 鑾峰彇鑿滃崟鍒楄〃
         getMenuList() {
-            // this.$axios({
-            //     method: 'get',
-            //     url: 'sccg/system/portal/menu/search',
-            //     data: {
-            //         current: 1,
-            //         size: 10,
-            //     }
-            // }).then(res => {
-            //     console.log(res);
-            //     const { data } = res;
-            //     this.menuList = data;
-            //     this.getContent(0);
-            // })
+            this.$axios({
+                method: 'get',
+                url: 'sccg/system/portal/menu/search',
+            }).then(res => {
+                this.menuList = res.data.records;
+                this.getContent(0);
+            })
         },
         // 鍒囨崲鑿滃崟鍐呭灞曠ず
         getContent(index, sonIndex = null) {
             if (sonIndex === null) {
                 this.article = this.menuList[index];
+
                 return;
             }
-            this.article = this.menuList[index][sonIndex];
+            this.article = this.menuList[index].menuVoArrayList[sonIndex];
+        },
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 == 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+            return '';
+        },
+        handleCheckChange(data, checked, indeterminate) {
+            console.log(data, checked, indeterminate);
+        },
+        handleNodeClick(data) {
+            console.log(data);
+        },
+        loadNode(node, resolve) {
+            if (node.level === 0) {
+                return resolve([{ name: 'region1' }, { name: 'region2' }]);
+            }
+            if (node.level > 3) return resolve([]);
+
+            var hasChild;
+            if (node.data.name === 'region1') {
+                hasChild = true;
+            } else if (node.data.name === 'region2') {
+                hasChild = false;
+            } else {
+                hasChild = Math.random() > 0.5;
+            }
+
+            setTimeout(() => {
+                var data;
+                if (hasChild) {
+                    data = [{
+                        name: 'zone' + this.count++
+                    }, {
+                        name: 'zone' + this.count++
+                    }];
+                } else {
+                    data = [];
+                }
+
+                resolve(data);
+            }, 500);
         }
     }
+
 }
 </script>
 <style lang="scss" scoped>
 .mySetting {
+    margin: 10px 20px;
     text-align: left;
     color: #4b9bb7;
 
@@ -94,64 +143,111 @@
     }
 
     main {
-        .mainContent {
-            display: flex;
+        background-color: #09152f;
+        margin-top: 20px;
+        padding-bottom: 50px;
+        border: 1pox solid #fff;
 
-            li {
-                list-style: none;
+        .mainTitle {
+            line-height: 60px;
+        }
+
+        .el-table {
+            color: #4b9bb7;
+            font-size: 10px;
+
+            &::v-deep .el-table__cell {
+                text-align: center;
             }
 
-            .aside {
-                width: 200px;
-                border: 1px solid #fff;
-                padding: 20px;
-                height: calc(100vh - 120px);
-
-                .asideItem {
-                    h4 {
-                        line-height: 40px;
-                        margin: 0;
-                    }
-
-                    ul {
-                        padding: 0;
-                        margin: 0;
-                    }
-
-                    .menu {
-                        .menuItem {
-                            line-height: 30px;
-                        }
-                    }
-                }
+            &::v-deep .el-table__empty-block {
+                background-color: #09152f;
+                color: #4b9bb7;
+            }
+            &::v-deep .el-table__row:hover{
+                background-color: #4b9bb7;
+            }
+            .el-tree {
+                background-color: #071f39;
             }
 
-            .content {
-                flex: 1;
-                margin-left: 100px;
+            .operation {
+                display: flex;
+                justify-content: center;
 
-                h4 {
-                    margin: 0;
-                    line-height: 80px;
+                .line {
+                    padding: 0 5px;
                 }
 
-                ul {
-                    padding: 0;
-                    margin: 0;
-                }
-
-                .edit {
-                    .editItem {
-                        line-height: 40px;
-                        display: flex;
-
-                        span {
-                            margin-left: 10px;
-                        }
-                    }
+                span:hover {
+                    cursor: pointer;
                 }
             }
         }
+
+        .el-table::v-deep .warning-row {
+            background: #06122c;
+        }
+
+        .el-table::v-deep .success-row {
+            background: #071f39;
+        }
+
+        &::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 .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.is-active {
+            display: block;
+        }
+
+        &::v-deep .switchStyle.el-switch .el-switch__core,
+        &::v-deep .el-switch .el-switch__label {
+            width: 50px !important;
+        }
+    }
+
+    &::v-deep .el-dialog__header,
+    &::v-deep .el-dialog__body {
+        background-color: #06122c;
+    }
+
+    &::v-deep .el-dialog__header {
+        display: flex;
+        align-items: center;
+        background-color: #fff;
+        padding: 20px;
+        line-height: 60px;
+    }
+
+    &::v-deep .el-dialog__title {
+        color: #4b9bb7;
+    }
+
+    &::v-deep .el-dialog__close {
+        width: 20px;
+        height: 20px;
+        // color: #fff;
+    }
+
+    &::v-deep .el-dialog__body {
+        padding: 0;
     }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.8.0