wuhongyu 5 years ago
parent
commit
a4ded5ba74

+ 1 - 0
package.json

@@ -14,6 +14,7 @@
     "element-ui": "^2.13.0",
     "jsonwebtoken": "^8.5.1",
     "lodash": "^4.17.15",
+    "moment": "^2.26.0",
     "naf-core": "^0.1.2",
     "qrcode": "^1.4.4",
     "vant": "^2.5.0",

+ 1 - 1
src/layout/class/groupList.vue

@@ -13,7 +13,7 @@
                 </el-col>
                 <el-col :span="2"></el-col>
                 <el-col :span="6">
-                  <el-button round type="danger" style="width:55px" plain size="mini" @click="deleteGroup(item.id)">删除</el-button>
+                  <el-button round type="danger" style="width:55px" plain size="mini" v-if="user.job === '班长'" @click="deleteGroup(item.id)">删除</el-button>
                 </el-col>
                 <el-col :span="1"></el-col>
                 <el-col :span="6">

+ 15 - 17
src/layout/index/mainData.vue

@@ -13,35 +13,25 @@
           </el-row>
           <el-col :span="24" class="top">
             <el-col :span="12" class="time">时间</el-col>
-            <el-col :span="6" class="date">
+            <el-col :span="12" class="date">
               <el-col :span="24"> {{ today.date }}</el-col>
               <el-col :span="24">{{ today.day }}</el-col>
             </el-col>
-            <el-col :span="6" class="date">
-              <el-col :span="24" class="info">
-                <el-button
-                  v-if="user.type != '1'"
-                  type="primary"
-                  @click="$router.push({ path: 'teacherscore/index', query: { teaid: lesson.teaid, lessonid: lesson._id } })"
-                  >教师评分</el-button
-                >
-              </el-col>
-            </el-col>
           </el-col>
           <template v-if="lesson">
-            <el-col :span="24" class="context">
+            <el-col :span="24" class="context" v-for="(item, index) in lesson" :key="index">
               <el-col :span="12" class="contexttime">
-                <span>8:30 — 11:30</span>
+                <span>{{ item.time }}</span>
               </el-col>
               <el-col :span="12" class="contextclass">
-                <p>{{ lesson.subname }}</p>
-                <p>{{ lesson.teaname }}</p>
+                <p>{{ item.subname }}</p>
+                <p class="title" @click="click(item)">{{ item.teaname }}</p>
               </el-col>
               <el-col :span="24">
                 <p></p>
               </el-col>
             </el-col>
-            <el-col :span="24" class="context" v-if="lesson.subname">
+            <!-- <el-col :span="24" class="context" v-if="lesson.subname">
               <el-col :span="12" class="contexttime">
                 <span>11:30—13:30</span>
               </el-col>
@@ -79,7 +69,7 @@
                 <p></p>
                 <p>{{ lesson.lastLesson }}</p>
               </el-col>
-            </el-col>
+            </el-col> -->
           </template>
         </el-col>
       </el-col>
@@ -106,6 +96,11 @@ export default {
     changeLesson(date) {
       this.$emit('getLesson', date);
     },
+
+    click(item) {
+      console.log(item);
+      this.$router.push({ path: 'teacherscore/index', query: { teaid: item.teaid, lessonid: item._id } });
+    },
   },
   filters: {
     getMD(date) {
@@ -171,4 +166,7 @@ p {
   padding: 15px 0 0 0;
   text-align: center;
 }
+.title {
+  color: blueviolet;
+}
 </style>

+ 3 - 1
src/main.js

@@ -11,7 +11,9 @@ import '@/plugins/filters';
 import '@/plugins/loading';
 import '@/plugins/setting';
 import InitStomp from '@/plugins/stomp';
-
+import moment from 'moment';
+moment.lang('zh-cn');
+Vue.prototype.$moment = moment;
 Vue.config.productionTip = false;
 
 new Vue({

+ 2 - 0
src/store/index.js

@@ -12,6 +12,7 @@ import student from '@frame/store/student';
 import lesson from '@frame/store/lesson';
 import teacher from '@frame/store/teacher';
 import classes from '@frame/store/classes';
+import util from '@frame/store/util';
 import subject from '@frame/store/subject';
 import uploadtask from '@frame/store/uploadtask';
 import score from '@frame/store/score';
@@ -51,5 +52,6 @@ export default new Vuex.Store({
     dept,
     completion,
     sethead,
+    util,
   },
 });

+ 36 - 25
src/views/class/achieve.vue

@@ -116,45 +116,56 @@ export default {
       let stus = [];
       for (const val of result.data) {
         let newsid = val.lessonid;
+        console.log(newsid);
+
         let classid = this.user.classid;
         //查询这个班的课程
         const lessonInfo = await this.lessonlist({ classid });
+
         for (const hic of lessonInfo.data) {
           //过滤出有作业的科目
-          var fff = hic.lessons.filter(item => item._id === newsid);
+          console.log(hic);
+          var fff = hic.lessons.filter(item => item.subid === newsid);
+          console.log(fff);
 
           for (const less of fff) {
+            console.log(less.subname);
+
             this.$set(this, `subname`, less.subname);
           }
         }
         val.subName = this.subname;
+
         const stuInfo = await this.fet(val.studentid);
-        val.stuName = stuInfo.data.name;
-        //创建学生名字相关数组
-        let stu = [{ stuname: stuInfo.data.name, id: val.studentid, lesson: [] }];
-        //合并数组
-        stus = [...stu, ...stus];
-        //去掉重复数组对象
-        var appArray = _.uniqWith(stus, _.isEqual);
-        //合并数组
-        this.$set(this, `achieveList`, appArray);
-        let lessonss = [{ name: this.subname, id: val.studentid, taskid: val.id, score: val.score }];
-        lessone = [...lessonss, ...lessone];
-      }
 
-      for (const ss of appArray) {
-        console.log(ss.id);
-        console.log(lessone);
-        var vre = lessone.filter(item => item.id === ss.id);
-        console.log(vre);
-        ss.lesson = vre;
-      }
-      // for (const eee of appArray) {
-      //   eee.less = lessone;
-      //   var qq = eee.less.filter(item => item.id === eee.id);
-      console.log(appArray);
-      // }
+        if (stuInfo.data.name) {
+          val.stuName = stuInfo.data.name;
+          //创建学生名字相关数组
+          let stu = [{ stuname: stuInfo.data.name, id: val.studentid, lesson: [] }];
+          //合并数组
+
+          stus = [...stu, ...stus];
 
+          //去掉重复数组对象
+          var appArray = _.uniqWith(stus, _.isEqual);
+
+          //合并数组
+          this.$set(this, `achieveList`, appArray);
+          let lessonss = [{ name: this.subname, id: val.studentid, taskid: val.id, score: val.score }];
+          lessone = [...lessonss, ...lessone];
+        }
+
+        for (const ss of appArray) {
+          var vre = lessone.filter(item => item.id === ss.id);
+
+          ss.lesson = vre;
+        }
+        // for (const eee of appArray) {
+        //   eee.less = lessone;
+        //   var qq = eee.less.filter(item => item.id === eee.id);
+
+        // }
+      }
       this.$set(this, `task`, appArray);
     },
     // 学委上作业分+存储学生id

+ 2 - 3
src/views/class/index.vue

@@ -128,15 +128,14 @@ export default {
     async searchstu() {
       let classid = this.user.classid;
       const res = await this.stuQery({ classid });
-
       console.log(res.data);
-
       this.$set(this, `stuNameList`, res.data);
     },
     // 查询组
     async findGroup() {
       let stuid = this.user.userid;
-      const result = await this.query();
+      let classid = this.user.classid;
+      const result = await this.query({ classid });
       const groupList = result.data;
 
       this.$set(this, 'groupList', groupList);

+ 55 - 18
src/views/index.vue

@@ -27,6 +27,8 @@ import mainData from '@/layout/index/mainData.vue';
 import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
 const { mapActions: lesson } = createNamespacedHelpers('lesson');
 const { mapActions: classes } = createNamespacedHelpers('classes');
+const { mapActions: util } = createNamespacedHelpers('util');
+import moment from 'moment';
 
 export default {
   metaInfo: { title: '首页' },
@@ -49,12 +51,14 @@ export default {
     navShow: true,
     classid: undefined,
     classList: [],
+    teaids: '',
   }),
   created() {
     let today = this.getDay();
     let todate = this.getDate();
     this.$set(this.today, `date`, todate);
     this.$set(this.today, `day`, today);
+
     if (this.user !== undefined) {
       if (this.user.type === '1') {
         this.view = 'class';
@@ -82,30 +86,64 @@ export default {
   methods: {
     ...lesson({ lessionInfo: 'fetch', lessionlist: 'query' }),
     ...classes({ classesInfo: 'fetch', classeslist: 'query' }),
+    ...util({ uiltfetch: 'newfetch', utillist: 'query' }),
     // 查询课程详情
     async searchInfo() {
       const res = await this.classesInfo(this.classid);
-      console.log(res.data);
-      const result = await this.lessionInfo(res.data.lessonid);
-      var ahh = result.data.lessons.map((i, index) => {
-        let word = '';
-        if (index == 1) word = '拓展交流';
-        if (index == 2) word = '课程作业小组展示';
-        if (index == 3) word = '课程作业';
-        if (index == 4) word = '礼仪课小组面试';
-        if (index == 5) word = '结业仪式';
-        i.lastLesson = word;
-        return i;
-      });
-      this.$set(this, `originLesson`, ahh);
-      var lesson = result.data.lessons.find(item => item.date === this.getDate());
+
+      let classid = this.classid;
+      const result = await this.lessionlist({ classid });
+
+      let lessones = {};
+      for (const val of result.data) {
+        lessones = val;
+      }
+      var lesson = lessones.lessons.find(item => item.date === this.getDate());
       this.$set(this, `lesson`, lesson);
       // 获取课程开始-结束日期
-      let ltime = result.data.lessons.map((i, index) => {
+
+      this.$set(this, `originLesson`, lessones.lessons);
+
+      var ress = this.originLesson.filter(item => item.date === this.date);
+      this.$set(this, `lesson`, ress);
+
+      lessones.lessons.sort(function(a, b) {
+        if (a.date < b.date) {
+          return -1;
+        } else if (a.date > b.date) {
+          return 1;
+        } else {
+          if (a.date < b.date) {
+            return 1;
+          } else if (a.date > b.date) {
+            return -1;
+          }
+          return 0;
+        }
+      });
+      let ltime = lessones.lessons.map((i, index) => {
         let object = { date: i.date, day: this.getDay(i.date) };
         if (index !== 0) return object;
       });
-      this.$set(this, `arrange`, _.compact(ltime));
+
+      //排序
+      var appArray = _.uniqWith(ltime, _.isEqual);
+      appArray.sort(function(a, b) {
+        if (a.date < b.date) {
+          return -1;
+        } else if (a.date > b.date) {
+          return 1;
+        } else {
+          if (a.date < b.date) {
+            return 1;
+          } else if (a.date > b.date) {
+            return -1;
+          }
+          return 0;
+        }
+      });
+
+      this.$set(this, `arrange`, _.compact(appArray));
     },
     // 获取时间
     getDay(date = new Date()) {
@@ -124,8 +162,7 @@ export default {
     },
     //点击日期获取课程
     getLesson(date) {
-      console.log(date);
-      let res = this.originLesson.find(f => f.date === date.date);
+      var res = this.originLesson.filter(item => item.date === date.date);
       this.$set(this, `lesson`, res);
     },
     //班主任获取班级列表

+ 8 - 2
src/views/user/homework.vue

@@ -68,13 +68,19 @@ export default {
     async search() {
       let classid = this.user.classid;
       const ress = await this.classinfo(classid);
+      console.log(ress.data);
       let lessonid = ress.data.lessonid;
-      const res = await this.lessonList({ lessonid });
+      const res = await this.lessonList({ classid });
       const resout = await this.list();
+      console.log(res.data);
       for (const val of resout.data) {
         for (const tyl of res.data) {
           var crr = tyl.lessons.filter(item => item.subid);
-          this.$set(this, `workLists`, crr);
+
+          var appArray = _.uniqWith(crr, _.isEqual);
+          console.log(appArray);
+
+          this.$set(this, `workLists`, appArray);
         }
         var arr = crr.filter(item => item.subid === val.code);
         for (const att of arr) {