From f0de0b6247ccac12badf5ff1883bce93c92cb011 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期日, 27 十月 2024 21:31:36 +0800
Subject: [PATCH] 一个班级多个老师

---
 src/views/class-management/ClassStaff.vue |   61 ++++++++++++++++++++++--------
 1 files changed, 44 insertions(+), 17 deletions(-)

diff --git a/src/views/class-management/ClassStaff.vue b/src/views/class-management/ClassStaff.vue
index 88caf31..e737a14 100644
--- a/src/views/class-management/ClassStaff.vue
+++ b/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>
@@ -60,7 +60,13 @@
       >
         <template slot-scope="scope">
           <el-button @click="handlerEditStudent(scope.row)" type="warning" size="small">缂栬緫</el-button>
-          <el-button @click="remove(scope.row.id)" type="danger" 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 () {

--
Gitblit v1.8.0