Browse Source

提交一下

1
mo 3 years ago
parent
commit
9509304bd1

+ 1 - 1
jest.config.js

@@ -20,5 +20,5 @@ module.exports = {
     'lcov',
     'text-summary'
   ],
-  testURL: 'http://localhost/'
+  testURL: 'http://127.0.0.1/'
 }

+ 9 - 0
src/api/buildTeam.js

@@ -1577,3 +1577,12 @@ export function batchCourseAdjust(data) {
   })
 }
 
+// 获取会员班级截止时间
+export function musicGroupSchoolTermCourseDetail(data) {
+  return request2({
+    url: api + `/musicGroupSchoolTermCourseDetail/upset`,
+    method: 'get',
+    params:data,
+    requestType:'form'
+  })
+}

+ 3 - 1
src/router/index.js

@@ -425,7 +425,9 @@ export const asyncRoutes = {
   childrensdayDetail:()=>import('@/views/childrensDay/detail'),
   // 异常数据
   indexErrDataRecord:()=>import('@/views/indexErrDataRecord'),
-  dictionaryManager:()=>import('@/views/dictionaryManager')
+  dictionaryManager:()=>import('@/views/dictionaryManager'),
+  // 会员排课列表
+  memberClassList:()=>import('@/views/teamDetail/components/memberClassList')
 }
 
 export default router

+ 13 - 0
src/store/modules/permission.js

@@ -257,6 +257,19 @@ function setDetailRoute(accessedRoutes) {
           }
         },
         {
+          name: '会员排课列表',
+          path: 'memberClassList',
+          component: () => import('@/views/teamDetail/components/memberClassList'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '会员排课列表',
+            belongTopMenu: "/business",
+            activeMenu: '/teamList',
+            id:'xx28'
+          }
+        },
+        {
           name: '新建vip',
           path: 'buildVip',
           component: () => import('@/views/buildVip/index'),

+ 314 - 0
src/views/teamDetail/components/memberClassList.vue

@@ -0,0 +1,314 @@
+<template>
+  <div class="m-container">
+    <div class="line"></div>
+    <h2>
+      <el-page-header @back="goBack" :content="$route.query.name">
+      </el-page-header>
+    </h2>
+    <div class="topWrap">
+      <el-form :inline="true" :model="topForm">
+        <el-form-item label="班级类型">
+          <el-select
+            v-model.trim="topForm.classType"
+            clearable
+            filterable
+            @change="changeMixClass"
+          >
+            <el-option
+              v-for="(item, index) in musicClassTypeList"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="btnList">
+      <el-form :inline="true">
+        <el-form-item label="开课日期:">
+          <p>{{ form.startCourseDate }}</p>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="resetStartTime">修改</el-button>
+        </el-form-item>
+        <el-form-item v-if="form.endSchoolTerm">
+          <p style="color: red">该学期结束日期为:{{ form.endSchoolTerm }}</p>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="tableWrap" style>
+      <el-table
+        :data="activeSingleList"
+        style
+        ref="multipleTable"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+        tooltip-effect="dark"
+      >
+        <el-table-column
+          align="center"
+          prop="name"
+          label="班级名称"
+        ></el-table-column>
+        <el-table-column align="center" prop="type" label="班级类型">
+          <template slot-scope="scope">
+            <div>{{ scope.row.type | classType }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" prop="studentNum" label="当前班级人数">
+          <template slot-scope="scope">
+            <div>{{ scope.row.studentNum }}人</div>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" prop label="主教老师">
+          <template slot-scope="scope">
+            <div v-if="scope.row.classGroupTeacherMapperList">
+              <p
+                v-for="(item, index) in scope.row.classGroupTeacherMapperList"
+                :key="index"
+              >
+                <span v-if="item.teacherRole == 'BISHOP'">
+                  {{ item.userName }}
+                </span>
+              </p>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="助教老师">
+          <template slot-scope="scope">
+            <div v-if="scope.row.classGroupTeacherMapperList">
+              <p
+                v-for="(item, index) in scope.row.classGroupTeacherMapperList"
+                :key="index"
+              >
+                <span v-if="item.teacherRole == 'TEACHING'">
+                  {{ item.userName }}
+                </span>
+              </p>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="预排课时(分钟)">
+          <template slot-scope="scope">
+            <div>{{ scope.row.preTotalClassTimes }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="剩余可拍课时长(分钟)">
+          <template slot-scope="scope">
+            <div>{{ scope.row.preSubMinutes }}</div>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column align="center" label="是否冻结">
+          <template slot-scope="scope">
+            <div>{{ scope.row.lockFlag | yesOrNo }}</div>
+          </template>
+        </el-table-column> -->
+        <el-table-column
+          align="center"
+          width="240px"
+          label="操作"
+          v-if="team_status == 'PREPARE' || team_status == 'PROGRESS'"
+        >
+          <template slot-scope="scope" v-if="scope.row.lockFlag != 1">
+            <div>
+              <el-button type="text" v-if="scope.row.preTotalClassTimes == 0"
+                >预排课</el-button
+              >
+              <el-button type="text" v-else>取消排课</el-button>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <el-dialog
+      title="请设置开课日期"
+      :visible.sync="startVisible"
+      width="500px"
+    >
+      <el-form :model="form" ref="form">
+        <el-form-item
+          label="开课日期"
+          prop="startCourseDate"
+          :rules="[{ required: true, message: '请选择开课日期' }]"
+        >
+          <el-date-picker
+            v-model.trim="form.startCourseDate"
+            type="date"
+            :picker-options="pickerOptions"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择时间"
+          />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="setStartTime">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import {
+  getAllSignClassandTeacher,
+  getTeamBaseInfo,
+  musicGroupSchoolTermCourseDetail,
+} from "@/api/buildTeam";
+import { classTimeList, musicClassTypeList } from "@/utils/searchArray";
+import dayjs from "dayjs";
+export default {
+  data() {
+    return {
+      musicClassTypeList,
+      topForm: {
+        classType: "",
+      },
+      team_status: "",
+      activeSingleList: [],
+      form: { startCourseDate: "", endSchoolTerm: "" },
+      startVisible: false,
+      pickerOptions: {
+        firstDayOfWeek: 1,
+        disabledDate(time) {
+          return time.getTime() + 86400000 <= new Date().getTime(); //开始时间不选时,结束时间最大值小于等于当天
+        },
+      },
+      lastDate: "",
+      musicGroupSchoolTermCourseDetailId: "",
+    };
+  },
+  mounted() {
+    this.init();
+  },
+  methods: {
+    async init() {
+      this.teamid = this.$route.query.id;
+      this.team_status = this.$route.query.team_status;
+      if (this.musicGroupInfo) {
+        this.organId = this.musicGroupInfos.organId;
+        this.chargeTypeId = this.musicGroupInfos.chargeTypeId;
+        this.courseViewType = this.musicGroupInfos.courseViewType;
+      } else {
+        getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
+          if (res.code == 200) {
+            this.musicGroupInfos = res.data.musicGroup;
+            this.organId = this.musicGroupInfos.organId;
+            this.chargeTypeId = this.musicGroupInfos.chargeTypeId;
+            this.courseViewType = this.musicGroupInfos.courseViewType;
+          }
+        });
+      }
+      // 请求接口 获取乐团排课时长
+      try {
+        const res = await musicGroupSchoolTermCourseDetail({
+          musicGroupId: this.teamid,
+        });
+        if (!res.data) {
+          // 说明没有设置时间  弹窗设置
+          this.startVisible = true;
+        } else {
+          this.form.startCourseDate = dayjs(res.data.startCourseDate).format(
+            "YYYY-MM-DD"
+          );
+          this.form.endSchoolTerm = dayjs(res.data.endSchoolTerm).format(
+            "YYYY-MM-DD"
+          );
+          this.musicGroupSchoolTermCourseDetailId = res.data.id;
+        }
+      } catch (e) {
+        console.log(e);
+      }
+      this.getList();
+    },
+    changeMixClass(val) {
+      // 根据合奏班id获取合奏班下的所有声部班
+      console.log(val);
+      this.getList(val);
+      this.activeMixClass = val;
+    },
+    getList(val) {
+      getAllSignClassandTeacher({ musicGroupId: this.teamid, type: val }).then(
+        (res) => {
+          if (res.code == 200) {
+            this.activeSingleList = res.data;
+            // this.topForm.count = this.activeSingleList.length
+          }
+        }
+      );
+    },
+    goBack() {
+      this.$store.dispatch("delVisitedViews", this.$route);
+      this.$router.push({
+        path: "/business/resetTeaming",
+        query: { ...this.$route.query },
+      });
+    },
+    setStartTime() {
+      this.$refs.form.validate(async (res) => {
+        if (res) {
+          try {
+            const res = await musicGroupSchoolTermCourseDetail({
+              musicGroupId: this.teamid,
+              startCourseDate: this.form.startCourseDate,
+            });
+            if (res.code == 207) {
+              this.$confirm(res.msg, "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+              })
+                .then(async () => {
+                  try {
+                    const res = await musicGroupSchoolTermCourseDetail({
+                      musicGroupId: this.teamid,
+                      startCourseDate: this.form.startCourseDate,
+                      cleanPreCourseFlag: true,
+                    });
+                    if (res.data) {
+                      this.$$message.success("修改成功");
+                      this.form.startCourseDate = dayjs(
+                        res.data.startCourseDate
+                      ).format("YYYY-MM-DD");
+                      this.form.endSchoolTerm = dayjs(
+                        res.data.endSchoolTerm
+                      ).format("YYYY-MM-DD");
+                      this.musicGroupSchoolTermCourseDetailId = res.data.id;
+                      this.startVisible = false;
+                      this.getList();
+                    }
+                  } catch (e) {
+                    this.form.startCourseDate = this.lastDate;
+                  }
+                })
+                .catch(() => {
+                  this.form.startCourseDate = this.lastDate;
+                });
+            }
+            if (res.code == 200) {
+              if (res.data) {
+                this.form.startCourseDate = dayjs(
+                  res.data.startCourseDate
+                ).format("YYYY-MM-DD");
+                this.form.endSchoolTerm = dayjs(res.data.endSchoolTerm).format(
+                  "YYYY-MM-DD"
+                );
+                this.musicGroupSchoolTermCourseDetailId = res.data.id;
+                this.$$message.success("修改成功");
+                this.startVisible = false;
+                this.getList();
+              }
+            }
+          } catch (e) {
+            this.form.startCourseDate = this.lastDate;
+            console.log(e);
+          }
+        }
+      });
+    },
+    resetStartTime() {
+      this.lastDate = JSON.parse(JSON.stringify(this.form.startCourseDate));
+      this.startVisible = true;
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+</style>

+ 29 - 11
src/views/teamDetail/components/modals/classroom-setting-item.vue

@@ -34,10 +34,10 @@
                   :label="item.realName"
                   :value="String(item.id)"
                 >
-                         <span style="float: left">{{ item.realName }}</span>
-              <span style="float: right; color: #8492a6; font-size: 13px">{{
-                String(item.id)
-              }}</span>
+                  <span style="float: left">{{ item.realName }}</span>
+                  <span style="float: right; color: #8492a6; font-size: 13px">{{
+                    String(item.id)
+                  }}</span>
                 </el-option>
               </el-select>
               <!-- <remote-search :commit="'setTeachers'" v-model="form.coreTeacher"  /> -->
@@ -68,10 +68,10 @@
                   :label="item.realName"
                   :value="item.id"
                 >
-                 <span style="float: left">{{ item.realName }}</span>
-              <span style="float: right; color: #8492a6; font-size: 13px">{{
-                String(item.id)
-              }}</span>
+                  <span style="float: left">{{ item.realName }}</span>
+                  <span style="float: right; color: #8492a6; font-size: 13px">{{
+                    String(item.id)
+                  }}</span>
                 </el-option>
               </el-select>
             </el-form-item>
@@ -283,7 +283,19 @@ for (const item of classTimeList) {
 }
 
 export default {
-  props: ["form", "type", "surplustime", "prices", "selectPrice", "holidays","teacherList","activeType",'cooperationList','coreid','assistant'],
+  props: [
+    "form",
+    "type",
+    "surplustime",
+    "prices",
+    "selectPrice",
+    "holidays",
+    "teacherList",
+    "activeType",
+    "cooperationList",
+    "coreid",
+    "assistant",
+  ],
   data() {
     return {
       classTimeListByType,
@@ -292,6 +304,13 @@ export default {
   },
   mounted() {
     // console.log("surplustime", this.surplustime);
+    // "form", "type", "surplustime", "prices", "selectPrice", "holidays","teacherList","activeType",'cooperationList','coreid','assistant'
+    console.log("form", this.form);
+    console.log("surplustime", this.surplustime);
+    console.log("prices", this.prices);
+    console.log("selectPrice", this.selectPrice);
+    console.log("holidays", this.holidays);
+    console.log("activeType", this.activeType);
     // console.log(this.form.cycle);
   },
   computed: {
@@ -332,8 +351,7 @@ export default {
         this.$message.error("已排课时长使用完毕,请修改预计课时数");
         return;
       }
-      const initVal = {  coreTeacher: this.coreid,
-        assistant: this.assistant,}
+      const initVal = { coreTeacher: this.coreid, assistant: this.assistant };
       if (this.selectPrice) {
         initVal.time = this.selectPrice;
       }

+ 119 - 44
src/views/teamDetail/components/resetClass.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- m-container -->
-  <div class>
+  <div>
     <!-- <h2>
       <div class='squrt'></div>
       班级调整
@@ -25,15 +25,27 @@
           </el-form-item>
         </el-form>
       </div>
-      <div
-        class="newBand"
-        style="width: 120px"
-        v-permission="'courseSchedule/coursePostpone'"
-        v-if="team_status == 'PROGRESS'"
-        @click="postpone"
-      >
-        课程顺延
+      <div class="btnList">
+        <div
+          class="newBand"
+          style="width: 120px"
+          v-permission="'courseSchedule/coursePostpone'"
+          v-if="team_status == 'PROGRESS'"
+          @click="postpone"
+        >
+          课程顺延
+        </div>
+        <div
+          class="newBand"
+          style="width: 120px"
+          v-permission="'courseSchedule/coursePostpone'"
+          v-if="courseViewType == 1"
+          @click="gotoMemberCourse"
+        >
+          会员课程排课
+        </div>
       </div>
+
       <div class="tableWrap" style>
         <el-table
           :data="activeSingleList"
@@ -43,9 +55,9 @@
           tooltip-effect="dark"
           @selection-change="handleSelectionChange"
         >
-        <!-- checkSignPostpone -->
+          <!-- checkSignPostpone -->
           <el-table-column
-          :selectable="checkSignPostpone"
+            :selectable="checkSignPostpone"
             type="selection"
             width="55"
             v-if="team_status == 'PROGRESS'"
@@ -74,10 +86,11 @@
               <div v-if="scope.row.classGroupTeacherMapperList">
                 <p
                   v-for="(item, index) in scope.row.classGroupTeacherMapperList"
-                  v-if="item.teacherRole == 'BISHOP'"
                   :key="index"
                 >
-                  {{ item.userName }}
+                  <span v-if="item.teacherRole == 'BISHOP'">
+                    {{ item.userName }}
+                  </span>
                 </p>
               </div>
             </template>
@@ -87,10 +100,11 @@
               <div v-if="scope.row.classGroupTeacherMapperList">
                 <p
                   v-for="(item, index) in scope.row.classGroupTeacherMapperList"
-                  v-if="item.teacherRole == 'TEACHING'"
                   :key="index"
                 >
-                  {{ item.userName }}
+                  <span v-if="item.teacherRole == 'TEACHING'">
+                    {{ item.userName }}
+                  </span>
                 </p>
               </div>
             </template>
@@ -110,7 +124,12 @@
               <div>{{ scope.row.lockFlag | yesOrNo }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center" width="240px" label="操作"   v-if="team_status == 'PREPARE'||team_status == 'PROGRESS'">
+          <el-table-column
+            align="center"
+            width="240px"
+            label="操作"
+            v-if="team_status == 'PREPARE' || team_status == 'PROGRESS'"
+          >
             <template slot-scope="scope" v-if="scope.row.lockFlag != 1">
               <div>
                 <!-- v-if="scope.row.type !='MIX'" -->
@@ -130,9 +149,11 @@
                 <el-button
                   type="text"
                   v-if="
-                   ( permission('classGroup/classGroupUpdate') ||
-                    permission('classGroup/revisionClassGroup') ||
-                    permission('classGroup/revisionAddClassGroup'))&&scope.row.studentNum>0&&team_status == 'PROGRESS'
+                    (permission('classGroup/classGroupUpdate') ||
+                      permission('classGroup/revisionClassGroup') ||
+                      permission('classGroup/revisionAddClassGroup')) &&
+                    scope.row.studentNum > 0 &&
+                    team_status == 'PROGRESS'
                   "
                   @click="classAdjustment(scope.row)"
                   >排课</el-button
@@ -141,7 +162,8 @@
                   type="text"
                   v-if="
                     (scope.row.studentNum == '0' ||
-                    scope.row.totalClassTimes == '0')&& permission('classGroup/delSingle')
+                      scope.row.totalClassTimes == '0') &&
+                    permission('classGroup/delSingle')
                   "
                   @click="removeClass(scope)"
                   >删除</el-button
@@ -150,7 +172,8 @@
                   type="text"
                   v-if="
                     team_status == 'PROGRESS' &&
-                    permission('courseSchedule/coursePostpone')&&checkSignPostpone(scope.row)
+                    permission('courseSchedule/coursePostpone') &&
+                    checkSignPostpone(scope.row)
                   "
                   @click="signPostpone(scope.row)"
                   >顺延课程</el-button
@@ -164,19 +187,53 @@
             <div
               class="add"
               @click="studentResetVisiable = true"
-              v-if="permission('classGroup/mergeClassSplitClassAffirm')&&team_status == 'PROGRESS'"
+              v-if="
+                permission('classGroup/mergeClassSplitClassAffirm') &&
+                team_status == 'PROGRESS'
+              "
             >
               拆分班级
             </div>
           </div>
-          <div class="right"  v-if="team_status == 'PREPARE'||team_status == 'PROGRESS'">
-            <div class="add" v-if="permission('classGroup/create')" @click="temporary">新建临时班</div>
-            <div class="add" v-if="permission('classGroup/create')" @click="addNewClass('NORMAL')">新建声部班</div>
-            <div class="add" v-if="permission('classGroup/create')" @click="addNewClass('MIX')">新建合奏班</div>
-            <div class="add" v-if="permission('classGroup/revisionAddClassGroup')"   @click="addNewClass('MUSIC_NETWORK')">
+          <div
+            class="right"
+            v-if="team_status == 'PREPARE' || team_status == 'PROGRESS'"
+          >
+            <div
+              class="add"
+              v-if="permission('classGroup/create')"
+              @click="temporary"
+            >
+              新建临时班
+            </div>
+            <div
+              class="add"
+              v-if="permission('classGroup/create')"
+              @click="addNewClass('NORMAL')"
+            >
+              新建声部班
+            </div>
+            <div
+              class="add"
+              v-if="permission('classGroup/create')"
+              @click="addNewClass('MIX')"
+            >
+              新建合奏班
+            </div>
+            <div
+              class="add"
+              v-if="permission('classGroup/revisionAddClassGroup')"
+              @click="addNewClass('MUSIC_NETWORK')"
+            >
               新建乐团网管课
             </div>
-            <div class="add" v-if="permission('classGroup/create')" @click="newClassVisible = true">基础技能班</div>
+            <div
+              class="add"
+              v-if="permission('classGroup/create')"
+              @click="newClassVisible = true"
+            >
+              基础技能班
+            </div>
           </div>
 
           <!-- <div class="add"
@@ -387,8 +444,10 @@
               :label="item.realName"
               :value="String(item.id)"
             >
-             <span style="float: left">{{ item.realName }}</span>
-      <span style="float: right; color: #8492a6; font-size: 13px">{{String(item.id)}}</span>
+              <span style="float: left">{{ item.realName }}</span>
+              <span style="float: right; color: #8492a6; font-size: 13px">{{
+                String(item.id)
+              }}</span>
             </el-option>
           </el-select>
           <!-- <remote-search
@@ -434,8 +493,10 @@
               :label="item.realName"
               :value="item.id"
             >
-                         <span style="float: left">{{ item.realName }}</span>
-      <span style="float: right; color: #8492a6; font-size: 13px">{{String(item.id)}}</span>
+              <span style="float: left">{{ item.realName }}</span>
+              <span style="float: right; color: #8492a6; font-size: 13px">{{
+                String(item.id)
+              }}</span>
             </el-option>
           </el-select>
           <!-- <remote-search
@@ -468,9 +529,7 @@
           :rules="[
             { required: true, message: '请选择可报名声部', trigger: 'blur' },
           ]"
-          v-if="
-            newClassForm.type == 'HIGH'
-          "
+          v-if="newClassForm.type == 'HIGH'"
         >
           <select-all
             v-model.trim="newClassForm.memo"
@@ -516,9 +575,7 @@
               <p>
                 可创建班级数量=各个声部学员数/6向上取整+乐团在读学员数/30向上取整
               </p>
-              <p>
-                上低音号、长号学员数合并计算
-              </p>
+              <p>上低音号、长号学员数合并计算</p>
               <p>班级人数:</p>
               <p>线上基础技能班人数上限为6人</p>
             </div>
@@ -819,7 +876,8 @@ export default {
       bigin: this.beginDate(),
       options: this.processDate(),
       team_status: "",
-      activeList:[]
+      activeList: [],
+      courseViewType:''
     };
   },
   created() {
@@ -839,12 +897,14 @@ export default {
       if (this.musicGroupInfo) {
         this.organId = this.musicGroupInfos.organId;
         this.chargeTypeId = this.musicGroupInfos.chargeTypeId;
+        this.courseViewType = this.musicGroupInfos.courseViewType
       } else {
         getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
           if (res.code == 200) {
             this.musicGroupInfos = res.data.musicGroup;
             this.organId = this.musicGroupInfos.organId;
             this.chargeTypeId = this.musicGroupInfos.chargeTypeId;
+                this.courseViewType = this.musicGroupInfos.courseViewType
           }
         });
       }
@@ -926,8 +986,7 @@ export default {
         type: this.activeType,
         name: data?.name,
         musicGroupId: this.teamid,
-        subjectIdList:
-          data?.sound.length > 0 ? data?.sound.join(",") : null,
+        subjectIdList: data?.sound.length > 0 ? data?.sound.join(",") : null,
         teacherMapperList: formatClassGroupTeacherMapperList(
           data.coreTeacher,
           data.assistant
@@ -936,7 +995,6 @@ export default {
       };
     },
     async submitClass(data) {
-
       const list = this.getSubmitData(data, { onlyCreateClassGroup: true });
       let obj = this.getClassDate(data);
       if (this.activeType == "MUSIC_NETWORK") {
@@ -1018,6 +1076,7 @@ export default {
     },
     changeMixClass(val) {
       // 根据合奏班id获取合奏班下的所有声部班
+      console.log(val)
       this.getList(val);
       this.activeMixClass = val;
     },
@@ -1621,8 +1680,8 @@ export default {
       }
       this.postponeVisible = true;
     },
-    checkSignPostpone(row){
-      return row.totalClassTimes - row.currentClassTimes >0
+    checkSignPostpone(row) {
+      return row.totalClassTimes - row.currentClassTimes > 0;
     },
     handleClose() {
       // 弹窗关闭之前
@@ -1659,6 +1718,13 @@ export default {
       this.activeClass = row.id;
       this.postponeVisible = true;
     },
+    gotoMemberCourse(){
+      // 这里跳转到课表
+      this.$router.push({
+        path:'/business/memberClassList',
+        query:{...this.$route.query}
+      })
+    }
   },
 
   watch: {
@@ -1704,6 +1770,15 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
+.btnList {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: center;
+  .newBand {
+    margin-right: 10px;
+  }
+}
 .dialog-footer.question {
   display: flex;
   flex-direction: row;