From 33802d74d2720e86c406f5ca9531ac9435b9ddd2 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期二, 02 八月 2022 09:09:48 +0800 Subject: [PATCH] lct --- src/views/system/department/index.vue | 219 +++++++++++++++++++++++++++--------------------------- 1 files changed, 108 insertions(+), 111 deletions(-) diff --git a/src/views/system/department/index.vue b/src/views/system/department/index.vue index 28464ce..16fc3be 100644 --- a/src/views/system/department/index.vue +++ b/src/views/system/department/index.vue @@ -1,129 +1,126 @@ <template> - <div class="system-dept-container"> - <el-card shadow="hover"> - <div class="system-dept-search mb15"> - <el-input size="default" placeholder="请输入部门名称" style="max-width: 180px"> </el-input> - <el-button size="default" type="primary" class="ml10"> - <el-icon> - <ele-Search /> - </el-icon> - 查询 - </el-button> - <el-button size="default" type="success" class="ml10" @click="onOpenDeptDialog('新增','')"> - <el-icon> - <ele-FolderAdd /> - </el-icon> - 新增部门 - </el-button> - </div> - <el-table - :data="tableData.data" - style="width: 100%" - row-key="depId" - :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" - > - <el-table-column prop="depName" label="部门名称" show-overflow-tooltip> </el-table-column> - <el-table-column prop="depInfo" label="部门描述" show-overflow-tooltip></el-table-column> - <el-table-column label="操作" show-overflow-tooltip width="140"> - <template #default="scope"> - <el-button size="small" text type="primary" @click="onOpenDeptDialog('新增','')">新增</el-button> - <el-button size="small" text type="primary" @click="onOpenDeptDialog('修改',scope.row)">修改</el-button> - <el-button size="small" text type="primary" @click="onTabelRowDel(scope.row)">删除</el-button> - </template> - </el-table-column> - </el-table> - </el-card> - <deptDialog ref="deptDialog" @getDepartmentList="initTableData"/> - </div> + <div class="system-dept-container"> + <el-card shadow="hover"> + <div class="system-dept-search mb15"> + <el-input size="default" placeholder="请输入部门名称" style="max-width: 180px"> </el-input> + <el-button size="default" type="primary" class="ml10"> + <el-icon> + <ele-Search /> + </el-icon> + 查询 + </el-button> + <el-button size="default" type="success" class="ml10" @click="onOpenDeptDialog('新增', '')"> + <el-icon> + <ele-FolderAdd /> + </el-icon> + 新增部门 + </el-button> + </div> + <el-table :data="tableData.data" style="width: 100%" row-key="depId" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> + <el-table-column prop="depName" label="部门名称" show-overflow-tooltip> </el-table-column> + <el-table-column prop="depInfo" label="部门描述" show-overflow-tooltip></el-table-column> + <el-table-column label="操作" show-overflow-tooltip width="140"> + <template #default="scope"> + <el-button size="small" text type="primary" @click="onOpenDeptDialog('新增', '')">新增</el-button> + <el-button size="small" text type="primary" @click="onOpenDeptDialog('修改', scope.row)">修改</el-button> + <el-button size="small" text type="primary" @click="onTabelRowDel(scope.row)">删除</el-button> + </template> + </el-table-column> + </el-table> + </el-card> + <deptDialog ref="deptDialog" @getDepartmentList="initTableData" /> + </div> </template> <script lang="ts"> import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue'; import { ElMessageBox, ElMessage } from 'element-plus'; import deptDialog from '/@/views/system/department/component/deptDialog.vue'; -import {departmentApi} from "/@/api/department"; -import {useRoleApi} from "/@/api/role"; +import { departmentApi } from '/@/api/systemManage/department'; +import { useRoleApi } from '/@/api/systemManage/role'; // 定义接口来定义对象的类型 interface TableDataRow { - name: string; - status: boolean; - parentId: number; - info: string; + name: string; + status: boolean; + parentId: number; + info: string; depId: number; - children?: TableDataRow[]; + children?: TableDataRow[]; } interface TableDataState { - tableData: { - data: Array<TableDataRow>; - total: number; - loading: boolean; - }; + tableData: { + data: Array<TableDataRow>; + total: number; + loading: boolean; + }; } export default defineComponent({ - name: 'systemDept', - components: { deptDialog }, - setup() { - const deptDialog = ref(); - const state = reactive<TableDataState>({ - tableData: { - data: [], - total: 0, - loading: false, - }, - }); - // 初始化表格数据 - const initTableData = async () => { - let res = await departmentApi().getDepartmentList() - if(res.data.code === '200'){ - state.tableData.data = res.data.data - state.tableData.total = state.tableData.data.length; - }else{ - ElMessage({ - type:'warning', - message:res.data.msg - }) - } - }; - // 打开新增菜单弹窗 - const onOpenDeptDialog = (type: string, value: any) => { - deptDialog.value.openDialog(type, value, state.tableData.data); - }; - // 删除当前行 - const onTabelRowDel = (row: TableDataRow) => { - ElMessageBox.confirm(`此操作将永久删除部门:${row.depId}, 是否继续?`, '提示', { - confirmButtonText: '删除', - cancelButtonText: '取消', - type: 'warning', - }).then(async () => { - let res = await departmentApi().deleteDepartment({depId:row.depId}) - if(res.data.code ==='200'){ - ElMessage({ - type:'success', - duration:2000, - message:'删除成功' - }) - await initTableData() - }else{ - ElMessage({ - type:'warning', - message:res.data.msg - }) - } - }).catch(() => {}); - }; - // 页面加载时 - onMounted(() => { - initTableData(); - }); - return { - deptDialog, - initTableData, - onOpenDeptDialog, - onTabelRowDel, - ...toRefs(state), - }; - }, + name: 'systemDept', + components: { deptDialog }, + setup() { + const deptDialog = ref(); + const state = reactive<TableDataState>({ + tableData: { + data: [], + total: 0, + loading: false + } + }); + // 初始化表格数据 + const initTableData = async () => { + let res = await departmentApi().getDepartmentList(); + if (res.data.code === '200') { + state.tableData.data = res.data.data; + state.tableData.total = state.tableData.data.length; + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + }; + // 打开新增菜单弹窗 + const onOpenDeptDialog = (type: string, value: any) => { + deptDialog.value.openDialog(type, value, state.tableData.data); + }; + // 删除当前行 + const onTabelRowDel = (row: TableDataRow) => { + ElMessageBox.confirm(`此操作将永久删除部门:${row.depId}, 是否继续?`, '提示', { + confirmButtonText: '删除', + cancelButtonText: '取消', + type: 'warning' + }) + .then(async () => { + let res = await departmentApi().deleteDepartment({ depId: row.depId }); + if (res.data.code === '200') { + ElMessage({ + type: 'success', + duration: 2000, + message: '删除成功' + }); + await initTableData(); + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + }) + .catch(() => {}); + }; + // 页面加载时 + onMounted(() => { + initTableData(); + }); + return { + deptDialog, + initTableData, + onOpenDeptDialog, + onTabelRowDel, + ...toRefs(state) + }; + } }); </script> -- Gitblit v1.9.2