Commit 76eb1bf66ec67186d81dc54e575bbe04cd86b938
1 parent
2126f54b
授课端版本管理,学生画像接口联调
Showing
14 changed files
with
199 additions
and
159 deletions
src/api/apis/answerSheet.js
1 | - | ||
2 | import service from "../axios" | 1 | import service from "../axios" |
3 | import answerSheet from "../urls/answerSheet" | 2 | import answerSheet from "../urls/answerSheet" |
4 | 3 | ||
@@ -99,5 +98,4 @@ export default { | @@ -99,5 +98,4 @@ export default { | ||
99 | data | 98 | data |
100 | }) | 99 | }) |
101 | }, | 100 | }, |
102 | -} | ||
103 | - | 101 | +} |
104 | \ No newline at end of file | 102 | \ No newline at end of file |
src/api/apis/apis.js
@@ -337,7 +337,22 @@ export default { | @@ -337,7 +337,22 @@ export default { | ||
337 | responseType: 'arraybuffer', | 337 | responseType: 'arraybuffer', |
338 | }); | 338 | }); |
339 | }, | 339 | }, |
340 | - | 340 | + // 任课老师-查询学生列表 |
341 | + tStudentList(data) { | ||
342 | + return service({ | ||
343 | + url: setUpUrls.tStudentList, | ||
344 | + method: "POST", | ||
345 | + data | ||
346 | + }); | ||
347 | + }, | ||
348 | + //任课老师-学生测练统计 | ||
349 | + tStudentExamReport(data) { | ||
350 | + return service({ | ||
351 | + url: setUpUrls.tStudentExamReport, | ||
352 | + method: "POST", | ||
353 | + data, | ||
354 | + }); | ||
355 | + }, | ||
341 | 356 | ||
342 | // 查询角色列表 | 357 | // 查询角色列表 |
343 | roleList(data) { | 358 | roleList(data) { |
@@ -1180,105 +1195,105 @@ export default { | @@ -1180,105 +1195,105 @@ export default { | ||
1180 | }); | 1195 | }); |
1181 | }, | 1196 | }, |
1182 | 1197 | ||
1183 | - /** 平台管理 */ | ||
1184 | - //账户管理 | ||
1185 | - tenantPage(data) { | 1198 | + /** 平台管理 */ |
1199 | + //账户管理 | ||
1200 | + tenantPage(data) { | ||
1186 | return service({ | 1201 | return service({ |
1187 | url: setUpUrls.tenantPage, | 1202 | url: setUpUrls.tenantPage, |
1188 | method: "POST", | 1203 | method: "POST", |
1189 | data | 1204 | data |
1190 | }); | 1205 | }); |
1191 | }, | 1206 | }, |
1192 | - //修改账号 | ||
1193 | - updateTenant(data) { | 1207 | + //修改账号 |
1208 | + updateTenant(data) { | ||
1194 | return service({ | 1209 | return service({ |
1195 | url: setUpUrls.updateTenant, | 1210 | url: setUpUrls.updateTenant, |
1196 | method: "POST", | 1211 | method: "POST", |
1197 | data | 1212 | data |
1198 | }); | 1213 | }); |
1199 | }, | 1214 | }, |
1200 | - //新增租户账号 | ||
1201 | - addTenant(data) { | 1215 | + //新增租户账号 |
1216 | + addTenant(data) { | ||
1202 | return service({ | 1217 | return service({ |
1203 | url: setUpUrls.addTenant, | 1218 | url: setUpUrls.addTenant, |
1204 | method: "POST", | 1219 | method: "POST", |
1205 | data | 1220 | data |
1206 | }); | 1221 | }); |
1207 | }, | 1222 | }, |
1208 | - //授课端版本管理 | ||
1209 | - versionPage(data) { | 1223 | + //授课端版本管理 |
1224 | + versionPage(data) { | ||
1210 | return service({ | 1225 | return service({ |
1211 | url: setUpUrls.versionPage, | 1226 | url: setUpUrls.versionPage, |
1212 | method: "POST", | 1227 | method: "POST", |
1213 | data | 1228 | data |
1214 | }); | 1229 | }); |
1215 | }, | 1230 | }, |
1216 | - //新增授课端版本 | ||
1217 | - addVersion(data) { | 1231 | + //新增授课端版本 |
1232 | + addVersion(data) { | ||
1218 | return service({ | 1233 | return service({ |
1219 | url: setUpUrls.addVersion, | 1234 | url: setUpUrls.addVersion, |
1220 | method: "POST", | 1235 | method: "POST", |
1221 | data | 1236 | data |
1222 | }); | 1237 | }); |
1223 | }, | 1238 | }, |
1224 | - //删除授课端版本 | ||
1225 | - delVersion(data) { | 1239 | + //删除授课端版本 |
1240 | + delVersion(data) { | ||
1226 | return service({ | 1241 | return service({ |
1227 | url: setUpUrls.delVersion, | 1242 | url: setUpUrls.delVersion, |
1228 | method: "POST", | 1243 | method: "POST", |
1229 | data | 1244 | data |
1230 | }); | 1245 | }); |
1231 | }, | 1246 | }, |
1232 | - //基站统计数据 | ||
1233 | - pStationReport(data) { | 1247 | + //基站统计数据 |
1248 | + pStationReport(data) { | ||
1234 | return service({ | 1249 | return service({ |
1235 | url: setUpUrls.pStationReport, | 1250 | url: setUpUrls.pStationReport, |
1236 | method: "POST", | 1251 | method: "POST", |
1237 | data | 1252 | data |
1238 | }); | 1253 | }); |
1239 | }, | 1254 | }, |
1240 | - //答题器统计数据 | ||
1241 | - pKeyboardReport(data) { | 1255 | + //答题器统计数据 |
1256 | + pKeyboardReport(data) { | ||
1242 | return service({ | 1257 | return service({ |
1243 | url: setUpUrls.pKeyboardReport, | 1258 | url: setUpUrls.pKeyboardReport, |
1244 | method: "POST", | 1259 | method: "POST", |
1245 | data | 1260 | data |
1246 | }); | 1261 | }); |
1247 | }, | 1262 | }, |
1248 | - //查询设备列表 | ||
1249 | - pDeviceList(data) { | 1263 | + //查询设备列表 |
1264 | + pDeviceList(data) { | ||
1250 | return service({ | 1265 | return service({ |
1251 | url: setUpUrls.pDeviceList, | 1266 | url: setUpUrls.pDeviceList, |
1252 | method: "POST", | 1267 | method: "POST", |
1253 | data | 1268 | data |
1254 | }); | 1269 | }); |
1255 | }, | 1270 | }, |
1256 | - //查询设备详情 | ||
1257 | - pDeviceDetail(data) { | 1271 | + //查询设备详情 |
1272 | + pDeviceDetail(data) { | ||
1258 | return service({ | 1273 | return service({ |
1259 | url: setUpUrls.pDeviceDetail, | 1274 | url: setUpUrls.pDeviceDetail, |
1260 | method: "POST", | 1275 | method: "POST", |
1261 | data | 1276 | data |
1262 | }); | 1277 | }); |
1263 | }, | 1278 | }, |
1264 | - //查询设备日志列表 | ||
1265 | - pDeviceLogList(data) { | 1279 | + //查询设备日志列表 |
1280 | + pDeviceLogList(data) { | ||
1266 | return service({ | 1281 | return service({ |
1267 | url: setUpUrls.pDeviceLogList, | 1282 | url: setUpUrls.pDeviceLogList, |
1268 | method: "POST", | 1283 | method: "POST", |
1269 | data | 1284 | data |
1270 | }); | 1285 | }); |
1271 | }, | 1286 | }, |
1272 | - //班级名册导入 | ||
1273 | - studentTemplateUrl(data) { | 1287 | + //班级名册导入 |
1288 | + studentTemplateUrl(data) { | ||
1274 | return service({ | 1289 | return service({ |
1275 | url: setUpUrls.studentTemplateUrl, | 1290 | url: setUpUrls.studentTemplateUrl, |
1276 | method: "POST", | 1291 | method: "POST", |
1277 | data | 1292 | data |
1278 | }); | 1293 | }); |
1279 | }, | 1294 | }, |
1280 | - //班级名册导出 | ||
1281 | - exportStudent(data) { | 1295 | + //班级名册导出 |
1296 | + exportStudent(data) { | ||
1282 | return service({ | 1297 | return service({ |
1283 | url: setUpUrls.exportStudent, | 1298 | url: setUpUrls.exportStudent, |
1284 | method: "POST", | 1299 | method: "POST", |
@@ -1286,32 +1301,32 @@ export default { | @@ -1286,32 +1301,32 @@ export default { | ||
1286 | responseType: 'arraybuffer', | 1301 | responseType: 'arraybuffer', |
1287 | }); | 1302 | }); |
1288 | }, | 1303 | }, |
1289 | - //上传图片 | ||
1290 | - puploadImg(data) { | 1304 | + //上传图片 |
1305 | + puploadImg(data) { | ||
1291 | return service({ | 1306 | return service({ |
1292 | url: setUpUrls.uploadImg, | 1307 | url: setUpUrls.uploadImg, |
1293 | method: "POST", | 1308 | method: "POST", |
1294 | data, | 1309 | data, |
1295 | }); | 1310 | }); |
1296 | }, | 1311 | }, |
1297 | - //学生测练统计 | ||
1298 | - studentExamReport(data) { | 1312 | + //学生测练统计 |
1313 | + pStudentExamReport(data) { | ||
1299 | return service({ | 1314 | return service({ |
1300 | - url: setUpUrls.studentExamReport, | 1315 | + url: setUpUrls.pStudentExamReport, |
1301 | method: "POST", | 1316 | method: "POST", |
1302 | data, | 1317 | data, |
1303 | }); | 1318 | }); |
1304 | }, | 1319 | }, |
1305 | - //查询最新的授课端应用版本 | ||
1306 | - pLatestVersion(data) { | 1320 | + //查询最新的授课端应用版本 |
1321 | + pLatestVersion(data) { | ||
1307 | return service({ | 1322 | return service({ |
1308 | url: setUpUrls.pLatestVersion, | 1323 | url: setUpUrls.pLatestVersion, |
1309 | method: "POST", | 1324 | method: "POST", |
1310 | data, | 1325 | data, |
1311 | }); | 1326 | }); |
1312 | }, | 1327 | }, |
1313 | - //载指定版本授课端 | ||
1314 | - pGetAppDownloadUrl(data) { | 1328 | + //载指定版本授课端 |
1329 | + pGetAppDownloadUrl(data) { | ||
1315 | return service({ | 1330 | return service({ |
1316 | url: setUpUrls.pGetAppDownloadUrl, | 1331 | url: setUpUrls.pGetAppDownloadUrl, |
1317 | method: "POST", | 1332 | method: "POST", |
src/api/apis/ask.js deleted
1 | - | ||
2 | -import service from "../axios" | ||
3 | -import askUrls from "../urls/login" | ||
4 | - | ||
5 | -export default { | ||
6 | - // 随堂问列表 | ||
7 | - fetchQuizList(data) { | ||
8 | - return service({ | ||
9 | - url: askUrls.quizList, | ||
10 | - method: 'POST', | ||
11 | - data | ||
12 | - }) | ||
13 | - }, | ||
14 | - // 随堂问详情 | ||
15 | - quizDetail(data) { | ||
16 | - return service({ | ||
17 | - url: askUrls.quizDetail, | ||
18 | - method: 'POST', | ||
19 | - data | ||
20 | - }) | ||
21 | - }, | ||
22 | -} |
src/api/apis/role.js deleted
src/api/urls/apis.js
@@ -79,9 +79,10 @@ export default { | @@ -79,9 +79,10 @@ export default { | ||
79 | exportPhaseExamReport: "/api_html/teaching/exportPhaseExamReport", | 79 | exportPhaseExamReport: "/api_html/teaching/exportPhaseExamReport", |
80 | //任课老师-导出单卷测练报表 | 80 | //任课老师-导出单卷测练报表 |
81 | exportExamReport: "/api_html/teaching/exportExamReport", | 81 | exportExamReport: "/api_html/teaching/exportExamReport", |
82 | - | ||
83 | - | ||
84 | - | 82 | + //任课老师-查询学生列表 |
83 | + tStudentList: "/api_html/teaching/studentList", | ||
84 | + //任课老师-学生测练统计 | ||
85 | + tStudentExamReport: "/api_html/teaching/studentExamReport", | ||
85 | 86 | ||
86 | 87 | ||
87 | // 查询角色列表 | 88 | // 查询角色列表 |
@@ -334,7 +335,7 @@ export default { | @@ -334,7 +335,7 @@ export default { | ||
334 | // 班级名册导出 | 335 | // 班级名册导出 |
335 | exportStudent: "/api_html/personal/exportStudent", | 336 | exportStudent: "/api_html/personal/exportStudent", |
336 | // 学生测练统计 | 337 | // 学生测练统计 |
337 | - studentExamReport: "/api_html/personal/studentExamReport", | 338 | + pStudentExamReport: "/api_html/personal/studentExamReport", |
338 | // 查询最新的授课端应用版本 | 339 | // 查询最新的授课端应用版本 |
339 | pLatestVersion: "/api_html/personal/latestVersion", | 340 | pLatestVersion: "/api_html/personal/latestVersion", |
340 | // 载指定版本授课端 | 341 | // 载指定版本授课端 |
src/api/urls/ask.js deleted
src/api/urls/role.js deleted
src/components/setAnswer.vue
@@ -137,7 +137,7 @@ | @@ -137,7 +137,7 @@ | ||
137 | >,</span | 137 | >,</span |
138 | > | 138 | > |
139 | </template> | 139 | </template> |
140 | - <template v-if="formAns.qusType == 2" class="answer-box"> | 140 | + <template v-if="formAns.qusType == 2"> |
141 | <span | 141 | <span |
142 | class="answer-s active" | 142 | class="answer-s active" |
143 | v-for="option in formAns.answerOptions.split(',')" | 143 | v-for="option in formAns.answerOptions.split(',')" |
src/views/admin/clientVersion/index.vue
@@ -35,6 +35,7 @@ | @@ -35,6 +35,7 @@ | ||
35 | align="center" | 35 | align="center" |
36 | ></el-table-column> | 36 | ></el-table-column> |
37 | <el-table-column | 37 | <el-table-column |
38 | + width="80" | ||
38 | prop="versionNumber" | 39 | prop="versionNumber" |
39 | label="版本号" | 40 | label="版本号" |
40 | align="center" | 41 | align="center" |
@@ -49,19 +50,19 @@ | @@ -49,19 +50,19 @@ | ||
49 | prop="fileSize" | 50 | prop="fileSize" |
50 | label="文件大小" | 51 | label="文件大小" |
51 | align="center" | 52 | align="center" |
52 | - ></el-table-column> | 53 | + ><template slot-scope="scoped">{{setSize(scoped.row.fileSize)}}</template></el-table-column> |
53 | <el-table-column | 54 | <el-table-column |
54 | prop="description" | 55 | prop="description" |
55 | label="更新描述" | 56 | label="更新描述" |
56 | align="center" | 57 | align="center" |
57 | ></el-table-column> | 58 | ></el-table-column> |
58 | - <el-table-column label="操作" align="center" width="160"> | 59 | + <!-- <el-table-column label="操作" align="center" width="160"> |
59 | <template slot-scope="scoped"> | 60 | <template slot-scope="scoped"> |
60 | <el-popconfirm title="确定删除吗?" @confirm="remove(scoped.row)"> | 61 | <el-popconfirm title="确定删除吗?" @confirm="remove(scoped.row)"> |
61 | <span class="del" slot="reference">删除</span> | 62 | <span class="del" slot="reference">删除</span> |
62 | </el-popconfirm> | 63 | </el-popconfirm> |
63 | </template> | 64 | </template> |
64 | - </el-table-column> | 65 | + </el-table-column> --> |
65 | </el-table> | 66 | </el-table> |
66 | <div class="pagination-box"> | 67 | <div class="pagination-box"> |
67 | <el-pagination | 68 | <el-pagination |
@@ -88,6 +89,16 @@ | @@ -88,6 +89,16 @@ | ||
88 | ref="formAdd" | 89 | ref="formAdd" |
89 | label-width="160px" | 90 | label-width="160px" |
90 | > | 91 | > |
92 | + <el-form-item label="应用名称:" prop="versionName"> | ||
93 | + <el-col :span="12"> | ||
94 | + <el-input | ||
95 | + placeholder="请输入应用名称" | ||
96 | + v-model.trim="formAdd.appName" | ||
97 | + maxlength="30" | ||
98 | + > | ||
99 | + </el-input> | ||
100 | + </el-col> | ||
101 | + </el-form-item> | ||
91 | <el-form-item label="版本名称:" prop="versionName"> | 102 | <el-form-item label="版本名称:" prop="versionName"> |
92 | <el-col :span="12"> | 103 | <el-col :span="12"> |
93 | <el-input | 104 | <el-input |
@@ -158,23 +169,31 @@ export default { | @@ -158,23 +169,31 @@ export default { | ||
158 | diaAdd: false, | 169 | diaAdd: false, |
159 | tableData: [], | 170 | tableData: [], |
160 | formAdd: { | 171 | formAdd: { |
172 | + appName: "", | ||
161 | versionName: "", | 173 | versionName: "", |
162 | versionNumber: "", | 174 | versionNumber: "", |
163 | appImage: "", | 175 | appImage: "", |
176 | + md5: "", | ||
177 | + fileSize: "", | ||
164 | filePath: "", | 178 | filePath: "", |
179 | + incrementMd5: "", | ||
180 | + incrementFileSize: "", | ||
165 | incrementFilePath: "", | 181 | incrementFilePath: "", |
166 | description: "", | 182 | description: "", |
167 | }, | 183 | }, |
168 | ruleAdd: { | 184 | ruleAdd: { |
185 | + appName: [ | ||
186 | + { required: true, message: "请输入应用名称", trigger: "blur" }, | ||
187 | + ], | ||
169 | versionName: [ | 188 | versionName: [ |
170 | { required: true, message: "请输入版本名称", trigger: "blur" }, | 189 | { required: true, message: "请输入版本名称", trigger: "blur" }, |
171 | ], | 190 | ], |
172 | filePath: [ | 191 | filePath: [ |
173 | { required: true, message: "请上传全量文件包", trigger: "blur" }, | 192 | { required: true, message: "请上传全量文件包", trigger: "blur" }, |
174 | ], | 193 | ], |
175 | - incrementFilePath: [ | ||
176 | - { required: true, message: "请上传增量文件包", trigger: "blur" }, | ||
177 | - ], | 194 | + // incrementFilePath: [ |
195 | + // { required: true, message: "请上传增量文件包", trigger: "blur" }, | ||
196 | + // ], | ||
178 | }, | 197 | }, |
179 | page: 1, | 198 | page: 1, |
180 | size: 20, | 199 | size: 20, |
@@ -185,13 +204,14 @@ export default { | @@ -185,13 +204,14 @@ export default { | ||
185 | this._QueryData(); | 204 | this._QueryData(); |
186 | }, | 205 | }, |
187 | methods: { | 206 | methods: { |
207 | + setSize(size){ | ||
208 | + let fileSize = (size/1024/1224).toFixed(2) | ||
209 | + return `${fileSize}MB` | ||
210 | + }, | ||
188 | openAddDia() { | 211 | openAddDia() { |
189 | - this.formAdd.versionName = ""; | ||
190 | - this.formAdd.versionNumber = ""; | ||
191 | - this.formAdd.appImage = ""; | ||
192 | - this.formAdd.filePath = ""; | ||
193 | - this.formAdd.incrementFilePath = ""; | ||
194 | - this.formAdd.description = ""; | 212 | + for (let key in this.formAdd) { |
213 | + this.formAdd[key] = ""; | ||
214 | + } | ||
195 | this.diaAdd = true; | 215 | this.diaAdd = true; |
196 | }, | 216 | }, |
197 | changePage(page) { | 217 | changePage(page) { |
@@ -213,26 +233,36 @@ export default { | @@ -213,26 +233,36 @@ export default { | ||
213 | this.formAdd.appImage = res.data.resId; | 233 | this.formAdd.appImage = res.data.resId; |
214 | }, | 234 | }, |
215 | appfilesSuccess(res) { | 235 | appfilesSuccess(res) { |
216 | - this.formAdd.filePath = res.data; | 236 | + this.formAdd.md5 = res.data.md5; |
237 | + this.formAdd.fileSize = res.data.size; | ||
238 | + this.formAdd.filePath = res.data.resId; | ||
217 | }, | 239 | }, |
218 | addfilesSuccess(res) { | 240 | addfilesSuccess(res) { |
219 | - this.formAdd.incrementFilePath = res.data; | 241 | + this.formAdd.incrementMd5 = res.data.md5; |
242 | + this.formAdd.incrementFileSize = res.data.size; | ||
243 | + this.formAdd.incrementFilePath = res.data.resId; | ||
220 | }, | 244 | }, |
221 | async save() { | 245 | async save() { |
222 | - if (this.addLoading) return; | ||
223 | - this.addLoading = true; | ||
224 | - const { data, status, info } = await this.$request.addVersion({ | ||
225 | - ...this.formAdd, | ||
226 | - }); | 246 | + this.$refs.formAdd.validate(async (valid) => { |
247 | + if (valid) { | ||
248 | + if (this.addLoading) return; | ||
249 | + this.addLoading = true; | ||
250 | + const { data, status, info } = await this.$request.addVersion({ | ||
251 | + ...this.formAdd, | ||
252 | + }); | ||
227 | 253 | ||
228 | - this.addLoading = false; | ||
229 | - if (status === 0) { | ||
230 | - this.diaAdd = false; | ||
231 | - this.$message.success("添加成功~"); | ||
232 | - this._QueryData(); | ||
233 | - } else { | ||
234 | - this.$message.error(info); | ||
235 | - } | 254 | + this.addLoading = false; |
255 | + if (status === 0) { | ||
256 | + this.diaAdd = false; | ||
257 | + this.$message.success("添加成功~"); | ||
258 | + this._QueryData(); | ||
259 | + } else { | ||
260 | + this.$message.error(info); | ||
261 | + } | ||
262 | + } else { | ||
263 | + this.$message.warning("必填项不能为空,请检查。"); | ||
264 | + } | ||
265 | + }); | ||
236 | }, | 266 | }, |
237 | async _QueryData() { | 267 | async _QueryData() { |
238 | this.loading = true; | 268 | this.loading = true; |
src/views/layout/header/header.vue
@@ -180,6 +180,7 @@ export default { | @@ -180,6 +180,7 @@ export default { | ||
180 | if (data) { | 180 | if (data) { |
181 | window.location.href = data; | 181 | window.location.href = data; |
182 | } else { | 182 | } else { |
183 | + localStorage.setItem("token","") | ||
183 | this.$store.commit("setToken", ""); | 184 | this.$store.commit("setToken", ""); |
184 | this.$store.commit("setInfo", {}); | 185 | this.$store.commit("setInfo", {}); |
185 | this.$store.commit("setRouters", []); | 186 | this.$store.commit("setRouters", []); |
src/views/personal/setUp/student.vue
@@ -166,7 +166,7 @@ | @@ -166,7 +166,7 @@ | ||
166 | <el-checkbox | 166 | <el-checkbox |
167 | v-for="item in subjectList" | 167 | v-for="item in subjectList" |
168 | :label="item" | 168 | :label="item" |
169 | - :key="item.id" | 169 | + :key="item" |
170 | >{{ item }}</el-checkbox | 170 | >{{ item }}</el-checkbox |
171 | > | 171 | > |
172 | </el-checkbox-group> | 172 | </el-checkbox-group> |
@@ -195,11 +195,7 @@ | @@ -195,11 +195,7 @@ | ||
195 | </div> | 195 | </div> |
196 | </el-dialog> | 196 | </el-dialog> |
197 | <el-dialog title="学生导入" :visible.sync="diaUp" width="600"> | 197 | <el-dialog title="学生导入" :visible.sync="diaUp" width="600"> |
198 | - <up-load | ||
199 | - :url="url" | ||
200 | - @upSuccess="upSuccess" | ||
201 | - fileName="学生模板" | ||
202 | - > | 198 | + <up-load :url="url" @upSuccess="upSuccess" fileName="学生模板"> |
203 | <p class="down-txt" slot="down"> | 199 | <p class="down-txt" slot="down"> |
204 | 通过Excel名单导入学生模板,点击 | 200 | 通过Excel名单导入学生模板,点击 |
205 | <el-link type="danger" @click="downExcel">模板下载</el-link> 。 | 201 | <el-link type="danger" @click="downExcel">模板下载</el-link> 。 |
@@ -364,7 +360,10 @@ export default { | @@ -364,7 +360,10 @@ export default { | ||
364 | async _QuerySubject() { | 360 | async _QuerySubject() { |
365 | const { data, status, info } = await this.$request.pSubjectList(); | 361 | const { data, status, info } = await this.$request.pSubjectList(); |
366 | if (status === 0) { | 362 | if (status === 0) { |
367 | - this.subjectList = [...data.subjectNames] || []; | 363 | + this.subjectList = |
364 | + data?.subjectNames.map((item) => { | ||
365 | + return item.subjectName; | ||
366 | + }) || []; | ||
368 | } else { | 367 | } else { |
369 | this.$message.error(info); | 368 | this.$message.error(info); |
370 | } | 369 | } |
@@ -435,7 +434,7 @@ export default { | @@ -435,7 +434,7 @@ export default { | ||
435 | 434 | ||
436 | async _QueryClass() { | 435 | async _QueryClass() { |
437 | const { data, status, info } = await this.$request.pClassList({ | 436 | const { data, status, info } = await this.$request.pClassList({ |
438 | - needStudentCount:1 | 437 | + needStudentCount: 1, |
439 | }); | 438 | }); |
440 | if (status === 0) { | 439 | if (status === 0) { |
441 | this.classList = [...data.list] || []; | 440 | this.classList = [...data.list] || []; |
@@ -462,7 +461,7 @@ export default { | @@ -462,7 +461,7 @@ export default { | ||
462 | let data = await this.$request.exportStudent(); | 461 | let data = await this.$request.exportStudent(); |
463 | this.loadingDown = false; | 462 | this.loadingDown = false; |
464 | if (data) { | 463 | if (data) { |
465 | - let blob = new Blob([data], { | 464 | + let blob = new Blob([data], { |
466 | type: "application/vnd.ms-excel;charset=utf-8", | 465 | type: "application/vnd.ms-excel;charset=utf-8", |
467 | }); | 466 | }); |
468 | downloadFile(`学生名单.xlsx`, blob); | 467 | downloadFile(`学生名单.xlsx`, blob); |
src/views/portrait/detail.vue
@@ -8,6 +8,20 @@ | @@ -8,6 +8,20 @@ | ||
8 | <div class="answer-header"> | 8 | <div class="answer-header"> |
9 | <div class="sel-box"> | 9 | <div class="sel-box"> |
10 | <el-select | 10 | <el-select |
11 | + v-if="role == 'ROLE_JIAOSHI'" | ||
12 | + class="sel" | ||
13 | + v-model="query.subjectNames" | ||
14 | + placeholder="选择科目" | ||
15 | + > | ||
16 | + <el-option | ||
17 | + v-for="item in subjectList" | ||
18 | + :key="item.value" | ||
19 | + :label="item.label" | ||
20 | + :value="item.value" | ||
21 | + > | ||
22 | + </el-option> | ||
23 | + </el-select> | ||
24 | + <el-select | ||
11 | class="sel" | 25 | class="sel" |
12 | multiple | 26 | multiple |
13 | v-model="query.subjectNames" | 27 | v-model="query.subjectNames" |
@@ -145,6 +159,7 @@ export default { | @@ -145,6 +159,7 @@ export default { | ||
145 | components: { radarChart, lineChart }, | 159 | components: { radarChart, lineChart }, |
146 | data() { | 160 | data() { |
147 | return { | 161 | return { |
162 | + role: "", | ||
148 | id: "", | 163 | id: "", |
149 | studentName: "", | 164 | studentName: "", |
150 | studentCode: "", | 165 | studentCode: "", |
@@ -184,11 +199,18 @@ export default { | @@ -184,11 +199,18 @@ export default { | ||
184 | }; | 199 | }; |
185 | }, | 200 | }, |
186 | async created() { | 201 | async created() { |
202 | + this.role = | ||
203 | + this.$store.getters.info.showRole || | ||
204 | + this.$store.getters.info.permissions[0].role; | ||
187 | this.id = this.$route.query.id; | 205 | this.id = this.$route.query.id; |
188 | this.classId = this.$route.query.classId; | 206 | this.classId = this.$route.query.classId; |
189 | this.studentCode = this.$route.query.studentCode; | 207 | this.studentCode = this.$route.query.studentCode; |
190 | this.studentName = this.$route.query.studentName; | 208 | this.studentName = this.$route.query.studentName; |
191 | - this.subjectNames = this.$route.query.subjectNames?.split(",") || []; | 209 | + if (this.role != "ROLE_JIAOSHI") { |
210 | + this.subjectNames = this.$route.query.subjectNames?.split() || []; | ||
211 | + } else { | ||
212 | + this.subjectNames = this.$route.query.subjectNames; | ||
213 | + } | ||
192 | await this._QuerySubjectList(); | 214 | await this._QuerySubjectList(); |
193 | await this.setDate(1); | 215 | await this.setDate(1); |
194 | let startDay = this.query?.startDay; | 216 | let startDay = this.query?.startDay; |
@@ -285,7 +307,11 @@ export default { | @@ -285,7 +307,11 @@ export default { | ||
285 | } | 307 | } |
286 | }, | 308 | }, |
287 | async _QuerySubjectList() { | 309 | async _QuerySubjectList() { |
288 | - const { data, status, info } = await this.$request.pSubjectList({ | 310 | + let subjectList = |
311 | + this.role == "ROLE_PERSONAL" | ||
312 | + ? this.$request.pSubjectList | ||
313 | + : this.$request.tSubjectList; | ||
314 | + const { data, status, info } = await subjectList({ | ||
289 | classId: this.classId, | 315 | classId: this.classId, |
290 | }); | 316 | }); |
291 | if (status === 0) { | 317 | if (status === 0) { |
@@ -296,22 +322,30 @@ export default { | @@ -296,22 +322,30 @@ export default { | ||
296 | label: item, | 322 | label: item, |
297 | }; | 323 | }; |
298 | }) || []; | 324 | }) || []; |
299 | - this.subjectList.unshift({ | ||
300 | - value: "全部", | ||
301 | - label: "全部", | ||
302 | - }); | ||
303 | - if (this.subjectNames.length == 0) { | ||
304 | - this.query.subjectNames.push(this.subjectList[0]?.value); | 325 | + if (this.role != "ROLE_JIAOSHI") { |
326 | + this.subjectList.unshift({ | ||
327 | + value: "全部", | ||
328 | + label: "全部", | ||
329 | + }); | ||
330 | + if (this.subjectNames.length == 0) { | ||
331 | + this.query.subjectNames.push(this.subjectList[0]?.value); | ||
332 | + } else { | ||
333 | + this.query.subjectNames = [...this.subjectNames]; | ||
334 | + } | ||
335 | + this.type = | ||
336 | + this.query.subjectNames.length > 1 | ||
337 | + ? 1 | ||
338 | + : this.query.subjectNames[0] == "全部" && | ||
339 | + this.subjectList.length != 2 | ||
340 | + ? 1 | ||
341 | + : 2; | ||
305 | } else { | 342 | } else { |
306 | - this.query.subjectNames = [...this.subjectNames]; | 343 | + if (!this.subjectNames) { |
344 | + this.query.subjectNames = this.subjectList[0]?.value; | ||
345 | + } else { | ||
346 | + this.query.subjectNames = this.subjectNames; | ||
347 | + } | ||
307 | } | 348 | } |
308 | - this.type = | ||
309 | - this.query.subjectNames.length > 1 | ||
310 | - ? 1 | ||
311 | - : this.query.subjectNames[0] == "全部" && | ||
312 | - this.subjectList.length != 2 | ||
313 | - ? 1 | ||
314 | - : 2; | ||
315 | } else { | 349 | } else { |
316 | this.$message.error(info); | 350 | this.$message.error(info); |
317 | } | 351 | } |
@@ -326,21 +360,29 @@ export default { | @@ -326,21 +360,29 @@ export default { | ||
326 | } | 360 | } |
327 | delete query.subjectNames; | 361 | delete query.subjectNames; |
328 | let subjectNames; | 362 | let subjectNames; |
329 | - if ( | ||
330 | - this.query.subjectNames.length == 1 && | ||
331 | - this.query.subjectNames[0] == "全部" | ||
332 | - ) { | ||
333 | - subjectNames = this.subjectList | ||
334 | - .filter((item) => { | ||
335 | - return item.value != "全部"; | ||
336 | - }) | ||
337 | - .map((item) => { | ||
338 | - return item.value; | ||
339 | - }); | 363 | + if (this.role != "ROLE_JIAOSHI") { |
364 | + if ( | ||
365 | + this.query.subjectNames.length == 1 && | ||
366 | + this.query.subjectNames[0] == "全部" | ||
367 | + ) { | ||
368 | + subjectNames = this.subjectList | ||
369 | + .filter((item) => { | ||
370 | + return item.value != "全部"; | ||
371 | + }) | ||
372 | + .map((item) => { | ||
373 | + return item.value; | ||
374 | + }); | ||
375 | + } else { | ||
376 | + subjectNames = [...this.query.subjectNames]; | ||
377 | + } | ||
340 | } else { | 378 | } else { |
341 | - subjectNames = [...this.query.subjectNames]; | 379 | + subjectNames = [this.query.subjectNames]; |
342 | } | 380 | } |
343 | - const { data, status, info } = await this.$request.studentExamReport({ | 381 | + let studentExamReport = |
382 | + this.role == "ROLE_PERSONAL" | ||
383 | + ? this.$request.pStudentExamReport | ||
384 | + : this.$request.tStudentExamReport; | ||
385 | + const { data, status, info } = await studentExamReport({ | ||
344 | studentId: this.id, | 386 | studentId: this.id, |
345 | subjectNames: subjectNames, | 387 | subjectNames: subjectNames, |
346 | ...query, | 388 | ...query, |
src/views/standard/ask/index.vue
@@ -769,7 +769,7 @@ export default { | @@ -769,7 +769,7 @@ export default { | ||
769 | this.loading = false; | 769 | this.loading = false; |
770 | if (status === 0) { | 770 | if (status === 0) { |
771 | this.tableData = (data?.list && [...data?.list]) || []; | 771 | this.tableData = (data?.list && [...data?.list]) || []; |
772 | - this.total = data.count; | 772 | + this.total = data?.count || 0; |
773 | } else { | 773 | } else { |
774 | this.$message.error(info); | 774 | this.$message.error(info); |
775 | } | 775 | } |
src/views/standard/test/index.vue
1 | <template> | 1 | <template> |
2 | - <div ref="main" class="page-container" :class="dialogVisible ? 'active' : ''"> | 2 | + <div ref="main" class="page-container"> |
3 | <back-box> | 3 | <back-box> |
4 | <template slot="title"> | 4 | <template slot="title"> |
5 | <span>即时测-数据报表</span> | 5 | <span>即时测-数据报表</span> |
@@ -788,7 +788,7 @@ export default { | @@ -788,7 +788,7 @@ export default { | ||
788 | this.loading = false; | 788 | this.loading = false; |
789 | if (status === 0) { | 789 | if (status === 0) { |
790 | this.tableData = (data?.list && [...data?.list]) || []; | 790 | this.tableData = (data?.list && [...data?.list]) || []; |
791 | - this.total = data.count; | 791 | + this.total = data?.count || 0; |
792 | } else { | 792 | } else { |
793 | this.$message.error(info); | 793 | this.$message.error(info); |
794 | } | 794 | } |