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" | ... | ... |