From a266ece06a2a4c906e5377d3417962fa3760aef6 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期三, 29 六月 2022 18:31:53 +0800 Subject: [PATCH] 'lct' --- src/views/system/role/index.vue | 73 ++++++++++-------------------------- 1 files changed, 21 insertions(+), 52 deletions(-) diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue index 93ec4b2..b05db16 100644 --- a/src/views/system/role/index.vue +++ b/src/views/system/role/index.vue @@ -9,7 +9,7 @@ </el-icon> 查询 </el-button> - <el-button size="default" type="success" class="ml10" @click="onOpenAddRole"> + <el-button size="default" type="success" class="ml10" @click="onOpenDialogRef('新增','')"> <el-icon> <ele-FolderAdd /> </el-icon> @@ -20,48 +20,25 @@ <el-table-column type="index" label="序号" width="60" /> <el-table-column prop="name" label="角色名称" show-overflow-tooltip></el-table-column> <el-table-column prop="code" label="角色标识" show-overflow-tooltip></el-table-column> - <el-table-column prop="sort" label="排序" show-overflow-tooltip></el-table-column> - <el-table-column prop="status" label="角色状态" show-overflow-tooltip> - <template #default="scope"> - <el-tag type="success" v-if="scope.row.status">启用</el-tag> - <el-tag type="info" v-else>禁用</el-tag> - </template> - </el-table-column> <el-table-column prop="info" label="角色描述" show-overflow-tooltip></el-table-column> <el-table-column prop="createTime" label="创建时间" show-overflow-tooltip></el-table-column> - <el-table-column label="操作" width="100"> + <el-table-column label="操作" width="150"> <template #default="scope"> - <el-button :disabled="scope.row.roleName === '超级管理员'" size="small" text type="primary" @click="onOpenEditRole(scope.row)" - >修改</el-button - > - <el-button :disabled="scope.row.roleName === '超级管理员'" size="small" text type="primary" @click="onRowDel(scope.row)">删除</el-button> + <el-button size="small" text type="primary" @click="onOpenDialogRef('新增','')">新增</el-button> + <el-button size="small" text type="primary" @click="onOpenDialogRef('修改',scope.row)">修改</el-button> + <el-button size="small" text type="primary" @click="onTabelRowDel(scope.row)">删除</el-button> </template> </el-table-column> </el-table> - <el-pagination - @size-change="onHandleSizeChange" - @current-change="onHandleCurrentChange" - class="mt15" - :pager-count="5" - :page-sizes="[10, 20, 30]" - v-model:current-page="tableData.param.pageNum" - background - v-model:page-size="tableData.param.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="tableData.total" - > - </el-pagination> </el-card> - <AddRole ref="addRoleRef" /> - <EditRole ref="editRoleRef" /> + <roleDialog ref="roleDialogRef" @refreshRoleList="initRoleTableData"/> </div> </template> <script lang="ts"> import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue'; import { ElMessageBox, ElMessage } from 'element-plus'; -import AddRole from '/@/views/system/role/component/addRole.vue'; -import EditRole from '/@/views/system/role/component/editRole.vue'; +import roleDialog from '/@/views/system/role/component/roleDialog.vue'; import {useRoleApi} from "/@/api/role"; // 定义接口来定义对象的类型 @@ -87,10 +64,9 @@ export default defineComponent({ name: 'systemRole', - components: { AddRole, EditRole }, + components: { roleDialog }, setup() { - const addRoleRef = ref(); - const editRoleRef = ref(); + const roleDialogRef = ref(); const state = reactive<TableDataState>({ tableData: { data: [], @@ -103,7 +79,7 @@ }, }); // 初始化表格数据 - const initTableData = async () => { + const initRoleTableData = async () => { let res = await useRoleApi().getRoleList() if(res.data.code === '200'){ state.tableData.data = res.data.data; @@ -113,15 +89,10 @@ message:res.data.msg }) } - }; // 打开新增角色弹窗 - const onOpenAddRole = () => { - addRoleRef.value.openDialog(); - }; - // 打开修改角色弹窗 - const onOpenEditRole = (row: Object) => { - editRoleRef.value.openDialog(row); + const onOpenDialogRef = (type: string, value: any) => { + roleDialogRef.value.openDialog(type, value); }; // 删除角色 const onRowDel = (row: any) => { @@ -129,14 +100,12 @@ confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning', - }) - .then(() => { + }).then(() => { ElMessage.success('删除成功'); - }) - .catch(() => {}); + }).catch(() => {}); }; const handleSearch = () => { - initTableData() + initRoleTableData() } // 分页改变 const onHandleSizeChange = (val: number) => { @@ -148,17 +117,17 @@ }; // 页面加载时 onMounted(() => { - initTableData(); + initRoleTableData(); }); return { - addRoleRef, - editRoleRef, - onOpenAddRole, - onOpenEditRole, onRowDel, + roleDialog, + handleSearch, + roleDialogRef, + onOpenDialogRef, + initRoleTableData, onHandleSizeChange, onHandleCurrentChange, - handleSearch, ...toRefs(state), }; }, -- Gitblit v1.9.2