luohairen
2024-10-28 6c2364e6b37ad4cb57fd7b2146b0e6bf40eef434
src/views/class-management/ClassStaff.vue
@@ -3,18 +3,18 @@
  <div class="app-container">
    <div style="display: flex; flex-direction: row">
      <div style="padding-bottom:20px">
        <span class="item">{{ title }}</span>
        <span class="item">{{ this.$route.query.className }}</span>
        <el-button class="item" @click="handlerAddStudent" type="primary" size="small">新增学员</el-button>
        <el-button class="item" @click="open = true" type="primary" size="small">学员调整</el-button>
      </div>
      <div>
        <el-form :inline="true" :model="searchForm" class="demo-form-inline">
          <el-form-item label="学员姓名">
            <el-input v-model="searchForm.studentName" size="small" clearable @clear="page"
            <el-input v-model="searchForm.studentName" size="small" clearable @clear="page" @input="page"
                      placeholder="学员姓名"></el-input>
          </el-form-item>
          <el-form-item>
            <el-button type="primary" @click="page">查询</el-button>
            <el-button type="primary" @click="page" size="small">查询</el-button>
          </el-form-item>
        </el-form>
      </div>
@@ -59,8 +59,14 @@
        width="300px"
      >
        <template slot-scope="scope">
          <el-button @click="handlerEditStudent(scope.row)" type="warning">编辑</el-button>
          <el-button @click="remove(scope.row.id)" type="danger">删除</el-button>
          <el-button @click="handlerEditStudent(scope.row)" type="warning" size="small">编辑</el-button>
          <el-popconfirm
            style="margin: 0 5px"
            title="确定要删除该成员吗?"
            @confirm="remove(scope.row.id)"
          >
            <el-button slot="reference" type="danger" size="small">删除</el-button>
          </el-popconfirm>
        </template>
      </el-table-column>
    </el-table>
@@ -68,7 +74,7 @@
      class="block"
      style="display: flex; margin-top: 40px;"
    >
      <pagination v-show="total>0" :total="total" :page.sync="searchForm.pageNum"
      <pagination v-show="total>0" :total="total" :page.sync="searchForm.currentPage"
                  :limit.sync="searchForm.pageSize"
                  @pagination="page"/>
    </div>
@@ -76,7 +82,8 @@
      :title="studentTitle"
      :visible.sync="addOpen"
      width="700px"
      :before-close="handleAddClose">
      :before-close="handleAddClose"
      :close-on-click-modal="false">
      <el-form :model="studentForm" :rules="studentRules" ref="studentForm" label-width="100px" class="demo-ruleForm">
        <el-form-item label="姓名" prop="realName">
          <el-input v-model="studentForm.realName"></el-input>
@@ -132,14 +139,22 @@
<script>
// 引入彈出窗口組件
import UserApi from '@/api/user'
import { updateClassesUser, getClassesUsers, deleteClassesUserById, addClassesUser, edit } from '@/api/classesUser'
import {
  updateClassesUser,
  getClassesUsers,
  deleteClassesUserById,
  addClassesUser,
  editClassesUser
} from '@/api/classesUser'
import Pagination from '@/components/Pagination'
import {deleteExamById} from "@/api/exam";
export default {
  components: { Pagination },
  data () {
    return {
      studentForm: {
        id: null,
        realName: '',
        sex: 1,
        phone: '',
@@ -168,7 +183,7 @@
      searchForm: {
        studentName: '',
        pageSize: 10,
        pageNum: 1,
        currentPage: 1,
        classesId: null
      },
      classes: {
@@ -204,20 +219,24 @@
    },
    submitStudentForm () {
      this.$refs['studentForm'].validate((valid) => {
        console.log(this.studentForm)
        if (valid) {
          this.studentForm.classesId = this.classes.id
          if (this.studentForm.id) {
            edit(this.studentForm).then(res => {
            editClassesUser(this.studentForm).then(res => {
              this.addOpen = false
              this.$message.success(res.data.message)
              this.page()
              this.resetStudentForm()
            })
          }else {
            addClassesUser(this.studentForm).then(res => {
              this.addOpen = false
              this.$message.success(res.data.message)
              this.page()
              this.resetStudentForm()
            })
          }
          addClassesUser(this.studentForm).then(res => {
            this.addOpen = false
            this.$message.success(res.data.message)
            this.page()
          })
        }
      })
    },
@@ -234,9 +253,15 @@
      this.resetStudentForm()
    },
    remove (id) {
      deleteClassesUserById(id).then(res => {
        this.$message.success(res.data.message)
        this.page()
      this.$confirm('确认是否删除?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        deleteClassesUserById(id).then(res => {
          this.$message.success(res.data.message)
          this.page()
        })
      })
    },
    sexFormatter (row) {
@@ -265,6 +290,8 @@
      this.searchForm.classesId = this.classes.id
      getClassesUsers(this.searchForm).then(res => {
        this.tableData = res.data.data
        this.total = res.data.total
        this.loading = false
      })
    },
    submitForm () {