|
@@ -27,16 +27,16 @@
|
|
|
</el-form>
|
|
|
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- plain
|
|
|
- icon="el-icon-plus"
|
|
|
- size="mini"
|
|
|
- @click="handleAdd"
|
|
|
- v-hasPermi="['system:dept:add']"
|
|
|
- >新增</el-button>
|
|
|
- </el-col>
|
|
|
+ <!-- <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ @click="handleAdd"
|
|
|
+ v-hasPermi="['system:dept:add']"
|
|
|
+ >新增</el-button>
|
|
|
+ </el-col>-->
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
@@ -45,43 +45,47 @@
|
|
|
v-loading="loading"
|
|
|
:data="deptList"
|
|
|
row-key="deptId"
|
|
|
- default-expand-all
|
|
|
+ :expand-row-keys="depands"
|
|
|
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
|
|
|
>
|
|
|
- <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">
|
|
|
+ <el-table-column prop="deptName" label="部门名称"></el-table-column>
|
|
|
+ <el-table-column prop="deptId" label="部门编码"></el-table-column>
|
|
|
+ <!-- <el-table-column prop="orderNum" label="排序"></el-table-column>-->
|
|
|
+ <el-table-column prop="status" label="状态" :formatter="statusFormat"></el-table-column>
|
|
|
+ <el-table-column label="创建时间" align="center" prop="createTime">
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-edit"
|
|
|
- @click="handleUpdate(scope.row)"
|
|
|
- v-hasPermi="['system:dept:edit']"
|
|
|
- >修改</el-button>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-plus"
|
|
|
- @click="handleAdd(scope.row)"
|
|
|
- v-hasPermi="['system:dept:add']"
|
|
|
- >新增</el-button>
|
|
|
- <el-button
|
|
|
- v-if="scope.row.parentId != 0"
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-delete"
|
|
|
- @click="handleDelete(scope.row)"
|
|
|
- v-hasPermi="['system:dept:remove']"
|
|
|
- >删除</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+ <!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handleUpdate(scope.row)"
|
|
|
+ v-hasPermi="['system:dept:edit']"
|
|
|
+ >修改
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ @click="handleAdd(scope.row)"
|
|
|
+ v-hasPermi="['system:dept:add']"
|
|
|
+ >新增
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.parentId != 0"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleDelete(scope.row)"
|
|
|
+ v-hasPermi="['system:dept:remove']"
|
|
|
+ >删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>-->
|
|
|
</el-table>
|
|
|
|
|
|
<!-- 添加或修改部门对话框 -->
|
|
@@ -90,32 +94,32 @@
|
|
|
<el-row>
|
|
|
<el-col :span="24" v-if="form.parentId !== 0">
|
|
|
<el-form-item label="上级部门" prop="parentId">
|
|
|
- <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级部门" />
|
|
|
+ <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级部门"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="部门名称" prop="deptName">
|
|
|
- <el-input v-model="form.deptName" placeholder="请输入部门名称" />
|
|
|
+ <el-input v-model="form.deptName" placeholder="请输入部门名称"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="显示排序" prop="orderNum">
|
|
|
- <el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
|
|
|
+ <el-input-number v-model="form.orderNum" controls-position="right" :min="0"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="负责人" prop="leader">
|
|
|
- <el-input v-model="form.leader" placeholder="请输入负责人" maxlength="20" />
|
|
|
+ <el-input v-model="form.leader" placeholder="请输入负责人" maxlength="20"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="联系电话" prop="phone">
|
|
|
- <el-input v-model="form.phone" placeholder="请输入联系电话" maxlength="11" />
|
|
|
+ <el-input v-model="form.phone" placeholder="请输入联系电话" maxlength="11"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="邮箱" prop="email">
|
|
|
- <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
|
|
|
+ <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
@@ -125,7 +129,8 @@
|
|
|
v-for="dict in statusOptions"
|
|
|
:key="dict.dictValue"
|
|
|
:label="dict.dictValue"
|
|
|
- >{{dict.dictLabel}}</el-radio>
|
|
|
+ >{{ dict.dictLabel }}
|
|
|
+ </el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -140,13 +145,13 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept";
|
|
|
+import {addDept, delDept, getDept, listDept, listDeptExcludeChild, updateDept} from "@/api/system/dept";
|
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
|
|
|
export default {
|
|
|
name: "Dept",
|
|
|
- components: { Treeselect },
|
|
|
+ components: {Treeselect},
|
|
|
data() {
|
|
|
return {
|
|
|
// 遮罩层
|
|
@@ -157,6 +162,7 @@ export default {
|
|
|
deptList: [],
|
|
|
// 部门树选项
|
|
|
deptOptions: [],
|
|
|
+ depands: ['060000'],
|
|
|
// 弹出层标题
|
|
|
title: "",
|
|
|
// 是否显示弹出层
|
|
@@ -173,13 +179,13 @@ export default {
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
parentId: [
|
|
|
- { required: true, message: "上级部门不能为空", trigger: "blur" }
|
|
|
+ {required: true, message: "上级部门不能为空", trigger: "blur"}
|
|
|
],
|
|
|
deptName: [
|
|
|
- { required: true, message: "部门名称不能为空", trigger: "blur" }
|
|
|
+ {required: true, message: "部门名称不能为空", trigger: "blur"}
|
|
|
],
|
|
|
orderNum: [
|
|
|
- { required: true, message: "显示排序不能为空", trigger: "blur" }
|
|
|
+ {required: true, message: "显示排序不能为空", trigger: "blur"}
|
|
|
],
|
|
|
email: [
|
|
|
{
|
|
@@ -265,7 +271,7 @@ export default {
|
|
|
this.open = true;
|
|
|
this.title = "添加部门";
|
|
|
listDept().then(response => {
|
|
|
- this.deptOptions = this.handleTree(response.data, "deptId");
|
|
|
+ this.deptOptions = this.handleTree(response.data, "deptId");
|
|
|
});
|
|
|
},
|
|
|
/** 修改按钮操作 */
|
|
@@ -277,11 +283,11 @@ export default {
|
|
|
this.title = "修改部门";
|
|
|
});
|
|
|
listDeptExcludeChild(row.deptId).then(response => {
|
|
|
- this.deptOptions = this.handleTree(response.data, "deptId");
|
|
|
+ this.deptOptions = this.handleTree(response.data, "deptId");
|
|
|
});
|
|
|
},
|
|
|
/** 提交按钮 */
|
|
|
- submitForm: function() {
|
|
|
+ submitForm: function () {
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
if (valid) {
|
|
|
if (this.form.deptId != undefined) {
|
|
@@ -303,16 +309,17 @@ export default {
|
|
|
/** 删除按钮操作 */
|
|
|
handleDelete(row) {
|
|
|
this.$confirm('是否确认删除名称为"' + row.deptName + '"的数据项?', "警告", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
- }).then(function() {
|
|
|
- return delDept(row.deptId);
|
|
|
- }).then(() => {
|
|
|
- this.getList();
|
|
|
- this.msgSuccess("删除成功");
|
|
|
- }).catch(() => {});
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(function () {
|
|
|
+ return delDept(row.deptId);
|
|
|
+ }).then(() => {
|
|
|
+ this.getList();
|
|
|
+ this.msgSuccess("删除成功");
|
|
|
+ }).catch(() => {
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
-</script>
|
|
|
+</script>
|