更新实验报告

UI_2022-02-10
yujialong 3 years ago
parent 7d6f5c21ec
commit e3bd2f3e6b
  1. 1
      src/api/index.js
  2. 204
      src/pages/record/show/index.vue

@ -41,6 +41,7 @@ export default {
practiceByStudentDetail: `${host}occupationlab/achievement/practiceByStudentDetail`, // 学生端练习实验情况
exportPracticeByStudentDetail: `${host}occupationlab/achievement/exportPracticeByStudentDetail`, // 导出学生端练习实验情况
reportDetail: `${host}occupationlab/achievement/reportDetail`, // 成绩报告详情
updateReport: `${host}occupationlab/achievement/updateReport`, // 更新成绩报告
// 考核列表
pageStuAssessment: `${host}occupationlab/assessment/pageStuAssessment`, // 学生端——学生考核列表

@ -26,12 +26,12 @@
<el-table :data="infoData" class="info-table" stripe header-align="center">
<el-table-column prop="userName" label="学生姓名" align="center"></el-table-column>
<el-table-column prop="workNumber" label="学生学号" align="center"></el-table-column>
<el-table-column prop="experimentalClassName" label="学生班级" align="center">
<el-table-column prop="className" label="学生班级" align="center">
<template slot-scope="scope">
<template v-if="editing">
<el-input v-model="form.experimentalClassName"></el-input>
<el-input v-model="form.className"></el-input>
</template>
<template v-else>{{ form.experimentalClassName }}</template>
<template v-else>{{ form.className }}</template>
</template>
</el-table-column>
<el-table-column prop="instructor" label="指导老师" align="center">
@ -60,7 +60,7 @@
<div class="meta-title-wrap">
<p class="meta-title"><img src="@/assets/img/cup.png" alt=""> 实验项目名称</p>
</div>
<el-input v-model="form.proName" type="textarea" :disabled="!editing" rows="5"></el-input>
<el-input v-model="form.projectName" type="textarea" :disabled="!editing" rows="5"></el-input>
</div>
<div class="m-b-20">
@ -80,8 +80,7 @@
{{ scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column prop="judgmentName" label="任务名称">
</el-table-column>
<el-table-column prop="judgmentName" label="任务名称"></el-table-column>
<el-table-column prop="userAnswer" label="学生答案">
<!--
<template slot-scope="scope">
@ -94,7 +93,7 @@
</div>
</template>
</el-table-column>
<el-table-column prop="answer" label="参考答案">
<el-table-column prop="ruleAnswer" label="参考答案">
<!--
<template slot-scope="scope">
<pre v-html="scope.row.answer" style="white-space: pre-wrap"></pre>
@ -124,179 +123,52 @@
import { Loading } from "element-ui";
import html2Canvas from "html2canvas";
import JsPDF from "jspdf";
import { mapState, mapActions } from "vuex";
import util from "@/libs/util";
import Setting from "@/setting";
export default {
data() {
return {
reportId: this.$route.query.reportId,
title: "实验报告",
form: {
analysis: "",
conclusion: "",
content: ``,
data: "",
purpose: ``,
experimentId: "",
experimentalClassName: "",
improvement: "",
laboratory: "",
className: "",
instructor: "",
period: "",
principle: ``,
proName: "",
score: 0,
step: ``,
submitTime: "",
projectName: "",
summarize: "",
instructor: "",
userId: this.userId,
userName: "",
workNumber: ""
},
type: this.$route.query.type, // type == 1 ? '' : ''
id: this.$route.query.id,
recordId: this.$route.query.recordId,
reportId: this.$route.query.reportId,
infoData: [],
expData: [],
accountData: [],
showData: "1",
autograph: "1",
pages: 1,
ipVisible: false,
fileList: [{
name: "food.jpeg",
url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100"
}, {
name: "food2.jpeg",
url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100"
}],
conclusionOptions: [
{
value: 1,
label: "结论符合预期"
}
],
editing: false,
loadIns: null,
loading: false
};
},
computed: {
...mapState("user", [
"userId", "studentId"
])
},
mounted() {
this.getData();
},
methods: {
getData() {
if (!this.type) {
this.$get(`${this.api.reportDetail}?reportId=${this.reportId}`).then(res => {
this.form = res.report;
this.expData = res.userScores;
let form = this.form;
this.infoData.push({
workNumber: form.workNumber,
experimentalClassName: form.experimentalClassName,
instructor: form.instructor,
period: form.period,
laboratory: form.laboratory,
submitTime: form.submitTime,
score: form.score,
userName: form.userName
});
}).catch(res => {
});
} else {
let data = {
studentId: this.studentId,
projectId: this.id,
recordId: this.recordId,
reportId: this.reportId
};
this.$get(this.api.queryArchievement, data).then(res => {
this.form = res.data.report ? res.data.report : {};
let expData = res.data.data;
let form = this.form;
let score = form.score;
if (expData) {
if (score) {
expData.map(n => {
if (n.isError) {
score -= n.codeScore;
n.codeScore = 0;
}
});
form.score = score;
}
this.expData = expData;
}
this.infoData.push({
workNumber: form.workNumber,
experimentalClassName: form.experimentalClassName,
instructor: form.instructor,
period: form.period,
laboratory: form.laboratory,
submitTime: form.submitTime,
score: form.score,
userName: form.userName
});
}).catch(res => {
});
}
},
handlePreview(file) {
console.log(file);
goBack() { //
this.$router.go(-1);
},
saveAdd() {
let data = {
systemId: this.configId,
systemName: this.form.systemName,
systemType: this.form.systemType,
systemAttribution: this.form.systemAttribution
};
if (this.configId) {
this.$post(this.api.updateServiceConfig, data).then((res) => {
util.successMsg("编辑成功");
this.goBack();
}).catch((res) => {
getData() { //
this.$get(`${this.api.reportDetail}?reportId=${this.reportId}`).then(res => {
this.form = res.report;
this.expData = res.userScores;
let form = this.form;
this.infoData.push({
workNumber: form.workNumber,
experimentalClassName: form.experimentalClassName,
instructor: form.instructor,
period: form.period,
laboratory: form.laboratory,
submitTime: form.submitTime,
score: form.score,
userName: form.userName
});
} else {
this.$post(this.api.updateServiceConfig, data).then((res) => {
util.successMsg("添加成功");
this.goBack();
}).catch((res) => {
});
}
},
handleRemove(file, fileList) {
console.log(file, fileList);
}).catch(res => {});
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
SpanMethod({ row, column, rowIndex, columnIndex }) {
if (rowIndex % 2 === 0) {
if (columnIndex === 6) {
if (!row.Intranet) {
return [1, 2];
}
}
// else if (columnIndex === 1) {
// return [0, 0];
// }
}
},
goBack() {
this.$router.go(-1);
},
exportPage() {
exportPage() { //
document.querySelector("body").setAttribute("style", "overflow: visible");
this.loading = true;
this.loadIns = Loading.service({
@ -339,24 +211,16 @@ export default {
);
}, 1000);
},
editReport() {
editReport() { //
if (this.editing) {
let data = {
period: this.form.period,
proName: this.form.proName,
purpose: this.form.purpose,
summarize: this.form.summarize,
instructor: this.form.instructor,
...this.form,
reportId: Number(this.reportId),
experimentalClassName: this.form.experimentalClassName
};
this.$post(`${this.api.modifyReport}`, data)
.then(res => {
this.editing = false;
util.successMsg("修改成功");
console.log(11, this.form);
}).catch(err => {
});
this.$post(`${this.api.updateReport}`, data).then(res => {
this.editing = false;
util.successMsg("修改成功");
}).catch(err => {});
} else {
this.editing = true;
}

Loading…
Cancel
Save