|
@@ -8,16 +8,22 @@
|
|
|
</el-col>
|
|
|
<el-col :span="24" class="main">
|
|
|
<achieves
|
|
|
+ @clickDialog="opensave"
|
|
|
+ @submit="onsave"
|
|
|
:peaceAchieveList="peaceAchieveList"
|
|
|
:showPicker="showPicker"
|
|
|
:peaceScore="peaceScore"
|
|
|
@showBtn="showBtn"
|
|
|
@onConfirm="onConfirm"
|
|
|
:achieveList="achieveList"
|
|
|
+ @submitss="onsist"
|
|
|
:show="show"
|
|
|
:form="form"
|
|
|
:deptList="deptList"
|
|
|
:lesson="lesson"
|
|
|
+ :lesslist="lesslist"
|
|
|
+ :names="names"
|
|
|
+ :score="score"
|
|
|
></achieves>
|
|
|
</el-col>
|
|
|
</el-col>
|
|
@@ -33,6 +39,7 @@ const { mapActions: mapStudent } = createNamespacedHelpers('student');
|
|
|
const { mapActions: mapClass } = createNamespacedHelpers('classes');
|
|
|
const { mapActions: mapLesson } = createNamespacedHelpers('lesson');
|
|
|
const { mapActions: mapUploadtask } = createNamespacedHelpers('uploadtask');
|
|
|
+const { mapActions: mapSubject } = createNamespacedHelpers('subject');
|
|
|
|
|
|
export default {
|
|
|
name: 'achieve',
|
|
@@ -47,8 +54,11 @@ export default {
|
|
|
peaceScore: '',
|
|
|
studid: '',
|
|
|
lesson: [],
|
|
|
+ lesslist: [],
|
|
|
+ names: '',
|
|
|
+ score: '',
|
|
|
deptList: [],
|
|
|
- achieveList: {},
|
|
|
+ achieveList: [],
|
|
|
show: false,
|
|
|
form: {},
|
|
|
title: '',
|
|
@@ -57,9 +67,11 @@ export default {
|
|
|
navShow: true,
|
|
|
// 修改
|
|
|
stuid: '',
|
|
|
+ taskid: '',
|
|
|
}),
|
|
|
created() {
|
|
|
this.search();
|
|
|
+ this.searchinfo();
|
|
|
},
|
|
|
computed: {
|
|
|
...mapState(['user']),
|
|
@@ -77,14 +89,14 @@ export default {
|
|
|
methods: {
|
|
|
...mapStudent({ list: 'query', add: 'create', fet: 'fetch', updates: 'update' }),
|
|
|
...mapClass({ classinfo: 'fetch', classlist: 'query' }),
|
|
|
- ...mapLesson({ lessoninfo: 'fetch', classlist: 'query' }),
|
|
|
- ...mapUploadtask({ uploadtaskinfo: 'fetch', uploadtasklist: 'query' }),
|
|
|
+ ...mapLesson({ lessoninfo: 'fetch', lessonlist: 'query' }),
|
|
|
+ ...mapUploadtask({ uploadtaskinfo: 'fetch', uploadtasklist: 'query', uploadtaskupdate: 'update' }),
|
|
|
+ ...mapSubject({ subjectinfo: 'fetch', subjectlist: 'query' }),
|
|
|
// 平时成绩学生名单查询+作业成绩学生名单查询
|
|
|
async search() {
|
|
|
let classid = this.user.classid;
|
|
|
const res = await this.list({ classid });
|
|
|
this.$set(this, `peaceAchieveList`, res.data);
|
|
|
- this.$set(this, `achieveList`, res.data);
|
|
|
},
|
|
|
// 学委上作业分+存储学生id
|
|
|
clickAchieve({ id }) {
|
|
@@ -116,6 +128,73 @@ export default {
|
|
|
this.showPicker = false;
|
|
|
this.search();
|
|
|
},
|
|
|
+ // 作业成绩列表
|
|
|
+ async searchinfo({ ...info } = {}) {
|
|
|
+ let classid = this.user.classid;
|
|
|
+ const result = await this.uploadtasklist({ classid });
|
|
|
+ const res = await this.list({ classid });
|
|
|
+ for (const accc of res.data) {
|
|
|
+ console.log(accc.id);
|
|
|
+ var arr = result.data.filter(item => item.studentid === accc.id);
|
|
|
+ // console.log(arr);
|
|
|
+ }
|
|
|
+ let lessons = [];
|
|
|
+ let stus = [];
|
|
|
+ for (const val of result.data) {
|
|
|
+ const lessonInfo = await this.subjectinfo(val.lessonid);
|
|
|
+ val.subName = lessonInfo.data.name;
|
|
|
+ const stuInfo = await this.fet(val.studentid);
|
|
|
+ val.stuName = stuInfo.data.name;
|
|
|
+ //创建学生名字相关数组
|
|
|
+ let stu = [{ stuname: stuInfo.data.name, id: val.studentid }];
|
|
|
+ //合并数组
|
|
|
+ stus = [...stu, ...stus];
|
|
|
+
|
|
|
+ //去掉重复数组对象
|
|
|
+ var appArray = _.uniqWith(stus, _.isEqual);
|
|
|
+ //合并数组
|
|
|
+ let lesson = [{ name: lessonInfo.data.name, id: val.studentid }];
|
|
|
+ lessons = [...lesson, ...lessons];
|
|
|
+ // console.log(lessons);
|
|
|
+ this.$set(this, `achieveList`, appArray);
|
|
|
+ // this.$set(this, `lesson`, lessons);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //为了获取当前点击学生id和当前学生上传的作业
|
|
|
+ async onsist({ id }) {
|
|
|
+ let classid = this.user.classid;
|
|
|
+ const result = await this.uploadtasklist({ classid });
|
|
|
+ const res = await this.list({ classid });
|
|
|
+ for (const accc of res.data) {
|
|
|
+ var arr = result.data.filter(item => item.studentid === accc.id);
|
|
|
+ }
|
|
|
+ let lessons = [];
|
|
|
+ for (const val of result.data) {
|
|
|
+ const lessonInfo = await this.subjectinfo(val.lessonid);
|
|
|
+ val.subName = lessonInfo.data.name;
|
|
|
+ const stuInfo = await this.fet(val.studentid);
|
|
|
+ val.stuName = stuInfo.data.name;
|
|
|
+ let lesson = [{ name: lessonInfo.data.name, id: val.studentid, taskid: val.id, score: val.score }];
|
|
|
+ //合并数组
|
|
|
+ lessons = [...lesson, ...lessons];
|
|
|
+ //过滤掉与当前不同的学生id
|
|
|
+ var arr = lessons.filter(item => item.id === id);
|
|
|
+ }
|
|
|
+ this.$set(this, `lesson`, arr);
|
|
|
+ },
|
|
|
+ async opensave({ id, name, score }) {
|
|
|
+ this.show = true;
|
|
|
+ console.log(id, name, score);
|
|
|
+ this.$set(this, `names`, name);
|
|
|
+ this.$set(this.form, `score`, score);
|
|
|
+ this.$set(this, `taskid`, id);
|
|
|
+ },
|
|
|
+ async onsave(form) {
|
|
|
+ console.log(this.form);
|
|
|
+ this.form.id = this.taskid;
|
|
|
+ let res = await this.uploadtaskupdate(this.form);
|
|
|
+ this.show = false;
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|