|
@@ -27,6 +27,7 @@ const { mapActions: mapClass } = createNamespacedHelpers('classes');
|
|
|
const { mapActions: mapLesson } = createNamespacedHelpers('lesson');
|
|
|
const { mapActions: mapTask } = createNamespacedHelpers('task');
|
|
|
const { mapActions: mapSubject } = createNamespacedHelpers('subject');
|
|
|
+const { mapActions: uploadtask } = createNamespacedHelpers('uploadtask');
|
|
|
|
|
|
export default {
|
|
|
name: 'homework',
|
|
@@ -60,6 +61,7 @@ export default {
|
|
|
...mapState(['user']),
|
|
|
},
|
|
|
methods: {
|
|
|
+ ...uploadtask({ getUploadTask: 'query' }),
|
|
|
...mapTask({ list: 'query', add: 'create', fet: 'fetch', updates: 'update' }),
|
|
|
...mapClass({ classinfo: 'fetch', classquery: 'query' }),
|
|
|
...mapLesson({ lessonList: 'query', lessonadd: 'create', lessonfet: 'fetch', lessonupdates: 'update' }),
|
|
@@ -73,20 +75,42 @@ export default {
|
|
|
const resout = await this.list();
|
|
|
|
|
|
let lessons = _.get(res.data[0], `lessons`);
|
|
|
- let r = _.uniqBy(lessons, 'subid');
|
|
|
- r = r.filter(f => f.subid);
|
|
|
-
|
|
|
+ // lesson排序,只去时间最早的作为作业的上传lessonid,需要和教师处相同处理
|
|
|
+ let r = lessons.filter(f => f.subid);
|
|
|
+ r = r.map(r => {
|
|
|
+ let time = r.time.split('-');
|
|
|
+ r.start = `${r.date} ${time[0]}`;
|
|
|
+ return r;
|
|
|
+ });
|
|
|
+ r = Object.values(_.groupBy(r, 'subid'));
|
|
|
+ r = r.map(a => {
|
|
|
+ let na = _.orderBy(a, ['start'], ['asc']);
|
|
|
+ return _.head(na);
|
|
|
+ });
|
|
|
var crr = r.filter(item => item.subid);
|
|
|
this.$set(this, `workLists`, crr);
|
|
|
for (const val of resout.data) {
|
|
|
var arr = crr.filter(item => item.subid === val.code);
|
|
|
- console.log(arr);
|
|
|
+ for (const att of arr) {
|
|
|
+ att.display = 'second';
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- for (const att of arr) {
|
|
|
- console.log(att);
|
|
|
- att.display = 'second';
|
|
|
+ this.getUpload();
|
|
|
+ },
|
|
|
+ async getUpload() {
|
|
|
+ let list = _.cloneDeep(this.workLists);
|
|
|
+ for (let i of list) {
|
|
|
+ let res = await this.getUploadTask({ studentid: this.user.userid, lessonid: i._id });
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
+ let r = res.data;
|
|
|
+ if (r.length > 0) {
|
|
|
+ let head = _.head(r);
|
|
|
+ i.have = true;
|
|
|
+ if (head.score) i.score = head.score;
|
|
|
+ } else i.have = false;
|
|
|
+ }
|
|
|
}
|
|
|
+ this.$set(this, `workLists`, list);
|
|
|
},
|
|
|
},
|
|
|
};
|