|
@@ -0,0 +1,201 @@
|
|
|
+<template>
|
|
|
+ <el-dialog
|
|
|
+ class="select-teacher"
|
|
|
+ :visible="dialogVisible"
|
|
|
+ width="900px"
|
|
|
+ title="选择授课教师"
|
|
|
+ @close="dialogClose"
|
|
|
+ >
|
|
|
+ <!--查询条件-->
|
|
|
+ <el-form :inline="true" :model="searchForm" size="mini">
|
|
|
+ <el-form-item label="用户名">
|
|
|
+ <el-input v-model="searchForm.user_name" @keyup.enter.native="getTeacherUserList" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="真实姓名">
|
|
|
+ <el-input v-model="searchForm.user_real_name" @keyup.enter.native="getTeacherUserList" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="有效">
|
|
|
+ <el-select v-model="searchForm.is_valid" class="valid">
|
|
|
+ <el-option
|
|
|
+ v-for="item in typeList"
|
|
|
+ :key="item.label"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="已审核">
|
|
|
+ <el-select v-model="searchForm.is_audited" class="audited">
|
|
|
+ <el-option
|
|
|
+ v-for="item in typeList"
|
|
|
+ :key="item.label"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="search-button">
|
|
|
+ <el-button type="primary" @click="getTeacherUserList">
|
|
|
+ <i class="el-icon-search" /> 搜索
|
|
|
+ </el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <!--表格-->
|
|
|
+ <el-table
|
|
|
+ ref="teacherTable"
|
|
|
+ :data="teacherList"
|
|
|
+ height="35vh"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ >
|
|
|
+ <el-table-column type="selection" width="55" />
|
|
|
+ <el-table-column prop="user_name" label="用户名" width="120" />
|
|
|
+ <el-table-column prop="user_real_name" label="真实姓名" width="120" />
|
|
|
+ <el-table-column prop="org_name" label="机构名" width="120" />
|
|
|
+ <el-table-column prop="is_valid" label="有效" width="60">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.is_valid === 'true' ? '√' : '' }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="is_valid" label="已审核">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.is_audited === 'true' ? '√' : '' }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ :page-sizes="[10, 20, 30, 40, 50]"
|
|
|
+ :page-size="page_capacity"
|
|
|
+ layout="prev, pager, next, total, sizes, jumper"
|
|
|
+ :total="total_count"
|
|
|
+ :current-page="cur_page"
|
|
|
+ @prev-click="changePage"
|
|
|
+ @next-click="changePage"
|
|
|
+ @current-change="changePage"
|
|
|
+ @size-change="changePageSize"
|
|
|
+ />
|
|
|
+
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="mini" @click="dialogClose">取 消</el-button>
|
|
|
+ <el-button type="primary" size="mini" @click="confirmTeacher">确 定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { PageQueryOrgTeacherUserList } from '@/api/list';
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'SelectTeacher',
|
|
|
+ props: {
|
|
|
+ dialogVisible: {
|
|
|
+ default: false,
|
|
|
+ type: Boolean
|
|
|
+ },
|
|
|
+ orgId: {
|
|
|
+ default: '',
|
|
|
+ type: String
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ cur_page: 1,
|
|
|
+ total_count: 0,
|
|
|
+ page_capacity: 10,
|
|
|
+ teacherList: [],
|
|
|
+ orgList: [],
|
|
|
+ searchForm: {
|
|
|
+ user_name: '',
|
|
|
+ user_real_name: '',
|
|
|
+ is_valid: '',
|
|
|
+ is_audited: ''
|
|
|
+ },
|
|
|
+ typeList: [
|
|
|
+ {
|
|
|
+ label: '全部',
|
|
|
+ name: '全部',
|
|
|
+ value: ''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '有效',
|
|
|
+ name: '已审核',
|
|
|
+ value: 'true'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '无效',
|
|
|
+ name: '未审核',
|
|
|
+ value: 'false'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getTeacherUserList();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getTeacherUserList() {
|
|
|
+ let data = {
|
|
|
+ org_id: this.orgId,
|
|
|
+ user_name: this.searchForm.user_name,
|
|
|
+ user_real_name: this.searchForm.user_real_name,
|
|
|
+ is_valid: this.searchForm.is_valid,
|
|
|
+ is_audited: this.searchForm.is_audited,
|
|
|
+ page_capacity: this.page_capacity,
|
|
|
+ cur_page: this.cur_page
|
|
|
+ };
|
|
|
+
|
|
|
+ PageQueryOrgTeacherUserList(data).then(({ cur_page, total_count, org_teacher_user_list }) => {
|
|
|
+ this.cur_page = cur_page;
|
|
|
+ this.total_count = total_count;
|
|
|
+ this.teacherList = org_teacher_user_list;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ dialogClose() {
|
|
|
+ this.$emit('dialogClose');
|
|
|
+ this.$refs.teacherTable.clearSelection();
|
|
|
+ },
|
|
|
+ handleSelectionChange(arr) {
|
|
|
+ let list = [];
|
|
|
+ arr.forEach(el => {
|
|
|
+ list.push(el.user_id);
|
|
|
+ });
|
|
|
+ this.orgList = list;
|
|
|
+ },
|
|
|
+ changePage(newPage) {
|
|
|
+ this.cur_page = newPage;
|
|
|
+ this.getTeacherUserList();
|
|
|
+ },
|
|
|
+ changePageSize(pageSize) {
|
|
|
+ this.page_capacity = pageSize;
|
|
|
+ this.getTeacherUserList();
|
|
|
+ },
|
|
|
+ confirmTeacher() {
|
|
|
+ this.$emit('selectTeaher', this.orgList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+.select-teacher {
|
|
|
+ .el-dialog__body {
|
|
|
+ padding: 15px 20px 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-input,
|
|
|
+ .el-select.valid,
|
|
|
+ .el-select.audited {
|
|
|
+ width: 100px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .search-button .el-button {
|
|
|
+ margin-left: 120px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-pagination {
|
|
|
+ margin-top: 15px;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|