|
|
@ -9,111 +9,115 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="report-wrap" :class="{loading}" id="pdfDom"> |
|
|
|
<div style='width: 1125.25px;background: #fff;box-shadow: 0px 2px 25px 2px #D1D1D1;margin:10px auto;height: calc(100vh - 0px);'> |
|
|
|
<div style="position: relative;"> |
|
|
|
<div class="report-wrap" :class="{loading}" id="pdfDom"> |
|
|
|
<h6 style="text-align: center;font-size: 20px">标准实验报告</h6> |
|
|
|
<div style='padding: 30px 100px;overflow: hidden;width:100%'> |
|
|
|
<el-button v-if="!loading" style="position: absolute;top: 0;right: 0;" size="mini" @click="editReport"> |
|
|
|
<div style="position: relative;"> |
|
|
|
{{ editing ? "保存" : "编辑" }} |
|
|
|
<h6 style="text-align: center;font-size: 20px">标准实验报告</h6> |
|
|
|
</el-button> |
|
|
|
<el-button v-if="!loading" style="position: absolute;top: 0;right: 0;" size="mini" @click="editReport"> |
|
|
|
</div> |
|
|
|
{{ editing ? "保存" : "编辑" }} |
|
|
|
<div class="flex-center m-b-20 user_header"> |
|
|
|
</el-button> |
|
|
|
<p class="addhr_tag"></p> |
|
|
|
</div> |
|
|
|
<span style="font-size: 18px">基本信息</span> |
|
|
|
<div class="flex-center m-b-20 user_header"> |
|
|
|
</div> |
|
|
|
<p class="addhr_tag"></p> |
|
|
|
<div> |
|
|
|
<span style="font-size: 18px">基本信息</span> |
|
|
|
<el-table :data="infoData" class="info-table" stripe header-align="center"> |
|
|
|
</div> |
|
|
|
<el-table-column prop="userName" label="学生姓名" align="center"></el-table-column> |
|
|
|
<div> |
|
|
|
<el-table-column prop="workNumber" label="学生学号" align="center"></el-table-column> |
|
|
|
<el-table :data="infoData" class="info-table" stripe header-align="center"> |
|
|
|
<el-table-column prop="className" label="学生班级" align="center"> |
|
|
|
<el-table-column prop="userName" label="学生姓名" align="center"></el-table-column> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-table-column prop="workNumber" label="学生学号" align="center"></el-table-column> |
|
|
|
<template v-if="editing"> |
|
|
|
<el-table-column prop="className" label="学生班级" align="center"> |
|
|
|
<el-input v-model="form.className"></el-input> |
|
|
|
<template slot-scope="scope"> |
|
|
|
</template> |
|
|
|
<template v-if="editing"> |
|
|
|
<template v-else>{{ form.className }}</template> |
|
|
|
<el-input v-model="form.className"></el-input> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<template v-else>{{ form.className }}</template> |
|
|
|
<el-table-column prop="instructor" label="指导老师" align="center"> |
|
|
|
</template> |
|
|
|
<template slot-scope="scope"> |
|
|
|
</el-table-column> |
|
|
|
<template v-if="editing"> |
|
|
|
<el-table-column prop="instructor" label="指导老师" align="center"> |
|
|
|
<el-input v-model="form.instructor"></el-input> |
|
|
|
<template slot-scope="scope"> |
|
|
|
</template> |
|
|
|
<template v-if="editing"> |
|
|
|
<template v-else>{{ form.instructor }}</template> |
|
|
|
<el-input v-model="form.instructor"></el-input> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<template v-else>{{ form.instructor }}</template> |
|
|
|
<el-table-column prop="period" label="实验学时" align="center"> |
|
|
|
</template> |
|
|
|
<template slot-scope="scope"> |
|
|
|
</el-table-column> |
|
|
|
<template v-if="editing"> |
|
|
|
<el-table-column prop="period" label="实验学时" align="center"> |
|
|
|
<el-input v-model="form.period"></el-input> |
|
|
|
<template slot-scope="scope"> |
|
|
|
</template> |
|
|
|
<template v-if="editing"> |
|
|
|
<template v-else>{{ form.period }}</template> |
|
|
|
<el-input v-model="form.period"></el-input> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<template v-else>{{ form.period }}</template> |
|
|
|
<el-table-column prop="submitTime" label="实验时间" align="center"></el-table-column> |
|
|
|
</template> |
|
|
|
<el-table-column prop="score" label="实验成绩" align="center"> |
|
|
|
</el-table-column> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="submitTime" label="实验时间" align="center"></el-table-column> |
|
|
|
</el-table> |
|
|
|
<el-table-column prop="score" label="实验成绩" align="center"> |
|
|
|
</div> |
|
|
|
</el-table-column> |
|
|
|
<div class="m-b-20"> |
|
|
|
</el-table> |
|
|
|
<div class="meta-title-wrap"> |
|
|
|
</div> |
|
|
|
<p class="meta-title"><img src="@/assets/img/cup.png" alt=""> 实验项目名称</p> |
|
|
|
<div class="m-b-20"> |
|
|
|
</div> |
|
|
|
<div class="meta-title-wrap"> |
|
|
|
<el-input class='textAreaFont' v-model="form.projectName" type="textarea" :disabled="!editing" rows="5"></el-input> |
|
|
|
<p class="meta-title"><img src="@/assets/img/cup.png" alt=""> 实验项目名称</p> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="m-b-20"> |
|
|
|
<el-input class='textAreaFont' v-model="form.projectName" type="textarea" :disabled="!editing" rows="5"></el-input> |
|
|
|
<div class="meta-title-wrap"> |
|
|
|
</div> |
|
|
|
<p class="meta-title">实验目的</p> |
|
|
|
<div class="m-b-20"> |
|
|
|
</div> |
|
|
|
<div class="meta-title-wrap"> |
|
|
|
<div class="pre-wrap" v-html="form.purpose"></div> |
|
|
|
<p class="meta-title">实验目的</p> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="m-b-20"> |
|
|
|
<div class="pre-wrap" v-html="form.purpose"></div> |
|
|
|
<div class="meta-title-wrap"> |
|
|
|
</div> |
|
|
|
<p class="meta-title">实验数据</p> |
|
|
|
<div class="m-b-20"> |
|
|
|
</div> |
|
|
|
<div class="meta-title-wrap"> |
|
|
|
<el-table :data="expData" class="table" border stripe header-align="center"> |
|
|
|
<p class="meta-title">实验数据</p> |
|
|
|
<el-table-column type="index" width="100" label="序号" align="center"> |
|
|
|
</div> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-table :data="expData" class="table" border stripe header-align="center"> |
|
|
|
{{ scope.$index + 1 }} |
|
|
|
<el-table-column type="index" width="100" label="序号" align="center"> |
|
|
|
</template> |
|
|
|
<template slot-scope="scope"> |
|
|
|
</el-table-column> |
|
|
|
{{ scope.$index + 1 }} |
|
|
|
<el-table-column prop="judgmentName" label="任务名称"></el-table-column> |
|
|
|
</template> |
|
|
|
<el-table-column prop="judgmentName" label="考核点"> |
|
|
|
</el-table-column> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-table-column prop="judgmentName" label="任务名称"></el-table-column> |
|
|
|
<div v-for="(item, index) in scope.row.lcRuleRecords"> |
|
|
|
<el-table-column prop="judgmentName" label="考核点"> |
|
|
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
|
|
<div v-for="(item, index) in scope.row.lcRuleRecords"> |
|
|
|
<span> |
|
|
|
<span> |
|
|
|
<span>{{index+1}}. </span>{{item.name}} |
|
|
|
<span>{{index+1}}. </span>{{item.name}} |
|
|
|
</span> |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="ruleAnswer" label="参考答案"> |
|
|
|
<el-table-column prop="ruleAnswer" label="参考答案"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-for="(item, index) in scope.row.lcRuleRecords"> |
|
|
|
<div v-for="(item, index) in scope.row.lcRuleRecords"> |
|
|
|
<span> |
|
|
|
<span> |
|
|
|
<span>{{index+1}}. </span>{{item.ruleAnswer}} |
|
|
|
<span>{{index+1}}. </span>{{item.ruleAnswer}} |
|
|
|
</span> |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="userAnswer" label="学生答案"> |
|
|
|
<el-table-column prop="userAnswer" label="学生答案"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-for="(item, index) in scope.row.lcRuleRecords"> |
|
|
|
<div v-for="(item, index) in scope.row.lcRuleRecords"> |
|
|
|
<span v-if='item.userAnswer'> |
|
|
|
<span v-if='item.userAnswer'> |
|
|
|
<span>{{index+1}}. </span>{{item.userAnswer}} |
|
|
|
<span>{{index+1}}. </span>{{item.userAnswer}} |
|
|
|
</span> |
|
|
|
</span> |
|
|
|
<span v-else> |
|
|
|
<span v-else> |
|
|
|
<span>{{index+1}}. </span>未填写 |
|
|
|
<span>{{index+1}}. </span>未填写 |
|
|
|
</span> |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="score" label="得分" align="center" width="100"></el-table-column> |
|
|
|
<el-table-column prop="score" label="得分" align="center" width="100"></el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="m-b-20"> |
|
|
|
<div class="m-b-20"> |
|
|
|
<div class="meta-title-wrap"> |
|
|
|
<div class="meta-title-wrap"> |
|
|
|
<p class="meta-title">实验总结与体会</p> |
|
|
|
<p class="meta-title">实验总结与体会</p> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<el-input type="textarea" v-model="form.summarize" rows="5" :disabled="!editing"></el-input> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<el-input type="textarea" v-model="form.summarize" rows="5" :disabled="!editing"></el-input> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -172,7 +176,7 @@ export default { |
|
|
|
document.querySelector("body").setAttribute("style", "overflow: visible"); |
|
|
|
document.querySelector("body").setAttribute("style", "overflow: visible"); |
|
|
|
this.loading = true; |
|
|
|
this.loading = true; |
|
|
|
this.loadIns = Loading.service({ |
|
|
|
this.loadIns = Loading.service({ |
|
|
|
background: "rgba(255,255,255,.6)" |
|
|
|
background: "#fff" |
|
|
|
}); |
|
|
|
}); |
|
|
|
document.querySelector("#pdfDom").scrollTop = 0; |
|
|
|
document.querySelector("#pdfDom").scrollTop = 0; |
|
|
|
var title = this.title; |
|
|
|
var title = this.title; |
|
|
@ -231,15 +235,19 @@ export default { |
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
<style lang="scss" scoped> |
|
|
|
.box { |
|
|
|
.box { |
|
|
|
background-color: #fff; |
|
|
|
//background-color: #EAEAEA; |
|
|
|
|
|
|
|
background: #fff; |
|
|
|
font-size: 18px; |
|
|
|
font-size: 18px; |
|
|
|
|
|
|
|
overflow: hidden; |
|
|
|
|
|
|
|
//overflow: auto; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.exp-header { |
|
|
|
.exp-header { |
|
|
|
padding: 20px 100px; |
|
|
|
background: #fff; |
|
|
|
box-shadow: 0px 0px 25px 2px rgba(48, 115, 248, 0.14); |
|
|
|
box-shadow: 0px 2px 25px 2px rgba(48, 115, 248, 0.14); |
|
|
|
z-index: 999; |
|
|
|
z-index: 999; |
|
|
|
margin-top: 2px; |
|
|
|
padding: 20px 100px; |
|
|
|
|
|
|
|
margin: 2px auto; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/deep/ .el-textarea.is-disabled .el-textarea__inner { |
|
|
|
/deep/ .el-textarea.is-disabled .el-textarea__inner { |
|
|
@ -248,11 +256,11 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#pdfDom { |
|
|
|
#pdfDom { |
|
|
|
height: calc(100vh - 170px); |
|
|
|
width: 100%; |
|
|
|
overflow: auto; |
|
|
|
height: calc(100vh - 100px); |
|
|
|
padding: 30px 100px; |
|
|
|
background: #fff; |
|
|
|
box-sizing: border-box; |
|
|
|
box-sizing: border-box; |
|
|
|
|
|
|
|
//box-shadow: 0px 2px 25px 2px #D1D1D1; |
|
|
|
&.loading { |
|
|
|
&.loading { |
|
|
|
height: auto; |
|
|
|
height: auto; |
|
|
|
overflow: visible; |
|
|
|
overflow: visible; |
|
|
@ -266,6 +274,7 @@ export default { |
|
|
|
background-color: #fff !important; |
|
|
|
background-color: #fff !important; |
|
|
|
|
|
|
|
|
|
|
|
.cell { |
|
|
|
.cell { |
|
|
|
|
|
|
|
line-height: 35px; |
|
|
|
color: #444; |
|
|
|
color: #444; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -301,6 +310,7 @@ export default { |
|
|
|
background-color: #e1eaff !important; |
|
|
|
background-color: #e1eaff !important; |
|
|
|
|
|
|
|
|
|
|
|
.cell { |
|
|
|
.cell { |
|
|
|
|
|
|
|
line-height: 35px; |
|
|
|
color: #555555; |
|
|
|
color: #555555; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -315,6 +325,7 @@ export default { |
|
|
|
|
|
|
|
|
|
|
|
/deep/ .cell { |
|
|
|
/deep/ .cell { |
|
|
|
font-size: 16px; |
|
|
|
font-size: 16px; |
|
|
|
|
|
|
|
line-height: 35px; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// /deep/.el-row{ |
|
|
|
// /deep/.el-row{ |
|
|
|