From deee303637c6db7b4f6f6a9ace4683ed433dcc32 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期三, 30 十月 2024 17:59:44 +0800
Subject: [PATCH] bug
---
src/views/class-management/ClassStaff.vue | 151 ++++++++++++++++++++++++++++++++++----------------
1 files changed, 102 insertions(+), 49 deletions(-)
diff --git a/src/views/class-management/ClassStaff.vue b/src/views/class-management/ClassStaff.vue
index 88caf31..18b7d74 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,26 +82,38 @@
: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>
- </el-form-item>
- <el-form-item label="鎬у埆" prop="sex">
- <el-select v-model="studentForm.sex">
- <el-option label="鐢�" :value="1"></el-option>
- <el-option label="濂�" :value="2"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="鐢佃瘽" prop="phone">
- <el-input v-model="studentForm.phone"></el-input>
- </el-form-item>
- <el-form-item label="鐧诲綍璐﹀彿" prop="account">
- <el-input v-model="studentForm.account"></el-input>
- </el-form-item>
- <el-form-item label="鐧诲綍瀵嗙爜" prop="password">
- <el-input v-model="studentForm.password" show-password placeholder="涓嶅~鍐欎細浣跨敤榛樿202406"></el-input>
- </el-form-item>
+ <el-form-item label="鐪熷疄濮撳悕锛�" prop="realName" required>
+ <el-input v-model="studentForm.realName"></el-input>
+ </el-form-item>
+ <el-form-item label="鎵嬫満鍙风爜锛�" prop="phone" required>
+ <el-input v-model="studentForm.phone"></el-input>
+ </el-form-item>
+ <el-form-item label="鐧诲綍璐﹀彿锛�" prop="userName" required>
+ <el-input v-model="studentForm.userName" autocomplete="off"></el-input>
+ </el-form-item>
+ <el-form-item v-if="!studentForm.id" label="鐧诲綍瀵嗙爜锛�" prop="password" required>
+ <el-input v-model="studentForm.password" show-password autocomplete="off"></el-input>
+ </el-form-item>
+ <el-form-item label="骞撮緞锛�">
+ <el-input v-model="studentForm.age"></el-input>
+ </el-form-item>
+ <el-form-item label="鎬у埆锛�">
+ <el-select v-model="studentForm.sex" placeholder="鎬у埆" clearable>
+ <el-option v-for="item in sexEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍑虹敓鏃ユ湡锛�">
+ <el-date-picker v-model="studentForm.birthDay" type="date" value-format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡"/>
+ </el-form-item>
+
+ <el-form-item label="鐘舵�侊細" required>
+ <el-select v-model="studentForm.status" placeholder="鐘舵��">
+ <el-option v-for="item in statusEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
+ </el-select>
+ </el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleAddClose">鍙� 娑�</el-button>
@@ -132,7 +150,14 @@
<script>
// 寮曞叆褰堝嚭绐楀彛绲勪欢
import UserApi from '@/api/user'
-import { updateClassesUser, getClassesUsers, deleteClassesUserById, addClassesUser, edit } from '@/api/classesUser'
+import { mapGetters, mapState } from 'vuex'
+import {
+ updateClassesUser,
+ getClassesUsers,
+ deleteClassesUserById,
+ addClassesUser,
+ editClassesUser
+} from '@/api/classesUser'
import Pagination from '@/components/Pagination'
export default {
@@ -140,25 +165,27 @@
data () {
return {
studentForm: {
+ id: null,
realName: '',
sex: 1,
phone: '',
+ birthDay: '',
age: null,
- account: '',
+ userName: '',
password: ''
},
studentRules: {
realName: [
- { required: true, message: '璇峰~鍐欏鍛樺鍚�', trigger: 'blur' },
+ { required: true, message: '璇峰~鍐欏鍛樺鍚�', trigger: 'blur' }
],
sex: [
- { required: true, message: '璇烽�夋嫨瀛﹀憳鎬у埆', trigger: 'change' },
+ { required: true, message: '璇烽�夋嫨瀛﹀憳鎬у埆', trigger: 'change' }
],
phone: [
- { required: true, message: '璇峰~鍐欏鍛樼數璇�', trigger: 'blur' },
+ { required: true, message: '璇峰~鍐欏鍛樼數璇�', trigger: 'blur' }
],
- account: [
- { required: true, message: '璇峰~鍐欏鍛樼櫥褰曡处鍙�', trigger: 'blur' },
+ userName: [
+ { required: true, message: '璇峰~鍐欏鍛樼櫥褰曡处鍙�', trigger: 'blur' }
]
},
studentTitle: '鏂板瀛﹀憳',
@@ -168,7 +195,7 @@
searchForm: {
studentName: '',
pageSize: 10,
- pageNum: 1,
+ currentPage: 1,
classesId: null
},
classes: {
@@ -181,9 +208,9 @@
formLabelAlign: {
type: '',
user: '',
- region: '',
+ region: ''
},
- tableData: [],
+ tableData: []
}
},
mounted () {
@@ -204,29 +231,37 @@
},
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()
- })
}
})
},
resetStudentForm () {
this.studentForm = {
+ id: null,
realName: '',
- sex: '',
+ sex: 1,
phone: '',
- age: null
+ birthDay: '',
+ age: null,
+ userName: '',
+ password: ''
}
},
handleAddClose () {
@@ -234,9 +269,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 +306,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 () {
@@ -295,17 +338,28 @@
// 鐢熸垚璇曞嵎
getCreate () {
// 璺宠浆鍒扮敓鎴愰〉闈�
- //璺宠浆鍒板搴旂殑绠$悊椤甸潰
+ // 璺宠浆鍒板搴旂殑绠$悊椤甸潰
this.$router.push({
- path: '/manage/test-paper-generation',
+ path: '/manage/test-paper-generation'
})
},
// 寮圭獥
// 鎺ユ敹寮圭獥缁勪欢杩斿洖鐨勮〃鍗曞��
parentGoods (obj) {
console.log(obj, '寮圭獥缁勪欢鐨勮〃鍗曞��')
- },
+ }
},
+ computed: {
+ ...mapGetters('enumItem', [
+ 'enumFormat'
+ ]),
+ ...mapState('enumItem', {
+ sexEnum: state => state.user.sexEnum,
+ roleEnum: state => state.user.roleEnum,
+ statusEnum: state => state.user.statusEnum,
+ levelEnum: state => state.user.levelEnum
+ })
+ }
}
</script>
<style scoped lang="scss">
@@ -324,4 +378,3 @@
margin-right: 5px;
}
</style>
-
--
Gitblit v1.8.0