Commit 1365ef5e8ed3cdf23b76e7c7e59725ee39135da4

Authored by 梁保满
1 parent d32e461c

优化

src/components/charts/pieChart.vue
@@ -66,7 +66,7 @@ export default { @@ -66,7 +66,7 @@ export default {
66 formatter(v) { 66 formatter(v) {
67 console.log(v) 67 console.log(v)
68 let rate = v.data.rate*100 68 let rate = v.data.rate*100
69 - return v.name + rate + "%"; 69 + return v.name + rate.toFixed(2) + "%";
70 }, 70 },
71 }, 71 },
72 }, 72 },
src/utils/index.js
@@ -689,7 +689,7 @@ export function formatGradeClass(data) { @@ -689,7 +689,7 @@ export function formatGradeClass(data) {
689 label: item.gradeName, 689 label: item.gradeName,
690 children: [ 690 children: [
691 { 691 {
692 - value: item.classCode, 692 + value: item.id,
693 label: item.className, 693 label: item.className,
694 }, 694 },
695 ], 695 ],
@@ -702,7 +702,7 @@ export function formatGradeClass(data) { @@ -702,7 +702,7 @@ export function formatGradeClass(data) {
702 } 702 }
703 }); 703 });
704 gradeNameArr[gradeIndex].children.push({ 704 gradeNameArr[gradeIndex].children.push({
705 - value: item.classCode, 705 + value: item.id,
706 label: item.className, 706 label: item.className,
707 }); 707 });
708 } 708 }
@@ -721,7 +721,7 @@ export function formatGradeNameClass(data) { @@ -721,7 +721,7 @@ export function formatGradeNameClass(data) {
721 grade: item.grade, 721 grade: item.grade,
722 children: [ 722 children: [
723 { 723 {
724 - value: item.classCode, 724 + value: item.id,
725 label: item.className, 725 label: item.className,
726 leaf:true 726 leaf:true
727 }, 727 },
@@ -735,7 +735,7 @@ export function formatGradeNameClass(data) { @@ -735,7 +735,7 @@ export function formatGradeNameClass(data) {
735 } 735 }
736 }); 736 });
737 gradeNameArr[gradeIndex].children.push({ 737 gradeNameArr[gradeIndex].children.push({
738 - value: item.classCode, 738 + value: item.id,
739 label: item.className, 739 label: item.className,
740 leaf:true 740 leaf:true
741 }); 741 });
src/views/analysis/index.vue
@@ -93,7 +93,7 @@ @@ -93,7 +93,7 @@
93 style="width: 100%" 93 style="width: 100%"
94 show-summary 94 show-summary
95 > 95 >
96 - <el-table-column align="center" label="科目" prop="subjectName"> 96 + <el-table-column align="center" fixed label="科目" prop="subjectName">
97 </el-table-column> 97 </el-table-column>
98 <el-table-column 98 <el-table-column
99 align="center" 99 align="center"
@@ -105,22 +105,55 @@ @@ -105,22 +105,55 @@
105 : item.gradeName || item.className 105 : item.gradeName || item.className
106 " 106 "
107 > 107 >
108 - <template> 108 + <template v-if="role == 'ROLE_JITUAN'">
109 <el-table-column 109 <el-table-column
110 - :prop="'periodCount' + index" 110 + :prop="'periodCount' + type == 1 ? item.schoolId : item.grade"
111 label="课时数" 111 label="课时数"
112 align="center" 112 align="center"
113 - ></el-table-column> 113 + ><template slot-scope="scoped">{{
  114 + scoped.row[
  115 + "periodCount" + type == 1 ? item.schoolId : item.grade
  116 + ] || "--"
  117 + }}</template></el-table-column
  118 + >
114 <el-table-column 119 <el-table-column
115 - :prop="'examCount' + index" 120 + :prop="'examCount' + type == 1 ? item.schoolId : item.grade"
116 label="测练数" 121 label="测练数"
117 align="center" 122 align="center"
118 - ></el-table-column> 123 + ><template slot-scope="scoped">{{
  124 + scoped.row[
  125 + "examCount" + type == 1 ? item.schoolId : item.grade
  126 + ] || "--"
  127 + }}</template></el-table-column
  128 + >
  129 + </template>
  130 + <template v-else>
  131 + <el-table-column
  132 + :prop="'periodCount' + item.grade || item.classId"
  133 + label="课时数"
  134 + align="center"
  135 + ><template slot-scope="scoped">{{
  136 + scoped.row["periodCount" + item.grade || item.classId] || "--"
  137 + }}</template></el-table-column
  138 + >
  139 + <el-table-column
  140 + :prop="'examCount' + item.grade || item.classId"
  141 + label="测练数"
  142 + align="center"
  143 + ><template slot-scope="scoped">{{
  144 + scoped.row["examCount" + item.grade || item.classId] || "--"
  145 + }}</template></el-table-column
  146 + >
119 </template> 147 </template>
120 </el-table-column> 148 </el-table-column>
121 </el-table> 149 </el-table>
122 - <p class="down" v-if="role != 'ROLE_JITUAN'">  
123 - <el-button @click="downExc" type="primary" plain round icon="fa fa-cloud-download" 150 + <p class="down" v-if="role != 'ROLE_JITUAN' && tableData.length">
  151 + <el-button
  152 + @click="downExc"
  153 + type="primary"
  154 + plain
  155 + round
  156 + icon="fa fa-cloud-download"
124 >导出报表</el-button 157 >导出报表</el-button
125 > 158 >
126 </p> 159 </p>
@@ -341,25 +374,25 @@ export default { @@ -341,25 +374,25 @@ export default {
341 if (this.role == "ROLE_JITUAN") { 374 if (this.role == "ROLE_JITUAN") {
342 if (this.type == 1) { 375 if (this.type == 1) {
343 if (items.schoolId == ids) { 376 if (items.schoolId == ids) {
344 - params["examCount" + index] = items.examCount;  
345 - params["periodCount" + index] = items.periodCount; 377 + params["examCount" + items.schoolId] = items.examCount;
  378 + params["periodCount" + items.schoolId] = items.periodCount;
346 } 379 }
347 } else if (this.type == 2) { 380 } else if (this.type == 2) {
348 if (items.grade == ids) { 381 if (items.grade == ids) {
349 - params["examCount" + index] = items.examCount;  
350 - params["periodCount" + index] = items.periodCount; 382 + params["examCount" + items.grade] = items.examCount;
  383 + params["periodCount" + items.grade] = items.periodCount;
351 } 384 }
352 } 385 }
353 } else { 386 } else {
354 if (this.query.gradeName == "全部") { 387 if (this.query.gradeName == "全部") {
355 if (items.grade == ids) { 388 if (items.grade == ids) {
356 - params["examCount" + index] = items.examCount;  
357 - params["periodCount" + index] = items.periodCount; 389 + params["examCount" + items.grade] = items.examCount;
  390 + params["periodCount" + items.grade] = items.periodCount;
358 } 391 }
359 } else if (this.query.gradeName) { 392 } else if (this.query.gradeName) {
360 if (items.classId == ids) { 393 if (items.classId == ids) {
361 - params["examCount" + index] = items.examCount;  
362 - params["periodCount" + index] = items.periodCount; 394 + params["examCount" + items.classId] = items.examCount;
  395 + params["periodCount" + items.classId] = items.periodCount;
363 } 396 }
364 } 397 }
365 } 398 }
src/views/card/index.vue
@@ -128,7 +128,7 @@ export default { @@ -128,7 +128,7 @@ export default {
128 gradeList.children = 128 gradeList.children =
129 item.classList?.map((items) => { 129 item.classList?.map((items) => {
130 return { 130 return {
131 - value: items.classCode, 131 + value: items.id,
132 label: items.className, 132 label: items.className,
133 }; 133 };
134 }) || []; 134 }) || [];
src/views/dataSync/index.vue
@@ -91,17 +91,18 @@ export default { @@ -91,17 +91,18 @@ export default {
91 // } 91 // }
92 }, 92 },
93 upSuccess(res) { 93 upSuccess(res) {
94 - if (res && res.code == 0 && res.success) { 94 + debugger
  95 + if (res && res.status == 0 ) {
95 this.$message.success("上传成功"); 96 this.$message.success("上传成功");
96 this.$emit("upSuccess"); 97 this.$emit("upSuccess");
97 } else { 98 } else {
98 - this.$message.error(res.message); 99 + this.$message.error(res.info);
99 } 100 }
100 }, 101 },
101 upError(res) { 102 upError(res) {
  103 + debugger
102 if (res && res.status == 0) { 104 if (res && res.status == 0) {
103 - this.$message.success("上传成功");  
104 - this.$emit("upSuccess"); 105 + this.$message.error("上传失败");
105 } else { 106 } else {
106 this.$message.error(res.message); 107 this.$message.error(res.message);
107 } 108 }
src/views/device/index.vue
1 <template> 1 <template>
2 - <div> 2 + <div ref="main" class="page-content">
3 <back-box> 3 <back-box>
4 <template slot="title"> 4 <template slot="title">
5 <span>设备管理</span> 5 <span>设备管理</span>
@@ -19,7 +19,7 @@ @@ -19,7 +19,7 @@
19 @click="diaUp = true" 19 @click="diaUp = true"
20 ></el-button> 20 ></el-button>
21 </el-tooltip> --> 21 </el-tooltip> -->
22 - <el-tooltip effect="dark" content="添加基站" placement="bottom"> 22 + <!-- <el-tooltip effect="dark" content="添加基站" placement="bottom">
23 <el-button 23 <el-button
24 type="primary" 24 type="primary"
25 icon="el-icon-receiving" 25 icon="el-icon-receiving"
@@ -28,10 +28,10 @@ @@ -28,10 +28,10 @@
28 circle 28 circle
29 @click="diaAnswerEqu = true" 29 @click="diaAnswerEqu = true"
30 ></el-button> 30 ></el-button>
31 - </el-tooltip> 31 + </el-tooltip> -->
32 </template> 32 </template>
33 </back-box> 33 </back-box>
34 - <div class="page-content"> 34 + <div>
35 <div class="tab-box"> 35 <div class="tab-box">
36 <el-radio-group v-model="type"> 36 <el-radio-group v-model="type">
37 <el-radio-button :label="1">基站管理</el-radio-button> 37 <el-radio-button :label="1">基站管理</el-radio-button>
@@ -401,12 +401,12 @@ @@ -401,12 +401,12 @@
401 </el-dialog> 401 </el-dialog>
402 <el-dialog title="修改基站" :visible.sync="diaAnswerEqu" width="400"> 402 <el-dialog title="修改基站" :visible.sync="diaAnswerEqu" width="400">
403 <el-form ref="forms" :model="form" :rules="formRules" label-width="140px"> 403 <el-form ref="forms" :model="form" :rules="formRules" label-width="140px">
404 - <el-form-item label="设备编码:" prop="deviceId"> 404 + <el-form-item label="设备编码:" prop="sn">
405 <el-col :span="16" 405 <el-col :span="16"
406 ><el-input 406 ><el-input
407 type="text" 407 type="text"
408 placeholder="输入设备编码" 408 placeholder="输入设备编码"
409 - v-model.trim="form.deviceId" 409 + v-model.trim="form.sn"
410 maxlength="30" 410 maxlength="30"
411 size="45" 411 size="45"
412 show-word-limit 412 show-word-limit
@@ -538,13 +538,14 @@ export default { @@ -538,13 +538,14 @@ export default {
538 ], 538 ],
539 form: { 539 form: {
540 deviceId: "", 540 deviceId: "",
  541 + sn: "",
541 frequency: "", 542 frequency: "",
542 pairingCode: "", 543 pairingCode: "",
543 classIds: [], 544 classIds: [],
544 roomName: "", 545 roomName: "",
545 }, 546 },
546 formRules: { 547 formRules: {
547 - deviceId: [ 548 + sn: [
548 { required: true, message: "请输入设备编码", trigger: "blur" }, 549 { required: true, message: "请输入设备编码", trigger: "blur" },
549 ], 550 ],
550 frequency: [{ required: true, message: "请输入频点", trigger: "blur" }], 551 frequency: [{ required: true, message: "请输入频点", trigger: "blur" }],
@@ -621,6 +622,7 @@ export default { @@ -621,6 +622,7 @@ export default {
621 this.form[key] = obj[key]; 622 this.form[key] = obj[key];
622 } 623 }
623 } 624 }
  625 + this.form.deviceId = obj.id
624 this.diaAnswerEqu = true; 626 this.diaAnswerEqu = true;
625 }, 627 },
626 linkTo(obj, type) { 628 linkTo(obj, type) {
@@ -765,6 +767,7 @@ export default { @@ -765,6 +767,7 @@ export default {
765 console.log(status); 767 console.log(status);
766 if (status === 0) { 768 if (status === 0) {
767 this.diaAnswerEqu = false; 769 this.diaAnswerEqu = false;
  770 + this.$message.success(info);
768 this._QueryData(); 771 this._QueryData();
769 } else { 772 } else {
770 this.$message.error(info); 773 this.$message.error(info);
@@ -794,7 +797,7 @@ export default { @@ -794,7 +797,7 @@ export default {
794 gradeList.children = 797 gradeList.children =
795 item.classList?.map((items) => { 798 item.classList?.map((items) => {
796 return { 799 return {
797 - value: Number(items.classCode), 800 + value: Number(items.id),
798 label: items.className, 801 label: items.className,
799 }; 802 };
800 }) || []; 803 }) || [];
@@ -912,15 +915,15 @@ export default { @@ -912,15 +915,15 @@ export default {
912 ? query.regionIds.remove(item[0]) 915 ? query.regionIds.remove(item[0])
913 : ""; 916 : "";
914 } else if (item.length == 3) { 917 } else if (item.length == 3) {
  918 + if (!query.schoolIds.includes(item[1])) {
  919 + query.schoolIds.push(item[1]);
  920 + }
915 if (!query.gradeNames.includes(item[2])) { 921 if (!query.gradeNames.includes(item[2])) {
916 query.gradeNames.push(item[2]); 922 query.gradeNames.push(item[2]);
917 } 923 }
918 query.regionIds.includes(item[0]) 924 query.regionIds.includes(item[0])
919 ? query.regionIds.remove(item[0]) 925 ? query.regionIds.remove(item[0])
920 : ""; 926 : "";
921 - query.schoolIds.includes(item[1])  
922 - ? query.schoolIds.remove(item[1])  
923 - : "";  
924 } else if (item.length == 4) { 927 } else if (item.length == 4) {
925 if (!query.classIds.includes(item[3])) { 928 if (!query.classIds.includes(item[3])) {
926 query.classIds.push(item[3]); 929 query.classIds.push(item[3]);
@@ -987,6 +990,9 @@ export default { @@ -987,6 +990,9 @@ export default {
987 })) || 990 })) ||
988 []; 991 [];
989 this.total = data.count; 992 this.total = data.count;
  993 + this.$nextTick(function(){
  994 + this.$refs.main.scrollTop = 0
  995 + })
990 } else { 996 } else {
991 this.$message.error(info); 997 this.$message.error(info);
992 } 998 }
@@ -997,10 +1003,12 @@ export default { @@ -997,10 +1003,12 @@ export default {
997 1003
998 <style lang="scss" scoped> 1004 <style lang="scss" scoped>
999 .page-content { 1005 .page-content {
1000 - padding: 20px 20px 0; 1006 + padding: 0 20px;
  1007 + height: 100%;
  1008 + overflow-y: auto;
1001 } 1009 }
1002 .tab-box { 1010 .tab-box {
1003 - margin-bottom: 12px; 1011 + padding:20px 0 12px
1004 } 1012 }
1005 .sel { 1013 .sel {
1006 width: 100%; 1014 width: 100%;
src/views/examinationPaper/add.vue
@@ -303,6 +303,7 @@ @@ -303,6 +303,7 @@
303 <el-dialog 303 <el-dialog
304 title="添加大题" 304 title="添加大题"
305 :visible.sync="addQuestionVisible" 305 :visible.sync="addQuestionVisible"
  306 + :close-on-click-modal="false"
306 width="600px" 307 width="600px"
307 > 308 >
308 <div class="dia-content"> 309 <div class="dia-content">
@@ -363,6 +364,7 @@ @@ -363,6 +364,7 @@
363 <el-input-number 364 <el-input-number
364 v-model="questionForm.score" 365 v-model="questionForm.score"
365 :min="1" 366 :min="1"
  367 + :max="100"
366 :precision="2" 368 :precision="2"
367 :step="1" 369 :step="1"
368 label="label" 370 label="label"
@@ -437,7 +439,7 @@ @@ -437,7 +439,7 @@
437 class="number-ipt" 439 class="number-ipt"
438 size="medium" 440 size="medium"
439 :min="1" 441 :min="1"
440 - :max="200" 442 + :max="100"
441 :precision="2" 443 :precision="2"
442 v-model="subQuestions.score" 444 v-model="subQuestions.score"
443 label="单题分值" 445 label="单题分值"
@@ -840,7 +842,7 @@ export default { @@ -840,7 +842,7 @@ export default {
840 842
841 console.log(this.formAns.answerList.split(",")[subNum - i]); 843 console.log(this.formAns.answerList.split(",")[subNum - i]);
842 } else if (this.formAns.qusType == 4) { 844 } else if (this.formAns.qusType == 4) {
843 - correctAnswer = this.formAns.answerList[subNum - i] == "✓" ? 1 : 2; 845 + correctAnswer = this.formAns.answerList[subNum - i] == "✓" ? 1 :this.formAns.answerList[subNum - i] == "✗" ? 2:"";
844 } 846 }
845 this.form.questionList[this.formAns.listIndex].subQuestions[ 847 this.form.questionList[this.formAns.listIndex].subQuestions[
846 EndIndex - i 848 EndIndex - i
src/views/layout/layout.vue
@@ -6,7 +6,9 @@ @@ -6,7 +6,9 @@
6 <layoutHeader></layoutHeader> 6 <layoutHeader></layoutHeader>
7 <el-main id="elmain"> 7 <el-main id="elmain">
8 <transition name="main" mode="out-in"> 8 <transition name="main" mode="out-in">
9 - <router-view></router-view> 9 + <keep-alive>
  10 + <router-view></router-view>
  11 + </keep-alive>
10 </transition> 12 </transition>
11 </el-main> 13 </el-main>
12 <el-footer height="28px"> 14 <el-footer height="28px">
@@ -109,7 +111,7 @@ ul.el-menu { @@ -109,7 +111,7 @@ ul.el-menu {
109 #elmain { 111 #elmain {
110 background-color: #fff; 112 background-color: #fff;
111 padding: 0; 113 padding: 0;
112 - min-height:calc(100% - 78px); 114 + min-height: calc(100% - 78px);
113 } 115 }
114 116
115 .avatar-uploader .el-upload { 117 .avatar-uploader .el-upload {
src/views/login/index.vue
@@ -95,8 +95,8 @@ export default { @@ -95,8 +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: "18314340313",
  99 + // password: "Pw340313#",
100 // username: "18687826606", 100 // username: "18687826606",
101 // password: "Pw826606#", 101 // password: "Pw826606#",
102 // username: "18893712576", 102 // username: "18893712576",
src/views/setUp/account.vue
@@ -71,6 +71,8 @@ @@ -71,6 +71,8 @@
71 " 71 "
72 v-model="query.loginName" 72 v-model="query.loginName"
73 class="input-with-select" 73 class="input-with-select"
  74 + type="number"
  75 + oninput="if(value.length > 11) value = value.slice(0,11)"
74 @keyup.enter.native="(page = 1), _QueryData(2)" 76 @keyup.enter.native="(page = 1), _QueryData(2)"
75 > 77 >
76 <el-button 78 <el-button
@@ -82,6 +84,7 @@ @@ -82,6 +84,7 @@
82 <el-input 84 <el-input
83 v-if="role != 'ROLE_JITUAN'" 85 v-if="role != 'ROLE_JITUAN'"
84 placeholder="请输入老师姓名" 86 placeholder="请输入老师姓名"
  87 + maxlength="30"
85 v-model="query.realName" 88 v-model="query.realName"
86 class="input-with-select" 89 class="input-with-select"
87 @keyup.enter.native="(page = 1), _QueryData(3)" 90 @keyup.enter.native="(page = 1), _QueryData(3)"
@@ -242,7 +245,8 @@ @@ -242,7 +245,8 @@
242 <el-input 245 <el-input
243 placeholder="请输入联系电话" 246 placeholder="请输入联系电话"
244 v-model.trim="formAddCount.phone" 247 v-model.trim="formAddCount.phone"
245 - maxlength="11" 248 + type="number"
  249 + oninput="if(value.length > 11) value = value.slice(0,11)"
246 > 250 >
247 </el-input> 251 </el-input>
248 </el-col> 252 </el-col>
@@ -323,7 +327,12 @@ @@ -323,7 +327,12 @@
323 </div> 327 </div>
324 </el-dialog> 328 </el-dialog>
325 <el-dialog title="导入账号名单" :visible.sync="diaUp" width="600"> 329 <el-dialog title="导入账号名单" :visible.sync="diaUp" width="600">
326 - <up-load id="downTeacher" :url="url" @upSuccess="upSuccess" fileName="教师名单"> 330 + <up-load
  331 + id="downTeacher"
  332 + :url="url"
  333 + @upSuccess="upSuccess"
  334 + fileName="教师名单"
  335 + >
327 <p class="down-txt" slot="down"> 336 <p class="down-txt" slot="down">
328 通过Excel名单导入账号名单,点击 337 通过Excel名单导入账号名单,点击
329 <el-link type="danger" @click="downExcel">模板下载</el-link> 。 338 <el-link type="danger" @click="downExcel">模板下载</el-link> 。
@@ -418,8 +427,9 @@ export default { @@ -418,8 +427,9 @@ export default {
418 this._QueryData(4); 427 this._QueryData(4);
419 }, 428 },
420 methods: { 429 methods: {
421 - upSuccess(){//导入成功  
422 - this.diaUp = false 430 + upSuccess() {
  431 + //导入成功
  432 + this.diaUp = false;
423 this._QueryData(4); 433 this._QueryData(4);
424 }, 434 },
425 async downExcel() { 435 async downExcel() {
src/views/setUp/student.vue
@@ -40,7 +40,7 @@ @@ -40,7 +40,7 @@
40 <li 40 <li
41 class="stu-item" 41 class="stu-item"
42 v-for="item in classList" 42 v-for="item in classList"
43 - :key="item.classCode" 43 + :key="item.id"
44 :class="query.classId == item.id ? 'active' : ''" 44 :class="query.classId == item.id ? 'active' : ''"
45 @click="classDetail(item)" 45 @click="classDetail(item)"
46 > 46 >
src/views/setUp/teacher.vue
@@ -737,7 +737,7 @@ export default { @@ -737,7 +737,7 @@ export default {
737 this.classList = 737 this.classList =
738 data.list.map((item) => { 738 data.list.map((item) => {
739 return { 739 return {
740 - value: item.classCode, 740 + value: item.id,
741 label: item.className, 741 label: item.className,
742 grade: item.grade, 742 grade: item.grade,
743 children: this.subjectList.map((sub) => { 743 children: this.subjectList.map((sub) => {
src/views/test/index.vue
@@ -105,6 +105,7 @@ @@ -105,6 +105,7 @@
105 <el-table-column 105 <el-table-column
106 prop="title" 106 prop="title"
107 label="试卷名称" 107 label="试卷名称"
  108 + fixed
108 align="center" 109 align="center"
109 ></el-table-column> 110 ></el-table-column>
110 <el-table-column 111 <el-table-column