|
|
|
@ -1,32 +1,20 @@ |
|
|
|
|
<template> |
|
|
|
|
<div> |
|
|
|
|
<el-card shadow="hover" |
|
|
|
|
class="m-b-20 head-card"> |
|
|
|
|
<el-card shadow="hover" class="m-b-20 head-card"> |
|
|
|
|
<div class="flex-between m-b-20"> |
|
|
|
|
<el-page-header @back="back" |
|
|
|
|
:content="goodsName"></el-page-header> |
|
|
|
|
<el-page-header @back="back" :content="goodsName"></el-page-header> |
|
|
|
|
</div> |
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
<div v-loading="loading"> |
|
|
|
|
<el-card shadow="hover" |
|
|
|
|
class="m-b-20"> |
|
|
|
|
<el-tabs v-model="classId" |
|
|
|
|
@tab-click="classChange"> |
|
|
|
|
<el-tab-pane v-for="(item, i) in classList" |
|
|
|
|
:key="i" |
|
|
|
|
:name="item.id" |
|
|
|
|
:label="item.className"></el-tab-pane> |
|
|
|
|
<el-card shadow="hover" class="m-b-20"> |
|
|
|
|
<el-tabs v-model="classId" @tab-click="classChange"> |
|
|
|
|
<el-tab-pane v-for="(item, i) in classList" :key="i" :name="item.id" :label="item.className"></el-tab-pane> |
|
|
|
|
</el-tabs> |
|
|
|
|
|
|
|
|
|
<el-card shadow="hover" |
|
|
|
|
class="m-b-20"> |
|
|
|
|
<el-tabs v-model="curTab" |
|
|
|
|
@tab-click="tabChange"> |
|
|
|
|
<el-tab-pane v-for="(item) in tabs" |
|
|
|
|
:label="item.name" |
|
|
|
|
:name="item.id" |
|
|
|
|
:key="item.id"></el-tab-pane> |
|
|
|
|
<el-card shadow="hover" class="m-b-20"> |
|
|
|
|
<el-tabs v-model="curTab" @tab-click="tabChange"> |
|
|
|
|
<el-tab-pane v-for="(item) in tabs" :label="item.name" :name="item.id" :key="item.id"></el-tab-pane> |
|
|
|
|
</el-tabs> |
|
|
|
|
<div class="stat"> |
|
|
|
|
<div class="nums"> |
|
|
|
@ -47,224 +35,138 @@ |
|
|
|
|
<p class="val">{{ minScore || 0 }}</p> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="chart" |
|
|
|
|
id="chart"></div> |
|
|
|
|
<div class="chart" id="chart"></div> |
|
|
|
|
</div> |
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
<el-card shadow="hover" |
|
|
|
|
class="m-b-20"> |
|
|
|
|
<el-card shadow="hover" class="m-b-20"> |
|
|
|
|
<h6 style="font-size: 16px">错误率分析</h6> |
|
|
|
|
<div class="wrong"> |
|
|
|
|
<div class="line"> |
|
|
|
|
<span class="jud-name">错误率最高:{{ max.projectName }}</span> |
|
|
|
|
<span>参加考试{{ permissions ? (max.numberOfParticipants || 0) : (max.quantityAfterWeightRemoval || 0) }}人 | {{ curTab == 1 ? `共${max.itemErrorCount || 0}人做错,` : '' }}错误率{{ max.errorRate || 0 }}%</span> |
|
|
|
|
<span>参加考试{{ permissions ? (max.numberOfParticipants || 0) : (max.quantityAfterWeightRemoval || 0) |
|
|
|
|
}}人 | {{ curTab == 1 ? `共${max.itemErrorCount || 0}人做错,` : '' }}错误率{{ max.errorRate || 0 |
|
|
|
|
}}%</span> |
|
|
|
|
</div> |
|
|
|
|
<div class="line"> |
|
|
|
|
<span class="jud-name">错误率最低:{{ min.projectName }}</span> |
|
|
|
|
<span>参加考试{{ permissions ? (min.numberOfParticipants || 0) : (min.quantityAfterWeightRemoval || 0) }}人 | {{ curTab == 1 ? `共${min.itemErrorCount || 0}人做错,` : '' }}错误率{{ min.errorRate || 0 }}%</span> |
|
|
|
|
<span>参加考试{{ permissions ? (min.numberOfParticipants || 0) : (min.quantityAfterWeightRemoval || 0) |
|
|
|
|
}}人 | {{ curTab == 1 ? `共${min.itemErrorCount || 0}人做错,` : '' }}错误率{{ min.errorRate || 0 |
|
|
|
|
}}%</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="chart" |
|
|
|
|
id="chart1"></div> |
|
|
|
|
<div class="chart" id="chart1"></div> |
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
<el-card shadow="hover"> |
|
|
|
|
<div class="flex-between m-b-20"> |
|
|
|
|
<div> |
|
|
|
|
<el-input placeholder="请输入姓名/学号" |
|
|
|
|
prefix-icon="el-icon-search" |
|
|
|
|
v-model="keyword" |
|
|
|
|
clearable></el-input> |
|
|
|
|
<el-input placeholder="请输入姓名/学号" prefix-icon="el-icon-search" v-model="keyword" clearable></el-input> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<el-button type="primary" |
|
|
|
|
@click="exportData">导出成绩列表</el-button> |
|
|
|
|
<el-button type="primary" @click="exportData">导出成绩列表</el-button> |
|
|
|
|
<!-- <el-button type="primary" |
|
|
|
|
@click="exportReport">导出成绩详情</el-button> --> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<el-table :data="listData" |
|
|
|
|
class="table" |
|
|
|
|
ref="table" |
|
|
|
|
:key="curTab" |
|
|
|
|
stripe |
|
|
|
|
header-align="center" |
|
|
|
|
@selection-change="handleSelectionChange" |
|
|
|
|
row-key="reportId"> |
|
|
|
|
<el-table-column type="selection" |
|
|
|
|
width="55" |
|
|
|
|
align="center" |
|
|
|
|
:reserve-selection="true"></el-table-column> |
|
|
|
|
<el-table-column type="index" |
|
|
|
|
width="60" |
|
|
|
|
label="序号" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table :data="listData" class="table" ref="table" :key="curTab" stripe header-align="center" |
|
|
|
|
@selection-change="handleSelectionChange" row-key="reportId"> |
|
|
|
|
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"></el-table-column> |
|
|
|
|
<el-table-column type="index" width="60" label="序号" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.$index + (page - 1) * pageSize + 1 }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<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="userName" label="姓名" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="workNumber" label="学号" align="center"></el-table-column> |
|
|
|
|
<template v-if="curTab == 0"> |
|
|
|
|
<el-table-column label="练习项目数" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column label="练习项目数" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.row.totalNumberOfPractices }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="numberOfExercises" |
|
|
|
|
label="练习次数" |
|
|
|
|
width="90" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column label="累计练习时长" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="numberOfExercises" label="练习次数" width="90" align="center"></el-table-column> |
|
|
|
|
<el-table-column label="累计练习时长" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.row.cumulativePracticeTime }}min |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</template> |
|
|
|
|
<template v-else> |
|
|
|
|
<el-table-column prop="totalNumberOfParticipants" |
|
|
|
|
label="参加考核次数" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="totalNumberOfParticipants" label="参加考核次数" align="center"> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="averageTimeSpent" |
|
|
|
|
label="平均用时" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="averageTimeSpent" label="平均用时" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.row.averageTimeSpent }}min |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</template> |
|
|
|
|
<el-table-column prop="avgScore" |
|
|
|
|
label="平均分" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="avgScore" label="平均分" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ curTab == 0 ? scope.row.avgScore : scope.row.averageScore }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="maxScore" |
|
|
|
|
label="最高分" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="minScore" |
|
|
|
|
label="最低分" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column label="操作" |
|
|
|
|
align="center" |
|
|
|
|
width="140"> |
|
|
|
|
<el-table-column prop="maxScore" label="最高分" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="minScore" label="最低分" align="center"></el-table-column> |
|
|
|
|
<el-table-column label="操作" align="center" width="140"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-button type="text" |
|
|
|
|
@click="show(scope.row)">查看成绩详情</el-button> |
|
|
|
|
<el-button type="text" @click="show(scope.row)">查看成绩详情</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
<div class="pagination"> |
|
|
|
|
<el-pagination background |
|
|
|
|
layout="total, prev, pager, next" |
|
|
|
|
:total="total" |
|
|
|
|
@current-change="handleCurrentChange" |
|
|
|
|
:current-page="page"> |
|
|
|
|
<el-pagination background layout="total, prev, pager, next" :total="total" |
|
|
|
|
@current-change="handleCurrentChange" :current-page="page"> |
|
|
|
|
</el-pagination> |
|
|
|
|
</div> |
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
<el-dialog title="成绩详情" |
|
|
|
|
:visible.sync="detailVisible" |
|
|
|
|
width="900px" |
|
|
|
|
:key="curTab" |
|
|
|
|
:close-on-click-modal="false"> |
|
|
|
|
<el-dialog title="成绩详情" :visible.sync="detailVisible" width="900px" :key="curTab" :close-on-click-modal="false"> |
|
|
|
|
<div class="m-b-10 text-right"> |
|
|
|
|
<el-button type="primary" |
|
|
|
|
@click="exportDetail">导出</el-button> |
|
|
|
|
<el-button type="primary" @click="exportDetail">导出</el-button> |
|
|
|
|
</div> |
|
|
|
|
<el-table :data="details" |
|
|
|
|
stripe |
|
|
|
|
:key="curTab" |
|
|
|
|
header-align="center" |
|
|
|
|
row-key="id"> |
|
|
|
|
<el-table-column type="index" |
|
|
|
|
width="60" |
|
|
|
|
label="序号" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table :data="details" stripe :key="curTab" header-align="center" row-key="id"> |
|
|
|
|
<el-table-column type="index" width="60" label="序号" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.$index + (pageDetail - 1) * pageSizeDetail + 1 }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="userName" |
|
|
|
|
label="姓名" |
|
|
|
|
width="100" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="userName" label="姓名" width="100" align="center"> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="workNumber" |
|
|
|
|
label="学号" |
|
|
|
|
width="100" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="workNumber" label="学号" width="100" align="center"></el-table-column> |
|
|
|
|
<template v-if="curTab == 0"> |
|
|
|
|
<el-table-column prop="projectName" |
|
|
|
|
label="项目名称" |
|
|
|
|
min-width="200" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="averageDuration" |
|
|
|
|
label="平均练习时长" |
|
|
|
|
width="110" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="projectName" label="项目名称" min-width="200" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="averageDuration" label="平均练习时长" width="110" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.row.averageDuration }}min |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="averageScore" |
|
|
|
|
label="平均分" |
|
|
|
|
min-width="100" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="averageScore" label="平均分" min-width="100" align="center"></el-table-column> |
|
|
|
|
</template> |
|
|
|
|
<template v-else> |
|
|
|
|
<el-table-column prop="experimentalName" |
|
|
|
|
label="考核名称" |
|
|
|
|
min-width="200" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="averageDuration" |
|
|
|
|
label="用时" |
|
|
|
|
width="100" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="experimentalName" label="考核名称" min-width="200" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="averageDuration" label="用时" width="100" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.row.timeSum }}min |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="score" |
|
|
|
|
label="分数" |
|
|
|
|
min-width="100" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="score" label="分数" min-width="100" align="center"></el-table-column> |
|
|
|
|
</template> |
|
|
|
|
<el-table-column label="成绩报告" |
|
|
|
|
align="center" |
|
|
|
|
width="90"> |
|
|
|
|
<el-table-column label="成绩报告" align="center" width="90"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-button type="text" |
|
|
|
|
@click="toReport(scope.row)">查看</el-button> |
|
|
|
|
<el-button type="text" @click="toReport(scope.row)">查看</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
<div class="pagination"> |
|
|
|
|
<el-pagination background |
|
|
|
|
layout="total, prev, pager, next" |
|
|
|
|
:total="totalDetail" |
|
|
|
|
:page-size="pageSizeDetail" |
|
|
|
|
@current-change="handleCurrentDetailChange" |
|
|
|
|
:current-page="pageDetail"> |
|
|
|
|
<el-pagination background layout="total, prev, pager, next" :total="totalDetail" :page-size="pageSizeDetail" |
|
|
|
|
@current-change="handleCurrentDetailChange" :current-page="pageDetail"> |
|
|
|
|
</el-pagination> |
|
|
|
|
</div> |
|
|
|
|
<span slot="footer" |
|
|
|
|
class="dialog-footer"> |
|
|
|
|
<el-button size="small" |
|
|
|
|
type="primary" |
|
|
|
|
@click="detailVisible = false">确定</el-button> |
|
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
|
<el-button size="small" type="primary" @click="detailVisible = false">确定</el-button> |
|
|
|
|
</span> |
|
|
|
|
</el-dialog> |
|
|
|
|
</div> |
|
|
|
@ -448,20 +350,23 @@ export default { |
|
|
|
|
// 没选择数据,则导出全部 |
|
|
|
|
const list = this.multipleSelection.length ? this.multipleSelection : this.listDataAll |
|
|
|
|
list.forEach(async e => { |
|
|
|
|
const { report, userScores } = await this.$get(`${this.api.reportDetail}?reportId=${e.reportId}`) |
|
|
|
|
userScores.map((e, i) => { |
|
|
|
|
if (e.answer && typeof e.answer === 'string') e.answer = e.answer.replace(/<[^>]+>/g, '').replace(/( |&|%s)/g, '').replace(/>/g, '>').replace(/</g, '<') |
|
|
|
|
}) |
|
|
|
|
for (const i in report) { |
|
|
|
|
if (report[i] && typeof report[i] === 'string') report[i] = report[i].replace(/<[^>]+>/g, '') |
|
|
|
|
if (e.reportId) { |
|
|
|
|
try { |
|
|
|
|
const { report, userScores } = await this.$get(`${this.api.reportDetail}?reportId=${e.reportId}`) |
|
|
|
|
userScores.map((e, i) => { |
|
|
|
|
if (e.answer && typeof e.answer === 'string') e.answer = e.answer.replace(/<[^>]+>/g, '').replace(/( |&|%s)/g, '').replace(/>/g, '>').replace(/</g, '<') |
|
|
|
|
}) |
|
|
|
|
for (const i in report) { |
|
|
|
|
if (report[i] && typeof report[i] === 'string') report[i] = report[i].replace(/<[^>]+>/g, '') |
|
|
|
|
} |
|
|
|
|
report.purpose = report.purpose.replace(/<[^>]+>/g, '') |
|
|
|
|
const res = await this.$post(this.api[userScores.find(e => e.lcRuleRecords) ? 'exportBankExperimentReport' : 'exportLabReport'], { |
|
|
|
|
...report, |
|
|
|
|
experimentalData: userScores |
|
|
|
|
}) |
|
|
|
|
util.downloadFileDirect(`${e.userName}的实验报告.docx`, new Blob([res])) |
|
|
|
|
} catch (e) { } |
|
|
|
|
} |
|
|
|
|
report.purpose = report.purpose.replace(/<[^>]+>/g, '') |
|
|
|
|
this.$post(this.api[userScores.find(e => e.lcRuleRecords) ? 'exportBankExperimentReport' : 'exportLabReport'], { |
|
|
|
|
...report, |
|
|
|
|
experimentalData: userScores |
|
|
|
|
}).then(res => { |
|
|
|
|
util.downloadFileDirect(`${e.userName}的实验报告.docx`, new Blob([res])) |
|
|
|
|
}).catch(res => { }) |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
handleDelete (row) { // 删除 |
|
|
|
@ -714,75 +619,85 @@ export default { |
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|
/deep/ .head-card { |
|
|
|
|
.el-card__body { |
|
|
|
|
padding-bottom: 0px; |
|
|
|
|
.el-card__body { |
|
|
|
|
padding-bottom: 0px; |
|
|
|
|
|
|
|
|
|
.el-tabs__header { |
|
|
|
|
margin-bottom: 1px; |
|
|
|
|
.el-tabs__header { |
|
|
|
|
margin-bottom: 1px; |
|
|
|
|
|
|
|
|
|
.el-tabs__nav-wrap::after { |
|
|
|
|
display: none; |
|
|
|
|
} |
|
|
|
|
.el-tabs__nav-wrap::after { |
|
|
|
|
display: none; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.el-tabs__item { |
|
|
|
|
font-size: 18px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.el-tabs__item { |
|
|
|
|
font-size: 18px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.chart { |
|
|
|
|
height: 300px; |
|
|
|
|
height: 300px; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.stat { |
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
|
|
.nums { |
|
|
|
|
display: flex; |
|
|
|
|
.nums { |
|
|
|
|
display: flex; |
|
|
|
|
align-items: center; |
|
|
|
|
flex-wrap: wrap; |
|
|
|
|
width: 640px; |
|
|
|
|
margin-right: 20px; |
|
|
|
|
align-items: center; |
|
|
|
|
flex-wrap: wrap; |
|
|
|
|
width: 640px; |
|
|
|
|
margin-right: 20px; |
|
|
|
|
|
|
|
|
|
.item { |
|
|
|
|
width: 300px; |
|
|
|
|
padding: 30px 30px; |
|
|
|
|
margin: 0 10px; |
|
|
|
|
box-sizing: border-box; |
|
|
|
|
border-radius: 8px; |
|
|
|
|
background: url('../../../assets/img/total.png') 0 0/100% 100% no-repeat; |
|
|
|
|
p { |
|
|
|
|
font-size: 18px; |
|
|
|
|
color: #ffffff; |
|
|
|
|
} |
|
|
|
|
.val { |
|
|
|
|
margin-top: 10px; |
|
|
|
|
color: #ffffff; |
|
|
|
|
font-size: 36px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.item:nth-child(2) { |
|
|
|
|
background-image: url('../../../assets/img/avg.png'); |
|
|
|
|
} |
|
|
|
|
.item:nth-child(3) { |
|
|
|
|
background-image: url('../../../assets/img/ach1.png'); |
|
|
|
|
} |
|
|
|
|
.item:nth-child(4) { |
|
|
|
|
background-image: url('../../../assets/img/ach2.png'); |
|
|
|
|
} |
|
|
|
|
.item { |
|
|
|
|
width: 300px; |
|
|
|
|
padding: 30px 30px; |
|
|
|
|
margin: 0 10px; |
|
|
|
|
box-sizing: border-box; |
|
|
|
|
border-radius: 8px; |
|
|
|
|
background: url('../../../assets/img/total.png') 0 0/100% 100% no-repeat; |
|
|
|
|
|
|
|
|
|
p { |
|
|
|
|
font-size: 18px; |
|
|
|
|
color: #ffffff; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.val { |
|
|
|
|
margin-top: 10px; |
|
|
|
|
color: #ffffff; |
|
|
|
|
font-size: 36px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.item:nth-child(2) { |
|
|
|
|
background-image: url('../../../assets/img/avg.png'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.item:nth-child(3) { |
|
|
|
|
background-image: url('../../../assets/img/ach1.png'); |
|
|
|
|
} |
|
|
|
|
.chart { |
|
|
|
|
width: calc(100% - 660px); |
|
|
|
|
|
|
|
|
|
.item:nth-child(4) { |
|
|
|
|
background-image: url('../../../assets/img/ach2.png'); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.chart { |
|
|
|
|
width: calc(100% - 660px); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.wrong { |
|
|
|
|
.line { |
|
|
|
|
display: flex; |
|
|
|
|
width: 920px; |
|
|
|
|
margin: 0 auto 10px; |
|
|
|
|
.jud-name { |
|
|
|
|
width: 500px; |
|
|
|
|
margin-right: 100px; |
|
|
|
|
} |
|
|
|
|
.line { |
|
|
|
|
display: flex; |
|
|
|
|
width: 920px; |
|
|
|
|
margin: 0 auto 10px; |
|
|
|
|
|
|
|
|
|
.jud-name { |
|
|
|
|
width: 500px; |
|
|
|
|
margin-right: 100px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</style> |