Commit 4c2fb5608109bba0e6062f98bbff6d54c168d517
1 parent
e5e4a3e6
反馈新需求
Showing
8 changed files
with
320 additions
and
86 deletions
src/api/apis/apis.js
... | ... | @@ -345,8 +345,8 @@ export default { |
345 | 345 | data |
346 | 346 | }); |
347 | 347 | }, |
348 | - //任课老师-学生测练统计 | |
349 | - tStudentExamReport(data) { | |
348 | + //任课老师-学生测练统计 | |
349 | + tStudentExamReport(data) { | |
350 | 350 | return service({ |
351 | 351 | url: setUpUrls.tStudentExamReport, |
352 | 352 | method: "POST", |
... | ... | @@ -910,6 +910,15 @@ export default { |
910 | 910 | method: "POST", |
911 | 911 | }); |
912 | 912 | }, |
913 | + // 导出设备列表 | |
914 | + tenantExportDevice(data) { | |
915 | + return service({ | |
916 | + url: setUpUrls.tenantExportDevice, | |
917 | + method: "POST", | |
918 | + data, | |
919 | + responseType: 'arraybuffer', | |
920 | + }); | |
921 | + }, | |
913 | 922 | |
914 | 923 | /** 个人版 */ |
915 | 924 | // 修改个人信息 | ... | ... |
src/api/urls/apis.js
src/views/admin/account/index.vue
src/views/examinationPaper/edit.vue
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | <div> |
3 | 3 | <back-box> |
4 | 4 | <template slot="title"> |
5 | - <span>修改答案</span> | |
5 | + <span>{{type == 1?'修改试卷':'修改答案'}}</span> | |
6 | 6 | </template> |
7 | 7 | </back-box> |
8 | 8 | <div class="content"> |
... | ... | @@ -14,8 +14,12 @@ |
14 | 14 | }}老师修改了答案 |
15 | 15 | </p></template |
16 | 16 | > |
17 | - <div class="answer-title"> | |
18 | - <p class="name">{{ form.title || title }}</p> | |
17 | + <div class="answer-title" :class="type == 1?'t-left':''"> | |
18 | + <p class="name-box" v-if="type == 1"> | |
19 | + <span>试卷名称:</span> | |
20 | + <el-input class="ipt-name" v-model="form.title"></el-input> | |
21 | + </p> | |
22 | + <p class="name" v-else>{{ form.title }}</p> | |
19 | 23 | <p class="totals">卷面总分:{{ allScore }}分</p> |
20 | 24 | </div> |
21 | 25 | <template v-if="questionList[0]?.subQuestions"> |
... | ... | @@ -528,7 +532,7 @@ export default { |
528 | 532 | this.$store.getters.info.showRole || |
529 | 533 | this.$store.getters.info.permissions[0].role; |
530 | 534 | this.type = this.$route.query.type || 1; |
531 | - this.title = this.$route.query.title || ""; | |
535 | + this.form.title = this.$route.query.title || ""; | |
532 | 536 | this._QueryDetail(); |
533 | 537 | }, |
534 | 538 | methods: { |
... | ... | @@ -903,7 +907,10 @@ export default { |
903 | 907 | questionList: questionList, |
904 | 908 | }; |
905 | 909 | } |
906 | - const { data, status, info } = await modifyPaper(params); | |
910 | + const { data, status, info } = await modifyPaper({ | |
911 | + title: this.form.title, | |
912 | + ...params, | |
913 | + }); | |
907 | 914 | if (status == 0) { |
908 | 915 | this.$router.go(-1); |
909 | 916 | } else { |
... | ... | @@ -1120,10 +1127,26 @@ export default { |
1120 | 1127 | color: #333; |
1121 | 1128 | font-weight: 700; |
1122 | 1129 | padding: 20px 0; |
1130 | + &.t-left{ | |
1131 | + text-align: left; | |
1132 | + } | |
1123 | 1133 | .totals { |
1124 | 1134 | font-size: 16px; |
1125 | - color: #888; | |
1135 | + color: #666; | |
1136 | + font-weight: normal; | |
1137 | + } | |
1138 | + .name-box { | |
1139 | + display: flex; | |
1140 | + white-space: nowrap; | |
1141 | + align-items: center; | |
1142 | + margin-bottom: 10px; | |
1143 | + font-size: 16px; | |
1126 | 1144 | font-weight: normal; |
1145 | + :deep(.el-input__inner) { | |
1146 | + font-size: 16px; | |
1147 | + color: #333; | |
1148 | + font-weight: 700; | |
1149 | + } | |
1127 | 1150 | } |
1128 | 1151 | } |
1129 | 1152 | .question-title { | ... | ... |
src/views/standard/card/index.vue
... | ... | @@ -8,62 +8,92 @@ |
8 | 8 | |
9 | 9 | <div class="page-content"> |
10 | 10 | <div class="answer-header"> |
11 | - <div class="sel-box" v-if="role == 'ROLE_XUEXIAO'"> | |
12 | - <el-cascader | |
13 | - @change="(page = 1), _QueryData(1)" | |
14 | - size="small" | |
11 | + <div class="sel-box"> | |
12 | + <template v-if="role == 'ROLE_XUEXIAO'"> | |
13 | + <el-cascader | |
14 | + @change="(page = 1), _QueryData(1)" | |
15 | + size="small" | |
16 | + class="sel" | |
17 | + clearable | |
18 | + placeholder="选择班级" | |
19 | + v-model="query.classId" | |
20 | + :options="gradeList" | |
21 | + :props="props" | |
22 | + :show-all-levels="false" | |
23 | + ></el-cascader> | |
24 | + <el-input | |
25 | + placeholder="请输入学生姓名" | |
26 | + v-model="query.studentName" | |
27 | + class="input-with-select" | |
28 | + @keyup.enter.native="(page = 1), _QueryData(2)" | |
29 | + > | |
30 | + <el-button | |
31 | + slot="append" | |
32 | + icon="el-icon-search" | |
33 | + @click="(page = 1), _QueryData(2)" | |
34 | + ></el-button> | |
35 | + </el-input> | |
36 | + <el-input | |
37 | + placeholder="请输入学生学号" | |
38 | + v-model="query.studentCode" | |
39 | + class="input-with-select" | |
40 | + @keyup.enter.native="(page = 1), _QueryData(3)" | |
41 | + > | |
42 | + <el-button | |
43 | + slot="append" | |
44 | + icon="el-icon-search" | |
45 | + @click="(page = 1), _QueryData(3)" | |
46 | + ></el-button> | |
47 | + </el-input> | |
48 | + </template> | |
49 | + <template v-if="role == 'ROLE_JITUAN'"> | |
50 | + <el-select | |
51 | + class="sel2" | |
52 | + v-model="query.schoolId" | |
53 | + placeholder="选择学校" | |
54 | + @change="(page = 1), _QueryData(1)" | |
55 | + > | |
56 | + <el-option | |
57 | + v-for="item in schoolList" | |
58 | + :key="item.value" | |
59 | + :label="item.label" | |
60 | + :value="item.value" | |
61 | + > | |
62 | + </el-option> | |
63 | + </el-select> | |
64 | + </template> | |
65 | + <el-select | |
15 | 66 | class="sel" |
16 | - clearable | |
17 | - placeholder="选择班级" | |
18 | - v-model="query.classId" | |
19 | - :options="gradeList" | |
20 | - :props="props" | |
21 | - :show-all-levels="false" | |
22 | - ></el-cascader> | |
23 | - <el-input | |
24 | - placeholder="请输入学生姓名" | |
25 | - v-model="query.studentName" | |
26 | - class="input-with-select" | |
27 | - @keyup.enter.native="(page = 1), _QueryData(2)" | |
28 | - > | |
29 | - <el-button | |
30 | - slot="append" | |
31 | - icon="el-icon-search" | |
32 | - @click="(page = 1), _QueryData(2)" | |
33 | - ></el-button> | |
34 | - </el-input> | |
35 | - <el-input | |
36 | - placeholder="请输入学生学号" | |
37 | - v-model="query.studentCode" | |
38 | - class="input-with-select" | |
39 | - @keyup.enter.native="(page = 1), _QueryData(3)" | |
67 | + v-model="query.operationType" | |
68 | + placeholder="选择类型" | |
40 | 69 | > |
41 | - <el-button | |
42 | - slot="append" | |
43 | - icon="el-icon-search" | |
44 | - @click="(page = 1), _QueryData(3)" | |
45 | - ></el-button> | |
46 | - </el-input> | |
70 | + <el-option label="全部" value=""></el-option> | |
71 | + <el-option label="发卡" :value="0"></el-option> | |
72 | + <el-option label="补卡" :value="1"></el-option> | |
73 | + </el-select> | |
74 | + <div class="d1"> | |
75 | + <el-date-picker | |
76 | + v-model="query.startDay" | |
77 | + type="date" | |
78 | + @change="handleChangeTimeStart" | |
79 | + placeholder="选择日期时间" | |
80 | + value-format="yyyy-MM-dd" | |
81 | + > | |
82 | + </el-date-picker> | |
83 | + ~ | |
84 | + <el-date-picker | |
85 | + v-model="query.endDay" | |
86 | + type="date" | |
87 | + placeholder="选择日期时间" | |
88 | + @change="handleChangeTimeEnd" | |
89 | + value-format="yyyy-MM-dd" | |
90 | + > | |
91 | + </el-date-picker> | |
92 | + </div> | |
47 | 93 | <el-button type="primary" round @click="(page = 1), _QueryData(4)" |
48 | 94 | >筛选</el-button |
49 | 95 | > |
50 | 96 | </div> |
51 | - <div class="sel-box" v-if="role == 'ROLE_JITUAN'"> | |
52 | - <el-select | |
53 | - class="sel2" | |
54 | - v-model="schoolId" | |
55 | - placeholder="选择学校" | |
56 | - @change="(page = 1), _QueryData(true)" | |
57 | - > | |
58 | - <el-option | |
59 | - v-for="item in schoolList" | |
60 | - :key="item.value" | |
61 | - :label="item.label" | |
62 | - :value="item.value" | |
63 | - > | |
64 | - </el-option> | |
65 | - </el-select> | |
66 | - </div> | |
67 | 97 | </div> |
68 | 98 | <el-empty |
69 | 99 | :image-size="100" |
... | ... | @@ -162,8 +192,11 @@ export default { |
162 | 192 | classId: "", |
163 | 193 | studentName: "", |
164 | 194 | studentCode: "", |
195 | + operationType: "", | |
196 | + schoolId: "", | |
197 | + startDay: "", | |
198 | + endDay: "", | |
165 | 199 | }, |
166 | - schoolId: "", | |
167 | 200 | schoolList: [], |
168 | 201 | gradeList: [], |
169 | 202 | tableData: [], |
... | ... | @@ -186,6 +219,22 @@ export default { |
186 | 219 | this._QueryData(); |
187 | 220 | }, |
188 | 221 | methods: { |
222 | + handleChangeTimeStart(val) { | |
223 | + if (this.query.endDay) { | |
224 | + if (new Date(val).getTime() > new Date(this.query.endDay).getTime()) { | |
225 | + this.$message.error("任务结束时间不能任务开始时间前面,请重新设置"); | |
226 | + this.query.startDay = ""; | |
227 | + } | |
228 | + } | |
229 | + }, | |
230 | + handleChangeTimeEnd(val) { | |
231 | + if (this.query.startDay) { | |
232 | + if (new Date(val).getTime() < new Date(this.query.startDay).getTime()) { | |
233 | + this.$message.error("任务结束时间不能任务开始时间前面,请重新设置"); | |
234 | + this.query.endDay = ""; | |
235 | + } | |
236 | + } | |
237 | + }, | |
189 | 238 | // 查找班级 |
190 | 239 | async _QueryGradeList() { |
191 | 240 | this.loading = true; |
... | ... | @@ -227,14 +276,19 @@ export default { |
227 | 276 | value: item.id, |
228 | 277 | }; |
229 | 278 | }) || []; |
230 | - this.schoolId = (this.schoolList && this.schoolList[0].value) || ""; | |
279 | + this.schoolList.unshift({ | |
280 | + label: "全部", | |
281 | + value: "", | |
282 | + }); | |
283 | + this.query.schoolId = this.schoolList[0].value || ""; | |
231 | 284 | } else { |
232 | 285 | this.$message.error(info); |
233 | 286 | } |
234 | 287 | }, |
235 | - async _QueryData(type) { | |
288 | + serQuery(type) { | |
236 | 289 | let query = {}; |
237 | 290 | if (this.role == "ROLE_XUEXIAO") { |
291 | + delete query.schoolId; | |
238 | 292 | query.gradeName = this.query.gradeName; |
239 | 293 | if (type == 1) { |
240 | 294 | query.classId = this.query.classId[1] ? this.query.classId[1] : ""; |
... | ... | @@ -253,8 +307,23 @@ export default { |
253 | 307 | query.classId = this.query.classId[1] ? this.query.classId[1] : ""; |
254 | 308 | } |
255 | 309 | } else if (this.role == "ROLE_JITUAN") { |
256 | - query.schoolId = this.schoolId; | |
310 | + query = this.query.schoolId | |
311 | + ? { | |
312 | + schoolId: this.query.schoolId, | |
313 | + } | |
314 | + : {}; | |
315 | + if (type != 1) { | |
316 | + this.query.operationType | |
317 | + ? (query["operationType"] = this.query.operationType) | |
318 | + : ""; | |
319 | + this.query.startDay ? (query["startDay"] = this.query.startDay) : ""; | |
320 | + this.query.endDay ? (query["endDay"] = this.query.endDay) : ""; | |
321 | + } | |
257 | 322 | } |
323 | + return query; | |
324 | + }, | |
325 | + async _QueryData(type) { | |
326 | + let query = this.serQuery(type); | |
258 | 327 | this.loading = true; |
259 | 328 | const { data, status, info } = await this.$request.cardList({ |
260 | 329 | ...query, |
... | ... | @@ -271,10 +340,18 @@ export default { |
271 | 340 | } |
272 | 341 | }, |
273 | 342 | async downExl() { |
343 | + let query = {}; | |
344 | + this.query.operationType | |
345 | + ? (query["operationType"] = this.query.operationType) | |
346 | + : ""; | |
347 | + this.query.startDay ? (query["startDay"] = this.query.startDay) : ""; | |
348 | + this.query.endDay ? (query["endDay"] = this.query.endDay) : ""; | |
274 | 349 | //报表导出 |
275 | 350 | if (this.exportLoading == true) return; |
276 | 351 | this.exportLoading = true; |
277 | - const data = await this.$request.exportClickersLog(); | |
352 | + const data = await this.$request.exportClickersLog({ | |
353 | + ...query, | |
354 | + }); | |
278 | 355 | this.exportLoading = false; |
279 | 356 | if (data && !data.code) { |
280 | 357 | let blob = new Blob([data], { |
... | ... | @@ -298,7 +375,15 @@ export default { |
298 | 375 | .down { |
299 | 376 | padding: 16px 20px; |
300 | 377 | } |
301 | -.answer-header .sel-box .sel2 { | |
302 | - width: 300px; | |
378 | +.answer-header { | |
379 | + .sel-box { | |
380 | + .sel2 { | |
381 | + width: 300px; | |
382 | + margin-right: 20px; | |
383 | + } | |
384 | + .d1 { | |
385 | + margin-right: 20px; | |
386 | + } | |
387 | + } | |
303 | 388 | } |
304 | 389 | </style> |
305 | 390 | \ No newline at end of file | ... | ... |
src/views/standard/device/index.vue
... | ... | @@ -82,6 +82,7 @@ |
82 | 82 | placeholder="请输入设备编码" |
83 | 83 | v-model="query.sn" |
84 | 84 | class="input-with-select" |
85 | + clearable | |
85 | 86 | @keyup.enter.native="_QueryData(true)" |
86 | 87 | > |
87 | 88 | <el-button |
... | ... | @@ -105,6 +106,7 @@ |
105 | 106 | prop="frequency" |
106 | 107 | label="频点" |
107 | 108 | align="center" |
109 | + width="60" | |
108 | 110 | ></el-table-column> |
109 | 111 | <el-table-column |
110 | 112 | prop="pairingCode" |
... | ... | @@ -149,8 +151,15 @@ |
149 | 151 | prop="onlineTime" |
150 | 152 | label="最近上报" |
151 | 153 | align="center" |
154 | + width="160" | |
155 | + ></el-table-column> | |
156 | + <el-table-column | |
157 | + prop="createdTime" | |
158 | + label="创建时间" | |
159 | + align="center" | |
160 | + width="160" | |
152 | 161 | ></el-table-column> |
153 | - <el-table-column label="状态" align="center" | |
162 | + <el-table-column label="状态" align="center" width="60" | |
154 | 163 | ><template slot-scope="scope"> |
155 | 164 | {{ |
156 | 165 | scope.row.onlineStatus == 1 |
... | ... | @@ -236,6 +245,20 @@ |
236 | 245 | placeholder="请输入设备编码" |
237 | 246 | v-model="query.sn" |
238 | 247 | class="input-with-select" |
248 | + clearable | |
249 | + @keyup.enter.native="_QueryData(true)" | |
250 | + > | |
251 | + <el-button | |
252 | + slot="append" | |
253 | + icon="el-icon-search" | |
254 | + @click="_QueryData(true)" | |
255 | + ></el-button> | |
256 | + </el-input> | |
257 | + <el-input | |
258 | + placeholder="学生姓名" | |
259 | + v-model="query.studentName" | |
260 | + class="input-with-select" | |
261 | + clearable | |
239 | 262 | @keyup.enter.native="_QueryData(true)" |
240 | 263 | > |
241 | 264 | <el-button |
... | ... | @@ -254,8 +277,9 @@ |
254 | 277 | prop="sn" |
255 | 278 | label="设备编码" |
256 | 279 | align="center" |
280 | + width="160" | |
257 | 281 | ></el-table-column> |
258 | - <el-table-column label="学生信息" align="center" | |
282 | + <el-table-column label="学生信息" align="center" width="120" | |
259 | 283 | ><template slot-scope="scoped" |
260 | 284 | ><p |
261 | 285 | v-for="(item, index) in scoped.row.studentList" |
... | ... | @@ -276,13 +300,19 @@ |
276 | 300 | prop="gradeName" |
277 | 301 | label="年级" |
278 | 302 | align="center" |
303 | + width="120" | |
279 | 304 | ><template slot-scope="scoped"> |
280 | 305 | <p v-for="(item, index) in scoped.row.classList" :key="index"> |
281 | 306 | {{ item.gradeName }} |
282 | 307 | </p> |
283 | 308 | </template></el-table-column |
284 | 309 | > |
285 | - <el-table-column prop="class" label="关联班级" align="center"> | |
310 | + <el-table-column | |
311 | + prop="class" | |
312 | + label="关联班级" | |
313 | + align="center" | |
314 | + width="160" | |
315 | + > | |
286 | 316 | <template slot-scope="scoped"> |
287 | 317 | <p v-for="(item, index) in scoped.row.classList" :key="index"> |
288 | 318 | {{ item.className }} |
... | ... | @@ -303,8 +333,9 @@ |
303 | 333 | prop="latestReportTime" |
304 | 334 | label="最后答题时间" |
305 | 335 | align="center" |
336 | + width="160" | |
306 | 337 | ></el-table-column> |
307 | - <el-table-column label="操作" align="center" | |
338 | + <el-table-column label="操作" align="center" width="80" | |
308 | 339 | ><template slot-scope="scoped"> |
309 | 340 | <el-tooltip effect="dark" content="日志" placement="top"> |
310 | 341 | <el-button |
... | ... | @@ -359,7 +390,7 @@ |
359 | 390 | label="设备编码" |
360 | 391 | align="center" |
361 | 392 | ></el-table-column> |
362 | - <el-table-column prop="class" label="关联班级" align="center" | |
393 | + <el-table-column prop="class" label="关联班级" align="center" width="100" | |
363 | 394 | ><template slot-scope="scoped"> |
364 | 395 | <p v-for="(item, index) in scoped.row.classList" :key="index"> |
365 | 396 | {{ item.className }} |
... | ... | @@ -373,6 +404,18 @@ |
373 | 404 | align="center" |
374 | 405 | ></el-table-column> |
375 | 406 | <el-table-column |
407 | + v-if="role == 'ROLE_JITUAN'" | |
408 | + prop="gradeName" | |
409 | + label="年级" | |
410 | + align="center" | |
411 | + width="80" | |
412 | + ><template slot-scope="scoped"> | |
413 | + <p v-for="(item, index) in scoped.row.classList" :key="index"> | |
414 | + {{ item.gradeName }} | |
415 | + </p> | |
416 | + </template></el-table-column | |
417 | + > | |
418 | + <el-table-column | |
376 | 419 | prop="lastUpdateTime" |
377 | 420 | label="最近更新" |
378 | 421 | align="center" |
... | ... | @@ -391,8 +434,9 @@ |
391 | 434 | prop="otaVersionName" |
392 | 435 | label="版本号" |
393 | 436 | align="center" |
437 | + width="80" | |
394 | 438 | ></el-table-column> |
395 | - <el-table-column label="状态" align="center" | |
439 | + <el-table-column label="状态" align="center" width="80" | |
396 | 440 | ><template slot-scope="scope"> |
397 | 441 | {{ |
398 | 442 | scope.row.onlineStatus == 1 |
... | ... | @@ -402,8 +446,8 @@ |
402 | 446 | : "离线" |
403 | 447 | }} |
404 | 448 | </template></el-table-column |
405 | - > | |
406 | - <el-table-column label="自动更新" align="center" | |
449 | + > | |
450 | + <el-table-column label="自动更新" align="center" width="100" | |
407 | 451 | ><template slot-scope="scoped"> |
408 | 452 | <el-switch |
409 | 453 | v-model="scoped.row.upgradeFlag" |
... | ... | @@ -544,6 +588,7 @@ export default { |
544 | 588 | this.query.classId = []; |
545 | 589 | this.query.onlineStatus = ""; |
546 | 590 | this.query.sn = ""; |
591 | + this.query.studentName = ""; | |
547 | 592 | this.query.type = ""; |
548 | 593 | if (val == 1) { |
549 | 594 | this.stationReport(); |
... | ... | @@ -555,17 +600,16 @@ export default { |
555 | 600 | }, |
556 | 601 | data() { |
557 | 602 | return { |
558 | - exportLoading: false, | |
559 | - isAdd: false, //添加还是修改基站 | |
560 | - role: "", | |
561 | 603 | code: "", |
604 | + role: "", | |
562 | 605 | loading: false, |
606 | + exportLoading: false, | |
607 | + isAdd: false, //添加还是修改基站 | |
563 | 608 | url: "/api_html/school/manager/importStation", |
564 | 609 | diaUp: false, |
565 | 610 | diaAnswerEqu: false, |
566 | - gradeList: [], | |
567 | - gradeListAll: [], | |
568 | - schoolAll: [], | |
611 | + gradeList: [], //年级列表 | |
612 | + schoolAll: [], //所有学校刘表 | |
569 | 613 | school: {}, //校园账号所属学校信息 |
570 | 614 | props: { |
571 | 615 | multiple: true, |
... | ... | @@ -577,6 +621,7 @@ export default { |
577 | 621 | onlineStatus: "", |
578 | 622 | sn: "", |
579 | 623 | type: "", |
624 | + studentName: "", | |
580 | 625 | }, |
581 | 626 | statusList: [ |
582 | 627 | { label: "全部", value: "" }, |
... | ... | @@ -594,6 +639,7 @@ export default { |
594 | 639 | { label: "3月以上", value: 6 }, |
595 | 640 | ], |
596 | 641 | form: { |
642 | + //修改/添加基站信息 | |
597 | 643 | deviceId: "", |
598 | 644 | sn: "", |
599 | 645 | frequency: "", |
... | ... | @@ -607,17 +653,17 @@ export default { |
607 | 653 | pairingCode: [ |
608 | 654 | { required: true, message: "请输入配对码", trigger: "blur" }, |
609 | 655 | ], |
610 | - classIds: [{ required: true, message: "请选择班级", trigger: "blur" }], | |
656 | + // classIds: [{ required: true, message: "请选择班级", trigger: "blur" }], | |
611 | 657 | }, |
612 | 658 | tableData: [], |
613 | 659 | total: 0, |
614 | 660 | count: 0, |
615 | 661 | chartData: [], |
616 | 662 | chartData2: [], |
617 | - selectionTabIds: [], | |
663 | + selectionTabIds: [], //已选择授课段 | |
618 | 664 | page: 1, |
619 | 665 | size: 20, |
620 | - isBack: false, | |
666 | + isBack: false, //是否是日志页面回来 | |
621 | 667 | }; |
622 | 668 | }, |
623 | 669 | created() { |
... | ... | @@ -849,8 +895,13 @@ export default { |
849 | 895 | //报表导出 |
850 | 896 | if (this.exportLoading == true) return; |
851 | 897 | let query = this.setQuery(); |
898 | + const exportDevice = | |
899 | + this.role != "ROLE_JITUAN" | |
900 | + ? this.$request.exportDevice | |
901 | + : this.$request.tenantExportDevice; | |
902 | + | |
852 | 903 | this.exportLoading = true; |
853 | - const data = await this.$request.exportDevice({ | |
904 | + const data = await exportDevice({ | |
854 | 905 | ...query, |
855 | 906 | deviceType: this.type, |
856 | 907 | }); |
... | ... | @@ -1023,6 +1074,8 @@ export default { |
1023 | 1074 | let query = {}; |
1024 | 1075 | if (this.query.sn) { |
1025 | 1076 | query.sn = this.query.sn; |
1077 | + } else if (this.query.studentName) { | |
1078 | + query.studentName = this.query.studentName; | |
1026 | 1079 | } else { |
1027 | 1080 | if (this.type == 1) { |
1028 | 1081 | this.query.onlineStatus !== "" |
... | ... | @@ -1202,4 +1255,13 @@ export default { |
1202 | 1255 | } |
1203 | 1256 | } |
1204 | 1257 | } |
1258 | +.answer-header .sel-box .input-with-select { | |
1259 | + margin-right: 20px; | |
1260 | + :deep(.el-input__suffix) { | |
1261 | + right: -5px; | |
1262 | + } | |
1263 | + :deep(.el-button) { | |
1264 | + padding: 12px 16px 12px 10px; | |
1265 | + } | |
1266 | +} | |
1205 | 1267 | </style> |
1206 | 1268 | \ No newline at end of file | ... | ... |
src/views/standard/setUp/account.vue
... | ... | @@ -86,8 +86,9 @@ |
86 | 86 | role != 'ROLE_JITUAN' ? '请输入老师账号' : '请输入账号名称' |
87 | 87 | " |
88 | 88 | v-model="query.loginName" |
89 | - class="input-with-select" | |
89 | + class="input-with-select sel" | |
90 | 90 | type="number" |
91 | + clearable | |
91 | 92 | oninput="if(value.length > 11) value = value.slice(0,11)" |
92 | 93 | @keyup.enter.native="(page = 1), _QueryData(2)" |
93 | 94 | > |
... | ... | @@ -98,11 +99,11 @@ |
98 | 99 | ></el-button> |
99 | 100 | </el-input> |
100 | 101 | <el-input |
101 | - v-if="role != 'ROLE_JITUAN'" | |
102 | 102 | placeholder="请输入老师姓名" |
103 | 103 | maxlength="30" |
104 | 104 | v-model="query.realName" |
105 | 105 | class="input-with-select" |
106 | + clearable | |
106 | 107 | @keyup.enter.native="(page = 1), _QueryData(3)" |
107 | 108 | > |
108 | 109 | <el-button |
... | ... | @@ -227,6 +228,7 @@ |
227 | 228 | <el-input |
228 | 229 | placeholder="请输入联系电话" |
229 | 230 | v-model.trim="formCount.loginName" |
231 | + clearable | |
230 | 232 | maxlength="11" |
231 | 233 | > |
232 | 234 | </el-input> |
... | ... | @@ -237,6 +239,7 @@ |
237 | 239 | <el-input |
238 | 240 | placeholder="请输入教师姓名" |
239 | 241 | v-model.trim="formCount.realName" |
242 | + clearable | |
240 | 243 | maxlength="11" |
241 | 244 | > |
242 | 245 | </el-input> |
... | ... | @@ -262,6 +265,7 @@ |
262 | 265 | placeholder="请输入联系电话" |
263 | 266 | v-model.trim="formAddCount.phone" |
264 | 267 | type="number" |
268 | + clearable | |
265 | 269 | oninput="if(value.length > 11) value = value.slice(0,11)" |
266 | 270 | > |
267 | 271 | </el-input> |
... | ... | @@ -272,6 +276,7 @@ |
272 | 276 | <el-input |
273 | 277 | placeholder="请输入密码" |
274 | 278 | v-model.trim="formAddCount.password" |
279 | + clearable | |
275 | 280 | maxlength="18" |
276 | 281 | > |
277 | 282 | </el-input> |
... | ... | @@ -282,6 +287,7 @@ |
282 | 287 | <el-input |
283 | 288 | placeholder="请输入姓名" |
284 | 289 | v-model.trim="formAddCount.realName" |
290 | + clearable | |
285 | 291 | maxlength="30" |
286 | 292 | > |
287 | 293 | </el-input> |
... | ... | @@ -686,7 +692,6 @@ export default { |
686 | 692 | query = { ...this.query }; |
687 | 693 | } |
688 | 694 | if (this.role == "ROLE_JITUAN") { |
689 | - delete query.realName; | |
690 | 695 | query.regionIds = []; |
691 | 696 | query.schoolIds = []; |
692 | 697 | query.schoolId?.map((item) => { |
... | ... | @@ -703,6 +708,15 @@ export default { |
703 | 708 | } |
704 | 709 | } |
705 | 710 | }); |
711 | + if (type == 2) { | |
712 | + this.query.realName = ""; | |
713 | + query.loginName = this.query.loginName; | |
714 | + } else if (type == 3) { | |
715 | + this.query.loginName = ""; | |
716 | + query.realName = this.query.realName; | |
717 | + } else { | |
718 | + query = { ...this.query }; | |
719 | + } | |
706 | 720 | delete query.schoolId; |
707 | 721 | } |
708 | 722 | return query; |
... | ... | @@ -752,4 +766,14 @@ export default { |
752 | 766 | .table-box { |
753 | 767 | padding: 0 20px; |
754 | 768 | } |
769 | +.answer-header{ | |
770 | + .sel-box{ | |
771 | + .sel{ | |
772 | + margin-right:20px; | |
773 | + } | |
774 | + } | |
775 | + :deep(.el-input-group__append){ | |
776 | + padding:0 20px 0 12px; | |
777 | + } | |
778 | +} | |
755 | 779 | </style> |
756 | 780 | \ No newline at end of file | ... | ... |
src/views/standard/setUp/school.vue
... | ... | @@ -57,6 +57,10 @@ |
57 | 57 | <span class="s1">所属集团:</span> |
58 | 58 | <span class="s2">{{ school.tenantName || "--" }}</span> |
59 | 59 | </li> |
60 | + <li class="school-item"> | |
61 | + <span class="s1">基站登录密码 :</span> | |
62 | + <span class="s2">{{ school.stationPwd || "--" }}</span> | |
63 | + </li> | |
60 | 64 | </ul> |
61 | 65 | <div class="grade-box"> |
62 | 66 | <p class="h-title"> |
... | ... | @@ -187,6 +191,16 @@ |
187 | 191 | ></el-input> |
188 | 192 | </el-col> |
189 | 193 | </el-form-item> |
194 | + <el-form-item label="基站登录密码:" prop="stationPwd"> | |
195 | + <el-col :span="10"> | |
196 | + <el-input | |
197 | + maxlength="6" | |
198 | + v-model="formSchool.stationPwd" | |
199 | + show-password | |
200 | + placeholder="请输入基站登录密码" | |
201 | + ></el-input> | |
202 | + </el-col> | |
203 | + </el-form-item> | |
190 | 204 | <el-form-item label="联系人:" prop="contactPerson" |
191 | 205 | ><el-col :span="10" |
192 | 206 | ><el-input |
... | ... | @@ -279,6 +293,7 @@ export default { |
279 | 293 | //修改学校 |
280 | 294 | sections: "", |
281 | 295 | managePwd: "", |
296 | + stationPwd: "", | |
282 | 297 | contactPerson: "", |
283 | 298 | contactPhone: "", |
284 | 299 | }, |
... | ... | @@ -293,6 +308,15 @@ export default { |
293 | 308 | trigger: "blur", |
294 | 309 | }, |
295 | 310 | ], |
311 | + stationPwd: [ | |
312 | + { required: true, message: "请填写基站登陆密码", trigger: "blur" }, | |
313 | + { | |
314 | + min: 6, | |
315 | + max: 6, | |
316 | + message: "长度为 6 个字符", | |
317 | + trigger: "blur", | |
318 | + }, | |
319 | + ], | |
296 | 320 | }, |
297 | 321 | formGrade: { |
298 | 322 | //修改年级 |
... | ... | @@ -368,6 +392,10 @@ export default { |
368 | 392 | this.$message.error("请填写密码!"); |
369 | 393 | return; |
370 | 394 | } |
395 | + if (!this.formSchool.stationPwd) { | |
396 | + this.$message.error("请填写基站登录密码!"); | |
397 | + return; | |
398 | + } | |
371 | 399 | if (this.loading) { |
372 | 400 | return; |
373 | 401 | } | ... | ... |