瀏覽代碼

0115 15:37

提交侧边栏修复
mo 5 年之前
父節點
當前提交
34fd602972

+ 9 - 0
src/api/buildTeam.js

@@ -826,4 +826,13 @@ export function updateStudentFee (data) {
     method: 'post',
     data: qs.stringify(data)
   })
+}
+
+// 获取学员签到列表
+export function findStudentAttendance (data) {
+  return request({
+    url: api + '/studentAttendance/findStudentAttendance',
+    method: 'get',
+    params: data
+  })
 }

+ 0 - 1
src/api/user.js

@@ -33,7 +33,6 @@ export function getIndex (data) {
     params: data
   })
 }
-
 // 刷新token
 export function getRefreshToken (data) {
   return request({

+ 11 - 16
src/components/Hamburger/index.vue

@@ -1,13 +1,12 @@
 <template>
-  <div style="padding: 0 15px;" @click="toggleClick">
-    <svg
-      :class="{'is-active':isActive}"
-      class="hamburger"
-      viewBox="0 0 1024 1024"
-      xmlns="http://www.w3.org/2000/svg"
-      width="64"
-      height="64"
-    >
+  <div style="padding: 0 15px;"
+       @click="toggleClick">
+    <svg :class="{'is-active':isActive}"
+         class="hamburger"
+         viewBox="0 0 1024 1024"
+         xmlns="http://www.w3.org/2000/svg"
+         width="64"
+         height="64">
       <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z" />
     </svg>
   </div>
@@ -16,14 +15,10 @@
 <script>
 export default {
   name: 'Hamburger',
-  props: {
-    isActive: {
-      type: Boolean,
-      default: false
-    }
-  },
+
+  props: ['isActive'],
   methods: {
-    toggleClick() {
+    toggleClick () {
       this.$emit('toggleClick')
     }
   }

+ 9 - 1
src/views/resetTeaming/components/resetSound.vue

@@ -262,6 +262,9 @@
               <el-input style="width:80%"
                         @mousewheel.native.prevent
                         type="number"
+                        @input='(val)=>{
+                            setDeposiInput(val,item)
+                         }'
                         v-model="item.mode.depositFee"></el-input>
             </div>
             <div class="item">
@@ -505,7 +508,9 @@ export default {
                 types.LEASE = fs.mode.LEASE
               }
               kitGroupPurchaseTypeJson = JSON.stringify(types)
-
+              if (kitGroupPurchaseTypeJson.length <= 0) {
+                kitGroupPurchaseTypeJson = null
+              }
             }
           })
           let some = {
@@ -663,6 +668,9 @@ export default {
         item.mode.LEASE = item.mode.depositFee
       }
 
+    },
+    setDeposiInput (val, item) {
+      item.mode.LEASE = 0;
     }
 
   }, filters: {

+ 12 - 0
src/views/teamBuild/components/teamSoundMoney.vue

@@ -382,6 +382,9 @@
               <el-input style="width:80%"
                         type="number"
                         @mousewheel.native.prevent
+                        @input='(val)=>{
+                            setDeposiInput(val,item)
+                         }'
                         v-model="item.mode.depositFee"></el-input>
             </div>
             <div class="item">
@@ -815,6 +818,9 @@ export default {
                   types.LEASE = fs.mode.LEASE
                 }
                 kitGroupPurchaseTypeJson = JSON.stringify(types)
+                if (kitGroupPurchaseTypeJson.length <= 0) {
+                  kitGroupPurchaseTypeJson = null
+                }
               }
             })
             let some = {
@@ -913,6 +919,9 @@ export default {
                   types.LEASE = fs.mode.LEASE
                 }
                 kitGroupPurchaseTypeJson = JSON.stringify(types)
+                if (kitGroupPurchaseTypeJson.length <= 0) {
+                  kitGroupPurchaseTypeJson = null
+                }
 
               }
             })
@@ -1074,6 +1083,9 @@ export default {
         item.mode.LEASE = item.mode.depositFee
       }
 
+    },
+    setDeposiInput (val, item) {
+      item.mode.LEASE = 0;
     }
   },
   filters: {

+ 5 - 0
src/views/teamDetail/componentCourse/gpsLocation.vue

@@ -0,0 +1,5 @@
+<template>
+  <div>
+    gps
+  </div>
+</template>

+ 43 - 0
src/views/teamDetail/componentCourse/studentRollCall.vue

@@ -0,0 +1,43 @@
+<template>
+  <div>
+    <el-form :inline="true">
+      <el-form-item label="学生总数">
+        <el-input disabled></el-input>
+      </el-form-item>
+      <el-form-item label="学生到课数">
+        <el-input disabled></el-input>
+      </el-form-item>
+      <el-form-item label="学生请假总数">
+        <el-input disabled></el-input>
+      </el-form-item>
+    </el-form>
+  </div>
+</template>
+<script>
+import { findStudentAttendance } from '@/api/buildTeam'
+export default {
+  props: ['courseScheduleId'],
+  data () {
+    return {
+      tableList: []
+    }
+  },
+  mounted () {
+    this.init()
+  },
+  activated () {
+    this.init()
+  },
+  methods: {
+    init () {
+      console.log(this.courseScheduleId)
+      findStudentAttendance({ search: this.courseScheduleId }).then(res => {
+
+      })
+      //  发请求获取学生签到信息
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+</style>

+ 5 - 0
src/views/teamDetail/componentCourse/studentWork.vue

@@ -0,0 +1,5 @@
+<template>
+  <div>
+    学生作业
+  </div>
+</template>

+ 5 - 7
src/views/teamDetail/components/baseInfo.vue

@@ -97,14 +97,10 @@ import {
 } from '@/utils/auth'
 export default {
   name: "tbaseInfo",
-  props: {
-    teamid: {
-      type: String,
-      required: true
-    },
-  },
+  props: ['teamid'],
   data () {
     return {
+      id: '',
       topForm: {
         num: '',
         teacher: '',
@@ -119,13 +115,15 @@ export default {
       processList: []
     }
   },
-  mounted () {
+  created () {
     // 获取乐团基本信息
     // let teamid = '191014135135001';
     // this.creatQrCode();
+    console.log(this.teamid + 'mounted')
     this.init()
   },
   activated () {
+    console.log(this.teamid + 'activated')
     this.init()
   },
   methods: {

+ 1 - 6
src/views/teamDetail/components/classList.vue

@@ -138,12 +138,7 @@ import { getClassList, coursePostpone } from '@/api/buildTeam'
 import { permission } from '@/utils/directivePage'
 export default {
   name: 'tclassList',
-  props: {
-    teamid: {
-      type: String,
-      required: true
-    },
-  },
+  props: ['teamid'],
   data () {
     return {
       postponeVisible: false,

+ 1 - 6
src/views/teamDetail/components/courseList.vue

@@ -269,12 +269,7 @@ import { bathDelete } from '@/api/vipSeting'
 import { getCourseList, findMusicGroupClassTeacher, resetCourse, getTeacher, getMusicGroupAllClass, getCourseSchedule, batchAdjustment } from '@/api/buildTeam'
 export default {
   name: 'tcourseList',
-  props: {
-    teamid: {
-      type: String,
-      required: true
-    },
-  },
+  props: ['teamid'],
   data () {
     return {
       timerVisible: false,

+ 1 - 6
src/views/teamDetail/components/salaryList.vue

@@ -136,12 +136,7 @@ import { getCourseList, getTeacherSalary } from '@/api/buildTeam'
 import { updateTeacherCoursesSalary } from '@/api/teacherManager'
 export default {
   name: 'tsalaryList',
-  props: {
-    teamid: {
-      type: String,
-      required: true
-    },
-  },
+  props: ['teamid'],
   data () {
     return {
       dialogTableVisible: false,

+ 1 - 6
src/views/teamDetail/components/studentList.vue

@@ -624,12 +624,7 @@ import axios from 'axios'
 import { getToken } from '@/utils/auth'
 export default {
   name: "tstudentList",
-  props: {
-    teamid: {
-      type: String,
-      required: true
-    },
-  },
+  props: ['teamid'],
   data () {
     return {
       payVisible: false,

+ 29 - 35
src/views/teamDetail/index.vue

@@ -21,28 +21,28 @@
                @tab-click="handleClick">
         <el-tab-pane label="基本信息"
                      name="1">
-          <baseinfo v-if="activeIndex == 1"
+          <baseinfo v-if="activeIndex == '1'"
                     :teamid='teamid'
                     @getname='getname' />
         </el-tab-pane>
         <el-tab-pane label="老师列表"
                      name="2">
-          <teacherList v-if="activeIndex == 2"
+          <teacherList v-if="activeIndex == '2'"
                        :teamid='teamid' />
         </el-tab-pane>
         <el-tab-pane label="学员列表"
                      name="3">
-          <studentList v-if="activeIndex == 3"
+          <studentList v-if="activeIndex == '3'"
                        :teamid='teamid' />
         </el-tab-pane>
         <el-tab-pane label="班级详情"
                      name="4">
-          <classList v-if="activeIndex == 4"
+          <classList v-if="activeIndex == '4'"
                      :teamid='teamid' />
         </el-tab-pane>
         <el-tab-pane label="课表详情"
                      name="5">
-          <courseList v-if="activeIndex == 5"
+          <courseList v-if="activeIndex == '5'"
                       :teamid='teamid' />
         </el-tab-pane>
         <!-- <el-tab-pane label="课程课酬"
@@ -50,9 +50,8 @@
           <salaryList v-if="activeIndex == 6" />
         </el-tab-pane> -->
         <el-tab-pane label="课酬调整"
-                     name="7"
-                     :teamid='teamid'>
-          <salaryList v-if="activeIndex == 7"
+                     name="7">
+          <salaryList v-if="activeIndex == '7'"
                       :teamid='teamid' />
         </el-tab-pane>
       </el-tabs>
@@ -84,37 +83,32 @@ export default {
     }
   },
   created () {
-    // this.teamid = '191014135135001';
-    // 191015094822001
-    let teamInfo = this.$route.query;
-    this.status = this.$route.query.status;
-    this.teamid = teamInfo.id;
-    this.name = teamInfo.name;
-    // 判断是否带缓存参数
-    if (this.$route.query.search) {
-      this.Fsearch = this.$route.query.search;
-    }
-    if (this.$route.query.rules) {
-      this.Frules = this.$route.query.rules
-    }
-  },
-  mounted () {
-
+    this.activeIndex = '0';
+    this.init()
   },
   activated () {
-    let teamInfo = this.$route.query;
-    this.status = this.$route.query.status;
-    this.teamid = teamInfo.id;
-    this.name = teamInfo.name;
-    // 判断是否带缓存参数
-    if (this.$route.query.search) {
-      this.Fsearch = this.$route.query.search;
-    }
-    if (this.$route.query.rules) {
-      this.Frules = this.$route.query.rules
-    }
+    this.activeIndex = '0';
+    this.$nextTick(res => {
+      this.init()
+    })
+
   },
   methods: {
+    init () {
+      // let teamInfo = this.$route.query;
+      this.status = this.$route.query.status;
+      this.teamid = this.$route.query.id;
+      this.name = this.$route.query.name;
+      // 判断是否带缓存参数
+      if (this.$route.query.search) {
+        this.Fsearch = this.$route.query.search;
+      }
+      if (this.$route.query.rules) {
+        this.Frules = this.$route.query.rules
+      }
+      console.log(this.teamid)
+      this.activeIndex = '1'
+    },
     handleClick (val) {
       this.activeIndex = val.name;
     },

+ 101 - 5
src/views/teamDetail/teamCourseList.vue

@@ -167,7 +167,7 @@
                            label="指导老师">
           </el-table-column>
 
-          <el-table-column align='center'
+          <!-- <el-table-column align='center'
                            label="详情">
             <template slot-scope="scope">
               <div>
@@ -175,7 +175,7 @@
                            @click="lookDetail(scope.row)">详情</el-button>
               </div>
             </template>
-          </el-table-column>
+          </el-table-column> -->
         </el-table>
         <pagination :total="rules.total"
                     :page.sync="rules.page"
@@ -184,7 +184,71 @@
                     @pagination="getList" />
       </div>
     </div>
+    <el-dialog title="课表详情"
+               :visible.sync="classVisible"
+               :before-close="closeClassVisible">
+      <el-form :model="maskForm"
+               :inline="true">
+        <el-form-item label="老师姓名">
+          <el-input v-model="maskForm.teacherName"
+                    disabled></el-input>
+        </el-form-item>
+        <el-form-item label="课程模式">
+          <el-input :value="maskForm.teachMode | teachMode"
+                    disabled></el-input>
+          <!-- <span>{{maskForm.teachMode }}</span> -->
+        </el-form-item>
+        <el-form-item label="课程类型">
+          <el-input :value="maskForm.type |classType"
+                    disabled></el-input>
 
+        </el-form-item>
+        <el-form-item label="签到时间">
+          <el-input v-model=" maskForm.signInTime"
+                    disabled></el-input>
+        </el-form-item>
+        <el-form-item label="签退时间">
+          <el-input v-model="maskForm.signOutTime"
+                    disabled></el-input>
+        </el-form-item>
+        <el-form-item label="是否点名">
+          <el-input :value="maskForm.isCallNames | isCall"
+                    disabled></el-input>
+        </el-form-item>
+        <el-form-item label="签到状态">
+          <el-input :value=" maskForm.isSignIn | attendanceType"
+                    disabled></el-input>
+        </el-form-item>
+        <el-form-item label="签退状态">
+          <el-input :value=" maskForm.isSignOut | attendanceOutType"
+                    disabled></el-input>
+        </el-form-item>
+      </el-form>
+      <el-tabs v-model="activeName"
+               type="card"
+               @tab-click="handleClick">
+        <el-tab-pane label="点名"
+                     name="first">
+          <div v-if="activeName == 'first'">
+            <!-- studentRollCall  -->
+            <studentRollCall :courseScheduleId='maskForm.id'>
+            </studentRollCall>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="GPS定位"
+                     name="second">
+          <div v-if="activeName == 'second'">
+            <gpsLoction></gpsLoction>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="作业"
+                     name="third">
+          <div v-if="activeName == 'third'">
+            <studentWork></studentWork>
+          </div>
+        </el-tab-pane>
+      </el-tabs>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -192,11 +256,15 @@ import pagination from '@/components/Pagination/index'
 import { getTeacher, getMusicGroupAllClass, superFindCourseSchedules, getEmployeeOrgan } from '@/api/buildTeam'
 import { getSchool } from '@/api/systemManage'
 import { courseType } from '@/utils/searchArray'
+import studentRollCall from './componentCourse/studentRollCall'
+import gpsLoction from './componentCourse/gpsLocation'
+import studentWork from './componentCourse/studentWork'
 let nowTime = new Date()
 nowTime = nowTime.getFullYear() + '-' + (nowTime.getMonth() + 1) + '-' + nowTime.getDate()
 export default {
   data () {
     return {
+      classVisible: false,
       timerVisible: false,
       courseVisible: false,
       courseType: courseType,
@@ -221,13 +289,19 @@ export default {
         page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
       teacherList: [],
-      schoolList: []
+      schoolList: [],
+      maskForm: {},
+      activeName: "first"
       // classList: []
     }
 
   },
   components: {
-    pagination
+    pagination,
+    studentRollCall,
+    gpsLoction,
+    studentWork
+
   },
   activated () {
     this.init();
@@ -321,12 +395,34 @@ export default {
       })
     },
     lookDetail (row) {
+      this.maskForm = row
+      this.activeName = 'first'
       console.log(row)
+      this.classVisible = true;
+    },
+    handleClick (tab, event) {
+      // console.log(tab, event);
+    },
+    closeClassVisible () {
+      this.activeName = null
+      this.classVisible = false;
+    }
+  },
+  filters: {
+    isCall (val) {
+      if (val == 0) {
+        return '未点名'
+      } else if (val == 1) {
+        return '已点名'
+      }
     }
   }
 }
 </script>
-<style lang="scss" scope>
+<style lang="scss" scoped>
+.visible {
+  visibility: hidden;
+}
 .cl-container {
   .topFrom {
     margin: 20px 30px 0;

+ 2 - 2
vue.config.js

@@ -19,9 +19,9 @@ const name = defaultSettings.title || '管乐迷后台管理系统' // page titl
 // let target = 'https://online.dayaedu.com' //线上
 // let target = 'http://testadm.dayaedu.com/' //test环境
 // let target = 'http://192.168.3.27:8000' // 箭河
-// let target = 'http://192.168.3.28:8000' //邹璇
+let target = 'http://192.168.3.28:8000' //邹璇
 // let target = 'http://192.168.3.8:18000' //勇哥
-let target = 'http://admin.dayaedu.com' // 测试服
+// let target = 'http://admin.dayaedu.com' // 测试服
 // let target = 'http://192.168.3.48:8080' // 乔
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {