如何将课程表修改成教师给学生打分的班级表
要将这个表修改成一个教师给学生打分的班级表,需要对表格的数据和操作进行相应的更改。
首先,需要修改数据的结构,以适应教师给学生打分的需求。可以将表格的数据定义为一个包含学生信息和分数的对象数组,如下所示:
type studentScore = {
sid: number;
sname: string;
score: number;
}
let tabData = ref([
{ sid: 1, sname: '学生1', score: 0 },
{ sid: 2, sname: '学生2', score: 0 },
{ sid: 3, sname: '学生3', score: 0 },
// 其他学生数据...
]);
然后,在表格的列定义中,需要修改列的属性和标签,以显示学生的学号和姓名,并添加一个输入框用于教师输入分数。同时,操作列也需要修改,将评价按钮更改为保存按钮,用于保存教师输入的分数。修改后的表格模板代码如下所示:
<template>
<el-table :data="tabData" style="width: 100%" height="600">
<el-table-column fixed prop="sid" label="学生编号" width="200" />
<el-table-column prop="sname" label="学生名" width="200" />
<el-table-column label="分数" width="200">
<template #default="scope">
<el-input v-model="scope.row.score" size="mini" type="number" />
</template>
</el-table-column>
<el-table-column label="操作" width="320">
<template #default="scope">
<el-button size="small" type="success" @click="saveScore(scope.row)">保存</el-button>
</template>
</el-table-column>
</el-table>
</template>
在脚本部分,需要修改获取分数信息的函数,以及评价按钮的点击事件。getScoreInfo函数需要根据教师的登录信息获取对应班级的学生信息和分数。assess函数需要改为saveScore,用于保存教师输入的分数。修改后的脚本代码如下所示:
function getScoreInfo() {
axios({
method: 'POST',
url: '/api/selectClassScoreServlet',
data: { classId: localStorage.getItem('classId') }
}).then(function (result) {
tabData.value = result.data.data;
});
}
getScoreInfo();
const saveScore = (row: studentScore) => {
axios({
method: 'POST',
url: '/api/saveScoreServlet',
data: { sid: row.sid, score: row.score }
}).then(function (result) {
// 保存成功后的处理逻辑
});
}
需要注意的是,以上代码中的/api/selectClassScoreServlet和/api/saveScoreServlet是示例接口地址,需要根据实际情况进行修改。
最后,根据需要进行样式的调整和其他逻辑的处理。
通过以上修改,就可以将原来的表格改成一个教师给学生打分的班级表。
原文地址: https://www.cveoy.top/t/topic/qxWD 著作权归作者所有。请勿转载和采集!