Commit 24f4b2483df746ac21777fd7b50224d0355e65ab
1 parent
78ea6110
单卷试题分析打印样式
Showing
2 changed files
with
118 additions
and
49 deletions
src/utils/index.js
| ... | ... | @@ -746,7 +746,7 @@ export function formatGradeNameClass(data) { |
| 746 | 746 | return gradeNameArr; |
| 747 | 747 | } |
| 748 | 748 | |
| 749 | -export function tablePrint(id, title) { | |
| 749 | +export function tablePrint(id, title, type = null) { | |
| 750 | 750 | let divs = document.getElementById(id); |
| 751 | 751 | let awin = window.open("", "_blank"); |
| 752 | 752 | awin.document.getElementsByTagName( |
| ... | ... | @@ -773,8 +773,7 @@ export function tablePrint(id, title) { |
| 773 | 773 | .el-table__cell.gutter{display:none} |
| 774 | 774 | ul,li{margin:0;padding:0;list-style:none} |
| 775 | 775 | .hui-box{display: flex;text-align: center;} |
| 776 | - .hui-box .s-txt{width: 60px;line-height: 144px;background: #ccc;font-size: 16px;color: #fff;font-weight: 700;border:1px solid #ccc;box-sizing:border-box} | |
| 777 | - .hui-ul{border-top: 1px solid #ccc;} | |
| 776 | + .hui-box .s-txt{width: 61px;line-height: 144px;background: #ccc;font-size: 16px;color: #fff;font-weight: 700;border:1px solid #ccc;box-sizing:border-box} | |
| 778 | 777 | .hui-li{display: flex;} |
| 779 | 778 | .hui-s{height: 48px;line-height: 48px;border-right: 1px solid #ccc;border-bottom: 1px solid #ccc;box-sizing: border-box;} |
| 780 | 779 | .hui-s.s1{width: 100px;} |
| ... | ... | @@ -783,12 +782,17 @@ export function tablePrint(id, title) { |
| 783 | 782 | .info { display: flex;flex-wrap: wrap;border-left: 1px solid #ccc;border-top: 1px solid #ccc;margin-bottom: 12px;} |
| 784 | 783 | .info-item {width: 25%;height: 50px;box-sizing: border-box;flex-shrink: 0;background: #f8f8f8;border-right: 1px solid #ccc;border-bottom: 1px solid #ccc;line-height: 50px;text-align: center;} |
| 785 | 784 | .el-table__header,.el-table__body{width:100%!important;} |
| 785 | + #print-table{max-width:1400px;margin: 0 auto;width: 100%;} | |
| 786 | + .hide{max-width:1400px;margin: 0 auto;width: 100%;border-left: 1px solid #ccc;border-spacing:0;box-sizing:border-box} | |
| 787 | + .hide thead th{background:#ccc;line-height: 48px;border-right: 1px solid #ccc;box-sizing:border-box} | |
| 788 | + .hide tbody tr td{line-height: 48px;border-right: 1px solid #ccc;text-align:center;box-sizing:border-box} | |
| 789 | + .hide td{border-bottom: 1px solid #ccc;} | |
| 786 | 790 | </style>`; |
| 787 | 791 | let aDom = divs.cloneNode(true); |
| 788 | - let aTbody = aDom | |
| 789 | - .getElementsByClassName("el-table__body")[0] | |
| 790 | - .getElementsByTagName("tbody")[0]; | |
| 791 | - aDom.getElementsByClassName("el-table__header")[0].append(aTbody); | |
| 792 | + if (!type) { | |
| 793 | + let aTbody = aDom.getElementsByClassName("el-table__body")[0]?.getElementsByTagName("tbody")[0]; | |
| 794 | + aDom.getElementsByClassName("el-table__header")[0].append(aTbody); | |
| 795 | + } | |
| 792 | 796 | if (title) { |
| 793 | 797 | let pTit = awin.document.createElement('p') |
| 794 | 798 | pTit.className = "tit" | ... | ... |
src/views/standard/test/analysis.vue
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | <span>单卷分析</span> |
| 6 | 6 | </template> |
| 7 | 7 | </back-box> |
| 8 | - <div class="tips" v-if="paperModifyLog.modifiedTime && !status "> | |
| 8 | + <div class="tips" v-if="paperModifyLog.modifiedTime && !status"> | |
| 9 | 9 | <p class="tips-p"> |
| 10 | 10 | <i class="fa fa-bell-o"></i> |
| 11 | 11 | {{ |
| ... | ... | @@ -131,46 +131,104 @@ |
| 131 | 131 | > |
| 132 | 132 | </el-table-column> |
| 133 | 133 | </el-table> |
| 134 | - <div class="hui-box" v-show="type == 0"> | |
| 135 | - <span class="s-txt">汇总</span> | |
| 136 | - <ul class="hui-ul"> | |
| 137 | - <li class="hui-li"> | |
| 138 | - <span class="hui-s s1">主观题</span> | |
| 139 | - <span class="hui-s s1">{{ examReport.subjectiveScore }}</span> | |
| 140 | - <span class="hui-s s2">{{ | |
| 141 | - examReport.subjectiveHighestScore | |
| 142 | - }}</span> | |
| 143 | - <span class="hui-s s2">{{ | |
| 144 | - examReport.subjectiveLowestScore | |
| 145 | - }}</span> | |
| 146 | - <span class="hui-s s2">{{ examReport.subjectiveAvgScore }}</span> | |
| 147 | - <span class="hui-s s3" | |
| 148 | - >{{ examReport.subjectiveClassScoringRate }}%</span | |
| 149 | - > | |
| 150 | - </li> | |
| 151 | - <li class="hui-li"> | |
| 152 | - <span class="hui-s s1">客观题</span> | |
| 153 | - <span class="hui-s s1">{{ examReport.objectiveScore }}</span> | |
| 154 | - <span class="hui-s s2">{{ | |
| 155 | - examReport.objectiveHighestScore | |
| 156 | - }}</span> | |
| 157 | - <span class="hui-s s2">{{ | |
| 158 | - examReport.objectiveLowestScore | |
| 159 | - }}</span> | |
| 160 | - <span class="hui-s s2">{{ examReport.objectiveAvgScore }}</span> | |
| 161 | - <span class="hui-s s3" | |
| 162 | - >{{ examReport.objectiveClassScoringRate }}%</span | |
| 163 | - > | |
| 164 | - </li> | |
| 165 | - <li class="hui-li"> | |
| 166 | - <span class="hui-s s1">整卷</span> | |
| 167 | - <span class="hui-s s1">{{ examReport.examPaperScore }}</span> | |
| 168 | - <span class="hui-s s2">{{ examReport.highestScore }}</span> | |
| 169 | - <span class="hui-s s2">{{ examReport.lowestScore }}</span> | |
| 170 | - <span class="hui-s s2">{{ examReport.avgScore }}</span> | |
| 171 | - <span class="hui-s s3">{{ examReport.classScoringRate }}%</span> | |
| 172 | - </li> | |
| 173 | - </ul> | |
| 134 | + <div id="print-table"> | |
| 135 | + <table class="hide"> | |
| 136 | + <thead> | |
| 137 | + <tr> | |
| 138 | + <th>题号</th> | |
| 139 | + <th>题型</th> | |
| 140 | + <th>满分值</th> | |
| 141 | + <th>班最高分</th> | |
| 142 | + <th>班最低分</th> | |
| 143 | + <th>班平均分</th> | |
| 144 | + <th>班级得分率</th> | |
| 145 | + <th>答案</th> | |
| 146 | + <th>选项1</th> | |
| 147 | + <th>选项2</th> | |
| 148 | + <th>选项3</th> | |
| 149 | + <th>选项4</th> | |
| 150 | + <th>未答</th> | |
| 151 | + </tr> | |
| 152 | + </thead> | |
| 153 | + <tbody> | |
| 154 | + <tr v-for="(tr, index) in tableData"> | |
| 155 | + <td width="60">{{ index + 1 }}</td> | |
| 156 | + <td width="100">{{ setSubPro(tr.questionType) }}</td> | |
| 157 | + <td width="100">{{ tr.sortable }}</td> | |
| 158 | + <td width="110">{{ tr.highestScore }}</td> | |
| 159 | + <td width="110">{{ tr.lowestScore }}</td> | |
| 160 | + <td width="110">{{ tr.avgScore }}</td> | |
| 161 | + <td width="120">{{ tr.classScoringRate }}%</td> | |
| 162 | + <td> | |
| 163 | + {{ | |
| 164 | + tr.correctAnswer == 1 | |
| 165 | + ? "✓" | |
| 166 | + : tr.correctAnswer == 2 | |
| 167 | + ? "✗" | |
| 168 | + : tr.correctAnswer | |
| 169 | + }} | |
| 170 | + </td> | |
| 171 | + <td | |
| 172 | + v-for="(item, index) in optionsList" | |
| 173 | + :key="index" | |
| 174 | + width="120" | |
| 175 | + > | |
| 176 | + <p class="persent"> | |
| 177 | + {{ | |
| 178 | + tr.questionType == "5" | |
| 179 | + ? "" | |
| 180 | + : tr["option" + index] | |
| 181 | + ? `${tr["option" + index]}(${tr["persent" + index]})` | |
| 182 | + : "" | |
| 183 | + }} | |
| 184 | + </p> | |
| 185 | + </td> | |
| 186 | + </tr> | |
| 187 | + </tbody> | |
| 188 | + </table> | |
| 189 | + <div class="hui-box" v-show="type == 0"> | |
| 190 | + <span class="s-txt">汇总</span> | |
| 191 | + <ul class="hui-ul"> | |
| 192 | + <li class="hui-li"> | |
| 193 | + <span class="hui-s s1">主观题</span> | |
| 194 | + <span class="hui-s s1">{{ examReport.subjectiveScore }}</span> | |
| 195 | + <span class="hui-s s2">{{ | |
| 196 | + examReport.subjectiveHighestScore | |
| 197 | + }}</span> | |
| 198 | + <span class="hui-s s2">{{ | |
| 199 | + examReport.subjectiveLowestScore | |
| 200 | + }}</span> | |
| 201 | + <span class="hui-s s2">{{ | |
| 202 | + examReport.subjectiveAvgScore | |
| 203 | + }}</span> | |
| 204 | + <span class="hui-s s3" | |
| 205 | + >{{ examReport.subjectiveClassScoringRate }}%</span | |
| 206 | + > | |
| 207 | + </li> | |
| 208 | + <li class="hui-li"> | |
| 209 | + <span class="hui-s s1">客观题</span> | |
| 210 | + <span class="hui-s s1">{{ examReport.objectiveScore }}</span> | |
| 211 | + <span class="hui-s s2">{{ | |
| 212 | + examReport.objectiveHighestScore | |
| 213 | + }}</span> | |
| 214 | + <span class="hui-s s2">{{ | |
| 215 | + examReport.objectiveLowestScore | |
| 216 | + }}</span> | |
| 217 | + <span class="hui-s s2">{{ examReport.objectiveAvgScore }}</span> | |
| 218 | + <span class="hui-s s3" | |
| 219 | + >{{ examReport.objectiveClassScoringRate }}%</span | |
| 220 | + > | |
| 221 | + </li> | |
| 222 | + <li class="hui-li"> | |
| 223 | + <span class="hui-s s1">整卷</span> | |
| 224 | + <span class="hui-s s1">{{ examReport.examPaperScore }}</span> | |
| 225 | + <span class="hui-s s2">{{ examReport.highestScore }}</span> | |
| 226 | + <span class="hui-s s2">{{ examReport.lowestScore }}</span> | |
| 227 | + <span class="hui-s s2">{{ examReport.avgScore }}</span> | |
| 228 | + <span class="hui-s s3">{{ examReport.classScoringRate }}%</span> | |
| 229 | + </li> | |
| 230 | + </ul> | |
| 231 | + </div> | |
| 174 | 232 | </div> |
| 175 | 233 | <el-table |
| 176 | 234 | v-show="type == 1" |
| ... | ... | @@ -462,7 +520,11 @@ export default { |
| 462 | 520 | }, |
| 463 | 521 | methods: { |
| 464 | 522 | print() { |
| 465 | - tablePrint("print-content", this.title + this.tabList[this.type]); | |
| 523 | + if (this.type == 0) { | |
| 524 | + tablePrint("print-table", this.title + this.tabList[this.type], true); | |
| 525 | + } else { | |
| 526 | + tablePrint("print-content", this.title + this.tabList[this.type]); | |
| 527 | + } | |
| 466 | 528 | }, |
| 467 | 529 | upSuccess(res) { |
| 468 | 530 | //导入成功 |
| ... | ... | @@ -695,6 +757,9 @@ div::-webkit-scrollbar-thumb { |
| 695 | 757 | } |
| 696 | 758 | </style> |
| 697 | 759 | <style lang="scss" scoped> |
| 760 | +.hide { | |
| 761 | + display: none; | |
| 762 | +} | |
| 698 | 763 | .page-container { |
| 699 | 764 | position: relative; |
| 700 | 765 | height: 100%; | ... | ... |