Commit e5f407d66dd92a8a3ad8a8ad38a8f5769b241948

Authored by 梁保满
1 parent f04179ad

测试问题

src/views/standard/test/analysis.vue
@@ -1003,7 +1003,7 @@ div::-webkit-scrollbar-thumb { @@ -1003,7 +1003,7 @@ div::-webkit-scrollbar-thumb {
1003 .setMinScore { 1003 .setMinScore {
1004 position: absolute; 1004 position: absolute;
1005 bottom: 0; 1005 bottom: 0;
1006 - right: 50px; 1006 + right: 0px;
1007 } 1007 }
1008 } 1008 }
1009 .score-ipt { 1009 .score-ipt {
src/views/standard/test/contrast.vue
@@ -46,11 +46,13 @@ @@ -46,11 +46,13 @@
46 align="center" 46 align="center"
47 fixed 47 fixed
48 ></el-table-column> 48 ></el-table-column>
49 - <el-table-column  
50 - prop="count"  
51 - label="测验人数/班级人数"  
52 - align="center"  
53 - ></el-table-column> 49 + <el-table-column label="测验人数/班级人数" align="center" width="84">
  50 + <template slot-scope="scope">
  51 + <p v-for="(item, index) in scope.row.count.split('/')">
  52 + {{ item }}{{ index == 0 ? "/" : "" }}
  53 + </p>
  54 + </template>
  55 + </el-table-column>
54 <el-table-column 56 <el-table-column
55 prop="percent" 57 prop="percent"
56 label="参与度" 58 label="参与度"
@@ -175,9 +177,9 @@ @@ -175,9 +177,9 @@
175 <p class="dia-tab-tit"> 177 <p class="dia-tab-tit">
176 <span class="item1">编号</span> 178 <span class="item1">编号</span>
177 <span class="item2"><i>*</i>等级名称</span> 179 <span class="item2"><i>*</i>等级名称</span>
178 - <span class="item2"><i>*</i>等级最高</span>  
179 - <span class="item2"><i>*</i>等级最低</span>  
180 - <span class="item1"></span> 180 + <span class="item3"><i>*</i>等级最高</span>
  181 + <span class="item3"><i>*</i>等级最低</span>
  182 + <span class="item"></span>
181 </p> 183 </p>
182 <div 184 <div
183 class="dia-tab-item" 185 class="dia-tab-item"
@@ -192,29 +194,42 @@ @@ -192,29 +194,42 @@
192 @keydown.native="keydownRange($event)" 194 @keydown.native="keydownRange($event)"
193 ></el-input> 195 ></el-input>
194 </p> 196 </p>
195 - <p class="item2"> 197 + <p class="item3">
196 <el-input 198 <el-input
197 class="score-ipt" 199 class="score-ipt"
198 type="number" 200 type="number"
199 v-model="item[1]" 201 v-model="item[1]"
200 :min="item[2]" 202 :min="item[2]"
201 - :max="index == 0 ? 150 : fromData.levels[index - 1][2]" 203 + :max="
  204 + index == 0 ? 100 : fromData.levels[index - 1][2] - 0.1
  205 + "
202 @keydown.native="keydownRange($event)" 206 @keydown.native="keydownRange($event)"
203 ></el-input> 207 ></el-input>
204 - {{ fromData.levelType == 1 ? "%" : "分" }} - 208 + %
  209 + <template v-if="fromData.levelType == 0">
  210 + ({{
  211 + Number(((item[1] / 100) * examPaperScore).toFixed(1))
  212 + }}分)
  213 + </template>
205 </p> 214 </p>
206 - <p class="item2"> 215 + <p>~</p>
  216 + <p class="item3">
207 <el-input 217 <el-input
208 class="score-ipt" 218 class="score-ipt"
209 type="number" 219 type="number"
210 v-model="item[2]" 220 v-model="item[2]"
211 :min="0" 221 :min="0"
212 - :max="item[1]" 222 + :max="item[1] - 1"
213 @keydown.native="keydownRange($event)" 223 @keydown.native="keydownRange($event)"
214 ></el-input> 224 ></el-input>
215 - {{ fromData.levelType == 1 ? "%" : "分" }} 225 + %
  226 + <template v-if="fromData.levelType == 0">
  227 + ({{
  228 + Number(((item[2] / 100) * examPaperScore).toFixed(1))
  229 + }}分)
  230 + </template>
216 </p> 231 </p>
217 - <p class="item1"> 232 + <p class="item">
218 <el-link 233 <el-link
219 type="danger" 234 type="danger"
220 :underline="false" 235 :underline="false"
@@ -277,12 +292,13 @@ export default { @@ -277,12 +292,13 @@ export default {
277 tableMaxHeight: 600, 292 tableMaxHeight: 600,
278 tableData: [], 293 tableData: [],
279 tableData2: [], 294 tableData2: [],
  295 + examPaperScore: 100, //卷面最高分
280 }; 296 };
281 }, 297 },
282 - created() { 298 + async created() {
283 this.ids = this.$route.query.ids; 299 this.ids = this.$route.query.ids;
284 - this._QueryDefaultLevels();  
285 - this._QueryData(); 300 + await this._QueryData();
  301 + await this._QueryDefaultLevels();
286 }, 302 },
287 destroyed() { 303 destroyed() {
288 sessionStorage.setItem("levelFromData", ""); 304 sessionStorage.setItem("levelFromData", "");
@@ -338,6 +354,7 @@ export default { @@ -338,6 +354,7 @@ export default {
338 } 354 }
339 }, 355 },
340 savefrom() { 356 savefrom() {
  357 + console.log(this.fromData);
341 for (let i = 0; i < this.fromData.levels.length; i++) { 358 for (let i = 0; i < this.fromData.levels.length; i++) {
342 if (this.fromData.levels[i].includes("")) { 359 if (this.fromData.levels[i].includes("")) {
343 this.$message.warning("请补全编号" + (i + 1) + "设置信息!"); 360 this.$message.warning("请补全编号" + (i + 1) + "设置信息!");
@@ -346,8 +363,23 @@ export default { @@ -346,8 +363,23 @@ export default {
346 } 363 }
347 if (this.fromData.levels.length == 0) { 364 if (this.fromData.levels.length == 0) {
348 this.$message.warning("请添加等级设置!"); 365 this.$message.warning("请添加等级设置!");
349 - return 366 + return;
  367 + }
  368 + let nums = [];
  369 + let ERR_OK = false;
  370 + this.fromData.levels.map((item) => {
  371 + nums.push(Number(item[1]));
  372 + nums.push(Number(item[2]));
  373 + });
  374 + for (let i = 0; i < nums.length; i++) {
  375 + console.log(nums[i + 1] && (nums[i + 1] >= nums[i]))
  376 + if (nums[i + 1] && (nums[i + 1] >= nums[i])) {
  377 + ERR_OK = true;
  378 + this.$message.warning("高等级比例不能低于低等级比例!请检查");
  379 + break;
  380 + }
350 } 381 }
  382 + if (ERR_OK) return;
351 this.tableData = []; 383 this.tableData = [];
352 this.tableData2 = []; 384 this.tableData2 = [];
353 this.defaultLevels.levelType = this.fromData.levelType; 385 this.defaultLevels.levelType = this.fromData.levelType;
@@ -381,6 +413,15 @@ export default { @@ -381,6 +413,15 @@ export default {
381 async _QueryData(params) { 413 async _QueryData(params) {
382 let query = {}; 414 let query = {};
383 if (params) { 415 if (params) {
  416 + if (params.levelType == 0) {
  417 + params.levels = params.levels.map((item) => {
  418 + console.log(item);
  419 + item[1] = ((item[1] / 100) * this.examPaperScore).toFixed(1);
  420 + item[2] = ((item[2] / 100) * this.examPaperScore).toFixed(1);
  421 + return item;
  422 + });
  423 + }
  424 +
384 query = { ...params }; 425 query = { ...params };
385 } 426 }
386 const { data, info, status } = await this.$request.examMultiClassReport({ 427 const { data, info, status } = await this.$request.examMultiClassReport({
@@ -389,6 +430,7 @@ export default { @@ -389,6 +430,7 @@ export default {
389 }); 430 });
390 if (status === 0) { 431 if (status === 0) {
391 this.title = data.title; 432 this.title = data.title;
  433 + this.examPaperScore = data.examPaperScore || 100;
392 this.subjectNames = data.subjectName; 434 this.subjectNames = data.subjectName;
393 this.tableData = data.classes || []; 435 this.tableData = data.classes || [];
394 this.tableData2 = 436 this.tableData2 =
@@ -501,11 +543,18 @@ export default { @@ -501,11 +543,18 @@ export default {
501 padding-right: 5px; 543 padding-right: 5px;
502 } 544 }
503 display: flex; 545 display: flex;
  546 + .item {
  547 + width: 40px;
  548 + }
504 .item1 { 549 .item1 {
505 padding-left: 10px; 550 padding-left: 10px;
506 - width: 15%; 551 + width: 10%;
507 } 552 }
508 .item2 { 553 .item2 {
  554 + width: 18%;
  555 + }
  556 + .item3 {
  557 + padding-left: 12px;
509 flex: 1; 558 flex: 1;
510 } 559 }
511 .score-ipt { 560 .score-ipt {
src/views/standard/test/index.vue
@@ -539,7 +539,12 @@ @@ -539,7 +539,12 @@
539 > 539 >
540 <div class="head-box"> 540 <div class="head-box">
541 <div class="tit"> 541 <div class="tit">
542 - <p class="txt">已考试卷信息</p> 542 + <p class="txt">
  543 + 已考试卷信息
  544 + <em class="red"
  545 + >(相同报表名称后的数字代表同一份试卷的考试次数,例如:模拟卷_1指模拟卷第1次考试成绩,模拟卷_2指模拟卷第2次考试成绩)</em
  546 + >
  547 + </p>
543 <p> 548 <p>
544 共筛选出{{ classTable.length }}个班级的已考试卷,<em class="red" 549 共筛选出{{ classTable.length }}个班级的已考试卷,<em class="red"
545 >不同班级请选择同一份试卷进行对比</em 550 >不同班级请选择同一份试卷进行对比</em
@@ -1104,7 +1109,7 @@ export default { @@ -1104,7 +1109,7 @@ export default {
1104 this.loading = false; 1109 this.loading = false;
1105 if (status === 0) { 1110 if (status === 0) {
1106 this.tableData = 1111 this.tableData =
1107 - data?.list.map((item) => { 1112 + data?.list?.map((item) => {
1108 item.loading = false; 1113 item.loading = false;
1109 return item; 1114 return item;
1110 }) || []; 1115 }) || [];
@@ -1354,6 +1359,7 @@ div::-webkit-scrollbar-thumb { @@ -1354,6 +1359,7 @@ div::-webkit-scrollbar-thumb {
1354 } 1359 }
1355 .red { 1360 .red {
1356 font-style: normal; 1361 font-style: normal;
  1362 + font-size: 12px;
1357 color: #f30; 1363 color: #f30;
1358 } 1364 }
1359 .sel { 1365 .sel {