浏览代码

Merge branch 'master' of http://git.cc-lotus.info/new_train/train-center

lrf402788946 5 年之前
父节点
当前提交
473dd16cab

+ 1 - 1
src/views/student/index.vue

@@ -8,7 +8,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="班级">
-          <el-select v-model="form.classid" placeholder="请先选择批次">
+          <el-select v-model="form.classid" placeholder="请选择班级">
             <el-option v-for="(i, index) in classList" :key="index" :label="i.name" :value="i._id"></el-option>
           </el-select>
         </el-form-item>

+ 17 - 9
src/views/train-plan/attendance.vue

@@ -7,16 +7,14 @@
             <el-option v-for="(i, index) in termList" :key="index" :label="`第${i.term}期`" :value="i._id"></el-option>
           </el-select>
         </el-form-item>
-        <!-- <el-form-item label="批次">
-          <el-select v-model="form.batchid" placeholder="请先选择期数" @change="getClasses">
-            <el-option v-for="(i, index) in batchList" :key="index" :label="i.name" :value="i._id"></el-option>
-          </el-select>
-        </el-form-item> -->
         <el-form-item label="班级">
           <el-select v-model="form.classid" placeholder="请先选择班级">
             <el-option v-for="(i, index) in classList" :key="index" :label="i.name" :value="i._id"></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="学生姓名">
+          <el-input v-model="form.name" placeholder="请输入学生姓名"></el-input>
+        </el-form-item>
         <el-form-item label="">
           <el-button type="primary" size="mini" @click="onsearch()"> 查询</el-button>
         </el-form-item>
@@ -104,10 +102,20 @@ export default {
     async onsearch({ skip = 0, limit = 10, ...info } = {}) {
       const res = await this.query({ termid: this.form.termid, classid: this.form.classid, ...info });
       const newdatas = [];
-      for (const data of res.data) {
-        for (const attend of data.attend) {
-          let newdata = { stuname: data.stuname, ...attend };
-          newdatas.push(newdata);
+      if (this.form.name) {
+        var arr = res.data.filter(item => item.stuname == this.form.name);
+        for (const data of arr) {
+          for (const attend of data.attend) {
+            let newdata = { stuname: data.stuname, ...attend };
+            newdatas.push(newdata);
+          }
+        }
+      } else {
+        for (const data of res.data) {
+          for (const attend of data.attend) {
+            let newdata = { stuname: data.stuname, ...attend };
+            newdatas.push(newdata);
+          }
         }
       }
       if (this.$checkRes(res)) {

+ 10 - 13
src/views/train-plan/score.vue

@@ -3,15 +3,15 @@
     <list-frame title="学生成绩查看" @query="onsearch" :total="total" :needFilter="false" :needAdd="false">
       <el-form :inline="true" size="mini">
         <el-form-item label="期">
-          <el-select v-model="form.termid" placeholder="请选择期数" @change="getBatch">
+          <el-select v-model="form.termid" placeholder="请选择期数" @change="getClasses">
             <el-option v-for="(i, index) in termList" :key="index" :label="`第${i.term}期`" :value="i._id"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="批次">
+        <!-- <el-form-item label="批次">
           <el-select v-model="form.batchid" placeholder="请先选择期数" @change="getClasses">
             <el-option v-for="(i, index) in batchList" :key="index" :label="i.name" :value="i._id"></el-option>
           </el-select>
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item label="班级">
           <el-select v-model="form.classid" placeholder="请先选择批次">
             <el-option v-for="(i, index) in classList" :key="index" :label="i.name" :value="i._id"></el-option>
@@ -88,20 +88,17 @@ export default {
       this.$set(this, `termList`, terms);
       if (this.defaultOption.termid) {
         this.form.termid = this.defaultOption.termid;
-        this.getBatch(this.form.termid);
-      }
-    },
-    getBatch(termid) {
-      let batchs = this.termList.filter(f => f._id === termid);
-      if (batchs.length > 0) {
-        let { batchnum } = batchs[0];
-        this.$set(this, `batchList`, batchnum);
+        this.getClasses(this.form.termid);
       }
     },
-    async getClasses(batchid) {
-      const res = await this.classesquery({ batchid });
+    async getClasses(termid) {
+      const res = await this.classesquery({ termid });
       this.$set(this, `classList`, res.data);
     },
+    // async getClasses(batchid) {
+    //   const res = await this.classesquery({ batchid });
+    //   this.$set(this, `classList`, res.data);
+    // },
     async onsearch({ skip = 0, limit = 10, ...info } = {}) {
       const res = await this.findscore({ skip, limit, termid: this.form.termid, classid: this.form.classid, ...info });
       if (this.$checkRes(res)) {

+ 15 - 5
src/views/train-plan/tsbattendance.vue

@@ -108,14 +108,24 @@ export default {
     async getClasses(termid) {
       const res = await this.classesquery({ termid });
       var arr = res.data.filter(item => item.type != '0');
-      this.$set(this, `classList`, arr);
+      var newData = arr.filter(item => {
+        return this.classTypeList.find(i => i.sign == '1' && i.code == item.type);
+      });
+      this.$set(this, `classList`, newData);
     },
     async onsearch({ skip = 0, limit = 10, ...info } = {}) {
-      const res = await this.stuquery({ termid: this.form.termid, classid: this.form.classid, ...info });
-      if (this.$checkRes(res)) {
-        this.$set(this, `list`, res.data);
+      if (this.form.termid && this.form.classid) {
+        const res = await this.stuquery({ termid: this.form.termid, classid: this.form.classid, ...info });
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data);
+        }
+        this.checkSign();
+      } else {
+        this.$message({
+          message: '请选择班级',
+          type: 'warning',
+        });
       }
-      this.checkSign();
     },
     async checkSign() {
       const res = await this.query({ termid: this.form.termid, classid: this.form.classid });