浏览代码

Merge branch '02_07search' into online

mo 4 年之前
父节点
当前提交
dde02f9607

+ 5 - 0
src/components/save-form/README.md

@@ -31,3 +31,8 @@
 
 ###### 其他:
 请在`@/router/notKeepAliveList`中添加当页路由,保证当前页面不会keepAlive
+
+##### 已知问题
+
+1. 点击重置按钮无效
+请添加`noclear`属性

+ 7 - 5
src/components/save-form/index.vue

@@ -14,7 +14,7 @@
 import { Searchs } from '@/helpers'
 export default {
   name: 'save-form',
-  props: ['model', 'save-key'],
+  props: ['model', 'save-key', 'noclear'],
   data() {
     return {
       searchs: null
@@ -55,10 +55,12 @@ export default {
       evt.preventDefault()
       if (this.$listeners.reset) {
         this.$listeners.reset()
-        this.$nextTick(() => {
-          this.resetFields()
-          // this.setFormValue()
-        })
+        if (this.noclear == undefined) {
+          this.$nextTick(() => {
+            this.resetFields()
+            // this.setFormValue()
+          })
+        }
 
       } else {
         this.resetFields()

+ 1 - 1
src/layout/components/Navbar.vue

@@ -169,7 +169,7 @@ export default {
     // 手动加入
     this.toggleSideBar();
     this.username = this.$store.getters.name;
-    this.organNameList = this.organName.split(",");
+    this.organNameList = this.organName.split(",")||[];
   },
   methods: {
     toggleSideBar() {

+ 3 - 2
src/layout/components/TagsView.vue

@@ -60,7 +60,7 @@ export default {
     $route() {
       this.addViewTags();
       this.moveToCurrentTag();
-      if (!activeKey) {
+      if (!activeKey && !this.$store.state.tagsView.isBack) {
         const s = new Searchs()
         const keys = [this.$route.path]
         for (const key in s.searchs) {
@@ -75,6 +75,7 @@ export default {
           s.removeByKey(item)
         }
       }
+      this.$store.commit('SET_IS_BACK', false)
       activeKey = ''
     },
     visible(value) {
@@ -146,7 +147,7 @@ export default {
     closeSelectedTag(view) {
       const searchs = new Searchs();
       searchs.remove(this.$route.path);
-      this.$store.dispatch("delVisitedViews", view).then((views) => {
+      this.$store.dispatch("delVisitedViews", {...view, dontNeedSave: true}).then((views) => {
         if (this.isActive(view)) {
           const latestView = views.slice(-1)[0];
           if (latestView) {

+ 6 - 2
src/store/modules/tagsView.js

@@ -1,11 +1,11 @@
 const tagsView = {
   state: {
-    visitedViews: []
+    visitedViews: [],
+    isBack: false,
     // cachedViews: []
   },
   mutations: {
     ADD_VISITED_VIEWS: (state, view) => {
-      console.log(view)
       if (state.visitedViews.some(v => v.path === view.path)) {
         state.visitedViews.forEach(v => {
           if (v.path === view.path) {
@@ -67,6 +67,9 @@ const tagsView = {
     DEL_ALL_VIEWS: (state) => {
       state.visitedViews = []
       // state.cachedViews = []
+    },
+    SET_IS_BACK: (state, isBack) => {
+      state.isBack = isBack
     }
   },
   actions: {
@@ -75,6 +78,7 @@ const tagsView = {
     },
     delVisitedViews ({ commit, state }, view) {
       return new Promise((resolve) => {
+        commit('SET_IS_BACK', !view.dontNeedSave)
         commit('DEL_VISITED_VIEWS', view)
         resolve([...state.visitedViews])
       })

+ 1 - 1
src/utils/request.js

@@ -117,7 +117,7 @@ service.interceptors.response.use(
       if (data.code == 404) {
         router.push('/404')
       }
-      if (data.code != 200) {
+      if (data.code < 200||data.code >= 300) {
         // Message({
         //   message: data.msg || `请求失败code码为${ data.code }`,
         //   type: 'error',

+ 1 - 1
src/utils/request2.js

@@ -123,7 +123,7 @@ service.interceptors.response.use(
       if (data.code == 404) {
         router.push('/404')
       }
-      if (data.code != 200) {
+      if (data.code < 200||data.code >= 300) {
         // Message({
         //   message: data.msg || `请求失败code码为${ data.code }`,
         //   type: 'error',

+ 27 - 31
src/views/businessManager/orderManager/backMoney.vue

@@ -9,7 +9,8 @@
       <save-form
         :inline="true"
         class="searchForm"
-        ref='searchForm'
+        ref="searchForm"
+        noclear
         :model="searchForm"
         @submit="search"
         @reset="onReSet"
@@ -30,6 +31,7 @@
             ></el-option>
           </el-select>
         </el-form-item>
+        <!--   @change="searchOrderDate" -->
         <el-form-item prop="orderDate">
           <el-date-picker
             style="width: 410px"
@@ -239,27 +241,17 @@ export default {
     // })
     this.$store.dispatch("setBranchs");
     if (this.searchForm?.orderDate?.length < 1) {
-     this.getNow()
+      this.getNow();
     }
 
     this.getList();
   },
   methods: {
-    getNow(){
-       var now = new Date();
-      var startDate = new Date(
-        Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
-      )
-        .toISOString()
-        .slice(0, 10);
-      var endDate = new Date(
-        Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
-      )
-        .toISOString()
-        .slice(0, 10);
-      this.searchForm.orderDate = [];
+    getNow() {
+      let startDate = this.$helpers.dayjs(new Date()).format("YYYY-MM-DD");
+      this.$set(this.searchForm, "orderDate", []);
+      this.searchForm.orderDate.push(startDate);
       this.searchForm.orderDate.push(startDate);
-      this.searchForm.orderDate.push(endDate);
     },
     search() {
       this.pageInfo.page = 1;
@@ -285,14 +277,16 @@ export default {
       });
     },
     getList() {
+      console.log(this.searchForm.orderDate);
       let { orderDate, ...rest } = this.searchForm;
+      // console.log(orderDate,{...rest})
       let params = {
         ...rest,
         page: this.pageInfo.page,
         rows: this.pageInfo.limit,
         ...getTimes(orderDate, ["startTime", "endTime"]),
       };
-      console.log(params)
+      // console.log(params)
       studentRefundsQueryPage(params).then((res) => {
         let result = res.data;
         if (res.code == 200) {
@@ -301,21 +295,23 @@ export default {
         }
       });
     },
-    searchOrderDate(value) {
-      console.log(value)
-      if (value) {
-        this.searchForm.startTime = value[0] + " 00:00:00";
-        this.searchForm.endTime = value[1] + " 23:59:59";
-      } else {
-        this.searchForm.startTime = null;
-        this.searchForm.endTime = null;
-      }
-    },
+    // searchOrderDate(value) {
+    //   console.log(value)
+    //   if (value) {
+    //     this.searchForm.startTime = value[0];
+    //     this.searchForm.endTime = value[1];
+    //   } else {
+    //     this.searchForm.startTime = null;
+    //     this.searchForm.endTime = null;
+    //   }
+    // },
     onReSet() {
-      this.$refs["searchForm"].resetFields();
-      // console.log(this.searchForm)
-      // this.getNow()
-      this.search()
+
+      console.log(this.searchForm);
+      this.getNow();
+      console.log(this.searchForm);
+        this.$refs["searchForm"].resetFields();
+      this.search();
     },
     onFormClose(formName) {
       // 关闭弹窗重置验证

+ 4 - 3
src/views/resetTeaming/index.vue

@@ -135,13 +135,14 @@ export default {
       }
     },
     onCancel () {
-       this.$store.dispatch('delVisitedViews', this.$route) 
+       this.$store.dispatch('delVisitedViews', this.$route)
       this.$router.push({ path: '/business/teamDetail' })
     },
     getBaseInfo (baseInfo) {
+
       this.baseInfo = baseInfo
-      this.teamName = baseInfo.musicGroup.name
-      this.musicGroupInfo = baseInfo.musicGroup
+      this.teamName = baseInfo?.musicGroup?.name
+      this.musicGroupInfo = baseInfo?.musicGroup
     },
     handleClick (val) {
       // this.activeIndex = val.name

+ 6 - 6
src/views/teacherManager/teacherDetail/index.vue

@@ -5,8 +5,8 @@
                       :content="teacherName"></el-page-header>
       <div>
         <!-- 服务指标:本周 运营指标: -->
-        <el-button v-if="teacherInfo" type="text" @click="gotoOperating">运营指标:<span style="color:red">{{teacherInfo.operatingIndex}}%</span></el-button>
-        <el-button v-if="teacherInfo" type="text" @click="gotoAfterSchool">服务指标(每周):<span style="color:red">{{teacherInfo.serviceIndex}}%</span></el-button>
+        <el-button v-if="teacherInfos" type="text" @click="gotoOperating">运营指标:<span style="color:red">{{teacherInfos.operatingIndex}}%</span></el-button>
+        <el-button v-if="teacherInfos" type="text" @click="gotoAfterSchool">服务指标(每周):<span style="color:red">{{teacherInfos.serviceIndex}}%</span></el-button>
       </div>
     </h2>
     <div class="m-core">
@@ -18,7 +18,7 @@
         lazy
                      v-if="permissionList.teacherInfo"
                      name="0">
-          <teacherInfo v-if="activeName == 0&&teacherInfo" :teacherInfo='teacherInfo'  />
+          <teacherInfo v-if="activeName == 0&&teacherInfos" :teacherInfo='teacherInfos'  />
         </el-tab-pane>
         <el-tab-pane label="乐团课"
         lazy
@@ -143,7 +143,7 @@ export default {
         calendarList: permission("/teacherDetail/calendarList"),
         weeklyCalendar: permission("/teacherDetail/weeklyCalendar"),
       },
-      teacherInfo:null
+      teacherInfos:null
     };
   },
   activated () {
@@ -156,7 +156,7 @@ export default {
     this.activeName = "0";
       teacherGet({ teacherId: this.teacherId }).then(res => {
         if (res.code == 200) {
-         this.teacherInfo = res.data
+         this.teacherInfos = res.data
 
         }
       })
@@ -167,7 +167,7 @@ export default {
       // this.activeStatus[val.name] = true
     },
     onCancel () {
-       this.$store.dispatch('delVisitedViews', this.$route) 
+       this.$store.dispatch('delVisitedViews', this.$route)
       this.$router.push({
         path: "/business/teacherList"
       });

+ 1 - 0
src/views/teacherManager/teacherList.vue

@@ -432,6 +432,7 @@ export default {
       if (type == "update") {
         path = "/business/teacherOperationUpdate";
       }
+      console.log(params)
       //  teacherId=${scope.row.id}&teacherName=${scope.row.realName}
       this.$router.push(
         {

+ 2 - 2
src/views/teamBuild/teamSeting/index.vue

@@ -173,8 +173,8 @@ export default {
       this.activeIndex = val;
     },
     goBack () {
-       this.$store.dispatch('delVisitedViews', this.$route) 
-      this.$router.push({ path: '/business/teamDetail' })
+       this.$store.dispatch('delVisitedViews', this.$route)
+      this.$router.push({ path: '/business/teamDetail'})
     }
   },
 }

+ 80 - 39
src/views/teamDetail/components/modals/classroom-setting.vue

@@ -1,6 +1,12 @@
 <template>
   <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-form-item
           label="班级名称"
@@ -35,10 +41,18 @@
             :value="String(item.id)"
           ></el-option>
         </el-select>
-         <!-- <remote-search :commit="'setTeachers'" v-model="form.coreTeacher"  /> -->
+        <!-- <remote-search :commit="'setTeachers'" v-model="form.coreTeacher"  /> -->
       </el-form-item>
-      <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'/> -->
+      <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'/> -->
         <el-select
           v-model.trim="form.assistant"
           placeholder="请选择助教老师"
@@ -54,16 +68,22 @@
           ></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item v-if="!!Object.keys(allClasss).length" style="display: block;" label="排课类型" label-width="88px">
+      <el-form-item
+        v-if="!!Object.keys(allClasss).length"
+        style="display: block"
+        label="排课类型"
+        label-width="88px"
+      >
         <el-tag
           class="tag"
           :effect="form.classs[key] ? 'dark' : 'plain'"
           v-for="(item, key) in allClasss"
           :key="key"
           @click="changeTag(key)"
-        >{{courseTypeListByName[key]}}</el-tag>
+          >{{ courseTypeListByName[key] }}</el-tag
+        >
       </el-form-item>
-      <empty v-if="isEmpty" desc="暂无可排课时长"/>
+      <empty v-if="isEmpty" desc="暂无可排课时长" />
       <el-collapse v-model="collapses" @change="collapseChange">
         <el-collapse-item
           v-for="(item, key, index) in form.classs"
@@ -88,7 +108,9 @@
     </el-form>
     <div slot="footer" class="dialog-footer" v-if="classType != 5">
       <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>
 </template>
@@ -147,7 +169,7 @@ export default {
     "selectPrices",
     "classCouresTimeList",
     "teacherList",
-    "cooperationList"
+    "cooperationList",
   ],
   components: {
     courseItem,
@@ -246,7 +268,6 @@ export default {
       if (this.classType == 5) {
         // res = await findClassCourseMinute(this.classIdList);
         res.data = this.classCouresTimeList;
-
       } else {
         try {
           res = await getMusicCourseSettingsWithStudents({
@@ -257,37 +278,36 @@ export default {
         } catch (error) {
           console.log(error);
         }
+      }
+      // console.log(res);
+      if (Object.keys(res).length <= 0) return;
+      this.musicCourseSettings = res.data;
+      const classs = {};
+      for (const item of this.courseTypeList) {
+        const key = item.value;
+        if (res.data[key]) {
+          classs[key] = {
+            courseTotalMinuties: res.data[key],
+            cycle: [
+              {
+                time: this.selectPrices ? this.selectPrices[key] : undefined,
+              },
+            ],
+          };
         }
-        if (Object.keys(res).length <= 0) return;
-        this.musicCourseSettings = res.data;
-
-        const classs = {};
-        for (const item of this.courseTypeList) {
-          const key = item.value;
-          if (res.data[key]) {
-            classs[key] = {
-              courseTotalMinuties: res.data[key],
-              cycle: [
-                {
-                  time: this.selectPrices ? this.selectPrices[key] : undefined,
-                },
-              ],
-            };
-          }
-        }
-        this.allClasss = {...classs}
-        this.$set(this.form, "classs", classs);
-        // this.courseTimes = courseTimes
-
+      }
+      this.allClasss = { ...classs };
+      this.$set(this.form, "classs", classs);
+      // this.courseTimes = courseTimes
     },
     changeTag(key) {
-      const clas = {...this.form.classs}
+      const clas = { ...this.form.classs };
       if (clas[key]) {
-        delete clas[key]
+        delete clas[key];
       } else {
-        clas[key] = this.allClasss[key]
+        clas[key] = this.allClasss[key];
       }
-      this.$set(this.form, 'classs', clas)
+      this.$set(this.form, "classs", clas);
     },
     submit() {
       this.$refs.form.validate(async (valid) => {
@@ -324,7 +344,27 @@ export default {
           }
           try {
             if (this.detail) {
-              await classGroupUpdate(list);
+              let result = await classGroupUpdate(list);
+              if (result.code == 206) {
+                this.$confirm(`当前课程课酬预计为0,是否继续`, "提示", {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning",
+                })
+                  .then(async () => {
+                    // obj.allowZeroSalary = true;
+                    list.forEach((item) => {
+                      item.allowZeroSalary = true;
+                    });
+                    await classGroupUpdate(list);
+                    this.$listeners.submited();
+                    this.$listeners.close();
+                  })
+                  .catch(() => {
+                    return;
+                  });
+                return;
+              }
               this.$message.success("排课修改成功");
             } else {
               if (this.classType == 1) {
@@ -346,9 +386,10 @@ export default {
                 obj.classGroupIds = this.classIdList;
                 obj.studentIds = this.studentSubmitedData.seleched;
                 obj.classGroupStudents = this.classGroupStudents;
-                obj.classCourseMinuteMap  = this.selectPrices
+                obj.classCourseMinuteMap = this.selectPrices;
                 await mergeClassSplitClassAffirm(obj);
-                let grend = this.$parent.$parent.$parent.$parent.$parent.$parent.$parent;
+                let grend = this.$parent.$parent.$parent.$parent.$parent.$parent
+                  .$parent;
                 grend.closeStudentReset();
                 grend.getList();
                 return;
@@ -386,7 +427,7 @@ export default {
     font-size: 14px;
   }
 }
-.tag{
+.tag {
   margin-right: 5px;
   cursor: pointer;
 }

+ 51 - 52
src/views/teamDetail/components/resetClass.vue

@@ -125,15 +125,15 @@
                   @click="classAdjustment(scope.row)"
                   >排课</el-button
                 >
-                   <el-button
-                    type="text"
-                    v-if="
-                      scope.row.studentNum == '0' ||
-                      scope.row.totalClassTimes == '0'
-                    "
-                      @click="removeClass(scope)"
-                    >删除</el-button
-                  >
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.studentNum == '0' ||
+                    scope.row.totalClassTimes == '0'
+                  "
+                  @click="removeClass(scope)"
+                  >删除</el-button
+                >
                 <!--<el-button type="text"
                 @click="recourse(scope.row)">重新排课</el-button>-->
                 <!-- <el-popover
@@ -503,12 +503,10 @@
             ></el-option>
           </el-select>
         </el-form-item>
-
-
       </el-form>
       <div slot="footer" class="dialog-footer question">
         <div>
-           <el-popover placement="right" width="500" trigger="click">
+          <el-popover placement="right" width="500" trigger="click">
             <div class="popoverWrap">
               <p>线上基础技能班规则:</p>
               <p>班级数量:</p>
@@ -532,9 +530,8 @@
         </div>
         <div>
           <el-button @click="newClassVisible = false">取 消</el-button>
-        <el-button type="primary" @click="newClassHight">确 定</el-button>
+          <el-button type="primary" @click="newClassHight">确 定</el-button>
         </div>
-
       </div>
     </el-dialog>
     <el-dialog
@@ -828,11 +825,14 @@ export default {
       // 根据分部id和缴费类型获取 可选课程类型
     },
     resetTeacher(row) {
-      this.teacherVisible = true
-      this.teacherDetail = row
+      this.teacherVisible = true;
+      this.teacherDetail = row;
     },
     teacherSubmited(data) {
-      const obj = this.getSubmitData(data, {classGroupId: this.teacherDetail?.id, courseAddType: 'onlyUpdateTeacher'})
+      const obj = this.getSubmitData(data, {
+        classGroupId: this.teacherDetail?.id,
+        courseAddType: "onlyUpdateTeacher",
+      });
       classGroupUpdate(obj).then((res) => {
         if (res.code == 200) {
           this.$message.success("修改成功");
@@ -842,20 +842,22 @@ export default {
       });
     },
     getSubmitData(data, more = {}) {
-      return [{
-        type: this.activeType,
-        classGroupName: data?.name,
-        musicGroupId: this.teamid,
-        classGroupTeacherMapperList: formatClassGroupTeacherMapperList(
-          data.coreTeacher,
-          data.assistant
-        ),
-        students: data?.seleched,
-        ...more
-      }]
+      return [
+        {
+          type: this.activeType,
+          classGroupName: data?.name,
+          musicGroupId: this.teamid,
+          classGroupTeacherMapperList: formatClassGroupTeacherMapperList(
+            data.coreTeacher,
+            data.assistant
+          ),
+          students: data?.seleched,
+          ...more,
+        },
+      ];
     },
     async submitClass(data) {
-      const list = this.getSubmitData(data, {onlyCreateClassGroup: true});
+      const list = this.getSubmitData(data, { onlyCreateClassGroup: true });
       try {
         if (this.classType == 1) {
           // 0新建班级 2 3 4新增班级修改
@@ -869,15 +871,15 @@ export default {
           await revisionAddClassGroup(list);
           this.$message.success("提交成功");
         }
-        this.studentVisible = false
-        this.getList()
+        this.studentVisible = false;
+        this.getList();
       } catch (error) {
         console.log(error);
       }
     },
     studentSubmited(data) {
       if (!this.isOnlyChangeUser) {
-        this.submitClass(data)
+        this.submitClass(data);
         // this.studentSubmitedData = data;
         // this.infoVisible = true;
       } else {
@@ -1037,26 +1039,23 @@ export default {
     },
     // 删除班级
     removeClass(scope) {
-         this.$confirm("是否确定删除该班级?", "提示", {
-      confirmButtonText: "确定",
-      cancelButtonText: "取消",
-      type: "warning"
-    })
-      .then(() => {
-        removeSingleClass({ classGroupId: scope.row.id })
-        .then((res) => {
-          if (res.code == 200) {
-            this.$message.success("删除成功");
-            // 重新请求列表
-            this.getList(this.activeMixClass);
-          }
-        })
-        .catch((res) => {
-
-        });
+      this.$confirm("是否确定删除该班级?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
       })
-      .catch(() => { });
-
+        .then(() => {
+          removeSingleClass({ classGroupId: scope.row.id })
+            .then((res) => {
+              if (res.code == 200) {
+                this.$message.success("删除成功");
+                // 重新请求列表
+                this.getList(this.activeMixClass);
+              }
+            })
+            .catch((res) => {});
+        })
+        .catch(() => {});
     },
     // 修改班级
     resetClass(row) {
@@ -1704,7 +1703,7 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.dialog-footer.question{
+.dialog-footer.question {
   display: flex;
   flex-direction: row;
   justify-content: space-between;

+ 9 - 2
src/views/teamDetail/teamCourseList.vue

@@ -634,7 +634,7 @@ const initSearch = {
   organIdList: null,
   courseStatus: null,
   courseType: null,
-  timer: [], // 时间
+  timer: [nowTime,nowTime], // 时间
   class: null,
   teachType: null,
   mergeCourseType: null,
@@ -803,7 +803,7 @@ export default {
       }
       if (count <= 0) {
         this.$message.error("请至少选择一个搜索条件");
-        return;
+        return false;
       }
       const { creatTimer, timer, ...rest } = searchForm;
       return {
@@ -820,7 +820,11 @@ export default {
     },
     onCourseExport() {
       // 课表导出
+           if(this.getSearchForm()){
+        return
+      }
       let url = "/api-web/export/superFindCourseSchedules";
+
       const options = {
         method: "get",
         headers: {
@@ -870,6 +874,9 @@ export default {
         .catch(() => {});
     },
     getList() {
+      if(this.getSearchForm()){
+        return
+      }
       superFindCourseSchedules(this.getSearchForm()).then((res) => {
         if (res.code == 200) {
           this.tableList = res.data.rows;

+ 637 - 398
src/views/teamDetail/teamList.vue

@@ -1,265 +1,414 @@
 <template>
   <div class="m-container">
     <h2>
-      <div class="squrt"></div>乐团列表 <filter-search @reload="getList" :moreKeys="['organId']"/>
+      <div class="squrt"></div>
+      乐团列表 <filter-search @reload="getList" :moreKeys="['organId']" />
     </h2>
     <div class="m-core">
       <div class="btnList" style="margin-bottom: 20px">
-        <el-button type="primary" v-permission="'/teamBuild'"
-             @click="createNewTeam">新建乐团</el-button>
+        <el-button
+          type="primary"
+          v-permission="'/teamBuild'"
+          @click="createNewTeam"
+          >新建乐团</el-button
+        >
         <!-- <div class='newBand'
              v-permission="'/teamBuild/trimming'"
              @click="resetTeam">乐团调整</div> -->
       </div>
 
-      <save-form :inline="true"
-      @submit='search'
-      @reset='reset'
-               class="topForm"
-               ref="topForm"
-               :model="topForm">
-        <el-form-item prop='teamName'>
-          <el-input v-model.trim="topForm.teamName"
-          clearable
-                    @keyup.enter.native='search'
-                    placeholder="请输入乐团名称"></el-input>
+      <save-form
+        :inline="true"
+        @submit="search"
+        @reset="reset"
+        class="topForm"
+        ref="topForm"
+        :model="topForm"
+      >
+        <el-form-item prop="teamName">
+          <el-input
+            v-model.trim="topForm.teamName"
+            clearable
+            @keyup.enter.native="search"
+            placeholder="请输入乐团名称"
+          ></el-input>
         </el-form-item>
-        <el-form-item prop='orgin'>
-          <el-select class='multiple'
-                     v-model.trim="topForm.orgin"
-                     filterable
-                     clearable
-                     placeholder="请选择分部">
-            <el-option v-for="(item,index) in organList"
-                       :key="index"
-                       :label="item.name"
-                       :value="item.id"></el-option>
+        <el-form-item prop="orgin">
+          <el-select
+            class="multiple"
+            v-model.trim="topForm.orgin"
+            filterable
+            clearable
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item, index) in organList"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item prop='status'>
-          <el-select class='multiple'
-                     v-model.trim="topForm.status"
-                     filterable
-                     clearable
-                     placeholder="请选择乐团状态">
-            <el-option v-for="(item,index) in nowStatus"
-                       :key="index"
-                       :label="item.text"
-                       :value="item.value"></el-option>
+        <el-form-item prop="status">
+          <el-select
+            class="multiple"
+            v-model.trim="topForm.status"
+            filterable
+            clearable
+            placeholder="请选择乐团状态"
+          >
+            <el-option
+              v-for="(item, index) in nowStatus"
+              :key="index"
+              :label="item.text"
+              :value="item.value"
+            ></el-option>
           </el-select>
         </el-form-item>
         <!-- 收费类型 -->
-        <el-form-item prop='payType'>
-          <el-select v-model.trim="topForm.payType"
-                     filterable
-                     placeholder="请选择收费类型"
-                     clearable>
-            <el-option v-for="(item,index) in typeList"
-                       :key='index'
-                       :label="item.name"
-                       :value="item.id"></el-option>
+        <el-form-item prop="payType">
+          <el-select
+            v-model.trim="topForm.payType"
+            filterable
+            placeholder="请选择收费类型"
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in typeList"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button type='danger'
-          native-type="submit"
-                     >搜索</el-button>
+          <el-button type="danger" native-type="submit">搜索</el-button>
         </el-form-item>
         <el-form-item>
-          <el-button type='primary'
-          native-type="reset"
-                    >重置</el-button>
+          <el-button type="primary" native-type="reset">重置</el-button>
         </el-form-item>
       </save-form>
       <div class="tableWrap">
-        <el-table style="width: 100%"
-                  @selection-change="handleSelectionChange"
-                  :header-cell-style="{background:'#EDEEF0',color:'#444'}"
-                  :data='tableData'>
+        <el-table
+          style="width: 100%"
+          @selection-change="handleSelectionChange"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+          :data="tableData"
+        >
           <!-- <el-table-column type="selection"
                            :selectable="checkSelectable"
                            width="50">
           </el-table-column> -->
-          <el-table-column prop="id"
-                           width="100"
-                           align='center'
-                           label="乐团编号">
-                           <template slot-scope="scope">
-                             <copy-text>{{scope.row.id}}</copy-text>
-                           </template>
+          <el-table-column
+            prop="id"
+            width="100"
+            align="center"
+            label="乐团编号"
+          >
+            <template slot-scope="scope">
+              <copy-text>{{ scope.row.id }}</copy-text>
+            </template>
           </el-table-column>
-          <el-table-column prop="name"
-                           width="200px"
-                           align='center'
-                           label="乐团名称">
-                           <template slot-scope="scope">
-                             <copy-text>{{scope.row.name}}</copy-text>
-                           </template>
+          <el-table-column
+            prop="name"
+            width="200px"
+            align="center"
+            label="乐团名称"
+          >
+            <template slot-scope="scope">
+              <copy-text>{{ scope.row.name }}</copy-text>
+            </template>
           </el-table-column>
-          <el-table-column align='center'
-                           width="200px"
-                           prop="cooperationOrganName"
-                           max-width='274'
-                           label="合作单位">
+          <el-table-column
+            align="center"
+            width="200px"
+            prop="cooperationOrganName"
+            max-width="274"
+            label="合作单位"
+          >
           </el-table-column>
-          <el-table-column prop="status"
-                           align='center'
-                           label="乐团状态">
+          <el-table-column prop="status" align="center" label="乐团状态">
             <template slot-scope="scope">
               <div>
                 {{ scope.row.status | teamStatus }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column align='center'
-                           prop="chargeTypeName"
-                           label="收费类型">
+          <el-table-column
+            align="center"
+            prop="chargeTypeName"
+            label="收费类型"
+          >
           </el-table-column>
-          <el-table-column prop="educationalTeacherName"
-                           align='center'
-                           label="乐团主管">
+          <el-table-column
+            prop="educationalTeacherName"
+            align="center"
+            label="乐团主管"
+          >
           </el-table-column>
-          <el-table-column prop="teamTeacherName"
-                           align='center'
-                           label="运营主管">
+          <el-table-column
+            prop="teamTeacherName"
+            align="center"
+            label="运营主管"
+          >
           </el-table-column>
-          <el-table-column prop="groupMemberNum"
-                           align='center'
-                           label="成团人数">
+          <el-table-column
+            prop="groupMemberNum"
+            align="center"
+            label="成团人数"
+          >
           </el-table-column>
-          <el-table-column prop="payNum"
-                           align='center'
-                           label="在读人数">
+          <el-table-column prop="payNum" align="center" label="在读人数">
           </el-table-column>
           <!-- <el-table-column prop="course"
                            align='center'
                            label="当前课时">
           </el-table-column> -->
-          <el-table-column prop="createTime"
-                           width='100px'
-                           align='center'
-                           label="申请时间">
+          <el-table-column
+            prop="createTime"
+            width="100px"
+            align="center"
+            label="申请时间"
+          >
             <template slot-scope="scope">
               <div>
-                {{ scope.row.createTime | formatTimer}}
+                {{ scope.row.createTime | formatTimer }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column align='center'
-                           width='100px'
-                           label="成团时间">
+          <el-table-column align="center" width="100px" label="成团时间">
             <template slot-scope="scope">
               <div>
-                {{ scope.row.billStartDate | formatTimer}}
+                {{ scope.row.billStartDate | formatTimer }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column align='center'
-                           width='100px'
-                           label="清单状况">
+          <el-table-column align="center" width="100px" label="清单状况">
             <template slot-scope="scope">
               <div>
-                {{ scope.row.hasVerifyMusicalList?'已确认':'未确认'}}
+                {{ scope.row.hasVerifyMusicalList ? "已确认" : "未确认" }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column align='center'
-                           width='220px'
-                           fixed="right"
-                           label="操作">
+          <el-table-column
+            align="center"
+            width="220px"
+            fixed="right"
+            label="操作"
+          >
             <template slot-scope="scope">
               <div>
                 <!-- <el-button type="text"
                            v-if="scope.row.status == 'PREPARE' && permission('/setImprovement')"
                            @click="gotoImprovement(scope.row)">基础技能班</el-button> -->
-                <el-button type="text"
-                           v-if="scope.row.status == 'PREPARE' && permission('/teamDetailedList')"
-                           @click="gotodetailList(scope.row)">发放清单</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'PREPARE' &&
+                    permission('/teamDetailedList')
+                  "
+                  @click="gotodetailList(scope.row)"
+                  >发放清单</el-button
+                >
 
                 <!-- <el-button type="text"
                            v-if="scope.row.status == 'PREPARE'"
                            @click="lookTeamCourse(scope.row)">查看课表</el-button> -->
 
                 <!-- 报名中&缴费中 查看 -->
-                <el-button type="text"
-                           v-if="(scope.row.status == 'APPLY'|| scope.row.status == 'PAY')  && permission('/signupList')"
-                           @click="lookTeamDetail(scope.row)">查看</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    (scope.row.status == 'APPLY' ||
+                      scope.row.status == 'PAY') &&
+                    permission('/signupList')
+                  "
+                  @click="lookTeamDetail(scope.row)"
+                  >查看</el-button
+                >
                 <!-- 报名中缴费中筹备中查看乐团 -->
-                <el-button type="text"
-                           v-if="(scope.row.status == 'APPLY'|| scope.row.status == 'PAY' || scope.row.status == 'PREPARE'  || scope.row.status == 'PRE_APPLY'  || scope.row.status == 'PRE_BUILD_FEE' || scope.row.status == 'FEE_AUDIT')  && permission('/teamLookBase')"
-                           @click="lookTeamInfo(scope.row)">乐团信息</el-button>
-                <el-button v-if="permission('recharge/findAll')"
-                           type="text"
-                           @click="lookSteam(scope.row)">乐团日志</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    (scope.row.status == 'APPLY' ||
+                      scope.row.status == 'PAY' ||
+                      scope.row.status == 'PREPARE' ||
+                      scope.row.status == 'PRE_APPLY' ||
+                      scope.row.status == 'PRE_BUILD_FEE' ||
+                      scope.row.status == 'FEE_AUDIT') &&
+                    permission('/teamLookBase')
+                  "
+                  @click="lookTeamInfo(scope.row)"
+                  >乐团信息</el-button
+                >
+                <el-button
+                  v-if="permission('recharge/findAll')"
+                  type="text"
+                  @click="lookSteam(scope.row)"
+                  >乐团日志</el-button
+                >
                 <!-- 进行中 关闭 -->
-                <el-button type="text"
-                           v-if="scope.row.status == 'PROGRESS' && permission('musicGroup/closeMusicGroup')"
-                           @click="closeTeamDetail(scope.row)">关闭乐团</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'PROGRESS' &&
+                    permission('musicGroup/closeMusicGroup')
+                  "
+                  @click="closeTeamDetail(scope.row)"
+                  >关闭乐团</el-button
+                >
                 <!-- 进行中 查看 -->
-                <el-button type="text"
-                           v-if="scope.row.status == 'PROGRESS' && permission('/teamDetails')"
-                           @click="lookTeamDetail(scope.row)">查看</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'PROGRESS' && permission('/teamDetails')
+                  "
+                  @click="lookTeamDetail(scope.row)"
+                  >查看</el-button
+                >
 
                 <!-- 预报名中 查看 -->
-                <el-button type="text"
-                           v-if="scope.row.status == 'PRE_APPLY' && permission('studentRegistration/queryPreApplyList')"
-                           @click="lookTeamDetail(scope.row)">查看</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'PRE_APPLY' &&
+                    permission('studentRegistration/queryPreApplyList')
+                  "
+                  @click="lookTeamDetail(scope.row)"
+                  >查看</el-button
+                >
 
                 <!-- 暂停中 查看 -->
-                <el-button type="text"
-                           v-if="scope.row.status == 'PAUSE' && permission('musicGroup/pauseMusicGroup/look')"
-                           @click="lookTeamDetail(scope.row)">查看</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'PAUSE' &&
+                    permission('musicGroup/pauseMusicGroup/look')
+                  "
+                  @click="lookTeamDetail(scope.row)"
+                  >查看</el-button
+                >
 
                 <!-- 创建缴费中 查看 -->
-                <el-button type="text"
-                           v-if="scope.row.status == 'PRE_BUILD_FEE' && permission('/createPayment')"
-                           @click="lookTeamDetail(scope.row)">创建缴费</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'PRE_BUILD_FEE' &&
+                    permission('/createPayment')
+                  "
+                  @click="lookTeamDetail(scope.row)"
+                  >创建缴费</el-button
+                >
 
                 <!-- <el-button type="text"
                            v-if="scope.row.status != 'PROGRESS' && scope.row.status != 'CANCELED'  && scope.row.status != 'PAUSE' && scope.row.status != 'APPLY'&& scope.row.status != 'PAY'"
                            @click="lookTeamDetail(scope.row)">编辑</el-button> -->
                 <!-- 筹备中 编辑 -->
-                <el-button type="text"
-                           v-if="scope.row.status == 'PREPARE' && permission('teamDetail/teamSeting/update')"
-                           @click="lookTeamDetail(scope.row)">班级列表</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'PREPARE' &&
+                    permission('teamDetail/teamSeting/update')
+                  "
+                  @click="lookTeamDetail(scope.row)"
+                  >班级列表</el-button
+                >
                 <!-- 审核中 编辑 -->
-                <el-button type="text"
-                           v-if="(scope.row.status == 'AUDIT')&& permission('teamDetail/audit/update')"
-                           @click="lookTeamDetail(scope.row)">审核</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'AUDIT' &&
+                    permission('teamDetail/audit/update')
+                  "
+                  @click="lookTeamDetail(scope.row)"
+                  >审核</el-button
+                >
                 <!-- 费用审核中  -->
                 <!-- <el-button type="text"
                            v-if="( scope.row.status == 'FEE_AUDIT')&& permission('teamDetail/audit/update')"
                            @click="lookTeamDetail(scope.row)">查看</el-button> -->
                 <!-- 编辑中 编辑 -->
-                <el-button type="text"
-                           v-if="scope.row.status == 'DRAFT' && permission('teamDetail/draft/update')"
-                           @click="lookTeamDetail(scope.row)">编辑</el-button>
-                <el-button type="text"
-                           v-if="(scope.row.status == 'DRAFT' || scope.row.status == 'AUDIT'|| scope.row.status == 'FEE_AUDIT' || (scope.row.status == 'APPLY'|| scope.row.status == 'PAY') && permission('musicGroup/cancelMusicGroup'))"
-                           @click="stopTeam(scope.row)">取消乐团</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'DRAFT' &&
+                    permission('teamDetail/draft/update')
+                  "
+                  @click="lookTeamDetail(scope.row)"
+                  >编辑</el-button
+                >
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'DRAFT' ||
+                    scope.row.status == 'AUDIT' ||
+                    scope.row.status == 'FEE_AUDIT' ||
+                    ((scope.row.status == 'APPLY' ||
+                      scope.row.status == 'PAY') &&
+                      permission('musicGroup/cancelMusicGroup'))
+                  "
+                  @click="stopTeam(scope.row)"
+                  >取消乐团</el-button
+                >
                 <!-- 审核失败 编辑 -->
-                <el-button type="text"
-                           v-if="scope.row.status == 'AUDIT_FAILED' && permission('teamDetail/aduitFailed/update')"
-                           @click="lookTeamDetail(scope.row)">编辑</el-button>
+                <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'AUDIT_FAILED' &&
+                    permission('teamDetail/aduitFailed/update')
+                  "
+                  @click="lookTeamDetail(scope.row)"
+                  >编辑</el-button
+                >
 
-                <el-button v-if="scope.row.status == 'PREPARE' && permission('musicGroup/action')"
-                           @click="startTeam(scope.row)"
-                           type="text">确认成团</el-button>
+                <el-button
+                  v-if="
+                    scope.row.status == 'PREPARE' &&
+                    permission('musicGroup/action')
+                  "
+                  @click="startTeam(scope.row)"
+                  type="text"
+                  >确认成团</el-button
+                >
                 <!-- <el-button type="text"
                            v-if="scope.row.status == 'AUDIT' && permission('musicGroup/cancelMusicGroup')"
                            @click="stopTeam(scope.row)">取消乐团</el-button> -->
-                <el-button v-if="scope.row.status == 'PAUSE' && permission('musicGroup/resumeMusicGroup')"
-                           @click="onTeamOpeation('start', scope.row)"
-                           type="text">启动</el-button>
-                <el-button v-if="scope.row.status == 'PROGRESS' && permission('musicGroup/pauseMusicGroup')"
-                           @click="onTeamOpeation('pause', scope.row)"
-                           type="text">暂停</el-button>
-                <el-button v-if="scope.row.status == 'PROGRESS' && permission('/resetTeaming')"
-                           @click="resetTeaming(scope.row)"
-                           type="text">修改</el-button>
-                <el-button v-if="scope.row.status == 'CANCELED' && permission('musicGroup/deleteMusicGroup')"
-                           @click="deteleTeaming(scope.row)"
-                           type="text">删除</el-button>
+                <el-button
+                  v-if="
+                    scope.row.status == 'PAUSE' &&
+                    permission('musicGroup/resumeMusicGroup')
+                  "
+                  @click="onTeamOpeation('start', scope.row)"
+                  type="text"
+                  >启动</el-button
+                >
+                <el-button
+                  v-if="
+                    scope.row.status == 'PROGRESS' &&
+                    permission('musicGroup/pauseMusicGroup')
+                  "
+                  @click="onTeamOpeation('pause', scope.row)"
+                  type="text"
+                  >暂停</el-button
+                >
+                <el-button
+                  v-if="
+                    scope.row.status == 'PROGRESS' &&
+                    permission('/resetTeaming')
+                  "
+                  @click="resetTeaming(scope.row)"
+                  type="text"
+                  >修改</el-button
+                >
+                <el-button
+                  v-if="
+                    scope.row.status == 'CANCELED' &&
+                    permission('musicGroup/deleteMusicGroup')
+                  "
+                  @click="deteleTeaming(scope.row)"
+                  type="text"
+                  >删除</el-button
+                >
               </div>
             </template>
           </el-table-column>
@@ -267,52 +416,60 @@
         <!-- 分页器 -->
         <!-- 分页 -->
         <pagination
-        sync
-        :total.sync="rules.total"
-                    :page.sync="rules.page"
-                    :limit.sync="rules.limit"
-                    :page-sizes="rules.page_size"
-                    @pagination="getList" />
+          sync
+          :total.sync="rules.total"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
       </div>
-      <el-dialog :visible.sync="showSteam"
-                 width="500px"
-                 title="乐团流程">
-
-        <teamSteam :activeId='activeId' />
-        <div slot="footer"
-             class="dialog-footer">
-          <el-button type="primary"
-                     @click="showSteam=false">确 定</el-button>
+      <el-dialog :visible.sync="showSteam" width="500px" title="乐团流程">
+        <teamSteam :activeId="activeId" />
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="showSteam = false">确 定</el-button>
         </div>
       </el-dialog>
       <el-dialog :visible.sync="closeVisible" title="确认学员" width="800px">
-        <closeStudens v-if="closeVisible" :detail="closeDetail" @close="closeVisible = false" @submited="getList"/>
+        <closeStudens
+          v-if="closeVisible"
+          :detail="closeDetail"
+          @close="closeVisible = false"
+          @submited="getList"
+        />
       </el-dialog>
-
     </div>
   </div>
 </template>
 <script>
-import pagination from '@/components/Pagination/index'
-import { getTeamList, getPayType } from '@/api/teamServer'
-import { getCooperation, cancelMusicGroup, startTeam, getEmployeeOrgan, pauseMusicGroup, resumeMusicGroup, deleteMusicGroup } from '@/api/buildTeam'
-import { musicGroupStatus } from '@/utils/searchArray'
-import { isObject } from 'util'
-import { permission } from '@/utils/directivePage'
-import teamSteam from './teamListComponent/teamSteam'
-import closeStudens from '../teamBuild/modals/close-studens'
+import pagination from "@/components/Pagination/index";
+import { getTeamList, getPayType } from "@/api/teamServer";
+import {
+  getCooperation,
+  cancelMusicGroup,
+  startTeam,
+  getEmployeeOrgan,
+  pauseMusicGroup,
+  resumeMusicGroup,
+  deleteMusicGroup,
+} from "@/api/buildTeam";
+import { musicGroupStatus } from "@/utils/searchArray";
+import { isObject } from "util";
+import { permission } from "@/utils/directivePage";
+import teamSteam from "./teamListComponent/teamSteam";
+import closeStudens from "../teamBuild/modals/close-studens";
 export default {
   name: "teamList",
-  data () {
+  data() {
     return {
       closeDetail: {},
       closeVisible: false,
       topForm: {
-        teamName: '',
-        status: '',
-        payType: '',
-        word: '',
-        orgin: ''
+        teamName: "",
+        status: "",
+        payType: "",
+        word: "",
+        orgin: "",
       },
       organList: [],
       typeList: [], // 收费类型
@@ -324,61 +481,61 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50] // 选择限制显示条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
       },
       passed: [], // 传递的参数
       showSteam: false,
-      activeId: null
-    }
+      activeId: null,
+    };
   },
   components: {
     pagination,
     teamSteam,
-    closeStudens
+    closeStudens,
   },
-  mounted () {
-    const { query } = this.$route
+  mounted() {
+    const { query } = this.$route;
     if (query.organId) {
-      this.topForm.orgin = query.organId
+      this.topForm.orgin = query.organId;
     }
     this.init();
   },
-  activated () {
+  activated() {
     this.init();
   },
   methods: {
-    init () {
-      sessionStorage.setItem('resetCode', '1')
+    init() {
+      sessionStorage.setItem("resetCode", "1");
 
-      getEmployeeOrgan().then(res => {
+      getEmployeeOrgan().then((res) => {
         if (res.code == 200) {
           this.organList = res.data;
         }
-      })
+      });
       // 获取乐团收费类型
-      getPayType().then(res => {
+      getPayType().then((res) => {
         if (res.code == 200) {
           this.typeList = res.data.rows;
         }
-      })
+      });
       // 获取乐团合作单位(学校)
       // getCooperation().then(res => {
       // })
       this.getList();
     },
-    permission (str) {
-      return permission(str)
+    permission(str) {
+      return permission(str);
     },
-    reset () {
+    reset() {
       this.rules.page = 1;
-      this.$refs['topForm'].resetFields();
-      this.getList()
+      this.$refs["topForm"].resetFields();
+      this.getList();
     },
-    search () {
+    search() {
       this.rules.page = 1;
       this.getList();
     },
-    getList () {
+    getList() {
       getTeamList({
         rows: this.rules.limit,
         page: this.rules.page,
@@ -386,70 +543,78 @@ export default {
         chargeTypeId: this.topForm.payType || null,
         musicGroupName: this.topForm.teamName || null,
         musicGroupStatus: this.topForm.status || null,
-        musicGroupId: this.$route.query.search
-      }).then(res => {
+        musicGroupId: this.$route.query.search,
+      }).then((res) => {
         if (res.code == 200) {
-          this.tableData = res.data.rows
-          this.rules.total = res.data.total
+          this.tableData = res.data.rows;
+          this.rules.total = res.data.total;
         }
-      })
+      });
     },
-    createNewTeam () {
-      let search = JSON.stringify(this.topForm)
-      let rules = JSON.stringify(this.rules)
-      this.$router.push({ path: '/business/teamBuild', query: { type: 'newTeam', } }, router => {
-        router.meta.title = '新建乐团'
-      })
+    createNewTeam() {
+      let search = JSON.stringify(this.topForm);
+      let rules = JSON.stringify(this.rules);
+      this.$router.push(
+        { path: "/business/teamBuild", query: { type: "newTeam" } },
+        (router) => {
+          router.meta.title = "新建乐团";
+        }
+      );
     },
-    resetTeam () {
+    resetTeam() {
       // 这里还有勾选的乐团信息
       if (this.passed && this.passed.length <= 0) {
-        this.$message.error('请至少选择一个乐团进行调整')
-        return
+        this.$message.error("请至少选择一个乐团进行调整");
+        return;
       }
-      let search = JSON.stringify(this.topForm)
-      let rules = JSON.stringify(this.rules)
-      this.$router.push({ path: '/business/teamBuild', query: { type: 'teamList', teamList: this.passed, } })
+      let search = JSON.stringify(this.topForm);
+      let rules = JSON.stringify(this.rules);
+      this.$router.push({
+        path: "/business/teamBuild",
+        query: { type: "teamList", teamList: this.passed },
+      });
     },
-    resetTeaming (row) {
+    resetTeaming(row) {
       // 修改进行中的乐团
-      let search = JSON.stringify(this.topForm)
-      let rules = JSON.stringify(this.rules)
-      this.$router.push({ path: '/business/resetTeaming', query: { type: 'resetTeam', id: row.id,} })
+      let search = JSON.stringify(this.topForm);
+      let rules = JSON.stringify(this.rules);
+      this.$router.push({
+        path: "/business/resetTeaming",
+        query: { type: "resetTeam", id: row.id },
+      });
     },
-    setSearchList (obj) {
+    setSearchList(obj) {
       //
       // 没有相同的key=>添加这个对象
       // 有相同的key => 替换这个对象
       if (obj.type == 1) {
         let flag = false;
-        this.searchLsit = this.searchLsit.map(item => {
+        this.searchLsit = this.searchLsit.map((item) => {
           if (item.id == obj.id) {
             item = obj;
             flag = true;
           }
           return item;
-        })
+        });
         if (!flag) {
-          this.searchLsit.push(obj)
+          this.searchLsit.push(obj);
         }
       } else {
         let flag = false;
-        this.searchLsit = this.searchLsit.map(item => {
+        this.searchLsit = this.searchLsit.map((item) => {
           if (item.key == obj.key) {
             // 多选框的再次点击=> 等于 就是删除
             item = obj;
             flag = true;
           }
           return item;
-        })
+        });
         if (!flag) {
-          this.searchLsit.push(obj)
+          this.searchLsit.push(obj);
         }
       }
-
     },
-    closeSearch (item) {
+    closeSearch(item) {
       // 1.删除search里的元素
       if (item.type == 1) {
         for (let some in this.searchLsit) {
@@ -458,7 +623,7 @@ export default {
           }
         }
         // 2.清空对应元素所对应的的值
-        this.topForm[item.id] = '';
+        this.topForm[item.id] = "";
       } else {
         for (let i = 0; i < this.topForm[item.id].length; i++) {
           if (this.topForm[item.id][i] == item.value) {
@@ -467,236 +632,310 @@ export default {
         }
         // 处理search
         for (let some in this.searchLsit) {
-          if (this.searchLsit[some].value == item.value && this.searchLsit[some].id == item.id) {
+          if (
+            this.searchLsit[some].value == item.value &&
+            this.searchLsit[some].id == item.id
+          ) {
             this.searchLsit.splice(some, 1);
           }
           // id: 'school', key: this.schools[item].text, value: val, type: 1
         }
-
-
       }
     },
     closeTeamDetail(row) {
-      this.closeVisible = true
-      this.closeDetail = {...row}
+      this.closeVisible = true;
+      this.closeDetail = { ...row };
     },
-    onTeamOpeation (type, row) {
-      if (type == 'start') {
-        this.$confirm('是否确定开启乐团?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          resumeMusicGroup({ musicGroupId: row.id }).then(res => {
-            if (res.code == 200) {
-              this.$message.success('开启成功')
-              this.getList()
-            } else {
-              this.$message.error(res.msg)
-            }
+    onTeamOpeation(type, row) {
+      if (type == "start") {
+        this.$confirm("是否确定开启乐团?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+          .then(() => {
+            resumeMusicGroup({ musicGroupId: row.id }).then((res) => {
+              if (res.code == 200) {
+                this.$message.success("开启成功");
+                this.getList();
+              } else {
+                this.$message.error(res.msg);
+              }
+            });
           })
-        }).catch(() => { })
-
-      } else if (type == 'pause') {
-        this.$confirm('是否确定暂停乐团?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          pauseMusicGroup({ musicGroupId: row.id }).then(res => {
-            if (res.code == 200) {
-              this.$message.success('暂停成功')
-              this.getList()
-            } else {
-              this.$message.error(res.msg)
-            }
+          .catch(() => {});
+      } else if (type == "pause") {
+        this.$confirm("是否确定暂停乐团?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+          .then(() => {
+            pauseMusicGroup({ musicGroupId: row.id }).then((res) => {
+              if (res.code == 200) {
+                this.$message.success("暂停成功");
+                this.getList();
+              } else {
+                this.$message.error(res.msg);
+              }
+            });
           })
-        }).catch(() => { })
+          .catch(() => {});
       }
     },
-    gotoSearch () {
-      this.$refs['topForm'].resetFields();
+    gotoSearch() {
+      this.$refs["topForm"].resetFields();
       this.searchLsit = [];
     },
-    lookTeamCourse (row) {
+    lookTeamCourse(row) {
       // 查看课表
-      let search = JSON.stringify(this.topForm)
-      let rules = JSON.stringify(this.rules)
-      this.$router.push({ path: '/business/teamDetailCourse', query: { id: row.id, name: row.name,  } })
+      let search = JSON.stringify(this.topForm);
+      let rules = JSON.stringify(this.rules);
+      this.$router.push({
+        path: "/business/teamDetailCourse",
+        query: { id: row.id, name: row.name },
+      });
     },
-    lookTeamDetail (row) {
-      let search = JSON.stringify(this.topForm)
-      let rules = JSON.stringify(this.rules)
+    lookTeamDetail(row) {
+      let search = JSON.stringify(this.topForm);
+      let rules = JSON.stringify(this.rules);
       switch (row.status) {
-        case 'DRAFT': {
+        case "DRAFT": {
           // 编辑中
-          this.$router.push({ path: '/business/teamBuild', query: { type: 'teamDraft', id: row.id,  } }, router => {
-            router.meta.title = '编辑乐团'
-          })
+          this.$router.push(
+            {
+              path: "/business/teamBuild",
+              query: { type: "teamDraft", id: row.id },
+            },
+            (router) => {
+              router.meta.title = "编辑乐团";
+            }
+          );
           break;
         }
-        case 'AUDIT': {
+        case "AUDIT": {
           // 审核中
-          this.$router.push({ path: '/business/teamBuild', query: { type: 'teamAudit', id: row.id,  } }, router => {
-            router.meta.title = '审核乐团'
-          })
+          this.$router.push(
+            {
+              path: "/business/teamBuild",
+              query: { type: "teamAudit", id: row.id },
+            },
+            (router) => {
+              router.meta.title = "审核乐团";
+            }
+          );
           break;
         }
-        case 'PRE_BUILD_FEE': {
+        case "PRE_BUILD_FEE": {
           // 创建缴费中
-          this.$router.push({ path: '/business/createPayment', query: { type: 'PRE_BUILD_FEE', id: row.id, name: row.name } })
+          this.$router.push({
+            path: "/business/createPayment",
+            query: { type: "PRE_BUILD_FEE", id: row.id, name: row.name },
+          });
           break;
         }
-        case 'FEE_AUDIT': {
+        case "FEE_AUDIT": {
           // 费用审核中
-          this.$router.push({ path: '/business/teamBuild', query: { type: 'feeAudit', id: row.id,  } }, router => {
-            router.meta.title = '乐团费用审核中'
-          })
+          this.$router.push(
+            {
+              path: "/business/teamBuild",
+              query: { type: "feeAudit", id: row.id },
+            },
+            (router) => {
+              router.meta.title = "乐团费用审核中";
+            }
+          );
           break;
         }
-        case 'AUDIT_FAILED': {
+        case "AUDIT_FAILED": {
           // 审核失败
-          this.$router.push({ path: '/business/teamBuild', query: { type: 'teamDraft', id: row.id,  } }, router => {
-            router.meta.title = '乐团审核失败编辑'
-          })
+          this.$router.push(
+            {
+              path: "/business/teamBuild",
+              query: { type: "teamDraft", id: row.id },
+            },
+            (router) => {
+              router.meta.title = "乐团审核失败编辑";
+            }
+          );
           break;
         }
-        case 'PRE_APPLY': {
+        case "PRE_APPLY": {
           // 预报名
-          this.$router.push({ path: '/business/forecastName', query: { id: row.id, name: row.name  } })
+          this.$router.push({
+            path: "/business/forecastName",
+            query: { id: row.id, name: row.name },
+          });
           break;
         }
-        case 'APPLY': {
+        case "APPLY": {
           // 报名中
-          this.$router.push({ path: `/business/signupList`, query: { status: row.status, id: row.id, name: row.name, } }, router => {
-            router.meta.title = "报名详情"
-          })
+          this.$router.push(
+            {
+              path: `/business/signupList`,
+              query: { status: row.status, id: row.id, name: row.name },
+            },
+            (router) => {
+              router.meta.title = "报名详情";
+            }
+          );
           break;
         }
-        case 'PAY': {
+        case "PAY": {
           // 缴费中
-          this.$router.push({ path: `/business/signupList`, query: { status: row.status, id: row.id, name: row.name,  } }, router => {
-            router.meta.title = "缴费详情"
-          })
+          this.$router.push(
+            {
+              path: `/business/signupList`,
+              query: { status: row.status, id: row.id, name: row.name },
+            },
+            (router) => {
+              router.meta.title = "缴费详情";
+            }
+          );
           break;
         }
-        case 'PREPARE': {
+        case "PREPARE": {
           // 筹备中 跳转到乐团设置界面
-          this.$router.push({ path: `/business/teamSeting`, query: { status: row.status, id: row.id, name: row.name,  } })
+          this.$router.push({
+            path: `/business/teamSeting`,
+            query: { status: row.status, id: row.id, name: row.name },
+          });
           break;
         }
-        case 'PROGRESS': {
+        case "PROGRESS": {
           // 进行中
           // 调到乐团详情 teamDetails
-          this.$router.push({ path: `/business/teamDetails`, query: { status: row.status, id: row.id, name: row.name,  organId: row.organId ,type:'look' } })
-          break
+          this.$router.push({
+            path: `/business/teamDetails`,
+            query: {
+              status: row.status,
+              id: row.id,
+              name: row.name,
+              organId: row.organId,
+              type: "look",
+            },
+          });
+          break;
         }
-        case 'CANCELED': {
+        case "CANCELED": {
           // 取消
-          break
+          break;
         }
-        case 'PAUSE': {
+        case "PAUSE": {
           // 暂停
-          this.$router.push({ path: `/business/teamDetails`, query: { status: row.status, id: row.id, name: row.name, } })
+          this.$router.push({
+            path: `/business/teamDetails`,
+            query: { status: row.status, id: row.id, name: row.name },
+          });
           break;
         }
       }
     },
-    checkSelectable (row) {
-      return row.status == 'PROGRESS'
+    checkSelectable(row) {
+      return row.status == "PROGRESS";
     },
-    handleSelectionChange (arr) {
+    handleSelectionChange(arr) {
       this.passed = [];
       for (let i in arr) {
         let obj = {};
         obj.id = arr[i].id;
         obj.name = arr[i].name;
-        this.passed.push(obj)
+        this.passed.push(obj);
       }
     },
-    gotodetailList (row) {
-      let search = JSON.stringify(this.topForm)
-      let rules = JSON.stringify(this.rules)
-      this.$router.push({ path: '/business/teamDetailedList', query: { id: row.id, } })
+    gotodetailList(row) {
+      let search = JSON.stringify(this.topForm);
+      let rules = JSON.stringify(this.rules);
+      this.$router.push({
+        path: "/business/teamDetailedList",
+        query: { id: row.id },
+      });
     },
     //
-    lookTeamInfo (row) {
-      let search = JSON.stringify(this.topForm)
-      let rules = JSON.stringify(this.rules)
-      this.$router.push({ path: '/business/teamLookBase', query: { type: 'look', id: row.id, name: row.name } })
+    lookTeamInfo(row) {
+      let search = JSON.stringify(this.topForm);
+      let rules = JSON.stringify(this.rules);
+      this.$router.push({
+        path: "/business/teamLookBase",
+        query: { type: "look", id: row.id, name: row.name },
+      });
     },
     // setImprovement 设置基础技能班
-    gotoImprovement (row) {
-      let search = JSON.stringify(this.topForm)
-      let rules = JSON.stringify(this.rules)
-      this.$router.push({ path: '/business/setImprovement', query: { id: row.id,  } })
+    gotoImprovement(row) {
+      let search = JSON.stringify(this.topForm);
+      let rules = JSON.stringify(this.rules);
+      this.$router.push({
+        path: "/business/setImprovement",
+        query: { id: row.id },
+      });
     },
     // 停止乐团
-    stopTeam (row) {
-      this.$confirm('您确定取消申请乐团?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        cancelMusicGroup({
-          musicGroupId: row.id
-        }).then(res => {
-          if (res.code == 200) {
-            this.$message.success('停止成功')
-            this.getList()
-          }
-        })
-      }).catch(() => {
+    stopTeam(row) {
+      this.$confirm("您确定取消申请乐团?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
       })
-
+        .then(() => {
+          cancelMusicGroup({
+            musicGroupId: row.id,
+          }).then((res) => {
+            if (res.code == 200) {
+              this.$message.success("停止成功");
+              this.getList();
+            }
+          });
+        })
+        .catch(() => {});
     },
     // 确认成团
-    startTeam (row) {
-      this.$confirm('是否确定成团?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        startTeam({ musicGroupId: row.id }).then(res => {
-          if (res.code == 200) {
-            this.$message.success('开启乐团成功')
-            this.getList();
-          }
+    startTeam(row) {
+      this.$confirm("是否确定成团?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          startTeam({ musicGroupId: row.id }).then((res) => {
+            if (res.code == 200) {
+              this.$message.success("开启乐团成功");
+              this.getList();
+            }
+          });
         })
-      }).catch(() => { })
-
+        .catch(() => {});
     },
-    deteleTeaming (row) {
-      this.$confirm('您确定删除该乐团?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        deleteMusicGroup({
-          musicGroupId: row.id
-        }).then(res => {
-          if (res.code == 200) {
-            this.$message.success('删除成功')
-            this.getList()
-          }
-        })
-      }).catch(() => {
+    deteleTeaming(row) {
+      this.$confirm("您确定删除该乐团?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
       })
+        .then(() => {
+          deleteMusicGroup({
+            musicGroupId: row.id,
+          }).then((res) => {
+            if (res.code == 200) {
+              this.$message.success("删除成功");
+              this.getList();
+            }
+          });
+        })
+        .catch(() => {});
+    },
+    lookSteam(row) {
+      this.activeId = row.id;
+      this.showSteam = true;
     },
-    lookSteam (row) {
-      this.activeId = row.id
-      this.showSteam = true
-    }
   },
   watch: {
-    showSteam (val) {
+    showSteam(val) {
       if (!val) {
-        this.activeId = null
+        this.activeId = null;
       }
-    }
-  }
-
-}
+    },
+  },
+};
 </script>
 <style lang="scss" scoped>
 .select {

+ 8 - 1
src/views/workBenchManager/payAppeal.vue

@@ -144,10 +144,17 @@
               <div>
                 <el-button
                   type="text"
-                  v-if="permission('teacherAttendance/operation')"
+                  v-if="permission('teacherAttendance/operation')&&scope.row.complaintsStatusEnum == 2"
                   @click="lookDetail(scope.row)"
                   >操作</el-button
                 >
+                 <el-button
+                  type="text"
+                  v-if="permission('teacherAttendance/operation')&&scope.row.complaintsStatusEnum != 2"
+                  @click="lookDetail(scope.row)"
+                  >查看</el-button
+                >
+                <!-- complaintsStatusEnum -->
               </div>
             </template>
           </el-table-column>