Commit d32e461c3187dc3bba534d08b140ffb5209ee829

Authored by 梁保满
1 parent 533a17d8

备题组卷

src/assets/css/index.scss
@@ -43,6 +43,7 @@ @@ -43,6 +43,7 @@
43 border: 1px solid #e2e2e2; 43 border: 1px solid #e2e2e2;
44 box-sizing: border-box; 44 box-sizing: border-box;
45 background: #fff; 45 background: #fff;
  46 +
46 .el-input__inner { 47 .el-input__inner {
47 border-radius: 20px; 48 border-radius: 20px;
48 border: none; 49 border: none;
@@ -76,6 +77,7 @@ @@ -76,6 +77,7 @@
76 } 77 }
77 } 78 }
78 } 79 }
  80 +
79 .answer-box { 81 .answer-box {
80 .answer-s { 82 .answer-s {
81 display: inline-block; 83 display: inline-block;
@@ -88,6 +90,7 @@ @@ -88,6 +90,7 @@
88 color: #333; 90 color: #333;
89 text-align: center; 91 text-align: center;
90 line-height: 30px; 92 line-height: 30px;
  93 +
91 &.active { 94 &.active {
92 background: #5e78fa; 95 background: #5e78fa;
93 border-color: #5e78fa; 96 border-color: #5e78fa;
@@ -95,6 +98,7 @@ @@ -95,6 +98,7 @@
95 } 98 }
96 } 99 }
97 } 100 }
  101 +
98 .el-menu-item i { 102 .el-menu-item i {
99 width: 12px; 103 width: 12px;
100 text-align: center; 104 text-align: center;
@@ -104,43 +108,57 @@ @@ -104,43 +108,57 @@
104 .el-table thead th.el-table__cell { 108 .el-table thead th.el-table__cell {
105 background: #f5f7fa; 109 background: #f5f7fa;
106 } 110 }
107 -.el-table .el-table__cell.bg{ 111 +
  112 +.el-table .el-table__cell.bg {
108 background: #f9f9f9; 113 background: #f9f9f9;
109 } 114 }
  115 +
  116 +.el-table th.el-table__cell.p0>.cell {
  117 + padding-left: 0;
  118 + padding-right: 0;
  119 +}
  120 +
110 .el-menu--popup { 121 .el-menu--popup {
111 min-width: 160px; 122 min-width: 160px;
112 } 123 }
  124 +
113 .ellipsis { 125 .ellipsis {
114 overflow: hidden; 126 overflow: hidden;
115 text-overflow: ellipsis; 127 text-overflow: ellipsis;
116 white-space: nowrap; 128 white-space: nowrap;
117 } 129 }
118 -.pagination-box{  
119 - text-align:center;  
120 - margin:10px; 130 +
  131 +.pagination-box {
  132 + text-align: center;
  133 + margin: 10px;
121 } 134 }
122 -.down-txt{ 135 +
  136 +.down-txt {
123 display: flex; 137 display: flex;
124 align-items: center; 138 align-items: center;
125 padding-left: 160px; 139 padding-left: 160px;
126 } 140 }
127 -.h-title{  
128 - padding-left:12px; 141 +
  142 +.h-title {
  143 + padding-left: 12px;
129 position: relative; 144 position: relative;
130 - font-size:16px;  
131 - &:after{  
132 - content:"";  
133 - position:absolute;  
134 - left:0;  
135 - top:50%;  
136 - margin-top:-8px;  
137 - width:3px;  
138 - height:16px; 145 + font-size: 16px;
  146 +
  147 + &:after {
  148 + content: "";
  149 + position: absolute;
  150 + left: 0;
  151 + top: 50%;
  152 + margin-top: -8px;
  153 + width: 3px;
  154 + height: 16px;
139 background: #2e9afe; 155 background: #2e9afe;
140 } 156 }
141 } 157 }
142 -div,ul{  
143 - &::-webkit-scrollbar{  
144 - width:0; 158 +
  159 +div,
  160 +ul {
  161 + &::-webkit-scrollbar {
  162 + width: 0;
145 } 163 }
146 } 164 }
147 \ No newline at end of file 165 \ No newline at end of file
src/utils/index.js
@@ -723,6 +723,7 @@ export function formatGradeNameClass(data) { @@ -723,6 +723,7 @@ export function formatGradeNameClass(data) {
723 { 723 {
724 value: item.classCode, 724 value: item.classCode,
725 label: item.className, 725 label: item.className,
  726 + leaf:true
726 }, 727 },
727 ], 728 ],
728 }); 729 });
@@ -736,6 +737,7 @@ export function formatGradeNameClass(data) { @@ -736,6 +737,7 @@ export function formatGradeNameClass(data) {
736 gradeNameArr[gradeIndex].children.push({ 737 gradeNameArr[gradeIndex].children.push({
737 value: item.classCode, 738 value: item.classCode,
738 label: item.className, 739 label: item.className,
  740 + leaf:true
739 }); 741 });
740 } 742 }
741 }); 743 });
src/views/ask/analysis.vue
@@ -152,7 +152,7 @@ @@ -152,7 +152,7 @@
152 prop="duration" 152 prop="duration"
153 label="答题耗时" 153 label="答题耗时"
154 align="center" 154 align="center"
155 - ></el-table-column> 155 + ><template slot-scope="scoped">{{setDuration(scoped.row.duration)}}</template></el-table-column>
156 <el-table-column 156 <el-table-column
157 prop="correctAnswerTimes" 157 prop="correctAnswerTimes"
158 label="答对次数" 158 label="答对次数"
@@ -332,6 +332,11 @@ export default { @@ -332,6 +332,11 @@ export default {
332 this.page = 1; 332 this.page = 1;
333 this._QueryData(); 333 this._QueryData();
334 }, 334 },
  335 + setDuration(times){
  336 + let m = parseInt(times/60)
  337 + let s = times%60
  338 + return `${m}分${s}秒`
  339 + },
335 setSubPro(type) { 340 setSubPro(type) {
336 let tit; 341 let tit;
337 switch (type) { 342 switch (type) {
src/views/ask/index.vue
@@ -93,7 +93,7 @@ @@ -93,7 +93,7 @@
93 @change="tabChange" 93 @change="tabChange"
94 style="margin-bottom: 20px" 94 style="margin-bottom: 20px"
95 > 95 >
96 - <el-radio-button :label="1" v-if="query.startDay != query.endDay" 96 + <el-radio-button :label="1"
97 >单课时报表</el-radio-button 97 >单课时报表</el-radio-button
98 > 98 >
99 <!-- <el-radio-button :label="2" v-if="this.role != 'ROLE_BANZHUREN'" 99 <!-- <el-radio-button :label="2" v-if="this.role != 'ROLE_BANZHUREN'"
@@ -544,6 +544,7 @@ export default { @@ -544,6 +544,7 @@ export default {
544 that.query.day = formatDate(new Date(), "yyyy-MM-dd"); 544 that.query.day = formatDate(new Date(), "yyyy-MM-dd");
545 that.query.startDay = that.query.day; 545 that.query.startDay = that.query.day;
546 that.query.endDay = that.query.day; 546 that.query.endDay = that.query.day;
  547 + that.tabIndex = 1
547 break; 548 break;
548 case 2: 549 case 2:
549 let day = new Date().getDay(); 550 let day = new Date().getDay();
src/views/dataSync/index.vue
@@ -32,7 +32,7 @@ @@ -32,7 +32,7 @@
32 <div class="down-item"> 32 <div class="down-item">
33 <p class="h-title">数据导出至U盘</p> 33 <p class="h-title">数据导出至U盘</p>
34 <p class="txt"> 34 <p class="txt">
35 - 本功能将云平台的数据导出到U盘。包括4套答题卡。 35 + 本功能将云平台的数据导出到U盘。
36 </p> 36 </p>
37 <div class="btn-box btn-box2" v-loading="downLoading"> 37 <div class="btn-box btn-box2" v-loading="downLoading">
38 <i class="fa fa-cloud-download" @click="downloadFile"></i> 38 <i class="fa fa-cloud-download" @click="downloadFile"></i>
@@ -51,8 +51,7 @@ export default { @@ -51,8 +51,7 @@ export default {
51 data() { 51 data() {
52 return { 52 return {
53 downLoading: false, 53 downLoading: false,
54 - // url: "/api_html/teaching/importData",  
55 - url: "", 54 + url: "/api_html/teaching/importData",
56 file: {}, 55 file: {},
57 }; 56 };
58 }, 57 },
src/views/device/index.vue
@@ -6,9 +6,10 @@ @@ -6,9 +6,10 @@
6 </template> 6 </template>
7 <template 7 <template
8 slot="btns" 8 slot="btns"
9 - v-if="role != 'ROLE_JITUAN' && type == 1 && school !== '长水'" 9 + v-if="role != 'ROLE_JITUAN' && type == 1 && !code"
10 > 10 >
11 - <el-tooltip effect="dark" content="设备导入" placement="bottom"> 11 + <!-- 暂未有接口 -->
  12 + <!-- <el-tooltip effect="dark" content="设备导入" placement="bottom">
12 <el-button 13 <el-button
13 type="primary" 14 type="primary"
14 icon="el-icon-upload2" 15 icon="el-icon-upload2"
@@ -17,7 +18,7 @@ @@ -17,7 +18,7 @@
17 circle 18 circle
18 @click="diaUp = true" 19 @click="diaUp = true"
19 ></el-button> 20 ></el-button>
20 - </el-tooltip> 21 + </el-tooltip> -->
21 <el-tooltip effect="dark" content="添加基站" placement="bottom"> 22 <el-tooltip effect="dark" content="添加基站" placement="bottom">
22 <el-button 23 <el-button
23 type="primary" 24 type="primary"
@@ -501,7 +502,7 @@ export default { @@ -501,7 +502,7 @@ export default {
501 data() { 502 data() {
502 return { 503 return {
503 role: "", 504 role: "",
504 - school: "", 505 + code: "",
505 loading: false, 506 loading: false,
506 url: "/web/upLoadDevice", 507 url: "/web/upLoadDevice",
507 diaUp: false, 508 diaUp: false,
@@ -563,6 +564,7 @@ export default { @@ -563,6 +564,7 @@ export default {
563 }; 564 };
564 }, 565 },
565 created() { 566 created() {
  567 + this.code = localStorage.getItem("csCode")||""
566 let role = ""; 568 let role = "";
567 this.$store.getters.info.permissions.map((item) => { 569 this.$store.getters.info.permissions.map((item) => {
568 if (item.roleName == this.$store.getters.info.showRoleName) { 570 if (item.roleName == this.$store.getters.info.showRoleName) {
src/views/device/log.vue
@@ -64,9 +64,7 @@ @@ -64,9 +64,7 @@
64 >本季度</span 64 >本季度</span
65 > 65 >
66 </p> 66 </p>
67 - <el-button class="serach-box" round @click="_QueryData"  
68 - >筛选</el-button  
69 - > 67 + <el-button type="primary" class="serach-box" round @click="_QueryData">筛选</el-button>
70 </div> 68 </div>
71 </div> 69 </div>
72 <div class="table-box"> 70 <div class="table-box">
@@ -196,7 +194,7 @@ export default { @@ -196,7 +194,7 @@ export default {
196 //中国式星期天是一周的最后一天 194 //中国式星期天是一周的最后一天
197 day = 7; 195 day = 7;
198 } 196 }
199 - day-- 197 + day--;
200 let aTime = new Date().getTime() - 24 * 60 * 60 * 1000 * day; 198 let aTime = new Date().getTime() - 24 * 60 * 60 * 1000 * day;
201 that.query.startDay = formatDate(new Date(aTime), "yyyy-MM-dd"); 199 that.query.startDay = formatDate(new Date(aTime), "yyyy-MM-dd");
202 that.query.endDay = formatDate(new Date(), "yyyy-MM-dd"); 200 that.query.endDay = formatDate(new Date(), "yyyy-MM-dd");
@@ -287,7 +285,7 @@ export default { @@ -287,7 +285,7 @@ export default {
287 }); 285 });
288 this.loading = false; 286 this.loading = false;
289 if (status === 0) { 287 if (status === 0) {
290 - this.tableData = data?.list&&[...data?.list] || []; 288 + this.tableData = (data?.list && [...data?.list]) || [];
291 this.total = data.count; 289 this.total = data.count;
292 } else { 290 } else {
293 this.$message.error(info); 291 this.$message.error(info);
@@ -301,7 +299,10 @@ export default { @@ -301,7 +299,10 @@ export default {
301 .page-content { 299 .page-content {
302 padding: 20px; 300 padding: 20px;
303 } 301 }
304 -.table-box{  
305 - padding:0 20px; 302 +.table-box {
  303 + padding: 0 20px;
  304 +}
  305 +.serach-box{
  306 + margin-left:20px;
306 } 307 }
307 </style> 308 </style>
308 \ No newline at end of file 309 \ No newline at end of file
src/views/examinationPaper/add.vue
@@ -151,8 +151,8 @@ @@ -151,8 +151,8 @@
151 icon="el-icon-delete" 151 icon="el-icon-delete"
152 ></el-button> 152 ></el-button>
153 </el-popconfirm> 153 </el-popconfirm>
154 -  
155 - <span>总分数:{{ setScore(question) }}分</span> 154 + <span class="m20">共:{{ question.subQuestions.length }}题</span>
  155 + <span>共:{{ setScore(question) }}分</span>
156 </p> 156 </p>
157 <ul class="questions-ul"> 157 <ul class="questions-ul">
158 <li class="sub-questions"> 158 <li class="sub-questions">
@@ -330,10 +330,10 @@ @@ -330,10 +330,10 @@
330 :value="item.value" 330 :value="item.value"
331 > 331 >
332 </el-option> 332 </el-option>
333 - <el-option label="混合题题型" :value="6"> </el-option> 333 + <el-option label="混合题" :value="6"> </el-option>
334 </el-select> 334 </el-select>
335 </el-form-item> 335 </el-form-item>
336 - <el-form-item label="默认题数:"> 336 + <el-form-item label="题数:">
337 <el-input-number 337 <el-input-number
338 v-model="questionForm.number" 338 v-model="questionForm.number"
339 :min="1" 339 :min="1"
@@ -344,7 +344,7 @@ @@ -344,7 +344,7 @@
344 ></el-input-number> 344 ></el-input-number>
345 </el-form-item> 345 </el-form-item>
346 <el-form-item 346 <el-form-item
347 - label="默认选项:" 347 + label="选项个数:"
348 v-show=" 348 v-show="
349 questionForm.questionType != 4 && 349 questionForm.questionType != 4 &&
350 questionForm.questionType != 5 350 questionForm.questionType != 5
@@ -359,7 +359,7 @@ @@ -359,7 +359,7 @@
359 label="label" 359 label="label"
360 ></el-input-number> 360 ></el-input-number>
361 </el-form-item> 361 </el-form-item>
362 - <el-form-item label="默认分数:"> 362 + <el-form-item label="单题分数:">
363 <el-input-number 363 <el-input-number
364 v-model="questionForm.score" 364 v-model="questionForm.score"
365 :min="1" 365 :min="1"
@@ -398,7 +398,8 @@ @@ -398,7 +398,8 @@
398 <p class="question-title"> 398 <p class="question-title">
399 <span>{{ setBigNum(index) }}、</span> 399 <span>{{ setBigNum(index) }}、</span>
400 <span class="title-txt">{{ question.questionTitle }}</span> 400 <span class="title-txt">{{ question.questionTitle }}</span>
401 - <span>共 {{ setScore(question) }} 分</span> 401 + <span class="m20">共:{{ question.subQuestions.length }}题</span>
  402 + <span>共:{{ setScore(question) }} 分</span>
402 </p> 403 </p>
403 <ul class="questions-ul"> 404 <ul class="questions-ul">
404 <li class="sub-questions"> 405 <li class="sub-questions">
@@ -477,7 +478,7 @@ @@ -477,7 +478,7 @@
477 class="answer-s" 478 class="answer-s"
478 v-for="option in subQuestions.answerOptions.split(',')" 479 v-for="option in subQuestions.answerOptions.split(',')"
479 :class=" 480 :class="
480 - subQuestions.correctAnswer.includes(option) 481 + subQuestions.correctAnswer?.includes(option)
481 ? 'active' 482 ? 'active'
482 : '' 483 : ''
483 " 484 "
@@ -876,7 +877,7 @@ export default { @@ -876,7 +877,7 @@ export default {
876 } else if (type == 3) { 877 } else if (type == 3) {
877 txt = ans + ","; 878 txt = ans + ",";
878 } else if (type == 4) { 879 } else if (type == 4) {
879 - txt = ans == 1 ? "✓" : "✗"; 880 + txt = ans == 1 ? "✓" : ans == 2 ? "✗" : "";
880 } 881 }
881 return txt; 882 return txt;
882 }, 883 },
@@ -907,75 +908,71 @@ export default { @@ -907,75 +908,71 @@ export default {
907 // } 908 // }
908 // }); 909 // });
909 // if (!valid) { 910 // if (!valid) {
910 - //添加题目ID、序号  
911 - this.form.questionList.map((item, index) => {  
912 - item.questionType = 0;  
913 - item.subQuestions.map((items, indexs) => {  
914 - items.questionId = this.setNum(index, indexs);  
915 - items.questionIndex = this.setNum(index, indexs);  
916 - }); 911 + //添加题目ID、序号
  912 + this.form.questionList.map((item, index) => {
  913 + item.questionType = 0;
  914 + item.subQuestions.map((items, indexs) => {
  915 + items.questionId = this.setNum(index, indexs);
  916 + items.questionIndex = this.setNum(index, indexs);
917 }); 917 });
918 - //整理问题  
919 - this.form.questionList?.map((item) => {  
920 - let types = [{}];  
921 - let addndex = 0;  
922 - item.subQuestions.map((sub, index) => {  
923 - if (!!sub.questionType && sub.questionType != 5) {  
924 - if (sub.questionType == types[addndex].qusType) {  
925 - //同类型批量答案+1  
926 - types[addndex].subNum += 1;  
927 - if (  
928 - types[addndex].answerOptions.length < sub.answerOptions.length  
929 - ) {  
930 - types[addndex].answerOptions = sub.answerOptions;  
931 - }  
932 - types[addndex].answerList += this.setAnswer(  
933 - sub.questionType,  
934 - sub.correctAnswer  
935 - );  
936 - if (index == item.subQuestions.length - 1) {  
937 - //循环最后类型数量大于等于5,保存批量答案  
938 - if (types[addndex].subNum && types[addndex].subNum >= 5) {  
939 - types[addndex].endIndex = sub.questionIndex;  
940 - types[addndex].index = index;  
941 - }  
942 - }  
943 - } else { 918 + });
  919 + //整理问题
  920 + this.form.questionList?.map((item) => {
  921 + let types = [{}];
  922 + let addndex = 0;
  923 + item.subQuestions.map((sub, index) => {
  924 + if (!!sub.questionType && sub.questionType != 5) {
  925 + if (sub.questionType == types[addndex].qusType) {
  926 + //同类型批量答案+1
  927 + types[addndex].subNum += 1;
  928 + if (
  929 + types[addndex].answerOptions.length < sub.answerOptions.length
  930 + ) {
  931 + types[addndex].answerOptions = sub.answerOptions;
  932 + }
  933 +
  934 + // types[addndex].answerList += this.setAnswer(
  935 + // sub.questionType,
  936 + // sub.correctAnswer
  937 + // );
  938 + types[addndex].answerList = "";
  939 + if (index == item.subQuestions.length - 1) {
  940 + //循环最后类型数量大于等于5,保存批量答案
944 if (types[addndex].subNum && types[addndex].subNum >= 5) { 941 if (types[addndex].subNum && types[addndex].subNum >= 5) {
945 - //不同类型时如果原有类型数量大于等于5,保存批量答案  
946 - types[addndex].endIndex =  
947 - item.subQuestions[index - 1].questionIndex;  
948 - types[addndex].index = index - 1;  
949 - addndex += 1;  
950 - types[addndex] = {}; 942 + types[addndex].endIndex = sub.questionIndex;
  943 + types[addndex].index = index;
951 } 944 }
952 - //不同类型初始化批量答案  
953 - types[addndex].qusType = sub.questionType;  
954 - types[addndex].subNum = 1;  
955 - types[addndex].answerOptions = sub.answerOptions;  
956 - types[addndex].answerList = this.setAnswer(  
957 - sub.questionType,  
958 - sub.correctAnswer  
959 - );  
960 } 945 }
961 - }  
962 - });  
963 - for (let i = 0; i < types.length; i++) {  
964 - if (types[i].qusType == 3) {  
965 - types[i].answerList = types[i].answerList.slice(0, -1);  
966 - }  
967 - if (types[i].subNum >= 5) {  
968 - item.subQuestions.splice(  
969 - types[i].index + i + 1,  
970 - 0,  
971 - deepClone(types[i])  
972 - ); 946 + } else {
  947 + if (types[addndex].subNum && types[addndex].subNum >= 5) {
  948 + //不同类型时如果原有类型数量大于等于5,保存批量答案
  949 + types[addndex].endIndex =
  950 + item.subQuestions[index - 1].questionIndex;
  951 + types[addndex].index = index - 1;
  952 + addndex += 1;
  953 + types[addndex] = {};
  954 + }
  955 + //不同类型初始化批量答案
  956 + types[addndex].qusType = sub.questionType;
  957 + types[addndex].subNum = 1;
  958 + types[addndex].answerOptions = sub.answerOptions;
  959 + types[addndex].answerList = ""
973 } 960 }
974 } 961 }
975 - console.log(types);  
976 }); 962 });
977 - this.step = 2;  
978 - return; 963 + for (let i = 0; i < types.length; i++) {
  964 + if (types[i].subNum >= 5) {
  965 + item.subQuestions.splice(
  966 + types[i].index + i + 1,
  967 + 0,
  968 + deepClone(types[i])
  969 + );
  970 + }
  971 + }
  972 + console.log(types);
  973 + });
  974 + this.step = 2;
  975 + return;
979 // } else { 976 // } else {
980 // this.$message.error( 977 // this.$message.error(
981 // `大题名称不能为空,请检查第${valid.slice(0, -1)}大题!` 978 // `大题名称不能为空,请检查第${valid.slice(0, -1)}大题!`
@@ -1384,6 +1381,9 @@ export default { @@ -1384,6 +1381,9 @@ export default {
1384 } 1381 }
1385 .question-title { 1382 .question-title {
1386 line-height: 40px; 1383 line-height: 40px;
  1384 + .m20{
  1385 + margin-right:20px;
  1386 + }
1387 .ipt { 1387 .ipt {
1388 width: 300px; 1388 width: 300px;
1389 margin: 0 16px 0 10px; 1389 margin: 0 16px 0 10px;
src/views/login/index.vue
@@ -95,6 +95,8 @@ export default { @@ -95,6 +95,8 @@ export default {
95 loginForm: { 95 loginForm: {
96 // username: "15911715665", 96 // username: "15911715665",
97 // password: "715665", 97 // password: "715665",
  98 + // username: "18087527793",
  99 + // password: "Pw527793#",
98 // username: "18687826606", 100 // username: "18687826606",
99 // password: "Pw826606#", 101 // password: "Pw826606#",
100 // username: "18893712576", 102 // username: "18893712576",
src/views/setUp/account.vue
@@ -5,7 +5,8 @@ @@ -5,7 +5,8 @@
5 <span>账号管理</span> 5 <span>账号管理</span>
6 </template> 6 </template>
7 <template slot="btns" v-if="role == 'ROLE_JITUAN'"> 7 <template slot="btns" v-if="role == 'ROLE_JITUAN'">
8 - <el-tooltip effect="dark" content="导入账号" placement="bottom"> 8 + <!-- 暂未有接口 -->
  9 + <!-- <el-tooltip effect="dark" content="导入账号" placement="bottom">
9 <el-button 10 <el-button
10 type="primary" 11 type="primary"
11 icon="el-icon-upload2" 12 icon="el-icon-upload2"
@@ -14,7 +15,7 @@ @@ -14,7 +15,7 @@
14 circle 15 circle
15 @click="diaUp = true" 16 @click="diaUp = true"
16 ></el-button> 17 ></el-button>
17 - </el-tooltip> 18 + </el-tooltip> -->
18 <el-tooltip effect="dark" content="添加账号" placement="bottom"> 19 <el-tooltip effect="dark" content="添加账号" placement="bottom">
19 <el-button 20 <el-button
20 type="primary" 21 type="primary"
src/views/test/index.vue
@@ -101,11 +101,7 @@ @@ -101,11 +101,7 @@
101 > 101 >
102 </el-radio-group> 102 </el-radio-group>
103 <div v-show="tabIndex == 1" v-loading="loading"> 103 <div v-show="tabIndex == 1" v-loading="loading">
104 - <el-table  
105 - :data="tableData"  
106 - border  
107 - style="width: 100%"  
108 - > 104 + <el-table :data="tableData" border style="width: 100%">
109 <el-table-column 105 <el-table-column
110 prop="title" 106 prop="title"
111 label="试卷名称" 107 label="试卷名称"
@@ -156,67 +152,103 @@ @@ -156,67 +152,103 @@
156 > 152 >
157 <el-table-column 153 <el-table-column
158 prop="excellenRate" 154 prop="excellenRate"
159 - label="优秀数(率)" 155 + label="优秀数(率)"
160 sortable 156 sortable
161 align="center" 157 align="center"
162 - ><template slot-scope="scoped">{{  
163 - (scoped.row.subjectiveScore == scoped.row.examPaperScore ||  
164 - scoped.row.answerNum == 0) &&  
165 - scoped.row.recordStatus == 0  
166 - ? "-"  
167 - : scoped.row.excellenNum  
168 - ? `${scoped.row.excellenNum}(${scoped.row.excellenRate}%)`  
169 - : scoped.row.excellenNum  
170 - }}</template></el-table-column 158 + width="110"
  159 + class-name="p0"
  160 + ><template slot-scope="scoped">
  161 + <p
  162 + v-if="
  163 + (scoped.row.subjectiveScore == scoped.row.examPaperScore ||
  164 + scoped.row.answerNum == 0) &&
  165 + scoped.row.arecordStatus == 0
  166 + "
  167 + >
  168 + "-"
  169 + </p>
  170 + <template v-else>
  171 + <p>{{ scoped.row.excellenNum }}</p>
  172 + <p v-if="scoped.row.excellenNum">
  173 + {{ `(${scoped.row.excellenRate}%)` }}
  174 + </p>
  175 + </template>
  176 + </template></el-table-column
171 > 177 >
172 <el-table-column 178 <el-table-column
173 prop="goodRate" 179 prop="goodRate"
174 - label="良好数(率)" 180 + label="良好数(率)"
175 sortable 181 sortable
176 align="center" 182 align="center"
177 - ><template slot-scope="scoped"  
178 - >{{  
179 - (scoped.row.subjectiveScore == scoped.row.examPaperScore ||  
180 - scoped.row.answerNum == 0) &&  
181 - scoped.row.recordStatus == 0  
182 - ? "-"  
183 - : scoped.row.goodNum  
184 - ? `${scoped.row.goodNum}(${scoped.row.goodRate}%)`  
185 - : scoped.row.goodNum  
186 - }} 183 + width="110"
  184 + class-name="p0"
  185 + ><template slot-scope="scoped">
  186 + <p
  187 + v-if="
  188 + (scoped.row.subjectiveScore == scoped.row.examPaperScore ||
  189 + scoped.row.answerNum == 0) &&
  190 + scoped.row.arecordStatus == 0
  191 + "
  192 + >
  193 + "-"
  194 + </p>
  195 + <template v-else>
  196 + <p>{{ scoped.row.goodNum }}</p>
  197 + <p v-if="scoped.row.goodNum">
  198 + {{ `(${scoped.row.goodRate}%)` }}
  199 + </p>
  200 + </template>
187 </template></el-table-column 201 </template></el-table-column
188 > 202 >
189 <el-table-column 203 <el-table-column
190 prop="passRate" 204 prop="passRate"
191 - label="及格数(率)" 205 + label="及格数(率)"
192 sortable 206 sortable
193 align="center" 207 align="center"
194 - ><template slot-scope="scoped"  
195 - >{{  
196 - (scoped.row.subjectiveScore == scoped.row.examPaperScore ||  
197 - scoped.row.answerNum == 0) &&  
198 - scoped.row.recordStatus == 0  
199 - ? "-"  
200 - : scoped.row.passNum  
201 - ? `${scoped.row.passNum}(${scoped.row.passRate}%)`  
202 - : scoped.row.passNum  
203 - }} 208 + width="110"
  209 + class-name="p0"
  210 + ><template slot-scope="scoped">
  211 + <p
  212 + v-if="
  213 + (scoped.row.subjectiveScore == scoped.row.examPaperScore ||
  214 + scoped.row.answerNum == 0) &&
  215 + scoped.row.arecordStatus == 0
  216 + "
  217 + >
  218 + "-"
  219 + </p>
  220 + <template v-else>
  221 + <p>{{ scoped.row.passNum }}</p>
  222 + <p v-if="scoped.row.passNum">
  223 + {{ `(${scoped.row.passRate}%)` }}
  224 + </p>
  225 + </template>
204 </template></el-table-column 226 </template></el-table-column
205 > 227 >
206 <el-table-column 228 <el-table-column
207 prop="failedRate" 229 prop="failedRate"
208 - label="不及格数(率)" 230 + label="不及格数(率)"
209 sortable 231 sortable
210 align="center" 232 align="center"
211 - ><template slot-scope="scoped">{{  
212 - (scoped.row.subjectiveScore == scoped.row.examPaperScore ||  
213 - scoped.row.nswerNum == 0) &&  
214 - scoped.row.arecordStatus == 0  
215 - ? "-"  
216 - : scoped.row.failedNum  
217 - ? `${scoped.row.failedNum}(${scoped.row.failedRate}%)`  
218 - : scoped.row.failedNum  
219 - }}</template></el-table-column 233 + width="130"
  234 + class-name="p0"
  235 + ><template slot-scope="scoped">
  236 + <p
  237 + v-if="
  238 + (scoped.row.subjectiveScore == scoped.row.examPaperScore ||
  239 + scoped.row.answerNum == 0) &&
  240 + scoped.row.arecordStatus == 0
  241 + "
  242 + >
  243 + "-"
  244 + </p>
  245 + <template v-else>
  246 + <p>{{ scoped.row.failedNum }}</p>
  247 + <p v-if="scoped.row.failedNum">
  248 + {{ `(${scoped.row.failedRate}%)` }}
  249 + </p>
  250 + </template>
  251 + </template></el-table-column
220 > 252 >
221 <el-table-column label="操作" align="center"> 253 <el-table-column label="操作" align="center">
222 <template slot-scope="scoped"> 254 <template slot-scope="scoped">
@@ -318,13 +350,13 @@ @@ -318,13 +350,13 @@
318 :prop="'score' + index" 350 :prop="'score' + index"
319 :label="index == 0 ? '总分' : '成绩'" 351 :label="index == 0 ? '总分' : '成绩'"
320 align="center" 352 align="center"
321 - :class-name="index%2==0?'bg':''" 353 + :class-name="index % 2 == 0 ? 'bg' : ''"
322 ></el-table-column> 354 ></el-table-column>
323 <el-table-column 355 <el-table-column
324 :prop="'classRank' + index" 356 :prop="'classRank' + index"
325 label="班名" 357 label="班名"
326 align="center" 358 align="center"
327 - :class-name="index%2==0?'bg':''" 359 + :class-name="index % 2 == 0 ? 'bg' : ''"
328 ></el-table-column> 360 ></el-table-column>
329 </el-table-column> 361 </el-table-column>
330 </el-table> 362 </el-table>
@@ -357,25 +389,25 @@ @@ -357,25 +389,25 @@
357 :prop="'examCount' + item" 389 :prop="'examCount' + item"
358 label="测练数" 390 label="测练数"
359 align="center" 391 align="center"
360 - :class-name="index%2==0?'bg':''" 392 + :class-name="index % 2 == 0 ? 'bg' : ''"
361 ></el-table-column> 393 ></el-table-column>
362 <el-table-column 394 <el-table-column
363 :prop="'participationCount' + item" 395 :prop="'participationCount' + item"
364 label="参与数" 396 label="参与数"
365 align="center" 397 align="center"
366 - :class-name="index%2==0?'bg':''" 398 + :class-name="index % 2 == 0 ? 'bg' : ''"
367 ></el-table-column> 399 ></el-table-column>
368 <el-table-column 400 <el-table-column
369 :prop="'score' + item" 401 :prop="'score' + item"
370 label="总分" 402 label="总分"
371 align="center" 403 align="center"
372 - :class-name="index%2==0?'bg':''" 404 + :class-name="index % 2 == 0 ? 'bg' : ''"
373 ></el-table-column> 405 ></el-table-column>
374 <el-table-column 406 <el-table-column
375 :prop="'classRank' + item" 407 :prop="'classRank' + item"
376 label="班名" 408 label="班名"
377 align="center" 409 align="center"
378 - :class-name="index%2==0?'bg':''" 410 + :class-name="index % 2 == 0 ? 'bg' : ''"
379 ></el-table-column> 411 ></el-table-column>
380 </el-table-column> 412 </el-table-column>
381 </el-table> 413 </el-table>
@@ -517,6 +549,7 @@ export default { @@ -517,6 +549,7 @@ export default {
517 that.query.day = formatDate(new Date(), "yyyy-MM-dd"); 549 that.query.day = formatDate(new Date(), "yyyy-MM-dd");
518 that.query.startDay = that.query.day; 550 that.query.startDay = that.query.day;
519 that.query.endDay = that.query.day; 551 that.query.endDay = that.query.day;
  552 + that.tabIndex = 1;
520 break; 553 break;
521 case 2: 554 case 2:
522 let day = new Date().getDay(); 555 let day = new Date().getDay();