|
@@ -0,0 +1,207 @@
|
|
|
+<template>
|
|
|
+ <div class="student-manager">
|
|
|
+ <!--搜索-->
|
|
|
+ <div class="student-manager-search">
|
|
|
+ <el-row type="flex" justify="space-between">
|
|
|
+ <el-col :span="20">
|
|
|
+ <span class="search-name">用户名</span>
|
|
|
+ <el-input
|
|
|
+ v-model="user_name"
|
|
|
+ class="account-search"
|
|
|
+ type="text"
|
|
|
+ @keyup.enter.native="pageQueryOrgStudentUserList"
|
|
|
+ />
|
|
|
+ <span class="search-name">姓名</span>
|
|
|
+ <el-input
|
|
|
+ v-model="user_real_name"
|
|
|
+ class="account-search"
|
|
|
+ type="text"
|
|
|
+ @keyup.enter.native="pageQueryOrgStudentUserList"
|
|
|
+ />
|
|
|
+ <span class="search-name">有效</span>
|
|
|
+ <el-select v-model="is_valid" class="account-search">
|
|
|
+ <el-option v-for="item in validList" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
+ </el-select>
|
|
|
+ <span class="search-name">审核</span>
|
|
|
+ <el-select v-model="is_audited" class="account-search">
|
|
|
+ <el-option v-for="item in auditList" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
+ </el-select>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="2">
|
|
|
+ <el-button class="search-button" icon="el-icon-search" @click="pageQueryOrgStudentUserList"></el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <!-- 表格 -->
|
|
|
+ <div class="student-manager-list">
|
|
|
+ <div class="student-manager-list-title">
|
|
|
+ <div>学生列表</div>
|
|
|
+ </div>
|
|
|
+ <el-table :data="org_student_user_list">
|
|
|
+ <el-table-column prop="user_name" label="用户名" width="180" />
|
|
|
+ <el-table-column prop="user_real_name" label="姓名" width="180" />
|
|
|
+ <el-table-column prop="org_name" label="机构名称" width="180" />
|
|
|
+ <el-table-column prop="user_phone" label="手机号" width="120" />
|
|
|
+ <el-table-column prop="user_email" label="邮箱" width="180" />
|
|
|
+ <el-table-column prop="is_audited" label="已审核">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <div :style="{ 'text-align': 'center', width: '40px' }">{{ row.is_audited === 'true' ? '√' : '' }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="is_valid" label="有效">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <div :style="{ 'text-align': 'center', width: '40px' }">{{ row.is_valid === 'true' ? '√' : '' }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column fixed="right" width="180">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-row type="flex" justify="space-between">
|
|
|
+ <el-col>
|
|
|
+ <el-link
|
|
|
+ :underline="false"
|
|
|
+ :type="row.is_audited === 'true' ? 'danger' : 'success'"
|
|
|
+ @click="auditOrgStudentUser(row)"
|
|
|
+ >
|
|
|
+ 审核{{ row.is_audited === 'true' ? '拒绝' : '同意' }}
|
|
|
+ </el-link>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <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>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { PageQueryOrgStudentUserList } from '@/api/list';
|
|
|
+import { AuditOrgStudentUser } from '@/api/student';
|
|
|
+import { GetOrgList_User } from '@/api/org';
|
|
|
+
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ user_name: '',
|
|
|
+ user_real_name: '',
|
|
|
+ is_valid: '',
|
|
|
+ validList: [
|
|
|
+ {
|
|
|
+ value: '',
|
|
|
+ label: '所有'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'true',
|
|
|
+ label: '有效'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'false',
|
|
|
+ label: '无效'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ auditList: [
|
|
|
+ {
|
|
|
+ value: '',
|
|
|
+ label: '所有'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'true',
|
|
|
+ label: '已审核'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'false',
|
|
|
+ label: '未审核'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ is_audited: '',
|
|
|
+ org_student_user_list: [],
|
|
|
+ page_capacity: 10,
|
|
|
+ total_count: 0,
|
|
|
+ cur_page: 1
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.pageQueryOrgStudentUserList();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ pageQueryOrgStudentUserList() {
|
|
|
+ PageQueryOrgStudentUserList({
|
|
|
+ user_name: this.user_name,
|
|
|
+ user_real_name: this.user_real_name,
|
|
|
+ is_valid: this.is_valid,
|
|
|
+ is_audited: this.is_audited,
|
|
|
+ page_capacity: this.page_capacity,
|
|
|
+ cur_page: this.cur_page
|
|
|
+ }).then(({ org_student_user_list, total_page, cur_page, total_count }) => {
|
|
|
+ this.org_student_user_list = org_student_user_list;
|
|
|
+ this.cur_page = cur_page;
|
|
|
+ this.total_page = total_page;
|
|
|
+ this.total_count = total_count;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ changePage(newPage) {
|
|
|
+ this.cur_page = newPage;
|
|
|
+ this.pageQueryOrgStudentUserList();
|
|
|
+ },
|
|
|
+ changePageSize(pageSize) {
|
|
|
+ this.page_capacity = pageSize;
|
|
|
+ this.pageQueryOrgStudentUserList();
|
|
|
+ },
|
|
|
+
|
|
|
+ auditOrgStudentUser(row) {
|
|
|
+ AuditOrgStudentUser({
|
|
|
+ id_list: [row.id],
|
|
|
+ is_audited: row.is_audited !== 'true'
|
|
|
+ }).then(() => {
|
|
|
+ this.$router.go(0);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+@import '~@/styles/mixin';
|
|
|
+
|
|
|
+.student-manager {
|
|
|
+ @include container;
|
|
|
+ @include pagination;
|
|
|
+
|
|
|
+ padding: 24px 0 46px;
|
|
|
+
|
|
|
+ &-search {
|
|
|
+ span.search-name {
|
|
|
+ margin-right: 14px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .account-search {
|
|
|
+ width: 140px;
|
|
|
+ margin-right: 48px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .search-button {
|
|
|
+ float: right;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-list {
|
|
|
+ @include list;
|
|
|
+
|
|
|
+ &-title {
|
|
|
+ font-size: 20px;
|
|
|
+ font-weight: 400;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|