From cad8604cac0eed7e095fe8ae90d7c296bacab93b Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期二, 19 五月 2020 11:40:15 +0800 Subject: [PATCH] README --- ruoyi-ui/src/views/system/dept/index.vue | 42 ++++++++++++++++++++++++++---------------- 1 files changed, 26 insertions(+), 16 deletions(-) diff --git a/ruoyi-ui/src/views/system/dept/index.vue b/ruoyi-ui/src/views/system/dept/index.vue index c5bb197..ac6d663 100644 --- a/ruoyi-ui/src/views/system/dept/index.vue +++ b/ruoyi-ui/src/views/system/dept/index.vue @@ -46,12 +46,12 @@ default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}" > - <el-table-column prop="deptName" label="部门名称" width="200"></el-table-column> + <el-table-column prop="deptName" label="部门名称" width="260"></el-table-column> <el-table-column prop="orderNum" label="排序" width="200"></el-table-column> <el-table-column prop="status" label="状态" :formatter="statusFormat" width="100"></el-table-column> <el-table-column label="创建时间" align="center" prop="createTime" width="200"> <template slot-scope="scope"> - <span>{{ dateFormat(scope.row.createTime) }}</span> + <span>{{ parseTime(scope.row.createTime) }}</span> </template> </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> @@ -83,12 +83,12 @@ </el-table> <!-- 添加或修改部门对话框 --> - <el-dialog :title="title" :visible.sync="open" width="600px"> + <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-row> <el-col :span="24" v-if="form.parentId !== 0"> <el-form-item label="上级部门" prop="parentId"> - <treeselect v-model="form.parentId" :options="deptOptions" placeholder="选择上级部门" /> + <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级部门" /> </el-form-item> </el-col> <el-col :span="12"> @@ -138,11 +138,12 @@ </template> <script> -import { listDept, getDept, treeselect, delDept, addDept, updateDept } from "@/api/system/dept"; +import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; export default { + name: "Dept", components: { Treeselect }, data() { return { @@ -150,8 +151,8 @@ loading: true, // 表格树数据 deptList: [], - // 部门部门树选项 - deptOptions: undefined, + // 部门树选项 + deptOptions: [], // 弹出层标题 title: "", // 是否显示弹出层 @@ -204,15 +205,20 @@ getList() { this.loading = true; listDept(this.queryParams).then(response => { - this.deptList = response.data; + this.deptList = this.handleTree(response.data, "deptId"); this.loading = false; }); }, - /** 查询部门下拉树结构 */ - getTreeselect() { - treeselect().then(response => { - this.deptOptions = response.data; - }); + /** 转换部门数据结构 */ + normalizer(node) { + if (node.children && !node.children.length) { + delete node.children; + } + return { + id: node.deptId, + label: node.deptName, + children: node.children + }; }, // 字典状态字典翻译 statusFormat(row, column) { @@ -227,7 +233,7 @@ reset() { this.form = { deptId: undefined, - parentId: 100, + parentId: undefined, deptName: undefined, orderNum: undefined, leader: undefined, @@ -244,22 +250,26 @@ /** 新增按钮操作 */ handleAdd(row) { this.reset(); - this.getTreeselect(); if (row != undefined) { this.form.parentId = row.deptId; } this.open = true; this.title = "添加部门"; + listDept().then(response => { + this.deptOptions = this.handleTree(response.data, "deptId"); + }); }, /** 修改按钮操作 */ handleUpdate(row) { this.reset(); - this.getTreeselect(); getDept(row.deptId).then(response => { this.form = response.data; this.open = true; this.title = "修改部门"; }); + listDeptExcludeChild(row.deptId).then(response => { + this.deptOptions = this.handleTree(response.data, "deptId"); + }); }, /** 提交按钮 */ submitForm: function() { -- Gitblit v1.9.2