From 3f3c98956ea6da68af9610fa2237dd9ec91e6757 Mon Sep 17 00:00:00 2001 From: liweilong <515897141@qq.com> Date: 星期一, 28 十二月 2020 18:33:44 +0800 Subject: [PATCH] 角色管理使用keepalive --- src/pages/system/admin.vue | 85 +++++++++++++++++++++++++++++++----------- 1 files changed, 63 insertions(+), 22 deletions(-) diff --git a/src/pages/system/admin.vue b/src/pages/system/admin.vue index 5f8fbc0..9217881 100644 --- a/src/pages/system/admin.vue +++ b/src/pages/system/admin.vue @@ -38,6 +38,11 @@ <el-table-column type="index" label="搴忓彿" align="center" width="60" /> <el-table-column label="鍚嶇О" prop="name" align="center" min-width="120" /> <el-table-column label="璐﹀彿" prop="account" align="center" min-width="120" /> + <el-table-column label="璐﹀彿绫诲瀷" prop="account" align="center" min-width="120"> + <template slot-scope="scope"> + <span v-if="scope.row.type">{{ accountTypeOptions[scope.row.type].name }}</span> + </template> + </el-table-column> <el-table-column label="瑙掕壊" prop="roleName" align="center" min-width="120" /> <!-- <el-table-column label="鏈�杩戠櫥褰曟椂闂�" prop="loginTime" align="center" min-width="180" /> --> <el-table-column label="鐘舵��" align="center" min-width="100"> @@ -80,7 +85,7 @@ /> <!-- 鏂板&缂栬緫 --> - <el-dialog :title="adminDialogData.type=='add'?'鏂板绠$悊鍛�':'缂栬緫绠$悊鍛�'" width="500px" :visible.sync="isShowadminDialog" append-to-body> + <el-dialog :title="adminDialogData.type==='add'?'鏂板绠$悊鍛�':'缂栬緫绠$悊鍛�'" width="500px" :visible.sync="adminDialogVisible" append-to-body> <el-form ref="adminDialog" :model="adminDialogData" label-width="80px" :rules="rules" size="small"> <el-form-item label="鍚嶇О" prop="name"> <el-input v-model="adminDialogData.name" placeholder="璇疯緭鍏ュ悕绉�" /> @@ -88,14 +93,24 @@ <el-form-item label="璐﹀彿" prop="account"> <el-input v-model="adminDialogData.account" placeholder="璇疯緭鍏ュ笎鍙�" :disabled="adminDialogData.type!='add'" /> </el-form-item> - <el-form-item label="瀵嗙爜" prop="password"> + <el-form-item label="瀵嗙爜" :prop="adminDialogData.type==='add'?'password':'none'"> <el-input v-model="adminDialogData.password" type="password" placeholder="璇疯緭鍏ュ瘑鐮�" /> </el-form-item> - <el-form-item label="纭瀵嗙爜" prop="passwordSure"> + <el-form-item label="纭瀵嗙爜" :prop="adminDialogData.type==='add'?'passwordSure':'none'"> <el-input v-model="adminDialogData.passwordSure" type="password" placeholder="璇疯緭鍏ョ‘璁ゅ瘑鐮�" /> </el-form-item> + <!-- 璐﹀彿绫诲瀷 --> + <el-form-item label="璐﹀彿绫诲瀷" prop="accountType"> + <el-select + v-model="adminDialogData.accountType" + clearable + placeholder="璐﹀彿绫诲瀷" + style="width: 100%" + > + <el-option v-for="item in accountTypeOptions" :key="item.id" :label="item.name" :value="item.id" /> + </el-select> + </el-form-item> <!-- 瑙掕壊 --> - <!-- 閫夋嫨妗� --> <el-form-item label="瑙掕壊" prop="sysRoleId"> <el-select v-model="adminDialogData.sysRoleId" @@ -107,7 +122,7 @@ </el-select> </el-form-item> - <el-form-item label="鏄惁鍚敤" prop="sysRoleId"> + <el-form-item label="鏄惁鍚敤" prop="isUse"> <el-switch v-model="adminDialogData.isUse" :active-value="1" @@ -144,8 +159,13 @@ // 瑙掕壊鍒楄〃 roleArr: [], + // 璐﹀彿绫诲瀷 + accountTypeOptions: [ + { name: '鏅�氱鐞嗗憳', id: 1 }, + { name: '瓒呯骇绠$悊鍛�', id: 0 } + ], - isShowadminDialog: false, + adminDialogVisible: false, adminDialogData: {}, // 鍒嗛〉 鈫撯啌鈫撯啌鈫撯啌鈫撯啌鈫撯啌 @@ -171,6 +191,12 @@ ], sysRoleId: [ { required: true, message: '瑙掕壊涓嶈兘涓虹┖', trigger: 'change' } + ], + accountType: [ + { required: true, message: '璐﹀彿绫诲瀷涓嶈兘涓虹┖', trigger: 'change' } + ], + isUse: [ + { required: true, message: '鏄惁鍚敤涓嶈兘涓虹┖', trigger: 'change' } ] } } @@ -188,17 +214,23 @@ // 鑾峰彇瑙掕壊鍒楄〃 getRoleList() { this.postFN({ - url: 'admin/roleList', + url: 'admin/role/list', + params: { + pageNum: 1, + pageSize: 9999 + }, mockData: { code: 100, msg: '', - data: [{ - id: 'xxx', - name: '閲庨┈鍙�' - }] + data: { + list: [{ + id: 'xxx', + name: '閲庨┈鍙�' + }] + } } }, (inf) => { - this.roleArr = inf || [] + this.roleArr = inf.list || [] }) }, @@ -209,7 +241,7 @@ url: 'admin/list', params: { pageNum: pageNum, - rowCount: pageSize, + pageSize: pageSize, keyWord: keyWord }, mockData: { @@ -303,10 +335,14 @@ password: '', passwordSure: '', sysRoleId: '', - isUse: 1 + isUse: 1, + accountType: 1 } - this.adminDialogData = adminDialogData - this.isShowadminDialog = true + this.adminDialogVisible = true + this.$nextTick(() => { + this.adminDialogData = adminDialogData + this.$refs['adminDialog'].resetFields() + }) }, // 鎵撳紑缂栬緫鍒嗙被寮规 showEditAdminDialog(item) { @@ -318,15 +354,19 @@ passwordSure: '', sysRoleId: item.roId, id: item.id, - isUse: item.isUse + isUse: item.isUse, + accountType: item.type } - this.adminDialogData = adminDialogData - this.isShowadminDialog = true + this.adminDialogVisible = true + this.$nextTick(() => { + this.adminDialogData = adminDialogData + this.$refs['adminDialog'].resetFields() + }) }, // 鍏抽棴缂栬緫寮圭獥 hideAdminDialog() { this.adminDialogData = {} - this.isShowadminDialog = false + this.adminDialogVisible = false }, // 鎻愪氦鏂板&缂栬緫 submitAdmin(type) { @@ -336,10 +376,11 @@ var params = { name: adminDialogData.name, account: adminDialogData.account, - password: adminDialogData.password, sysAdRoleId: adminDialogData.sysRoleId, - isUse: adminDialogData.isUse + isUse: adminDialogData.isUse, + type: adminDialogData.accountType } + if (adminDialogData.password) params.password = adminDialogData.password var isAdd = adminDialogData.type === 'add' var url = isAdd ? 'admin/add' : 'admin/update' -- Gitblit v1.8.0