<template>
	<div>
		<div style='margin-bottom:20px;'>
			<!-- <el-select v-model='lessonname' @change='changeCourse'>
				<el-option v-for='(item, index) in teachCourseList' :key='index' :value='item.lessonname' :label='item.lessonname'></el-option>
			</el-select> -->
			<el-input style='width: 200px' suffix-icon='el-icon-search' placeholder='请输入学生名称' v-model='nickname' class='ml-5'></el-input>
			<el-button class='ml-5' type='primary' @click='load' icon='el-icon-search'>搜索</el-button>
			<el-button type='warning' @click='reset' icon='el-icon-refresh-right'>重置</el-button>
		</div>
<pre><code>	&lt;el-table ref='multipleTable' 
			tooltip-effect='dark' 
			:data='tableData' 
			border stripe 
			style='font-weight:500;font-size:14px;' 
			@selection-change='handleSelectionChange'
			&gt;
		&gt; &lt;el-table-column type='selection' width='55'&gt;&lt;/el-table-column&gt;
		&lt;el-table-column prop='nickname' label='学生名字' width='100'&gt;&lt;/el-table-column&gt;
		&lt;el-table-column prop='school' label='学校' width='200'&gt;&lt;/el-table-column&gt;
		&lt;el-table-column prop='inclass' label='班级' width='200'&gt;&lt;/el-table-column&gt;
		&lt;el-table-column prop='phone' label='电话' width='200'&gt;&lt;/el-table-column&gt;
		&lt;el-table-column prop='email' label='电子邮箱' width='200'&gt;&lt;/el-table-column&gt;
		&lt;el-table-column label='操作' align=center&gt;
			&lt;template slot-scope='scope'&gt;
				&lt;el-button type='primary' @click='handleComment(scope.row)'&gt;删除讲师&lt;/el-button&gt;
				&lt;el-button type='warning' @click='handleWord(scope.row)'&gt;修改讲师&lt;/el-button&gt;
			&lt;/template&gt;
		&lt;/el-table-column&gt;
	&lt;/el-table&gt;

	
	&lt;div style='padding: 10px 0'&gt;
		&lt;el-pagination
			@size-change='handleSizeChange'
			@current-change='handleCurrentChange'
			:current-page='pageNum'
			:page-sizes='[2, 5, 10, 20]'
			:page-size='pageSize'
			layout='total, sizes, prev, pager, next, jumper'
			:total='total'
		&gt;&lt;/el-pagination&gt;
	&lt;/div&gt;
&lt;/div&gt;
</code></pre>
</template>
<script>
export default {
	name: 'Chooselesson',
	data() {
		return {
			stucommentdata: '',
			uid: 0,
			lid:0,
			nickname: '',
			tableData: [],
			teachCourseList: [],
			total: 0,
			slesson: {},
			messagedata:'',
			pageNum: 1,
			pageSize: 10,
			selectCourse: '',
			multipleSelection: [],
			lessonname: '',
			words:[],
			form: {},
			targerusername:'',
			WordsFormVisible:false,
			tid:0,
			coursename: '',
			EvaluateStuFormVisible: false,
			NoticeFormVisible:false,
			noticecontent:'',
			headerbg: 'headerbg',
			dialogFormVisible: false,
			user: localStorage.getItem('user') ? JSON.parse(localStorage.getItem('user')) : {}
		};
	},

	created() {
		this.load();
		this.getTeacherCourse();
		// this.getSelectedList()
	},
	methods: {
		handleDetail(row) {
			this.dialogFormVisible = true;
			console.log(row);
			this.form = row;
		},
		toEL() {
			let item = {
				tid: this.user.id,
				uid: this.uid,
				content: this.stucommentdata,
				mode: 1,
				lesson: this.coursename
			};
			console.log(item);
			this.request.post('/sysTandsComment/tscomment', item).then(res => {
				if (res.code == 200) {
					this.$message.success(res.message);
					this.EvaluateStuFormVisible = false;
				} else {
					this.$message.error(res.message);
				}
				// console.log(res.records)
			});
		},
		load() {
			this.request.post('/manage/getTeachTeacherList', {
					current: this.pageNum,
					size: this.pageSize,
					nickname: this.nickname,
				}) 
				.then(res => {
					console.log(res);
					this.tableData = res.data.records;
					this.total = res.data.total;
					console.log('-------------', this.tableData)
				});
		},
		toWord(){
		  if(!this.messagedata){
		    this.$message.error('请输入内容')
		    return
		  }
		  let item = {
		    uid:this.uid,
		    tid:this.user.id,
		    content:this.messagedata,
			mode:1
		  }
		  this.request.post('/sysMessage/leaveMessage',item).then(res => {
			  console.log(res)
		    if(res.code == 200){
		      this.$message.success(res.message)
			  let item1={
				  uid:this.user.id,
				  tid:this.tid
			  }
			  this.messagedata = ''
			  this.getWord()
		  
		    }else{
		      this.$message.error(res.message)
		    }
		  })
		},
		
		getWord(){
		  let item = {
		    current:1,
		    size:500,
		    tid:this.user.id,
		    uid:this.uid
		  }
		  console.log('item',item)
		  this.request.post('/sysMessage/getMessageList',item).then(res =>{
		    this.words = res.data.records
		    console.log('words',this.words)
		
		  })
		},
		
		handleWord(row){
			this.targerusername=row.nickname
			this.uid=row.uid
		  this.WordsFormVisible = true
		  this.getWord(row)
		},
		toggleSelection(rows) {
			if (rows) {
				rows.forEach(row => {
					this.$refs.multipleTable.toggleRowSelection(row);
				});
			} else {
				this.$refs.multipleTable.clearSelection();
			}
		},
		handleSelectionChange(val) {
			console.log(val);
			this.multipleSelection = val;
		},
		changeCourse(e) {
			console.log(e);
			this.lessonname = e;
			this.load();
		},
		handleSizeChange(pageSize) {
			// console.log(`每页 ${val} 条`);
			this.pageSize = pageSize;
			this.load();
		},
		handleCurrentChange(pageNum) {
			this.pageNum = pageNum;
			this.load();
		},
		sendEmail() {
			if (this.multipleSelection.length == 0) {
				this.$message.warning('请选择要提醒的学生');
				return;
			}
			let emailList = [];
			for (var i = 0; i < this.multipleSelection.length; i++) {
				let item = {
					email: this.multipleSelection[i].email,
					lessonname: this.multipleSelection[i].lessonname,
					lessontime: this.multipleSelection[i].lessontime,
					location: this.multipleSelection[i].location,
					nickname: this.multipleSelection[i].nickname
				};
				emailList.push(item);
			}
			let item1 = {
				emailList
			}
			console.log(item1);
			this.request.post('/file/sendEamil', {
				emailList
			}).then(res => {
			
			});
			this.$message.success('系统已接收,已玩命发送');
			this.toggleSelection(false)
		},
		sendNotice(){
			let emailList = [];
			for (var i = 0; i < this.multipleSelection.length; i++) {
				let item = {
					email: this.multipleSelection[i].email,
					content:this.noticecontent
				};
				emailList.push(item);
			}
			let item1 = {
				emailList,
			}
			
			// console.log(item1);
			this.request.post('/file/sendNotice', item1).then(res => {

			});
			this.$message.success('已发送');
			this.NoticeFormVisible = false
			this.noticecontent = ''
			// this.toggleSelection(false)
		},
		handleNotice(){
			if (this.multipleSelection.length == 0) {
				this.$message.warning('请选择要提醒的学生');
				return;
			}
			this.NoticeFormVisible = true
		},
		getTeacherCourse() {
			this.request
				.post('/getTeachLessonList', {
					current: this.pageNum,
					size: 500,
					tid: this.user.id
				})
				.then(res => {
					this.teachCourseList = res.data.records;
					console.log('课程-----------', this.teachCourseList);
				});
		},
		handleComment(row) {
			console.log(row);
			this.uid = row.uid;
			this.coursename = row.lessonname;
			this.EvaluateStuFormVisible = true;
		},
		reset() {
			this.lessonname = '';
			this.nickname = '';
			this.load();
		},
		// exp(){
		// 	let item = {
				
		// 		id:this.user.id
		// 	}
		// 	// this.request.post('/user/export',item).then(res =>{
				
		// 	// })
		// 	window.open('http://localhost:9090/user/export',item)
		// }
	}
};
</script>
<style>
	.headerbg {
		background-color: #eee !important;
	}

	.userInfo{
			display: flex;
			flex-direction: row;
			align-items: center;
			justify-content: flex-start;
			margin-top: 30px;
	}

	.userInfo div{
			margin-left: 9px;
	}

	.img img{
	width: 35px;
	height: 35px;
	border-radius: 50%;
	}
</style>
<p>写一份代码说明书</p>
<p>内容:该代码为一个选择学生的页面,主要由一个表格和一些搜索、分页、操作等组件组成。</p>
<ol>
<li>数据部分:</li>
</ol>
<p>data中定义了该页面需要用到的所有数据,例如:</p>
<ul>
<li>stucommentdata:评价学生表单中的评价内容;</li>
<li>uid:当前操作的学生ID;</li>
<li>lid:当前操作的课程ID;</li>
<li>nickname:搜索框中的学生姓名;</li>
<li>tableData:表格的数据源;</li>
<li>teachCourseList:当前教师的授课课程列表;</li>
<li>total:表格数据总数;</li>
<li>pageNum:当前页码;</li>
<li>pageSize:每页显示的数据量;</li>
<li>selectCourse:选择的课程名称;</li>
<li>multipleSelection:当前选中的学生列表;</li>
<li>lessonname:搜索框中的课程名称;</li>
<li>words:留言列表;</li>
<li>form:当前选中的学生信息;</li>
<li>targerusername:留言的目标学生姓名;</li>
<li>WordsFormVisible:留言弹窗是否显示;</li>
<li>tid:当前教师的ID;</li>
<li>coursename:当前选中的课程名称;</li>
<li>EvaluateStuFormVisible:评价学生弹窗是否显示;</li>
<li>NoticeFormVisible:发送通知弹窗是否显示;</li>
<li>noticecontent:通知内容;</li>
<li>headerbg:页面头部背景样式;</li>
<li>dialogFormVisible:查看学生信息弹窗是否显示;</li>
<li>user:当前登录的用户信息。</li>
</ul>
<ol start="2">
<li>页面结构部分:</li>
</ol>
<p>template中定义了该页面的结构和布局,主要包括:</p>
<ul>
<li>搜索框:包括学生姓名和搜索按钮;</li>
<li>表格:包括多选、学生姓名、学校、班级、电话、电子邮箱和操作列;</li>
<li>分页:包括每页显示数量、页码和跳转等组件。</li>
</ul>
<ol start="3">
<li>方法部分:</li>
</ol>
<p>methods中定义了该页面需要用到的所有方法,例如:</p>
<ul>
<li>handleDetail:查看学生信息弹窗;</li>
<li>toEL:评价学生;</li>
<li>load:加载表格数据;</li>
<li>toWord:留言;</li>
<li>getWord:获取留言列表;</li>
<li>handleWord:查看留言弹窗;</li>
<li>toggleSelection:多选表格中的学生;</li>
<li>handleSelectionChange:选中表格中的学生;</li>
<li>changeCourse:选择课程;</li>
<li>handleSizeChange:改变每页显示数量;</li>
<li>handleCurrentChange:改变页码;</li>
<li>sendEmail:发送邮件提醒;</li>
<li>sendNotice:发送通知;</li>
<li>handleNotice:显示发送通知弹窗;</li>
<li>getTeacherCourse:获取当前教师的授课课程列表;</li>
<li>handleComment:评价学生;</li>
<li>reset:重置搜索条件。</li>
</ul>
<ol start="4">
<li>样式部分:</li>
</ol>
<p>style中定义了该页面的样式,例如页面头部的背景颜色、学生头像的圆角等。</p>
学生管理系统 - 学生列表

原文地址: https://www.cveoy.top/t/topic/oVp2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录