From e28e9395819fd992bc3e168b6ff89fb6f538f1bc Mon Sep 17 00:00:00 2001
From: 唐耀东 <18861537@qq.com>
Date: 星期一, 23 五月 2022 15:25:34 +0800
Subject: [PATCH] 提交代码
---
src/views/system/dept/index.vue | 179 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 141 insertions(+), 38 deletions(-)
diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index e215b1c..dd4b2de 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -1,17 +1,17 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch">
- <el-form-item label="閮ㄩ棬鍚嶇О" prop="deptName">
+ <el-form-item label="鏈烘瀯鍚嶇О" prop="deptName">
<el-input
v-model="queryParams.deptName"
- placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"
+ placeholder="璇疯緭鍏ユ満鏋勫悕绉�"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="鐘舵��" prop="status">
- <el-select v-model="queryParams.status" placeholder="閮ㄩ棬鐘舵��" clearable size="small">
+ <el-form-item label="鏈烘瀯鐘舵��" prop="status">
+ <el-select v-model="queryParams.status" placeholder="鏈烘瀯鐘舵��" clearable size="small">
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
@@ -35,7 +35,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['system:dept:add']"
- >鏂板</el-button>
+ >鏂板
+ </el-button>
</el-col>
<el-col :span="1.5">
<el-button
@@ -44,7 +45,8 @@
icon="el-icon-sort"
size="mini"
@click="toggleExpandAll"
- >灞曞紑/鎶樺彔</el-button>
+ >灞曞紑/鎶樺彔
+ </el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@@ -57,89 +59,134 @@
:default-expand-all="isExpandAll"
: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="deptName" label="鏈烘瀯鍚嶇О" width="260"></el-table-column>
+ <el-table-column prop="code" label="鏈烘瀯缂栧彿" width="200"></el-table-column>
+<!-- <el-table-column prop="orderNum" label="鎺掑簭" width="200"></el-table-column>-->
<el-table-column prop="status" label="鐘舵��" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template>
</el-table-column>
+ <el-table-column prop="leaderName" label="涓昏礋璐d汉" width="200"></el-table-column>
+ <el-table-column prop="leaderAssistantName" label="鍓礋璐d汉" width="200"></el-table-column>
+ <el-table-column prop="remarks" label="鏈烘瀯鑱岃兘" width="200" show-overflow-tooltip></el-table-column>
<el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="200">
<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">
+ <el-table-column label="鎿嶄綔" align="center" fixed="right" width="240" class-name="small-padding fixed-width">
<template slot-scope="scope">
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-user"
+ @click="handleUser(scope.row)"
+ >鎴愬憳
+ </el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dept:edit']"
- >淇敼</el-button>
+ >淇敼
+ </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>
<el-button
v-if="scope.row.parentId != 0"
size="mini"
type="text"
icon="el-icon-delete"
+ class="del-btn"
@click="handleDelete(scope.row)"
v-hasPermi="['system:dept:remove']"
- >鍒犻櫎</el-button>
+ >鍒犻櫎
+ </el-button>
</template>
</el-table-column>
</el-table>
<!-- 娣诲姞鎴栦慨鏀归儴闂ㄥ璇濇 -->
- <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
+ <Dialog :title="title" :visible.sync="open" width="600px" :append-to-body="true" :close-on-click-modal="false">
<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" :normalizer="normalizer" placeholder="閫夋嫨涓婄骇閮ㄩ棬" />
+ <el-form-item label="涓婄骇鏈烘瀯" prop="parentId">
+ <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-form-item label="鏈烘瀯鍚嶇О" prop="deptName">
+ <el-input v-model="form.deptName" placeholder="璇疯緭鍏ユ満鏋勫悕绉�"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鏈烘瀯缂栧彿" prop="code">
+ <el-input v-model="form.code" 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="璇疯緭鍏ヨ礋璐d汉" maxlength="20" />
+ <el-form-item label="涓昏礋璐d汉" prop="leader">
+ <el-select v-model="form.leader" placeholder="璇烽�夋嫨涓昏礋璐d汉" clearable size="small">
+ <el-option
+ v-for="dict in userList"
+ :key="dict.userId"
+ :label="dict.nickName"
+ :value="dict.userId"
+ />
+ </el-select>
</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-form-item label="鍓礋璐d汉" prop="leaderAssistant">
+ <el-select v-model="form.leaderAssistant" placeholder="璇烽�夋嫨鍓礋璐d汉" clearable size="small">
+ <el-option
+ v-for="dict in userList"
+ :key="dict.userId"
+ :label="dict.nickName"
+ :value="dict.userId"
+ />
+ </el-select>
</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-form-item>-->
+ <!-- </el-col>-->
+ <!-- <el-col :span="12">-->
+ <!-- <el-form-item label="閭" prop="email">-->
+ <!-- <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" maxlength="50" />-->
+ <!-- </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-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="閮ㄩ棬鐘舵��">
+ <el-form-item label="鏈烘瀯鐘舵��">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
- >{{dict.label}}</el-radio>
+ >{{dict.label}}
+ </el-radio>
</el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="鏈烘瀯鑱岃兘" prop="remarks">
+ <el-input v-model="form.remarks" type="textarea" placeholder="璇疯緭鍏ユ満鏋勮亴鑳�" controls-position="right" :min="0"/>
</el-form-item>
</el-col>
</el-row>
@@ -148,19 +195,40 @@
<el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
<el-button @click="cancel">鍙� 娑�</el-button>
</div>
- </el-dialog>
+ </Dialog>
+
+ <!--鏈烘瀯鎴愬憳-->
+ <el-drawer
+ title="鏈烘瀯鎴愬憳"
+ :visible.sync="drawer"
+ direction="rtl"
+ size="500px">
+ <el-table :data="userTable">
+ <el-table-column property="nickName" label="濮撳悕" width="150"></el-table-column>
+ <el-table-column property="phonenumber" label="鐢佃瘽" width="200"></el-table-column>
+ <el-table-column property="userName" label="璐﹀彿"></el-table-column>
+ </el-table>
+ <pagination
+ v-show="tableTotal>0"
+ :total="tableTotal"
+ :page.sync="queryTable.pageNum"
+ :limit.sync="queryTable.pageSize"
+ @pagination="getList"
+ />
+ </el-drawer>
</div>
</template>
<script>
-import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept";
+import {listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild} from "@/api/system/dept";
+import {listUser, listUserDept} from "@/api/common/common";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Dept",
dicts: ['sys_normal_disable'],
- components: { Treeselect },
+ components: {Treeselect},
data() {
return {
// 閬僵灞�
@@ -189,13 +257,16 @@
// 琛ㄥ崟鏍¢獙
rules: {
parentId: [
- { required: true, message: "涓婄骇閮ㄩ棬涓嶈兘涓虹┖", trigger: "blur" }
+ {required: true, message: "涓婄骇鏈烘瀯涓嶈兘涓虹┖", trigger: "blur"}
],
deptName: [
- { required: true, message: "閮ㄩ棬鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ {required: true, message: "鏈烘瀯鍚嶇О涓嶈兘涓虹┖", trigger: "blur"}
+ ],
+ code: [
+ {required: true, message: "鏈烘瀯缂栧彿涓嶈兘涓虹┖", trigger: "blur"}
],
orderNum: [
- { required: true, message: "鏄剧ず鎺掑簭涓嶈兘涓虹┖", trigger: "blur" }
+ {required: true, message: "鏄剧ず鎺掑簭涓嶈兘涓虹┖", trigger: "blur"}
],
email: [
{
@@ -210,7 +281,21 @@
message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
trigger: "blur"
}
+ ],
+ remarks: [
+ {max: 128, message: '鏈�澶氳緭鍏�128涓瓧绗�', trigger: 'blur' }
]
+ },
+ // 涓嬫媺鐢ㄦ埛
+ userList: [],
+ // 鎴愬憳鎶藉眽
+ drawer: false,
+ // 鎴愬憳琛ㄦ牸
+ userTable: [],
+ tableTotal: 0,
+ queryTable: {
+ pageNum: 1,
+ pageSize: 10
}
};
},
@@ -268,6 +353,7 @@
/** 鏂板鎸夐挳鎿嶄綔 */
handleAdd(row) {
this.reset();
+ this.getUserList()
if (row != undefined) {
this.form.parentId = row.deptId;
}
@@ -277,6 +363,12 @@
this.deptOptions = this.handleTree(response.data, "deptId");
});
},
+ // 鐢ㄦ埛涓嬫媺鍒楄〃
+ getUserList() {
+ listUser().then(res => {
+ this.userList = res.data
+ })
+ },
/** 灞曞紑/鎶樺彔鎿嶄綔 */
toggleExpandAll() {
this.refreshTable = false;
@@ -285,9 +377,19 @@
this.refreshTable = true;
});
},
+ // 鏈烘瀯鎴愬憳
+ handleUser(row) {
+ this.drawer = true
+ listUserDept(Object.assign({}, {deptId: row.deptId}, this.queryTable)).then(res => {
+ console.log(res)
+ this.userTable = res.data.records
+ this.tableTotal = res.data.total
+ })
+ },
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
this.reset();
+ this.getUserList()
getDept(row.deptId).then(response => {
this.form = response.data;
this.open = true;
@@ -298,7 +400,7 @@
});
},
/** 鎻愪氦鎸夐挳 */
- submitForm: function() {
+ submitForm: function () {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.deptId != undefined) {
@@ -319,12 +421,13 @@
},
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
- this.$modal.confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.deptName + '"鐨勬暟鎹」锛�').then(function() {
+ this.$modal.confirm('鏄惁纭鍒犻櫎锛�').then(function () {
return delDept(row.deptId);
}).then(() => {
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
+ }).catch(() => {
+ });
}
}
};
--
Gitblit v1.9.1