¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <h4 class="form-header h4">åºæ¬ä¿¡æ¯</h4> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-row> |
| | | <el-col :span="8" :offset="2"> |
| | | <el-form-item label="ç¨æ·æµç§°" prop="nickName"> |
| | | <el-input v-model="form.nickName" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8" :offset="2"> |
| | | <el-form-item label="ç»å½è´¦å·" prop="phonenumber"> |
| | | <el-input v-model="form.userName" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <h4 class="form-header h4">è§è²ä¿¡æ¯</h4> |
| | | <el-table v-loading="loading" :row-key="getRowKey" @row-click="clickRow" ref="table" @selection-change="handleSelectionChange" :data="roles.slice((pageNum-1)*pageSize,pageNum*pageSize)"> |
| | | <el-table-column label="åºå·" type="index" align="center"> |
| | | <template slot-scope="scope"> |
| | | <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column type="selection" :reserve-selection="true" width="55"></el-table-column> |
| | | <el-table-column label="è§è²ç¼å·" align="center" prop="roleId" /> |
| | | <el-table-column label="è§è²åç§°" align="center" prop="roleName" /> |
| | | <el-table-column label="æéå符" align="center" prop="roleKey" /> |
| | | <el-table-column label="å建æ¶é´" align="center" prop="createTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" /> |
| | | |
| | | <el-form label-width="100px"> |
| | | <el-form-item style="text-align: center;margin-left:-120px;margin-top:30px;"> |
| | | <el-button type="primary" @click="submitForm()">æäº¤</el-button> |
| | | <el-button @click="close()">è¿å</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getAuthRole, updateAuthRole } from "@/api/system/user"; |
| | | |
| | | export default { |
| | | name: "AuthRole", |
| | | data() { |
| | | return { |
| | | // é®ç½©å± |
| | | loading: true, |
| | | // åé¡µä¿¡æ¯ |
| | | total: 0, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | // éä¸è§è²ç¼å· |
| | | roleIds:[], |
| | | // è§è²ä¿¡æ¯ |
| | | roles: [], |
| | | // ç¨æ·ä¿¡æ¯ |
| | | form: {} |
| | | }; |
| | | }, |
| | | created() { |
| | | const userId = this.$route.params && this.$route.params.userId; |
| | | if (userId) { |
| | | this.loading = true; |
| | | getAuthRole(userId).then((response) => { |
| | | this.form = response.data.user; |
| | | this.roles = response.data.roles; |
| | | this.total = this.roles.length; |
| | | this.$nextTick(() => { |
| | | this.roles.forEach((row) => { |
| | | if (row.flag) { |
| | | this.$refs.table.toggleRowSelection(row); |
| | | } |
| | | }); |
| | | }); |
| | | this.loading = false; |
| | | }); |
| | | } |
| | | }, |
| | | methods: { |
| | | /** åå»éä¸è¡æ°æ® */ |
| | | clickRow(row) { |
| | | this.$refs.table.toggleRowSelection(row); |
| | | }, |
| | | // å¤éæ¡é䏿°æ® |
| | | handleSelectionChange(selection) { |
| | | this.roleIds = selection.map((item) => item.roleId); |
| | | }, |
| | | // ä¿åéä¸çæ°æ®ç¼å· |
| | | getRowKey(row) { |
| | | return row.roleId; |
| | | }, |
| | | /** æäº¤æé® */ |
| | | submitForm() { |
| | | const userId = this.form.userId; |
| | | const roleIds = this.roleIds.join(","); |
| | | updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => { |
| | | this.msgSuccess("æææå"); |
| | | this.close(); |
| | | }); |
| | | }, |
| | | /** å
³éæé® */ |
| | | close() { |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.push({ path: "/system/user" }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |