ソースを参照

Merge branch '03/02musicSortOut' into 03/12permission

mo 4 年 前
コミット
2c14205bfc

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/index.html


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/app.85e5af42.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/app.e562d053.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-359433da.919f3e2f.js


+ 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)

+ 1 - 0
src/store/modules/buildTeam.js

@@ -9,6 +9,7 @@ const state = {
 
 const mutations = {
   SET_TOPINFO (state, topinfo) {
+    console.log(topinfo)
     state.topinfo = topinfo
   },
   SET_CHRCK (state, checkinfo) {

+ 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();
   },

+ 7 - 7
src/views/main/constant.js

@@ -10,11 +10,11 @@ export const descs = {
   FULL_TIME_NUM: '截止到昨日,非冻结、离职时间在昨日之后,且工作类型为【全职】的老师总数',
   PART_TIME_NUM: '截止到昨日,非冻结、离职时间在昨日之后,且工作类型为【兼职】的老师总数',
   SURPLUS_COURSE_NUM: '截止到昨日,系统中【未开始】课程总数(乐团+VIP+网管)【不包括试听课】',
-  SURPLUS_MUSIC_COURSE_NUM: '截止到昨日,系统中【未开始】乐团课程总数',
+  SURPLUS_MUSIC_COURSE_NUM: '截止到昨日,系统乐团【未开始】课程总数',
   SURPLUS_VIP_COURSE_NUM: '截止到昨日,系统中【未开始】VIP课程总数',
   SURPLUS_PRACTICE_COURSE_NUM: '截止到昨日,系统中【未开始】网管课程总数',
   OVER_COURSE_NUM: '截止到昨日,系统中【已结束】课程总数(乐团+VIP+网管)【不包括试听课】',
-  OVER_MUSIC_COURSE_NUM: '截止到昨日,系统中【已结束】乐团课程总数',
+  OVER_MUSIC_COURSE_NUM: '截止到昨日,系统中乐团【已结束】课程总数',
   OVER_VIP_COURSE_NUM: '截止到昨日,系统中【已结束】VIP课程总数',
   OVER_PRACTICE_COURSE_NUM: '截止到昨日,系统中【已结束】网管课程总数',
   FINANCE_PAY: '筛选时间段内支出金额总和',
@@ -34,9 +34,9 @@ export const descs = {
   VIP_PRACTICE_ADD_STUDENT_NUM: '筛选时间段内,新增的VIP/网管课付费学员总数',
   MUSIC_PATROL_ITEM:'乐团主管提交的巡查表中有未勾选事项',
   HIGH_CLASS_STUDENT_LESS_THAN_THREE:'基础技能班学员数量<3',
-  STUDENT_NOT_PAYMENT:'当前时间以前的缴费项目中学员未缴费',
-  STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP:'学员提交退团申请',
-  TEACHER_EXPECT_SALARY_BE_LOW:'老师预计课酬未达到系统设置的分部基本课酬标准',
+  STUDENT_NOT_PAYMENT:'当前时间以前的缴费项目中未缴费学员数量',
+  STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP:'未处理的学员退团申请数量',
+  TEACHER_EXPECT_SALARY_BE_LOW:'本月预计课酬未达到系统设置的分部基本课酬标准的老师人数',
   INSPECTION_ITEM:'乐团主管未完成巡查计划安排',
   INSPECTION_ITEM_PLAN:'乐团主管已安排的巡查任务未提交',
   STUDENT_VISIT:'乐团主管未完成回访任务',
@@ -73,13 +73,13 @@ export const errorType = {
     },
   },
   STUDENT_NOT_PAYMENT: {
-    name: '学员未缴费',
+    name: '未缴费学员数',
     isError: true,
     url: '/business/ArrearageStudents',
     always: true,
   },
   STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP: {
-    name: '学员退团申请',
+    name: '申请退团学员数',
     isError: true,
     url: '/business/WithdrawalApplication',
     always: true,

+ 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>

+ 0 - 1
src/views/serverDetail/conponent/afterWork.vue

@@ -60,7 +60,6 @@
       </el-table-column>
     </el-table>
     <pagination
-      sync
       :total.sync="rules.total"
       :page.sync="rules.page"
       :limit.sync="rules.limit"

+ 0 - 1
src/views/serverDetail/conponent/outWork.vue

@@ -33,7 +33,6 @@
       </el-table-column>
     </el-table>
     <pagination
-      sync
       :total.sync="rules.total"
       :page.sync="rules.page"
       :limit.sync="rules.limit"

+ 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}})
     }
   }
 };

+ 39 - 15
src/views/teamBuild/components/soundSetComponents/soundSetCore.vue

@@ -163,16 +163,20 @@ export default {
         this.init();
       }
     }
-    this.teamStatus = this.$route.query.type;
-    if (
-      this.teamStatus == "look" ||
-      this.teamStatus == "teamAudit" ||
-      this.teamStatus == "feeAudit"
-    ) {
-      this.basdisabled = true;
-    } else {
-      this.basdisabled = false;
-    }
+      this.teamStatus = this.$route.query.type;
+     if (
+        this.teamStatus == "look" ||
+        this.teamStatus == "teamAudit" ||
+        this.teamStatus == "feeAudit"||
+        this.teamStatus ==  "teamCanceled"
+      ) {
+        this.basdisabled = true;
+      } else {
+        this.basdisabled = false;
+      }
+  },
+  deactivated(){
+    this.activeSoundList = []
   },
 
   methods: {
@@ -185,7 +189,8 @@ export default {
       if (
         this.teamStatus == "look" ||
         this.teamStatus == "teamAudit" ||
-        this.teamStatus == "feeAudit"
+        this.teamStatus == "feeAudit" ||
+        this.teamStatus == "teamCanceled"
       ) {
         this.basdisabled = true;
       } else {
@@ -532,18 +537,35 @@ export default {
         });
       } 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);
@@ -555,6 +577,8 @@ export default {
             });
           }
         });
+        }
+
       }
     },
     deleteRow() {

+ 17 - 2
src/views/teamBuild/components/teamBaseInfo.vue

@@ -327,7 +327,20 @@
           修改
         </div>
         <!-- 审批或者草稿的下一步 -->
-        <div class="nextBtn" @click="gotoNext(1)" v-if="showNext">下一步</div>
+        <div
+          class="nextBtn"
+          @click="gotoNext(1)"
+          v-if="showNext"
+        >
+          下一步
+        </div>
+          <div
+          class="nextBtn"
+          @click="()=>{$emit('chiosetab', 1)}"
+          v-if="teamStatus == 'teamCanceled'"
+        >
+          下一步
+        </div>
       </div>
     </div>
   </div>
@@ -508,7 +521,9 @@ export default {
       if (
         this.teamStatus == "look" ||
         this.teamStatus == "teamAudit" ||
-        this.teamStatus == "feeAudit"
+        this.teamStatus == "feeAudit" ||
+         this.teamStatus == "teamCanceled"
+
       ) {
         this.basdisabled = true;
       } else {

+ 4 - 3
src/views/teamBuild/components/teamSoundSet.vue

@@ -16,7 +16,7 @@
       <el-button
         type="primary"
         v-if="teamStatus == 'newTeam'"
-        @click="submitInfo()"
+        @click="submitInfo(2)"
         v-permission="{
           child: 'musicGroup/createGroup',
           parent: '/teamBuild/soundMoney',
@@ -127,8 +127,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>
@@ -154,10 +154,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>
@@ -233,6 +235,7 @@ import { queryPreApplyList, finishPreApply, sendParentMeetingNotice } from './ap
 export default {
     name: 'forecastName',
     components: { pagination, qrCode, visitModel },
+    props:['isedit'],
     data() {
         const query = this.$route.query
         return {
@@ -283,7 +286,7 @@ export default {
             this.getList()
         },
         onCancel() {
-             this.$store.dispatch('delVisitedViews', this.$route) 
+             this.$store.dispatch('delVisitedViews', this.$route)
             this.$router.push({ path: "/business/teamDetail" });
         },
         downloadFile() {

+ 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
@@ -841,7 +841,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;
@@ -879,7 +879,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() {
@@ -1510,7 +1510,7 @@ export default {
 .sigup-container {
   margin-left: 12px;
   .topWrap {
-    padding: 18px 58px;
+    padding: 18px 58px 18px 0;
     // height: 136px;
     background-color: #fff;
     display: flex;
@@ -1589,7 +1589,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

@@ -23,6 +23,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
@@ -980,6 +983,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: {

+ 101 - 51
src/views/teamDetail/teamInfo.vue

@@ -1,90 +1,137 @@
 <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);
     },
   },
   components: {
@@ -92,8 +139,11 @@ export default {
     soundeDetail,
     resetPayList,
     resetPayListSchool,
-  }
-}
+    forecastName,
+    signupList,
+    classSeting,
+  },
+};
 </script>
 <style lang="scss" scoped>
 .m-container {

+ 61 - 27
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"
@@ -320,6 +318,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')"
@@ -392,7 +400,7 @@
                   "
                   @click="resetTeaming(scope.row)"
                   type="text"
-                  >修改</el-button
+                  >详情</el-button
                 >
                 <el-button
                   v-if="
@@ -492,6 +500,9 @@ export default {
     if (query.organId) {
       this.topForm.orgin = query.organId;
     }
+    if(query.search){
+      this.topForm.teamName = query.search
+    }
     this.init();
   },
   activated() {
@@ -727,9 +738,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;
         }
@@ -763,10 +778,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": {
@@ -774,7 +794,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 = "报名详情";
@@ -787,7 +807,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 = "缴费详情";
@@ -820,14 +840,28 @@ export default {
         }
         case "CANCELED": {
           // 取消
+           this.$router.push(
+            {
+              path: "/business/teamDraft",
+              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 +887,11 @@ export default {
     },
     //
     lookTeamInfo(row) {
-         sessionStorage.removeItem(`${row.id}base`);
+      sessionStorage.removeItem(`${row.id}base`);
       sessionStorage.removeItem(`${row.id}sound`);
       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() {

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません