Merge remote-tracking branch 'origin/master' into master

UI_2022-02-10
yujialong 3 years ago
commit 891e148a4e
  1. BIN
      src/assets/img/info-banner.png
  2. 20
      src/libs/util.js
  3. 9
      src/pages/course/details/index.vue
  4. 2
      src/pages/info/details/index.vue
  5. 2
      src/pages/info/list/index.vue
  6. 2
      src/pages/match/details/index.vue
  7. 30
      src/pages/record/details/index.vue
  8. 30
      src/pages/record/show/index.vue
  9. 1
      src/pages/setting/person/index.vue
  10. 6
      src/pages/station/preview/index.vue

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 KiB

After

Width:  |  Height:  |  Size: 325 KiB

@ -111,17 +111,17 @@ const util = {
}, },
// 传入文件名和数据,下载文件 // 传入文件名和数据,下载文件
downloadFileDirect(fileName,data) { downloadFileDirect(fileName,data) {
if ("download" in document.createElement("a")) { // 非IE下载 if ('download' in document.createElement('a')) { // 非IE下载
const elink = document.createElement("a"); const elink = document.createElement('a')
elink.download = fileName; elink.download = fileName
elink.style.display = "none"; elink.style.display = 'none'
elink.href = URL.createObjectURL(data); elink.href = URL.createObjectURL(data)
document.body.appendChild(elink); document.body.appendChild(elink)
elink.click(); elink.click()
URL.revokeObjectURL(elink.href); // 释放URL 对象 URL.revokeObjectURL(elink.href) // 释放URL 对象
document.body.removeChild(elink); document.body.removeChild(elink)
} else { // IE10+下载 } else { // IE10+下载
navigator.msSaveBlob(data, fileName); navigator.msSaveBlob(data, fileName)
} }
}, },
// 成功提示 // 成功提示

@ -253,7 +253,11 @@ export default {
} }
}; };
</script> </script>
<style>
.desc img {
width: 100%;
}
</style>
<style lang="scss" scoped> <style lang="scss" scoped>
$height: 700px; $height: 700px;
.video_wid,.cover{ .video_wid,.cover{
@ -291,7 +295,9 @@ $height: 700px;
} }
.catalog{ .catalog{
margin-left: 40px; margin-left: 40px;
max-width: 500px;
} }
.list{ .list{
height: $height; height: $height;
overflow-y: auto; overflow-y: auto;
@ -303,6 +309,7 @@ $height: 700px;
font-size: 20px; font-size: 20px;
} }
.desc-wrap{ .desc-wrap{
max-width: 500px;
position: relative; position: relative;
.desc{ .desc{
font-size: 14px; font-size: 14px;

@ -79,7 +79,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.banner-con{ .banner-con{
width: 100vw; width: 100%;
height: 200px; height: 200px;
background-image: url('../../../assets/img/match-banner.jpg'); background-image: url('../../../assets/img/match-banner.jpg');
background-size: 100vw 200px; background-size: 100vw 200px;

@ -190,7 +190,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.banner-con{ .banner-con{
width: 100vw; width: 100%;
height: 200px; height: 200px;
background-image: url('../../../assets/img/match-banner.jpg'); background-image: url('../../../assets/img/match-banner.jpg');
background-size: 100vw 200px; background-size: 100vw 200px;

@ -112,7 +112,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.banner-con{ .banner-con{
width: 100vw; width: 100%;
height: 400px; height: 400px;
background-image: url('../../../assets/img/info-banner.png'); background-image: url('../../../assets/img/info-banner.png');
background-size: 100vw 400px; background-size: 100vw 400px;

@ -54,6 +54,10 @@
</template> </template>
<script> <script>
import { mapState, mapActions } from "vuex";
import axios from 'axios'
import Setting from "@/setting";
import util from "@/libs/util";
export default { export default {
data() { data() {
return { return {
@ -64,6 +68,7 @@ export default {
page: 1, page: 1,
pageSize: 10, pageSize: 10,
multipleSelection: [], multipleSelection: [],
token:util.local.get(Setting.tokenKey),
} }
}, },
mounted() { mounted() {
@ -88,11 +93,30 @@ export default {
}, },
exportData() { // exportData() { //
if (this.multipleSelection.length) { if (this.multipleSelection.length) {
let ids = this.multipleSelection.map(i => i.reportId); let ids = this.multipleSelection.map(item => {
location.href = `${this.api.exportPracticeByStudentDetail}?ids=${ids.toString()}`; return item.reportId;
});
axios.get(`${this.api.exportPracticeByStudentDetail}?projectId=${this.projectId}&ids=${ids.toString()}`,{
headers: {
token: this.token
},
responseType: 'blob'
}).then((res) => {
util.downloadFileDirect(`按数据库统计使用概况导出.xls`,new Blob([res.data]))
}).catch(res => {})
// location.href = this.$get(`${this.api.exportPracticeByStudentDetail}?projectId=${this.projectId}&token=${this.token}&ids=${ids.toString()}`);
} else { } else {
location.href = `${this.api.exportPracticeByStudentDetail}?ids=`; axios.get(`${this.api.exportPracticeByStudentDetail}?projectId=${this.projectId}&ids=`,{
headers: {
token: this.token
},
responseType: 'blob'
}).then((res) => {
util.downloadFileDirect(`按数据库统计使用概况导出.xls`,new Blob([res.data]))
}).catch(res => {})
// location.href = `${this.api.exportPracticeByStudentDetail}?projectId=${this.projectId}&token=${this.token}&ids=`;
} }
}, },
tableRowStyle({ row, column, rowIndex, columnIndex }) { tableRowStyle({ row, column, rowIndex, columnIndex }) {
if (rowIndex % 2 === 0) { if (rowIndex % 2 === 0) {

@ -16,12 +16,10 @@
{{ editing ? "保存" : "编辑" }} {{ editing ? "保存" : "编辑" }}
</el-button> </el-button>
</div> </div>
<div class="flex-center m-b-20 user_header"> <div class="flex-center m-b-20 user_header">
<p class="addhr_tag"></p> <p class="addhr_tag"></p>
<span style="font-size: 18px">基本信息</span> <span style="font-size: 18px">基本信息</span>
</div> </div>
<div> <div>
<el-table :data="infoData" class="info-table" stripe header-align="center"> <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="userName" label="学生姓名" align="center"></el-table-column>
@ -55,21 +53,18 @@
</el-table-column> </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"><img src="@/assets/img/cup.png" alt=""> 实验项目名称</p> <p class="meta-title"><img src="@/assets/img/cup.png" alt=""> 实验项目名称</p>
</div> </div>
<el-input v-model="form.projectName" type="textarea" :disabled="!editing" rows="5"></el-input> <el-input v-model="form.projectName" type="textarea" :disabled="!editing" rows="5"></el-input>
</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> </div>
<div class="pre-wrap" v-html="form.purpose"></div> <div class="pre-wrap" v-html="form.purpose"></div>
</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>
@ -81,34 +76,39 @@
</template> </template>
</el-table-column> </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="ruleAnswer" label="参考答案"> <el-table-column prop="judgmentName" label="考核点">
<!--
<template slot-scope="scope"> <template slot-scope="scope">
<pre v-html="scope.row.answer" style="white-space: pre-wrap"></pre> <div v-for="(item, index) in scope.row.lcRuleRecords">
<span>
<span>{{index+1}}. </span>{{item.name}}
</span>
</div>
</template> </template>
--> </el-table-column>
<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>{{index+1}}. </span>{{item.ruleAnswer}} <span>{{index+1}}. </span>{{item.ruleAnswer}}
</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">
<pre v-html="scope.row.userAnswer" style="white-space: pre-wrap"></pre>
</template>
-->
<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>{{index+1}}. </span>{{item.userAnswer}} <span>{{index+1}}. </span>{{item.userAnswer}}
</span>
<span v-else>
<span>{{index+1}}. </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>

@ -1400,7 +1400,6 @@ input:focus {
.fold { .fold {
margin-top: 20px; margin-top: 20px;
text-align: center; text-align: center;
i { i {
font-size: 22px; font-size: 22px;
color: #8e8e8e; color: #8e8e8e;

@ -13,8 +13,8 @@
<template v-else-if="iframeSrc"> <template v-else-if="iframeSrc">
<iframe class="inner fileIframe" id="fileIframe" :src="iframeSrc" frameborder="0"></iframe> <iframe class="inner fileIframe" id="fileIframe" :src="iframeSrc" frameborder="0"></iframe>
<template v-if="showMask"> <template v-if="showMask">
<div class="mask" style="height: 30px;top: 53px;right: 320px"></div> <div class="mask" style="width:100%;background: #393A3D;height: 30px;top: 53px;"></div>
<div class="mask" style="height: 30px;top: 53px;right: 5px"></div> <div class="mask" style="width:100%;background: #393A3D;height: 30px;top: 53px;"></div>
</template> </template>
<template v-if="showMask1"> <template v-if="showMask1">
<div class="word-mask" style="height: 40px;"></div> <div class="word-mask" style="height: 40px;"></div>
@ -33,6 +33,8 @@
<span @click="changePdfPage(1)" class="turn el-icon-arrow-right" <span @click="changePdfPage(1)" class="turn el-icon-arrow-right"
:class="{grey: currentPage==pageCount}"></span> :class="{grey: currentPage==pageCount}"></span>
</p> </p>
<div style='color:#393A3D;height: 30px;
background: #393A3D;'></div>
<pdf <pdf
class="pdf-wrap" class="pdf-wrap"
:src="pdfSrc" :src="pdfSrc"

Loading…
Cancel
Save