From 23f1bf22c42a904c05cee63e10c9fd8b60dfe8f5 Mon Sep 17 00:00:00 2001 From: Admin <978517621@qq.com> Date: 星期二, 20 九月 2022 14:54:56 +0800 Subject: [PATCH] Default Changelist --- src/views/system/role/index.vue | 287 +++++++++++++++++++++++++++------------------------------ 1 files changed, 137 insertions(+), 150 deletions(-) diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue index 93ec4b2..ca6131f 100644 --- a/src/views/system/role/index.vue +++ b/src/views/system/role/index.vue @@ -1,166 +1,153 @@ <template> - <div class="system-role-container"> - <el-card shadow="hover"> - <div class="system-user-search mb15"> - <el-input size="default" placeholder="请输入角色名称" style="max-width: 180px"> </el-input> - <el-button size="default" type="primary" class="ml10" @click="handleSearch"> - <el-icon> - <ele-Search /> - </el-icon> - 查询 - </el-button> - <el-button size="default" type="success" class="ml10" @click="onOpenAddRole"> - <el-icon> - <ele-FolderAdd /> - </el-icon> - 新增角色 - </el-button> - </div> - <el-table :data="tableData.data" style="width: 100%"> - <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"> - <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> - </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" /> - </div> + <div class="system-role-container"> + <el-card shadow="hover"> + <div class="system-user-search mb15"> + <!-- <el-input size="default" placeholder="请输入角色名称" style="max-width: 180px"> </el-input>--> + <el-button size="default" type="primary" class="ml10" @click="handleSearch"> + <el-icon> + <ele-Search /> + </el-icon> + 查询 + </el-button> + <el-button size="default" type="success" class="ml10" @click="onOpenDialogRef('新增', '')"> + <el-icon> + <ele-FolderAdd /> + </el-icon> + 新增角色 + </el-button> + </div> + <el-table :data="tableData.data" style="width: 100%"> + <el-table-column type="index" label="序号" width="60" /> + <el-table-column prop="roleName" label="角色名称" show-overflow-tooltip></el-table-column> + <el-table-column prop="roleCode" label="角色标识" show-overflow-tooltip></el-table-column> + <el-table-column prop="roleInfo" label="角色描述" show-overflow-tooltip></el-table-column> + <el-table-column prop="createTime" label="创建时间" show-overflow-tooltip></el-table-column> + <el-table-column label="操作" width="150"> + <template #default="scope"> + <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" style="color: red" text type="primary" @click="onRowDel(scope.row)">删除</el-button> + </template> + </el-table-column> + </el-table> + </el-card> + <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 {useRoleApi} from "/@/api/role"; +import roleDialog from '/@/views/system/role/component/roleDialog.vue'; +import { useRoleApi } from '/@/api/systemManage/role'; +import { useMenuApi } from '/@/api/systemManage/menu'; +import { Session } from '/@/utils/storage'; +import { initBackEndControlRoutes } from '/@/router/backEnd'; // 定义接口来定义对象的类型 interface TableData { - roleName: string; - roleSign: string; - describe: string; - sort: number; - status: boolean; - createTime: string; + roleName: string; + roleSign: string; + describe: string; + sort: number; + status: boolean; + createTime: string; } interface TableDataState { - tableData: { - data: Array<TableData>; - total: number; - loading: boolean; - param: { - pageNum: number; - pageSize: number; - }; - }; + tableData: { + data: Array<TableData>; + total: number; + loading: boolean; + param: { + pageNum: number; + pageSize: number; + }; + }; } export default defineComponent({ - name: 'systemRole', - components: { AddRole, EditRole }, - setup() { - const addRoleRef = ref(); - const editRoleRef = ref(); - const state = reactive<TableDataState>({ - tableData: { - data: [], - total: 0, - loading: false, - param: { - pageNum: 1, - pageSize: 10, - }, - }, - }); - // 初始化表格数据 - const initTableData = async () => { - let res = await useRoleApi().getRoleList() - if(res.data.code === '200'){ - state.tableData.data = res.data.data; - }else{ - ElMessage({ - type:'warning', - message:res.data.msg - }) - } - - }; - // 打开新增角色弹窗 - const onOpenAddRole = () => { - addRoleRef.value.openDialog(); - }; - // 打开修改角色弹窗 - const onOpenEditRole = (row: Object) => { - editRoleRef.value.openDialog(row); - }; - // 删除角色 - const onRowDel = (row: any) => { - ElMessageBox.confirm(`此操作将永久删除角色名称:“${row.roleName}”,是否继续?`, '提示', { - confirmButtonText: '确认', - cancelButtonText: '取消', - type: 'warning', - }) - .then(() => { - ElMessage.success('删除成功'); - }) - .catch(() => {}); - }; - const handleSearch = () => { - initTableData() - } - // 分页改变 - const onHandleSizeChange = (val: number) => { - state.tableData.param.pageSize = val; - }; - // 分页改变 - const onHandleCurrentChange = (val: number) => { - state.tableData.param.pageNum = val; - }; - // 页面加载时 - onMounted(() => { - initTableData(); - }); - return { - addRoleRef, - editRoleRef, - onOpenAddRole, - onOpenEditRole, - onRowDel, - onHandleSizeChange, - onHandleCurrentChange, - handleSearch, - ...toRefs(state), - }; - }, + name: 'systemRole', + components: { roleDialog }, + setup() { + const roleDialogRef = ref(); + const state = reactive<TableDataState>({ + tableData: { + data: [], + total: 0, + loading: false, + param: { + pageNum: 1, + pageSize: 10 + } + } + }); + // 初始化表格数据 + const initRoleTableData = async () => { + let res = await useRoleApi().getRoleList(); + if (res.data.code === '200') { + state.tableData.data = res.data.data; + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + }; + // 打开新增角色弹窗 + const onOpenDialogRef = (type: string, value: any) => { + roleDialogRef.value.openDialog(type, value); + }; + // 删除角色 + const onRowDel = (row: any) => { + ElMessageBox.confirm(`此操作将永久删除角色名称:“${row.roleName}”,是否继续?`, '提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }) + .then(async () => { + let res = await useRoleApi().deleteRole({ roleId: row.roleId }); + if (res.data.code === '200') { + ElMessage({ + type: 'success', + duration: 2000, + message: '删除成功' + }); + await initRoleTableData(); + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + }) + .catch(() => {}); + }; + const handleSearch = () => { + initRoleTableData(); + }; + // 分页改变 + const onHandleSizeChange = (val: number) => { + state.tableData.param.pageSize = val; + }; + // 分页改变 + const onHandleCurrentChange = (val: number) => { + state.tableData.param.pageNum = val; + }; + // 页面加载时 + onMounted(() => { + initRoleTableData(); + }); + return { + onRowDel, + roleDialog, + handleSearch, + roleDialogRef, + onOpenDialogRef, + initRoleTableData, + onHandleSizeChange, + onHandleCurrentChange, + ...toRefs(state) + }; + } }); </script> -- Gitblit v1.9.2