mo 4 gadi atpakaļ
vecāks
revīzija
6ea18023fa

+ 3 - 2
src/components/copy-text/index.vue

@@ -1,7 +1,7 @@
 <template>
   <span class="copy" v-if="content">
     <slot/>{{text}}
-    <i v-if="!!content" @click="copyText" title="复制" class="el-icon-document-copy"></i>
+    <i v-if="!!content" @click.stop="copyText" title="复制" class="el-icon-document-copy"></i>
   </span>
 </template>
 
@@ -38,7 +38,8 @@ export default {
       this.content = text
       return text
     },
-    copyText() {
+    copyText(e) {
+
       const text = this.content
       if (text) {
         copy(text)

+ 3 - 9
src/views/accompanyManager/accompanyList.vue

@@ -392,15 +392,9 @@ export default {
     };
   },
   mounted() {
-    if (this.$route.query.searchForm) {
-      this.$route.query.searchForm instanceof Object
-        ? (this.searchForm = this.$route.query.searchForm)
-        : (this.searchForm = JSON.parse(this.$route.query.searchForm));
-    }
-    if (this.$route.query.rules) {
-      this.$route.query.rules instanceof Object
-        ? (this.rules = this.$route.query.rules)
-        : (this.rules = JSON.parse(this.$route.query.rules));
+           const { query } = this.$route;
+      if(query.search){
+      this.searchForm.search = query.search
     }
     this.init();
   },

+ 2 - 1
src/views/resetTeaming/components/resetPayList.vue

@@ -483,7 +483,8 @@ export default {
     },
     teamStatus () {
       let type = this.$route.query.type;
-      return type == 'teamDraft' || type == 'resetTeam' || type == 'PRE_BUILD_FEE'
+      let team_status = this.$route.query.team_status
+      return type == 'teamDraft' || type == 'resetTeam' || type == 'PRE_BUILD_FEE' || team_status == 'PRE_BUILD_FEE'
     }
   },
   // activated () {

+ 2 - 1
src/views/resetTeaming/components/resetPayListSchool.vue

@@ -506,7 +506,8 @@ export default {
     },
     teamStatus () {
       let type = this.$route.query.type;
-      return type == 'teamDraft' || type == 'resetTeam' || type == 'PRE_BUILD_FEE'
+           let team_status = this.$route.query.team_status
+      return type == 'teamDraft' || type == 'resetTeam' || type == 'PRE_BUILD_FEE' || team_status == 'PRE_BUILD_FEE'
     }
   },
   // activated () {

+ 129 - 85
src/views/resetTeaming/index.vue

@@ -1,58 +1,92 @@
 <template>
   <div class="m-container">
     <h2>
-      <el-page-header @back="onCancel"
-                      :content="teamName"></el-page-header>
-
+      <el-page-header @back="onCancel" :content="teamName"></el-page-header>
     </h2>
     <div class="m-core">
       <!-- navMenu -->
-      <tab-router v-model.trim="activeIndex"
-               type="card"
-               ref="tab">
-        <el-tab-pane label="基本信息"
-        lazy
-                     v-if="permission('/resetTeaming/teamBaseInfo')"
-                     name="1">
-          <teamBaseInfo v-if="activeIndex == 1"
-                        @getBaseInfo="getBaseInfo"
-                        :baseInfo="baseInfo"
-                        @getName='getName' />
+      <tab-router v-model.trim="activeIndex" type="card" ref="tab">
+        <el-tab-pane
+          label="基本信息"
+          lazy
+          v-if="permission('/resetTeaming/teamBaseInfo')"
+          name="1"
+        >
+          <teamBaseInfo
+            v-if="activeIndex == 1"
+            @getBaseInfo="getBaseInfo"
+            :baseInfo="baseInfo"
+            @getName="getName"
+          />
         </el-tab-pane>
-        <el-tab-pane label="声部设置"
-        lazy
-                     v-if="permission('/resetTeaming/resetSound')"
-                     name="2">
+        <el-tab-pane
+          label="声部设置"
+          lazy
+          v-if="permission('/resetTeaming/resetSound')"
+          name="2"
+        >
           <resetSound v-if="activeIndex == 2" />
         </el-tab-pane>
-        <!-- <el-tab-pane label="学员缴费设置"
-                     v-if="permission('/resetTeaming/studentPayBase')"
-                     name="4">
-          <studentPayBase v-if="activeIndex == 4" />
-        </el-tab-pane> -->
-        <el-tab-pane label="学员缴费设置"
-        lazy
-                     v-if="permission('/resetTeaming/resetPayList')"
-                     name="3">
-          <resetPayList :baseInfo="baseInfo"
-                        v-if="activeIndex == 3&&baseInfo"
-                        @changeActive="handleClick" />
+        <el-tab-pane
+          label="老师列表"
+          v-if="permission('/teamDetails/teacherList')"
+          name="4"
+        >
+          <teacherList :teamid="teamid" v-if="activeIndex == 4" />
         </el-tab-pane>
-        <el-tab-pane label="学校缴费设置"
-        lazy
-                     v-if="permission('/resetTeaming/resetPayList')"
-                     name="6">
-          <resetPayListSchool :baseInfo="baseInfo"
-                              v-if="activeIndex == 6&&baseInfo"
-                              @changeActive="handleClick" />
+        <el-tab-pane
+          label="学生列表"
+          v-if="permission('/teamDetails/studentList')"
+          name="7"
+        >
+          <studentList :teamid="teamid" v-if="activeIndex == 7" />
         </el-tab-pane>
 
-        <el-tab-pane label="班级调整"
-        lazy
-                     v-if="permission('/resetTeaming/resetClass')"
-                     name="5">
-          <resetClass v-if="activeIndex == 5&&musicGroupInfo"  :musicGroupInfo='musicGroupInfo'/>
+        <el-tab-pane
+          label="班级列表"
+          lazy
+          v-if="permission('/resetTeaming/resetClass')"
+          name="5"
+        >
+          <resetClass
+            v-if="activeIndex == 5 && musicGroupInfo"
+            :musicGroupInfo="musicGroupInfo"
+          />
+        </el-tab-pane>
+             <el-tab-pane
+          label="课表详情"
+          lazy
+          v-if="permission('/teamDetails/courseList')"
+          name="8"
+        >
+          <courseList v-if="activeIndex == '8'"
+                      :teamid='teamid' />
+        </el-tab-pane>
+        <el-tab-pane
+          label="学员缴费设置"
+          lazy
+          v-if="permission('/resetTeaming/resetPayList')"
+          name="3"
+        >
+          <resetPayList
+            :baseInfo="baseInfo"
+            v-if="activeIndex == 3 && baseInfo"
+            @changeActive="handleClick"
+          />
         </el-tab-pane>
+        <el-tab-pane
+          label="学校缴费设置"
+          lazy
+          v-if="permission('/resetTeaming/resetPayList')"
+          name="6"
+        >
+          <resetPayListSchool
+            :baseInfo="baseInfo"
+            v-if="activeIndex == 6 && baseInfo"
+            @changeActive="handleClick"
+          />
+        </el-tab-pane>
+
         <!-- <el-tab-pane label="新增排课"
                      v-if="permission('/resetTeaming/coursePlan')"
                      name="4">
@@ -69,26 +103,37 @@
   </div>
 </template>
 <script>
-import teamBaseInfo from '@/views/teamBuild/components/teamBaseInfo'
-import resetSound from '@/views/resetTeaming/components/resetSoundv2'
-import resetClass from '@/views/teamDetail/components/resetClass'
+import teamBaseInfo from "@/views/teamBuild/components/teamBaseInfo";
+import resetSound from "@/views/resetTeaming/components/resetSoundv2";
+import resetClass from "@/views/teamDetail/components/resetClass";
 // import coursePlan from '@/views/teamBuild/teamSeting/components/coursePlan'
 // import lookCourse from '@/views/teamBuild/teamSeting/components/lookCourse'
 // import improvement from '@/views/teamBuild/teamSeting/components/improvementClass'
-import resetPayList from '@/views/resetTeaming/components/resetPayList'
-import resetPayListSchool from '@/views/resetTeaming/components/resetPayListSchool'
-import studentPayBase from '@/views/resetTeaming/components/studentPayBase'
-import { permission } from '@/utils/directivePage'
-import {
-  getTeamBaseInfo,
-} from "@/api/buildTeam";
+import resetPayList from "@/views/resetTeaming/components/resetPayList";
+import resetPayListSchool from "@/views/resetTeaming/components/resetPayListSchool";
+import studentPayBase from "@/views/resetTeaming/components/studentPayBase";
+import studentList from "@/views/teamDetail/components/studentList";
+import teacherList from "@/views/teamDetail/components/teacherList";
+import courseList from "@/views/teamDetail/components/courseList";
+import { permission } from "@/utils/directivePage";
+import { getTeamBaseInfo } from "@/api/buildTeam";
 export default {
-  components: { teamBaseInfo, resetSound, resetClass, resetPayList, resetPayListSchool, studentPayBase },
-  name: 'resetTeaming',
-  data () {
+  components: {
+    teamBaseInfo,
+    resetSound,
+    resetClass,
+    resetPayList,
+    resetPayListSchool,
+    studentPayBase,
+    studentList,
+    teacherList,
+    courseList,
+  },
+  name: "resetTeaming",
+  data() {
     return {
-      activeIndex: '1',
-      teamid: '',
+      activeIndex: "1",
+      teamid: "",
       baseInfo: null,
       // permissionStatus: {
       //   teamBaseInfo: true,
@@ -98,23 +143,23 @@ export default {
       //   coursePlan: true,
       // }
       name: null,
-      teamName: '乐团修改',
-      musicGroupInfo:null
-    }
+      teamName: "乐团修改",
+      musicGroupInfo: null,
+    };
   },
-  created () {
+  created() {
     // this.__init()
   },
-  beforeDestroy () {
+  beforeDestroy() {
     // sessionStorage.setItem('setStep', 0)
     // sessionStorage.setItem('resetCode', 1)
   },
-  mounted () {
+  mounted() {
     // let obj = {}
     // obj.name = this.activeIndex
     // console.log(this.activeIndex)
     // this.handleClick(obj)
-    this.__init()
+    this.__init();
   },
   // activated () {
   //   let obj = {}
@@ -123,39 +168,38 @@ export default {
   //   this.__init()
   // },
   methods: {
-    __init () {
+    __init() {
       // this.activeIndex = sessionStorage.getItem('resetCode') || '1';
       this.teamid = this.$route.query.id;
-      if(this.$route.query.tabrouter !=1){
-        getTeamBaseInfo({ musicGroupId: this.teamid }).then(res=>{
-          if(res.code == 200){
-           this.getBaseInfo(res.data)
+      if (this.$route.query.tabrouter != 1) {
+        getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
+          if (res.code == 200) {
+            this.getBaseInfo(res.data);
           }
-        })
+        });
       }
     },
-    onCancel () {
-       this.$store.dispatch('delVisitedViews', this.$route)
-      this.$router.push({ path: '/business/teamDetail' })
+    onCancel() {
+      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
+    getBaseInfo(baseInfo) {
+      this.baseInfo = baseInfo;
+      this.teamName = baseInfo?.musicGroup?.name;
+      this.musicGroupInfo = baseInfo?.musicGroup;
     },
-    handleClick (val) {
+    handleClick(val) {
       // this.activeIndex = val.name
-      this.$refs.tab.tab(val)
+      this.$refs.tab.tab(val);
     },
-    permission (str) {
-      return permission(str)
+    permission(str) {
+      return permission(str);
     },
-    getName (val) {
+    getName(val) {
       // this.name = val
-    }
+    },
   },
-}
+};
 </script>
 <style lang="scss" scoped>
 </style>

+ 73 - 50
src/views/studentManager/components/studentNetwork.vue

@@ -3,66 +3,79 @@
   <div class>
     <div class="m-core">
       <div class="tableWrap">
-        <el-table style="width: 100%"
-                  :header-cell-style="{background:'#EDEEF0',color:'#444'}"
-                  :data="tableList">
-          <el-table-column align="center"
-                           prop="id"
-                           label="课程编号"></el-table-column>
-          <el-table-column align="center"
-                           prop="name"
-                           label="课程名称"></el-table-column>
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+          :data="tableList"
+        >
+          <el-table-column align="center" prop="id" label="课程组编号">
+            <template slot-scope="scope">
+              <el-button type="text" @click="gotoNet(scope.row.id)">
+                <copy-text>{{ scope.row.id }}</copy-text>
+              </el-button>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="name" label="课程组名称">
+            <template slot-scope="scope">
+              <el-button type="text" @click="gotoNet(scope.row.name)">
+                <copy-text>{{ scope.row.name }}</copy-text>
+              </el-button>
+            </template>
+          </el-table-column>
           <!-- <el-table-column align="center" prop="subjectName" label="声部"></el-table-column> -->
-          <el-table-column align="center"
-                           prop="teacherName"
-                           label="指导老师"></el-table-column>
-          <el-table-column align="center"
-                           prop="educationalTeacherName"
-                           label="乐团主管"></el-table-column>
-          <el-table-column align="center"
-                           prop="type"
-                           label="课程组类型"
-                           width="100">
+          <el-table-column
+            align="center"
+            prop="teacherName"
+            label="指导老师"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="educationalTeacherName"
+            label="乐团主管"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="type"
+            label="课程组类型"
+            width="100"
+          >
             <template slot-scope="scope">
               <div>
-                <p>{{scope.row.type | comType}}</p>
+                <p>{{ scope.row.type | comType }}</p>
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="groupStatus"
-                           label="课程组状态">
+          <el-table-column align="center" prop="groupStatus" label="课程组状态">
             <template slot-scope="scope">
               <div>
-                <p>{{scope.row.groupStatus | comCourseGroup}}</p>
+                <p>{{ scope.row.groupStatus | comCourseGroup }}</p>
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           label="开始时间">
+          <el-table-column align="center" label="开始时间">
             <template slot-scope="scope">
               <div>
-                <div>{{scope.row.coursesStartDate|dateForMinFormat}}</div>
+                <div>{{ scope.row.coursesStartDate | dateForMinFormat }}</div>
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           label="结束时间">
+          <el-table-column align="center" label="结束时间">
             <template slot-scope="scope">
               <div>
-                <div>{{scope.row.coursesExpireDate|dateForMinFormat}}</div>
+                <div>{{ scope.row.coursesExpireDate | dateForMinFormat }}</div>
               </div>
             </template>
           </el-table-column>
         </el-table>
         <pagination
-        sync
-        save-key='studentDetail-studentNetwork'
-        :total.sync="rules.total"
-                    :page.sync="rules.page"
-                    :limit.sync="rules.limit"
-                    :page-sizes="rules.page_size"
-                    @pagination="getList" />
+          sync
+          save-key="studentDetail-studentNetwork"
+          :total.sync="rules.total"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
       </div>
     </div>
   </div>
@@ -74,10 +87,10 @@ import load from "@/utils/loading";
 import { practiceGroupManage } from "@/api/buildTeam";
 export default {
   components: { pagination },
-  data () {
+  data() {
     return {
       searchForm: {
-        search: null
+        search: null,
       },
       studentId: null,
       tableList: [],
@@ -87,38 +100,48 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50] // 选择限制显示条数
-      }
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
+      },
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
-  created () { },
+  created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {
+  mounted() {
     // 获取分部
+    const { query } = this.$route;
+    if (query.search) {
+      this.searchForm.search = query.search;
+    }
     this.init();
   },
-  activated () {
+  activated() {
     this.init();
   },
   methods: {
-    init () {
+    init() {
       this.studentId = this.$route.query.userId;
       this.getList();
     },
-    getList () {
+    getList() {
       practiceGroupManage({
         studentId: this.studentId,
         page: this.rules.page,
-        rows: this.rules.limit
-      }).then(res => {
+        rows: this.rules.limit,
+      }).then((res) => {
         if (res.code == 200) {
           this.tableList = res.data.rows;
           this.rules.total = res.data.total;
         }
       });
-    }
-  }
+    },
+    gotoNet(str) {
+      this.$router.push({
+        path: "/business/accompany",
+        query: { search: str },
+      });
+    },
+  },
 };
 </script>
 <style lang='scss' scoped>

+ 17 - 25
src/views/studentManager/components/studentVip.vue

@@ -27,18 +27,19 @@
         :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
         :data="tableList"
       >
-        <el-table-column label="VIP编号" align="center" prop="vipGroupId">
-          <template slot-scope="scope">
-            <copy-text>{{ scope.row.vipGroupId }}</copy-text>
+        <el-table-column label="VIP课程组编号" align="center" prop="vipGroupId">
+          <template slot-scope="scope" >
+             <el-button type="text" @click="gotoVip(scope.row.vipGroupId)">
+                 <copy-text>{{ scope.row.vipGroupId }}</copy-text>
+            </el-button>
+
           </template>
         </el-table-column>
-        <el-table-column
-          label="VIP课名称"
-          align="center"
-          prop="vipGroupName"
-        >
-         <template slot-scope="scope">
-            <copy-text>{{ scope.row.vipGroupName }}</copy-text>
+        <el-table-column label="VIP课程组名称" align="center" prop="vipGroupName">
+          <template slot-scope="scope">
+            <el-button type="text" @click="gotoVip(scope.row.vipGroupName)">
+              <copy-text>{{ scope.row.vipGroupName }}</copy-text>
+            </el-button>
           </template>
         </el-table-column>
         <el-table-column label="VIP课状态" align="center">
@@ -99,8 +100,8 @@
         </el-table-column>
       </el-table>
       <pagination
-       save-key="studentDetail-studentVip"
-      sync
+        save-key="studentDetail-studentVip"
+        sync
         :total.sync="pageInfo.total"
         :page.sync="pageInfo.page"
         :limit.sync="pageInfo.limit"
@@ -155,7 +156,7 @@ export default {
     return {
       searchForm: {
         studentId: null,
-        vipGroupName: null
+        vipGroupName: null,
       },
       checkIndex: null, // 选中的课程
       dialogTableVisible: false,
@@ -219,18 +220,9 @@ export default {
       this.pageInfo.page = 1;
       this.getCourseList();
     },
-    // getList() {
-    //   findStudentCourses({
-    //     vipGroupId: this.checkIndex,
-    //     rows: this.pageInfo.limit,
-    //     page: this.pageInfo.page
-    //   }).then(res => {
-    //     if(res.code ==200) {
-    //       this.tableList = res.data.rows
-    //       this.pageInfo.total = res.data.total
-    //     }
-    //   })
-    // }
+    gotoVip(str) {
+       this.$router.push({path:'/business/vipList',query:{search:str}})
+    },
   },
 };
 </script>

+ 12 - 1
src/views/studentManager/components/teamAndcourse.vue

@@ -8,7 +8,10 @@
                          width="180px"
                          label="乐团编号">
           <template slot-scope="scope">
-            <copy-text>{{ scope.row.musicGroupId }}</copy-text>
+            <el-button type="text" @click="gotoMusic(scope.row.musicGroupId)" >
+               <copy-text>{{ scope.row.musicGroupId }}</copy-text>
+            </el-button>
+
           </template>
         </el-table-column>
         <el-table-column align="center"
@@ -19,6 +22,11 @@
         <el-table-column align="center"
                          prop="musicGroupName"
                          label="乐团名称">
+                         <template slot-scope="scope">
+                           <el-button type="text"  @click="gotoMusic(scope.row.musicGroupName)">
+                              {{ scope.row.musicGroupName }}
+                           </el-button>
+                         </template>
         </el-table-column>
         <el-table-column align="center"
                          label="乐团状态">
@@ -257,6 +265,9 @@ export default {
           this.pageInfo.total = res.data.total;
         }
       });
+    },
+    gotoMusic(str){
+      this.$router.push({path:'/business/teamDetail',query:{search:str}})
     }
   }
 };

+ 72 - 43
src/views/teamBuild/components/soundSetComponents/soundSetCore.vue

@@ -66,9 +66,15 @@
                   :value="item.id"
                 >
                   <span style="float: left">{{ item.name }}</span>
-                  <span style="float: right; color: #8492a6; font-size: 13px; padding-right:20px">{{
-                    item.groupPurchasePrice|moneyFormat
-                  }}元</span>
+                  <span
+                    style="
+                      float: right;
+                      color: #8492a6;
+                      font-size: 13px;
+                      padding-right: 20px;
+                    "
+                    >{{ item.groupPurchasePrice | moneyFormat }}元</span
+                  >
                 </el-option>
               </el-select>
             </div>
@@ -144,7 +150,8 @@ export default {
       if (
         this.teamStatus == "look" ||
         this.teamStatus == "teamAudit" ||
-        this.teamStatus == "feeAudit"
+        this.teamStatus == "feeAudit" ||
+        this.teamStatus == "teamCanceled"
       ) {
         this.basdisabled = true;
       } else {
@@ -445,61 +452,83 @@ export default {
       if (this.teamStatus == "newTeam") {
         createTeam(obj).then((res) => {
           if (res.code == 200) {
-            // 成功 跳转到乐团报名详情
-            // let query = this.$route.query;
-            // query.type = "teamDraft";
-            // this.$router.push({
-            //   query: {
-            //     ...query,
-            //     id: res.data,
-            //   },
-            // });
-            // this.$emit("chiosetab", 2);
-            // this.$emit("getBaseInfo", obj);
-            //  zheli
-
-            // 把第3步单独拆出来做成独立的模块
-            this.$confirm('乐团创建成功,是否提交审核?', '提示', {
-              confirmButtonText: '确定',
-              cancelButtonText: '取消',
-              type: 'warning'
-            }).then(() => {
-              this.teamStatus = 'teamDraft'
-              this.teamid = res.data
-              this.submitInfo(1)
-            }).catch(() => {
-              this.$store.dispatch('delVisitedViews', this.$route)
-              this.$router.push({
-                path: '/business/teamDetail'
+            // type=teamDraft&id=21030215002600001
+            if (type) {
+              this.teamStatus = "teamDraft";
+              this.$confirm("乐团创建成功,是否提交审核?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
               })
+                .then(() => {
+                  this.teamid = res.data;
+                  this.submitInfo(1);
+                })
+                .catch(() => {
+                   this.teamid = res.data;
+                   this.$router.push({
+              path: "/business/teamBuild",
+              query: { type: "teamDraft", id: res.data },
             });
+                });
+            } else {
+              this.$message.success("保存成功");
+              this.teamid = res.data;
+              this.teamStatus = "DRAFT";
+            }
+            this.$router.push({
+              path: "/business/teamBuild",
+              query: { type: "teamDraft", id: res.data },
+            });
+
+            // 把第3步单独拆出来做成独立的模块
           }
         });
       } else {
         obj.musicGroupId = this.teamid;
-
+        console.log(obj,type)
         if (type) {
           obj.musicGroupStatus = "AUDIT";
         } else {
           obj.musicGroupStatus = "DRAFT";
         }
 
-        updateSubjectInfo(obj).then((res) => {
+        if (type == 2) {
+          this.$confirm("是否提交审核?", "提示", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning",
+          })
+            .then(() => {
+              updateSubjectInfo(obj).then((res) => {
+                if (res.code == 200) {
+                  this.$message.success("提交成功");
+                  this.$store.dispatch("delVisitedViews", this.$route);
+                  this.$router.push({
+                    path: "/business/teamDetail",
+                  });
+                }
+              });
+            })
+            .catch(() => {});
+        }else{
+           updateSubjectInfo(obj).then((res) => {
           if (res.code == 200) {
-            this.$message.success("提交成功");
             // this.$emit("chiosetab", 2);
-
             // 创建乐团,只会到声部了
-            let query = this.$route.query
-            this.$store.dispatch('delVisitedViews', this.$route)
-            this.$router.push({
-              path: '/business/teamDetail',
-              query: {
-                ...query
-              }
-            })
+            if (type && type == 2) {
+              this.$message.success("提交成功");
+              this.$store.dispatch("delVisitedViews", this.$route);
+              this.$router.push({
+                path: "/business/teamDetail",
+              });
+            } else {
+              this.$message.success("提交成功");
+            }
           }
         });
+        }
+
       }
     },
     deleteRow() {
@@ -554,7 +583,7 @@ export default {
         ownershipType: this.topfor.ownershipType,
         repairUserId: this.topfor.repairUserId,
         feeType: this.topfor.feeType,
-        directorUserId:this.topfor.head
+        directorUserId: this.topfor.head,
       };
       return obj;
     },

+ 9 - 1
src/views/teamBuild/components/teamBaseInfo.vue

@@ -309,6 +309,13 @@
         >
           下一步
         </div>
+          <div
+          class="nextBtn"
+          @click="()=>{$emit('chiosetab', 1)}"
+          v-if="teamStatus == 'teamCanceled'"
+        >
+          下一步
+        </div>
       </div>
     </div>
   </div>
@@ -519,7 +526,8 @@ export default {
       if (
         this.teamStatus == "look" ||
         this.teamStatus == "teamAudit" ||
-        this.teamStatus == "feeAudit"
+        this.teamStatus == "feeAudit" ||
+         this.teamStatus == "teamCanceled"
 
       ) {
         this.basdisabled = true;

+ 11 - 34
src/views/teamBuild/components/teamSoundSet.vue

@@ -13,11 +13,18 @@
 
       <el-button type="primary"
         v-if="teamStatus == 'newTeam'"
-        @click="submitInfo()"
+        @click="submitInfo(2)"
         v-permission="{
           child: 'musicGroup/createGroup',
           parent: '/teamBuild/soundMoney',
         }">提交</el-button>
+         <el-button type="primary"
+        v-if="teamStatus == 'newTeam'||teamStatus == 'teamDraft'"
+        @click="submitInfo()"
+        v-permission="{
+          child: 'musicGroup/createGroup',
+          parent: '/teamBuild/soundMoney',
+        }">保存</el-button>
       <el-button type="primary" @click="submitAudit(1)" v-if="teamStatus == 'teamDraft'">提交审核</el-button>
       <el-button type="primary" @click="approval"
            v-if="teamStatus == 'teamAudit'"
@@ -25,37 +32,6 @@
       <el-button type="danger" @click="refuse"
            v-if="teamStatus == 'teamAudit'"
            v-permission="{child: 'musicGroup/auditFailed', parent: '/teamBuild/teamAudit/soundMoney'}">驳回</el-button>
-      <!--  v-if="teamStatus != 'teamAudit'" -->
-      <!-- <div
-        class="submitBtn"
-        v-if="teamStatus == 'newTeam'"
-        v-permission="{
-          child: 'musicGroup/createGroup',
-          parent: '/teamBuild/soundMoney',
-        }"
-        @click="submitInfo()"
-      >
-        提交
-      </div>
-      <div
-        class="submitBtn"
-        @click="submitAudit(1)"
-        v-if="teamStatus == 'teamDraft'"
-      >
-        提交审核
-      </div>
-      <div class="submitBtn"
-           @click="approval"
-           v-if="teamStatus == 'teamAudit'"
-           v-permission="{child: 'musicGroup/auditSuccess', parent: '/teamBuild/teamAudit/soundMoney'}">
-        审核通过
-      </div>
-      <div class="submitBtn"
-           @click="refuse"
-           v-if="teamStatus == 'teamAudit'"
-           v-permission="{child: 'musicGroup/auditFailed', parent: '/teamBuild/teamAudit/soundMoney'}">
-        驳回
-      </div> -->
     </div>
   </div>
 </template>
@@ -108,8 +84,9 @@ export default {
     goback () {
       this.$emit("chiosetab", 0);
     },
-    submitInfo () {
-      this.$refs.soundSetCore.submitInfo();
+    submitInfo (val) {
+
+     this.$refs.soundSetCore.submitInfo(val);
     },
     chiosetab (val) {
       this.$emit("chiosetab", val);

+ 8 - 5
src/views/teamBuild/forecastName.vue

@@ -1,14 +1,14 @@
 <template>
-    <div class="forecastName m-container">
-        <h2>
+    <div class="forecastName">
+        <!-- <h2> m-container
           <el-page-header @back="onCancel" :content="teamName"></el-page-header>
-        </h2>
+        </h2> -->
 
         <!-- <p style="margin-bottom: 15px; font-size: 18px; font-weight: 400">
           缴费截止时间:{{ '2020-12-12' | formatTimer }}
         </p> -->
 
-        <div class="btnList">
+        <div class="btnList" v-if="isedit">
             <auth :auths="['forecastName/forecastLink']">
               <el-button type="primary" @click="codeStatus = true">预报名链接</el-button>
             </auth>
@@ -151,10 +151,12 @@
                         prop="courseScheduleId"
                         width="150"
                         label="操作"
+                         v-if="isedit"
                     >
                         <template slot-scope="scope">
                             <auth :auths="['visit/add']" :router="['/business/forecastName']">
                                 <el-button
+
                                 type="text"
                                 @click="addVisited(scope.row)"
                                 >新增回访</el-button>
@@ -229,6 +231,7 @@ import { queryPreApplyList, finishPreApply, sendParentMeetingNotice } from './ap
 export default {
     name: 'forecastName',
     components: { pagination, qrCode, visitModel },
+    props:['isedit'],
     data() {
         const query = this.$route.query
         return {
@@ -279,7 +282,7 @@ export default {
             this.getList()
         },
         onCancel() {
-             this.$store.dispatch('delVisitedViews', this.$route) 
+             this.$store.dispatch('delVisitedViews', this.$route)
             this.$router.push({ path: "/business/teamDetail" });
         },
         async getList() {

+ 6 - 6
src/views/teamBuild/signupList.vue

@@ -2,10 +2,10 @@
   <div class="sigup-container">
     <div class="topWrap">
       <div>
-        <h2>
+        <!-- <h2>
           <el-page-header @back="onCancel" :content="teamName + '报名详情'">
           </el-page-header>
-        </h2>
+        </h2> -->
         <p style="margin-bottom: 15px; font-size: 18px; font-weight: 400">
           报名截止时间:{{ applyExpireDate | formatTimer }} 缴费截止时间:{{
             paymentExpireDate | formatTimer
@@ -832,7 +832,7 @@ export default {
       return permission(str);
     },
     init() {
-      this.status = this.$route.query.status;
+      this.status = this.$route.query.team_status;
       // 通过乐团id 获取乐团招生状态
       this.id = this.$route.query.id;
       this.teamName = this.$route.query.name;
@@ -870,7 +870,7 @@ export default {
       this.getList();
     },
     onCancel() {
-       this.$store.dispatch('delVisitedViews', this.$route) 
+       this.$store.dispatch('delVisitedViews', this.$route)
       this.$router.push({ path: "/business/teamDetail" });
     },
     payStart() {
@@ -1503,7 +1503,7 @@ export default {
 .sigup-container {
   margin-left: 12px;
   .topWrap {
-    padding: 18px 58px;
+    padding: 18px 58px 18px 0;
     // height: 136px;
     background-color: #fff;
     display: flex;
@@ -1582,7 +1582,7 @@ export default {
   }
   .searchList {
     background-color: #fff;
-    padding: 0 58px;
+    padding: 0 58p 0 0px;
   }
   .sigup-core {
     margin-top: 12px;

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

@@ -1,6 +1,6 @@
-<!--  -->
+<!-- class="m-core" -->
 <template>
-  <div class="m-core">
+  <div >
     <div class="buttonWrap">
       <div class="left">
         <el-form :inline="true" :model="searchForm">

+ 138 - 77
src/views/teamDetail/components/resetClass.vue

@@ -25,7 +25,13 @@
           </el-form-item>
         </el-form>
       </div>
-
+      <div
+        class="newBand"
+        v-permission="'courseSchedule/coursePostpone'"
+        @click="postpone"
+      >
+        课程顺延
+      </div>
       <div class="tableWrap" style>
         <el-table
           :data="activeSingleList"
@@ -35,9 +41,7 @@
           tooltip-effect="dark"
           @selection-change="handleSelectionChange"
         >
-          <!-- <el-table-column type="selection"
-                           v-bind:selectable="chkstu"
-                           width="55"></el-table-column> -->
+          <el-table-column type="selection" width="55"></el-table-column>
           <el-table-column
             align="center"
             prop="name"
@@ -134,32 +138,8 @@
                   @click="removeClass(scope)"
                   >删除</el-button
                 >
-                <!--<el-button type="text"
-                @click="recourse(scope.row)">重新排课</el-button>-->
-                <!-- <el-popover
-                  placement="top"
-                  width="200"
-                  :ref="`popover-${scope.$index}`"
-                >
-                  <p>确定删除?</p>
-                  <div style="text-align: right; margin: 0">
-                    <el-button
-                      size="mini"
-                      type="text"
-                      @click="
-                        scope._self.$refs[`popover-${scope.$index}`].doClose()
-                      "
-                      >取消</el-button
-                    >
-                    <el-button
-                      type="primary"
-                      size="mini"
-                      @click="removeClass(scope)"
-                      >确定</el-button
-                    >
-                  </div>
-
-                </el-popover> -->
+                 <el-button type='text'
+                         @click="signPostpone(scope.row)">顺延课程</el-button>
               </div>
             </template>
           </el-table-column>
@@ -559,6 +539,47 @@
         @close="closeStudentReset"
       />
     </el-dialog>
+
+    <el-dialog
+      title="课程顺延"
+      :visible.sync="postponeVisible"
+      width="600px"
+      :before-close="handleClose"
+    >
+      <el-form :model="postponeForm" ref="postponeForm" :rules="postponeRules">
+        <el-form-item label="开始日期" prop="stopTime">
+          <el-date-picker
+            v-model.trim="postponeForm.stopTime"
+            type="date"
+            :picker-options="bigin"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="顺延日期" prop="resetTime">
+          <el-date-picker
+            v-model.trim="postponeForm.resetTime"
+            type="date"
+            :picker-options="options"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="跳过节假日">
+          <el-checkbox v-model.trim="postponeForm.holiday"></el-checkbox>
+        </el-form-item>
+      </el-form>
+      <span style="color: #f56c6c"
+        >注意:将会把所选班级的课表,「开始日期」之后的全部未开始课程;
+        调整到「顺延日期」之后重新排课,可以勾选跳过节假日;</span
+      >
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="postponeVisible = false">取 消</el-button>
+        <el-button type="primary" @click="submitInfo">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -583,6 +604,7 @@ import {
   superFindClassGroups,
   createClass,
   pushMessage,
+  coursePostpone,
 } from "@/api/buildTeam";
 import {
   getClassAllStudent,
@@ -756,6 +778,22 @@ export default {
       mergeList: [],
       activeSoundList: [],
       appoint: false,
+      postponeForm: {
+        stopTime: "",
+        resetTime: "",
+        holiday: false,
+      },
+      postponeVisible: false,
+      postponeRules: {
+        stopTime: [
+          { required: true, message: "请选择开始日期", trigger: "blur" },
+        ],
+        resetTime: [
+          { required: true, message: "请选择顺延日期", trigger: "blur" },
+        ],
+      },
+      bigin: this.beginDate(),
+      options: this.processDate(),
     };
   },
   created() {
@@ -1501,15 +1539,11 @@ export default {
       }
     },
     handleSelectionChange(val) {
-      if (val.length > 0) {
-        this.classGroupIds = val
-          .map((item) => {
-            return item.id;
-          })
-          .join(",");
-      } else {
-        this.classGroupIds = null;
-      }
+      this.activeList = val;
+      let arr = val.map((item) => {
+        return item.classGroupId;
+      });
+      this.activeClass = arr.join(",");
     },
     chkstu(row, index) {
       return (
@@ -1620,46 +1654,73 @@ export default {
     closeStudentReset() {
       this.studentResetVisiable = false;
     },
-    changeMemo(val) {
-      // 声部id
-      // let flag = false;
-      // if (val.length < 1) {
-      //   this.soundList.forEach((sound) => {
-      //     sound.disabled = false;
-      //     this.appoint = false;
-      //   });
-      // } else {
-      //   this.soundList.forEach((sound) => {
-      //     if (sound.id == val[0]) {
-      //       if (
-      //         sound.name.indexOf("上低音号") > -1 ||
-      //         sound.name.indexOf("长号") > -1
-      //       ) {
-      //         // 要么选中长号  要么选中上低音号
-      //         sound.disabled = false;
-      //         flag = true;
-      //       } else {
-      //         sound.disabled = true;
-      //         this.appoint = true;
-      //       }
-      //     }
-      //   });
-      //   if (flag) {
-      //     this.soundList.forEach((sound) => {
-      //       if (
-      //         sound.name.indexOf("上低音号") > -1 ||
-      //         sound.name.indexOf("长号") > -1
-      //       ) {
-      //         // 要么选中长号  要么选中上低音号
-      //         sound.disabled = false;
-      //       } else {
-      //         sound.disabled = true;
-      //       }
-      //     });
-      //   }
-      // }
+    changeMemo(val) {},
+    submitInfo() {
+      this.$refs["postponeForm"].validate((res) => {
+        if (res) {
+          let classGroupIds = this.activeClass;
+          let pauseDate = this.postponeForm.stopTime;
+          let recoveryDate = this.postponeForm.resetTime;
+          let skipHoliday = this.postponeForm.holiday;
+          let obj = {
+            classGroupIds,
+            pauseDate,
+            recoveryDate,
+            skipHoliday,
+          };
+          coursePostpone(obj).then((res) => {
+            if (res.code == 200) {
+              this.$message.success("修改成功");
+              this.postponeVisible = false;
+            }
+          });
+        }
+      });
+    },
+    postpone() {
+      if (this.activeList.length <= 0) {
+        this.$message.error("请至少选择一个班级");
+        return;
+      }
+      this.postponeVisible = true;
+    },
+    handleClose() {
+      // 弹窗关闭之前
+      this.postponeVisible = false;
+      this.$refs["postponeForm"].resetFields();
+    },
+    beginDate() {
+      let self = this;
+      return {
+        firstDayOfWeek: 1,
+        disabledDate(time) {
+          return time.getTime() + 86400000 <= new Date().getTime(); //开始时间不选时,结束时间最大值小于等于当天
+        },
+      };
+    },
+    processDate() {
+      //提出结束时间必须大于提出开始时间
+      let self = this;
+      return {
+        firstDayOfWeek: 1,
+        disabledDate(time) {
+          if (self.postponeForm.stopTime) {
+            return (
+              new Date(self.postponeForm.stopTime).getTime() > time.getTime()
+            );
+          } else {
+            return time.getTime() > Date.now();
+            //开始时间不选时,结束时间最大值小于等于当天
+          }
+        },
+      };
+    },
+       signPostpone (row) {
+      this.activeClass = row.id;
+      this.postponeVisible = true;
     },
   },
+
   watch: {
     "newClassForm.type"() {
       if (this.newClassForm.type === "HIGH_ONLINE") {

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

@@ -26,6 +26,7 @@
           <baseinfo v-if="activeIndex == '1'"
                     :teamid='teamid' />
         </el-tab-pane>
+
         <el-tab-pane label="老师列表"
         lazy
                      v-if="permission('/teamDetails/teacherList')"

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

@@ -231,7 +231,10 @@
             label="乐团/课程组编号"
           >
             <template slot-scope="scope">
+                 <el-button type="text" @click="gotoCourse(scope.row)">
               <copy-text>{{ scope.row.musicGroupId }}</copy-text>
+            </el-button>
+
             </template>
           </el-table-column>
           <el-table-column
@@ -975,6 +978,20 @@ export default {
     },
     handleSelectionChange(arr){
       this.deleteList = arr;
+    },
+    gotoCourse(row){
+      if(row.groupType == 'MUSIC'){
+        this.$router.push({path:'/business/teamDetail',query:{search:row.musicGroupId}})
+      }else if(row.groupType == 'VIP'){
+         this.$router.push({path:'/business/vipList',query:{search:row.musicGroupId}})
+      }else if(
+        row.groupType == 'PRACTICE'
+      ){
+         this.$router.push({
+        path: "/business/accompany",
+        query: { search: row.musicGroupId },
+      });
+      }
     }
   },
   filters: {

+ 107 - 54
src/views/teamDetail/teamInfo.vue

@@ -1,103 +1,156 @@
 <template>
-  <div class='m-container'>
+  <div class="m-container">
     <h2>
-      <el-page-header @back="onCancel"
-                      :content="name"></el-page-header>
+      <el-page-header @back="onCancel" :content="name"></el-page-header>
     </h2>
     <div class="m-core">
-
       <!-- <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 lazy label="基本信息"
+      <tab-router
+        v-model.trim="activeIndex"
+        type="card"
+        @tab-click="handleClick"
+      >
+        <el-tab-pane lazy label="基本信息" name="1">
+          <baseInfo v-if="activeIndex == '1'" :teamid="teamid" />
+        </el-tab-pane>
+        <el-tab-pane lazy label="声部信息" name="2">
+          <soundeDetail v-if="activeIndex == '2'" :teamid="teamid" />
+        </el-tab-pane>
 
-                     name="1">
-          <baseInfo v-if="activeIndex == '1'"
-                    :teamid='teamid' />
+        <el-tab-pane
+          lazy
+          label="预报名信息"
+          name="5"
+          v-if="
+            team_status == 'PRE_APPLY' ||
+            team_status == 'PRE_BUILD_FEE' ||
+            team_status == 'FEE_AUDIT' ||
+            team_status == 'APPLY'
+          "
+        >
+          <forecastName
+            v-if="activeIndex == '5'"
+            :isedit="team_status == 'PRE_APPLY'"
+          />
         </el-tab-pane>
-        <el-tab-pane lazy label="声部信息"
-                     name="2">
-          <soundeDetail v-if="activeIndex == '2'"
-                        :teamid='teamid' />
+        <el-tab-pane
+          lazy
+          label="报名列表"
+          name="6"
+          v-if="team_status == 'APPLY' || team_status == 'PAY'||team_status == 'PREPARE'"
+        >
+          <signupList v-if="activeIndex == '6'" :teamid="teamid" />
         </el-tab-pane>
-        <el-tab-pane lazy label="学员缴费信息"
-                     name="3">
-          <resetPayList v-if="activeIndex == '3'" />
+           <el-tab-pane
+          lazy
+          label="班级列表"
+          name="7"
+          v-if="team_status == 'PREPARE' "
+        >
+          <classSeting v-if="activeIndex == '7'" :teamid="teamid" />
         </el-tab-pane>
-        <el-tab-pane lazy label="学校缴费信息"
-                     name="4">
-          <resetPayListSchool v-if="activeIndex == '4'" />
+        <!-- classSeting -->
+        <el-tab-pane
+          lazy
+          label="学员缴费信息"
+          name="3"
+          v-if="team_status != 'PRE_APPLY'"
+        >
+          <resetPayList
+            v-if="activeIndex == '3'"
+            :isNewGropu="team_status == 'PRE_BUILD_FEE' ? true : false"
+          />
+        </el-tab-pane>
+        <el-tab-pane
+          lazy
+          label="学校缴费信息"
+          name="4"
+          v-if="team_status != 'PRE_APPLY'"
+        >
+          <resetPayListSchool
+            v-if="activeIndex == '4'"
+            :isNewGropu="team_status == 'PRE_BUILD_FEE' ? true : false"
+          />
         </el-tab-pane>
       </tab-router>
     </div>
   </div>
 </template>
 <script>
-import baseInfo from '@/views/teamBuild/components/teamBaseInfo'
-import soundeDetail from '@/views/resetTeaming/components/resetSoundv2'
-import resetPayList from '@/views/resetTeaming/components/resetPayList'
-import resetPayListSchool from '@/views/resetTeaming/components/resetPayListSchool'
+import baseInfo from "@/views/teamBuild/components/teamBaseInfo";
+import soundeDetail from "@/views/resetTeaming/components/resetSoundv2";
+import resetPayList from "@/views/resetTeaming/components/resetPayList";
+import resetPayListSchool from "@/views/resetTeaming/components/resetPayListSchool";
+import forecastName from "@/views/teamBuild/forecastName";
+import signupList from "@/views/teamBuild/signupList";
+import classSeting from "@/views/teamBuild/teamSeting/components/setClassV2"; // 筹备中班级列表
 export default {
-  data () {
+  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: '',
-    }
+      team_status: "",
+    };
   },
-  created () {
+  created() {
     // this.teamid = '191014135135001';
     // 191015094822001
-    this.activeIndex = null
-    this.init()
-    this.activeIndex = '1'
+    this.activeIndex = null;
+    this.init();
+    this.activeIndex = "1";
   },
-  activated () {
-
-    this.init()
-
+  activated() {
+    this.init();
   },
   methods: {
-    init () {
+    init() {
       let teamInfo = this.$route.query;
-      this.status = this.$route.query.status;
+      this.team_status = this.$route.query.team_status;
+      console.log(this.team_status);
       this.teamid = teamInfo.id;
       this.name = teamInfo.name;
       // 判断是否带缓存参数
     },
-    handleClick (val) {
+    handleClick(val) {
       this.activeIndex = val.name;
     },
-    onCancel () {
-       this.$store.dispatch('delVisitedViews', this.$route)
-      this.$router.push({ path: '/business/teamDetail'})
+    onCancel() {
+      this.$store.dispatch("delVisitedViews", this.$route);
+      this.$router.push({ path: "/business/teamDetail" });
     },
-    getname (name) {
+    getname(name) {
       this.name = name;
-      localStorage.setItem('teamName', name);
+      localStorage.setItem("teamName", name);
     },
-    resetTeam () {
+    resetTeam() {
       // id  type
-      this.$router.push({ path: '/business/teamBuild', query: { type: 'resetTeam', id: this.teamid } })
-    }
+      this.$router.push({
+        path: "/business/teamBuild",
+        query: { type: "resetTeam", id: this.teamid },
+      });
+    },
   },
   components: {
     baseInfo,
     soundeDetail,
     resetPayList,
     resetPayListSchool,
-  }
-}
+    forecastName,
+    signupList,
+    classSeting,
+  },
+};
 </script>
 <style lang="scss" scoped>
 .m-container {

+ 61 - 34
src/views/teamDetail/teamList.vue

@@ -216,7 +216,7 @@
                            @click="lookTeamCourse(scope.row)">查看课表</el-button> -->
 
                 <!-- 报名中&缴费中 查看 -->
-                <el-button
+                <!-- <el-button
                   type="text"
                   v-if="
                     (scope.row.status == 'APPLY' ||
@@ -225,21 +225,19 @@
                   "
                   @click="lookTeamDetail(scope.row)"
                   >查看</el-button
-                >
-                <!-- 报名中缴费中筹备中查看乐团 -->
+                > -->
+                <!-- 报名中缴费中筹备中查看乐团     scope.row.status == 'PRE_APPLY' || scope.row.status == 'PRE_BUILD_FEE' ||-->
                 <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
                 >
                 <el-button
                   v-if="permission('recharge/findAll')"
@@ -255,17 +253,17 @@
                     permission('musicGroup/closeMusicGroup')
                   "
                   @click="closeTeamDetail(scope.row)"
-                  >关闭乐团</el-button
+                  >关闭</el-button
                 >
                 <!-- 进行中 查看 -->
-                <el-button
+                <!-- <el-button
                   type="text"
                   v-if="
                     scope.row.status == 'PROGRESS' && permission('/teamDetails')
                   "
                   @click="lookTeamDetail(scope.row)"
                   >查看</el-button
-                >
+                > -->
 
                 <!-- 预报名中 查看 -->
                 <el-button
@@ -286,7 +284,7 @@
                     permission('musicGroup/pauseMusicGroup/look')
                   "
                   @click="lookTeamDetail(scope.row)"
-                  >查看</el-button
+                  >详情</el-button
                 >
 
                 <!-- 创建缴费中 查看 -->
@@ -297,14 +295,14 @@
                     permission('/createPayment')
                   "
                   @click="lookTeamDetail(scope.row)"
-                  >创建缴费</el-button
+                  >详情</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
+                <!-- <el-button
                   type="text"
                   v-if="
                     scope.row.status == 'PREPARE' &&
@@ -312,7 +310,7 @@
                   "
                   @click="lookTeamDetail(scope.row)"
                   >班级列表</el-button
-                >
+                > -->
                 <!-- 审核中 编辑 -->
                 <el-button
                   type="text"
@@ -323,6 +321,16 @@
                   @click="lookTeamDetail(scope.row)"
                   >审核</el-button
                 >
+                    <el-button
+                  type="text"
+                  v-if="
+                    scope.row.status == 'CANCELED' &&
+                    permission('teamDetail/audit/update')
+                  "
+                  @click="lookTeamDetail(scope.row)"
+                  >详情</el-button
+                >
+                <!-- teamCanceled -->
                 <!-- 费用审核中  -->
                 <!-- <el-button type="text"
                            v-if="( scope.row.status == 'FEE_AUDIT')&& permission('teamDetail/audit/update')"
@@ -398,7 +406,7 @@
                   "
                   @click="resetTeaming(scope.row)"
                   type="text"
-                  >修改</el-button
+                  >详情</el-button
                 >
                 <el-button
                   v-if="
@@ -498,6 +506,9 @@ export default {
     if (query.organId) {
       this.topForm.orgin = query.organId;
     }
+    if(query.search){
+      this.topForm.teamName = query.search
+    }
     this.init();
   },
   activated() {
@@ -567,8 +578,6 @@ export default {
         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 },
@@ -576,8 +585,6 @@ export default {
     },
     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 },
@@ -697,8 +704,6 @@ export default {
       });
     },
     lookTeamDetail(row) {
-      let search = JSON.stringify(this.topForm);
-      let rules = JSON.stringify(this.rules);
       switch (row.status) {
         case "DRAFT": {
           // 编辑中
@@ -728,9 +733,13 @@ export default {
         }
         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 },
+          // });
+            this.$router.push({
+            path: "/business/teamLookBase",
+            query: { type: "look", id: row.id, name: row.name,team_status:'PRE_BUILD_FEE' },
           });
           break;
         }
@@ -762,10 +771,15 @@ export default {
         }
         case "PRE_APPLY": {
           // 预报名
+
           this.$router.push({
-            path: "/business/forecastName",
-            query: { id: row.id, name: row.name },
+            path: "/business/teamLookBase",
+            query: { type: "look", id: row.id, name: row.name,team_status:'PRE_APPLY' },
           });
+          // this.$router.push({
+          //   path: "/business/forecastName",
+          //   query: { id: row.id, name: row.name },
+          // });
           break;
         }
         case "APPLY": {
@@ -773,7 +787,7 @@ export default {
           this.$router.push(
             {
               path: `/business/signupList`,
-              query: { status: row.status, id: row.id, name: row.name },
+              query: { status: row.status, id: row.id, name: row.name,team_status:'APPLY' },
             },
             (router) => {
               router.meta.title = "报名详情";
@@ -786,7 +800,7 @@ export default {
           this.$router.push(
             {
               path: `/business/signupList`,
-              query: { status: row.status, id: row.id, name: row.name },
+              query: { status: row.status, id: row.id, name: row.name,team_status:'PAY' },
             },
             (router) => {
               router.meta.title = "缴费详情";
@@ -819,14 +833,28 @@ export default {
         }
         case "CANCELED": {
           // 取消
+           this.$router.push(
+            {
+              path: "/business/teamBuild",
+              query: { type: "teamCanceled", id: row.id },
+            },
+            (router) => {
+              router.meta.title = "取消乐团";
+            }
+          );
+          break;
           break;
         }
         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 },
+          // });
+              this.$router.push({
+        path: "/business/resetTeaming",
+        query: { type: "resetTeam", id: row.id },
+      });
           break;
         }
       }
@@ -853,11 +881,10 @@ export default {
     },
     //
     lookTeamInfo(row) {
-      let search = JSON.stringify(this.topForm);
-      let rules = JSON.stringify(this.rules);
+      console.log(row)
       this.$router.push({
         path: "/business/teamLookBase",
-        query: { type: "look", id: row.id, name: row.name },
+        query: { type: "look", id: row.id, name: row.name,team_status:row.status },
       });
     },
     // setImprovement 设置基础技能班

+ 5 - 10
src/views/vipClass/vipList.vue

@@ -412,18 +412,13 @@ export default {
     };
   },
   created() {
-    if (this.$route.query.searchForm) {
-      this.$route.query.searchForm instanceof Object
-        ? (this.searchForm = this.$route.query.searchForm)
-        : (this.searchForm = JSON.parse(this.$route.query.searchForm));
-    }
-    if (this.$route.query.rules) {
-      this.$route.query.rules instanceof Object
-        ? (this.rules = this.$route.query.rules)
-        : (this.rules = JSON.parse(this.$route.query.rules));
-    }
+
   },
   mounted() {
+       const { query } = this.$route;
+      if(query.search){
+      this.searchForm.search = query.search
+    }
     this.init();
   },
   activated() {

+ 3 - 2
vue.config.js

@@ -21,7 +21,8 @@ const name = defaultSettings.title || '管乐迷后台管理系统' // page titl
 // let target = 'http://192.168.3.139:8000' // 箭河
 // let target = 'http://192.168.3.38:8000' //邹璇
 // let target = 'http://192.168.3.57:8000' //勇哥
-let target = 'http://dev.dayaedu.com' // 测试服
+// let target = 'http://dev.dayaedu.com' // 测试服
+let target = 'http://47.114.176.40:8000'
 // let target = 'http://192.168.3.134' // 乔
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {
@@ -62,7 +63,7 @@ module.exports = {
       // http://47.99.212.176:8000
       // http://192.168.3.28:8000
       '/api-auth': {
-        target: 'http://dev.dayaedu.com',
+        target: 'http://47.114.176.40:8000',
         changeOrigin: true,
         pathRewrite: {
           '^api-auth': ''