From 0c966cb74acac1a1cc3bcaaa579019f1177d3e36 Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期二, 20 九月 2022 15:42:26 +0800
Subject: [PATCH] 解决dialog数据不销毁

---
 src/views/systemSetting/baseSetting/role/index.vue |  128 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 106 insertions(+), 22 deletions(-)

diff --git a/src/views/systemSetting/baseSetting/role/index.vue b/src/views/systemSetting/baseSetting/role/index.vue
index bca2c09..efa268b 100644
--- a/src/views/systemSetting/baseSetting/role/index.vue
+++ b/src/views/systemSetting/baseSetting/role/index.vue
@@ -4,14 +4,14 @@
             <div class="headerContent">
                 <div class="search">
                     <span>绛涢�夋潯浠�:</span>
-                    <el-input placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+                    <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input>
                     <div class="findBtn">
-                        <el-button type="primary">鏌ヨ</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" width="45%">
+                    <el-button class="addBtn" type="primary" @click="dialogCreate = true">鏂板缓瑙掕壊</el-button>
+                    <el-dialog :visible.sync="dialogCreate" width="45%" v-if="dialogCreate">
                         <createUser :refresh="getUserList" />
                     </el-dialog>
                 </div>
@@ -19,27 +19,22 @@
         </header>
         <main>
             <div class="mainContent">
+                <!-- 鏁版嵁灞曠ず -->
                 <el-table ref="multipleTable"
                     :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}"
                     :data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
                     <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="5">
                         <template slot-scope="scope">{{ scope.row.id }}</template>
+                    </el-table-column> -->
+                    <el-table-column prop="name" label="瑙掕壊鍚嶇О" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="nickName" label="鐢ㄦ埛鍚嶇О" min-width="10">
+                    <el-table-column prop="username" label="瑙掕壊绫诲瀷" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="username" label="鎵�灞炲鍚�" min-width="10">
+                    <el-table-column prop="mobile" label="榛樿瑙掕壊" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="mobile" label="鑱旂郴鏂瑰紡" min-width="10">
-                    </el-table-column>
-                    <el-table-column prop="note" label="鎵�灞炶鑹�" min-width="10">
-                    </el-table-column>
-                    <el-table-column prop="departName" label="鎵�灞為儴闂�" min-width="10">
-                    </el-table-column>
-                    <el-table-column prop="jobTitle" label="鎵�灞炶亴鍔�" min-width="10">
-                    </el-table-column>
-                    <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+                    <el-table-column prop="description" label="澶囨敞" min-width="10">
                     </el-table-column>
                     <el-table-column prop="status" label="鍚敤" min-width="5">
                         <template slot-scope="scope">
@@ -56,14 +51,22 @@
                                 <span class="line">|</span>
                                 <!-- <span>淇敼瀵嗙爜</span> -->
                                 <!-- <span>鍒犻櫎</span> -->
-                                <span @click="handleUpdate(scope.row)">淇敼閮ㄩ棬</span>
+                                <span @click="handleUpdate(scope.row)">淇敼瑙掕壊</span>
                             </div>
                         </template>
                     </el-table-column>
                 </el-table>
-                <el-dialog :visible.sync="dialogUpdate" width="45%">
+                <!-- 鏌ョ湅淇敼椤甸潰 -->
+                <el-dialog :visible.sync="dialogUpdate" width="45%" v-if="dialogUpdate">
                     <updateUser :updateFlag="updateFlag" :userInfo=userInfo />
                 </el-dialog>
+                <!-- 鍒嗛〉 -->
+                <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>
         </main>
     </div>
@@ -79,10 +82,14 @@
     data() {
         return {
             tableData: [],
+            context: "",
             dialogCreate: false,
             dialogUpdate: false,
             updateFlag: false,
             userInfo: '',
+            totalNum: 200,
+            pageSize: 10,
+            currentPage: 1,
         }
     },
     created() {
@@ -100,7 +107,7 @@
             let { id, status } = obj;
             status == true ? status = 1 : status = 0;
             console.log(id, status);
-            this.$axios.post(`sccg/admin/updateStatus/` + id + '?status=' + status).then(res => {
+            this.$axios.post(`/sccg/role/updateStatus/` + id + '?status=' + status).then(res => {
                 console.log(res);
             })
         },
@@ -109,13 +116,29 @@
             const that = this;
             this.dialogCreate = false;
             // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�
-            this.$axios.get('sccg/admin/list').then(res => {
+            this.$axios.get('sccg/role/listAll').then(res => {
+                console.log(res)
                 if (res.code === 200) {
-                    res.data.records.forEach(item => {
+                    res.data.forEach(item => {
                         item.createTime = helper(item.createTime);
                         item.status == 1 ? item.status = true : item.status = false;
                     })
-                    that.tableData = res.data.records;
+                    that.tableData = res.data
+                }
+            })
+        },
+        search() {
+            const that = 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;
+                    })
+        
+                    that.tableData = res.data.list
                 }
             })
         },
@@ -139,6 +162,42 @@
             this.dialogUpdate = true;
             this.updateFlag = true;
             this.userInfo = rowData
+        },
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.search();
+        },
+        // 涓婁竴椤电偣鍑讳簨浠�
+        handlePrev(page) {
+            this.currentPage = page;
+            this.search();
+        },
+        // 涓嬩竴椤电偣鍑讳簨浠�
+        handleNext(page) {
+            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)
+                }
+            })
         }
     }
 }
@@ -212,9 +271,31 @@
             line-height: 60px;
         }
 
+        .pagination {
+            margin-top: 50px;
+            display: flex;
+            line-height: 50px;
+            justify-content: center;
+
+            &::v-deep li,
+            &::v-deep .btn-prev,
+            &::v-deep .btn-next {
+                background-color: #071f39;
+                color: #4b9bb7;
+            }
+        }
+
         .el-table {
             color: #4b9bb7;
             font-size: 10px;
+
+            &::v-deep .el-table__empty-block {
+                background-color: #09152f;
+            }
+
+            &::v-deep .el-table__empty-block {
+                color: #4b9bb7;
+            }
 
             .operation {
                 display: flex;
@@ -271,5 +352,8 @@
     &::v-deep .el-dialog__body {
         background-color: #06122c;
     }
+    // &::v-deep .el-dialog__title{
+    //     color: #4b9bb7;
+    // }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.8.0