소스 검색

Merge branch 'live-video-im' into 11/24SAAS

lex 2 년 전
부모
커밋
4a48b6be2c

+ 21 - 29
src/views/resetTeaming/index.vue

@@ -4,13 +4,11 @@
       <el-page-header @back="onCancel">
         <template slot="content">
           <div class="page-headers">
-            <span>{{ teamName }}</span>
+            <p>{{ teamName }}</p>
+            <p v-if="teamid" class="page-headers-id">({{ teamid }})</p>
+
             <span class="musicGroupStatus"
-              ><img
-                :src="stepImgs[team_status]"
-                alt=""
-                v-if="stepImgs[team_status]"
-              />
+              ><img :src="stepImgs[team_status]" alt="" v-if="stepImgs[team_status]" />
               {{ musicGroupType[team_status] }}</span
             >
           </div>
@@ -29,8 +27,8 @@
           class="line"
           v-if="
             permission('/musicArchices') &&
-              team_status == 'PROGRESS' &&
-              permission('recharge/findAll')
+            team_status == 'PROGRESS' &&
+            permission('recharge/findAll')
           "
         ></i>
         <span
@@ -85,19 +83,9 @@
       </el-popover> -->
 
       <!-- navMenu    -->
-      <tab-router
-        v-model="activeIndex"
-        type="card"
-        ref="tab"
-        :before-leave="checkGoTo"
-      >
+      <tab-router v-model="activeIndex" type="card" ref="tab" :before-leave="checkGoTo">
         <!--  @tab-click="handleClick" -->
-        <el-tab-pane
-          label="基本信息"
-          lazy
-          v-if="permission('/teamBaseInfo')"
-          name="1"
-        >
+        <el-tab-pane label="基本信息" lazy v-if="permission('/teamBaseInfo')" name="1">
           <!--  v-if="activeIndex == 'teamBaseInfo'" -->
           <teamBaseInfo
             ref="teamBaseInfo"
@@ -292,7 +280,7 @@ export default {
     musicArchives,
     forecastNameList,
     giveMemberList,
-    convertList
+    convertList,
   },
   name: "resetTeaming",
   data() {
@@ -329,8 +317,8 @@ export default {
         FEE_AUDIT_FAILED: require("./images/6.png"),
         APPLY: require("./images/4.png"),
         PAY: require("./images/12.png"),
-        PREPARE: require("./images/11.png")
-      }
+        PREPARE: require("./images/11.png"),
+      },
     };
   },
   created() {
@@ -371,7 +359,7 @@ export default {
       this.teamid = this.$route.query.id;
       this.team_status = this.$route.query.team_status;
       if (this.$route.query.tabrouter != 1 && this.teamid) {
-        getTeamBaseInfo({ musicGroupId: this.teamid }).then(res => {
+        getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
           if (res.code == 200) {
             this.getBaseInfo(res.data);
           }
@@ -398,8 +386,8 @@ export default {
         this.$router.push({
           query: merge(this.$route.query, {
             ...this.$route.query,
-            team_status: this.musicGroupInfo.status
-          })
+            team_status: this.musicGroupInfo.status,
+          }),
         });
         this.team_status = this.$route.query.team_status;
         // console.log(this.musicGroupInfo.status);
@@ -452,9 +440,9 @@ export default {
       console.log("跳转");
       this.$router.push({
         path: "/business/musicArchices",
-        query: { ...this.$route.query }
+        query: { ...this.$route.query },
       });
-    }
+    },
   },
   watch: {
     //  async activeIndex(val){
@@ -462,7 +450,7 @@ export default {
     //       await this.$refs.teamBaseInfo.setStore();
     //     }
     //   }
-  }
+  },
 };
 </script>
 <style lang="scss" scoped>
@@ -473,6 +461,10 @@ export default {
   display: flex;
   align-items: center;
 }
+.page-headers-id {
+  font-size: 16px;
+  font-weight: 400;
+}
 .musicGroupStatus {
   display: flex;
   align-items: center;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 468 - 304
src/views/teamBuild/signupList.vue


+ 19 - 14
src/views/teamDetail/componentClass/classCompound.vue

@@ -41,7 +41,9 @@
           <div>
             <!-- <el-radio-group v-model="radio" @change="changeMasterClass"> -->
             <el-table
+              ref="studentRef"
               :data="dataList"
+              :key="studentRefKey"
               height="300px"
               :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
             >
@@ -71,17 +73,13 @@
                 <!--    -->
                 <template slot-scope="scope">
                   <div>
-                    {{
-                      scope.row.studentList ? scope.row.studentList.length : 0
-                    }}
+                    {{ scope.row.chioseStudentNum ? scope.row.chioseStudentNum : 0 }}
                   </div>
                 </template>
               </el-table-column>
               <el-table-column align="center" label="操作" width="200px">
                 <template slot-scope="scope">
-                  <el-button type="text" @click="cancleCom(scope.row)"
-                    >取消</el-button
-                  >
+                  <el-button type="text" @click="cancleCom(scope.row)">取消</el-button>
                   <el-button
                     type="text"
                     @click="showStudentList(scope.row)"
@@ -95,16 +93,11 @@
           </div>
           <el-button
             type="primary"
-            
             style="float: right; margin-top: 20px"
             @click="submitClass"
             >确定</el-button
           >
-          <i
-            class="el-icon-copy-document"
-            slot="reference"
-            @click="isLook = true"
-          ></i>
+          <i class="el-icon-copy-document" slot="reference" @click="isLook = true"></i>
         </el-popover>
       </div>
     </el-card>
@@ -165,7 +158,7 @@ export default {
   data() {
     return {
       radio: "",
-      dataList: this.compoundList,
+      dataList: [],
       isLook: false,
       show: false,
       idList: "",
@@ -177,6 +170,7 @@ export default {
       masterClassGroupId: "",
       classGroupStudents: [],
       mergeInfo: {},
+      studentRefKey: "12321321",
     };
   },
   created() {
@@ -285,7 +279,15 @@ export default {
     },
     closeStudentView(list) {
       this.activeRow.studentList = list;
-      this.dataList.splice(1, 0);
+      this.activeRow.chioseStudentNum = list.length;
+      this.dataList = this.dataList.map((item, index) => {
+        if (item.id == this.activeRow.id) {
+          return this.activeRow;
+        } else {
+          return item;
+        }
+      });
+      this.$emit("updataCompoundList", this.dataList);
       this.studentListModalVisible = false;
     },
     changeMasterClass(val) {
@@ -302,7 +304,10 @@ export default {
   },
   watch: {
     compoundList(val) {
+      console.log("watche111", val);
       this.dataList = val;
+      this.studentRefKey = Math.random();
+      console.log("watche112222", this.$refs.studentRef);
     },
   },
   computed: {

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

@@ -209,6 +209,15 @@
           prop="masterTeacherName"
           label="指导老师"
         ></el-table-column>
+        <el-table-column
+          align="center"
+          prop="teachingUserNames"
+          label="助教老师"
+        >
+          <template slot-scope="scope">
+            <copy-text>{{ scope.row.teachingUserNames }}</copy-text>
+          </template>
+        </el-table-column>
         <el-table-column align="center" label="结算状态">
           <template slot-scope="scope">{{
             scope.row.settlementTime ? "已结算" : "未结算"
@@ -390,7 +399,8 @@
           label="助教老师"
           v-if="
             maskForm.courseScheduleType != 'MUSIC_NETWORK' &&
-              maskForm.courseScheduleType != 'HIGH_ONLINE'
+              maskForm.courseScheduleType != 'HIGH_ONLINE' &&
+              $helpers.permission('is/teacher/findTeachers')
           "
           prop="assistant"
         >
@@ -858,6 +868,18 @@ export default {
       };
       getCourseSchedule(obj).then(res => {
         if (res.code == 200) {
+          const result = res.data.rows || [];
+          result.forEach(row => {
+            if (row.teachingTeachers && row.teachingTeachers.length > 0) {
+              const names = [];
+              row.teachingTeachers.forEach(teacher => {
+                names.push(teacher.userName);
+              });
+              row.teachingUserNames = names.join(",");
+            } else {
+              row.teachingUserNames = "";
+            }
+          });
           this.tableList = res.data.rows;
           this.rules.total = res.data.total;
         }

+ 80 - 81
src/views/teamDetail/index.vue

@@ -1,56 +1,58 @@
 <template>
-  <div class='m-container'>
+  <div class="m-container">
     <h2>
       <!-- <div class='squrt'></div> -->
-      <el-page-header @back="onCancel"
-                      :content="name"></el-page-header>
+      <el-page-header @back="onCancel" :content="name"></el-page-header>
       <!-- <div class="term">第一学期</div>
       <div class="term active">第二学期</div> -->
     </h2>
     <div class="m-core">
-      <p class='msg'
-         :class="status=='PROGRESS'? 'ing' : '' "> <img :src="status=='PROGRESS'?stepImgs.PROGRESS:stepImgs.PAUSE"
-             alt="">
-        {{ status=='PROGRESS'?'进行中':'已结束' }}</p>
+      <p class="msg" :class="status == 'PROGRESS' ? 'ing' : ''">
+        <img :src="status == 'PROGRESS' ? stepImgs.PROGRESS : stepImgs.PAUSE" alt="" />
+        {{ status == "PROGRESS" ? "进行中" : "已结束" }}
+      </p>
       <!-- navMenu -->
-      <tab-router v-model.trim="activeIndex"
-               type="card"
-               @tab-click="handleClick">
-        <el-tab-pane label="基本信息"
-        lazy
-                     v-if="permission('/teamDetails/baseInfo')"
-                     name="1">
-          <baseinfo v-if="activeIndex == '1'"
-                    :teamid='teamid' />
+      <tab-router v-model.trim="activeIndex" type="card" @tab-click="handleClick">
+        <el-tab-pane
+          label="基本信息"
+          lazy
+          v-if="permission('/teamDetails/baseInfo')"
+          name="1"
+        >
+          <baseinfo v-if="activeIndex == '1'" :teamid="teamid" />
         </el-tab-pane>
 
-        <el-tab-pane label="老师列表"
-        lazy
-                     v-if="permission('/teamDetails/teacherList')"
-                     name="2">
-          <teacherList v-if="activeIndex == '2'"
-                       :teamid='teamid' />
+        <el-tab-pane
+          label="老师列表"
+          lazy
+          v-if="permission('/teamDetails/teacherList')"
+          name="2"
+        >
+          <teacherList v-if="activeIndex == '2'" :teamid="teamid" />
         </el-tab-pane>
-        <el-tab-pane label="学员列表"
-        lazy
-                     v-if="permission('/teamDetails/studentList')"
-                     name="3">
-          <studentList v-if="activeIndex == '3'"
-                       :teamid='teamid' />
+        <el-tab-pane
+          label="学员列表"
+          lazy
+          v-if="permission('/teamDetails/studentList')"
+          name="3"
+        >
+          <studentList v-if="activeIndex == '3'" :teamid="teamid" />
         </el-tab-pane>
-        <el-tab-pane label="班级详情"
-        lazy
-                     v-if="permission('/teamDetails/classList')"
-                     name="4">
-          <classList v-if="activeIndex == '4'"
-                     :teamid='teamid' />
+        <el-tab-pane
+          label="班级详情"
+          lazy
+          v-if="permission('/teamDetails/classList')"
+          name="4"
+        >
+          <classList v-if="activeIndex == '4'" :teamid="teamid" />
         </el-tab-pane>
-        <el-tab-pane label="课表详情"
-        lazy
-                     v-if="permission('/teamDetails/courseList')"
-                     name="5">
-          <courseList v-if="activeIndex == '5'"
-                      :teamid='teamid' />
+        <el-tab-pane
+          label="课表详情"
+          lazy
+          v-if="permission('/teamDetails/courseList')"
+          name="5"
+        >
+          <courseList v-if="activeIndex == '5'" :teamid="teamid" />
         </el-tab-pane>
         <!-- <el-tab-pane label="课程课酬"
                      name="6">
@@ -63,65 +65,63 @@
                       :teamid='teamid' />
         </el-tab-pane> -->
       </tab-router>
-
     </div>
   </div>
 </template>
 <script>
-import studentList from '@/views/teamDetail/components/studentList'
-import teacherList from '@/views/teamDetail/components/teacherList'
-import courseList from '@/views/teamDetail/components/courseList'
-import classList from '@/views/teamDetail/components/classList'
-import salaryList from '@/views/teamDetail/components/salaryList'
-import baseinfo from '@/views/teamDetail/components/baseInfo'
-import { permission } from '@/utils/directivePage'
+import studentList from "@/views/teamDetail/components/studentList";
+import teacherList from "@/views/teamDetail/components/teacherList";
+import courseList from "@/views/teamDetail/components/courseList";
+import classList from "@/views/teamDetail/components/classList";
+import salaryList from "@/views/teamDetail/components/salaryList";
+import baseinfo from "@/views/teamDetail/components/baseInfo";
+import { permission } from "@/utils/directivePage";
 export default {
-  name: 'teamDetail',
-  data () {
+  name: "teamDetail",
+  data() {
     return {
-      activeIndex: this.$route.query.checkIndex ? this.$route.query.checkIndex : '1',
-      teamid: '',
-      name: '',
+      activeIndex: this.$route.query.checkIndex ? this.$route.query.checkIndex : "1",
+      teamid: "",
+      name: "",
       stepImgs: {
-        PROGRESS: require('@/assets/images/base/ing.png'),
-        PAUSE: require('@/assets/images/base/end.png')
+        PROGRESS: require("@/assets/images/base/ing.png"),
+        PAUSE: require("@/assets/images/base/end.png"),
       },
-      status: '',
-    }
+      status: "",
+    };
   },
-  mounted () {
-    this.activeIndex = '1';
-    this.init()
+  mounted() {
+    this.activeIndex = "1";
+    this.init();
   },
-  activated () {
-    this.activeIndex = '1';
-    this.init()
-
+  activated() {
+    this.activeIndex = "1";
+    this.init();
   },
 
-
   methods: {
-    permission (str) {
-      return permission(str)
+    permission(str) {
+      return permission(str);
     },
-    init () {
+    init() {
       // let teamInfo = this.$route.query;
-      this.$nextTick(res=>{
+      this.$nextTick((res) => {
         this.status = this.$route.query.status;
         this.teamid = this.$route.query.id;
-        this.name = this.$route.query.name;
+        this.name = this.$route.query.id
+          ? this.$route.query.name + `(${this.$route.query.id})`
+          : this.$route.query.name;
         // console.log(this.teamid)
-      })
+      });
 
       // 判断是否带缓存参数
     },
-    handleClick (val) {
+    handleClick(val) {
       this.activeIndex = val.name;
-
     },
-    onCancel () {
-      this.$store.dispatch('delVisitedViews', this.$route)
-      this.$router.push({ path: '/teamList'})
+    onCancel() {
+      this.$store.dispatch("delVisitedViews", this.$route);
+      this.$router.push({ path: "/teamList" });
     },
     // getname (name) {
     //   this.name = name;
@@ -134,9 +134,9 @@ export default {
     courseList,
     classList,
     salaryList,
-    baseinfo
-  }
-}
+    baseinfo,
+  },
+};
 </script>
 <style lang="scss" scoped>
 .m-container {
@@ -186,5 +186,4 @@ export default {
   }
 }
 </style>
-<style lang='scss'>
-</style>
+<style lang="scss"></style>

+ 207 - 78
src/views/teamDetail/teamClassList.vue

@@ -4,56 +4,108 @@
     <h2>
       <div class="squrt"></div>
       班级管理
-      <filter-search v-if="permission('/teamCLassList/abnormal')" :keys="['lessThenThreeHighOnline']"
-        @reload="reloadSearch" :moreKeys="['organId']" />
+      <filter-search
+        v-if="permission('/teamCLassList/abnormal')"
+        :keys="['lessThenThreeHighOnline']"
+        @reload="reloadSearch"
+        :moreKeys="['organId']"
+      />
     </h2>
     <div class="m-core">
-      <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-input v-model.trim="searchForm.search" clearable @keyup.enter.native="(e) => {
-              e.target.blur();
-              $refs.searchForm.save();
-              search();
-            }
-            " placeholder="乐团&班级编号名称"></el-input>
+          <el-input
+            v-model.trim="searchForm.search"
+            clearable
+            @keyup.enter.native="
+              e => {
+                e.target.blur();
+                $refs.searchForm.save();
+                search();
+              }
+            "
+            placeholder="乐团&班级编号名称"
+          ></el-input>
         </el-form-item>
         <el-form-item prop="organIdList">
-          <select-all class="multiple" filterable multiple v-model.trim="searchForm.organIdList" clearable
-            placeholder="请选择分部">
-            <el-option v-for="(item, index) in selects.branchs" :key="index" :label="item.name"
-              :value="item.id"></el-option>
+          <select-all
+            class="multiple"
+            filterable
+            multiple
+            v-model.trim="searchForm.organIdList"
+            clearable
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item, index) in selects.branchs"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </select-all>
         </el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.groupType" @change="() => {
-              searchForm.type = '';
-            }
-            " filterable placeholder="课程组类型">
-            <el-option v-for="(item, index) in courseListType" :key="index" :value="item.value"
-              :label="item.label"></el-option>
+          <el-select>
+            <el-option
+              v-for="(item, index) in courseListType"
+              :key="index"
+              :value="item.value"
+              :label="item.label"
+            ></el-option>
           </el-select>
         </el-form-item>
         <!-- musicClassTypeList -->
         <el-form-item prop="type">
-          <el-select v-model.trim="searchForm.type" filterable clearable :disabled="searchForm.groupType != 'MUSIC'"
-            placeholder="班级类型">
-            <el-option v-for="(item, index) in musicClassTypeList" :key="index" :label="item.label"
-              :value="item.value"></el-option>
+          <el-select
+            v-model.trim="searchForm.type"
+            filterable
+            clearable
+            placeholder="班级类型"
+          >
+            <el-option
+              v-for="(item, index) in musicClassTypeList"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item prop="mainTeacherUserId">
-          <remote-search :commit="'setTeachers'" v-model="searchForm.mainTeacherUserId" :demissionFlag="true"
-            :isForzenWithQueryCondition="true" />
+          <remote-search
+            :commit="'setTeachers'"
+            v-model="searchForm.mainTeacherUserId"
+            :demissionFlag="true"
+            :isForzenWithQueryCondition="true"
+          />
         </el-form-item>
         <el-form-item>
           <el-button native-type="submit" type="primary">搜索</el-button>
           <el-button native-type="reset" type="danger">重置</el-button>
-          <el-button type="primary" v-permission="'export/classGroup'" @click="exportClassGroup">导出</el-button>
+          <el-button
+            type="primary"
+            v-permission="'export/classGroup'"
+            @click="exportClassGroup"
+            >导出</el-button
+          >
         </el-form-item>
       </save-form>
       <div class="tableWrap">
-        <el-table style="width: 100%" :header-cell-style="{ background: '#EDEEF0', color: '#444' }" :data="tableList">
-          <el-table-column align="center" prop="musicGroupId" label="课程组编号">
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+          :data="tableList"
+        >
+          <el-table-column
+            align="center"
+            prop="musicGroupId"
+            label="课程组编号"
+          >
             <template slot-scope="scope">
               <copy-text>{{ scope.row.musicGroupId }}</copy-text>
             </template>
@@ -63,19 +115,31 @@
               <copy-text>{{ scope.row.id }}</copy-text>
             </template>
           </el-table-column> -->
-          <el-table-column align="center" prop="musicGroupName" label="课程组名称"></el-table-column>
+          <el-table-column
+            align="center"
+            prop="musicGroupName"
+            label="课程组名称"
+          ></el-table-column>
           <el-table-column align="center" prop="organName" label="分部名称">
             <template slot-scope="scope">
               <copy-text>{{ scope.row.organName }}</copy-text>
             </template>
           </el-table-column>
-          <el-table-column align="center" prop="name" label="班级名称"></el-table-column>
+          <el-table-column
+            align="center"
+            prop="name"
+            label="班级名称"
+          ></el-table-column>
           <el-table-column align="center" prop="type" label="班级类型">
             <template slot-scope="scope">
               <div>{{ scope.row.type | classType }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center" prop="studentNum" label="当前班级人数">
+          <el-table-column
+            align="center"
+            prop="studentNum"
+            label="当前班级人数"
+          >
             <template slot-scope="scope">
               <div>{{ scope.row.studentNum }}人</div>
             </template>
@@ -83,8 +147,11 @@
           <el-table-column align="center" prop label="主教老师">
             <template slot-scope="scope">
               <div v-if="scope.row.classGroupTeacherMapperList">
-                <p v-for="(item, index) in scope.row.classGroupTeacherMapperList" v-if="item.teacherRole == 'BISHOP'"
-                  :key="index">
+                <p
+                  v-for="(item, index) in scope.row.classGroupTeacherMapperList"
+                  v-if="item.teacherRole == 'BISHOP'"
+                  :key="index"
+                >
                   {{ item.userName }}
                 </p>
               </div>
@@ -93,8 +160,11 @@
           <el-table-column align="center" label="助教老师">
             <template slot-scope="scope">
               <div v-if="scope.row.classGroupTeacherMapperList">
-                <p v-for="(item, index) in scope.row.classGroupTeacherMapperList" v-if="item.teacherRole == 'TEACHING'"
-                  :key="index">
+                <p
+                  v-for="(item, index) in scope.row.classGroupTeacherMapperList"
+                  v-if="item.teacherRole == 'TEACHING'"
+                  :key="index"
+                >
                   {{ item.userName }}
                 </p>
               </div>
@@ -110,39 +180,94 @@
               <div>{{ scope.row.totalClassTimes }}</div>
             </template>
           </el-table-column>
-          <el-table-column fixed="right" width="160px" align="center" label="操作">
+          <el-table-column
+            fixed="right"
+            width="160px"
+            align="center"
+            label="操作"
+          >
             <template slot-scope="scope">
-              <el-button type="text" v-if="permission('classGroup/update')
-                " @click="resetClassName(scope.row, true)">班级名称调整</el-button>
-              <el-button type="text" v-if="permission('classGroup/update')
-                " @click="resetClassName(scope.row, false)">备注</el-button>
-              <el-button type="text" @click="addCompound(scope.row)" v-if="scope.row.type != 'MUSIC_NETWORK' &&
-                scope.row.groupType == 'MUSIC' &&
-                !isAddCom(scope.row) &&
-                permission('classGroup/spanGroupMergeClassSplitClassAffirm')
-                ">添加合班</el-button>
-              <el-button type="text" v-if="isAddCom(scope.row) &&
-                permission('classGroup/spanGroupMergeClassSplitClassAffirm')
-                " @click="cancleCompound(scope.row)">取消合班</el-button>
-              <el-button type="text" v-if="permission('classGroup/delSingle?page=teamCLassList') &&
-                scope.row.groupType === 'MUSIC' &&
-                (scope.row.studentNum == '0' ||
-                  scope.row.totalClassTimes == '0')
-                " @click="removeClass(scope)">删除</el-button>
+              <el-button
+                type="text"
+                v-if="permission('classGroup/update')"
+                @click="resetClassName(scope.row, true)"
+                >班级名称调整</el-button
+              >
+              <el-button
+                type="text"
+                v-if="permission('classGroup/update')"
+                @click="resetClassName(scope.row, false)"
+                >备注</el-button
+              >
+              <el-button
+                type="text"
+                @click="addCompound(scope.row)"
+                v-if="
+                  scope.row.type != 'MUSIC_NETWORK' &&
+                    scope.row.groupType == 'MUSIC' &&
+                    !isAddCom(scope.row) &&
+                    permission('classGroup/spanGroupMergeClassSplitClassAffirm')
+                "
+                >添加合班</el-button
+              >
+              <el-button
+                type="text"
+                v-if="
+                  isAddCom(scope.row) &&
+                    permission('classGroup/spanGroupMergeClassSplitClassAffirm')
+                "
+                @click="cancleCompound(scope.row)"
+                >取消合班</el-button
+              >
+              <el-button
+                type="text"
+                v-if="
+                  permission('classGroup/delSingle?page=teamCLassList') &&
+                    scope.row.groupType === 'MUSIC' &&
+                    (scope.row.studentNum == '0' ||
+                      scope.row.totalClassTimes == '0')
+                "
+                @click="removeClass(scope)"
+                >删除</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
-        <pagination sync :total.sync="rules.total" :page.sync="rules.page" :limit.sync="rules.limit"
-          :page-sizes="rules.page_size" @pagination="getList" />
+        <pagination
+          sync
+          :total.sync="rules.total"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
       </div>
     </div>
-    <classCompound :compoundList="compoundList" v-if="permission('classGroup/spanGroupMergeClassSplitClassAffirm') &&
-      compoundList.length > 0
-      " @clearCom="clearCom" @getList="getList" @cancleCompound="cancleCompound" />
+    <classCompound
+      :compoundList="compoundList"
+      v-if="
+        permission('classGroup/spanGroupMergeClassSplitClassAffirm') &&
+          compoundList.length > 0
+      "
+      @clearCom="clearCom"
+      @getList="getList"
+      @cancleCompound="cancleCompound"
+      @updataCompoundList="updataCompoundList"
+    />
     <!-- 修改班级名称 -->
-    <el-dialog :title="!resetName ? '班级名称调整' : '备注'" width="500px" :visible.sync="classNameVisible" v-if="classNameVisible">
-      <changeClassName :classGroupId="activeClass" :detail="classDetail" @submited="submitedResetClassName"
-        :resetName="resetName" @close="classNameVisible = false" />
+    <el-dialog
+      :title="!resetName ? '班级名称调整' : '备注'"
+      width="500px"
+      :visible.sync="classNameVisible"
+      v-if="classNameVisible"
+    >
+      <changeClassName
+        :classGroupId="activeClass"
+        :detail="classDetail"
+        @submited="submitedResetClassName"
+        :resetName="resetName"
+        @close="classNameVisible = false"
+      />
     </el-dialog>
   </div>
 </template>
@@ -157,13 +282,13 @@ import { musicClassTypeList } from "@/utils/searchArray";
 import {
   getClassGroupPage,
   removeSingleClass,
-  getAgreement,
+  getAgreement
 } from "@/api/buildTeam";
 import { permission } from "@/utils/directivePage";
 import classCompound from "./componentClass/classCompound";
 import { Export } from "@/utils/downLoadFile";
 import changeClassName from "@/views/teamDetail/components/modals/class-resetclass-name.vue";
-import { resetClassName } from '@/views/teamDetail/api'
+import { resetClassName } from "@/views/teamDetail/api";
 import qs from "qs";
 export default {
   components: { pagination, classCompound, changeClassName },
@@ -174,7 +299,7 @@ export default {
         organIdList: [],
         type: "",
         groupType: "MUSIC",
-        mainTeacherUserId: ''
+        mainTeacherUserId: ""
       },
       courseListType: courseListType,
       musicClassTypeList,
@@ -187,16 +312,16 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50], // 选择限制显示条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
       classNameVisible: false,
       classDetail: null,
-      activeClass: '',
+      activeClass: "",
       resetName: false
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
-  created() { },
+  created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
     const { query, params } = this.$route;
@@ -220,7 +345,7 @@ export default {
         if (!res.data) {
           this.$bus.$emit("showguide", ["agreement"]);
         }
-      } catch (e) { }
+      } catch (e) {}
     },
     reloadSearch() {
       this.rules.page = 1;
@@ -238,7 +363,7 @@ export default {
           lessThenThreeHighOnline: this.$route.query.lessThenThreeHighOnline,
           organIds: this.searchForm.organIdList.join(","),
           page: this.rules.page,
-          rows: this.rules.limit,
+          rows: this.rules.limit
         };
         const res = await getClassGroupPage(obj);
         this.rules.total = res.data.total;
@@ -259,12 +384,12 @@ export default {
     async removeClass(scope) {
       try {
         await this.$confirm("是否确定删除该班级?", "提示", {
-          type: "warning",
+          type: "warning"
         });
         await removeSingleClass({ classGroupId: scope.row.id });
         this.$message.success("删除成功");
         this.getList();
-      } catch (error) { }
+      } catch (error) {}
     },
     addCompound(row) {
       //  scope.row.type != 'HIGH_ONLINE' &&scope.row.type != 'HIGH'&&
@@ -273,7 +398,7 @@ export default {
       this.compoundList.push(row);
       this.compoundList = [...new Set(this.compoundList)];
 
-      this.compoundList.forEach((classes) => {
+      this.compoundList.forEach(classes => {
         if (classes.type == "HIGH") {
           this.hightCount++;
         }
@@ -301,7 +426,7 @@ export default {
     },
     isAddCom(row) {
       let flag = false;
-      this.compoundList.forEach((com) => {
+      this.compoundList.forEach(com => {
         if (com.id == row.id) {
           flag = true;
         }
@@ -339,8 +464,8 @@ export default {
           params: qs.stringify({
             ...params,
             organIds: this.searchForm.organIdList.join(","),
-            lessThenThreeHighOnline: this.$route.query.lessThenThreeHighOnline,
-          }),
+            lessThenThreeHighOnline: this.$route.query.lessThenThreeHighOnline
+          })
         },
         "是否确认导出报表?"
       );
@@ -352,7 +477,7 @@ export default {
     },
     async submitedResetClassName(data) {
       const obj = { ...data };
-      resetClassName(obj).then((res) => {
+      resetClassName(obj).then(res => {
         if (res.code == 200) {
           this.$message.success("修改成功");
           this.classNameVisible = false;
@@ -360,7 +485,11 @@ export default {
         }
       });
     },
-  },
+    updataCompoundList(list) {
+      console.log("updataCompoundList", list);
+      this.compoundList = list;
+    }
+  }
 };
 </script>
-<style lang='scss' scoped></style>
+<style lang="scss" scoped></style>

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.