Commit 24f4b2483df746ac21777fd7b50224d0355e65ab

Authored by 梁保满
1 parent 78ea6110

单卷试题分析打印样式

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%;
... ...