From f59373dccb4afb37e63f4fe655061d067244860c Mon Sep 17 00:00:00 2001 From: Admin <978517621@qq.com> Date: 星期三, 16 十一月 2022 09:17:11 +0800 Subject: [PATCH] Default Changelist --- src/views/system/department/index.vue | 213 +++++++++++++++++++++++++++-------------------------- 1 files changed, 109 insertions(+), 104 deletions(-) diff --git a/src/views/system/department/index.vue b/src/views/system/department/index.vue index 4f33400..a0d7c18 100644 --- a/src/views/system/department/index.vue +++ b/src/views/system/department/index.vue @@ -1,121 +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="id" - default-expand-all - :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" - > - <el-table-column prop="name" 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 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" /> - </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" style="color: red" 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 { departmentApi } from '/@/api/systemManage/department'; +import { useRoleApi } from '/@/api/systemManage/role'; // 定义接口来定义对象的类型 interface TableDataRow { - name: string; - status: boolean; - parentId: number; - info: string; - id: number; - children?: TableDataRow[]; + name: string; + status: boolean; + parentId: number; + info: string; + depId: number; + 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.id}, 是否继续?`, '提示', { - confirmButtonText: '删除', - cancelButtonText: '取消', - type: 'warning', - }).then(() => { - ElMessage.success('删除成功'); - }).catch(() => {}); - }; - // 页面加载时 - onMounted(() => { - initTableData(); - }); - return { - deptDialog, - 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