要将这个表修改成一个教师给学生打分的班级表,需要对表格的数据和操作进行相应的更改。

首先,需要修改数据的结构,以适应教师给学生打分的需求。可以将表格的数据定义为一个包含学生信息和分数的对象数组,如下所示:

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 著作权归作者所有。请勿转载和采集!

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