Ver código fonte

Revert "更新样式与调整"

This reverts commit 6e57ccf29071abd44826cd15aee792be1e21f6bd.
mo 2 anos atrás
pai
commit
820b56de56
24 arquivos alterados com 2684 adições e 1325 exclusões
  1. 3 5
      src/constant/index.js
  2. 76 20
      src/views/accompanyManager/accompanyBuys.vue
  3. 218 55
      src/views/accompanyManager/accompanyList.vue
  4. 403 151
      src/views/accompanyManager/accompanys.vue
  5. 155 247
      src/views/teamBuild/signupList.vue
  6. 5 5
      src/views/teamBuild/teamSeting/components/setClassV2.vue
  7. 122 149
      src/views/teamBuild/teamSeting/components/setTeacher.vue
  8. 134 30
      src/views/teamDetail/componentCourse/compoundClass.vue
  9. 29 13
      src/views/teamDetail/componentCourse/modals/resetTeacher.vue
  10. 1 4
      src/views/teamDetail/componentCourse/resetClass.vue
  11. 387 124
      src/views/teamDetail/components/courseList.vue
  12. 54 20
      src/views/teamDetail/components/courseTransModals/startPlanCourse.vue
  13. 47 12
      src/views/teamDetail/components/modals/change-teacher.vue
  14. 66 29
      src/views/teamDetail/components/modals/class-new-info.vue
  15. 61 16
      src/views/teamDetail/components/modals/class-pay-list.vue
  16. 31 8
      src/views/teamDetail/components/modals/classList-group.vue
  17. 224 85
      src/views/teamDetail/components/modals/classroom-setting-item.vue
  18. 77 23
      src/views/teamDetail/components/modals/classroom-setting-merge.vue
  19. 66 132
      src/views/teamDetail/components/modals/select-student.vue
  20. 13 12
      src/views/teamDetail/components/modals/student-reset-view.vue
  21. 504 163
      src/views/teamDetail/components/resetClass.vue
  22. 7 8
      src/views/teamDetail/teamClassList.vue
  23. 0 14
      src/views/teamDetail/teamCourseList.vue
  24. 1 0
      src/views/teamDetail/teamList.vue

+ 3 - 5
src/constant/index.js

@@ -219,7 +219,6 @@ if (tenantId == 1) {
     NORMAL: "声部班",
     NORMAL: "声部班",
     MIX: "合奏班",
     MIX: "合奏班",
     HIGH: "基础技能班",
     HIGH: "基础技能班",
-    HIGH_ONLINE: "线上基础技能班",
     SNAP: "临时班"
     SNAP: "临时班"
   };
   };
 }
 }
@@ -446,10 +445,9 @@ export const coupontypeDetail = {
   MAINTENANCE: "乐保服务",
   MAINTENANCE: "乐保服务",
   TEACHING: "教材",
   TEACHING: "教材",
   PRACTICE: "网管课",
   PRACTICE: "网管课",
-  // SINGLE: "声部课",
-  // MIX: "合奏课",
-  MUSIC: "乐团课",
-  VIP: "VIP课",
+  SINGLE: "声部课",
+  MIX: "合奏课",
+  VIP: "VIP",
   LIVE: "直播课",
   LIVE: "直播课",
   MEMBER: "云教练"
   MEMBER: "云教练"
 };
 };

+ 76 - 20
src/views/accompanyManager/accompanyBuys.vue

@@ -1,21 +1,47 @@
 <!--  -->
 <!--  -->
 <template>
 <template>
-  <div>
-    <save-form :inline="true" class="searchForm" save-key="accompanyBuys" @submit="search" @reset="onReSet"
-      :model.sync="searchForm">
+  <div class="m-core">
+    <save-form
+      :inline="true"
+      class="searchForm"
+      save-key="accompanyBuys"
+      @submit="search"
+      @reset="onReSet"
+      :model.sync="searchForm"
+    >
       <!-- 状态 指导老师 活动方案-->
       <!-- 状态 指导老师 活动方案-->
       <el-form-item>
       <el-form-item>
-        <el-input v-model.trim="searchForm.search" clearable placeholder="学员编号/学员名称"></el-input>
+        <el-input
+          v-model.trim="searchForm.search"
+          clearable
+          placeholder="学员编号/学员名称"
+        ></el-input>
       </el-form-item>
       </el-form-item>
       <el-form-item>
       <el-form-item>
-        <el-select class="multiple" v-model.trim="searchForm.organIdList" filterable clearable placeholder="请选择分部">
-          <el-option v-for="(item, index) in selects.branchs" :key="index" :label="item.name"
-            :value="item.id"></el-option>
+        <el-select
+          class="multiple"
+          v-model.trim="searchForm.organIdList"
+          filterable
+          clearable
+          placeholder="请选择分部"
+        >
+          <el-option
+            v-for="(item, index) in selects.branchs"
+            :key="index"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
       <!-- statusList -->
       <!-- statusList -->
       <el-form-item prop="buy">
       <el-form-item prop="buy">
-        <el-select class="multiple" v-model.trim="searchForm.buy" filterable clearable placeholder="购买网管课">
+        <el-select
+          class="multiple"
+          v-model.trim="searchForm.buy"
+          filterable
+          clearable
+          placeholder="购买网管课"
+        >
           <el-option label="是" value="true"></el-option>
           <el-option label="是" value="true"></el-option>
           <el-option label="否" value="false"></el-option>
           <el-option label="否" value="false"></el-option>
         </el-select>
         </el-select>
@@ -26,11 +52,20 @@
       </el-form-item>
       </el-form-item>
       <el-form-item>
       <el-form-item>
         <!-- <div class="newBand" @click="onExport">导出</div> -->
         <!-- <div class="newBand" @click="onExport">导出</div> -->
-        <el-button @click="onExport" type="primary" v-permission="'export/studentBuyPractice'">导出</el-button>
+        <el-button
+          @click="onExport"
+          type="primary"
+          v-permission="'export/studentBuyPractice'"
+          >导出</el-button
+        >
       </el-form-item>
       </el-form-item>
     </save-form>
     </save-form>
     <div class="tableWrap">
     <div class="tableWrap">
-      <el-table style="width: 100%" :header-cell-style="{ background: '#EDEEF0', color: '#444' }" :data="tableData">
+      <el-table
+        style="width: 100%"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+        :data="tableData"
+      >
         <el-table-column align="center" prop="studentId" label="学员编号">
         <el-table-column align="center" prop="studentId" label="学员编号">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <copy-text>{{ scope.row.studentId }}</copy-text>
             <copy-text>{{ scope.row.studentId }}</copy-text>
@@ -47,7 +82,11 @@
           </template>
           </template>
         </el-table-column>
         </el-table-column>
         <!-- educationalTeacherId -->
         <!-- educationalTeacherId -->
-        <el-table-column align="center" prop="phone" label="手机号"></el-table-column>
+        <el-table-column
+          align="center"
+          prop="phone"
+          label="手机号"
+        ></el-table-column>
         <el-table-column align="center" label="是否购买">
         <el-table-column align="center" label="是否购买">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div>
             <div>
@@ -65,7 +104,10 @@
                       class="micon el-tooltip"
                       class="micon el-tooltip"
                       style="width:8px height:8px"
                       style="width:8px height:8px"
                       alt /> -->
                       alt /> -->
-                <i class="el-icon-question" style="font-size: 18px; color: #f56c6c"></i>
+                <i
+                  class="el-icon-question"
+                  style="font-size: 18px; color: #f56c6c"
+                ></i>
               </el-tooltip>
               </el-tooltip>
             </p>
             </p>
           </template>
           </template>
@@ -85,7 +127,10 @@
                       class="micon el-tooltip"
                       class="micon el-tooltip"
                       style="width:8px height:8px"
                       style="width:8px height:8px"
                       alt /> -->
                       alt /> -->
-                <i class="el-icon-question" style="font-size: 18px; color: #f56c6c"></i>
+                <i
+                  class="el-icon-question"
+                  style="font-size: 18px; color: #f56c6c"
+                ></i>
               </el-tooltip>
               </el-tooltip>
             </p>
             </p>
           </template>
           </template>
@@ -105,7 +150,10 @@
                       class="micon el-tooltip"
                       class="micon el-tooltip"
                       style="width:8px height:8px"
                       style="width:8px height:8px"
                       alt /> -->
                       alt /> -->
-                <i class="el-icon-question" style="font-size: 18px; color: #f56c6c"></i>
+                <i
+                  class="el-icon-question"
+                  style="font-size: 18px; color: #f56c6c"
+                ></i>
               </el-tooltip>
               </el-tooltip>
             </p>
             </p>
           </template>
           </template>
@@ -116,8 +164,15 @@
           </template>
           </template>
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>
-      <pagination sync :total.sync="rules.total" save-key="accompanyBuys" :page.sync="rules.page"
-        :limit.sync="rules.limit" :page-sizes="rules.page_size" @pagination="getList" />
+      <pagination
+        sync
+        :total.sync="rules.total"
+        save-key="accompanyBuys"
+        :page.sync="rules.page"
+        :limit.sync="rules.limit"
+        :page-sizes="rules.page_size"
+        @pagination="getList"
+      />
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
@@ -153,7 +208,7 @@ export default {
     };
     };
   },
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   //生命周期 - 创建完成(可以访问当前this实例)
-  created() { },
+  created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
   mounted() {
     this.init();
     this.init();
@@ -245,7 +300,7 @@ export default {
                 // 判断是否报错
                 // 判断是否报错
                 if (res.indexOf("code") != -1) {
                 if (res.indexOf("code") != -1) {
                   let json = JSON.parse(res);
                   let json = JSON.parse(res);
-                  if (json.code == 403) {
+                  if(json.code == 403) {
                     this.$message.error(`登录过期,请重新登录!`)
                     this.$message.error(`登录过期,请重新登录!`)
                     setTimeout(() => {
                     setTimeout(() => {
                       this.$store.dispatch('user/resetToken').then(() => {
                       this.$store.dispatch('user/resetToken').then(() => {
@@ -272,9 +327,10 @@ export default {
               load.endLoading();
               load.endLoading();
             });
             });
         })
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     },
   },
   },
 };
 };
 </script>
 </script>
-<style lang='scss' scoped></style>
+<style lang='scss' scoped>
+</style>

+ 218 - 55
src/views/accompanyManager/accompanyList.vue

@@ -4,7 +4,7 @@
       <div class="squrt"></div>网管课列表
       <div class="squrt"></div>网管课列表
     </h2>-->
     </h2>-->
 
 
-    <div>
+    <div class="m-core">
       <div class="topWrap">
       <div class="topWrap">
         <!-- <div
         <!-- <div
         class="newBand"
         class="newBand"
@@ -30,55 +30,120 @@
       >
       >
         网管课导出
         网管课导出
       </div> -->
       </div> -->
-        <el-button v-permission="'/newPractice'" @click="newPractice" type="primary" style="margin-bottom: 20px">
+        <el-button
+          v-permission="'/newPractice'"
+          @click="newPractice"
+          type="primary"
+          style="margin-bottom: 20px"
+        >
           新建网管课
           新建网管课
         </el-button>
         </el-button>
-        <el-button v-permission="'export/practiceGroup'" @click="onStudentExport" type="primary"
-          style="margin-bottom: 20px">
+        <el-button
+          v-permission="'export/practiceGroup'"
+          @click="onStudentExport"
+          type="primary"
+          style="margin-bottom: 20px"
+        >
           续费提醒导出
           续费提醒导出
         </el-button>
         </el-button>
-        <el-button v-permission="'export/practiceGroupList'" @click="onPracticeExport" type="primary"
-          style="margin-bottom: 20px">
+        <el-button
+          v-permission="'export/practiceGroupList'"
+          @click="onPracticeExport"
+          type="primary"
+          style="margin-bottom: 20px"
+        >
           网管课导出
           网管课导出
         </el-button>
         </el-button>
       </div>
       </div>
-      <save-form :inline="true" class="searchForm" save-key="accompanyList" @submit="search" @reset="onReSet"
-        :model.sync="searchForm">
+      <save-form
+        :inline="true"
+        class="searchForm"
+        save-key="accompanyList"
+        @submit="search"
+        @reset="onReSet"
+        :model.sync="searchForm"
+      >
         <!-- 状态 指导老师 活动方案-->
         <!-- 状态 指导老师 活动方案-->
         <el-form-item>
         <el-form-item>
-          <el-input v-model.trim="searchForm.search" clearable placeholder="课程组名称"></el-input>
+          <el-input
+            v-model.trim="searchForm.search"
+            clearable
+            placeholder="课程组名称"
+          ></el-input>
         </el-form-item>
         </el-form-item>
         <el-form-item>
         <el-form-item>
-          <el-select class="multiple" v-model.trim="searchForm.organIdList" filterable clearable placeholder="请选择分部">
-            <el-option v-for="(item, index) in selects.branchs" :key="index" :label="item.name"
-              :value="item.id"></el-option>
+          <el-select
+            class="multiple"
+            v-model.trim="searchForm.organIdList"
+            filterable
+            clearable
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item, index) in selects.branchs"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.practiceGroupType" clearable filterable placeholder="课程组类型">
-            <el-option v-for="(item, index) in practiceGroupType" :key="index" :value="item.value"
-              :label="item.label"></el-option>
+          <el-select
+            v-model.trim="searchForm.practiceGroupType"
+            clearable
+            filterable
+            placeholder="课程组类型"
+          >
+            <el-option
+              v-for="(item, index) in practiceGroupType"
+              :key="index"
+              :value="item.value"
+              :label="item.label"
+            ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item prop="status">
         <el-form-item prop="status">
-          <el-select class="multiple" v-model.trim="searchForm.hasEducationalTeacherId" filterable clearable
-            placeholder="是否有乐团主管">
+          <el-select
+            class="multiple"
+            v-model.trim="searchForm.hasEducationalTeacherId"
+            filterable
+            clearable
+            placeholder="是否有乐团主管"
+          >
             <el-option label="是" value="true"></el-option>
             <el-option label="是" value="true"></el-option>
             <el-option label="否" value="false"></el-option>
             <el-option label="否" value="false"></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
 
 
         <el-form-item>
         <el-form-item>
-          <remote-search :commit="'setTeachers'" v-model="searchForm.teacherId" :isForzenWithQueryCondition="true" />
+          <remote-search
+            :commit="'setTeachers'"
+            v-model="searchForm.teacherId"
+            :isForzenWithQueryCondition="true"
+          />
         </el-form-item>
         </el-form-item>
         <el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.groupStatus" clearable filterable placeholder="课程组状态">
-            <el-option v-for="(item, index) in commGroupStatus" :key="index" :value="item.value"
-              :label="item.label"></el-option>
+          <el-select
+            v-model.trim="searchForm.groupStatus"
+            clearable
+            filterable
+            placeholder="课程组状态"
+          >
+            <el-option
+              v-for="(item, index) in commGroupStatus"
+              :key="index"
+              :value="item.value"
+              :label="item.label"
+            ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.firstOrRenew" clearable filterable placeholder="是否续费">
+          <el-select
+            v-model.trim="searchForm.firstOrRenew"
+            clearable
+            filterable
+            placeholder="是否续费"
+          >
             <el-option label="首充" value="1"></el-option>
             <el-option label="首充" value="1"></el-option>
             <el-option label="续费" value="0"></el-option>
             <el-option label="续费" value="0"></el-option>
             <el-option label="免费" value="2"></el-option>
             <el-option label="免费" value="2"></el-option>
@@ -91,13 +156,27 @@
       </save-form>
       </save-form>
       <!-- tab -->
       <!-- tab -->
       <div class="tableWrap">
       <div class="tableWrap">
-        <el-table style="width: 100%" :header-cell-style="{ background: '#EDEEF0', color: '#444' }" :data="tableData">
-          <el-table-column align="center" prop="id" label="课程组编号" width="100">
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+          :data="tableData"
+        >
+          <el-table-column
+            align="center"
+            prop="id"
+            label="课程组编号"
+            width="100"
+          >
             <template slot-scope="scope">
             <template slot-scope="scope">
               <copy-text>{{ scope.row.id }}</copy-text>
               <copy-text>{{ scope.row.id }}</copy-text>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column align="center" prop="name" label="课程组名称" width="170px">
+          <el-table-column
+            align="center"
+            prop="name"
+            label="课程组名称"
+            width="170px"
+          >
             <template slot-scope="scope">
             <template slot-scope="scope">
               <copy-text>{{ scope.row.name }}</copy-text>
               <copy-text>{{ scope.row.name }}</copy-text>
             </template>
             </template>
@@ -109,19 +188,37 @@
               </div>
               </div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column align="center" prop="organName" label="所属分部" width="100px">
+          <el-table-column
+            align="center"
+            prop="organName"
+            label="所属分部"
+            width="100px"
+          >
             <template slot-scope="scope">
             <template slot-scope="scope">
               <copy-text>{{ scope.row.organName }}</copy-text>
               <copy-text>{{ scope.row.organName }}</copy-text>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <!-- educationalTeacherId -->
           <!-- educationalTeacherId -->
-          <el-table-column align="center" prop="educationalTeacherName" label="乐团主管"></el-table-column>
-          <el-table-column align="center" prop="teacherName" label="指导老师" width="120px">
+          <el-table-column
+            align="center"
+            prop="educationalTeacherName"
+            label="乐团主管"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="teacherName"
+            label="指导老师"
+            width="120px"
+          >
             <template slot-scope="scope">
             <template slot-scope="scope">
               <copy-text>{{ scope.row.teacherName }}</copy-text>
               <copy-text>{{ scope.row.teacherName }}</copy-text>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column align="center" prop="studentNum" label="班级人数"></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentNum"
+            label="班级人数"
+          ></el-table-column>
           <!-- <el-table-column align="center" label="课程单价">
           <!-- <el-table-column align="center" label="课程单价">
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div>
               <div>
@@ -143,21 +240,36 @@
               </div>
               </div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column align="center" prop="coursesStartDate" label="开课时间" width="120">
+          <el-table-column
+            align="center"
+            prop="coursesStartDate"
+            label="开课时间"
+            width="120"
+          >
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div>
               <div>
                 <p>{{ scope.row.coursesStartDate | formatTimer }}</p>
                 <p>{{ scope.row.coursesStartDate | formatTimer }}</p>
               </div>
               </div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column align="center" prop="coursesExpireDate" label="结束时间" width="120">
+          <el-table-column
+            align="center"
+            prop="coursesExpireDate"
+            label="结束时间"
+            width="120"
+          >
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div>
               <div>
                 <p>{{ scope.row.coursesExpireDate | formatTimer }}</p>
                 <p>{{ scope.row.coursesExpireDate | formatTimer }}</p>
               </div>
               </div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column align="center" prop="groupStatus" label="课程组状态" width="100">
+          <el-table-column
+            align="center"
+            prop="groupStatus"
+            label="课程组状态"
+            width="100"
+          >
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div>
               <div>
                 <p>{{ scope.row.groupStatus | comCourseGroup }}</p>
                 <p>{{ scope.row.groupStatus | comCourseGroup }}</p>
@@ -167,15 +279,21 @@
           <el-table-column align="center" label="是否续费" fixed="right">
           <el-table-column align="center" label="是否续费" fixed="right">
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div>
               <div>
-                <p v-if="scope.row.type == 'FREE' ||
-                  scope.row.type == 'CARE_PACKAGE' ||
-                  scope.row.type == 'TRIAL'
-                  ">
+                <p
+                  v-if="
+                    scope.row.type == 'FREE' ||
+                    scope.row.type == 'CARE_PACKAGE' ||
+                    scope.row.type == 'TRIAL'
+                  "
+                >
                   免费
                   免费
                 </p>
                 </p>
-                <p v-if="scope.row.type == 'CHARGE' ||
-                  scope.row.type == 'COME_ON_PACKAGE'
-                  ">
+                <p
+                  v-if="
+                    scope.row.type == 'CHARGE' ||
+                    scope.row.type == 'COME_ON_PACKAGE'
+                  "
+                >
                   {{ scope.row.beRenewGroupId > 0 ? "续费" : "首充" }}
                   {{ scope.row.beRenewGroupId > 0 ? "续费" : "首充" }}
                 </p>
                 </p>
               </div>
               </div>
@@ -183,36 +301,76 @@
           </el-table-column>
           </el-table-column>
           <el-table-column width="150" prop="memo" label="备注" fixed="right">
           <el-table-column width="150" prop="memo" label="备注" fixed="right">
             <template slot-scope="scope">
             <template slot-scope="scope">
-              <overflow-text :text="scope.row.memo" width="150px"></overflow-text>
+              <overflow-text
+                :text="scope.row.memo"
+                width="150px"
+              ></overflow-text>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
 
 
-          <el-table-column align="center" width="200" fixed="right" label="操作">
+          <el-table-column
+            align="center"
+            width="200"
+            fixed="right"
+            label="操作"
+          >
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div>
               <div>
                 <!-- v-permission="'courseSchedule/classStartDateAdjust'"  v-if="!scope.row.isSettlement" -->
                 <!-- v-permission="'courseSchedule/classStartDateAdjust'"  v-if="!scope.row.isSettlement" -->
-                <el-button type="text" @click="lookCrouse(scope.row)" v-if="permission('/accompanys')">查看</el-button>
-                <el-button type="text" v-if="scope.row.groupStatus == 'NORMAL' &&
-                  permission('practiceGroupManage/cancelGroup')
-                  " @click="closeCrouse(scope.row)">关闭</el-button>
-                <el-button type="text" v-if="permission('practiceGroupManage/updateMemo')"
-                  @click="resetMemo(scope.row)">修改备注</el-button>
+                <el-button
+                  type="text"
+                  @click="lookCrouse(scope.row)"
+                  v-if="permission('/accompanys')"
+                  >查看</el-button
+                >
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.groupStatus == 'NORMAL' &&
+                    permission('practiceGroupManage/cancelGroup')
+                  "
+                  @click="closeCrouse(scope.row)"
+                  >关闭</el-button
+                >
+                <el-button
+                  type="text"
+                  v-if="permission('practiceGroupManage/updateMemo')"
+                  @click="resetMemo(scope.row)"
+                  >修改备注</el-button
+                >
               </div>
               </div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
         </el-table>
         </el-table>
-        <pagination save-key="accompanyList" sync :total.sync="rules.total" :page.sync="rules.page"
-          :limit.sync="rules.limit" :page-sizes="rules.page_size" @pagination="getList" />
+        <pagination
+          save-key="accompanyList"
+          sync
+          :total.sync="rules.total"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
       </div>
       </div>
     </div>
     </div>
     <el-dialog title="关闭课程组" width="400px" :visible.sync="closeVisible">
     <el-dialog title="关闭课程组" width="400px" :visible.sync="closeVisible">
-      <el-form :model="closeForm" ref="closeForm" label-position="right" label-width="80px;" :inline="true">
+      <el-form
+        :model="closeForm"
+        ref="closeForm"
+        label-position="right"
+        label-width="80px;"
+        :inline="true"
+      >
         <el-form-item label="是否退费" prop="isBasck">
         <el-form-item label="是否退费" prop="isBasck">
           <el-radio v-model="closeForm.isBack" :label="true">是</el-radio>
           <el-radio v-model="closeForm.isBack" :label="true">是</el-radio>
           <el-radio v-model="closeForm.isBack" :label="false">否</el-radio>
           <el-radio v-model="closeForm.isBack" :label="false">否</el-radio>
         </el-form-item>
         </el-form-item>
         <el-form-item label="退费金额" v-if="closeForm.isBack" prop="money">
         <el-form-item label="退费金额" v-if="closeForm.isBack" prop="money">
-          <el-input type="number" @mousewheel.native.prevent v-model.trim="closeForm.money"></el-input>
+          <el-input
+            type="number"
+            @mousewheel.native.prevent
+            v-model.trim="closeForm.money"
+          ></el-input>
         </el-form-item>
         </el-form-item>
         <p style="color: red" v-if="closeForm.isBack">
         <p style="color: red" v-if="closeForm.isBack">
           退费金额暂不进入账户余额
           退费金额暂不进入账户余额
@@ -224,7 +382,13 @@
       </div>
       </div>
     </el-dialog>
     </el-dialog>
     <el-dialog title="备注" width="400px" :visible.sync="memoVisible">
     <el-dialog title="备注" width="400px" :visible.sync="memoVisible">
-      <el-input type="textarea" v-model.trim="memoForm.memo" :rows="7" :maxlength="255" show-word-limit></el-input>
+      <el-input
+        type="textarea"
+        v-model.trim="memoForm.memo"
+        :rows="7"
+        :maxlength="255"
+        show-word-limit
+      ></el-input>
       <div slot="footer" class="dialog-footer">
       <div slot="footer" class="dialog-footer">
         <el-button @click="memoVisible = false">取 消</el-button>
         <el-button @click="memoVisible = false">取 消</el-button>
         <el-button type="primary" @click="subMemo">确 定</el-button>
         <el-button type="primary" @click="subMemo">确 定</el-button>
@@ -390,7 +554,7 @@ export default {
               load.endLoading();
               load.endLoading();
             });
             });
         })
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     },
     onPracticeExport() {
     onPracticeExport() {
       // 导出VIP课
       // 导出VIP课
@@ -462,7 +626,7 @@ export default {
               load.endLoading();
               load.endLoading();
             });
             });
         })
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     },
     getList() {
     getList() {
       let obj = {
       let obj = {
@@ -630,7 +794,6 @@ export default {
   display: flex;
   display: flex;
   flex-direction: row;
   flex-direction: row;
   justify-content: flex-start;
   justify-content: flex-start;
-
   div {
   div {
     margin-right: 10px;
     margin-right: 10px;
   }
   }

+ 403 - 151
src/views/accompanyManager/accompanys.vue

@@ -1,34 +1,46 @@
 <template>
 <template>
   <div class="m-container">
   <div class="m-container">
     <!-- <div class="titlewrap"> -->
     <!-- <div class="titlewrap"> -->
-    <h2>
-      <el-page-header @back="goBack" :content="name"></el-page-header>
-    </h2>
-    <!-- <p style="margin-bottom: 10px; margin-left: 30px">
+      <h2>
+        <el-page-header @back="goBack" :content="name"></el-page-header>
+      </h2>
+      <!-- <p style="margin-bottom: 10px; margin-left: 30px">
         课程有效期:{{ timers }}
         课程有效期:{{ timers }}
       </p> -->
       </p> -->
     <!-- </div> -->
     <!-- </div> -->
 
 
     <!--   v-permission="'vipGroupManage/updateVipBaseInfo'" -->
     <!--   v-permission="'vipGroupManage/updateVipBaseInfo'" -->
-    <div>
+    <div class="m-core">
       <div class="wrap">
       <div class="wrap">
-        <div class="newBand" @click="resetTeachers" v-if="courseType && courseType != 'TRIAL'"
-          v-permission="'courseSchedule/practiceGroupTeacherAdjust'">
-          课程组调整
-        </div>
-        <!-- // accompanys/addCourse -->
-        <div v-permission="{
+      <div
+        class="newBand"
+        @click="resetTeachers"
+        v-if="courseType && courseType != 'TRIAL'"
+        v-permission="'courseSchedule/practiceGroupTeacherAdjust'"
+      >
+        课程组调整
+      </div>
+      <!-- // accompanys/addCourse -->
+      <div
+        v-permission="{
           child: 'courseSchedule/batchAddCourses',
           child: 'courseSchedule/batchAddCourses',
           parent: '/accompanys',
           parent: '/accompanys',
-        }" class="newBand" @click="addCourse">
-          网管课加课
-        </div>
-        <div class="newBand" v-if="courseType && courseType != 'TRIAL'"
-          v-permission="'courseSchedule/batchUpdateCourseSchedule'" @click="adjustment">
-          批量调整
-        </div>
+        }"
+        class="newBand"
+        @click="addCourse"
+      >
+        网管课加课
+      </div>
+      <div
+        class="newBand"
+        v-if="courseType && courseType != 'TRIAL'"
+        v-permission="'courseSchedule/batchUpdateCourseSchedule'"
+        @click="adjustment"
+      >
+        批量调整
+      </div>
 
 
-        <!-- <div
+      <!-- <div
         class="newBand"
         class="newBand"
         v-permission="'courseSchedule/updateCoursesExpireDate'"
         v-permission="'courseSchedule/updateCoursesExpireDate'"
         @click="onUpdateCourse(1)"
         @click="onUpdateCourse(1)"
@@ -42,37 +54,56 @@
       >
       >
         有效期调整
         有效期调整
       </div> -->
       </div> -->
-      </div>
+    </div>
 
 
-      <div class="tableWrap">
-        <el-table :data="tableList" :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
-          @selection-change="handleSelectionChange">
-          <el-table-column type="selection" :selectable="isDisabled" width="55"></el-table-column>
-          <el-table-column label="课程编号" align="center" prop="id"></el-table-column>
-          <el-table-column label="课程名称" align="center" prop="name"></el-table-column>
-          <el-table-column label="主教老师" align="center" prop="teacherName"></el-table-column>
-          <!-- <el-table-column label="主教老师" align="center" >
+    <div class="tableWrap">
+      <el-table
+        :data="tableList"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column
+          type="selection"
+          :selectable="isDisabled"
+          width="55"
+        ></el-table-column>
+        <el-table-column
+          label="课程编号"
+          align="center"
+          prop="id"
+        ></el-table-column>
+        <el-table-column
+          label="课程名称"
+          align="center"
+          prop="name"
+        ></el-table-column>
+        <el-table-column
+          label="主教老师"
+          align="center"
+          prop="teacherName"
+        ></el-table-column>
+        <!-- <el-table-column label="主教老师" align="center" >
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div v-show="scope.row.teacher">
             <div v-show="scope.row.teacher">
               {{scope.row.teacher.realName}}
               {{scope.row.teacher.realName}}
             </div>
             </div>
           </template>
           </template>
         </el-table-column>-->
         </el-table-column>-->
-          <!-- <el-table-column label="班级id"
+        <!-- <el-table-column label="班级id"
                          align="center"
                          align="center"
                          prop="classGroupId">
                          prop="classGroupId">
         </el-table-column>-->
         </el-table-column>-->
-          <el-table-column label="上课日期" align="center" prop="classDate">
-            <template slot-scope="scope">
-              <div>
-                {{ scope.row.classDate | formatTimer }}
-                {{ scope.row.startClassTimeStr | timerForMinFormat }}~{{
-                  scope.row.endClassTimeStr | timerForMinFormat
-                }}
-              </div>
-            </template>
-          </el-table-column>
-          <!-- <el-table-column label="开始时间"
+        <el-table-column label="上课日期" align="center" prop="classDate">
+          <template slot-scope="scope">
+            <div>
+              {{ scope.row.classDate | formatTimer }}
+              {{ scope.row.startClassTimeStr | timerForMinFormat }}~{{
+                scope.row.endClassTimeStr | timerForMinFormat
+              }}
+            </div>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="开始时间"
                          align="center"
                          align="center"
                          prop="startClassTimeStr">
                          prop="startClassTimeStr">
           <template slot-scope="scope">
           <template slot-scope="scope">
@@ -86,65 +117,106 @@
             <div>{{ scope.row.endClassTimeStr | timerForMinFormat}}</div>
             <div>{{ scope.row.endClassTimeStr | timerForMinFormat}}</div>
           </template>
           </template>
         </el-table-column> -->
         </el-table-column> -->
-          <el-table-column label="是否点名" align="center" prop="status">
-            <template slot-scope="scope">{{
-              scope.row.isCallNames ? "是" : "否"
-            }}</template>
-          </el-table-column>
-          <el-table-column label="课程状态" align="center" prop="status">
-            <template slot-scope="scope">
-              <div>{{ scope.row.status | coursesStatus }}</div>
-            </template>
-          </el-table-column>
-          <el-table-column label="结算状态" align="center">
-            <template slot-scope="scope">
-              <div>{{ scope.row.isSettlement ? "已结算" : "未结算" }}</div>
-            </template>
-          </el-table-column>
-          <!-- <el-table-column label="教学点" align="center" prop="schoolName">
+        <el-table-column label="是否点名" align="center" prop="status">
+          <template slot-scope="scope">{{
+            scope.row.isCallNames ? "是" : "否"
+          }}</template>
+        </el-table-column>
+        <el-table-column label="课程状态" align="center" prop="status">
+          <template slot-scope="scope">
+            <div>{{ scope.row.status | coursesStatus }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column label="结算状态" align="center">
+          <template slot-scope="scope">
+            <div>{{ scope.row.isSettlement ? "已结算" : "未结算" }}</div>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="教学点" align="center" prop="schoolName">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div>{{scope.row.schoolName?scope.row.schoolName:'网络教室'}}</div>
             <div>{{scope.row.schoolName?scope.row.schoolName:'网络教室'}}</div>
           </template>
           </template>
         </el-table-column>-->
         </el-table-column>-->
-          <el-table-column label="操作" width="250px" align="center" fixed="right">
-            <template slot-scope="scope">
-              <div>
-                <el-button type="text" v-if="!scope.row.isSettlement &&
+        <el-table-column
+          label="操作"
+          width="250px"
+          align="center"
+          fixed="right"
+        >
+          <template slot-scope="scope">
+            <div>
+              <el-button
+                type="text"
+                v-if="
+                  !scope.row.isSettlement &&
                   permission('courseSchedule/classStartDateAdjust/accompanys')
                   permission('courseSchedule/classStartDateAdjust/accompanys')
-                  " @click="resetClass(scope.row)">调整</el-button>
-                <el-button type="text" v-if="!scope.row.isSettlement &&
+                "
+                @click="resetClass(scope.row)"
+                >调整</el-button
+              >
+              <el-button
+                type="text"
+                v-if="
+                  !scope.row.isSettlement &&
                   scope.row.status == 'NOT_START' &&
                   scope.row.status == 'NOT_START' &&
                   permission('accompanys/remove')
                   permission('accompanys/remove')
-                  " @click="removeClass(scope.row)">删除</el-button>
-                <el-button type="text" v-if="scope.row.status == 'NOT_START' &&
+                "
+                @click="removeClass(scope.row)"
+                >删除</el-button
+              >
+              <el-button
+                type="text"
+                v-if="
+                  scope.row.status == 'NOT_START' &&
                   courseType != 'TRIAL' &&
                   courseType != 'TRIAL' &&
                   permission('courseSchedule/practiceCourseTeacherAdjust/3420')
                   permission('courseSchedule/practiceCourseTeacherAdjust/3420')
-                  " @click="resetTeacher(scope.row)">更换老师</el-button>
-                <el-button v-if="scope.row.status == 'OVER' &&
+                "
+                @click="resetTeacher(scope.row)"
+                >更换老师</el-button
+              >
+              <el-button
+                v-if="
+                  scope.row.status == 'OVER' &&
                   scope.row.isSettlement == 0 &&
                   scope.row.isSettlement == 0 &&
                   permission(
                   permission(
                     '/accompanys/teacherAttendance/updateTeacherAttendance'
                     '/accompanys/teacherAttendance/updateTeacherAttendance'
                   )
                   )
-                  " type="text" @click="onMarkAttendance(scope.row)">补考勤</el-button>
-                <!--  && permission('studentAttendance/updateStudentAttendances', '/accompanys') -->
-                <el-button v-if="scope.row.status == 'OVER' &&
+                "
+                type="text"
+                @click="onMarkAttendance(scope.row)"
+                >补考勤</el-button
+              >
+              <!--  && permission('studentAttendance/updateStudentAttendances', '/accompanys') -->
+              <el-button
+                v-if="
+                  scope.row.status == 'OVER' &&
                   permission(
                   permission(
                     '/accompanys/studentAttendance/updateStudentAttendances'
                     '/accompanys/studentAttendance/updateStudentAttendances'
                   )
                   )
-                  " type="text" @click="onCallName(scope.row)">点名表</el-button>
-                <el-button type="text" v-if="!scope.row.isSettlement &&
+                "
+                type="text"
+                @click="onCallName(scope.row)"
+                >点名表</el-button
+              >
+              <el-button
+                type="text"
+                v-if="
+                  !scope.row.isSettlement &&
                   permission('accompanys/cleanAttendance')
                   permission('accompanys/cleanAttendance')
-                  " @click="clearAttend(scope.row)">清除考勤</el-button>
-              </div>
-            </template>
-          </el-table-column>
-        </el-table>
-        <!-- <pagination :total="rules.total"
+                "
+                @click="clearAttend(scope.row)"
+                >清除考勤</el-button
+              >
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <!-- <pagination :total="rules.total"
                   :page.sync="rules.page"
                   :page.sync="rules.page"
                   :limit.sync="rules.limit"
                   :limit.sync="rules.limit"
                   :page-sizes="rules.page_size"
                   :page-sizes="rules.page_size"
                   @pagination="getList" /> 乔乔说后台没有分页所以一口气都展示-->
                   @pagination="getList" /> 乔乔说后台没有分页所以一口气都展示-->
-      </div>
+    </div>
     </div>
     </div>
     <!-- <el-dialog
     <!-- <el-dialog
       :title="updateCourseStatus == 2 ? '有效期调整' : '有效期调整(高权限)'"
       :title="updateCourseStatus == 2 ? '有效期调整' : '有效期调整(高权限)'"
@@ -190,7 +262,11 @@
         <el-button type="primary" @click="submitExpireDate">确 定</el-button>
         <el-button type="primary" @click="submitExpireDate">确 定</el-button>
       </div>
       </div>
     </el-dialog> -->
     </el-dialog> -->
-    <el-dialog title="补考勤" width="400px" :visible.sync="markAttendance.status">
+    <el-dialog
+      title="补考勤"
+      width="400px"
+      :visible.sync="markAttendance.status"
+    >
       <el-form>
       <el-form>
         <el-form-item label="签到状态">{{
         <el-form-item label="签到状态">{{
           markAttendance.dataInfo.isSignIn | attendanceType
           markAttendance.dataInfo.isSignIn | attendanceType
@@ -207,19 +283,41 @@
       </el-form>
       </el-form>
       <div slot="footer" class="dialog-footer">
       <div slot="footer" class="dialog-footer">
         <el-button @click="markAttendance.status = false">取 消</el-button>
         <el-button @click="markAttendance.status = false">取 消</el-button>
-        <el-button type="primary" :disabled="markAttendance.dataInfo.isSignIn == 1 &&
+        <el-button
+          type="primary"
+          :disabled="
+            markAttendance.dataInfo.isSignIn == 1 &&
             markAttendance.dataInfo.isSignOut == 1
             markAttendance.dataInfo.isSignOut == 1
-            ? true
-            : false
-          " @click="batchAdjustmentTime">确定补卡</el-button>
+              ? true
+              : false
+          "
+          @click="batchAdjustmentTime"
+          >确定补卡</el-button
+        >
       </div>
       </div>
     </el-dialog>
     </el-dialog>
-    <el-dialog title="课程调整" width="400px" :before-close="handleClose" :visible.sync="courseVisible">
-      <el-form :model="maskForm" ref="maskForm" :rules="maskRules" label-position="right" label-width="80px"
-        :inline="true">
+    <el-dialog
+      title="课程调整"
+      width="400px"
+      :before-close="handleClose"
+      :visible.sync="courseVisible"
+    >
+      <el-form
+        :model="maskForm"
+        ref="maskForm"
+        :rules="maskRules"
+        label-position="right"
+        label-width="80px"
+        :inline="true"
+      >
         <el-form-item label="上课日期" prop="date">
         <el-form-item label="上课日期" prop="date">
-          <el-date-picker v-model.trim="maskForm.date" type="date" :picker-options="courseOption"
-            value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
+          <el-date-picker
+            v-model.trim="maskForm.date"
+            type="date"
+            :picker-options="courseOption"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          ></el-date-picker>
         </el-form-item>
         </el-form-item>
         <!-- 试听课  v-if="courseType != 'TRIAL'"-->
         <!-- 试听课  v-if="courseType != 'TRIAL'"-->
         <!-- <el-form-item label="上课日期" prop="date" v-else>
         <!-- <el-form-item label="上课日期" prop="date" v-else>
@@ -232,16 +330,32 @@
             placeholder="选择日期"
             placeholder="选择日期"
           ></el-date-picker>
           ></el-date-picker>
         </el-form-item> -->
         </el-form-item> -->
-        <el-form-item label="开始时间" prop="startTime" :rules="[
-          { required: true, message: '请选择开始时间', trigger: 'change' },
-        ]">
-          <el-time-picker placeholder="起始时间" v-model="maskForm.startTime" @change="changeStartTime" format="HH:mm"
-            value-format="HH:mm" :picker-options="{
+        <el-form-item
+          label="开始时间"
+          prop="startTime"
+          :rules="[
+            { required: true, message: '请选择开始时间', trigger: 'change' },
+          ]"
+        >
+          <el-time-picker
+            placeholder="起始时间"
+            v-model="maskForm.startTime"
+            @change="changeStartTime"
+            format="HH:mm"
+            value-format="HH:mm"
+            :picker-options="{
               selectableRange: `06:00:00 - 23:30:00`,
               selectableRange: `06:00:00 - 23:30:00`,
-            }"></el-time-picker>
+            }"
+          ></el-time-picker>
         </el-form-item>
         </el-form-item>
         <el-form-item label="结束时间" prop="endTime">
         <el-form-item label="结束时间" prop="endTime">
-          <el-time-picker placeholder="结束时间" format="HH:mm" value-format="HH:mm" v-model="maskForm.endTime" disabled>
+          <el-time-picker
+            placeholder="结束时间"
+            format="HH:mm"
+            value-format="HH:mm"
+            v-model="maskForm.endTime"
+            disabled
+          >
           </el-time-picker>
           </el-time-picker>
         </el-form-item>
         </el-form-item>
         <!--  v-show="maskForm.teachMode=='OFFLINE'"-->
         <!--  v-show="maskForm.teachMode=='OFFLINE'"-->
@@ -268,34 +382,70 @@
       </div>
       </div>
     </el-dialog>
     </el-dialog>
 
 
-    <el-dialog :title="isMultiple ? '课程组调整' : '更换老师'" width="400px" :before-close="teacherClose"
-      :visible.sync="teacherVisible">
-      <el-form :model="teacherForm" ref="teacherForm" :rules="teacherRules" label-position="right" label-width="100px"
-        :inline="true">
+    <el-dialog
+      :title="isMultiple ? '课程组调整' : '更换老师'"
+      width="400px"
+      :before-close="teacherClose"
+      :visible.sync="teacherVisible"
+    >
+      <el-form
+        :model="teacherForm"
+        ref="teacherForm"
+        :rules="teacherRules"
+        label-position="right"
+        label-width="100px"
+        :inline="true"
+      >
         <el-form-item label="课程班名称" v-show="isMultiple">
         <el-form-item label="课程班名称" v-show="isMultiple">
           <el-input v-model.trim="teacherForm.name" disabled></el-input>
           <el-input v-model.trim="teacherForm.name" disabled></el-input>
         </el-form-item>
         </el-form-item>
         <el-form-item label="课程组声部" v-show="isMultiple">
         <el-form-item label="课程组声部" v-show="isMultiple">
-          <el-select v-model.trim="teacherForm.subjectId" @change="changeSound" filterable clearable>
-            <el-option v-for="(item, index) in subjectList" :key="index" :value="item.id" :label="item.name"></el-option>
+          <el-select
+            v-model.trim="teacherForm.subjectId"
+            @change="changeSound"
+            filterable
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in subjectList"
+              :key="index"
+              :value="item.id"
+              :label="item.name"
+            ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item label="课程组老师" v-if="isMultiple">
         <el-form-item label="课程组老师" v-if="isMultiple">
           <el-select v-model.trim="teacherForm.teacher" filterable clearable>
           <el-select v-model.trim="teacherForm.teacher" filterable clearable>
-            <el-option v-for="(item, index) in teacherList" :key="index" :value="item.id"
-              :label="item.realName"></el-option>
+            <el-option
+              v-for="(item, index) in teacherList"
+              :key="index"
+              :value="item.id"
+              :label="item.realName"
+            ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item label="指导老师" v-else>
         <el-form-item label="指导老师" v-else>
           <el-select v-model.trim="teacherForm.teacher" filterable clearable>
           <el-select v-model.trim="teacherForm.teacher" filterable clearable>
-            <el-option v-for="(item, index) in teacherList" :key="index" :value="item.id"
-              :label="item.realName"></el-option>
+            <el-option
+              v-for="(item, index) in teacherList"
+              :key="index"
+              :value="item.id"
+              :label="item.realName"
+            ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item label="乐团主管" v-show="isMultiple">
         <el-form-item label="乐团主管" v-show="isMultiple">
-          <el-select v-model.trim="teacherForm.educationalTeacherId" filterable clearable>
-            <el-option v-for="(item, index) in selects.roles.EDUCATION" :key="index" :value="item.value"
-              :label="item.label"></el-option>
+          <el-select
+            v-model.trim="teacherForm.educationalTeacherId"
+            filterable
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in selects.roles.EDUCATION"
+              :key="index"
+              :value="item.value"
+              :label="item.label"
+            ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item v-if="isMultiple">
         <el-form-item v-if="isMultiple">
@@ -309,81 +459,187 @@
         <el-button type="primary" @click="subresetTeacher">确 定</el-button>
         <el-button type="primary" @click="subresetTeacher">确 定</el-button>
       </div>
       </div>
     </el-dialog>
     </el-dialog>
-    <el-dialog :title="adjustmentName" width="800px" :visible.sync="adjustmentVisible">
-      <el-form :model="adjustmentForm" label-position="right" label-width="120px" ref="adjustmentForm"
-        :rules="adjustmentRules" :inline="true">
+    <el-dialog
+      :title="adjustmentName"
+      width="800px"
+      :visible.sync="adjustmentVisible"
+    >
+      <el-form
+        :model="adjustmentForm"
+        label-position="right"
+        label-width="120px"
+        ref="adjustmentForm"
+        :rules="adjustmentRules"
+        :inline="true"
+      >
         <el-form-item label="已选择课时数" v-if="!isaddCourse">
         <el-form-item label="已选择课时数" v-if="!isaddCourse">
           <el-input disabled v-model.trim="adjustmentForm.count"></el-input>
           <el-input disabled v-model.trim="adjustmentForm.count"></el-input>
         </el-form-item>
         </el-form-item>
         <el-form-item label="添加课时数" prop="addCount" v-if="isaddCourse">
         <el-form-item label="添加课时数" prop="addCount" v-if="isaddCourse">
-          <el-input type="number" @mousewheel.native.prevent v-model.trim="adjustmentForm.addCount"></el-input>
+          <el-input
+            type="number"
+            @mousewheel.native.prevent
+            v-model.trim="adjustmentForm.addCount"
+          ></el-input>
         </el-form-item>
         </el-form-item>
         <br />
         <br />
         <!-- <el-form-item label="单课费用" prop="fee" v-show="isaddCourse">
         <!-- <el-form-item label="单课费用" prop="fee" v-show="isaddCourse">
           <el-input v-model.trim="adjustmentForm.fee"></el-input>
           <el-input v-model.trim="adjustmentForm.fee"></el-input>
         </el-form-item>-->
         </el-form-item>-->
         <el-form-item label="排课起始时间" prop="courseTime">
         <el-form-item label="排课起始时间" prop="courseTime">
-          <el-date-picker v-model.trim="adjustmentForm.courseTime" :picker-options="pickerOptions"
-            style="width: 200px !important" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
-          <el-checkbox style="margin-left: 10px" v-model.trim="adjustmentForm.checked">是否跳过节假日</el-checkbox>
+          <el-date-picker
+            v-model.trim="adjustmentForm.courseTime"
+            :picker-options="pickerOptions"
+            style="width: 200px !important"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          ></el-date-picker>
+          <el-checkbox
+            style="margin-left: 10px"
+            v-model.trim="adjustmentForm.checked"
+            >是否跳过节假日</el-checkbox
+          >
         </el-form-item>
         </el-form-item>
       </el-form>
       </el-form>
       <div class="WeekWrap">
       <div class="WeekWrap">
         <h3 style="margin-bottom: 20px">
         <h3 style="margin-bottom: 20px">
           循环次数
           循环次数
-          <el-button type="text" style="margin-left: 10px" @click="addWeek">添加</el-button>
+          <el-button type="text" style="margin-left: 10px" @click="addWeek"
+            >添加</el-button
+          >
         </h3>
         </h3>
         <div class="countWrap" style="margin-bottom: 10px">
         <div class="countWrap" style="margin-bottom: 10px">
-          <div class="countItem" style="margin-bottom: 20px" v-for="(item, index) in weekList" :key="index">
+          <div
+            class="countItem"
+            style="margin-bottom: 20px"
+            v-for="(item, index) in weekList"
+            :key="index"
+          >
             <span>循环周期:</span>
             <span>循环周期:</span>
             <el-select v-model.trim="item.dayOfWeek" filterable clearable>
             <el-select v-model.trim="item.dayOfWeek" filterable clearable>
-              <el-option v-for="(item, index) in weekDateList" :key="index" :label="item.label"
-                :value="item.value"></el-option>
+              <el-option
+                v-for="(item, index) in weekDateList"
+                :key="index"
+                :label="item.label"
+                :value="item.value"
+              ></el-option>
             </el-select>
             </el-select>
             <span style="margin-left: 10px">开始时间</span>
             <span style="margin-left: 10px">开始时间</span>
-            <el-time-picker style="margin-left: 10px" placeholder v-model.trim="item.startClassTime" @change="(val) => {
-                changeStartTimes(val, item);
-              }
-              " format="HH:mm" value-format="HH:mm" :picker-options="{
-    selectableRange: '06:00:00 - 23:30:00',
-  }"></el-time-picker>
+            <el-time-picker
+              style="margin-left: 10px"
+              placeholder
+              v-model.trim="item.startClassTime"
+              @change="
+                (val) => {
+                  changeStartTimes(val, item);
+                }
+              "
+              format="HH:mm"
+              value-format="HH:mm"
+              :picker-options="{
+                selectableRange: '06:00:00 - 23:30:00',
+              }"
+            ></el-time-picker>
             <span style="margin-left: 10px">结束时间</span>
             <span style="margin-left: 10px">结束时间</span>
-            <el-time-picker style="margin-left: 10px" placeholder v-model.trim="item.endClassTime" format="HH:mm"
-              value-format="HH:mm" disabled :picker-options="{
+            <el-time-picker
+              style="margin-left: 10px"
+              placeholder
+              v-model.trim="item.endClassTime"
+              format="HH:mm"
+              value-format="HH:mm"
+              disabled
+              :picker-options="{
                 selectableRange: '06:00:00 - 23:30:00',
                 selectableRange: '06:00:00 - 23:30:00',
-              }"></el-time-picker>
-            <el-button style="margin-left: 10px" type="danger" @click="removeWeek(item)" icon="el-icon-delete"
-              circle></el-button>
+              }"
+            ></el-time-picker>
+            <el-button
+              style="margin-left: 10px"
+              type="danger"
+              @click="removeWeek(item)"
+              icon="el-icon-delete"
+              circle
+            ></el-button>
           </div>
           </div>
         </div>
         </div>
       </div>
       </div>
       <div slot="footer" class="dialog-footer">
       <div slot="footer" class="dialog-footer">
         <el-button @click="adjustmentVisible = false">取 消</el-button>
         <el-button @click="adjustmentVisible = false">取 消</el-button>
-        <el-button type="primary" v-show="!isaddCourse" @click="submitAdjustment">确 定</el-button>
-        <el-button type="primary" v-show="isaddCourse" @click="addCourseSubmit">确 定</el-button>
+        <el-button
+          type="primary"
+          v-show="!isaddCourse"
+          @click="submitAdjustment"
+          >确 定</el-button
+        >
+        <el-button type="primary" v-show="isaddCourse" @click="addCourseSubmit"
+          >确 定</el-button
+        >
       </div>
       </div>
     </el-dialog>
     </el-dialog>
 
 
     <el-dialog title="点名表" width="700px" :visible.sync="rollCall.status">
     <el-dialog title="点名表" width="700px" :visible.sync="rollCall.status">
-      <el-table :data="rollCall.gridData" :header-cell-style="{ background: '#EDEEF0', color: '#444' }">
-        <el-table-column align="center" property="userName" label="学员姓名"></el-table-column>
-        <el-table-column align="center" property="phone" label="手机号"></el-table-column>
-        <el-table-column align="center" property="subjectName" label="学员声部"></el-table-column>
+      <el-table
+        :data="rollCall.gridData"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+      >
+        <el-table-column
+          align="center"
+          property="userName"
+          label="学员姓名"
+        ></el-table-column>
+        <el-table-column
+          align="center"
+          property="phone"
+          label="手机号"
+        ></el-table-column>
+        <el-table-column
+          align="center"
+          property="subjectName"
+          label="学员声部"
+        ></el-table-column>
         <el-table-column align="center" label="到课状态">
         <el-table-column align="center" label="到课状态">
           <template slot-scope="scope">
           <template slot-scope="scope">
             {{ scope.row.status | studentCallName }}
             {{ scope.row.status | studentCallName }}
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-        <el-table-column align="center" label="操作" v-if="rollCall.selectItem.isSettlement == 0" width="220px">
+        <el-table-column
+          align="center"
+          label="操作"
+          v-if="rollCall.selectItem.isSettlement == 0"
+          width="220px"
+        >
           <template slot-scope="scope">
           <template slot-scope="scope">
-            <el-button size="mini" @click="onChangeRollCall('TRUANT', scope.row)" type="primary" round>未到</el-button>
-            <el-button size="mini" @click="onChangeRollCall('LEAVE', scope.row)" type="warning" round>请假</el-button>
-            <el-button size="mini" @click="onChangeRollCall('NORMAL', scope.row)" type="success" round>到课</el-button>
+            <el-button
+              size="mini"
+              @click="onChangeRollCall('TRUANT', scope.row)"
+              type="primary"
+              round
+              >未到</el-button
+            >
+            <el-button
+              size="mini"
+              @click="onChangeRollCall('LEAVE', scope.row)"
+              type="warning"
+              round
+              >请假</el-button
+            >
+            <el-button
+              size="mini"
+              @click="onChangeRollCall('NORMAL', scope.row)"
+              type="success"
+              round
+              >到课</el-button
+            >
           </template>
           </template>
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>
-      <pagination :total="rollCall.total" :page.sync="rollCall.page" :limit.sync="rollCall.limit"
-        :page-sizes="rollCall.page_size" @pagination="getCallName" />
+      <pagination
+        :total="rollCall.total"
+        :page.sync="rollCall.page"
+        :limit.sync="rollCall.limit"
+        :page-sizes="rollCall.page_size"
+        @pagination="getCallName"
+      />
     </el-dialog>
     </el-dialog>
   </div>
   </div>
 </template>
 </template>
@@ -571,7 +827,7 @@ export default {
         this.$route.query.coursesExpireDate;
         this.$route.query.coursesExpireDate;
 
 
       //   <!-- 状态 指导老师 活动方案-->
       //   <!-- 状态 指导老师 活动方案-->
-      getTeacher({ organId: this.organId }).then((res) => {
+      getTeacher({ organId: this.organId}).then((res) => {
         if (res.code == 200) {
         if (res.code == 200) {
           this.teacherList = res.data;
           this.teacherList = res.data;
         }
         }
@@ -982,7 +1238,7 @@ export default {
           // || time.getTime() > coursesExpireDate
           // || time.getTime() > coursesExpireDate
 
 
 
 
-          let startTime = nowDate
+            let startTime = nowDate
           return (
           return (
             time.getTime() < startTime
             time.getTime() < startTime
           );
           );
@@ -1094,7 +1350,7 @@ export default {
             }
             }
           });
           });
         })
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     },
     // 网管课加课弹窗
     // 网管课加课弹窗
     addCourse() {
     addCourse() {
@@ -1190,8 +1446,8 @@ export default {
   watch: {
   watch: {
     adjustmentVisible(val) {
     adjustmentVisible(val) {
       if (!val) {
       if (!val) {
-        if (this.$refs.adjustmentForm) {
-          this.$refs.adjustmentForm.resetFields();
+        if( this.$refs.adjustmentForm){
+            this.$refs.adjustmentForm.resetFields();
         }
         }
         this.weekList = [
         this.weekList = [
           {
           {
@@ -1214,20 +1470,16 @@ export default {
   justify-content: flex-start;
   justify-content: flex-start;
   align-items: center;
   align-items: center;
 }
 }
-
 .wrap {
 .wrap {
   display: flex;
   display: flex;
   flex-direction: row;
   flex-direction: row;
   justify-content: flex-start;
   justify-content: flex-start;
-
   div {
   div {
     margin-right: 20px;
     margin-right: 20px;
     max-width: inherit;
     max-width: inherit;
   }
   }
 }
 }
-
 .countWrap {
 .countWrap {
-
   ::v-deep .el-date-editor.el-input,
   ::v-deep .el-date-editor.el-input,
   ::v-deep .el-date-editor.el-input__inner {
   ::v-deep .el-date-editor.el-input__inner {
     width: 100px !important;
     width: 100px !important;

Diferenças do arquivo suprimidas por serem muito extensas
+ 155 - 247
src/views/teamBuild/signupList.vue


+ 5 - 5
src/views/teamBuild/teamSeting/components/setClassV2.vue

@@ -107,14 +107,14 @@
                 <p>确定删除?</p>
                 <p>确定删除?</p>
                 <div style="text-align: right; margin: 0">
                 <div style="text-align: right; margin: 0">
                   <el-button
                   <el-button
-
+                    
                     type="text"
                     type="text"
                     @click="scope._self.$refs[scope.$index].doClose()"
                     @click="scope._self.$refs[scope.$index].doClose()"
                     >取消</el-button
                     >取消</el-button
                   >
                   >
                   <el-button
                   <el-button
                     type="primary"
                     type="primary"
-
+                    
                     @click="removeClass(scope)"
                     @click="removeClass(scope)"
                     >确定</el-button
                     >确定</el-button
                   >
                   >
@@ -215,7 +215,7 @@
           v-if="
           v-if="
             newClassForm.type != 'HIGH_ONLINE' &&
             newClassForm.type != 'HIGH_ONLINE' &&
             newClassForm.type != 'HIGH' &&
             newClassForm.type != 'HIGH' &&
-            newClassForm.type && $helpers.permission('is/teacher/findTeachers')
+            newClassForm.type
           "
           "
           prop="teaching"
           prop="teaching"
         >
         >
@@ -691,14 +691,14 @@
                 <p>确定删除该学生?</p>
                 <p>确定删除该学生?</p>
                 <div style="text-align: right; margin-top: 20px">
                 <div style="text-align: right; margin-top: 20px">
                   <el-button
                   <el-button
-
+                    
                     type="text"
                     type="text"
                     @click="scope._self.$refs[scope.$index].doClose()"
                     @click="scope._self.$refs[scope.$index].doClose()"
                     >取消</el-button
                     >取消</el-button
                   >
                   >
                   <el-button
                   <el-button
                     type="primary"
                     type="primary"
-
+                    
                     @click="removeStudent(scope)"
                     @click="removeStudent(scope)"
                     >确定</el-button
                     >确定</el-button
                   >
                   >

+ 122 - 149
src/views/teamBuild/teamSeting/components/setTeacher.vue

@@ -1,5 +1,5 @@
 <template>
 <template>
-  <div class="set-teacher">
+  <div class='set-teacher'>
     <!-- <div class="allClassLis">
     <!-- <div class="allClassLis">
       <div class="allClassBtn"
       <div class="allClassBtn"
            @click="getAllClassInfo(item.id)"
            @click="getAllClassInfo(item.id)"
@@ -10,57 +10,50 @@
       </div>
       </div>
     </div> -->
     </div> -->
     <div class="tableWrap">
     <div class="tableWrap">
-      <el-table
-        :data="singinList"
-        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
-      >
-        <el-table-column label="班级名称" prop="name" width="160px">
+      <el-table :data='singinList'
+                :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+        <el-table-column label="班级名称"
+                         prop='name'
+                         width="160px">
         </el-table-column>
         </el-table-column>
-        <el-table-column label="所属合奏班" prop="mixClassName" width="160px">
+        <el-table-column label="所属合奏班"
+                         prop='mixClassName'
+                         width="160px">
         </el-table-column>
         </el-table-column>
-        <el-table-column label="主教老师" width="200px">
+        <el-table-column label="主教老师"
+                         width="200px">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div>
             <div>
-              <el-select
-                v-model.trim="scope.row.coreTeacher"
-                :disabled="isSetSalary"
-                filterable
-                clearable
-                @change="setCoreTeacher"
-                v-if="teacherList"
-              >
-                <el-option
-                  v-for="(item, index) in teacherList"
-                  :label="item.username"
-                  :key="index"
-                  :value="item.id"
-                ></el-option>
+              <el-select v-model.trim="scope.row.coreTeacher"
+                         :disabled="isSetSalary"
+                         filterable
+                         clearable
+                         @change="setCoreTeacher"
+                         v-if='teacherList'>
+                <el-option v-for='(item,index) in teacherList'
+                           :label="item.username"
+                           :key='index'
+                           :value="item.id"></el-option>
               </el-select>
               </el-select>
             </div>
             </div>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-        <el-table-column
-          label="助教老师"
-          v-if="$helpers.permission('is/teacher/findTeachers')"
-        >
+        <el-table-column label="
+                         助教老师">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div>
             <div>
-              <el-select
-                class="tableClass"
-                filterable
-                clearable
-                @change="chioseAssistant(scope.row)"
-                v-if="teacherList"
-                :disabled="!scope.row.coreTeacher || isSetSalary"
-                multiple
-                v-model.trim="scope.row.assistant"
-              >
-                <el-option
-                  v-for="(item, index) in teacherList"
-                  :label="item.username"
-                  :key="index"
-                  :value="item.id"
-                ></el-option>
+              <el-select class='tableClass'
+                         filterable
+                         clearable
+                         @change="chioseAssistant(scope.row)"
+                         v-if='teacherList'
+                         :disabled="!scope.row.coreTeacher || isSetSalary"
+                         multiple
+                         v-model.trim="scope.row.assistant">
+                <el-option v-for='(item,index) in teacherList'
+                           :label="item.username"
+                           :key='index'
+                           :value="item.id"></el-option>
               </el-select>
               </el-select>
             </div>
             </div>
           </template>
           </template>
@@ -68,54 +61,46 @@
       </el-table>
       </el-table>
     </div>
     </div>
     <div class="tableWrap">
     <div class="tableWrap">
-      <el-table
-        :data="allList"
-        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
-      >
-        <el-table-column label="合奏班名称" prop="name" width="160px">
+      <el-table :data='allList'
+                :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+        <el-table-column label="合奏班名称"
+                         prop='name'
+                         width="160px">
+
         </el-table-column>
         </el-table-column>
-        <el-table-column label="主教老师" width="200px;">
+        <el-table-column label="主教老师"
+                         width="200px;">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div>
             <div>
-              <el-select
-                v-model.trim="scope.row.coreTeacher"
-                :disabled="isSetSalary"
-                clearable
-                filterable
-                v-if="teacherList"
-              >
-                <el-option
-                  v-for="(item, index) in teacherList"
-                  :label="item.username"
-                  :key="index"
-                  :value="item.id"
-                ></el-option>
+              <el-select v-model.trim="scope.row.coreTeacher"
+                         :disabled="isSetSalary"
+                         clearable
+                         filterable
+                         v-if='teacherList'>
+                <el-option v-for='(item,index) in teacherList'
+                           :label="item.username"
+                           :key='index'
+                           :value="item.id"></el-option>
               </el-select>
               </el-select>
             </div>
             </div>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-        <el-table-column
-          label="
-                         助教老师"
-        >
+        <el-table-column label="
+                         助教老师">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div>
             <div>
               <!-- v-if='scope.row.assistant' -->
               <!-- v-if='scope.row.assistant' -->
-              <el-select
-                class="tableClass"
-                @change="chioseAssistant(scope.row)"
-                multiple
-                filterable
-                clearable
-                :disabled="!scope.row.coreTeacher || isSetSalary"
-                v-model.trim="scope.row.assistant"
-              >
-                <el-option
-                  v-for="(item, index) in teacherList"
-                  :label="item.username"
-                  :key="index"
-                  :value="item.id"
-                ></el-option>
+              <el-select class='tableClass'
+                         @change="chioseAssistant(scope.row)"
+                         multiple
+                         filterable
+                         clearable
+                         :disabled="!scope.row.coreTeacher ||  isSetSalary"
+                         v-model.trim="scope.row.assistant">
+                <el-option v-for='(item,index) in teacherList'
+                           :label="item.username"
+                           :key='index'
+                           :value="item.id"></el-option>
               </el-select>
               </el-select>
             </div>
             </div>
           </template>
           </template>
@@ -124,14 +109,15 @@
     </div>
     </div>
     <div class="footer">
     <div class="footer">
       <!-- <div class="reset">返回修改</div> -->
       <!-- <div class="reset">返回修改</div> -->
-      <div class="next" @click="gotoNext">下一步</div>
+      <div class="next"
+           @click="gotoNext">下一步</div>
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
-import { getEveryClass, getTeacher, setTeamTeacher } from "@/api/buildTeam";
+import { getEveryClass, getTeacher, setTeamTeacher } from '@/api/buildTeam'
 export default {
 export default {
-  name: "setTeacher",
+  name: 'setTeacher',
   props: {
   props: {
     teamid: {
     teamid: {
       type: String,
       type: String,
@@ -142,18 +128,18 @@ export default {
       required: true
       required: true
     }
     }
   },
   },
-  data() {
+  data () {
     return {
     return {
       singinList: [],
       singinList: [],
       allList: [],
       allList: [],
       teacherList: [],
       teacherList: [],
       classGroupTeacherMapperList: []
       classGroupTeacherMapperList: []
       // activeAllClass: ''
       // activeAllClass: ''
-    };
+    }
   },
   },
-  mounted() {
-    localStorage.setItem("setStep", 1);
-    this.organId = localStorage.getItem("createTeamOrgnId") || null;
+  mounted () {
+    localStorage.setItem('setStep', 1)
+    this.organId = localStorage.getItem('createTeamOrgnId') || null
     // 该乐团里所有的声部班与合奏班
     // 该乐团里所有的声部班与合奏班
     this.getEveryClass();
     this.getEveryClass();
     // 获取所有的老师列表
     // 获取所有的老师列表
@@ -161,11 +147,12 @@ export default {
       if (res.code == 200) {
       if (res.code == 200) {
         this.teacherList = res.data;
         this.teacherList = res.data;
       }
       }
-    });
+    })
+
   },
   },
   methods: {
   methods: {
     // 根据合奏班id获取合奏班信息
     // 根据合奏班id获取合奏班信息
-    getEveryClass() {
+    getEveryClass () {
       getEveryClass({ musicGroupId: this.teamid }).then(res => {
       getEveryClass({ musicGroupId: this.teamid }).then(res => {
         let singinList = [];
         let singinList = [];
         let allList = [];
         let allList = [];
@@ -174,53 +161,47 @@ export default {
           //   coreTeacher: '',
           //   coreTeacher: '',
           //   assistant:[]
           //   assistant:[]
           // }
           // }
-          item.coreTeacher = "";
-          item.assistant = [];
-          if (
-            item.classGroupTeacherMapperList &&
-            item.classGroupTeacherMapperList.length > 0
-          ) {
+          item.coreTeacher = ''
+          item.assistant = []
+          if (item.classGroupTeacherMapperList && item.classGroupTeacherMapperList.length > 0) {
             //循环老师列表分配到不同的
             //循环老师列表分配到不同的
             for (let i in item.classGroupTeacherMapperList) {
             for (let i in item.classGroupTeacherMapperList) {
-              if (item.classGroupTeacherMapperList[i].teacherRole == "BISHOP") {
-                item.coreTeacher = item.classGroupTeacherMapperList[i].userId;
-              } else if (
-                item.classGroupTeacherMapperList[i].teacherRole == "TEACHING"
-              ) {
-                item.assistant.push(item.classGroupTeacherMapperList[i].userId);
+              if (item.classGroupTeacherMapperList[i].teacherRole == 'BISHOP') {
+                item.coreTeacher = item.classGroupTeacherMapperList[i].userId
+              } else if (item.classGroupTeacherMapperList[i].teacherRole == 'TEACHING') {
+                item.assistant.push(item.classGroupTeacherMapperList[i].userId)
               }
               }
             }
             }
           }
           }
-          if (item.type == "NORMAL") {
-            singinList.push(item);
+          if (item.type == 'NORMAL') {
+            singinList.push(item)
           }
           }
-          if (item.type == "MIX") {
-            allList.push(item);
+          if (item.type == 'MIX') {
+            allList.push(item)
           }
           }
-        });
+        })
         this.singinList = singinList;
         this.singinList = singinList;
         this.allList = allList;
         this.allList = allList;
-      });
+      })
     },
     },
-    gotoNext() {
+    gotoNext () {
       // 点击下一步
       // 点击下一步
       if (this.isSetSalary) {
       if (this.isSetSalary) {
-        this.$message.error("课酬确认后无法编辑");
+        this.$message.error('课酬确认后无法编辑')
         return;
         return;
       }
       }
       let isTeacher = true;
       let isTeacher = true;
-      let isTeachers = [];
-      let singinListTeacher = [];
-      let allListTeacher = [];
+      let isTeachers = []
+      let singinListTeacher = []
+      let allListTeacher = []
+
 
 
       // 验证声部班主教老师是否指认
       // 验证声部班主教老师是否指认
       for (let i in this.singinList) {
       for (let i in this.singinList) {
         singinListTeacher.push(this.singinList[i].coreTeacher);
         singinListTeacher.push(this.singinList[i].coreTeacher);
-        singinListTeacher = singinListTeacher.concat(
-          this.singinList[i].assistant
-        );
-        if (this.singinList[i].coreTeacher == "") {
-          isTeachers.push(false);
+        singinListTeacher = singinListTeacher.concat(this.singinList[i].assistant)
+        if (this.singinList[i].coreTeacher == '') {
+          isTeachers.push(false)
         }
         }
       }
       }
       // if (singinListTeacher.length != [...new Set(singinListTeacher)].length) {
       // if (singinListTeacher.length != [...new Set(singinListTeacher)].length) {
@@ -230,9 +211,9 @@ export default {
 
 
       for (let j in this.allList) {
       for (let j in this.allList) {
         allListTeacher.push(this.allList[j].coreTeacher);
         allListTeacher.push(this.allList[j].coreTeacher);
-        allListTeacher = allListTeacher.concat(this.allList[j].assistant);
-        if (this.allList[j].coreTeacher == "") {
-          isTeachers.push(false);
+        allListTeacher = allListTeacher.concat(this.allList[j].assistant)
+        if (this.allList[j].coreTeacher == '') {
+          isTeachers.push(false)
         }
         }
       }
       }
       // if (allListTeacher.length != [...new Set(allListTeacher)].length) {
       // if (allListTeacher.length != [...new Set(allListTeacher)].length) {
@@ -240,10 +221,10 @@ export default {
       //   return
       //   return
       // }
       // }
       isTeachers.filter(item => {
       isTeachers.filter(item => {
-        isTeacher = isTeacher && item;
-      });
+        isTeacher = isTeacher && item
+      })
       if (!isTeacher) {
       if (!isTeacher) {
-        this.$message.error("请确定每个班级都有主教老师");
+        this.$message.error('请确定每个班级都有主教老师')
         return;
         return;
       }
       }
       // 开始拼接数据
       // 开始拼接数据
@@ -252,40 +233,42 @@ export default {
       setTeamTeacher(this.classGroupTeacherMapperList).then(res => {
       setTeamTeacher(this.classGroupTeacherMapperList).then(res => {
         if (res.code == 200) {
         if (res.code == 200) {
           this.classGroupTeacherMapperList = [];
           this.classGroupTeacherMapperList = [];
-          this.$emit("gotoNav", 2);
+          this.$emit('gotoNav', 2);
         }
         }
-      });
+      })
     },
     },
-    addDate(arr) {
+    addDate (arr) {
       for (let i in arr) {
       for (let i in arr) {
-        let obj = {};
+        let obj = {}
         obj.classGroupId = arr[i].id;
         obj.classGroupId = arr[i].id;
         obj.musicGroupId = this.teamid;
         obj.musicGroupId = this.teamid;
-        obj.teacherRole = "BISHOP";
+        obj.teacherRole = 'BISHOP';
         obj.userId = arr[i].coreTeacher;
         obj.userId = arr[i].coreTeacher;
-        this.classGroupTeacherMapperList.push(obj);
+        this.classGroupTeacherMapperList.push(obj)
         for (let j in arr[i].assistant) {
         for (let j in arr[i].assistant) {
-          let obj = {};
+          let obj = {}
           obj.classGroupId = arr[i].id;
           obj.classGroupId = arr[i].id;
           obj.musicGroupId = this.teamid;
           obj.musicGroupId = this.teamid;
-          obj.teacherRole = "TEACHING";
+          obj.teacherRole = 'TEACHING';
           obj.userId = arr[i].assistant[j];
           obj.userId = arr[i].assistant[j];
-          this.classGroupTeacherMapperList.push(obj);
+          this.classGroupTeacherMapperList.push(obj)
         }
         }
       }
       }
     },
     },
-    setCoreTeacher(val) {},
-    chioseAssistant(row) {
+    setCoreTeacher (val) {
+    },
+    chioseAssistant (row) {
       for (let i in row.assistant) {
       for (let i in row.assistant) {
         if (row.assistant[i] == row.coreTeacher) {
         if (row.assistant[i] == row.coreTeacher) {
           row.assistant = [];
           row.assistant = [];
-          this.$message.error("同一个班主教助教不能相同");
-          return;
+          this.$message.error('同一个班主教助教不能相同')
+          return
         }
         }
       }
       }
     }
     }
-  }
-};
+  },
+
+}
 </script>
 </script>
 <style lang="scss" scope>
 <style lang="scss" scope>
 .set-teacher {
 .set-teacher {
@@ -293,7 +276,6 @@ export default {
   padding: 30px 42px;
   padding: 30px 42px;
   background-color: #fff;
   background-color: #fff;
   min-height: 80vh;
   min-height: 80vh;
-
   .allClassLis {
   .allClassLis {
     display: inline-block;
     display: inline-block;
     // flex-direction: row;
     // flex-direction: row;
@@ -303,7 +285,6 @@ export default {
     border-radius: 4px;
     border-radius: 4px;
     margin-bottom: 24px;
     margin-bottom: 24px;
     clear: both;
     clear: both;
-
     .allClassBtn {
     .allClassBtn {
       width: 91px;
       width: 91px;
       height: 32px;
       height: 32px;
@@ -315,7 +296,6 @@ export default {
       float: left;
       float: left;
       cursor: pointer;
       cursor: pointer;
     }
     }
-
     .allClassBtn.active {
     .allClassBtn.active {
       width: 91px;
       width: 91px;
       height: 32px;
       height: 32px;
@@ -327,21 +307,17 @@ export default {
       float: left;
       float: left;
     }
     }
   }
   }
-
   .tableClass {
   .tableClass {
     margin-right: 10px;
     margin-right: 10px;
   }
   }
-
   i {
   i {
     cursor: pointer;
     cursor: pointer;
   }
   }
-
   .footer {
   .footer {
     margin-top: 50px;
     margin-top: 50px;
     display: flex;
     display: flex;
     flex-direction: row;
     flex-direction: row;
     justify-content: flex-end;
     justify-content: flex-end;
-
     > div {
     > div {
       width: 120px;
       width: 120px;
       height: 40px;
       height: 40px;
@@ -351,18 +327,15 @@ export default {
       color: #fff;
       color: #fff;
       cursor: pointer;
       cursor: pointer;
     }
     }
-
     .reset {
     .reset {
       background-color: var(--color-primary);
       background-color: var(--color-primary);
       margin-right: 20px;
       margin-right: 20px;
     }
     }
-
     .next {
     .next {
       background-color: #444;
       background-color: #444;
     }
     }
   }
   }
 }
 }
-
 .tableClass.el-select {
 .tableClass.el-select {
   width: 100% !important;
   width: 100% !important;
 }
 }

+ 134 - 30
src/views/teamDetail/componentCourse/compoundClass.vue

@@ -1,12 +1,30 @@
 <template>
 <template>
   <div>
   <div>
-    <el-form :model="maskForm" class="maskForm" ref="maskForm" :rules="maskRules" label-position="right"
-      label-width="120px" :inline="true">
+    <el-form
+      :model="maskForm"
+      class="maskForm"
+      ref="maskForm"
+      :rules="maskRules"
+      label-position="right"
+      label-width="120px"
+      :inline="true"
+    >
       <el-row>
       <el-row>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item label="主课" prop="id">
           <el-form-item label="主课" prop="id">
-            <el-select v-model.trim="maskForm.id" style="width: 220px !important" @change="changeId" clearable filterable>
-              <el-option v-for="(item, index) in dataList" :key="index" :value="item.id" :label="item.name">
+            <el-select
+              v-model.trim="maskForm.id"
+              style="width: 220px !important"
+              @change="changeId"
+              clearable
+              filterable
+            >
+              <el-option
+                v-for="(item, index) in dataList"
+                :key="index"
+                :value="item.id"
+                :label="item.name"
+              >
                 <span style="float: left">{{ item.name }}</span>
                 <span style="float: left">{{ item.name }}</span>
                 <span style="float: right; color: #8492a6; font-size: 13px">{{
                 <span style="float: right; color: #8492a6; font-size: 13px">{{
                   String(item.id)
                   String(item.id)
@@ -19,14 +37,19 @@
       <el-row>
       <el-row>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item label="课程名称" prop="name">
           <el-form-item label="课程名称" prop="name">
-            <el-input v-model.trim="maskForm.name" style="width: 220px !important" placeholder="请输入课程名称"></el-input>
+            <el-input
+              v-model.trim="maskForm.name"
+              style="width: 220px !important"
+              placeholder="请输入课程名称"
+            ></el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item>
           <el-form-item>
             <div style="width: 220px !important">
             <div style="width: 220px !important">
               <a href="#" class="studentTitle" @click="lookStudentList">
               <a href="#" class="studentTitle" @click="lookStudentList">
-                学生列表>></a>
+                学生列表>></a
+              >
             </div>
             </div>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
@@ -53,64 +76,137 @@
                 }}</span>
                 }}</span>
               </el-option>
               </el-option>
             </el-select> -->
             </el-select> -->
-            <remote-search :commit="'setTeachers'" v-model="maskForm.teacher" :width="220" />
+            <remote-search
+              :commit="'setTeachers'"
+              v-model="maskForm.teacher"
+              :width="220"
+            />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
-        <el-col :span="12" v-if="$helpers.permission('is/teacher/findTeachers')">
+        <el-col :span="12">
           <el-form-item label="助教老师" prop="assistant">
           <el-form-item label="助教老师" prop="assistant">
-            <remote-search :commit="'setTeachers'" v-model="maskForm.assistant" :multiple="true" :width="220" />
+            <!-- :multiple="true" -->
+            <remote-search
+              :commit="'setTeachers'"
+              v-model="maskForm.assistant"
+              :multiple="true"
+              :width="220"
+            />
+            <!-- <el-select
+              v-model.trim="maskForm.assistant"
+              style="width: 220px !important"
+              clearable
+              filterable
+              multiple
+              collapse-tags
+            >
+              <el-option
+                v-for="(item, index) in teacherList"
+                :key="index"
+                :value="item.id"
+                :label="item.realName"
+              >
+                <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>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-row>
       <el-row>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item label="上课日期" prop="date">
           <el-form-item label="上课日期" prop="date">
-            <el-date-picker v-model.trim="maskForm.date" type="date" :picker-options="{
-              firstDayOfWeek: 1,
-            }" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
+            <el-date-picker
+              v-model.trim="maskForm.date"
+              type="date"
+              :picker-options="{
+                firstDayOfWeek: 1,
+              }"
+              value-format="yyyy-MM-dd"
+              placeholder="选择日期"
+            ></el-date-picker>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item label="课程时长(分钟)" prop="timer">
           <el-form-item label="课程时长(分钟)" prop="timer">
-            <el-input type="number" :disabled="isDisabled" style="width: 220px !important"
-              v-model="maskForm.timer"></el-input>
+            <el-input
+              type="number"
+              :disabled="isDisabled"
+              style="width: 220px !important"
+              v-model="maskForm.timer"
+            ></el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-row>
       <el-row>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item label="开始时间" prop="startTime">
           <el-form-item label="开始时间" prop="startTime">
-            <el-time-picker placeholder="起始时间" v-model.trim="maskForm.startTime" @change="changeStartTime" format="HH:mm"
-              value-format="HH:mm" :picker-options="{
+            <el-time-picker
+              placeholder="起始时间"
+              v-model.trim="maskForm.startTime"
+              @change="changeStartTime"
+              format="HH:mm"
+              value-format="HH:mm"
+              :picker-options="{
                 selectableRange: '06:00:00 - 23:30:00',
                 selectableRange: '06:00:00 - 23:30:00',
-              }"></el-time-picker>
+              }"
+            ></el-time-picker>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item label="结束时间" prop="endTime">
           <el-form-item label="结束时间" prop="endTime">
-            <el-time-picker placeholder="结束时间" v-model.trim="maskForm.endTime" disabled format="HH:mm"
-              value-format="HH:mm" :picker-options="{
+            <el-time-picker
+              placeholder="结束时间"
+              v-model.trim="maskForm.endTime"
+              disabled
+              format="HH:mm"
+              value-format="HH:mm"
+              :picker-options="{
                 start: '04:30',
                 start: '04:30',
                 step: '00:05',
                 step: '00:05',
                 end: '23:30',
                 end: '23:30',
                 minTime: maskForm.startTime,
                 minTime: maskForm.startTime,
-              }"></el-time-picker>
+              }"
+            ></el-time-picker>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-row>
       <el-row>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="课程类型" v-if="maskForm.type == 'VIP'" prop="courseType">
-            <el-select clearable style="width: 220px !important" v-model.trim="maskForm.teachMode">
+          <el-form-item
+            label="课程类型"
+            v-if="maskForm.type == 'VIP'"
+            prop="courseType"
+          >
+            <el-select
+              clearable
+              style="width: 220px !important"
+              v-model.trim="maskForm.teachMode"
+            >
               <el-option label="线上课" value="ONLINE"></el-option>
               <el-option label="线上课" value="ONLINE"></el-option>
               <el-option label="线下课" value="OFFLINE"></el-option>
               <el-option label="线下课" value="OFFLINE"></el-option>
             </el-select>
             </el-select>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item label="教学地点" v-if="maskForm.teachMode == 'OFFLINE' && maskForm.type == 'VIP'">
-            <el-select v-model.trim="maskForm.address" style="width: 220px !important" filterable clearable>
-              <el-option v-for="(item, index) in schoolList" :key="index" :value="item.id" :label="item.name"></el-option>
+          <el-form-item
+            label="教学地点"
+            v-if="maskForm.teachMode == 'OFFLINE' && maskForm.type == 'VIP'"
+          >
+            <el-select
+              v-model.trim="maskForm.address"
+              style="width: 220px !important"
+              filterable
+              clearable
+            >
+              <el-option
+                v-for="(item, index) in schoolList"
+                :key="index"
+                :value="item.id"
+                :label="item.name"
+              ></el-option>
             </el-select>
             </el-select>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
@@ -120,9 +216,18 @@
       <el-button @click="cancaleMerge">取 消</el-button>
       <el-button @click="cancaleMerge">取 消</el-button>
       <el-button type="primary" @click="submitResetClass">确 定</el-button>
       <el-button type="primary" @click="submitResetClass">确 定</el-button>
     </div>
     </div>
-    <el-dialog title="学员列表" width="650px" append-to-body :visible.sync="studentListModalVisible"
-      v-if="studentListModalVisible">
-      <viewStudentList :list="studentListModal" :showOk="true" @close="studentListModalVisible = false" />
+    <el-dialog
+      title="学员列表"
+      width="650px"
+      append-to-body
+      :visible.sync="studentListModalVisible"
+      v-if="studentListModalVisible"
+    >
+      <viewStudentList
+        :list="studentListModal"
+        :showOk="true"
+        @close="studentListModalVisible = false"
+      />
     </el-dialog>
     </el-dialog>
   </div>
   </div>
 </template>
 </template>
@@ -247,7 +352,7 @@ export default {
             }
             }
           });
           });
         })
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     },
     changeStartTime(val) {
     changeStartTime(val) {
       this.$nextTick((res) => {
       this.$nextTick((res) => {
@@ -367,7 +472,6 @@ export default {
   flex-direction: row;
   flex-direction: row;
   justify-content: flex-end;
   justify-content: flex-end;
 }
 }
-
 .studentTitle {
 .studentTitle {
   width: 120px !important;
   width: 120px !important;
   text-align: right;
   text-align: right;

+ 29 - 13
src/views/teamDetail/componentCourse/modals/resetTeacher.vue

@@ -1,30 +1,46 @@
 <template>
 <template>
   <div>
   <div>
-    <el-form :model="maskForm" class="maskForm" ref="maskForm" :rules="maskRules" label-position="right" :inline="true">
+    <el-form
+      :model="maskForm"
+      class="maskForm"
+      ref="maskForm"
+      :rules="maskRules"
+      label-position="right"
+      :inline="true"
+    >
       <!--  label-width="120px" -->
       <!--  label-width="120px" -->
       <el-row>
       <el-row>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item label="主教老师" prop="teacher">
           <el-form-item label="主教老师" prop="teacher">
-            <remote-search :commit="'setTeachers'" v-model="maskForm.teacher" :width="220" />
+            <remote-search
+              :commit="'setTeachers'"
+              v-model="maskForm.teacher"
+              :width="220"
+            />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
-        <el-col :span="12" v-if="$helpers.permission('is/teacher/findTeachers')">
+        <el-col :span="12">
           <el-form-item label="助教老师" prop="assistant">
           <el-form-item label="助教老师" prop="assistant">
             <!-- :multiple="true" -->
             <!-- :multiple="true" -->
-            <remote-search :commit="'setTeachers'" v-model="maskForm.assistant" :multiple="true" :width="220" />
+            <remote-search
+              :commit="'setTeachers'"
+              v-model="maskForm.assistant"
+              :multiple="true"
+              :width="220"
+            />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
     </el-form>
     </el-form>
     <div class="buttonWrap">
     <div class="buttonWrap">
       <el-button @click="gotoNext" type="primary">下一步</el-button>
       <el-button @click="gotoNext" type="primary">下一步</el-button>
-      <el-button @click="() => { $emit('cancaleMerge') }">取 消</el-button>
+          <el-button @click="()=>{$emit('cancaleMerge')}" >取 消</el-button>
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
 export default {
 export default {
-  props: ['idList', 'dataList'],
+  props:['idList','dataList'],
   data() {
   data() {
     return {
     return {
       maskForm: {
       maskForm: {
@@ -62,7 +78,7 @@ export default {
             startTime: "",
             startTime: "",
             pauseDate: "",
             pauseDate: "",
             recoveryDate: "",
             recoveryDate: "",
-            classGroupTeacherMapperList: classGroupTeacherMapperList,
+            classGroupTeacherMapperList:classGroupTeacherMapperList,
             teachMode: null,
             teachMode: null,
             allowZeroSalary: false,
             allowZeroSalary: false,
             schoolId: null,
             schoolId: null,
@@ -77,10 +93,10 @@ export default {
 };
 };
 </script>
 </script>
 <style  lang="scss" scoped>
 <style  lang="scss" scoped>
-.buttonWrap {
-  width: 100%;
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-end;
-}
+  .buttonWrap{
+    width: 100%;
+    display: flex;
+    flex-direction: row;
+    justify-content: flex-end;
+  }
 </style>
 </style>

+ 1 - 4
src/views/teamDetail/componentCourse/resetClass.vue

@@ -9,12 +9,9 @@
       <el-form-item label="主教老师" v-else prop="teacher">
       <el-form-item label="主教老师" v-else prop="teacher">
         <remote-search :commit="'setTeachers'" v-model="maskForm.teacher" :width="220" />
         <remote-search :commit="'setTeachers'" v-model="maskForm.teacher" :width="220" />
       </el-form-item>
       </el-form-item>
-      <!--
-      HIGH_ONLINE: "线上基础技能班",
-      MUSIC_NETWORK: "乐团网管课" -->
       <el-form-item label="助教老师" v-if="maskForm.type != 'MUSIC_NETWORK' &&
       <el-form-item label="助教老师" v-if="maskForm.type != 'MUSIC_NETWORK' &&
         maskForm.type != 'HIGH_ONLINE' &&
         maskForm.type != 'HIGH_ONLINE' &&
-        maskForm.groupType == 'MUSIC' && $helpers.permission('is/teacher/findTeachers')
+        maskForm.groupType == 'MUSIC'
         " prop="assistant">
         " prop="assistant">
         <remote-search :commit="'setTeachers'" v-model="maskForm.assistant" :width="220" :multiple="true" />
         <remote-search :commit="'setTeachers'" v-model="maskForm.assistant" :width="220" :multiple="true" />
       </el-form-item>
       </el-form-item>

+ 387 - 124
src/views/teamDetail/components/courseList.vue

@@ -1,16 +1,37 @@
 <template>
 <template>
   <div class="cl-container">
   <div class="cl-container">
     <!-- 搜索类型 -->
     <!-- 搜索类型 -->
-    <save-form :inline="true" save-key="teamDetails-courseList" class="searchForm" ref="searchForm" :model="searchForm"
-      @submit="search" @reset="onReSet">
+    <save-form
+      :inline="true"
+      save-key="teamDetails-courseList"
+      class="searchForm"
+      ref="searchForm"
+      :model="searchForm"
+      @submit="search"
+      @reset="onReSet"
+    >
       <el-form-item prop="courseStatus">
       <el-form-item prop="courseStatus">
-        <el-select v-model.trim="searchForm.courseStatus" clearable filterable placeholder="课程类型">
-          <el-option v-for="(item, index) in courseArray" :key="index" :label="item.label"
-            :value="item.value"></el-option>
+        <el-select
+          v-model.trim="searchForm.courseStatus"
+          clearable
+          filterable
+          placeholder="课程类型"
+        >
+          <el-option
+            v-for="(item, index) in courseArray"
+            :key="index"
+            :label="item.label"
+            :value="item.value"
+          ></el-option>
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
       <el-form-item prop="classStatus">
       <el-form-item prop="classStatus">
-        <el-select v-model.trim="searchForm.classStatus" clearable filterable placeholder="课程状态">
+        <el-select
+          v-model.trim="searchForm.classStatus"
+          clearable
+          filterable
+          placeholder="课程状态"
+        >
           <el-option label="未开始" value="NOT_START"></el-option>
           <el-option label="未开始" value="NOT_START"></el-option>
           <el-option label="进行中" value="UNDERWAY"></el-option>
           <el-option label="进行中" value="UNDERWAY"></el-option>
           <el-option label="已结束" value="OVER"></el-option>
           <el-option label="已结束" value="OVER"></el-option>
@@ -18,79 +39,151 @@
       </el-form-item>
       </el-form-item>
       <el-form-item prop="class">
       <el-form-item prop="class">
         <!-- getMusicGroupAllClass -->
         <!-- getMusicGroupAllClass -->
-        <el-select v-model.trim="searchForm.class" placeholder="班级名称" filterable clearable>
-          <el-option v-for="(item, index) in classList" :key="index" :value="item.id" :label="item.name"></el-option>
+        <el-select
+          v-model.trim="searchForm.class"
+          placeholder="班级名称"
+          filterable
+          clearable
+        >
+          <el-option
+            v-for="(item, index) in classList"
+            :key="index"
+            :value="item.id"
+            :label="item.name"
+          ></el-option>
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
       <el-form-item prop="isSettlement">
       <el-form-item prop="isSettlement">
-        <el-select v-model.trim="searchForm.isSettlement" placeholder="是否结算" filterable clearable>
+        <el-select
+          v-model.trim="searchForm.isSettlement"
+          placeholder="是否结算"
+          filterable
+          clearable
+        >
           <el-option value="0" label="未结算"></el-option>
           <el-option value="0" label="未结算"></el-option>
           <el-option value="1" label="已结算"></el-option>
           <el-option value="1" label="已结算"></el-option>
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
       <el-form-item prop="homeworkFlag">
       <el-form-item prop="homeworkFlag">
-        <el-select v-model.trim="searchForm.homeworkFlag" placeholder="是否布置作业" filterable clearable>
+        <el-select
+          v-model.trim="searchForm.homeworkFlag"
+          placeholder="是否布置作业"
+          filterable
+          clearable
+        >
           <el-option :value="false" label="未布置"></el-option>
           <el-option :value="false" label="未布置"></el-option>
           <el-option :value="true" label="已布置"></el-option>
           <el-option :value="true" label="已布置"></el-option>
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
       <el-form-item prop="serviceFlag">
       <el-form-item prop="serviceFlag">
-        <el-select v-model.trim="searchForm.serviceFlag" placeholder="是否服务" filterable clearable>
+        <el-select
+          v-model.trim="searchForm.serviceFlag"
+          placeholder="是否服务"
+          filterable
+          clearable
+        >
           <el-option :value="true" label="是"></el-option>
           <el-option :value="true" label="是"></el-option>
           <el-option :value="false" label="否"></el-option>
           <el-option :value="false" label="否"></el-option>
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
       <el-form-item prop="timer">
       <el-form-item prop="timer">
-        <el-date-picker v-model.trim="searchForm.timer" style="width: 420px" type="daterange" value-format="yyyy-MM-dd"
-          range-separator="至" start-placeholder="课程开始日期" end-placeholder="课程结束日期" :picker-options="{
+        <el-date-picker
+          v-model.trim="searchForm.timer"
+          style="width: 420px"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          range-separator="至"
+          start-placeholder="课程开始日期"
+          end-placeholder="课程结束日期"
+          :picker-options="{
             firstDayOfWeek: 1
             firstDayOfWeek: 1
-          }"></el-date-picker>
+          }"
+        ></el-date-picker>
       </el-form-item>
       </el-form-item>
       <el-form-item>
       <el-form-item>
         <el-button native-type="submit" type="danger">搜索</el-button>
         <el-button native-type="submit" type="danger">搜索</el-button>
         <el-button type="primary" native-type="reset">重置</el-button>
         <el-button type="primary" native-type="reset">重置</el-button>
-        <el-button type="primary" v-if="permission('export/exportMusicGroupCourseScheduleDetail')"
-          @click="exportCourse">导出</el-button>
+        <el-button
+          type="primary"
+          v-if="permission('export/exportMusicGroupCourseScheduleDetail')"
+          @click="exportCourse"
+          >导出</el-button
+        >
       </el-form-item>
       </el-form-item>
     </save-form>
     </save-form>
     <div class="btnWraps" style="margin-bottom:20px;">
     <div class="btnWraps" style="margin-bottom:20px;">
-      <el-button type="primary" v-if="permission('courseScheduleConvert/action')" @click="transCourse">课程转换</el-button>
+      <el-button
+        type="primary"
+        v-if="permission('courseScheduleConvert/action')"
+        @click="transCourse"
+        >课程转换</el-button
+      >
     </div>
     </div>
 
 
     <div style="font-size: 14px; padding-bottom: 10px">
     <div style="font-size: 14px; padding-bottom: 10px">
       总出勤率:<span style="color: #f85043; font-weight: 600">{{
       总出勤率:<span style="color: #f85043; font-weight: 600">{{
         detail.attendanceRate
         detail.attendanceRate
       }}</span>
       }}</span>
-      &nbsp;&nbsp;&nbsp;&nbsp;总达标率:<span style="color: #f85043; font-weight: 600">{{ detail.standardRate }}</span>
-      &nbsp;&nbsp;&nbsp;&nbsp; 总作业提交率:<span style="color: #f85043; font-weight: 600">{{ detail.homeworkCommitRate
-      }}</span>
+      &nbsp;&nbsp;&nbsp;&nbsp;总达标率:<span
+        style="color: #f85043; font-weight: 600"
+        >{{ detail.standardRate }}</span
+      >
+      &nbsp;&nbsp;&nbsp;&nbsp; 总作业提交率:<span
+        style="color: #f85043; font-weight: 600"
+        >{{ detail.homeworkCommitRate }}</span
+      >
     </div>
     </div>
     <!-- 列表 -->
     <!-- 列表 -->
     <div class="tableWrap">
     <div class="tableWrap">
-      <el-table :data="tableList" :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
-        @selection-change="handleSelectionChange">
-        <el-table-column type="selection" width="55" :selectable="checkSelectable"></el-table-column>
+      <el-table
+        :data="tableList"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column
+          type="selection"
+          width="55"
+          :selectable="checkSelectable"
+        ></el-table-column>
 
 
-        <el-table-column align="center" prop="courseScheduleId" label="课程编号"></el-table-column>
+        <el-table-column
+          align="center"
+          prop="courseScheduleId"
+          label="课程编号"
+        ></el-table-column>
         <el-table-column align="center" width="180px" label="时间">
         <el-table-column align="center" width="180px" label="时间">
-          <template slot-scope="scope">{{ scope.row.classDate }}
+          <template slot-scope="scope"
+            >{{ scope.row.classDate }}
             {{
             {{
               scope.row.startClassTime
               scope.row.startClassTime
-              ? scope.row.startClassTime.substr(0, 5)
-              : ""
+                ? scope.row.startClassTime.substr(0, 5)
+                : ""
             }}-{{
             }}-{{
-  scope.row.endClassTime ? scope.row.endClassTime.substr(0, 5) : ""
-}}</template>
+              scope.row.endClassTime ? scope.row.endClassTime.substr(0, 5) : ""
+            }}</template
+          >
         </el-table-column>
         </el-table-column>
-        <el-table-column align="center" prop="courseScheduleName" label="课程名称"></el-table-column>
+        <el-table-column
+          align="center"
+          prop="courseScheduleName"
+          label="课程名称"
+        ></el-table-column>
 
 
-        <el-table-column align="center" prop="courseScheduleType" label="课程类型">
+        <el-table-column
+          align="center"
+          prop="courseScheduleType"
+          label="课程类型"
+        >
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div>{{ scope.row.courseScheduleType | coursesType }}</div>
             <div>{{ scope.row.courseScheduleType | coursesType }}</div>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
 
 
-        <el-table-column align="center" prop="courseScheduleStatus" label="课程状态">s
+        <el-table-column
+          align="center"
+          prop="courseScheduleStatus"
+          label="课程状态"
+          >s
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div>{{ scope.row.courseScheduleStatus | coursesStatus }}</div>
             <div>{{ scope.row.courseScheduleStatus | coursesStatus }}</div>
           </template>
           </template>
@@ -111,7 +204,11 @@
             <span v-else>--</span>
             <span v-else>--</span>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-        <el-table-column align="center" prop="masterTeacherName" label="指导老师"></el-table-column>
+        <el-table-column
+          align="center"
+          prop="masterTeacherName"
+          label="指导老师"
+        ></el-table-column>
         <el-table-column align="center" label="结算状态">
         <el-table-column align="center" label="结算状态">
           <template slot-scope="scope">{{
           <template slot-scope="scope">{{
             scope.row.settlementTime ? "已结算" : "未结算"
             scope.row.settlementTime ? "已结算" : "未结算"
@@ -131,8 +228,8 @@
               {{
               {{
                 scope.row.courseScheduleStatistics.attendanceRate &&
                 scope.row.courseScheduleStatistics.attendanceRate &&
                 scope.row.courseScheduleStatus == "OVER"
                 scope.row.courseScheduleStatus == "OVER"
-                ? scope.row.courseScheduleStatistics.attendanceRate
-                : "--"
+                  ? scope.row.courseScheduleStatistics.attendanceRate
+                  : "--"
               }}
               }}
             </div>
             </div>
           </template>
           </template>
@@ -143,8 +240,8 @@
               {{
               {{
                 scope.row.courseScheduleStatistics.standardRate &&
                 scope.row.courseScheduleStatistics.standardRate &&
                 scope.row.courseScheduleStatus == "OVER"
                 scope.row.courseScheduleStatus == "OVER"
-                ? scope.row.courseScheduleStatistics.standardRate
-                : "--"
+                  ? scope.row.courseScheduleStatistics.standardRate
+                  : "--"
               }}
               }}
             </div>
             </div>
           </template>
           </template>
@@ -161,8 +258,8 @@
             <div>
             <div>
               {{
               {{
                 scope.row.courseScheduleStatistics.homeworkFlag
                 scope.row.courseScheduleStatistics.homeworkFlag
-                ? "已布置"
-                : "未布置"
+                  ? "已布置"
+                  : "未布置"
               }}
               }}
             </div>
             </div>
           </template>
           </template>
@@ -173,39 +270,66 @@
               {{
               {{
                 scope.row.courseScheduleStatistics.homeworkCommitRate &&
                 scope.row.courseScheduleStatistics.homeworkCommitRate &&
                 scope.row.courseScheduleStatistics.homeworkFlag
                 scope.row.courseScheduleStatistics.homeworkFlag
-                ? scope.row.courseScheduleStatistics.homeworkCommitRate
-                : "--"
+                  ? scope.row.courseScheduleStatistics.homeworkCommitRate
+                  : "--"
               }}
               }}
             </div>
             </div>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-        <el-table-column align="center" prop="remark" label="备注"></el-table-column>
-        <el-table-column align="center" width="280px" label="操作" fixed="right">
+        <el-table-column
+          align="center"
+          prop="remark"
+          label="备注"
+        ></el-table-column>
+        <el-table-column
+          align="center"
+          width="280px"
+          label="操作"
+          fixed="right"
+        >
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div>
             <div>
               <!-- {child: 'teacherAttendance/updateTeacherAttendance', parent: '/teamDetails/courseList'} -->
               <!-- {child: 'teacherAttendance/updateTeacherAttendance', parent: '/teamDetails/courseList'} -->
-              <el-button v-if="scope.row.courseScheduleStatus == 'OVER' &&
-                  !scope.row.settlementTime &&
-                  permission(
-                    'teacherAttendance/updateTeacherAttendance?t=568'
-                  )
-                  " type="text" @click="onMarkAttendance(scope.row)">补考勤</el-button>
-              <el-button v-if="scope.row.courseScheduleStatus == 'OVER' &&
-                permission(
-                  'studentAttendance/updateStudentAttendances?t=570'
-                )
-                " type="text" @click="onCallName(scope.row)">点名表</el-button>
+              <el-button
+                v-if="
+                  scope.row.courseScheduleStatus == 'OVER' &&
+                    !scope.row.settlementTime &&
+                    permission(
+                      'teacherAttendance/updateTeacherAttendance?t=568'
+                    )
+                "
+                type="text"
+                @click="onMarkAttendance(scope.row)"
+                >补考勤</el-button
+              >
+              <el-button
+                v-if="
+                  scope.row.courseScheduleStatus == 'OVER' &&
+                    permission(
+                      'studentAttendance/updateStudentAttendances?t=570'
+                    )
+                "
+                type="text"
+                @click="onCallName(scope.row)"
+                >点名表</el-button
+              >
               <!-- OVER -->
               <!-- OVER -->
               <!-- <el-button
               <!-- <el-button
                 v-if="scope.row.courseScheduleStatus == 'OVER' && permission('courseSchedule/classStartDateAdjust1')"
                 v-if="scope.row.courseScheduleStatus == 'OVER' && permission('courseSchedule/classStartDateAdjust1')"
                 type="text"
                 type="text"
                 @click="resetClass(scope.row)"
                 @click="resetClass(scope.row)"
               >调整</el-button>-->
               >调整</el-button>-->
-              <el-button v-if="!scope.row.settlementTime &&
-                permission(
-                  'courseSchedule/classStartDateAdjust/teamCourseListInfo'
-                )
-                " type="text" @click="resetClass(scope.row)">调整</el-button>
+              <el-button
+                v-if="
+                  !scope.row.settlementTime &&
+                    permission(
+                      'courseSchedule/classStartDateAdjust/teamCourseListInfo'
+                    )
+                "
+                type="text"
+                @click="resetClass(scope.row)"
+                >调整</el-button
+              >
               <!-- <el-button v-if="scope.row.courseScheduleStatus == 'NOT_START' && permission('courseSchedule/batchDelete')"
               <!-- <el-button v-if="scope.row.courseScheduleStatus == 'NOT_START' && permission('courseSchedule/batchDelete')"
                          type="text"
                          type="text"
                          @click="removeSingleClass(scope.row)">删除</el-button> -->
                          @click="removeSingleClass(scope.row)">删除</el-button> -->
@@ -213,59 +337,135 @@
               <!-- <el-button type="text"
               <!-- <el-button type="text"
                          @click="resetType(scope.row)"
                          @click="resetType(scope.row)"
                          v-if="permission('teamDetail/resetTpye')&&scope.row.courseScheduleType!='HIGH_ONLINE'&&scope.row.courseScheduleType!='MUSIC_NETWORK'">类型调整</el-button> -->
                          v-if="permission('teamDetail/resetTpye')&&scope.row.courseScheduleType!='HIGH_ONLINE'&&scope.row.courseScheduleType!='MUSIC_NETWORK'">类型调整</el-button> -->
-              <el-button type="text" v-if="scope.row.courseScheduleStatus == 'OVER' &&
-                !scope.row.settlementTime &&
-                permission(
-                  'courseSchedule/cleanAttendancecourseSchedule/classStartDateAdjust/teamCourseListInfo'
-                )
-                " @click="clearAttend(scope.row)">清除考勤</el-button>
+              <el-button
+                type="text"
+                v-if="
+                  scope.row.courseScheduleStatus == 'OVER' &&
+                    !scope.row.settlementTime &&
+                    permission(
+                      'courseSchedule/cleanAttendancecourseSchedule/classStartDateAdjust/teamCourseListInfo'
+                    )
+                "
+                @click="clearAttend(scope.row)"
+                >清除考勤</el-button
+              >
             </div>
             </div>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>
-      <pagination save-key="teamDetails-courseList" sync :total.sync="rules.total" :page.sync="rules.page"
-        :limit.sync="rules.limit" :page-sizes="rules.page_size" @pagination="getList" />
+      <pagination
+        save-key="teamDetails-courseList"
+        sync
+        :total.sync="rules.total"
+        :page.sync="rules.page"
+        :limit.sync="rules.limit"
+        :page-sizes="rules.page_size"
+        @pagination="getList"
+      />
     </div>
     </div>
-    <el-dialog title="课程调整" width="400px" :before-close="handleClose" :visible.sync="courseVisible">
-      <el-form :model="maskForm" v-if="courseVisible" class="maskForm" ref="maskForm" :rules="maskRules"
-        label-position="right" label-width="120px" :inline="true">
+    <el-dialog
+      title="课程调整"
+      width="400px"
+      :before-close="handleClose"
+      :visible.sync="courseVisible"
+    >
+      <el-form
+        :model="maskForm"
+        v-if="courseVisible"
+        class="maskForm"
+        ref="maskForm"
+        :rules="maskRules"
+        label-position="right"
+        label-width="120px"
+        :inline="true"
+      >
         <el-form-item label="主教老师" prop="teacher">
         <el-form-item label="主教老师" prop="teacher">
-          <remote-search :commit="'setTeachers'" v-model="maskForm.teacher" :width="220" />
+          <remote-search
+            :commit="'setTeachers'"
+            v-model="maskForm.teacher"
+            :width="220"
+          />
         </el-form-item>
         </el-form-item>
-        <el-form-item label="助教老师" v-if="maskForm.courseScheduleType != 'MUSIC_NETWORK' &&
-          maskForm.courseScheduleType != 'HIGH_ONLINE' && $helpers.permission('is/teacher/findTeachers')
-          " prop="assistant">
-          <remote-search :commit="'setTeachers'" v-model="maskForm.assistant" :width="220" :multiple="true" />
+        <el-form-item
+          label="助教老师"
+          v-if="
+            maskForm.courseScheduleType != 'MUSIC_NETWORK' &&
+              maskForm.courseScheduleType != 'HIGH_ONLINE'
+          "
+          prop="assistant"
+        >
+          <remote-search
+            :commit="'setTeachers'"
+            v-model="maskForm.assistant"
+            :width="220"
+            :multiple="true"
+          />
         </el-form-item>
         </el-form-item>
         <el-form-item label="上课日期" prop="date">
         <el-form-item label="上课日期" prop="date">
-          <el-date-picker v-model.trim="maskForm.date" type="date" :picker-options="beginDate()" value-format="yyyy-MM-dd"
-            placeholder="选择日期"></el-date-picker>
+          <el-date-picker
+            v-model.trim="maskForm.date"
+            type="date"
+            :picker-options="beginDate()"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          ></el-date-picker>
         </el-form-item>
         </el-form-item>
         <el-form-item label="课程时长" v-if="courseVisible" prop="timer">
         <el-form-item label="课程时长" v-if="courseVisible" prop="timer">
           <el-select v-model="maskForm.timer" @change="changeTime">
           <el-select v-model="maskForm.timer" @change="changeTime">
-            <el-option v-for="(item, index) in typeTimeList" :key="index" :disabled="item > baseTimer ? true : false"
-              :value="parseInt(item)" :label="item"></el-option>
+            <el-option
+              v-for="(item, index) in typeTimeList"
+              :key="index"
+              :disabled="item > baseTimer ? true : false"
+              :value="parseInt(item)"
+              :label="item"
+            ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item label="开始时间" v-if="courseVisible" prop="startTime">
         <el-form-item label="开始时间" v-if="courseVisible" prop="startTime">
-          <el-time-picker placeholder="起始时间" v-model.trim="maskForm.startTime" @change="changeStartTime" format="HH:mm"
-            value-format="HH:mm" :picker-options="{
+          <el-time-picker
+            placeholder="起始时间"
+            v-model.trim="maskForm.startTime"
+            @change="changeStartTime"
+            format="HH:mm"
+            value-format="HH:mm"
+            :picker-options="{
               selectableRange: `${nowTime} - 23:30:00`
               selectableRange: `${nowTime} - 23:30:00`
-            }"></el-time-picker>
+            }"
+          ></el-time-picker>
         </el-form-item>
         </el-form-item>
         <el-form-item label="结束时间" v-if="courseVisible" prop="endTime">
         <el-form-item label="结束时间" v-if="courseVisible" prop="endTime">
-          <el-time-select placeholder="结束时间" v-model.trim="maskForm.endTime" disabled :picker-options="{
-            start: '04:30',
-            step: '00:05',
-            end: '23:30',
-            minTime: maskForm.startTime
-          }"></el-time-select>
+          <el-time-select
+            placeholder="结束时间"
+            v-model.trim="maskForm.endTime"
+            disabled
+            :picker-options="{
+              start: '04:30',
+              step: '00:05',
+              end: '23:30',
+              minTime: maskForm.startTime
+            }"
+          ></el-time-select>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="教学地点" prop="schoolId" v-if="maskForm.courseScheduleType != 'HIGH_ONLINE' &&
-          maskForm.courseScheduleType != 'MUSIC_NETWORK'
-          ">
-          <el-select v-model.trim="maskForm.schoolId" style="width: 220px !important" filterable clearable>
-            <el-option v-for="(item, index) in schoolList" :key="index" :value="item.id" :label="item.name"></el-option>
+        <el-form-item
+          label="教学地点"
+          prop="schoolId"
+          v-if="
+            maskForm.courseScheduleType != 'HIGH_ONLINE' &&
+              maskForm.courseScheduleType != 'MUSIC_NETWORK'
+          "
+        >
+          <el-select
+            v-model.trim="maskForm.schoolId"
+            style="width: 220px !important"
+            filterable
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in schoolList"
+              :key="index"
+              :value="item.id"
+              :label="item.name"
+            ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
       </el-form>
       </el-form>
@@ -274,13 +474,27 @@
         <el-button type="primary" @click="submitResetClass">确 定</el-button>
         <el-button type="primary" @click="submitResetClass">确 定</el-button>
       </div>
       </div>
     </el-dialog>
     </el-dialog>
-    <el-dialog title="修改时间" width="400px" :before-close="handleCloseTimer" :visible.sync="timerVisible">
+    <el-dialog
+      title="修改时间"
+      width="400px"
+      :before-close="handleCloseTimer"
+      :visible.sync="timerVisible"
+    >
       <el-form :model="timerMask">
       <el-form :model="timerMask">
-        <el-form-item label="上课日期" :rules="[{ required: true, message: '请选择日期', trigger: 'blur' }]">
-          <el-date-picker v-model.trim="timerMask.timer" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
+        <el-form-item
+          label="上课日期"
+          :rules="[{ required: true, message: '请选择日期', trigger: 'blur' }]"
+        >
+          <el-date-picker
+            v-model.trim="timerMask.timer"
+            type="date"
+            format="yyyy-MM-dd"
+            value-format="yyyy-MM-dd"
             :picker-options="{
             :picker-options="{
               firstDayOfWeek: 1
               firstDayOfWeek: 1
-            }" placeholder="选择日期"></el-date-picker>
+            }"
+            placeholder="选择日期"
+          ></el-date-picker>
         </el-form-item>
         </el-form-item>
       </el-form>
       </el-form>
       <div slot="footer" class="dialog-footer">
       <div slot="footer" class="dialog-footer">
@@ -289,7 +503,11 @@
       </div>
       </div>
     </el-dialog>
     </el-dialog>
 
 
-    <el-dialog title="补考勤" width="400px" :visible.sync="markAttendance.status">
+    <el-dialog
+      title="补考勤"
+      width="400px"
+      :visible.sync="markAttendance.status"
+    >
       <el-form>
       <el-form>
         <el-form-item label="签到状态">{{
         <el-form-item label="签到状态">{{
           markAttendance.dataInfo.signInStatus | attendanceType
           markAttendance.dataInfo.signInStatus | attendanceType
@@ -306,36 +524,87 @@
       </el-form>
       </el-form>
       <div slot="footer" class="dialog-footer">
       <div slot="footer" class="dialog-footer">
         <el-button @click="markAttendance.status = false">取 消</el-button>
         <el-button @click="markAttendance.status = false">取 消</el-button>
-        <el-button type="primary" :disabled="markAttendance.dataInfo.signOutStatus == 1 &&
-          markAttendance.dataInfo.signInStatus == 1
-          ? true
-          : false
-          " @click="batchAdjustmentTime">确定补卡</el-button>
+        <el-button
+          type="primary"
+          :disabled="
+            markAttendance.dataInfo.signOutStatus == 1 &&
+            markAttendance.dataInfo.signInStatus == 1
+              ? true
+              : false
+          "
+          @click="batchAdjustmentTime"
+          >确定补卡</el-button
+        >
       </div>
       </div>
     </el-dialog>
     </el-dialog>
 
 
     <el-dialog title="点名表" width="800px" :visible.sync="rollCall.status">
     <el-dialog title="点名表" width="800px" :visible.sync="rollCall.status">
       <el-table :data="rollCall.gridData">
       <el-table :data="rollCall.gridData">
-        <el-table-column align="center" property="userName" label="学员姓名"></el-table-column>
-        <el-table-column align="center" property="phone" label="手机号"></el-table-column>
-        <el-table-column align="center" property="subjectName" label="学员声部"></el-table-column>
+        <el-table-column
+          align="center"
+          property="userName"
+          label="学员姓名"
+        ></el-table-column>
+        <el-table-column
+          align="center"
+          property="phone"
+          label="手机号"
+        ></el-table-column>
+        <el-table-column
+          align="center"
+          property="subjectName"
+          label="学员声部"
+        ></el-table-column>
         <el-table-column align="center" label="到课状态">
         <el-table-column align="center" label="到课状态">
           <template slot-scope="scope">{{
           <template slot-scope="scope">{{
             scope.row.status | studentCallName
             scope.row.status | studentCallName
           }}</template>
           }}</template>
         </el-table-column>
         </el-table-column>
-        <el-table-column align="center" v-if="!rollCall.selectItem.settlementTime" label="操作" width="240px">
+        <el-table-column
+          align="center"
+          v-if="!rollCall.selectItem.settlementTime"
+          label="操作"
+          width="240px"
+        >
           <template slot-scope="scope">
           <template slot-scope="scope">
-            <el-button size="mini" @click="onChangeRollCall('TRUANT', scope.row)" type="primary" round>未到</el-button>
-            <el-button size="mini" @click="onChangeRollCall('LEAVE', scope.row)" type="warning" round>请假</el-button>
-            <el-button size="mini" @click="onChangeRollCall('NORMAL', scope.row)" type="success" round>到课</el-button>
+            <el-button
+              size="mini"
+              @click="onChangeRollCall('TRUANT', scope.row)"
+              type="primary"
+              round
+              >未到</el-button
+            >
+            <el-button
+              size="mini"
+              @click="onChangeRollCall('LEAVE', scope.row)"
+              type="warning"
+              round
+              >请假</el-button
+            >
+            <el-button
+              size="mini"
+              @click="onChangeRollCall('NORMAL', scope.row)"
+              type="success"
+              round
+              >到课</el-button
+            >
           </template>
           </template>
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>
-      <pagination sync :total.sync="rollCall.total" :page.sync="rollCall.page" :limit.sync="rollCall.limit"
-        :page-sizes="rollCall.page_size" @pagination="getCallName" />
+      <pagination
+        sync
+        :total.sync="rollCall.total"
+        :page.sync="rollCall.page"
+        :limit.sync="rollCall.limit"
+        :page-sizes="rollCall.page_size"
+        @pagination="getCallName"
+      />
     </el-dialog>
     </el-dialog>
-    <transStart ref="transStart" :activeCourseList="activeCourseList" @getList="getList" />
+    <transStart
+      ref="transStart"
+      :activeCourseList="activeCourseList"
+      @getList="getList"
+    />
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
@@ -485,7 +754,7 @@ export default {
           organId: this.organId
           organId: this.organId
         });
         });
         this.courseTimeList = res.data;
         this.courseTimeList = res.data;
-      } catch { }
+      } catch {}
 
 
       // MusicStore.dispatch('getBaseInfo', {
       // MusicStore.dispatch('getBaseInfo', {
       //     data: { musicGroupId: this.teamid }
       //     data: { musicGroupId: this.teamid }
@@ -697,7 +966,7 @@ export default {
             }
             }
           });
           });
         })
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     },
     removeCourses() {
     removeCourses() {
       // 批量删除
       // 批量删除
@@ -723,7 +992,7 @@ export default {
             }
             }
           });
           });
         })
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     },
     submitResetClass() {
     submitResetClass() {
       let maskForm = this.maskForm;
       let maskForm = this.maskForm;
@@ -784,7 +1053,7 @@ export default {
             }
             }
           });
           });
         })
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     },
     handleClose() {
     handleClose() {
       this.courseVisible = false;
       this.courseVisible = false;
@@ -906,7 +1175,7 @@ export default {
             }
             }
           );
           );
         })
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     },
     changeStartTime(val) {
     changeStartTime(val) {
       this.$nextTick(res => {
       this.$nextTick(res => {
@@ -995,13 +1264,11 @@ export default {
 .cl-container {
 .cl-container {
   .topFrom {
   .topFrom {
     margin: 20px 30px 0;
     margin: 20px 30px 0;
-
     .classlist {
     .classlist {
       display: flex;
       display: flex;
       flex-direction: row;
       flex-direction: row;
       justify-content: flex-start;
       justify-content: flex-start;
       align-items: center;
       align-items: center;
-
       ul {
       ul {
         li {
         li {
           list-style: none;
           list-style: none;
@@ -1009,22 +1276,18 @@ export default {
       }
       }
     }
     }
   }
   }
-
   // .searchForm {
   // .searchForm {
   //   // margin: 0 30px;
   //   // margin: 0 30px;
   // }
   // }
 }
 }
-
 .btnWraps {
 .btnWraps {
   display: flex;
   display: flex;
   flex-direction: row;
   flex-direction: row;
   justify-content: flex-start;
   justify-content: flex-start;
-
   div {
   div {
     margin-right: 20px;
     margin-right: 20px;
   }
   }
 }
 }
-
 .maskForm {
 .maskForm {
   ::v-deep .el-input {
   ::v-deep .el-input {
     width: 220px;
     width: 220px;

+ 54 - 20
src/views/teamDetail/components/courseTransModals/startPlanCourse.vue

@@ -1,35 +1,68 @@
 <template>
 <template>
   <div>
   <div>
-    <el-dialog title="排课" append-to-body width="1080px" :visible.sync="transPlanVisible">
+    <el-dialog
+      title="排课"
+      append-to-body
+      width="1050px"
+      :visible.sync="transPlanVisible"
+    >
       <div v-if="myForm && myForm.classs && myForm.classs['HIGH_ONLINE']">
       <div v-if="myForm && myForm.classs && myForm.classs['HIGH_ONLINE']">
-        <el-form :model="myForm" :inline="true" ref="planform" label-suffix=": ">
+        <el-form
+          :model="myForm"
+          :inline="true"
+          ref="planform"
+          label-suffix=": "
+        >
           <div v-if="!isMoreClass">
           <div v-if="!isMoreClass">
             <p class="title">
             <p class="title">
               <span style="font-weight: 600">线上基础技能课</span>
               <span style="font-weight: 600">线上基础技能课</span>
               可排课时长:<span style="color: red">{{
               可排课时长:<span style="color: red">{{
                 form.courseConvertSum.courseMinute
                 form.courseConvertSum.courseMinute
-              }}</span>分钟
-              <span style="color: #333">已排课时长:
-                <span style="color: red"> {{ alltime }}分钟</span></span>
+              }}</span
+              >分钟
+              <span style="color: #333"
+                >已排课时长:
+                <span style="color: red"> {{ alltime }}分钟</span></span
+              >
             </p>
             </p>
 
 
-            <courseItem :form="myForm.classs['HIGH_ONLINE']" :teacherList="teacherList"
-              :surplustime="form.courseConvertSum.courseMinute" :activeType="'HIGH_ONLINE'" :coreid="myForm.coreTeacher"
-              :type="'HIGH_ONLINE'" :prices="prices" :holidays="holidays" @setUserTime="setUserTime" />
+            <courseItem
+              :form="myForm.classs['HIGH_ONLINE']"
+              :teacherList="teacherList"
+              :surplustime="form.courseConvertSum.courseMinute"
+              :activeType="'HIGH_ONLINE'"
+              :coreid="myForm.coreTeacher"
+              :type="'HIGH_ONLINE'"
+              :prices="prices"
+              :holidays="holidays"
+              @setUserTime="setUserTime"
+            />
           </div>
           </div>
           <div v-else>
           <div v-else>
             <p class="title">
             <p class="title">
               <span style="font-weight: 600">线上基础技能课</span>
               <span style="font-weight: 600">线上基础技能课</span>
               可排课时:<span style="color: red">{{
               可排课时:<span style="color: red">{{
                 form.courseConvertSum.courseNum
                 form.courseConvertSum.courseNum
-              }}</span>课时
-              <span style="color: #333">已排课时:
-                <span style="color: red"> {{ allNum }}课时</span></span>
+              }}</span
+              >课时
+              <span style="color: #333"
+                >已排课时:
+                <span style="color: red"> {{ allNum }}课时</span></span
+              >
             </p>
             </p>
-            <courseItem :form="myForm.classs['HIGH_ONLINE']" :teacherList="teacherList"
-              :surplustime="form.courseConvertSum.courseMinute" :surplusCourseNum="form.courseConvertSum.courseNum"
-              :activeType="'HIGH_ONLINE'" :coreid="myForm.coreTeacher" :type="'HIGH_ONLINE'" :prices="prices"
-              :holidays="holidays" @setUserCourse="setUserCourse" :isCourseNumType="true" />
+            <courseItem
+              :form="myForm.classs['HIGH_ONLINE']"
+              :teacherList="teacherList"
+              :surplustime="form.courseConvertSum.courseMinute"
+              :surplusCourseNum="form.courseConvertSum.courseNum"
+              :activeType="'HIGH_ONLINE'"
+              :coreid="myForm.coreTeacher"
+              :type="'HIGH_ONLINE'"
+              :prices="prices"
+              :holidays="holidays"
+              @setUserCourse="setUserCourse"
+              :isCourseNumType="true"
+            />
             <!-- setUserCourse -->
             <!-- setUserCourse -->
           </div>
           </div>
           <!--
           <!--
@@ -161,7 +194,7 @@ export default {
 
 
           if (this.alltime != this.form.courseConvertSum.courseMinute) {
           if (this.alltime != this.form.courseConvertSum.courseMinute) {
             await this.$alert(
             await this.$alert(
-              `<b>该班级剩余  <span style="color:red">${parseInt(this.form.courseConvertSum.courseMinute - this.alltime)}</span> 分钟时长未排课</b><br />所有班级排课完成且确认后,剩余时长将被清除,不可再次排课`,
+              `<b>该班级剩余  <span style="color:red">${parseInt(this.form.courseConvertSum.courseMinute-this.alltime)}</span> 分钟时长未排课</b><br />所有班级排课完成且确认后,剩余时长将被清除,不可再次排课`,
               {
               {
                 confirmButtonText: "确定",
                 confirmButtonText: "确定",
                 dangerouslyUseHTMLString: true,
                 dangerouslyUseHTMLString: true,
@@ -174,8 +207,8 @@ export default {
             return;
             return;
           }
           }
           if (this.allNum != this.form.courseConvertSum.courseNum) {
           if (this.allNum != this.form.courseConvertSum.courseNum) {
-            await this.$alert(
-              `<b>该班级剩余  <span style="color:red">${parseInt(this.form.courseConvertSum.courseNum - this.allNum)}</span> 课时未排课</b><br />所有班级排课完成且确认后,剩余课时将被清除,不可再次排课`,
+        await  this.$alert(
+              `<b>该班级剩余  <span style="color:red">${parseInt(this.form.courseConvertSum.courseNum-this.allNum)}</span> 课时未排课</b><br />所有班级排课完成且确认后,剩余课时将被清除,不可再次排课`,
               {
               {
                 confirmButtonText: "确定",
                 confirmButtonText: "确定",
                 dangerouslyUseHTMLString: true,
                 dangerouslyUseHTMLString: true,
@@ -212,7 +245,7 @@ export default {
             ...this.myForm,
             ...this.myForm,
             userIds: this.myForm.studentList.join(","),
             userIds: this.myForm.studentList.join(","),
             type: key,
             type: key,
-            allowZeroSalary: true
+            allowZeroSalary:true
           };
           };
           try {
           try {
             let arr = [data];
             let arr = [data];
@@ -305,4 +338,5 @@ export default {
   },
   },
 };
 };
 </script>
 </script>
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+</style>

+ 47 - 12
src/views/teamDetail/components/modals/change-teacher.vue

@@ -1,21 +1,56 @@
 <template>
 <template>
   <div>
   <div>
-    <el-form :model="form" ref="form" label-position="right" label-width="80px;" :inline="true">
-      <el-form-item label="主教老师" prop="coreTeacher" :rules="[{ required: true, message: '请选择主教老师' }]">
-        <el-select v-model.trim="form.coreTeacher" placeholder="请选择主教老师" clearable filterable>
-          <el-option v-for="(item, index) in teacherList" :key="index" :label="item.realName" :value="String(item.id)">
-            <span style="float: left">{{ item.realName }}</span>
+    <el-form
+      :model="form"
+      ref="form"
+      label-position="right"
+      label-width="80px;"
+      :inline="true"
+    >
+      <el-form-item
+        label="主教老师"
+        prop="coreTeacher"
+        :rules="[{ required: true, message: '请选择主教老师' }]"
+      >
+        <el-select
+          v-model.trim="form.coreTeacher"
+          placeholder="请选择主教老师"
+          clearable
+          filterable
+        >
+          <el-option
+            v-for="(item, index) in teacherList"
+            :key="index"
+            :label="item.realName"
+            :value="String(item.id)"
+          >
+          <span style="float: left">{{ item.realName }}</span>
             <span style="float: right; color: #8492a6; font-size: 13px">{{
             <span style="float: right; color: #8492a6; font-size: 13px">{{
               String(item.id)
               String(item.id)
             }}</span>
             }}</span>
           </el-option>
           </el-option>
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
-      <el-form-item label="助教老师" prop="assistant"
-        v-if="type != 'HIGH' && type != 'HIGH_ONLINE' && type != 'MUSIC_NETWORK' && $helpers.permission('is/teacher/findTeachers')">
-        <el-select v-model.trim="form.assistant" placeholder="请选择助教老师" filterable clearable collapse-tags multiple>
-          <el-option v-for="(item, index) in cooperationList" :key="index" :label="item.realName" :value="item.id">
-            <span style="float: left">{{ item.realName }}</span>
+      <el-form-item
+        label="助教老师"
+        prop="assistant"
+        v-if="type!='HIGH'&&type!='HIGH_ONLINE'&&type!='MUSIC_NETWORK'"
+      >
+        <el-select
+          v-model.trim="form.assistant"
+          placeholder="请选择助教老师"
+          filterable
+          clearable
+          collapse-tags
+          multiple
+        >
+          <el-option
+            v-for="(item, index) in cooperationList"
+            :key="index"
+            :label="item.realName"
+            :value="item.id"
+          >
+          <span style="float: left">{{ item.realName }}</span>
             <span style="float: right; color: #8492a6; font-size: 13px">{{
             <span style="float: right; color: #8492a6; font-size: 13px">{{
               String(item.id)
               String(item.id)
             }}</span>
             }}</span>
@@ -57,10 +92,10 @@ export default {
     }
     }
   },
   },
   methods: {
   methods: {
-    subresetTeacher() {
+    subresetTeacher () {
       this.$refs.form.validate(some => {
       this.$refs.form.validate(some => {
         if (some) {
         if (some) {
-          this.$emit('submited', { ...this.form });
+          this.$emit('submited', {...this.form});
         } else {
         } else {
           return;
           return;
         }
         }

+ 66 - 29
src/views/teamDetail/components/modals/class-new-info.vue

@@ -1,11 +1,22 @@
 <template>
 <template>
   <div>
   <div>
-    <el-form :model="maskForm" class="maskForm" ref="maskForm" :rules="maskRules" label-position="right"
-      label-width="120px" :inline="true">
+    <el-form
+      :model="maskForm"
+      class="maskForm"
+      ref="maskForm"
+      :rules="maskRules"
+      label-position="right"
+      label-width="120px"
+      :inline="true"
+    >
       <el-row>
       <el-row>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item label="课程名称" prop="name">
           <el-form-item label="课程名称" prop="name">
-            <el-input v-model.trim="maskForm.name" style="width: 220px !important" placeholder="请输入课程名称"></el-input>
+            <el-input
+              v-model.trim="maskForm.name"
+              style="width: 220px !important"
+              placeholder="请输入课程名称"
+            ></el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <!-- <el-col :span="12">
         <!-- <el-col :span="12">
@@ -21,24 +32,49 @@
       <el-row>
       <el-row>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item label="主教老师" prop="teacher">
           <el-form-item label="主教老师" prop="teacher">
-            <el-select v-model.trim="maskForm.teacher" style="width: 220px !important" clearable filterable>
-              <el-option v-for="(item, index) in teacherList" :key="index" :value="item.id"
-                :label="item.realName"></el-option>
+            <el-select
+              v-model.trim="maskForm.teacher"
+              style="width: 220px !important"
+              clearable
+              filterable
+            >
+              <el-option
+                v-for="(item, index) in teacherList"
+                :key="index"
+                :value="item.id"
+                :label="item.realName"
+              ></el-option>
             </el-select>
             </el-select>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
-        <el-col :span="12" v-if="$helpers.permission('is/teacher/findTeachers')">
-          <el-form-item label="助教老师" prop="assistant">
-            <el-select v-model.trim="maskForm.assistant" style="width: 220px !important" clearable filterable multiple
-              collapse-tags>
-              <el-option v-for="(item, index) in teacherList" :key="index" :value="item.id"
-                :label="item.realName"></el-option>
+        <el-col :span="12">
+          <el-form-item
+            label="助教老师"
+            prop="assistant"
+          >
+            <el-select
+              v-model.trim="maskForm.assistant"
+              style="width: 220px !important"
+              clearable
+              filterable
+              multiple
+              collapse-tags
+            >
+              <el-option
+                v-for="(item, index) in teacherList"
+                :key="index"
+                :value="item.id"
+                :label="item.realName"
+              ></el-option>
             </el-select>
             </el-select>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
-      <viewStudentList :list="studentList" :isChiose="false" :showOk='false' />
-
+       <viewStudentList
+        :list="studentList"
+        :isChiose="false"
+        :showOk='false'/>
+  
     </el-form>
     </el-form>
   </div>
   </div>
 </template>
 </template>
@@ -46,8 +82,8 @@
 import selects from '@/store/modules/selects';
 import selects from '@/store/modules/selects';
 import viewStudentList from "./view-student-list";
 import viewStudentList from "./view-student-list";
 export default {
 export default {
-  props: ["musicGroupPaymentCalenderDtos", 'form'],
-  components: { viewStudentList },
+  props: ["musicGroupPaymentCalenderDtos",'form'],
+  components:{viewStudentList},
   data() {
   data() {
     return {
     return {
       maskForm: {
       maskForm: {
@@ -62,25 +98,26 @@ export default {
         ],
         ],
 
 
       },
       },
-      studentList: [],
-      teacherList: []
+      studentList:[],
+      teacherList:[]
     };
     };
   },
   },
-  mounted() {
-    this.$store.dispatch('setTeachers')
-    this.teacherList = this.selects.teachers
-    this.studentList = []
-    this.form.classList.forEach(classes => {
-      this.studentList = this.studentList.concat(classes.studentList)
-    })
+  mounted(){
+      this.$store.dispatch('setTeachers')
+      this.teacherList = this.selects.teachers
+      this.studentList = []
+      this.form.classList.forEach(classes=>{
+          this.studentList = this.studentList.concat(classes.studentList)
+      })
 
 
 
 
   },
   },
-  methods: {
-    submitResetClass() {
+  methods:{
+      submitResetClass(){
 
 
-    }
+      }
   }
   }
 };
 };
 </script>
 </script>
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+</style>

+ 61 - 16
src/views/teamDetail/components/modals/class-pay-list.vue

@@ -1,29 +1,75 @@
 <template>
 <template>
   <div>
   <div>
     <el-alert title="课程时长设置" type="info" :closable="false"> </el-alert>
     <el-alert title="课程时长设置" type="info" :closable="false"> </el-alert>
-    <el-form :model="courseTimeForm" ref="courseTimeForms" :inline="true" style="margin-top: 20px">
-      <el-form-item v-for="(item, index) in courseTimeForm.timeList" :key="index" :label="item.label"
-        :prop="'timeList.' + index + '.value'" :rules="[
+    <el-form
+      :model="courseTimeForm"
+      ref="courseTimeForms"
+      :inline="true"
+      style="margin-top: 20px"
+    >
+      <el-form-item
+        v-for="(item, index) in courseTimeForm.timeList"
+        :key="index"
+        :label="item.label"
+        :prop="'timeList.' + index + '.value'"
+        :rules="[
           { required: true, message: '请选择课程时长', trigger: 'blur' },
           { required: true, message: '请选择课程时长', trigger: 'blur' },
-        ]" label-width="100px">
-        <el-select clearable v-model="item.value" placeholder="请选择课程时长" @change="(val) => setCourseTime(item, val)">
-          <el-option v-for="(time, index) in item.list" :key="index" :value="time" :label="time"></el-option>
+        ]"
+        label-width="100px"
+      >
+        <el-select
+          clearable
+          v-model="item.value"
+          placeholder="请选择课程时长"
+          @change="(val) => setCourseTime(item, val)"
+        >
+          <el-option
+            v-for="(time, index) in item.list"
+            :key="index"
+            :value="time"
+            :label="time"
+          ></el-option>
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
     </el-form>
     </el-form>
-    <classPayListItem :payInfo="payInfo" ref="base" :courseTypesByType="courseTypesByType"
-      v-for="(item, index) in form.classList" :key="index" :item="item" :index="index" />
+    <classPayListItem
+      :payInfo="payInfo"
+      ref="base"
+      :courseTypesByType="courseTypesByType"
+      v-for="(item, index) in form.classList"
+      :key="index"
+      :item="item"
+      :index="index"
+    />
     <div slot="footer" class="dialog-footer">
     <div slot="footer" class="dialog-footer">
       <el-button @click="close">上一步</el-button>
       <el-button @click="close">上一步</el-button>
       <el-button type="primary" @click="gotoLast">下一步</el-button>
       <el-button type="primary" @click="gotoLast">下一步</el-button>
     </div>
     </div>
     <div style="clear: both"></div>
     <div style="clear: both"></div>
-    <el-dialog :visible.sync="showLastVisable" title="结果确认" append-to-body width="800px">
-      <classSetting :form="form" ref="classSetting" :musicGroupPaymentCalenderDtos="musicGroupPaymentCalenderDtos"
-        :classType="5" :musicGroupId="teamid" :activeType="activeType" :courseTypeList="courseTypeList"
-        :studentSubmitedData="studentSubmitedData" :classIdList="classIdList" :classGroupStudents="classGroupStudents"
-        :selectPrices="classCourseMinuteMap" :classCouresTimeList="classCouresTimeList" :teacherList="teacherList"
-        :cooperationList="teacherList" @close="showLastVisable = false" v-if="showLastVisable" />
+    <el-dialog
+      :visible.sync="showLastVisable"
+      title="结果确认"
+      append-to-body
+      width="800px"
+    >
+      <classSetting
+        :form="form"
+        ref="classSetting"
+        :musicGroupPaymentCalenderDtos="musicGroupPaymentCalenderDtos"
+        :classType="5"
+        :musicGroupId="teamid"
+        :activeType="activeType"
+        :courseTypeList="courseTypeList"
+        :studentSubmitedData="studentSubmitedData"
+        :classIdList="classIdList"
+        :classGroupStudents="classGroupStudents"
+        :selectPrices="classCourseMinuteMap"
+        :classCouresTimeList="classCouresTimeList"
+        :teacherList="teacherList"
+        :cooperationList="teacherList"
+        @close="showLastVisable = false"
+        v-if="showLastVisable"
+      />
       <div slot="footer" class="dialog-footer">
       <div slot="footer" class="dialog-footer">
         <el-button @click="showLastVisable = false">上一步</el-button>
         <el-button @click="showLastVisable = false">上一步</el-button>
         <el-button type="primary" @click="submitResetClass">确 定</el-button>
         <el-button type="primary" @click="submitResetClass">确 定</el-button>
@@ -90,7 +136,7 @@ export default {
         this.organCourseTime = res.data;
         this.organCourseTime = res.data;
 
 
         this.setTimeList(res.data);
         this.setTimeList(res.data);
-      } catch { }
+      } catch {}
     });
     });
   },
   },
   methods: {
   methods: {
@@ -216,7 +262,6 @@ export default {
   display: inline-block;
   display: inline-block;
   color: #409eff;
   color: #409eff;
 }
 }
-
 .dialog-footer {
 .dialog-footer {
   text-align: right;
   text-align: right;
 }
 }

+ 31 - 8
src/views/teamDetail/components/modals/classList-group.vue

@@ -1,8 +1,16 @@
 <template>
 <template>
   <div>
   <div>
     <el-form :model="form" ref="form">
     <el-form :model="form" ref="form">
-      <classListItem v-for="(item, index) in form.classList" :key="index" :index="index" :item="item"
-        @deteleClass="deteleClass" :form="form" :classList="activeClassList" @filterClassList="filterClassList" />
+      <classListItem
+        v-for="(item, index) in form.classList"
+        :key="index"
+        :index="index"
+        :item="item"
+        @deteleClass="deteleClass"
+        :form="form"
+        :classList="activeClassList"
+        @filterClassList="filterClassList"
+      />
     </el-form>
     </el-form>
     <!-- <el-button
     <!-- <el-button
       icon="el-icon-circle-plus-outline"
       icon="el-icon-circle-plus-outline"
@@ -14,10 +22,24 @@
       :disabled="form.classList.length >= classList.length"
       :disabled="form.classList.length >= classList.length"
       >添加班级</el-button
       >添加班级</el-button
     > -->
     > -->
-    <el-dialog :visible.sync="showSecondVisable" title="缴费信息设置" append-to-body width="800px">
-      <classPayList :classIdList="classIdList" :addCourseType="addCourseType" :courseTypesByType="courseTypesByType"
-        :classMaxCourseNumMap="classMaxCourseNumMap" :form="form" :teacherList="teacherList" :payInfo.sync="payInfo"
-        @resetPayInfo="resetPayInfo" @close="showSecondVisable = false" v-if="showSecondVisable" />
+    <el-dialog
+      :visible.sync="showSecondVisable"
+      title="缴费信息设置"
+      append-to-body
+      width="800px"
+    >
+      <classPayList
+        :classIdList="classIdList"
+        :addCourseType="addCourseType"
+        :courseTypesByType="courseTypesByType"
+        :classMaxCourseNumMap="classMaxCourseNumMap"
+        :form="form"
+        :teacherList="teacherList"
+        :payInfo.sync="payInfo"
+        @resetPayInfo="resetPayInfo"
+        @close="showSecondVisable = false"
+        v-if="showSecondVisable"
+      />
     </el-dialog>
     </el-dialog>
   </div>
   </div>
 </template>
 </template>
@@ -87,7 +109,7 @@ export default {
             this.addCourseType = result.data.groupTypeSet;
             this.addCourseType = result.data.groupTypeSet;
             this.classMaxCourseNumMap = result.data.classMaxCourseNumMap;
             this.classMaxCourseNumMap = result.data.classMaxCourseNumMap;
             this.showSecondVisable = true;
             this.showSecondVisable = true;
-          } catch { }
+          } catch {}
         }
         }
       });
       });
     },
     },
@@ -149,4 +171,5 @@ export default {
   },
   },
 };
 };
 </script>
 </script>
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+</style>

+ 224 - 85
src/views/teamDetail/components/modals/classroom-setting-item.vue

@@ -11,15 +11,33 @@
       </el-radio-group>
       </el-radio-group>
     </el-form-item> -->
     </el-form-item> -->
 
 
-    <el-table v-if="form && form.cycle && form.cycle.length > 0" :data="form.cycle" :show-header="false">
+    <el-table
+      v-if="form && form.cycle && form.cycle.length > 0"
+      :data="form.cycle"
+      :show-header="false"
+    >
       <el-table-column>
       <el-table-column>
         <template slot-scope="scope">
         <template slot-scope="scope">
           <div>
           <div>
-            <el-form-item :prop="'classs.' + type + '.cycle.' + scope.$index + '.coreTeacher'
-              " label-width="88px" :rules="[{ required: true, message: '请选择主教老师' }]">
-              <el-select v-model.trim="scope.row.coreTeacher" placeholder="请选择主教老师" clearable filterable>
-                <el-option v-for="(item, index) in teacherList" :key="index" :label="item.realName"
-                  :value="String(item.id)">
+            <el-form-item
+              :prop="
+                'classs.' + type + '.cycle.' + scope.$index + '.coreTeacher'
+              "
+              label-width="88px"
+              :rules="[{ required: true, message: '请选择主教老师' }]"
+            >
+              <el-select
+                v-model.trim="scope.row.coreTeacher"
+                placeholder="请选择主教老师"
+                clearable
+                filterable
+              >
+                <el-option
+                  v-for="(item, index) in teacherList"
+                  :key="index"
+                  :label="item.realName"
+                  :value="String(item.id)"
+                >
                   <span style="float: left">{{ item.realName }}</span>
                   <span style="float: left">{{ item.realName }}</span>
                   <span style="float: right; color: #8492a6; font-size: 13px">{{
                   <span style="float: right; color: #8492a6; font-size: 13px">{{
                     String(item.id)
                     String(item.id)
@@ -27,17 +45,31 @@
                 </el-option>
                 </el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
-            <el-form-item prop="assistant" v-if="activeType != 'HIGH' &&
-              activeType != 'HIGH_ONLINE' &&
-              activeType != 'MUSIC_NETWORK' &&
-              type != 'HIGH' &&
-              type != 'HIGH_ONLINE' &&
-              type != 'MUSIC_NETWORK' &&
-              $helpers.permission('is/teacher/findTeachers')
-              ">
-              <el-select v-model.trim="scope.row.assistant" placeholder="请选择助教老师" filterable clearable multiple
-                collapse-tags>
-                <el-option v-for="(item, index) in cooperationList" :key="index" :label="item.realName" :value="item.id">
+            <el-form-item
+              prop="assistant"
+              v-if="
+                activeType != 'HIGH' &&
+                activeType != 'HIGH_ONLINE' &&
+                activeType != 'MUSIC_NETWORK' &&
+                type != 'HIGH' &&
+                type != 'HIGH_ONLINE' &&
+                type != 'MUSIC_NETWORK'
+              "
+            >
+              <el-select
+                v-model.trim="scope.row.assistant"
+                placeholder="请选择助教老师"
+                filterable
+                clearable
+                multiple
+                collapse-tags
+              >
+                <el-option
+                  v-for="(item, index) in cooperationList"
+                  :key="index"
+                  :label="item.realName"
+                  :value="item.id"
+                >
                   <span style="float: left">{{ item.realName }}</span>
                   <span style="float: left">{{ item.realName }}</span>
                   <span style="float: right; color: #8492a6; font-size: 13px">{{
                   <span style="float: right; color: #8492a6; font-size: 13px">{{
                     String(item.id)
                     String(item.id)
@@ -45,96 +77,203 @@
                 </el-option>
                 </el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
-            <el-form-item :prop="'classs.' + type + '.cycle.' + scope.$index + '.time'" :rules="[
-              { required: true, message: '请选择课程时长', trigger: 'blur' },
-            ]" inline-message>
-              <el-select v-model.trim="scope.row.time" style="width: 180px !important" placeholder="请选择课程时长" clearable
-                :disabled="!!selectPrice" @change="(val) => {
-                  startTimeChange(scope, val);
-                }
-                  " filterable>
-                <el-option v-for="(item, index) in pricesArray" :key="index" :disabled="surplustime + (parseFloat(scope.row.time) || 0) < item
-                  " :label="item" :value="item">
+            <el-form-item
+              :prop="'classs.' + type + '.cycle.' + scope.$index + '.time'"
+              :rules="[
+                { required: true, message: '请选择课程时长', trigger: 'blur' },
+              ]"
+              inline-message
+            >
+              <el-select
+                v-model.trim="scope.row.time"
+                style="width: 180px !important"
+                placeholder="请选择课程时长"
+                clearable
+                :disabled="!!selectPrice"
+                @change="
+                  (val) => {
+                    startTimeChange(scope, val);
+                  }
+                "
+                filterable
+              >
+                <el-option
+                  v-for="(item, index) in pricesArray"
+                  :key="index"
+                  :disabled="
+                    surplustime + (parseFloat(scope.row.time) || 0) < item
+                  "
+                  :label="item"
+                  :value="item"
+                >
                 </el-option>
                 </el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
-            <el-form-item :prop="'classs.' + type + '.cycle.' + scope.$index + '.expectCourseNum'
-              " :rules="[
-    { required: true, message: '请输入预计课时数' },
-    { pattern: /^\+?[1-9]\d*$/, message: '请输入大于0的正整数' },
-    { validator: validateNum },
-  ]" inline-message>
-              <el-input style="width: 180px !important" type="number" v-model.trim="scope.row.expectCourseNum"
-                placeholder="请输入预计课数" @input="(val) => {
-                  getUseTime(scope.row);
-                }
-                  ">
+            <el-form-item
+              :prop="
+                'classs.' + type + '.cycle.' + scope.$index + '.expectCourseNum'
+              "
+              :rules="[
+                { required: true, message: '请输入预计课时数' },
+                { pattern: /^\+?[1-9]\d*$/, message: '请输入大于0的正整数' },
+                { validator: validateNum },
+              ]"
+              inline-message
+            >
+              <el-input
+                style="width: 180px !important"
+                type="number"
+                v-model.trim="scope.row.expectCourseNum"
+                placeholder="请输入预计课数"
+                @input="
+                  (val) => {
+                    getUseTime(scope.row);
+                  }
+                "
+              >
               </el-input>
               </el-input>
             </el-form-item>
             </el-form-item>
-            <el-form-item inline-message :rules="[{ required: true, message: '请选择循环周期' }]"
-              :prop="'classs.' + type + '.cycle.' + scope.$index + '.dayOfWeek'">
-              <el-select v-model.trim="scope.row.dayOfWeek" style="width: 180px !important" placeholder="请选择循环周期"
-                clearable filterable @change="(val) => {
-                  getUseTime(scope.row);
-                }
-                  ">
-                <el-option v-for="(item, index) in weekDateList" :key="index" :label="item.label" :value="item.value">
+            <el-form-item
+              inline-message
+              :rules="[{ required: true, message: '请选择循环周期' }]"
+              :prop="'classs.' + type + '.cycle.' + scope.$index + '.dayOfWeek'"
+            >
+              <el-select
+                v-model.trim="scope.row.dayOfWeek"
+                style="width: 180px !important"
+                placeholder="请选择循环周期"
+                clearable
+                filterable
+                @change="
+                  (val) => {
+                    getUseTime(scope.row);
+                  }
+                "
+              >
+                <el-option
+                  v-for="(item, index) in weekDateList"
+                  :key="index"
+                  :label="item.label"
+                  :value="item.value"
+                >
                 </el-option>
                 </el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
-            <el-form-item :prop="'classs.' + type + '.cycle.' + scope.$index + '.startClassTime'
-              " :rules="[{ required: true, message: '请选择开始时间' }]" inline-message>
-              <el-time-picker style="width: 180px !important" v-model.trim="scope.row.startClassTime" format="HH:mm"
-                value-format="HH:mm" placeholder="请选择开始时间" @change="timeChange(scope.row)" :picker-options="{
+            <el-form-item
+              :prop="
+                'classs.' + type + '.cycle.' + scope.$index + '.startClassTime'
+              "
+              :rules="[{ required: true, message: '请选择开始时间' }]"
+              inline-message
+            >
+              <el-time-picker
+                style="width: 180px !important"
+                v-model.trim="scope.row.startClassTime"
+                format="HH:mm"
+                value-format="HH:mm"
+                placeholder="请选择开始时间"
+                @change="timeChange(scope.row)"
+                :picker-options="{
                   selectableRange: ['06:00:00 - 23:59:59'],
                   selectableRange: ['06:00:00 - 23:59:59'],
-                }">
+                }"
+              >
               </el-time-picker>
               </el-time-picker>
             </el-form-item>
             </el-form-item>
-            <el-form-item :prop="'classs.' + type + '.cycle.' + scope.$index + '.endClassTime'
-              " inline-message>
-              <el-time-picker style="width: 180px !important" v-model.trim="scope.row.endClassTime" format="HH:mm"
-                disabled value-format="HH:mm" placeholder="请选择结束时间" :picker-options="{
+            <el-form-item
+              :prop="
+                'classs.' + type + '.cycle.' + scope.$index + '.endClassTime'
+              "
+              inline-message
+            >
+              <el-time-picker
+                style="width: 180px !important"
+                v-model.trim="scope.row.endClassTime"
+                format="HH:mm"
+                disabled
+                value-format="HH:mm"
+                placeholder="请选择结束时间"
+                :picker-options="{
                   selectableRange: [
                   selectableRange: [
                     scope.row.startClassTime + ':00 - 23:59:59',
                     scope.row.startClassTime + ':00 - 23:59:59',
                   ],
                   ],
-                }">
+                }"
+              >
               </el-time-picker>
               </el-time-picker>
             </el-form-item>
             </el-form-item>
-            <el-form-item :prop="'classs.' + type + '.cycle.' + scope.$index + '.holiday'"
-              :rules="[{ required: true, message: '请选择是否跳过节假日' }]" inline-message>
-              <el-select v-model.trim="scope.row.holiday" style="width: 180px !important" placeholder="是否跳过节假日" filterable
-                @change="holidayChange(scope.row)">
+            <el-form-item
+              :prop="'classs.' + type + '.cycle.' + scope.$index + '.holiday'"
+              :rules="[{ required: true, message: '请选择是否跳过节假日' }]"
+              inline-message
+            >
+              <el-select
+                v-model.trim="scope.row.holiday"
+                style="width: 180px !important"
+                placeholder="是否跳过节假日"
+                filterable
+                @change="holidayChange(scope.row)"
+              >
                 <el-option label="是" :value="true"></el-option>
                 <el-option label="是" :value="true"></el-option>
                 <el-option label="否" :value="false"> </el-option>
                 <el-option label="否" :value="false"> </el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
-            <el-form-item inline-message :prop="'classs.' + type + '.cycle.' + scope.$index + '.startDate'"
-              :rules="[{ required: true, message: '请选择排课起始日期' }]">
-              <el-date-picker v-model.trim="scope.row.startDate" :picker-options="pickerOptions"
-                style="width: 180px !important" type="date" value-format="yyyy-MM-dd" placeholder="排课起始日期" @change="(val) => {
-                  changeStartDate(val, scope.row);
-                }
-                  ">
+            <el-form-item
+              inline-message
+              :prop="'classs.' + type + '.cycle.' + scope.$index + '.startDate'"
+              :rules="[{ required: true, message: '请选择排课起始日期' }]"
+            >
+              <el-date-picker
+                v-model.trim="scope.row.startDate"
+                :picker-options="pickerOptions"
+                style="width: 180px !important"
+                type="date"
+                value-format="yyyy-MM-dd"
+                placeholder="排课起始日期"
+                @change="
+                  (val) => {
+                    changeStartDate(val, scope.row);
+                  }
+                "
+              >
               </el-date-picker>
               </el-date-picker>
             </el-form-item>
             </el-form-item>
-            <el-form-item inline-message :prop="'classs.' + type + '.cycle.' + scope.$index + '.endDate'" :rules="[
-              { required: true, message: '请选择排课结束日期' },
-              { required: true, trigger: 'change', validator: validatePass },
-            ]">
-              <el-date-picker v-model.trim="scope.row.endDate" :disabled="true" :picker-options="pickerOptions"
-                style="width: 180px !important" type="date" value-format="yyyy-MM-dd" placeholder="排课结束日期">
+            <el-form-item
+              inline-message
+              :prop="'classs.' + type + '.cycle.' + scope.$index + '.endDate'"
+              :rules="[
+                { required: true, message: '请选择排课结束日期' },
+                { required: true, trigger: 'change', validator: validatePass },
+              ]"
+            >
+              <el-date-picker
+                v-model.trim="scope.row.endDate"
+                :disabled="true"
+                :picker-options="pickerOptions"
+                style="width: 180px !important"
+                type="date"
+                value-format="yyyy-MM-dd"
+                placeholder="排课结束日期"
+              >
               </el-date-picker>
               </el-date-picker>
             </el-form-item>
             </el-form-item>
 
 
-            <i @click="remove(scope.$index, scope)" v-if="form.cycle.length > 1"
-              class="close-icon el-icon-circle-close"></i>
+            <i
+              @click="remove(scope.$index, scope)"
+              v-if="form.cycle.length > 1"
+              class="close-icon el-icon-circle-close"
+            ></i>
           </div>
           </div>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
     </el-table>
     </el-table>
-    <el-button icon="el-icon-circle-plus-outline" type="info" plain
-      :disabled="surplustime < (selectPrice || 0 || Math.min(...pricesArray))" @click="create"
-      style="margin-top: 10px; width: 100%">添加循环</el-button>
+    <el-button
+      icon="el-icon-circle-plus-outline"
+      type="info"
+      plain
+      :disabled="surplustime < (selectPrice || 0 || Math.min(...pricesArray))"
+      @click="create"
+      style="margin-top: 10px; width: 100%"
+      >添加循环</el-button
+    >
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
@@ -268,7 +407,7 @@ export default {
         this.$set(item.row, "endClassTime", "");
         this.$set(item.row, "endClassTime", "");
       }
       }
       if (val) {
       if (val) {
-        console.log('isCourseNumType', this.isCourseNumType)
+        console.log('isCourseNumType',this.isCourseNumType)
         if (!this.isCourseNumType) {
         if (!this.isCourseNumType) {
           let activeTime = val * Math.max(item.row.expectCourseNum || 0, 0);
           let activeTime = val * Math.max(item.row.expectCourseNum || 0, 0);
           if (this.endSchoolTerm) {
           if (this.endSchoolTerm) {
@@ -284,14 +423,14 @@ export default {
               parseInt((this.surplustime - this.useTime + activeTime) / val)
               parseInt((this.surplustime - this.useTime + activeTime) / val)
             );
             );
           }
           }
-        } else {
+        }else{
           console.log('课时排课')
           console.log('课时排课')
-          let num = parseInt((this.surplusCourseNum - this.useCourseNum)) > 0 ? parseInt((this.surplusCourseNum - this.useCourseNum)) : 0
+          let num =  parseInt((this.surplusCourseNum -  this.useCourseNum))>0? parseInt((this.surplusCourseNum -  this.useCourseNum)):0
           this.$set(
           this.$set(
-            item.row,
-            "expectCourseNum",
-            parseInt(num)
-          );
+              item.row,
+              "expectCourseNum",
+              parseInt(num)
+            );
 
 
         }
         }
         // this.surplusTime
         // this.surplusTime

+ 77 - 23
src/views/teamDetail/components/modals/classroom-setting-merge.vue

@@ -1,14 +1,45 @@
 <template>
 <template>
   <div>
   <div>
-    <el-form :model="form" inline ref="form" label-suffix=": " label-width="130px">
+    <el-form
+      :model="form"
+      inline
+      ref="form"
+      label-suffix=": "
+      label-width="130px"
+    >
       <el-row v-if="classType == 5">
       <el-row v-if="classType == 5">
-        <el-form-item label="班级名称" prop="className" label-width="88px" :rules="[{ required: true, message: '请填写班级名称' }]">
-          <el-input v-model.trim="form.className" placeholder="请输入班级名称" style="width: 180px"></el-input>
+        <el-form-item
+          label="班级名称"
+          prop="className"
+          label-width="88px"
+          :rules="[{ required: true, message: '请填写班级名称' }]"
+        >
+          <el-input
+            v-model.trim="form.className"
+            placeholder="请输入班级名称"
+            style="width: 180px"
+          ></el-input>
         </el-form-item>
         </el-form-item>
       </el-row>
       </el-row>
-      <el-form-item label="主教老师" prop="coreTeacher" label-width="88px" :rules="[{ required: true, message: '请选择主教老师' }]">
-        <el-select v-model.trim="form.coreTeacher" placeholder="请选择主教老师" clearable filterable @change="changecoreTeacher">
-          <el-option v-for="(item, index) in teacherList" :key="index" :label="item.realName" :value="String(item.id)">
+      <el-form-item
+        label="主教老师"
+        prop="coreTeacher"
+        label-width="88px"
+        :rules="[{ required: true, message: '请选择主教老师' }]"
+      >
+        <el-select
+          v-model.trim="form.coreTeacher"
+          placeholder="请选择主教老师"
+          clearable
+          filterable
+          @change="changecoreTeacher"
+        >
+          <el-option
+            v-for="(item, index) in teacherList"
+            :key="index"
+            :label="item.realName"
+            :value="String(item.id)"
+          >
             <span style="float: left">{{ item.realName }}</span>
             <span style="float: left">{{ item.realName }}</span>
             <span style="float: right; color: #8492a6; font-size: 13px">{{
             <span style="float: right; color: #8492a6; font-size: 13px">{{
               String(item.id)
               String(item.id)
@@ -17,14 +48,29 @@
         </el-select>
         </el-select>
         <!-- <remote-search :commit="'setTeachers'" v-model="form.coreTeacher"  /> -->
         <!-- <remote-search :commit="'setTeachers'" v-model="form.coreTeacher"  /> -->
       </el-form-item>
       </el-form-item>
-      <el-form-item label="助教老师" prop="assistant" v-if="activeType != 'HIGH' &&
-        activeType != 'HIGH_ONLINE' &&
-        activeType != 'MUSIC_NETWORK' &&
-        $helpers.permission('is/teacher/findTeachers')
-        ">
+      <el-form-item
+        label="助教老师"
+        prop="assistant"
+        v-if="
+          activeType != 'HIGH' &&
+          activeType != 'HIGH_ONLINE' &&
+          activeType != 'MUSIC_NETWORK'
+        "
+      >
         <!-- <remote-search :commit="'setTeachers'" v-model="form.assistant"  :multiple='true'/> -->
         <!-- <remote-search :commit="'setTeachers'" v-model="form.assistant"  :multiple='true'/> -->
-        <el-select v-model.trim="form.assistant" placeholder="请选择助教老师" filterable clearable multiple>
-          <el-option v-for="(item, index) in cooperationList" :key="index" :label="item.realName" :value="item.id">
+        <el-select
+          v-model.trim="form.assistant"
+          placeholder="请选择助教老师"
+          filterable
+          clearable
+          multiple
+        >
+          <el-option
+            v-for="(item, index) in cooperationList"
+            :key="index"
+            :label="item.realName"
+            :value="item.id"
+          >
             <span style="float: left">{{ item.realName }}</span>
             <span style="float: left">{{ item.realName }}</span>
             <span style="float: right; color: #8492a6; font-size: 13px">{{
             <span style="float: right; color: #8492a6; font-size: 13px">{{
               String(item.id)
               String(item.id)
@@ -49,21 +95,32 @@
       </el-form-item> -->
       </el-form-item> -->
       <empty v-if="isEmpty" desc="暂无可排课时长" />
       <empty v-if="isEmpty" desc="暂无可排课时长" />
       <el-collapse v-model="collapses" @change="collapseChange">
       <el-collapse v-model="collapses" @change="collapseChange">
-        <el-collapse-item v-for="(item, key, index) in form.classs" :name="index" :key="key">
+        <el-collapse-item
+          v-for="(item, key, index) in form.classs"
+          :name="index"
+          :key="key"
+        >
           <template #title>
           <template #title>
             <p class="title">
             <p class="title">
               {{ courseTypeListByName[key] }},
               {{ courseTypeListByName[key] }},
               <span>可排课时长{{ musicCourseSettings[key] }}分钟</span>
               <span>可排课时长{{ musicCourseSettings[key] }}分钟</span>
             </p>
             </p>
           </template>
           </template>
-          <courseItem :surplustime="surplustime[key]" :type="key" :form="item" :prices="prices"
-            :selectPrice="selectPrices ? selectPrices[key] : ''" />
+          <courseItem
+            :surplustime="surplustime[key]"
+            :type="key"
+            :form="item"
+            :prices="prices"
+            :selectPrice="selectPrices ? selectPrices[key] : ''"
+          />
         </el-collapse-item>
         </el-collapse-item>
       </el-collapse>
       </el-collapse>
     </el-form>
     </el-form>
     <div slot="footer" class="dialog-footer" v-if="classType != 5">
     <div slot="footer" class="dialog-footer" v-if="classType != 5">
       <el-button @click="$listeners.close">取 消</el-button>
       <el-button @click="$listeners.close">取 消</el-button>
-      <el-button type="primary" :disabled="isEmpty" @click="submit">确 定</el-button>
+      <el-button type="primary" :disabled="isEmpty" @click="submit"
+        >确 定</el-button
+      >
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
@@ -186,7 +243,7 @@ export default {
         this.$bus.$emit("showguide", ["teamCourseTimer"]);
         this.$bus.$emit("showguide", ["teamCourseTimer"]);
         return;
         return;
       }
       }
-    } catch (error) { }
+    } catch (error) {}
     this.setCourseTypeListByName();
     this.setCourseTypeListByName();
     this.formatClasss();
     this.formatClasss();
   },
   },
@@ -368,7 +425,7 @@ export default {
     collapseChange(val) {
     collapseChange(val) {
       this.collapses = val;
       this.collapses = val;
     },
     },
-    changecoreTeacher(val) { },
+    changecoreTeacher(val) {},
   },
   },
 };
 };
 </script>
 </script>
@@ -378,18 +435,15 @@ export default {
   display: block;
   display: block;
   text-align: right;
   text-align: right;
 }
 }
-
 .title {
 .title {
   font-size: 16px;
   font-size: 16px;
   padding: 10px;
   padding: 10px;
   font-weight: normal;
   font-weight: normal;
-
-  >span {
+  > span {
     color: tomato;
     color: tomato;
     font-size: 14px;
     font-size: 14px;
   }
   }
 }
 }
-
 .tag {
 .tag {
   margin-right: 5px;
   margin-right: 5px;
   cursor: pointer;
   cursor: pointer;

+ 66 - 132
src/views/teamDetail/components/modals/select-student.vue

@@ -1,12 +1,6 @@
 <template>
 <template>
   <div>
   <div>
-    <el-form
-      :model="form"
-      ref="form"
-      label-suffix=": "
-      inline
-      label-width="90px"
-    >
+    <el-form :model="form" ref="form" label-suffix=": " inline label-width="90px">
       <el-row>
       <el-row>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item
           <el-form-item
@@ -28,26 +22,20 @@
                 :value="String(item.id)"
                 :value="String(item.id)"
               >
               >
                 <span style="float: left">{{ item.realName }}</span>
                 <span style="float: left">{{ item.realName }}</span>
-                <span style="float: right; color: #8492a6; font-size: 13px">{{
-                  String(item.id)
-                }}</span>
+            <span style="float: right; color: #8492a6; font-size: 13px">{{
+              String(item.id)
+            }}</span>
               </el-option>
               </el-option>
             </el-select>
             </el-select>
             <!-- <remote-search :commit="'setTeachers'" v-model="form.coreTeacher"  /> -->
             <!-- <remote-search :commit="'setTeachers'" v-model="form.coreTeacher"  /> -->
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <!-- :offset="4" -->
         <!-- :offset="4" -->
-        <el-col :span="12">
+        <el-col :span="12" >
           <el-form-item
           <el-form-item
             label="助教老师"
             label="助教老师"
             prop="assistant"
             prop="assistant"
-            v-if="
-              !isOnlyChangeUser &&
-                activeType != 'HIGH' &&
-                activeType != 'HIGH_ONLINE' &&
-                activeType != 'MUSIC_NETWORK' &&
-                $helpers.permission('is/teacher/findTeachers')
-            "
+            v-if="!isOnlyChangeUser && activeType!='HIGH'&&activeType!='HIGH_ONLINE'&&activeType!='MUSIC_NETWORK'"
           >
           >
             <!-- <remote-search :commit="'setTeachers'" v-model="form.assistant"  :multiple='true'/> -->
             <!-- <remote-search :commit="'setTeachers'" v-model="form.assistant"  :multiple='true'/> -->
             <el-select
             <el-select
@@ -65,9 +53,9 @@
                 :value="item.id"
                 :value="item.id"
               >
               >
                 <span style="float: left">{{ item.realName }}</span>
                 <span style="float: left">{{ item.realName }}</span>
-                <span style="float: right; color: #8492a6; font-size: 13px">{{
-                  String(item.id)
-                }}</span>
+            <span style="float: right; color: #8492a6; font-size: 13px">{{
+              String(item.id)
+            }}</span>
               </el-option>
               </el-option>
             </el-select>
             </el-select>
           </el-form-item>
           </el-form-item>
@@ -79,7 +67,7 @@
             label="班级名称"
             label="班级名称"
             prop="name"
             prop="name"
             :rules="[
             :rules="[
-              { required: true, message: '请输入班级名称', trigger: 'blur' }
+              { required: true, message: '请输入班级名称', trigger: 'blur' },
             ]"
             ]"
           >
           >
             <el-input
             <el-input
@@ -90,17 +78,8 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <!-- :offset="showName ? 4 : 0" -->
         <!-- :offset="showName ? 4 : 0" -->
-        <el-col :span="12">
-          <el-form-item
-            :label="isOnlyChangeUser ? '声部筛选' : '声部'"
-            style="margin-right: 0;"
-            prop="sound"
-            :rules="
-              isOnlyChangeUser || activeType == 'MUSIC_NETWORK'
-                ? null
-                : [{ required: true, message: '请选择声部', trigger: 'blur' }]
-            "
-          >
+        <el-col :span="12" >
+          <el-form-item :label="isOnlyChangeUser?'声部筛选':'声部'" style="margin-right: 0;" prop="sound"  :rules="(isOnlyChangeUser||activeType == 'MUSIC_NETWORK')?null:[{ required: true, message: '请选择声部',trigger: 'blur' }]">
             <select-all
             <select-all
               v-model="form.sound"
               v-model="form.sound"
               style="width: 100%"
               style="width: 100%"
@@ -121,7 +100,7 @@
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-transfer
       <el-transfer
-        v-if="!showName"
+      v-if="!showName"
         filterable
         filterable
         :titles="['所有学员', '已选学员']"
         :titles="['所有学员', '已选学员']"
         filter-placeholder="请输入学生姓名"
         filter-placeholder="请输入学生姓名"
@@ -129,7 +108,7 @@
         v-model="seleched"
         v-model="seleched"
         :render-content="renderFunc"
         :render-content="renderFunc"
         :data="data"
         :data="data"
-        :class="{ hideReturn: !canDelUser }"
+        :class="{hideReturn: !canDelUser}"
       >
       >
         <template #left-footer>
         <template #left-footer>
           <div class="footer line">
           <div class="footer line">
@@ -155,77 +134,59 @@
 </template>
 </template>
 <script>
 <script>
 import { genderType } from "@/constant";
 import { genderType } from "@/constant";
-import { updateClassGroupStudents } from "../../api";
-import { uniqBy } from "lodash";
+import { updateClassGroupStudents } from '../../api'
+import { uniqBy } from 'lodash'
 export default {
 export default {
-  props: [
-    "studentList",
-    "soundList",
-    "activeType",
-    "activeListStudent",
-    "isOnlyChangeUser",
-    "classGroupId",
-    "type",
-    "teacherList",
-    "cooperationList",
-    "isStudentRemove"
-  ],
+  props: ["studentList", "soundList", "activeType", 'activeListStudent', 'isOnlyChangeUser', 'classGroupId', 'type', 'teacherList', 'cooperationList', 'isStudentRemove'],
   computed: {
   computed: {
     data() {
     data() {
-      return uniqBy([...this.studentList, ...this.activeListStudent], "userId")
+      return uniqBy([...this.studentList, ...this.activeListStudent], 'userId')
         .filter(item => {
         .filter(item => {
           if (this.form.sound.length) {
           if (this.form.sound.length) {
-            return (
-              this.form.sound.includes(item.actualSubjectId) ||
-              this.seleched.includes(item.userId)
-            );
+            return this.form.sound.includes(item.actualSubjectId) || this.seleched.includes(item.userId)
           }
           }
-          return true;
+          return true
         })
         })
-        .map(item => ({
-          value: item.userId,
-          key: item.userId,
-          name: item.name,
-          subjectName: item.subjectName,
-          gender: genderType[item.gender]
-        }));
+        .map((item) => ({
+        value: item.userId,
+        key: item.userId,
+        name: item.name,
+        subjectName: item.subjectName,
+        gender: genderType[item.gender],
+      }));
     },
     },
     showName() {
     showName() {
-      return !this.isOnlyChangeUser && this.activeType != "MUSIC_NETWORK";
+      return !this.isOnlyChangeUser && this.activeType != 'MUSIC_NETWORK'
     },
     },
     canDelUser() {
     canDelUser() {
       // console.log(this.isStudentRemove)
       // console.log(this.isStudentRemove)
-      return (
-        this.$route.query.type !== "resetTeam" ||
-        !this.isOnlyChangeUser ||
-        this.isStudentRemove
-      );
+      return this.$route.query.type !== 'resetTeam' || !this.isOnlyChangeUser || this.isStudentRemove
     }
     }
   },
   },
   data() {
   data() {
     return {
     return {
       sound: [],
       sound: [],
       form: {
       form: {
-        name: "",
-        coreTeacher: "",
-        assistant: "",
-        sound: []
+        name: '',
+        coreTeacher: '',
+        assistant: '',
+         sound: []
       },
       },
-      seleched: []
+      seleched: [],
     };
     };
   },
   },
   watch: {
   watch: {
     activeListStudent() {
     activeListStudent() {
-      this.setSelectedUser();
-    }
+      this.setSelectedUser()
+    },
   },
   },
   mounted() {
   mounted() {
-    this.setSelectedUser();
+    this.setSelectedUser()
   },
   },
   methods: {
   methods: {
     setSelectedUser() {
     setSelectedUser() {
-      const ids = this.activeListStudent.map(item => item.userId);
-      this.seleched = [...ids];
+      const ids = this.activeListStudent.map(item => item.userId)
+      this.seleched = [...ids]
     },
     },
     filterStudent(query, item) {
     filterStudent(query, item) {
       return (
       return (
@@ -237,22 +198,12 @@ export default {
     renderFunc(h, option) {
     renderFunc(h, option) {
       return (
       return (
         <div class="line">
         <div class="line">
-          <el-tooltip
-            class="item"
-            effect="dark"
-            placement="top"
-            open-delay={300}
-          >
+          <el-tooltip class="item" effect="dark" placement="top" open-delay={300}>
             <span slot="content">{option.name}</span>
             <span slot="content">{option.name}</span>
             <span class="select-item">{option.name}</span>
             <span class="select-item">{option.name}</span>
           </el-tooltip>
           </el-tooltip>
           <span>{option.gender}</span>
           <span>{option.gender}</span>
-          <el-tooltip
-            class="item"
-            effect="dark"
-            placement="top"
-            open-delay={300}
-          >
+          <el-tooltip class="item" effect="dark" placement="top" open-delay={300}>
             <span slot="content">{option.subjectName}</span>
             <span slot="content">{option.subjectName}</span>
             <span class="select-item">{option.subjectName}</span>
             <span class="select-item">{option.subjectName}</span>
           </el-tooltip>
           </el-tooltip>
@@ -260,107 +211,90 @@ export default {
       );
       );
     },
     },
     change(val) {
     change(val) {
-      this.$listeners.changeActiveChioseSound(val);
-      this.$listeners.searchStudent();
+      this.$listeners.changeActiveChioseSound(val)
+      this.$listeners.searchStudent()
     },
     },
     submit() {
     submit() {
-      if (
-        !this.isOnlyChangeUser &&
-        this.activeType == "HIGH_ONLINE" &&
-        (this.seleched.length < 3 || this.seleched.length > 5)
-      ) {
-        return this.$message.error("线上技能班必须为3-5人");
+      if (!this.isOnlyChangeUser && this.activeType == 'HIGH_ONLINE' && (this.seleched.length < 3 || this.seleched.length > 5)) {
+        return this.$message.error('线上技能班必须为3-5人')
       }
       }
-      if (
-        this.activeType == "MUSIC_NETWORK" &&
-        this.seleched.length < 1 &&
-        !this.isStudentRemove
-      ) {
-        return this.$message.error("请选择一名学生");
+      if (this.activeType == 'MUSIC_NETWORK'&&this.seleched.length < 1 && !this.isStudentRemove) {
+        return this.$message.error('请选择一名学生')
       }
       }
-      if (this.activeType == "MUSIC_NETWORK" && this.seleched.length > 1) {
-        return this.$message.error("乐团网管课仅可添加一名学生");
+      if (this.activeType == 'MUSIC_NETWORK' && this.seleched.length > 1) {
+        return this.$message.error('乐团网管课仅可添加一名学生')
       }
       }
       this.$refs.form.validate(async valid => {
       this.$refs.form.validate(async valid => {
         if (valid) {
         if (valid) {
-          if (this.isOnlyChangeUser && this.type !== "change") {
+          if (this.isOnlyChangeUser && this.type !== 'change') {
             try {
             try {
               await updateClassGroupStudents({
               await updateClassGroupStudents({
                 classGroupId: this.classGroupId,
                 classGroupId: this.classGroupId,
-                studentIds: this.seleched.join(",")
-              });
-              this.$message.success("提交成功");
+                studentIds: this.seleched.join(',')
+              })
+              this.$message.success('提交成功')
             } catch (error) {}
             } catch (error) {}
-            this.$listeners.submited();
-            this.$listeners.close();
+            this.$listeners.submited()
+            this.$listeners.close()
           } else {
           } else {
             this.$listeners.submited({
             this.$listeners.submited({
               seleched: this.seleched,
               seleched: this.seleched,
               ...this.form,
               ...this.form,
-              soundList: this.sound
-            });
+              soundList:this.sound
+            })
           }
           }
         }
         }
-      });
+      })
     }
     }
-  }
+  },
 };
 };
 </script>
 </script>
 <style lang="less" scoped>
 <style lang="less" scoped>
-::v-deep .el-transfer {
+::v-deep  .el-transfer {
   display: flex;
   display: flex;
   align-items: center;
   align-items: center;
-
   .el-transfer__buttons {
   .el-transfer__buttons {
     display: flex;
     display: flex;
     width: 110px;
     width: 110px;
     flex-direction: column;
     flex-direction: column;
-
     > button {
     > button {
       &:last-child {
       &:last-child {
         margin-left: 0;
         margin-left: 0;
       }
       }
     }
     }
   }
   }
-
   .el-transfer-panel {
   .el-transfer-panel {
     width: 300px;
     width: 300px;
   }
   }
 }
 }
-
 .footer {
 .footer {
   margin-left: 35px;
   margin-left: 35px;
   margin-right: auto;
   margin-right: auto;
   height: 40px;
   height: 40px;
   line-height: 40px;
   line-height: 40px;
 }
 }
-
-.hideReturn {
-  ::v-deep .el-transfer__buttons button:first-child {
+.hideReturn{
+  ::v-deep  .el-transfer__buttons button:first-child{
     display: none;
     display: none;
   }
   }
 }
 }
-
-::v-deep .el-checkbox-group {
+::v-deep  .el-checkbox-group{
   padding-bottom: 40px;
   padding-bottom: 40px;
 }
 }
-
-::v-deep .line {
+::v-deep  .line {
   width: 220px;
   width: 220px;
   display: flex;
   display: flex;
   justify-content: space-around;
   justify-content: space-around;
   height: 30px;
   height: 30px;
   line-height: 30px;
   line-height: 30px;
-
-  .select-item {
+  .select-item{
     width: 33.33333%;
     width: 33.33333%;
     white-space: nowrap;
     white-space: nowrap;
     overflow: hidden;
     overflow: hidden;
     text-overflow: ellipsis;
     text-overflow: ellipsis;
   }
   }
 }
 }
-
-::v-deep .dialog-footer {
+::v-deep  .dialog-footer{
   margin-top: 20px;
   margin-top: 20px;
   display: block;
   display: block;
   text-align: right;
   text-align: right;

+ 13 - 12
src/views/teamDetail/components/modals/student-reset-view.vue

@@ -1,13 +1,15 @@
 <template>
 <template>
   <div>
   <div>
-    <el-alert title="学员班级调整仅支持相同【班级类型】调整,且所选班级的剩余【课程类型】须完全相同若仅选择一个班级,则会为将所选学员从原班级中移除并新建班级" type="warning"
-      :closable='false' class="alert" show-icon>
+    <el-alert title="学员班级调整仅支持相同【班级类型】调整,且所选班级的剩余【课程类型】须完全相同若仅选择一个班级,则会为将所选学员从原班级中移除并新建班级"
+              type="warning"
+              :closable='false'
+              class="alert"
+              show-icon>
     </el-alert>
     </el-alert>
-    <classListGroup :classList="classList" ref='classListGroup' :courseTypesByType='courseTypesByType'
-      :teacherList='teacherList' />
-    <div slot="footer" class="dialog-footer">
+    <classListGroup :classList="classList" ref='classListGroup' :courseTypesByType='courseTypesByType' :teacherList='teacherList'/>
+     <div slot="footer" class="dialog-footer">
       <el-button @click="close">取 消</el-button>
       <el-button @click="close">取 消</el-button>
-      <el-button type="primary" @click="gotoSecond">下一步</el-button>
+      <el-button  type="primary" @click="gotoSecond">下一步</el-button>
     </div>
     </div>
     <div style="clear:both;"></div>
     <div style="clear:both;"></div>
   </div>
   </div>
@@ -15,19 +17,19 @@
 <script>
 <script>
 import classListGroup from './classList-group'
 import classListGroup from './classList-group'
 export default {
 export default {
-  props: ['classList', 'courseTypesByType', 'teacherList'],
+  props: ['classList','courseTypesByType','teacherList'],
   components: {
   components: {
     classListGroup
     classListGroup
   },
   },
-  data() {
+  data () {
     return {
     return {
 
 
     }
     }
-  }, methods: {
-    close() {
+  },methods:{
+     close(){
       this.$emit('close')
       this.$emit('close')
     },
     },
-    gotoSecond() {
+    gotoSecond(){
       this.$refs.classListGroup.gotoSecond()
       this.$refs.classListGroup.gotoSecond()
     }
     }
   }
   }
@@ -37,7 +39,6 @@ export default {
 .alert {
 .alert {
   margin-bottom: 10px;
   margin-bottom: 10px;
 }
 }
-
 .dialog-footer {
 .dialog-footer {
   float: right;
   float: right;
 
 

+ 504 - 163
src/views/teamDetail/components/resetClass.vue

@@ -8,15 +8,34 @@
     <!--    @change="changeMixClass" -->
     <!--    @change="changeMixClass" -->
     <div class="m-core">
     <div class="m-core">
       <div class="topWrap">
       <div class="topWrap">
-        <el-form :inline="true" :model="topForm" @submit.stop.native.prevent="submit" @reset.stop.native.prevent="reset">
+        <el-form
+          :inline="true"
+          :model="topForm"
+          @submit.stop.native.prevent="submit"
+          @reset.stop.native.prevent="reset"
+        >
           <el-form-item>
           <el-form-item>
-            <el-select v-model.trim="topForm.type" clearable filterable placeholder="请选择班级类型">
-              <el-option v-for="(item, index) in musicClassTypeList" :key="index" :label="item.label"
-                :value="item.value"></el-option>
+            <el-select
+              v-model.trim="topForm.type"
+              clearable
+              filterable
+              placeholder="请选择班级类型"
+            >
+              <el-option
+                v-for="(item, index) in musicClassTypeList"
+                :key="index"
+                :label="item.label"
+                :value="item.value"
+              ></el-option>
             </el-select>
             </el-select>
           </el-form-item>
           </el-form-item>
           <el-form-item>
           <el-form-item>
-            <el-select v-model.trim="topForm.hasCourse" clearable filterable placeholder="是否有剩余课程">
+            <el-select
+              v-model.trim="topForm.hasCourse"
+              clearable
+              filterable
+              placeholder="是否有剩余课程"
+            >
               <el-option label="是" :value="1"></el-option>
               <el-option label="是" :value="1"></el-option>
               <el-option label="否" :value="0"></el-option>
               <el-option label="否" :value="0"></el-option>
             </el-select>
             </el-select>
@@ -28,11 +47,22 @@
         </el-form>
         </el-form>
       </div>
       </div>
       <div class="btnList">
       <div class="btnList">
-        <el-button type="primary" v-permission="'courseSchedule/coursePostpone'" v-if="team_status == 'PROGRESS'"
-          @click="postpone" style="margin-bottom: 20px">课程顺延</el-button>
-        <el-button type="primary" v-permission="'/memberClassList'"
-          v-if="courseViewType == 2 && team_status == 'PROGRESS'" @click="gotoMemberCourse"
-          style="margin-bottom: 20px">会员课程排课</el-button>
+        <el-button
+          type="primary"
+          v-permission="'courseSchedule/coursePostpone'"
+          v-if="team_status == 'PROGRESS'"
+          @click="postpone"
+          style="margin-bottom: 20px"
+          >课程顺延</el-button
+        >
+        <el-button
+          type="primary"
+          v-permission="'/memberClassList'"
+          v-if="courseViewType == 2 && team_status == 'PROGRESS'"
+          @click="gotoMemberCourse"
+          style="margin-bottom: 20px"
+          >会员课程排课</el-button
+        >
         <!-- <div
         <!-- <div
           class="newBand"
           class="newBand"
           style="width: 120px"
           style="width: 120px"
@@ -54,19 +84,36 @@
       </div>
       </div>
 
 
       <div class="tableWrap" style>
       <div class="tableWrap" style>
-        <el-table :data="activeSingleList" style ref="multipleTable"
-          :header-cell-style="{ background: '#EDEEF0', color: '#444' }" tooltip-effect="dark"
-          @selection-change="handleSelectionChange">
+        <el-table
+          :data="activeSingleList"
+          style
+          ref="multipleTable"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+          tooltip-effect="dark"
+          @selection-change="handleSelectionChange"
+        >
           <!-- checkSignPostpone -->
           <!-- checkSignPostpone -->
-          <el-table-column :selectable="checkSignPostpone" type="selection" width="55"
-            v-if="team_status == 'PROGRESS'"></el-table-column>
-          <el-table-column align="center" prop="name" label="班级名称"></el-table-column>
+          <el-table-column
+            :selectable="checkSignPostpone"
+            type="selection"
+            width="55"
+            v-if="team_status == 'PROGRESS'"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="name"
+            label="班级名称"
+          ></el-table-column>
           <el-table-column align="center" prop="type" label="班级类型">
           <el-table-column align="center" prop="type" label="班级类型">
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div>{{ scope.row.type | classType }}</div>
               <div>{{ scope.row.type | classType }}</div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column align="center" prop="studentNum" label="当前班级人数">
+          <el-table-column
+            align="center"
+            prop="studentNum"
+            label="当前班级人数"
+          >
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div>{{ scope.row.studentNum }}人</div>
               <div>{{ scope.row.studentNum }}人</div>
             </template>
             </template>
@@ -74,7 +121,10 @@
           <el-table-column align="center" prop label="主教老师">
           <el-table-column align="center" prop label="主教老师">
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div v-if="scope.row.classGroupTeacherMapperList">
               <div v-if="scope.row.classGroupTeacherMapperList">
-                <p v-for="(item, index) in scope.row.classGroupTeacherMapperList" :key="index">
+                <p
+                  v-for="(item, index) in scope.row.classGroupTeacherMapperList"
+                  :key="index"
+                >
                   <span v-if="item.teacherRole == 'BISHOP'">
                   <span v-if="item.teacherRole == 'BISHOP'">
                     {{ item.userName }}
                     {{ item.userName }}
                   </span>
                   </span>
@@ -85,7 +135,10 @@
           <el-table-column align="center" label="助教老师">
           <el-table-column align="center" label="助教老师">
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div v-if="scope.row.classGroupTeacherMapperList">
               <div v-if="scope.row.classGroupTeacherMapperList">
-                <p v-for="(item, index) in scope.row.classGroupTeacherMapperList" :key="index">
+                <p
+                  v-for="(item, index) in scope.row.classGroupTeacherMapperList"
+                  :key="index"
+                >
                   <span v-if="item.teacherRole == 'TEACHING'">
                   <span v-if="item.teacherRole == 'TEACHING'">
                     {{ item.userName }}
                     {{ item.userName }}
                   </span>
                   </span>
@@ -108,59 +161,124 @@
               <div>{{ scope.row.lockFlag | yesOrNo }}</div>
               <div>{{ scope.row.lockFlag | yesOrNo }}</div>
             </template>
             </template>
           </el-table-column>
           </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">
             <template slot-scope="scope" v-if="scope.row.lockFlag != 1">
               <div>
               <div>
                 <!-- v-if="scope.row.type !='MIX'" -->
                 <!-- v-if="scope.row.type !='MIX'" -->
-                <el-button type="text" @click="resetClass(scope.row)"
+                <el-button
+                  type="text"
+                  @click="resetClass(scope.row)"
                   v-permission="'classGroupStudent/updateClassGroupStudents'"
                   v-permission="'classGroupStudent/updateClassGroupStudents'"
-                  v-if="scope.row.type != 'MUSIC_NETWORK'">学员调整</el-button>
-                <el-button type="text" @click="resetTeacher(scope.row)"
-                  v-permission="'classGroup/classGroupUpdate'">老师调整</el-button>
-                <el-button type="text" v-if="(permission('classGroup/classGroupUpdate') ||
-                  permission('classGroup/revisionClassGroup') ||
-                  permission('classGroup/revisionAddClassGroup')) &&
-                  scope.row.studentNum > 0 &&
-                  team_status == 'PROGRESS'
-                  " @click="classAdjustment(scope.row)">排课</el-button>
-                <el-button type="text" v-if="(scope.row.studentNum == '0' ||
-                  scope.row.totalClassTimes == '0') &&
-                  permission('classGroup/delSingle')
-                  " @click="removeClass(scope)">删除</el-button>
-                <el-button type="text" v-if="team_status == 'PROGRESS' &&
-                  permission('courseSchedule/coursePostpone') &&
-                  checkSignPostpone(scope.row)
-                  " @click="signPostpone(scope.row)">顺延课程</el-button>
-                <el-button type="text" v-if="team_status == 'PROGRESS' && permission('classGroup/update')
-                  " @click="resetClassName(scope.row)">班级名称调整</el-button>
+                  v-if="scope.row.type != 'MUSIC_NETWORK'"
+                  >学员调整</el-button
+                >
+                <el-button
+                  type="text"
+                  @click="resetTeacher(scope.row)"
+                  v-permission="'classGroup/classGroupUpdate'"
+                  >老师调整</el-button
+                >
+                <el-button
+                  type="text"
+                  v-if="
+                    (permission('classGroup/classGroupUpdate') ||
+                      permission('classGroup/revisionClassGroup') ||
+                      permission('classGroup/revisionAddClassGroup')) &&
+                      scope.row.studentNum > 0 &&
+                      team_status == 'PROGRESS'
+                  "
+                  @click="classAdjustment(scope.row)"
+                  >排课</el-button
+                >
+                <el-button
+                  type="text"
+                  v-if="
+                    (scope.row.studentNum == '0' ||
+                      scope.row.totalClassTimes == '0') &&
+                      permission('classGroup/delSingle')
+                  "
+                  @click="removeClass(scope)"
+                  >删除</el-button
+                >
+                <el-button
+                  type="text"
+                  v-if="
+                    team_status == 'PROGRESS' &&
+                      permission('courseSchedule/coursePostpone') &&
+                      checkSignPostpone(scope.row)
+                  "
+                  @click="signPostpone(scope.row)"
+                  >顺延课程</el-button
+                >
+                <el-button
+                  type="text"
+                  v-if="
+                    team_status == 'PROGRESS' && permission('classGroup/update')
+                  "
+                  @click="resetClassName(scope.row)"
+                  >班级名称调整</el-button
+                >
               </div>
               </div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
         </el-table>
         </el-table>
         <div class="floor">
         <div class="floor">
           <div class="left">
           <div class="left">
-            <div class="add" @click="studentResetVisiable = true" v-if="permission('classGroup/mergeClassSplitClassAffirm') &&
-              team_status == 'PROGRESS'
-              ">
+            <div
+              class="add"
+              @click="studentResetVisiable = true"
+              v-if="
+                permission('classGroup/mergeClassSplitClassAffirm') &&
+                  team_status == 'PROGRESS'
+              "
+            >
               拆分班级
               拆分班级
             </div>
             </div>
           </div>
           </div>
-          <div class="right" v-if="team_status == 'PREPARE' || team_status == 'PROGRESS'">
-            <div class="add" v-if="permission('classGroup/create')" @click="temporary">
+          <div
+            class="right"
+            v-if="team_status == 'PREPARE' || team_status == 'PROGRESS'"
+          >
+            <div
+              class="add"
+              v-if="permission('classGroup/create')"
+              @click="temporary"
+            >
               新建临时班
               新建临时班
             </div>
             </div>
-            <div class="add" v-if="permission('classGroup/create')" @click="addNewClass('NORMAL')">
+            <div
+              class="add"
+              v-if="permission('classGroup/create')"
+              @click="addNewClass('NORMAL')"
+            >
               新建声部班
               新建声部班
             </div>
             </div>
-            <div class="add" v-if="permission('classGroup/create')" @click="addNewClass('MIX')">
+            <div
+              class="add"
+              v-if="permission('classGroup/create')"
+              @click="addNewClass('MIX')"
+            >
               新建合奏班
               新建合奏班
             </div>
             </div>
-            <div class="add" v-if="permission('classGroup/revisionAddClassGroup') && tenantId == 1
-              " @click="addNewClass('MUSIC_NETWORK')">
+            <div
+              class="add"
+              v-if="
+                permission('classGroup/revisionAddClassGroup') && tenantId == 1
+              "
+              @click="addNewClass('MUSIC_NETWORK')"
+            >
               新建乐团网管课
               新建乐团网管课
             </div>
             </div>
-            <div class="add" v-if="permission('classGroup/create')" @click="newClassVisible = true">
+            <div
+              class="add"
+              v-if="permission('classGroup/create')"
+              @click="newClassVisible = true"
+            >
               基础技能班
               基础技能班
             </div>
             </div>
           </div>
           </div>
@@ -170,59 +288,147 @@
         </div>
         </div>
       </div>
       </div>
     </div>
     </div>
-    <el-dialog title="老师调整" width="750px" :visible.sync="teacherVisible" v-if="teacherVisible">
-      <changeTeacher v-if="teacherVisible && teacherDetail" :classGroupId="activeClass" :activeType="activeType"
-        :teacherList="teacherList" :cooperationList="cooperationList" :detail="teacherDetail" @submited="teacherSubmited"
-        @close="teacherVisible = false" />
+    <el-dialog
+      title="老师调整"
+      width="750px"
+      :visible.sync="teacherVisible"
+      v-if="teacherVisible"
+    >
+      <changeTeacher
+        v-if="teacherVisible && teacherDetail"
+        :classGroupId="activeClass"
+        :activeType="activeType"
+        :teacherList="teacherList"
+        :cooperationList="cooperationList"
+        :detail="teacherDetail"
+        @submited="teacherSubmited"
+        @close="teacherVisible = false"
+      />
     </el-dialog>
     </el-dialog>
     <!-- 修改班级名称 -->
     <!-- 修改班级名称 -->
-    <el-dialog title="班级名称调整" width="400px" :visible.sync="classNameVisible" v-if="classNameVisible">
-      <changeClassName :detail="classDetail" @submited="submitedResetClassName" @close="classNameVisible = false" />
+    <el-dialog
+      title="班级名称调整"
+      width="400px"
+      :visible.sync="classNameVisible"
+      v-if="classNameVisible"
+    >
+      <changeClassName
+        :detail="classDetail"
+        @submited="submitedResetClassName"
+        @close="classNameVisible = false"
+      />
     </el-dialog>
     </el-dialog>
     <!-- 学员选择 -->
     <!-- 学员选择 -->
-    <el-dialog :title="isOnlyChangeUser ? '学员调整' : '新建班级'" width="760px" :visible.sync="studentVisible"
-      v-if="studentVisible">
-      <selectStudent :activeListStudent="activeListStudent" :studentList="studentList" :soundList="activeSoundList"
-        :classGroupId="activeClass" :teacherList="teacherList" :cooperationList="cooperationList"
-        :isOnlyChangeUser="isOnlyChangeUser" :isStudentRemove="isStudentRemove" :activeType="activeType"
-        @changeActiveChioseSound="changeActiveChioseSound" @searchStudent="searchStudent(activeClass)"
-        @submited="studentSubmited" @close="studentVisible = false" />
+    <el-dialog
+      :title="isOnlyChangeUser ? '学员调整' : '新建班级'"
+      width="760px"
+      :visible.sync="studentVisible"
+      v-if="studentVisible"
+    >
+      <selectStudent
+        :activeListStudent="activeListStudent"
+        :studentList="studentList"
+        :soundList="activeSoundList"
+        :classGroupId="activeClass"
+        :teacherList="teacherList"
+        :cooperationList="cooperationList"
+        :isOnlyChangeUser="isOnlyChangeUser"
+        :isStudentRemove="isStudentRemove"
+        :activeType="activeType"
+        @changeActiveChioseSound="changeActiveChioseSound"
+        @searchStudent="searchStudent(activeClass)"
+        @submited="studentSubmited"
+        @close="studentVisible = false"
+      />
     </el-dialog>
     </el-dialog>
     <!-- 老师以及课程设置 -->
     <!-- 老师以及课程设置 -->
-    <el-dialog title="班级排课" width="1200px" :visible.sync="infoVisible" :modal-append-to-body="false">
-      <classroomSetting v-if="infoVisible" :classType="classType" :teacherList="teacherList" :musicGroupId="teamid"
-        :activeType="activeType" :courseTypeList="courseTypeList" :cooperationList="cooperationList" :detail="infoDetail"
-        :studentSubmitedData="studentSubmitedData" @close="infoVisible = false" @submited="getList" />
+    <el-dialog
+      title="班级排课"
+      width="1200px"
+      :visible.sync="infoVisible"
+      :modal-append-to-body="false"
+    >
+      <classroomSetting
+        v-if="infoVisible"
+        :classType="classType"
+        :teacherList="teacherList"
+        :musicGroupId="teamid"
+        :activeType="activeType"
+        :courseTypeList="courseTypeList"
+        :cooperationList="cooperationList"
+        :detail="infoDetail"
+        :studentSubmitedData="studentSubmitedData"
+        @close="infoVisible = false"
+        @submited="getList"
+      />
     </el-dialog>
     </el-dialog>
     <!-- 新增合奏班 -->
     <!-- 新增合奏班 -->
-    <el-dialog title="新增合奏班" width="700px" :visible.sync="MixVisible" :modal-append-to-body="false">
+    <el-dialog
+      title="新增合奏班"
+      width="700px"
+      :visible.sync="MixVisible"
+      :modal-append-to-body="false"
+    >
       <div class="studentMask">
       <div class="studentMask">
         <div class="left">
         <div class="left">
           <div class="wrap">
           <div class="wrap">
             <!-- :disabled="!isNewClass" -->
             <!-- :disabled="!isNewClass" -->
-            <el-input placeholder="请输入合奏班名称" v-model.trim="className"></el-input>
+            <el-input
+              placeholder="请输入合奏班名称"
+              v-model.trim="className"
+            ></el-input>
           </div>
           </div>
           <div class="chioseStudentList">
           <div class="chioseStudentList">
             <h4 style="padding-left: 10px">当前已选学生</h4>
             <h4 style="padding-left: 10px">当前已选学生</h4>
-            <div class="studentItem" v-for="(item, index) in activeListStudent" :key="index">
+            <div
+              class="studentItem"
+              v-for="(item, index) in activeListStudent"
+              :key="index"
+            >
               {{ item.name }}
               {{ item.name }}
-              <el-button type="text" @click="removeSiginforMix(item)">删除班级</el-button>
+              <el-button type="text" @click="removeSiginforMix(item)"
+                >删除班级</el-button
+              >
             </div>
             </div>
           </div>
           </div>
         </div>
         </div>
         <div class="right">
         <div class="right">
           <!--   列表开始  -->
           <!--   列表开始  -->
           <div class="tableList">
           <div class="tableList">
-            <el-table tooltip-effect="dark" style="width: 100%; margin-top: 10px" :data="singleList" ref="mixList"
-              @selection-change="SelectionMix">
-              <el-table-column type="selection" align="center" width="55"></el-table-column>
-              <el-table-column prop="name" align="center" width="120" label="姓名"></el-table-column>
-              <el-table-column prop="gender" align="center" width="100" label="性别">
+            <el-table
+              tooltip-effect="dark"
+              style="width: 100%; margin-top: 10px"
+              :data="singleList"
+              ref="mixList"
+              @selection-change="SelectionMix"
+            >
+              <el-table-column
+                type="selection"
+                align="center"
+                width="55"
+              ></el-table-column>
+              <el-table-column
+                prop="name"
+                align="center"
+                width="120"
+                label="姓名"
+              ></el-table-column>
+              <el-table-column
+                prop="gender"
+                align="center"
+                width="100"
+                label="性别"
+              >
                 <template slot-scope="scope">
                 <template slot-scope="scope">
                   <div>{{ scope.row.gender | sex }}</div>
                   <div>{{ scope.row.gender | sex }}</div>
                 </template>
                 </template>
               </el-table-column>
               </el-table-column>
-              <el-table-column prop="subjectName" width="120" align="center" label="学员声部"></el-table-column>
+              <el-table-column
+                prop="subjectName"
+                width="120"
+                align="center"
+                label="学员声部"
+              ></el-table-column>
             </el-table>
             </el-table>
           </div>
           </div>
         </div>
         </div>
@@ -230,37 +436,90 @@
       <div slot="footer" class="dialog-footer">
       <div slot="footer" class="dialog-footer">
         <el-button @click="studentVisible = false">取 消</el-button>
         <el-button @click="studentVisible = false">取 消</el-button>
         <!-- 班级学员修改 -->
         <!-- 班级学员修改 -->
-        <el-button type="primary" v-if="!isNewClass" @click="addSomeStudent">确 定</el-button>
+        <el-button type="primary" v-if="!isNewClass" @click="addSomeStudent"
+          >确 定</el-button
+        >
         <!-- 临时调整或者新建班级 -->
         <!-- 临时调整或者新建班级 -->
-        <el-button type="primary" v-if="isNewClass" @click="setInfoMsg">确 定</el-button>
+        <el-button type="primary" v-if="isNewClass" @click="setInfoMsg"
+          >确 定</el-button
+        >
       </div>
       </div>
     </el-dialog>
     </el-dialog>
     <el-dialog :visible.sync="newClassVisible" width="700px" title="新增班级">
     <el-dialog :visible.sync="newClassVisible" width="700px" title="新增班级">
-      <el-form :model="newClassForm" :inline="true" label-width="120px" ref="newClassForm" class="newClassForm">
-        <el-form-item label="班级名称" :rules="[
-          { required: true, message: '请输入班级姓名', trigger: 'blur' }
-        ]" prop="className">
-          <el-input style="width: 180px" v-model="newClassForm.className"></el-input>
+      <el-form
+        :model="newClassForm"
+        :inline="true"
+        label-width="120px"
+        ref="newClassForm"
+        class="newClassForm"
+      >
+        <el-form-item
+          label="班级名称"
+          :rules="[
+            { required: true, message: '请输入班级姓名', trigger: 'blur' }
+          ]"
+          prop="className"
+        >
+          <el-input
+            style="width: 180px"
+            v-model="newClassForm.className"
+          ></el-input>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="班级类型" :rules="[
-          { required: true, message: '请选择班级类型', trigger: 'blur' }
-        ]" prop="type">
-          <el-select v-if="tenantId == 1" v-model.trim="newClassForm.type" clearable @change="chioseHightype">
-            <el-option v-for="(item, index) in highTypeList" :key="index" :label="item.label"
-              :value="item.value"></el-option>
+        <el-form-item
+          label="班级类型"
+          :rules="[
+            { required: true, message: '请选择班级类型', trigger: 'blur' }
+          ]"
+          prop="type"
+        >
+          <el-select
+            v-if="tenantId == 1"
+            v-model.trim="newClassForm.type"
+            clearable
+            @change="chioseHightype"
+          >
+            <el-option
+              v-for="(item, index) in highTypeList"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
           </el-select>
           </el-select>
-          <el-select v-else v-model.trim="newClassForm.type" clearable @change="chioseHightype">
-            <el-option v-for="(item, index) in highTypeList1" :key="index" :label="item.label"
-              :value="item.value"></el-option>
+          <el-select
+            v-else
+            v-model.trim="newClassForm.type"
+            clearable
+            @change="chioseHightype"
+          >
+            <el-option
+              v-for="(item, index) in highTypeList1"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
           </el-select>
           </el-select>
 
 
           <!-- highTypeList1 -->
           <!-- highTypeList1 -->
         </el-form-item>
         </el-form-item>
-        <el-form-item label="主教老师" prop="bishop" :rules="[
-          { required: true, message: '请选择主教老师', trigger: 'blur' }
-        ]">
-          <el-select v-model.trim="newClassForm.bishop" placeholder="请选择主教老师" clearable filterable>
-            <el-option v-for="(item, index) in teacherList" :key="index" :label="item.realName" :value="String(item.id)">
+        <el-form-item
+          label="主教老师"
+          prop="bishop"
+          :rules="[
+            { required: true, message: '请选择主教老师', trigger: 'blur' }
+          ]"
+        >
+          <el-select
+            v-model.trim="newClassForm.bishop"
+            placeholder="请选择主教老师"
+            clearable
+            filterable
+          >
+            <el-option
+              v-for="(item, index) in teacherList"
+              :key="index"
+              :label="item.realName"
+              :value="String(item.id)"
+            >
               <span style="float: left">{{ item.realName }}</span>
               <span style="float: left">{{ item.realName }}</span>
               <span style="float: right; color: #8492a6; font-size: 13px">{{
               <span style="float: right; color: #8492a6; font-size: 13px">{{
                 String(item.id)
                 String(item.id)
@@ -272,19 +531,44 @@
             v-model="newClassForm.bishop"
             v-model="newClassForm.bishop"
           /> -->
           /> -->
         </el-form-item>
         </el-form-item>
-        <el-form-item label="预计招生数" prop="expectStudentNum" type="number" :rules="[
-          { required: true, message: '请输入预计招生数', trigger: 'blur' }
-        ]" @mousewheel.native.prevent>
-          <el-input style="width: 180px" :disabled="newClassForm.type == 'HIGH_ONLINE'"
-            v-model="newClassForm.expectStudentNum"></el-input>
+        <el-form-item
+          label="预计招生数"
+          prop="expectStudentNum"
+          type="number"
+          :rules="[
+            { required: true, message: '请输入预计招生数', trigger: 'blur' }
+          ]"
+          @mousewheel.native.prevent
+        >
+          <el-input
+            style="width: 180px"
+            :disabled="newClassForm.type == 'HIGH_ONLINE'"
+            v-model="newClassForm.expectStudentNum"
+          ></el-input>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="助教老师" v-if="newClassForm.type != 'HIGH_ONLINE' &&
-          newClassForm.type != 'HIGH' &&
-          newClassForm.type && $helpers.permission('is/teacher/findTeachers')
-          " prop="teaching">
-          <el-select v-model.trim="newClassForm.teaching" placeholder="请选择助教老师" filterable clearable multiple
-            @change="setAssistant1">
-            <el-option v-for="(item, index) in cooperationList" :key="index" :label="item.realName" :value="item.id">
+        <el-form-item
+          label="助教老师"
+          v-if="
+            newClassForm.type != 'HIGH_ONLINE' &&
+              newClassForm.type != 'HIGH' &&
+              newClassForm.type
+          "
+          prop="teaching"
+        >
+          <el-select
+            v-model.trim="newClassForm.teaching"
+            placeholder="请选择助教老师"
+            filterable
+            clearable
+            multiple
+            @change="setAssistant1"
+          >
+            <el-option
+              v-for="(item, index) in cooperationList"
+              :key="index"
+              :label="item.realName"
+              :value="item.id"
+            >
               <span style="float: left">{{ item.realName }}</span>
               <span style="float: left">{{ item.realName }}</span>
               <span style="float: right; color: #8492a6; font-size: 13px">{{
               <span style="float: right; color: #8492a6; font-size: 13px">{{
                 String(item.id)
                 String(item.id)
@@ -298,26 +582,63 @@
             :multiple="true"
             :multiple="true"
           /> -->
           /> -->
         </el-form-item>
         </el-form-item>
-        <el-form-item label="声部" prop="subjectIdList" :rules="[{ required: true, message: '请选择声部', trigger: 'blur' }]"
-          v-if="newClassForm.type == 'NORMAL'" :key="'HIGH'">
+        <el-form-item
+          label="声部"
+          prop="subjectIdList"
+          :rules="[{ required: true, message: '请选择声部', trigger: 'blur' }]"
+          v-if="newClassForm.type == 'NORMAL'"
+          :key="'HIGH'"
+        >
           <el-select v-model="newClassForm.subjectIdList" clearable multiple>
           <el-select v-model="newClassForm.subjectIdList" clearable multiple>
-            <el-option v-for="(item, index) in soundList" :key="index" :label="item.name" :value="item.id"></el-option>
+            <el-option
+              v-for="(item, index) in soundList"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <!-- 恢复可报名声部 因为建班和加学生分开所以又要添加可报名声部(焕焕狗乱吠) -->
         <!-- 恢复可报名声部 因为建班和加学生分开所以又要添加可报名声部(焕焕狗乱吠) -->
-        <el-form-item label="可报名声部" prop="memo" :rules="[
-          { required: true, message: '请选择可报名声部', trigger: 'blur' }
-        ]" v-if="newClassForm.type == 'HIGH'">
-          <select-all v-model.trim="newClassForm.memo" multiple clearable @change="changeMemo">
-            <el-option :disabled="item.disabled || appoint" v-for="(item, index) in soundList" :key="index"
-              :label="item.name" :value="item.id"></el-option>
+        <el-form-item
+          label="可报名声部"
+          prop="memo"
+          :rules="[
+            { required: true, message: '请选择可报名声部', trigger: 'blur' }
+          ]"
+          v-if="newClassForm.type == 'HIGH'"
+        >
+          <select-all
+            v-model.trim="newClassForm.memo"
+            multiple
+            clearable
+            @change="changeMemo"
+          >
+            <el-option
+              :disabled="item.disabled || appoint"
+              v-for="(item, index) in soundList"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </select-all>
           </select-all>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="网络教室声部" prop="subjectId" :rules="[
-          { required: true, message: '请选择线上声部', trigger: 'blur' }
-        ]" v-if="newClassForm.type == 'HIGH_ONLINE'" class="higheSelect" :key="'HIGH_ONLINE'">
+        <el-form-item
+          label="网络教室声部"
+          prop="subjectId"
+          :rules="[
+            { required: true, message: '请选择线上声部', trigger: 'blur' }
+          ]"
+          v-if="newClassForm.type == 'HIGH_ONLINE'"
+          class="higheSelect"
+          :key="'HIGH_ONLINE'"
+        >
           <el-select v-model="newClassForm.subjectId" clearable>
           <el-select v-model="newClassForm.subjectId" clearable>
-            <el-option v-for="(item, index) in soundList" :key="index" :label="item.name" :value="item.id"></el-option>
+            <el-option
+              v-for="(item, index) in soundList"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
       </el-form>
       </el-form>
@@ -334,7 +655,13 @@
               <p>班级人数:</p>
               <p>班级人数:</p>
               <p>线上基础技能班人数上限为6人</p>
               <p>线上基础技能班人数上限为6人</p>
             </div>
             </div>
-            <el-button type="text" icon="el-icon-question" slot="reference" style="color: red">线上基础技能班规则</el-button>
+            <el-button
+              type="text"
+              icon="el-icon-question"
+              slot="reference"
+              style="color: red"
+              >线上基础技能班规则</el-button
+            >
           </el-popover>
           </el-popover>
         </div>
         </div>
         <div>
         <div>
@@ -343,33 +670,67 @@
         </div>
         </div>
       </div>
       </div>
     </el-dialog>
     </el-dialog>
-    <el-dialog title="学员列表" :visible.sync="studentListModalVisible" v-if="studentListModalVisible">
-      <viewStudentList :list="studentListModal" :showOk="true" @close="studentListModalVisible = false" />
+    <el-dialog
+      title="学员列表"
+      :visible.sync="studentListModalVisible"
+      v-if="studentListModalVisible"
+    >
+      <viewStudentList
+        :list="studentListModal"
+        :showOk="true"
+        @close="studentListModalVisible = false"
+      />
     </el-dialog>
     </el-dialog>
 
 
-    <el-dialog title="学员班级调整" width="800px" :visible.sync="studentResetVisiable">
-      <studentResetView :teacherList="teacherList" :courseTypesByType="courseTypesByType" v-if="studentResetVisiable"
-        :classList="mergeList" @close="closeStudentReset" />
+    <el-dialog
+      title="学员班级调整"
+      width="800px"
+      :visible.sync="studentResetVisiable"
+    >
+      <studentResetView
+        :teacherList="teacherList"
+        :courseTypesByType="courseTypesByType"
+        v-if="studentResetVisiable"
+        :classList="mergeList"
+        @close="closeStudentReset"
+      />
     </el-dialog>
     </el-dialog>
 
 
-    <el-dialog title="课程顺延" :visible.sync="postponeVisible" width="600px" :before-close="handleClose">
+    <el-dialog
+      title="课程顺延"
+      :visible.sync="postponeVisible"
+      width="600px"
+      :before-close="handleClose"
+    >
       <el-form :model="postponeForm" ref="postponeForm" :rules="postponeRules">
       <el-form :model="postponeForm" ref="postponeForm" :rules="postponeRules">
         <el-form-item label="开始日期" prop="stopTime">
         <el-form-item label="开始日期" prop="stopTime">
-          <el-date-picker v-model.trim="postponeForm.stopTime" type="date" :picker-options="bigin"
-            value-format="yyyy-MM-dd" placeholder="选择日期">
+          <el-date-picker
+            v-model.trim="postponeForm.stopTime"
+            type="date"
+            :picker-options="bigin"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          >
           </el-date-picker>
           </el-date-picker>
         </el-form-item>
         </el-form-item>
         <el-form-item label="顺延日期" prop="resetTime">
         <el-form-item label="顺延日期" prop="resetTime">
-          <el-date-picker v-model.trim="postponeForm.resetTime" type="date" :picker-options="options"
-            value-format="yyyy-MM-dd" placeholder="选择日期">
+          <el-date-picker
+            v-model.trim="postponeForm.resetTime"
+            type="date"
+            :picker-options="options"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          >
           </el-date-picker>
           </el-date-picker>
         </el-form-item>
         </el-form-item>
         <el-form-item label="跳过节假日">
         <el-form-item label="跳过节假日">
           <el-checkbox v-model.trim="postponeForm.holiday"></el-checkbox>
           <el-checkbox v-model.trim="postponeForm.holiday"></el-checkbox>
         </el-form-item>
         </el-form-item>
       </el-form>
       </el-form>
-      <span style="color: #f56c6c">注意:将会把所选班级的课表,「开始日期」之后的全部未开始课程;
-        调整到「顺延日期」之后重新排课,可以勾选跳过节假日;</span>
+      <span style="color: #f56c6c"
+        >注意:将会把所选班级的课表,「开始日期」之后的全部未开始课程;
+        调整到「顺延日期」之后重新排课,可以勾选跳过节假日;</span
+      >
       <span slot="footer" class="dialog-footer">
       <span slot="footer" class="dialog-footer">
         <el-button @click="postponeVisible = false">取 消</el-button>
         <el-button @click="postponeVisible = false">取 消</el-button>
         <el-button type="primary" @click="submitInfo">确 定</el-button>
         <el-button type="primary" @click="submitInfo">确 定</el-button>
@@ -678,7 +1039,7 @@ export default {
             this.courseTypesByType = d;
             this.courseTypesByType = d;
             console.log(this.courseTypesByType);
             console.log(this.courseTypesByType);
           }
           }
-        } catch (error) { }
+        } catch (error) {}
         // 根据乐团id获取乐团所属分部
         // 根据乐团id获取乐团所属分部
         getTeacher({ organId: this.organId }).then(res => {
         getTeacher({ organId: this.organId }).then(res => {
           if (res.code == 200) {
           if (res.code == 200) {
@@ -977,9 +1338,9 @@ export default {
                 this.getList(this.activeMixClass);
                 this.getList(this.activeMixClass);
               }
               }
             })
             })
-            .catch(res => { });
+            .catch(res => {});
         })
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     },
     // 修改班级
     // 修改班级
     resetClass(row) {
     resetClass(row) {
@@ -1327,7 +1688,7 @@ export default {
             }
             }
           });
           });
         })
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     },
     toggleSelection(rows) {
     toggleSelection(rows) {
       if (rows) {
       if (rows) {
@@ -1409,7 +1770,7 @@ export default {
     closeStudentReset() {
     closeStudentReset() {
       this.studentResetVisiable = false;
       this.studentResetVisiable = false;
     },
     },
-    changeMemo(val) { },
+    changeMemo(val) {},
     submitInfo() {
     submitInfo() {
       this.$refs["postponeForm"].validate(res => {
       this.$refs["postponeForm"].validate(res => {
         if (res) {
         if (res) {
@@ -1555,24 +1916,20 @@ export default {
   flex-direction: row;
   flex-direction: row;
   justify-content: flex-start;
   justify-content: flex-start;
   align-items: center;
   align-items: center;
-
   .newBand {
   .newBand {
     margin-right: 10px;
     margin-right: 10px;
   }
   }
 }
 }
-
 .dialog-footer.question {
 .dialog-footer.question {
   display: flex;
   display: flex;
   flex-direction: row;
   flex-direction: row;
   justify-content: space-between;
   justify-content: space-between;
 }
 }
-
 .topWrap {
 .topWrap {
   display: flex;
   display: flex;
   flex-direction: row;
   flex-direction: row;
   justify-content: space-between;
   justify-content: space-between;
 }
 }
-
 .floor {
 .floor {
   padding-right: 20px;
   padding-right: 20px;
   display: flex;
   display: flex;
@@ -1592,7 +1949,6 @@ export default {
     display: flex;
     display: flex;
     flex-direction: row;
     flex-direction: row;
     justify-content: flex-start;
     justify-content: flex-start;
-
     .remove {
     .remove {
       width: 98px;
       width: 98px;
       height: 32px;
       height: 32px;
@@ -1605,7 +1961,6 @@ export default {
       cursor: pointer;
       cursor: pointer;
     }
     }
   }
   }
-
   .add {
   .add {
     width: auto;
     width: auto;
     padding: 0 10px;
     padding: 0 10px;
@@ -1619,56 +1974,45 @@ export default {
     cursor: pointer;
     cursor: pointer;
   }
   }
 }
 }
-
 .studentMask {
 .studentMask {
   display: flex;
   display: flex;
   flex-direction: row;
   flex-direction: row;
   justify-content: flex-start;
   justify-content: flex-start;
-
   .left {
   .left {
     width: 200px;
     width: 200px;
     margin-right: 20px;
     margin-right: 20px;
-
     .wrap {
     .wrap {
       margin-bottom: 20px;
       margin-bottom: 20px;
     }
     }
-
     h4 {
     h4 {
       font-size: 16px;
       font-size: 16px;
       color: #444;
       color: #444;
       line-height: 38px;
       line-height: 38px;
     }
     }
-
     .chioseStudentList {
     .chioseStudentList {
       height: 500px;
       height: 500px;
       overflow-y: auto;
       overflow-y: auto;
       border: 1px solid #ccc;
       border: 1px solid #ccc;
-
       .studentItem {
       .studentItem {
         padding-left: 10px;
         padding-left: 10px;
         line-height: 25px;
         line-height: 25px;
       }
       }
     }
     }
   }
   }
-
   .right {
   .right {
     width: calc(100% - 200px);
     width: calc(100% - 200px);
-
     .tableList {
     .tableList {
       max-height: 500px;
       max-height: 500px;
       overflow-y: auto;
       overflow-y: auto;
     }
     }
   }
   }
 }
 }
-
 .resetClassForm {
 .resetClassForm {
-
   ::v-deep .el-date-editor.el-input,
   ::v-deep .el-date-editor.el-input,
   ::v-deep .el-date-editor.el-input__inner {
   ::v-deep .el-date-editor.el-input__inner {
     width: 180px !important;
     width: 180px !important;
   }
   }
 }
 }
-
 // ::v-deep .el-date-editor.el-input,
 // ::v-deep .el-date-editor.el-input,
 // ::v-deep .el-date-editor.el-input__inner {
 // ::v-deep .el-date-editor.el-input__inner {
 //   width: 100px !important;
 //   width: 100px !important;
@@ -1678,17 +2022,14 @@ export default {
     height: 40px !important;
     height: 40px !important;
   }
   }
 }
 }
-
 ::v-deep .el-alert__content {
 ::v-deep .el-alert__content {
   display: block;
   display: block;
   width: 100%;
   width: 100%;
 }
 }
-
 .alert-content {
 .alert-content {
   display: flex;
   display: flex;
   justify-content: space-between;
   justify-content: space-between;
-
-  >strong {
+  > strong {
     cursor: pointer;
     cursor: pointer;
   }
   }
 }
 }

+ 7 - 8
src/views/teamDetail/teamClassList.vue

@@ -11,10 +11,10 @@
       <save-form ref="searchForm" :inline="true" :model="searchForm" @submit="search" @reset="onReSet">
       <save-form ref="searchForm" :inline="true" :model="searchForm" @submit="search" @reset="onReSet">
         <el-form-item prop="search">
         <el-form-item prop="search">
           <el-input v-model.trim="searchForm.search" clearable @keyup.enter.native="(e) => {
           <el-input v-model.trim="searchForm.search" clearable @keyup.enter.native="(e) => {
-            e.target.blur();
-            $refs.searchForm.save();
-            search();
-          }
+              e.target.blur();
+              $refs.searchForm.save();
+              search();
+            }
             " placeholder="乐团&班级编号名称"></el-input>
             " placeholder="乐团&班级编号名称"></el-input>
         </el-form-item>
         </el-form-item>
         <el-form-item prop="organIdList">
         <el-form-item prop="organIdList">
@@ -26,8 +26,8 @@
         </el-form-item>
         </el-form-item>
         <el-form-item>
         <el-form-item>
           <el-select v-model.trim="searchForm.groupType" @change="() => {
           <el-select v-model.trim="searchForm.groupType" @change="() => {
-            searchForm.type = '';
-          }
+              searchForm.type = '';
+            }
             " filterable placeholder="课程组类型">
             " filterable placeholder="课程组类型">
             <el-option v-for="(item, index) in courseListType" :key="index" :value="item.value"
             <el-option v-for="(item, index) in courseListType" :key="index" :value="item.value"
               :label="item.label"></el-option>
               :label="item.label"></el-option>
@@ -140,8 +140,7 @@
       compoundList.length > 0
       compoundList.length > 0
       " @clearCom="clearCom" @getList="getList" @cancleCompound="cancleCompound" />
       " @clearCom="clearCom" @getList="getList" @cancleCompound="cancleCompound" />
     <!-- 修改班级名称 -->
     <!-- 修改班级名称 -->
-    <el-dialog :title="!resetName ? '班级名称调整' : '备注'" width="500px" :visible.sync="classNameVisible"
-      v-if="classNameVisible">
+    <el-dialog :title="!resetName ? '班级名称调整' : '备注'" width="500px" :visible.sync="classNameVisible" v-if="classNameVisible">
       <changeClassName :classGroupId="activeClass" :detail="classDetail" @submited="submitedResetClassName"
       <changeClassName :classGroupId="activeClass" :detail="classDetail" @submited="submitedResetClassName"
         :resetName="resetName" @close="classNameVisible = false" />
         :resetName="resetName" @close="classNameVisible = false" />
     </el-dialog>
     </el-dialog>

+ 0 - 14
src/views/teamDetail/teamCourseList.vue

@@ -156,11 +156,6 @@
               </div>
               </div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column prop="teachingUserNames" width="150px" label="助教老师">
-            <template slot-scope="scope">
-              <copy-text>{{ scope.row.teachingUserNames }}</copy-text>
-            </template>
-          </el-table-column>
 
 
           <el-table-column align="center" prop="schoolName" label="教学模式/教学点">
           <el-table-column align="center" prop="schoolName" label="教学模式/教学点">
             <template slot-scope="scope">
             <template slot-scope="scope">
@@ -400,13 +395,6 @@
             <el-option label="否" value="0"></el-option>
             <el-option label="否" value="0"></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="是否有助教" prop="hasTeaching">
-          <el-select style="width: 180px !important" v-model.trim="searchForm.hasTeaching" clearable filterable
-            placeholder="是否有助教">
-            <el-option label="有助教" value="1"></el-option>
-            <el-option label="无助教" value="0"></el-option>
-          </el-select>
-        </el-form-item>
         <el-form-item label="创建日期" prop="creatTimer">
         <el-form-item label="创建日期" prop="creatTimer">
           <el-date-picker v-model.trim="searchForm.creatTimer" type="daterange" value-format="yyyy-MM-dd"
           <el-date-picker v-model.trim="searchForm.creatTimer" type="daterange" value-format="yyyy-MM-dd"
             range-separator="-" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :picker-options="{
             range-separator="-" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :picker-options="{
@@ -481,7 +469,6 @@ const initSearch = {
   creatTimer: [],
   creatTimer: [],
   courseIdSearch: null,
   courseIdSearch: null,
   memberFlag: null,
   memberFlag: null,
-  hasTeaching: null,
   courseTime: ["", ""],
   courseTime: ["", ""],
 };
 };
 export default {
 export default {
@@ -553,7 +540,6 @@ export default {
         this.searchForm.teachType ||
         this.searchForm.teachType ||
         this.searchForm.isCallNames ||
         this.searchForm.isCallNames ||
         this.searchForm.memberFlag ||
         this.searchForm.memberFlag ||
-        this.searchForm.hasTeaching ||
         this.searchForm.creatTimer?.length > 0 ||
         this.searchForm.creatTimer?.length > 0 ||
         (this.searchForm.courseTime?.length > 0 && this.searchForm.courseTime[0])
         (this.searchForm.courseTime?.length > 0 && this.searchForm.courseTime[0])
       );
       );

+ 1 - 0
src/views/teamDetail/teamList.vue

@@ -364,6 +364,7 @@ export default {
     },
     },
     getList() {
     getList() {
       let { createTimer, billTimer, ...reset } = this.topForm;
       let { createTimer, billTimer, ...reset } = this.topForm;
+      console.log(this.topForm, '11212')
       getTeamList({
       getTeamList({
         rows: this.rules.limit,
         rows: this.rules.limit,
         page: this.rules.page,
         page: this.rules.page,

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff