Commit 5cfb0264c54052a4a0391814b35e832b7cfa961c
1 parent
c8c928f4
班级管理交互优化
Showing
30 changed files
with
234 additions
and
102 deletions
src/assets/css/index.scss
... | ... | @@ -80,6 +80,7 @@ |
80 | 80 | |
81 | 81 | .answer-box { |
82 | 82 | padding-top: 12px; |
83 | + | |
83 | 84 | .answer-s { |
84 | 85 | display: inline-block; |
85 | 86 | width: 30px; |
... | ... | @@ -91,6 +92,7 @@ |
91 | 92 | color: #333; |
92 | 93 | text-align: center; |
93 | 94 | line-height: 30px; |
95 | + user-select: none; | |
94 | 96 | |
95 | 97 | &.active { |
96 | 98 | background: #5e78fa; |
... | ... | @@ -175,4 +177,35 @@ ul { |
175 | 177 | &::-webkit-scrollbar { |
176 | 178 | width: 0; |
177 | 179 | } |
180 | +} | |
181 | + | |
182 | +@media screen and (max-width: 1500px) { | |
183 | + .answer-box { | |
184 | + .answer-s { | |
185 | + width: 24px !important; | |
186 | + height: 24px !important; | |
187 | + line-height: 24px !important; | |
188 | + margin: 0 5px 10px !important; | |
189 | + } | |
190 | + } | |
191 | + | |
192 | + .question-box { | |
193 | + .el-button--mini.is-circle { | |
194 | + padding: 4px !important; | |
195 | + } | |
196 | + } | |
197 | + | |
198 | + .sub-questions { | |
199 | + .qs-num { | |
200 | + width: 50px !important; | |
201 | + } | |
202 | + | |
203 | + .qs-score { | |
204 | + width: 148px !important; | |
205 | + } | |
206 | + | |
207 | + .qs-partScore { | |
208 | + width: 148px !important; | |
209 | + } | |
210 | + } | |
178 | 211 | } |
179 | 212 | \ No newline at end of file | ... | ... |
src/components/setAnswer.vue
src/components/upload.vue
src/views/admin/account/index.vue
... | ... | @@ -161,7 +161,7 @@ |
161 | 161 | </el-pagination> |
162 | 162 | </div> |
163 | 163 | </div> |
164 | - <el-dialog title="修改账号信息" :visible.sync="diaCount" width="400"> | |
164 | + <el-dialog :close-on-click-modal="false" title="修改账号信息" :visible.sync="diaCount" width="400"> | |
165 | 165 | <el-form |
166 | 166 | class="form-box" |
167 | 167 | :model="formCount" |
... | ... | @@ -223,7 +223,7 @@ |
223 | 223 | <el-button @click="diaCount = false">取 消</el-button> |
224 | 224 | </div> |
225 | 225 | </el-dialog> |
226 | - <el-dialog title="添加账号" :visible.sync="diaAdd" width="400"> | |
226 | + <el-dialog :close-on-click-modal="false" title="添加账号" :visible.sync="diaAdd" width="400"> | |
227 | 227 | <el-form |
228 | 228 | class="form-box" |
229 | 229 | :model="formAddCount" | ... | ... |
src/views/admin/clientVersion/index.vue
src/views/examinationPaper/add.vue
... | ... | @@ -114,7 +114,7 @@ |
114 | 114 | > |
115 | 115 | <el-button type="primary" round @click="setStep1">下一步</el-button> |
116 | 116 | </div> |
117 | - <el-dialog | |
117 | + <el-dialog :close-on-click-modal="false" | |
118 | 118 | title="设置测验类型" |
119 | 119 | :visible.sync="dialogVisible" |
120 | 120 | width="500px" |
... | ... | @@ -445,10 +445,9 @@ |
445 | 445 | >下一步</el-button |
446 | 446 | > |
447 | 447 | </div> |
448 | - <el-dialog | |
448 | + <el-dialog :close-on-click-modal="false" | |
449 | 449 | title="添加大题" |
450 | 450 | :visible.sync="addQuestionVisible" |
451 | - :close-on-click-modal="false" | |
452 | 451 | width="600px" |
453 | 452 | > |
454 | 453 | <div class="dia-content"> |
... | ... | @@ -765,10 +764,9 @@ |
765 | 764 | </li> |
766 | 765 | </ul> |
767 | 766 | </div> |
768 | - <el-dialog | |
767 | + <el-dialog :close-on-click-modal="false" | |
769 | 768 | title="批量设置答案" |
770 | 769 | :visible.sync="diaSetAns" |
771 | - :close-on-click-modal="false" | |
772 | 770 | width="400" |
773 | 771 | :modal-append-to-body="false" |
774 | 772 | > |
... | ... | @@ -862,7 +860,7 @@ |
862 | 860 | <el-button type="primary" round @click="save">保存</el-button> |
863 | 861 | </div> |
864 | 862 | </div> |
865 | - <el-dialog | |
863 | + <el-dialog :close-on-click-modal="false" | |
866 | 864 | :title="stem.type == 1 ? '上传题干' : '上传题目解析'" |
867 | 865 | :visible.sync="dialogStem" |
868 | 866 | v-if="dialogStem" |
... | ... | @@ -893,7 +891,7 @@ |
893 | 891 | <el-button @click="dialogStem = false">关闭弹窗</el-button> |
894 | 892 | </div> |
895 | 893 | </el-dialog> |
896 | - <el-dialog title="题目打标" :visible.sync="dialogTag" width="500"> | |
894 | + <el-dialog :close-on-click-modal="false" title="题目打标" :visible.sync="dialogTag" width="500"> | |
897 | 895 | <div> |
898 | 896 | <el-form ref="form" :model="stem" label-width="160px"> |
899 | 897 | <el-form-item label="题目难度:"> | ... | ... |
src/views/examinationPaper/edit.vue
... | ... | @@ -310,9 +310,8 @@ |
310 | 310 | <el-button type="danger" plain round @click="linkBack">取消</el-button> |
311 | 311 | <el-button type="primary" round @click="save">保存</el-button> |
312 | 312 | </div> |
313 | - <el-dialog | |
313 | + <el-dialog :close-on-click-modal="false" | |
314 | 314 | title="批量设置答案" |
315 | - :close-on-click-modal="false" | |
316 | 315 | :visible.sync="diaSetAns" |
317 | 316 | width="400" |
318 | 317 | :modal-append-to-body="false" |
... | ... | @@ -395,7 +394,7 @@ |
395 | 394 | <el-button @click="diaSetAns = false">取 消</el-button> |
396 | 395 | </div> |
397 | 396 | </el-dialog> |
398 | - <el-dialog | |
397 | + <el-dialog :close-on-click-modal="false" | |
399 | 398 | :title="stem.type == 1 ? '上传题干' : '上传题目解析'" |
400 | 399 | :visible.sync="dialogStem" |
401 | 400 | v-if="dialogStem" |
... | ... | @@ -428,7 +427,7 @@ |
428 | 427 | <el-button @click="dialogStem = false">关闭弹窗</el-button> |
429 | 428 | </div> |
430 | 429 | </el-dialog> |
431 | - <el-dialog title="题目打标" :visible.sync="dialogTag" width="500"> | |
430 | + <el-dialog :close-on-click-modal="false" title="题目打标" :visible.sync="dialogTag" width="500"> | |
432 | 431 | <div> |
433 | 432 | <el-form ref="form" :model="stem" label-width="160px"> |
434 | 433 | <el-form-item label="题目难度:"> | ... | ... |
src/views/examinationPaper/index.vue
... | ... | @@ -192,7 +192,7 @@ |
192 | 192 | content="没有更多数据" |
193 | 193 | :image-size="100" |
194 | 194 | ></el-empty> |
195 | - <el-dialog title="选择分享范围" :visible.sync="dialogVisible" width="400"> | |
195 | + <el-dialog :close-on-click-modal="false" title="选择分享范围" :visible.sync="dialogVisible" width="400"> | |
196 | 196 | <el-form :model="shareForm" :rules="shareRulesForm" label-width="160px"> |
197 | 197 | <el-form-item prop="share" label="分享范围:"> |
198 | 198 | <el-radio-group v-model="shareForm.sharingType"> | ... | ... |
src/views/layout/header/header.vue
... | ... | @@ -104,7 +104,7 @@ |
104 | 104 | </ul> |
105 | 105 | </el-header> |
106 | 106 | <!-- <tabNav></tabNav> --> |
107 | - <el-dialog title="修改密码" :visible.sync="diaPass" width="400"> | |
107 | + <el-dialog :close-on-click-modal="false" title="修改密码" :visible.sync="diaPass" width="400"> | |
108 | 108 | <el-form |
109 | 109 | v-loading="loading" |
110 | 110 | ref="formPass" | ... | ... |
src/views/personal/dataSync/index.vue
... | ... | @@ -40,7 +40,7 @@ |
40 | 40 | </div> |
41 | 41 | </div> |
42 | 42 | </div> |
43 | - <el-dialog title="" :visible.sync="dialogVisible" width="300" center> | |
43 | + <el-dialog :close-on-click-modal="false" title="" :visible.sync="dialogVisible" width="300" center> | |
44 | 44 | <el-result icon="success" title="上传成功"> </el-result> |
45 | 45 | <el-descriptions title="" :column="1"> |
46 | 46 | <el-descriptions-item label="导入答题卡数量">{{tipData.paperNum}}</el-descriptions-item> | ... | ... |
src/views/personal/setUp/student.vue
... | ... | @@ -90,7 +90,7 @@ |
90 | 90 | </div> |
91 | 91 | </div> |
92 | 92 | </div> |
93 | - <el-dialog title="添加学生" :visible.sync="diaStu" width="400"> | |
93 | + <el-dialog :close-on-click-modal="false" title="添加学生" :visible.sync="diaStu" width="400"> | |
94 | 94 | <el-form |
95 | 95 | ref="formBox" |
96 | 96 | :model="formStu" |
... | ... | @@ -140,7 +140,7 @@ |
140 | 140 | <el-button @click="diaStu = false">取 消</el-button> |
141 | 141 | </div> |
142 | 142 | </el-dialog> |
143 | - <el-dialog | |
143 | + <el-dialog :close-on-click-modal="false" | |
144 | 144 | :title="formClass.classId ? '修改班级' : '添加班级'" |
145 | 145 | :visible.sync="diaClass" |
146 | 146 | width="400" |
... | ... | @@ -194,7 +194,7 @@ |
194 | 194 | > |
195 | 195 | </div> |
196 | 196 | </el-dialog> |
197 | - <el-dialog title="学生导入" :visible.sync="diaUp" width="600"> | |
197 | + <el-dialog :close-on-click-modal="false" title="学生导入" :visible.sync="diaUp" width="600"> | |
198 | 198 | <up-load :url="url" @upSuccess="upSuccess" fileName="学生模板"> |
199 | 199 | <p class="down-txt" slot="down"> |
200 | 200 | 通过Excel名单导入学生模板,点击 | ... | ... |
src/views/personal/test/analysis.vue
... | ... | @@ -402,7 +402,7 @@ |
402 | 402 | > |
403 | 403 | </div> |
404 | 404 | </div> |
405 | - <el-dialog title="导入主观题分数" :visible.sync="diaUp" width="600"> | |
405 | + <el-dialog :close-on-click-modal="false" title="导入主观题分数" :visible.sync="diaUp" width="600"> | |
406 | 406 | <up-load :url="url" :examId="id" @upSuccess="upSuccess"> |
407 | 407 | <template slot="down"> |
408 | 408 | <p class="down-txt"> | ... | ... |
src/views/personal/test/index.vue
... | ... | @@ -412,7 +412,7 @@ |
412 | 412 | > |
413 | 413 | </p> |
414 | 414 | </div> |
415 | - <el-dialog title="导入主观题分数" :visible.sync="diaUp" width="600"> | |
415 | + <el-dialog :close-on-click-modal="false" title="导入主观题分数" :visible.sync="diaUp" width="600"> | |
416 | 416 | <up-load |
417 | 417 | :url="url" |
418 | 418 | :examId="examId" | ... | ... |
src/views/personal/userInfo/index.vue
... | ... | @@ -25,7 +25,7 @@ |
25 | 25 | </ul> |
26 | 26 | </div> |
27 | 27 | </div> |
28 | - <el-dialog title="修改个人信息" :visible.sync="diaSchool" width="400"> | |
28 | + <el-dialog :close-on-click-modal="false" title="修改个人信息" :visible.sync="diaSchool" width="400"> | |
29 | 29 | <el-form |
30 | 30 | ref="formSchool" |
31 | 31 | class="form-box" |
... | ... | @@ -64,7 +64,7 @@ |
64 | 64 | <el-button @click="diaSchool = false">取 消</el-button> |
65 | 65 | </div> |
66 | 66 | </el-dialog> |
67 | - <el-dialog title="修改密码" :visible.sync="diaPass" width="400"> | |
67 | + <el-dialog :close-on-click-modal="false" title="修改密码" :visible.sync="diaPass" width="400"> | |
68 | 68 | <el-form |
69 | 69 | ref="formPass" |
70 | 70 | class="form-box" | ... | ... |
src/views/standard/card/index.vue
... | ... | @@ -146,8 +146,11 @@ |
146 | 146 | }} |
147 | 147 | </template></el-table-column |
148 | 148 | > |
149 | - <el-table-column align="center" label="操作次数" prop="operations"></el-table-column | |
150 | - > | |
149 | + <el-table-column | |
150 | + align="center" | |
151 | + label="操作次数" | |
152 | + prop="operations" | |
153 | + ></el-table-column> | |
151 | 154 | <el-table-column align="center" label="描述"> |
152 | 155 | <template slot-scope="scope"> |
153 | 156 | {{ |
... | ... | @@ -163,6 +166,7 @@ |
163 | 166 | align="center" |
164 | 167 | label="操作时间" |
165 | 168 | prop="modifiedTime" |
169 | + width="160" | |
166 | 170 | ></el-table-column> |
167 | 171 | </el-table> |
168 | 172 | <div class="pagination-box"> |
... | ... | @@ -333,6 +337,19 @@ export default { |
333 | 337 | return query; |
334 | 338 | }, |
335 | 339 | async _QueryData(type) { |
340 | + if (this.role == "ROLE_XUEXIAO") { | |
341 | + if (type == 2) { | |
342 | + if (!this.query.studentName) { | |
343 | + this.$message.warning("输入学生姓名~"); | |
344 | + return; | |
345 | + } | |
346 | + } else if (type == 3) { | |
347 | + if (!this.query.studentCode) { | |
348 | + this.$message.warning("输入学生学号~"); | |
349 | + return; | |
350 | + } | |
351 | + } | |
352 | + } | |
336 | 353 | let query = this.serQuery(type); |
337 | 354 | this.loading = true; |
338 | 355 | const { data, status, info } = await this.$request.cardList({ | ... | ... |
src/views/standard/dataSync/index.vue
... | ... | @@ -40,7 +40,7 @@ |
40 | 40 | </div> |
41 | 41 | </div> |
42 | 42 | </div> |
43 | - <el-dialog title="" :visible.sync="dialogVisible" width="300" center> | |
43 | + <el-dialog :close-on-click-modal="false" title="" :visible.sync="dialogVisible" width="300" center> | |
44 | 44 | <el-result icon="success" title="上传成功"> </el-result> |
45 | 45 | <el-descriptions title="" :column="1"> |
46 | 46 | <el-descriptions-item label="导入答题卡数量">{{tipData.paperNum}}</el-descriptions-item> | ... | ... |
src/views/standard/device/error.vue
... | ... | @@ -95,7 +95,7 @@ |
95 | 95 | </el-pagination> |
96 | 96 | </div> |
97 | 97 | </div> |
98 | - <el-dialog title="备注" :visible.sync="diaNotes" width="400"> | |
98 | + <el-dialog :close-on-click-modal="false" title="备注" :visible.sync="diaNotes" width="400"> | |
99 | 99 | <el-form ref="formClass" label-width="100px"> |
100 | 100 | <el-form-item label="处理备注:" prop="studentName"> |
101 | 101 | <el-col :span="12"> | ... | ... |
src/views/standard/device/index.vue
... | ... | @@ -516,7 +516,7 @@ |
516 | 516 | </div> |
517 | 517 | </div> |
518 | 518 | </div> |
519 | - <el-dialog title="设备导入" :visible.sync="diaUp" width="400"> | |
519 | + <el-dialog :close-on-click-modal="false" title="设备导入" :visible.sync="diaUp" width="400"> | |
520 | 520 | <up-load :url="url" @upSuccess="upSuccess" fileName="设备信息"> |
521 | 521 | <p class="down-txt" slot="down"> |
522 | 522 | 通过Excel名单导入设备,需要提供设备编码,点击 |
... | ... | @@ -527,7 +527,7 @@ |
527 | 527 | <el-button @click="diaUp = false">取 消</el-button> |
528 | 528 | </div> |
529 | 529 | </el-dialog> |
530 | - <el-dialog | |
530 | + <el-dialog :close-on-click-modal="false" | |
531 | 531 | :title="isAdd ? '添加基站' : '修改基站'" |
532 | 532 | :visible.sync="diaAnswerEqu" |
533 | 533 | width="400" | ... | ... |
src/views/standard/examinationPaper/add.vue
... | ... | @@ -106,7 +106,7 @@ |
106 | 106 | > |
107 | 107 | <el-button type="primary" round @click="setStep1">下一步</el-button> |
108 | 108 | </div> |
109 | - <el-dialog | |
109 | + <el-dialog :close-on-click-modal="false" | |
110 | 110 | title="设置测验类型" |
111 | 111 | :visible.sync="dialogVisible" |
112 | 112 | width="500px" |
... | ... | @@ -413,10 +413,9 @@ |
413 | 413 | >下一步</el-button |
414 | 414 | > |
415 | 415 | </div> |
416 | - <el-dialog | |
416 | + <el-dialog :close-on-click-modal="false" | |
417 | 417 | title="添加大题" |
418 | 418 | :visible.sync="addQuestionVisible" |
419 | - :close-on-click-modal="false" | |
420 | 419 | width="600px" |
421 | 420 | > |
422 | 421 | <div class="dia-content"> |
... | ... | @@ -733,10 +732,9 @@ |
733 | 732 | </li> |
734 | 733 | </ul> |
735 | 734 | </div> |
736 | - <el-dialog | |
735 | + <el-dialog :close-on-click-modal="false" | |
737 | 736 | title="批量设置答案" |
738 | 737 | :visible.sync="diaSetAns" |
739 | - :close-on-click-modal="false" | |
740 | 738 | width="400" |
741 | 739 | :modal-append-to-body="false" |
742 | 740 | > | ... | ... |
src/views/standard/examinationPaper/edit.vue
... | ... | @@ -242,9 +242,8 @@ |
242 | 242 | <el-button type="danger" plain round @click="linkBack">取消</el-button> |
243 | 243 | <el-button type="primary" round @click="save">保存</el-button> |
244 | 244 | </div> |
245 | - <el-dialog | |
245 | + <el-dialog :close-on-click-modal="false" | |
246 | 246 | title="批量设置答案" |
247 | - :close-on-click-modal="false" | |
248 | 247 | :visible.sync="diaSetAns" |
249 | 248 | width="400" |
250 | 249 | :modal-append-to-body="false" | ... | ... |
src/views/standard/examinationPaper/index.vue
... | ... | @@ -166,7 +166,7 @@ |
166 | 166 | content="没有更多数据" |
167 | 167 | :image-size="100" |
168 | 168 | ></el-empty> |
169 | - <el-dialog title="选择分享范围" :visible.sync="dialogVisible" width="400"> | |
169 | + <el-dialog :close-on-click-modal="false" title="选择分享范围" :visible.sync="dialogVisible" width="400"> | |
170 | 170 | <el-form :model="shareForm" :rules="shareRulesForm" label-width="160px"> |
171 | 171 | <el-form-item prop="share" label="分享范围:"> |
172 | 172 | <el-radio-group v-model="shareForm.sharingType"> | ... | ... |
src/views/standard/setUp/account.vue
... | ... | @@ -213,7 +213,7 @@ |
213 | 213 | </el-pagination> |
214 | 214 | </div> |
215 | 215 | </div> |
216 | - <el-dialog title="修改账号信息" :visible.sync="diaCount" width="400"> | |
216 | + <el-dialog :close-on-click-modal="false" title="修改账号信息" :visible.sync="diaCount" width="400"> | |
217 | 217 | <el-form |
218 | 218 | class="form-box" |
219 | 219 | :model="formCount" |
... | ... | @@ -249,7 +249,7 @@ |
249 | 249 | <el-button @click="diaCount = false">取 消</el-button> |
250 | 250 | </div> |
251 | 251 | </el-dialog> |
252 | - <el-dialog title="添加账号" :visible.sync="diaAdd" width="400"> | |
252 | + <el-dialog :close-on-click-modal="false" title="添加账号" :visible.sync="diaAdd" width="400"> | |
253 | 253 | <el-form |
254 | 254 | class="form-box" |
255 | 255 | :model="formAddCount" |
... | ... | @@ -349,7 +349,7 @@ |
349 | 349 | <el-button @click="diaAdd = false">取 消</el-button> |
350 | 350 | </div> |
351 | 351 | </el-dialog> |
352 | - <el-dialog title="导入账号名单" :visible.sync="diaUp" width="600"> | |
352 | + <el-dialog :close-on-click-modal="false" title="导入账号名单" :visible.sync="diaUp" width="600"> | |
353 | 353 | <up-load |
354 | 354 | id="downTeacher" |
355 | 355 | :url="url" | ... | ... |
src/views/standard/setUp/archived.vue
... | ... | @@ -34,11 +34,24 @@ |
34 | 34 | <div class="form-item"> |
35 | 35 | <span class="s-txt">确定班级:</span> |
36 | 36 | <i class="el-icon-loading" v-show="loadingClass"></i> |
37 | - <el-checkbox-group v-model="classIds"> | |
38 | - <el-checkbox v-for="item in classList" :label="item.id">{{ | |
39 | - item.className | |
40 | - }}</el-checkbox> | |
41 | - </el-checkbox-group> | |
37 | + <div class="check-box" v-if="classList.length && !loadingClass"> | |
38 | + <p class="all-check"> | |
39 | + <el-checkbox | |
40 | + :indeterminate="isIndeterminate" | |
41 | + v-model="checkAll" | |
42 | + @change="handleCheckAllChange" | |
43 | + >全选</el-checkbox | |
44 | + > | |
45 | + </p> | |
46 | + <el-checkbox-group | |
47 | + v-model="classIds" | |
48 | + @change="handleCheckedChange" | |
49 | + > | |
50 | + <el-checkbox v-for="item in classList" :label="item.id">{{ | |
51 | + item.className | |
52 | + }}</el-checkbox> | |
53 | + </el-checkbox-group> | |
54 | + </div> | |
42 | 55 | </div> |
43 | 56 | <div class="form-item"> |
44 | 57 | <span class="s-txt"></span> |
... | ... | @@ -159,12 +172,28 @@ export default { |
159 | 172 | classList: [], |
160 | 173 | urlClazz: "/api_html/school/manager/importClassAndStudent", |
161 | 174 | urlTeacher: "/api_html/school/manager/importTeacher", |
175 | + checkAll: true, | |
176 | + isIndeterminate: false, | |
162 | 177 | }; |
163 | 178 | }, |
164 | 179 | created() { |
165 | 180 | this._QueryDataGrade(); |
166 | 181 | }, |
167 | 182 | methods: { |
183 | + handleCheckAllChange(val) { | |
184 | + this.classIds = val | |
185 | + ? this.classList.map((item) => { | |
186 | + return item.id; | |
187 | + }) | |
188 | + : []; | |
189 | + this.isIndeterminate = false; | |
190 | + }, | |
191 | + handleCheckedChange(value) { | |
192 | + let checkedCount = value.length; | |
193 | + this.checkAll = checkedCount === this.classList.length; | |
194 | + this.isIndeterminate = | |
195 | + checkedCount > 0 && checkedCount < this.classList.length; | |
196 | + }, | |
168 | 197 | toClazz() { |
169 | 198 | this.$router.push({ |
170 | 199 | path: "/setUpClazz", |
... | ... | @@ -268,7 +297,10 @@ export default { |
268 | 297 | this.loadingClass = false; |
269 | 298 | if (status === 0) { |
270 | 299 | this.classList = (data.list && [...data.list]) || []; |
271 | - this.classIds = []; | |
300 | + this.classIds = this.classList.map((item) => { | |
301 | + return item.id; | |
302 | + }); | |
303 | + this.checkAll = true; | |
272 | 304 | } else { |
273 | 305 | this.$message.error(info); |
274 | 306 | } |
... | ... | @@ -290,6 +322,12 @@ export default { |
290 | 322 | width: 70%; |
291 | 323 | display: flex; |
292 | 324 | margin: 0 auto 20px; |
325 | + .check-box { | |
326 | + flex: 1; | |
327 | + } | |
328 | + .all-check { | |
329 | + margin-right: 30px; | |
330 | + } | |
293 | 331 | &:first-of-type { |
294 | 332 | .s-txt { |
295 | 333 | line-height: 40px; | ... | ... |
src/views/standard/setUp/clazz.vue
... | ... | @@ -40,6 +40,9 @@ |
40 | 40 | <div class="grade-item" v-for="(item, index) in dataList"> |
41 | 41 | <p class="h-title"> |
42 | 42 | <span>{{ item.gradeName }}</span> |
43 | + <span class="s-num" v-if="item.classList" | |
44 | + >(共{{ item.classList.length }}个班)</span | |
45 | + > | |
43 | 46 | <el-button |
44 | 47 | class="sub-btn" |
45 | 48 | type="info" |
... | ... | @@ -71,8 +74,8 @@ |
71 | 74 | ></i> |
72 | 75 | </p> |
73 | 76 | <div class="clazz-class"> |
74 | - <span>学生:{{ clazz.studentCount }}个</span> | |
75 | - <span>教师:{{ clazz.teacherCount }}个</span> | |
77 | + <p>学生:{{ clazz.studentCount }}个</p> | |
78 | + <p>教师:{{ clazz.teacherCount }}个</p> | |
76 | 79 | </div> |
77 | 80 | </div> |
78 | 81 | </li> |
... | ... | @@ -80,7 +83,12 @@ |
80 | 83 | </div> |
81 | 84 | </div> |
82 | 85 | </div> |
83 | - <el-dialog title="导入班级名单" :visible.sync="diaUp" width="600"> | |
86 | + <el-dialog | |
87 | + :close-on-click-modal="false" | |
88 | + title="导入班级名单" | |
89 | + :visible.sync="diaUp" | |
90 | + width="600" | |
91 | + > | |
84 | 92 | <up-load :url="url" @upSuccess="upSuccess" fileName="班级名单"> |
85 | 93 | <p class="down-txt" slot="down"> |
86 | 94 | 通过Excel名单导入班级名单,点击 |
... | ... | @@ -91,7 +99,12 @@ |
91 | 99 | <el-button @click="diaUp = false">取 消</el-button> |
92 | 100 | </div> |
93 | 101 | </el-dialog> |
94 | - <el-dialog title="修改班级" :visible.sync="diaClass" width="400"> | |
102 | + <el-dialog | |
103 | + :close-on-click-modal="false" | |
104 | + title="修改班级" | |
105 | + :visible.sync="diaClass" | |
106 | + width="400" | |
107 | + > | |
95 | 108 | <el-form |
96 | 109 | ref="formClass" |
97 | 110 | :model="formClass" |
... | ... | @@ -136,10 +149,14 @@ |
136 | 149 | </el-popconfirm> |
137 | 150 | </div> |
138 | 151 | </el-dialog> |
139 | - <el-dialog :visible.sync="diaSubject" width="400"> | |
152 | + <el-dialog | |
153 | + :close-on-click-modal="false" | |
154 | + :visible.sync="diaSubject" | |
155 | + width="400" | |
156 | + > | |
140 | 157 | <p slot="title" class="dia-tit"> |
141 | 158 | {{ formClass.gradeName }} |
142 | - <span class="tips">(默认科目和已经有任课老师的提示不能删除)</span> | |
159 | + <span class="tips">(默认科目和已经有任课老师的科目不能删除)</span> | |
143 | 160 | </p> |
144 | 161 | <el-form class="form-box" label-width="80px" v-loading="loadingSub"> |
145 | 162 | <el-form-item label="科目:"> |
... | ... | @@ -169,11 +186,11 @@ |
169 | 186 | v-show="item.checked" |
170 | 187 | @click="_EditSub(item)" |
171 | 188 | ></i> |
172 | - <i | |
189 | + <!-- <i | |
173 | 190 | class="el-icon el-icon-close" |
174 | 191 | v-show="item.checked" |
175 | 192 | @click="resetSub(item)" |
176 | - ></i> | |
193 | + ></i> --> | |
177 | 194 | <i |
178 | 195 | v-show="!item.checked" |
179 | 196 | class="el-icon el-icon-delete" |
... | ... | @@ -212,6 +229,13 @@ export default { |
212 | 229 | components: { |
213 | 230 | draggable, |
214 | 231 | }, |
232 | + watch: { | |
233 | + diaSubject: function (val) { | |
234 | + if (!val) { | |
235 | + this.subjectName = ""; | |
236 | + } | |
237 | + }, | |
238 | + }, | |
215 | 239 | data() { |
216 | 240 | return { |
217 | 241 | code: "", |
... | ... | @@ -272,11 +296,19 @@ export default { |
272 | 296 | upSuccess(res) { |
273 | 297 | //导入成功 |
274 | 298 | this.$message.closeAll(); |
299 | + let txt = ""; | |
300 | + if (res.data.errorInfo && res.data.errorInfo.length) { | |
301 | + res.data.errorInfo.map((item) => { | |
302 | + txt += `<p style="padding-top:5px;">第${item.row}行:${item.error}</p>`; | |
303 | + }); | |
304 | + } | |
305 | + let sTxt = `<p>成功(${res.data.success})</p>`; | |
275 | 306 | this.$message({ |
276 | 307 | showClose: true, |
277 | - message: `成功(${res.data.success})`, | |
308 | + dangerouslyUseHTMLString: true, | |
309 | + message: sTxt + txt, | |
278 | 310 | type: "success", |
279 | - duration: 5000, | |
311 | + duration: 10000, | |
280 | 312 | }); |
281 | 313 | this.diaUp = false; |
282 | 314 | this._QueryData(); |
... | ... | @@ -492,6 +524,9 @@ export default { |
492 | 524 | .h-title { |
493 | 525 | display: flex; |
494 | 526 | align-items: center; |
527 | + .s-num { | |
528 | + font-size: 13px; | |
529 | + } | |
495 | 530 | .sub-btn { |
496 | 531 | margin-left: 30px; |
497 | 532 | } |
... | ... | @@ -510,10 +545,10 @@ export default { |
510 | 545 | .grade-info { |
511 | 546 | display: flex; |
512 | 547 | flex-wrap: wrap; |
513 | - padding: 20px 20px 0; | |
548 | + padding: 10px 20px 0; | |
514 | 549 | .clazz-li { |
515 | - margin-right: 30px; | |
516 | - margin-bottom: 20px; | |
550 | + margin-right: 20px; | |
551 | + margin-bottom: 18px; | |
517 | 552 | position: relative; |
518 | 553 | background: #fff; |
519 | 554 | .el-icon-edit { |
... | ... | @@ -531,22 +566,28 @@ export default { |
531 | 566 | } |
532 | 567 | |
533 | 568 | .clazz-item { |
534 | - width: 220px; | |
569 | + min-width: 100px; | |
535 | 570 | box-sizing: border-box; |
536 | - padding: 16px; | |
571 | + padding: 14px 18px 14px 14px; | |
537 | 572 | border-radius: 10px; |
538 | 573 | box-shadow: 1px 1px 3px #888; |
539 | 574 | } |
540 | 575 | .clazz-name { |
541 | 576 | font-size: 16px; |
542 | - font-weight: bold; | |
577 | + font-weight: 700; | |
543 | 578 | line-height: 18px; |
544 | - padding-bottom: 12px; | |
579 | + padding-bottom: 6px; | |
580 | + position: relative; | |
581 | + .el-icon-edit { | |
582 | + position: absolute; | |
583 | + right: -16px; | |
584 | + top: -10px; | |
585 | + } | |
545 | 586 | } |
546 | 587 | .clazz-class { |
547 | - display: flex; | |
548 | - justify-content: space-between; | |
549 | - font-size: 15px; | |
588 | + // display: flex; | |
589 | + // justify-content: space-between; | |
590 | + font-size: 14px; | |
550 | 591 | } |
551 | 592 | } |
552 | 593 | } | ... | ... |
src/views/standard/setUp/conglomerate.vue
... | ... | @@ -86,7 +86,7 @@ |
86 | 86 | </div> |
87 | 87 | </div> |
88 | 88 | </div> |
89 | - <el-dialog | |
89 | + <el-dialog :close-on-click-modal="false" | |
90 | 90 | :title="isAdd ? '添加区域/集团' : '修改区域/集团'" |
91 | 91 | :visible.sync="diaCL" |
92 | 92 | width="400" |
... | ... | @@ -113,7 +113,7 @@ |
113 | 113 | <el-button round @click="diaCL = false">取 消</el-button> |
114 | 114 | </div> |
115 | 115 | </el-dialog> |
116 | - <el-dialog title="添加管理员" :visible.sync="diaAdmin" width="400"> | |
116 | + <el-dialog :close-on-click-modal="false" title="添加管理员" :visible.sync="diaAdmin" width="400"> | |
117 | 117 | <el-form |
118 | 118 | class="form-box" |
119 | 119 | ref="formAdmin" |
... | ... | @@ -158,7 +158,7 @@ |
158 | 158 | <el-button round @click="diaAdmin = false">取 消</el-button> |
159 | 159 | </div> |
160 | 160 | </el-dialog> |
161 | - <el-dialog title="添加学校" :visible.sync="diaSchool" width="400"> | |
161 | + <el-dialog :close-on-click-modal="false" title="添加学校" :visible.sync="diaSchool" width="400"> | |
162 | 162 | <el-form |
163 | 163 | class="form-box" |
164 | 164 | ref="formSchool" |
... | ... | @@ -208,7 +208,7 @@ |
208 | 208 | <el-button round @click="diaSchool = false">取 消</el-button> |
209 | 209 | </div> |
210 | 210 | </el-dialog> |
211 | - <el-dialog title="学校信息修改" :visible.sync="diaSchool2" width="400"> | |
211 | + <el-dialog :close-on-click-modal="false" title="学校信息修改" :visible.sync="diaSchool2" width="400"> | |
212 | 212 | <el-form |
213 | 213 | class="form-box" |
214 | 214 | ref="formSchool2" | ... | ... |
src/views/standard/setUp/school.vue
... | ... | @@ -74,7 +74,7 @@ |
74 | 74 | </div> |
75 | 75 | </div> |
76 | 76 | </div> |
77 | - <el-dialog title="修改学校信息" :visible.sync="diaSchool" width="400"> | |
77 | + <el-dialog :close-on-click-modal="false" title="修改学校信息" :visible.sync="diaSchool" width="400"> | |
78 | 78 | <el-form |
79 | 79 | ref="formSchool" |
80 | 80 | class="form-box" |
... | ... | @@ -136,7 +136,7 @@ |
136 | 136 | <el-button @click="diaSchool = false">取 消</el-button> |
137 | 137 | </div> |
138 | 138 | </el-dialog> |
139 | - <el-dialog title="班级升级" :visible.sync="diaUpgradeGrade" width="400"> | |
139 | + <el-dialog :close-on-click-modal="false" title="班级升级" :visible.sync="diaUpgradeGrade" width="400"> | |
140 | 140 | <p>注意该操作会将所有年级升级,请谨慎操作!</p> |
141 | 141 | <div class="dialog-footer" slot="footer"> |
142 | 142 | <el-button type="danger" @click="_UpgradeGrade()">确认升级</el-button> | ... | ... |
src/views/standard/setUp/student.vue
... | ... | @@ -166,7 +166,7 @@ |
166 | 166 | </div> |
167 | 167 | </div> |
168 | 168 | </div> |
169 | - <el-dialog title="学生调班" :visible.sync="diaChangeClass" width="400"> | |
169 | + <el-dialog :close-on-click-modal="false" title="学生调班" :visible.sync="diaChangeClass" width="400"> | |
170 | 170 | <el-form |
171 | 171 | class="form-box" |
172 | 172 | ref="formStuCla" |
... | ... | @@ -213,7 +213,7 @@ |
213 | 213 | <el-button @click="diaChangeClass = false">取 消</el-button> |
214 | 214 | </div> |
215 | 215 | </el-dialog> |
216 | - <el-dialog title="调班轨迹" :visible.sync="diaChangeClassTrack" width="400"> | |
216 | + <el-dialog :close-on-click-modal="false" title="调班轨迹" :visible.sync="diaChangeClassTrack" width="400"> | |
217 | 217 | <el-form |
218 | 218 | :model="formClassTrack" |
219 | 219 | label-width="160px" |
... | ... | @@ -235,7 +235,7 @@ |
235 | 235 | <el-button @click="diaChangeClassTrack = false">关 闭</el-button> |
236 | 236 | </div> |
237 | 237 | </el-dialog> |
238 | - <el-dialog title="添加学生" :visible.sync="diaStu" width="400"> | |
238 | + <el-dialog :close-on-click-modal="false" title="添加学生" :visible.sync="diaStu" width="400"> | |
239 | 239 | <el-form |
240 | 240 | ref="formBox" |
241 | 241 | class="form-box" |
... | ... | @@ -286,7 +286,7 @@ |
286 | 286 | <el-button @click="diaStu = false">取 消</el-button> |
287 | 287 | </div> |
288 | 288 | </el-dialog> |
289 | - <el-dialog title="学生答题器绑定" :visible.sync="diaUp" width="600"> | |
289 | + <el-dialog :close-on-click-modal="false" title="学生答题器绑定" :visible.sync="diaUp" width="600"> | |
290 | 290 | <up-load |
291 | 291 | id="downTeacher" |
292 | 292 | :url="url" |
... | ... | @@ -563,20 +563,12 @@ export default { |
563 | 563 | serQuery(type) { |
564 | 564 | let query = {}; |
565 | 565 | if (type == 1) { |
566 | - if (!this.query.studentName) { | |
567 | - this.$message.warning("输入学生姓名~"); | |
568 | - return; | |
569 | - } | |
570 | 566 | this.query.classId = ""; |
571 | 567 | this.query.studentCode = ""; |
572 | 568 | this.query.grade = ""; |
573 | 569 | query.studentName = this.query.studentName; |
574 | 570 | query.status = 9; |
575 | 571 | } else if (type == 2) { |
576 | - if (!this.query.studentCode) { | |
577 | - this.$message.warning("输入学生学号~"); | |
578 | - return; | |
579 | - } | |
580 | 572 | this.query.classId = ""; |
581 | 573 | this.query.studentName = ""; |
582 | 574 | this.query.grade = ""; |
... | ... | @@ -599,6 +591,17 @@ export default { |
599 | 591 | return query; |
600 | 592 | }, |
601 | 593 | async _QueryData(type) { |
594 | + if (type == 1) { | |
595 | + if (!this.query.studentName) { | |
596 | + this.$message.warning("输入学生姓名~"); | |
597 | + return; | |
598 | + } | |
599 | + } else if (type == 2) { | |
600 | + if (!this.query.studentCode) { | |
601 | + this.$message.warning("输入学生学号~"); | |
602 | + return; | |
603 | + } | |
604 | + } | |
602 | 605 | let query = this.serQuery(type); |
603 | 606 | this.loading = true; |
604 | 607 | this.studentList = []; | ... | ... |
src/views/standard/setUp/teacher.vue
... | ... | @@ -60,7 +60,7 @@ |
60 | 60 | @change="_QueryData(4)" |
61 | 61 | placeholder="选择类型" |
62 | 62 | > |
63 | - <el-option disabled label="请选择" :value=9></el-option> | |
63 | + <el-option disabled label="请选择" :value="9"></el-option> | |
64 | 64 | <el-option label="已分配教师" :value="0"></el-option> |
65 | 65 | <el-option label="未分配教师" :value="1"></el-option> |
66 | 66 | </el-select> |
... | ... | @@ -118,7 +118,10 @@ |
118 | 118 | :class="showTId == item.id ? 'active' : ''" |
119 | 119 | @click="showTeacher(item)" |
120 | 120 | > |
121 | - {{ item.realName }}<template v-if="setClass(item)">({{ setClass(item) }})</template> | |
121 | + {{ item.realName | |
122 | + }}<template v-if="setClass(item)" | |
123 | + >({{ setClass(item) }})</template | |
124 | + > | |
122 | 125 | </li> |
123 | 126 | </ul> |
124 | 127 | </div> |
... | ... | @@ -248,7 +251,7 @@ |
248 | 251 | </div> |
249 | 252 | </div> |
250 | 253 | </div> |
251 | - <el-dialog title="导入教师名单" :visible.sync="diaUp" width="600"> | |
254 | + <el-dialog :close-on-click-modal="false" title="导入教师名单" :visible.sync="diaUp" width="600"> | |
252 | 255 | <up-load |
253 | 256 | id="downTeacher" |
254 | 257 | :url="url" |
... | ... | @@ -264,7 +267,7 @@ |
264 | 267 | <el-button @click="diaUp = false">取 消</el-button> |
265 | 268 | </div> |
266 | 269 | </el-dialog> |
267 | - <el-dialog | |
270 | + <el-dialog :close-on-click-modal="false" | |
268 | 271 | :title=" |
269 | 272 | isAdd ? '添加教师' : setTercherType == 1 ? '编辑教师信息' : '管理班级' |
270 | 273 | " |
... | ... | @@ -741,21 +744,13 @@ export default { |
741 | 744 | this.query.teacherName = ""; |
742 | 745 | this.query.phone = ""; |
743 | 746 | this.query.type = 0; |
744 | - }else if (type == 2) { | |
745 | - if (this.query.teacherName == "") { | |
746 | - this.$message.warning("请输入老师姓名"); | |
747 | - return; | |
748 | - } | |
747 | + } else if (type == 2) { | |
749 | 748 | this.query.type = 9; |
750 | 749 | this.query.phone = ""; |
751 | 750 | this.query.gradeClassSub = []; |
752 | 751 | query.teacherName = this.query.teacherName; |
753 | 752 | query.type = this.query.type; |
754 | 753 | } else if (type == 3) { |
755 | - if (this.query.phone == "") { | |
756 | - this.$message.warning("请输入老师手机"); | |
757 | - return; | |
758 | - } | |
759 | 754 | this.query.type = 9; |
760 | 755 | this.query.teacherName = ""; |
761 | 756 | this.query.gradeClassSub = []; |
... | ... | @@ -802,6 +797,17 @@ export default { |
802 | 797 | }, |
803 | 798 | async _QueryData(type) { |
804 | 799 | if (this.loading) return; |
800 | + if (type == 2) { | |
801 | + if (this.query.teacherName == "") { | |
802 | + this.$message.warning("请输入老师姓名"); | |
803 | + return; | |
804 | + } | |
805 | + } else if (type == 3) { | |
806 | + if (this.query.phone == "") { | |
807 | + this.$message.warning("请输入老师手机"); | |
808 | + return; | |
809 | + } | |
810 | + } | |
805 | 811 | this.loading = true; |
806 | 812 | let query = this.setQuery(type); |
807 | 813 | this.teacherList = []; | ... | ... |
src/views/standard/test/analysis.vue
... | ... | @@ -444,7 +444,7 @@ |
444 | 444 | > |
445 | 445 | </div> |
446 | 446 | </div> |
447 | - <el-dialog title="导入主观题分数" :visible.sync="diaUp" width="600"> | |
447 | + <el-dialog :close-on-click-modal="false" title="导入主观题分数" :visible.sync="diaUp" width="600"> | |
448 | 448 | <up-load :url="url" :examId="id" @upSuccess="upSuccess"> |
449 | 449 | <template slot="down"> |
450 | 450 | <p class="down-txt"> | ... | ... |
src/views/standard/test/index.vue
... | ... | @@ -480,7 +480,7 @@ |
480 | 480 | > |
481 | 481 | </p> |
482 | 482 | </div> |
483 | - <el-dialog title="导入主观题分数" :visible.sync="diaUp" width="600"> | |
483 | + <el-dialog :close-on-click-modal="false" title="导入主观题分数" :visible.sync="diaUp" width="600"> | |
484 | 484 | <up-load |
485 | 485 | :url="url" |
486 | 486 | :examId="examId" | ... | ... |