|
@@ -1,15 +1,42 @@
|
|
<template>
|
|
<template>
|
|
<div class="app-container">
|
|
<div class="app-container">
|
|
<el-row :gutter="20">
|
|
<el-row :gutter="20">
|
|
|
|
+ <!--组织数据-->
|
|
|
|
+ <el-col :span="4" :xs="24">
|
|
|
|
+ <div class="head-container">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="deptName"
|
|
|
|
+ placeholder="请输入组织名称"
|
|
|
|
+ clearable
|
|
|
|
+ size="small"
|
|
|
|
+ prefix-icon="el-icon-search"
|
|
|
|
+ style="margin-bottom: 20px"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="head-container">
|
|
|
|
+ <el-tree
|
|
|
|
+ :data="deptOptions"
|
|
|
|
+ :props="defaultProps"
|
|
|
|
+ :expand-on-click-node="false"
|
|
|
|
+ :filter-node-method="filterNode"
|
|
|
|
+ ref="tree"
|
|
|
|
+ node-key="id"
|
|
|
|
+ default-expand-all
|
|
|
|
+ highlight-current
|
|
|
|
+ @node-click="handleNodeClick"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+
|
|
<!--用户数据-->
|
|
<!--用户数据-->
|
|
- <el-col :xs="24">
|
|
|
|
|
|
+ <el-col :span="20" :xs="24">
|
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
|
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
|
|
<el-form-item label="学号" prop="UserName">
|
|
<el-form-item label="学号" prop="UserName">
|
|
<el-input
|
|
<el-input
|
|
v-model="queryParams.UserName"
|
|
v-model="queryParams.UserName"
|
|
placeholder="请输入学号"
|
|
placeholder="请输入学号"
|
|
clearable
|
|
clearable
|
|
- style="width: 150px"
|
|
|
|
|
|
+ style="width: 240px"
|
|
@keyup.enter.native="handleQuery"
|
|
@keyup.enter.native="handleQuery"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -19,12 +46,11 @@
|
|
v-model="queryParams.nickName"
|
|
v-model="queryParams.nickName"
|
|
placeholder="请输入姓名"
|
|
placeholder="请输入姓名"
|
|
clearable
|
|
clearable
|
|
- style="width: 150px"
|
|
|
|
|
|
+ style="width: 240px"
|
|
@keyup.enter.native="handleQuery"
|
|
@keyup.enter.native="handleQuery"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
-
|
|
|
|
- <el-form-item label="班级名称" prop="className">
|
|
|
|
|
|
+ <!-- <el-form-item label="班级名称" prop="className">
|
|
<el-input
|
|
<el-input
|
|
v-model="queryParams.className"
|
|
v-model="queryParams.className"
|
|
placeholder="请输入班级名称"
|
|
placeholder="请输入班级名称"
|
|
@@ -32,7 +58,7 @@
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
@keyup.enter.native="handleQuery"
|
|
@keyup.enter.native="handleQuery"
|
|
/>
|
|
/>
|
|
- </el-form-item>
|
|
|
|
|
|
+ </el-form-item> -->
|
|
<el-form-item label="状态" prop="status">
|
|
<el-form-item label="状态" prop="status">
|
|
<el-select
|
|
<el-select
|
|
v-model="queryParams.status"
|
|
v-model="queryParams.status"
|
|
@@ -106,7 +132,7 @@
|
|
<el-table-column label="编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" width="80"/>
|
|
<el-table-column label="编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" width="80"/>
|
|
<el-table-column label="学号" align="center" key="userName" prop="userName" v-if="columns[1].visible" />
|
|
<el-table-column label="学号" align="center" key="userName" prop="userName" v-if="columns[1].visible" />
|
|
<el-table-column label="姓名" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" />
|
|
<el-table-column label="姓名" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" />
|
|
- <el-table-column label="区队/班级" align="center" key="dept.deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
|
|
|
|
|
|
+ <el-table-column label="组织名称" align="center" key="dept.deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
|
|
<el-table-column label="专业名称" align="center" key="major.majorName" prop="major.majorName" v-if="columns[4].visible" :show-overflow-tooltip="true" />
|
|
<el-table-column label="专业名称" align="center" key="major.majorName" prop="major.majorName" v-if="columns[4].visible" :show-overflow-tooltip="true" />
|
|
<el-table-column label="备注" align="center" key="remark" prop="remark" v-if="columns[5].visible" :show-overflow-tooltip="true" />
|
|
<el-table-column label="备注" align="center" key="remark" prop="remark" v-if="columns[5].visible" :show-overflow-tooltip="true" />
|
|
<el-table-column label="状态" align="center" key="status" v-if="columns[7].visible">
|
|
<el-table-column label="状态" align="center" key="status" v-if="columns[7].visible">
|
|
@@ -144,6 +170,7 @@
|
|
type="text"
|
|
type="text"
|
|
icon="el-icon-delete"
|
|
icon="el-icon-delete"
|
|
v-hasPermi="['sim:student:remove']"
|
|
v-hasPermi="['sim:student:remove']"
|
|
|
|
+ @click="handleDelete(scope.row)"
|
|
>删除</el-button>
|
|
>删除</el-button>
|
|
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['sim:student:resetPwd', 'sim:student:edit']">
|
|
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['sim:student:resetPwd', 'sim:student:edit']">
|
|
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
|
|
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
|
|
@@ -189,16 +216,8 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="归属班级">
|
|
|
|
- <el-select v-model="form.deptId" placeholder="请选择归属班级">
|
|
|
|
- <el-option
|
|
|
|
- v-for="(item, index) in postOptions.slice(1)"
|
|
|
|
- :key="item.sysDept.deptId"
|
|
|
|
- :label="item.sysDept.deptName"
|
|
|
|
- :value="item.sysDept.deptId"
|
|
|
|
- :v-if="!hideFirstOption"
|
|
|
|
- ></el-option>
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ <el-form-item label="归属组织" prop="deptId">
|
|
|
|
+ <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属组织" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
@@ -234,15 +253,10 @@
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import { listStudent, getStudent, delStudent, addStudent, updateStudent } from "@/api/sim/student";
|
|
import { listStudent, getStudent, delStudent, addStudent, updateStudent } from "@/api/sim/student";
|
|
-import { resetUserPwd, changeUserStatus } from "@/api/system/user";
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-import { listClassMajor } from "@/api/sim/teacher";
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+import { getUser,resetUserPwd, changeUserStatus,deptTreeSelect } from "@/api/system/user";
|
|
import { getToken } from "@/utils/auth";
|
|
import { getToken } from "@/utils/auth";
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
-import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
|
|
|
+import "@riophae/vue-treeselect/dist/vue-treeselect.css"
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "Student",
|
|
name: "Student",
|
|
@@ -266,6 +280,8 @@ export default {
|
|
userList: null,
|
|
userList: null,
|
|
// 弹出层标题
|
|
// 弹出层标题
|
|
title: "",
|
|
title: "",
|
|
|
|
+ // 部门树选项
|
|
|
|
+ deptOptions: undefined,
|
|
// 是否显示弹出层
|
|
// 是否显示弹出层
|
|
open: false,
|
|
open: false,
|
|
// 部门名称
|
|
// 部门名称
|
|
@@ -299,8 +315,8 @@ export default {
|
|
{ key: 0, label: `编号`, visible: true },
|
|
{ key: 0, label: `编号`, visible: true },
|
|
{ key: 1, label: `编号`, visible: true },
|
|
{ key: 1, label: `编号`, visible: true },
|
|
{ key: 2, label: `姓名`, visible: true },
|
|
{ key: 2, label: `姓名`, visible: true },
|
|
- { key: 3, label: `班级名称`, visible: true },
|
|
|
|
- { key: 4, label: `专业`, visible: true },
|
|
|
|
|
|
+ { key: 3, label: `组织名称`, visible: true },
|
|
|
|
+ { key: 4, label: `专业`, visible: false },
|
|
{ key: 5, label: `备注`, visible: true },
|
|
{ key: 5, label: `备注`, visible: true },
|
|
{ key: 6, label: `创建时间`, visible: true },
|
|
{ key: 6, label: `创建时间`, visible: true },
|
|
{ key: 7, label: `状态`, visible: true }
|
|
{ key: 7, label: `状态`, visible: true }
|
|
@@ -330,7 +346,7 @@ export default {
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
this.getList();
|
|
this.getList();
|
|
- // this.getDeptTree();
|
|
|
|
|
|
+ this.getDeptTree();
|
|
this.getConfigKey("sys.user.initPassword").then(response => {
|
|
this.getConfigKey("sys.user.initPassword").then(response => {
|
|
this.initPassword = response.msg;
|
|
this.initPassword = response.msg;
|
|
});
|
|
});
|
|
@@ -346,11 +362,22 @@ export default {
|
|
}
|
|
}
|
|
);
|
|
);
|
|
},
|
|
},
|
|
|
|
+ /** 查询部门下拉树结构 */
|
|
|
|
+ getDeptTree() {
|
|
|
|
+ deptTreeSelect().then(response => {
|
|
|
|
+ this.deptOptions = response.data;
|
|
|
|
+ });
|
|
|
|
+ },
|
|
// 筛选节点
|
|
// 筛选节点
|
|
filterNode(value, data) {
|
|
filterNode(value, data) {
|
|
if (!value) return true;
|
|
if (!value) return true;
|
|
return data.label.indexOf(value) !== -1;
|
|
return data.label.indexOf(value) !== -1;
|
|
},
|
|
},
|
|
|
|
+ // 节点单击事件
|
|
|
|
+ handleNodeClick(data) {
|
|
|
|
+ this.queryParams.deptId = data.id;
|
|
|
|
+ this.handleQuery();
|
|
|
|
+ },
|
|
// 用户状态修改
|
|
// 用户状态修改
|
|
handleStatusChange(row) {
|
|
handleStatusChange(row) {
|
|
let text = row.status === "0" ? "启用" : "停用";
|
|
let text = row.status === "0" ? "启用" : "停用";
|
|
@@ -371,6 +398,7 @@ export default {
|
|
reset() {
|
|
reset() {
|
|
this.form = {
|
|
this.form = {
|
|
userId: undefined,
|
|
userId: undefined,
|
|
|
|
+ deptId: undefined,
|
|
userName: undefined,
|
|
userName: undefined,
|
|
nickName: undefined,
|
|
nickName: undefined,
|
|
password: undefined,
|
|
password: undefined,
|
|
@@ -390,6 +418,7 @@ export default {
|
|
this.resetForm("queryForm");
|
|
this.resetForm("queryForm");
|
|
this.queryParams.deptId = undefined;
|
|
this.queryParams.deptId = undefined;
|
|
this.$refs.tree.setCurrentKey(null);
|
|
this.$refs.tree.setCurrentKey(null);
|
|
|
|
+ this.handleQuery();
|
|
},
|
|
},
|
|
// 多选框选中数据
|
|
// 多选框选中数据
|
|
handleSelectionChange(selection) {
|
|
handleSelectionChange(selection) {
|
|
@@ -410,11 +439,11 @@ export default {
|
|
/** 新增按钮操作 */
|
|
/** 新增按钮操作 */
|
|
handleAdd() {
|
|
handleAdd() {
|
|
this.reset();
|
|
this.reset();
|
|
- listClassMajor().then(response => {
|
|
|
|
|
|
+ getUser().then(response => {
|
|
this.postOptions = response;
|
|
this.postOptions = response;
|
|
this.open = true;
|
|
this.open = true;
|
|
this.title = "添加学员";
|
|
this.title = "添加学员";
|
|
- // this.form.password = this.initPassword;
|
|
|
|
|
|
+ this.form.password = this.initPassword;
|
|
});
|
|
});
|
|
},
|
|
},
|
|
/** 修改按钮操作 */
|
|
/** 修改按钮操作 */
|