瀏覽代碼

Merge branch 'Nov16thResetMusic' into online

mo 4 年之前
父節點
當前提交
fa1311df0b

+ 6 - 1
src/constant/index.js

@@ -151,8 +151,13 @@ export const workType = {
   BISHOP: "主教"
 }
 
+export const teachMode = {
+  ONLINE: '线上课',
+  OFFLINE: '线下课'
+}
+
 export const updateAttendanceEnum = {
   SIGN_IN:'修复签到',
   SIGN_OUT:'修复签退',
   ALL:'签到和签退',
-}
+}

+ 1 - 5
src/utils/vueFilter.js

@@ -390,11 +390,7 @@ Vue.filter('classType', value => {
 })
 
 Vue.filter('teachMode', value => {
-  let template = {
-    ONLINE: "线上课",
-    OFFLINE: '线下课'
-  }
-  return template[value]
+  return constant.teachMode[value]
 })
 
 // 老师状态

+ 5 - 5
src/views/teamDetail/componentCourse/infoMsg.vue

@@ -33,6 +33,7 @@ import dayjs from 'dayjs';
 import {
   queryCourseAdjustDetail,
 } from "@/api/buildTeam";
+import { teachMode } from '@/constant'
 import infoMsgContent from './infoMsgContent'
 export default {
   props: ['courseScheduleId'],
@@ -65,17 +66,16 @@ export default {
   methods: {
     filterKeys(item) {
       const teachingTeacherNames = (item.teachingTeacherNames || '').split(',').sort((a, b) => (a || '').localeCompare((b || ''), 'zh'))
-      console.log(teachingTeacherNames.join(','), item.teachingTeacherNames)
       return {
         name: item.name,
         actualTeacherName: item.actualTeacherName,
         teachingTeacherNames: teachingTeacherNames.join(','),
         startClassTime: item.startClassTime,
-        classDate: item.classDate,
-        endClassTime: item.endClassTime,
-        teachMode: item.teachMode,
+        // classDate: item.classDate,
+        // endClassTime: item.endClassTime,
+        teachMode: teachMode[item.teachMode],
         schoolName: item.schoolName,
-        timers: this.getTimers(item)
+        timers: this.getTimers(item),
       }
     },
     getTitle (item) {

+ 62 - 57
src/views/teamDetail/componentCourse/infoMsgContent.vue

@@ -1,74 +1,79 @@
 <template>
   <div>
-    <el-form :inline='true'>
-      <el-row>
-        <el-col :span="12">
-          <el-form-item label="主教老师">
-            <!-- <div>{{item.actualTeacherName}}</div> -->
-            <div v-if="diff.hasOwnProperty('actualTeacherName')">
-              <el-tag type="danger" v-if="before.actualTeacherName"><s>{{before.actualTeacherName}}</s></el-tag>
-              <el-tag type="success" v-if="after.actualTeacherName">{{after.actualTeacherName}}</el-tag>
-            </div>
-            <div v-else>{{after.actualTeacherName}}</div>
-          </el-form-item>
-        </el-col>
-        <el-form-item :span="12" label="助教老师">
-          <div v-if="diff.hasOwnProperty('teachingTeacherNames')">
-            <el-tag type="danger" v-if="before.teachingTeacherNames"><s>{{before.teachingTeacherNames}}</s></el-tag>
-            <el-tag type="success" v-if="after.teachingTeacherNames">{{after.teachingTeacherNames}}</el-tag>
+    <el-table :data="list" :header-cell-style="{background: '#f5f7fa'}" max-height="250">
+      <el-table-column
+        prop="name"
+        label="字段名"
+      >
+        <template slot-scope="scope">
+          <div>{{nameFormat[scope.row.name] || scope.row.name}}</div>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="before"
+        label="修改前"
+      >
+        <template slot-scope="scope">
+          <div v-if="diff.hasOwnProperty(scope.row.name)">
+            <el-tag type="danger" v-if="scope.row.before"><s>{{scope.row.before}}</s></el-tag>
           </div>
-          <div v-else>{{after.teachingTeacherNames}}</div>
-        </el-form-item>
-        <el-col :span="12">
-          <el-form-item label="上课时间">
-            <div v-if="diff.hasOwnProperty('startClassTime')">
-              <el-tag type="danger"><s>{{ before.startClassTime ? before.startClassTime.substr(0, 16) : '' }}-{{ before.endClassTime ? before.endClassTime.substr(11,5) : ''}}</s></el-tag>
-              <el-tag type="success">{{ after.startClassTime ? after.startClassTime.substr(0, 16) : '' }}-{{ after.endClassTime ? after.endClassTime.substr(11,5) : ''}}</el-tag>
-            </div>
-            <div v-else>{{ after.startClassTime ? after.startClassTime.substr(0, 16) : '' }}-{{ after.endClassTime ? after.endClassTime.substr(11,5) : ''}}</div>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="课程时长">
-            <div v-if="diff.hasOwnProperty('timers')">
-              <el-tag type="danger" v-if="before.timers"><s>{{before.timers}} 分钟</s></el-tag>
-              <el-tag type="success" v-if="after.timers">{{after.timers}} 分钟</el-tag>
-            </div>
-            <div v-else>{{after.timers}} 分钟</div>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="课程类型">
-            <!-- <div>{{item.teachMode| teachMode}}</div> -->
-            <div v-if="diff.hasOwnProperty('teachMode')">
-              <el-tag type="danger" v-if="before.teachMode"><s>{{before.teachMode | teachMode}}</s></el-tag>
-              <el-tag type="success" v-if="after.teachMode">{{after.teachMode | teachMode}}</el-tag>
-            </div>
-            <div v-else>{{after.teachMode | teachMode}}</div>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="教学地点">
-            <div v-if="diff.hasOwnProperty('schoolName')">
-              <el-tag type="danger" v-if="before.schoolName"><s>{{before.schoolName}}</s></el-tag>
-              <el-tag type="success" v-if="after.schoolName">{{after.schoolName}}</el-tag>
-            </div>
-            <div v-else>{{after.schoolName}}</div>
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
+          <div v-else>{{scope.row.before}}</div>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="after"
+        label="修改后"
+      >
+        <template slot-scope="scope">
+          <div v-if="diff.hasOwnProperty(scope.row.name)">
+            <el-tag type="success" v-if="scope.row.after">{{scope.row.after}}</el-tag>
+          </div>
+          <div v-else>{{scope.row.after}}</div>
+        </template>
+      </el-table-column>
+    </el-table>
   </div>
 </template>
 <script>
+const nameFormat = {
+  name: '课程名称',
+  actualTeacherName: '主教老师',
+  teachingTeacherNames: '助教老师',
+  startClassTime: '上课时间',
+  teachMode: '课程类型',
+  schoolName: '教学地点',
+  timers: '课程时长'
+}
 import ObjectDiff from 'object-diff'
 export default {
   props: ['before', 'after'],
   computed: {
     diff() {
       return ObjectDiff(this.before, this.after)
+    },
+    list() {
+      const keys = Object.keys(this.before)
+      const items = []
+      for (let i = 0; i < keys.length; i++) {
+        const key = keys[i]
+        const nextKey = keys[i + 1]
+        items.push({
+          name: key,
+          before: this.before[key],
+          after: this.before[key],
+        })
+      }
+      return items
+    }
+  },
+  data() {
+    return {
+      nameFormat
     }
   },
+  mounted() {
+    console.log(this.diff, this.list)
+  }
 }
 </script>
 <style lang="less" scoped>

+ 2 - 1
src/views/teamDetail/components/modals/class-pay-list.vue

@@ -89,8 +89,9 @@ export default {
       this.classGroupStudents = classGroupStudents
       this.teamid = this.$route.query.id
       this.activeType = this.form.classList[0].type
+      console.log(this.form.classList)
       this.courseTypeList = getCourseType(this.activeType)
-
+      console.log('courseTypeList:',this.courseTypeList)
       this.studentSubmitedData = {
         name:'',
         seleched:this.studentList.map(stu=> {return stu.userId})

+ 17 - 11
src/views/teamDetail/components/modals/classList-group.vue

@@ -121,27 +121,33 @@ export default {
             item = classes;
           }
         });
+        this.form.classList.forEach((classes) => {
+          if (classes.classId == id) {
+            classes.type = item.type
+          }
+        });
+
         // 过滤类型不一样的
         this.activeClassList = this.classList.filter((classes) => {
           return item.type == classes.type;
         });
-        this.addDisabled(arr)
+        this.addDisabled(arr);
       } else {
         if (arr.length == 0) {
-          this.activeClassList = this.classList
+          this.activeClassList = this.classList;
         } else {
-         this.addDisabled(arr)
+          this.addDisabled(arr);
         }
       }
     },
-    addDisabled(arr){
-       this.activeClassList = this.activeClassList.map((classes) => {
-            return {
-              ...classes,
-              disabled: arr.indexOf(classes.id) != -1
-            };
-          });
-    }
+    addDisabled(arr) {
+      this.activeClassList = this.activeClassList.map((classes) => {
+        return {
+          ...classes,
+          disabled: arr.indexOf(classes.id) != -1,
+        };
+      });
+    },
   },
 };
 </script>

+ 2 - 0
src/views/teamDetail/components/modals/classroom-setting.vue

@@ -249,6 +249,7 @@ export default {
         this.musicCourseSettings = res.data;
 
         const classs = {};
+          console.log(this.courseTypeList)
         for (const item of this.courseTypeList) {
           const key = item.value;
           if (res.data[key]) {
@@ -262,6 +263,7 @@ export default {
             };
           }
         }
+        console.log(classs)
         this.$set(this.form, "classs", classs);
         // this.courseTimes = courseTimes
       } catch (error) {