Browse Source

05/28 16:52

11
mo 5 years ago
parent
commit
2f2b71f884
1 changed files with 134 additions and 10 deletions
  1. 134 10
      src/views/recodeManager/recodeList.vue

+ 134 - 10
src/views/recodeManager/recodeList.vue

@@ -6,6 +6,7 @@
     </h2>
     <div class="m-core">
       <el-form :inline="true"
+               ref='searchForm'
                :model="searchForm">
         <el-form-item>
           <el-input v-model.trim="searchForm.search"
@@ -14,7 +15,7 @@
         </el-form-item>
         <el-form-item prop="organId">
           <el-select class="multiple"
-                     v-model.trim="searchForm.organIdList"
+                     v-model.trim="searchForm.organId"
                      filterable
                      clearable
                      placeholder="请选择分部">
@@ -24,9 +25,9 @@
                        :value="item.id"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="课程类型">
+        <el-form-item>
           <el-select v-model.trim="searchForm.courseScheduleType"
-                     @change="chioseList">
+                     placeholder="请选择课程类型">
             <el-option v-for='(item,index) in courseType'
                        :key="index"
                        :value="item.value"
@@ -34,6 +35,28 @@
           </el-select>
         </el-form-item>
         <el-form-item>
+          <el-select v-model.trim="searchForm.signInStatus"
+                     placeholder="签到状态">
+            <el-option :value="0"
+                       label="正常签到"></el-option>
+            <el-option :value="1"
+                       label="异常签到"></el-option>
+            <el-option :value="3"
+                       label="未签到"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-select v-model.trim="searchForm.signOutStatus"
+                     placeholder="签退状态">
+            <el-option :value="0"
+                       label="正常签退"></el-option>
+            <el-option :value="1"
+                       label="异常签退"></el-option>
+            <el-option :value="3"
+                       label="未签退"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
           <el-date-picker v-model.trim="courseTime"
                           style="width:410px;"
                           type="daterange"
@@ -43,14 +66,87 @@
                           end-placeholder="结束日期">
           </el-date-picker>
         </el-form-item>
+        <el-form-item>
+          <el-button @click="search"
+                     type="danger">搜索</el-button>
+          <el-button @click="onReSet"
+                     type="primary">重置</el-button>
+        </el-form-item>
       </el-form>
       <div class="tableWrap">
         <el-table style="width: 100%"
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}"
                   :data="tableList">
           <el-table-column align="center"
-                           prop="studentId"
+                           prop="organName"
                            label="分部"></el-table-column>
+          <el-table-column align="center"
+                           prop="teacherName"
+                           label="老师名称"></el-table-column>
+          <el-table-column align="center"
+                           prop="courseScheduleId"
+                           label="课程编号"></el-table-column>
+          <el-table-column align="center"
+                           prop="courseScheduleName"
+                           label="课程名称"></el-table-column>
+          <el-table-column align="center"
+                           prop="classDate"
+                           label="上课日期"></el-table-column>
+          <el-table-column align="center"
+                           prop="startClassTime"
+                           label="上课时间">
+            <template slot-scope="scope">
+              <div>
+                {{scope.row.startClassTime+'-'+scope.row.endClassTime}}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center"
+                           prop="startClassTime"
+                           label="课程类型">
+            <template slot-scope="scope">
+              <div>
+                {{scope.row.courseScheduleType | coursesType}}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center"
+                           label="签到时间">
+            <template slot-scope="scope">
+              <div>
+                {{scope.row.signInTime }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center"
+                           label="签到状态">
+            <template slot-scope="scope">
+              <div>
+                {{scope.row.signInStatus | attendanceOutType}}
+              </div>
+            </template>
+          </el-table-column>
+
+          <el-table-column align="center"
+                           prop="startClassTime"
+                           label="签退时间">
+            <template slot-scope="scope">
+              <div>
+                {{scope.row.signOutTime}}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center"
+                           label="签到状态">
+            <template slot-scope="scope">
+              <div>
+                {{scope.row.signOutStatus | attendanceOutType}}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center"
+                           prop="remark"
+                           label="备注"></el-table-column>
         </el-table>
         <pagination :total="rules.total"
                     :page.sync="rules.page"
@@ -68,8 +164,8 @@ import { getToken } from "@/utils/auth";
 import pagination from "@/components/Pagination/index";
 import load from "@/utils/loading";
 import { getTeacher, getEmployeeOrgan } from "@/api/buildTeam";
-import { getTeacherPersonalAttendances } from "@/api/teacherManager";
-import { coursesType } from '@/utils/searchArray'
+import { queryTeacherAttendances } from "@/api/recodeManager";
+import { courseType } from '@/utils/searchArray'
 
 export default {
   components: { pagination },
@@ -77,10 +173,12 @@ export default {
     return {
       searchForm: {
         search: null,
-        organIdList: null,
-        courseTime: [],
+        organId: null,
+        signInStatus: null,
+        signOutStatus: null
       },
-      coursesType,
+      courseTime: [],
+      courseType,
       // teacherList: [],
       tableList: [],
       organList: [],
@@ -117,13 +215,39 @@ export default {
   },
   methods: {
     init () {
+      this.getList()
     },
     getList () {
-      getTeacherPersonalAttendances().then(res => {
+      let obj = { page: this.rules.page, rows: this.rules.limit }
+      Object.assign(obj, this.searchForm)
+      if (this.courseTime.length > 0) {
+        obj.courseStartDate = this.courseTime[0]
+        obj.courseEndDate = this.courseTime[1]
+      } else {
+        obj.courseStartDate = null
+        obj.courseEndDate = null
+      }
+      queryTeacherAttendances(obj).then(res => {
         if (res.code == 200) {
           this.tableList = res.data.rows;
+          this.rules.total = res.data.total;
         }
       })
+    },
+    search () {
+      this.rules.page = 1;
+      this.getList()
+    },
+    onReSet () {
+      this.searchForm = {
+        search: null,
+        organIdList: null,
+        signInStatus: null,
+        signOutStatus: null
+      }
+      this.courseTime = [];
+      this.$refs['searchForm'].resetFields();
+      this.search()
     }
   }
 };