山东大学软件学院项目实训weblab-17

前言

项目地址
本项目是为开发一套容器化的开发、运行、测试环境,用以支持Web开发、程序设计等课程的实验教学。

教师查看作业下已提交的项目

<el-tab-pane label="课程作业" name="3">

        <el-collapse>
          <el-collapse-item v-for="(curriculum, currIdx) in curriculumData"
            :title="curriculum.title + '(课序号:' + curriculum.data[0].courseId + ')'" :name="curriculum.id">
            <el-collapse>
              <el-collapse-item v-for="(hw, hwIdx) in curriculum.homework" :title="'作业标题: ' + hw.title" :name="hw.id">
                <el-table :data="hw.subProject" style="width: 100%">
                  <el-table-column prop="studentName" label="学生姓名" width="150" />
                  <el-table-column prop="studentClass" label="班级" width="180" />
                  <el-table-column prop="projectName" label="项目名称" width="180" />
                  <el-table-column prop="description" label="描述信息" width="200">
                  </el-table-column>
                  <el-table-column prop="url" label="项目地址">
                    <template #defaule="scope">
                      <a :href="scope.row.url">{{ scope.row.url }}</a>
                    </template>
                  </el-table-column>
                </el-table>
              </el-collapse-item>


            </el-collapse>
          </el-collapse-item>
        </el-collapse>
      </el-tab-pane>
for (let curr of curriculumData.value) {
      for (let hw of curr.homework) {
        if (hw.subProject.length == 0) {
          let param = new FormData();
          param.append('labId', hw.id);
          const proRes = await request('weblab/lab/getProjectList', param);
          console.log(proRes);
          if (proRes.data.msg == 'success') {
            const proData = proRes.data.pkg;
            for (let p of proData) {
              hw.subProject.push({
                id: p.id,
                projectName: p.name,
                description: p.description,
                url: p.url,
                studentName: p.realName,
                studentClass: p.banji,
                createTime: ''
              })
            }
          }
        }

      }
    }

教师查看学生详细信息

 <div v-show="showStudentDetail">

          <el-page-header content="学生详细信息" @back="showStudentDetail = false;" />
          <el-main>
            <el-form>
              <el-form-item label="姓名">
                {{ showStudent.name }}
              </el-form-item>
              <el-form-item label="邮箱">
                {{ showStudent.email }}
              </el-form-item>
              <el-form-item label="">
                <el-table :data="showStudent.project">
                  <el-table-column prop="projectName" label="项目名称" />
                  <el-table-column prop="createTime" label="创建日期" />
                  <el-table-column prop="description" label="描述信息" />
                  <el-table-column prop="url" label="项目地址" />
                </el-table>
              </el-form-item>
            </el-form>
          </el-main>

        </div>
const showStudentDetail = ref(false);
interface StudentDetail {
  id: string,
  name: string,
  email: string,
  project: projectDataIF[]
}
const showStudent = ref<StudentDetail>({ id: '', name: '', email: '', project: [] })
const checkStudentDetail = async (student: StudentDataIF) => {
  console.log(student);
  if (student.id != showStudent.value.id) {
    showStudent.value.id = student.id;
    showStudent.value.name = student.name;
    showStudent.value.email = student.email;
    showStudent.value.project.splice(0,showStudent.value.project.length)
    let param = new FormData();
    param.append('userId', student.id);
    const res = await request('weblab/project/getProjectListByUserId', param);
    console.log(res);
    if (res.data.msg == 'success') {
      const data = res.data.pkg;
      for (let d of data) {
        showStudent.value.project.push({
          id: d.id,
          projectName: d.name,
          description: d.description,
          url: d.url,
          studentName: '',
          studentClass: '',
          createTime: d.createTime.slice(0, 10)
        })
      }
    }
  }
  showStudentDetail.value = true;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值