mo 4 anni fa
parent
commit
17e2304b0e

+ 5 - 4
src/utils/searchArray.js

@@ -1,5 +1,5 @@
 // 搜索用的下拉数据列表
-import { payOrderType,auditType,auditPaymentType } from '../constant'
+import { payOrderType, auditType, auditPaymentType } from '../constant'
 // 课程类型
 export const courseType = [
   { label: "单技课", value: "SINGLE" },
@@ -103,6 +103,7 @@ export const musicGroupStatus = [
   { value: 'AUDIT', text: '审核中' },
   { value: 'AUDIT_FAILED', text: '审核失败' },
   { value: 'CANCELED', text: '取消' },
+  { value: 'FEE_AUDIT', text: '费用审核中' },
 ]
 
 export const vipGroupStatus = [
@@ -212,10 +213,10 @@ export const payOrderTypeList = getValueForKey(payOrderType)
 export const auditTypeList = getValueForKey(auditType)
 export const auditPaymentTypeList = getValueForKey(auditPaymentType)
 
-function getValueForKey(obj){
+function getValueForKey (obj) {
   let arr = []
-  for(let k in obj){
-    arr.push({label:obj[k],value:k})
+  for (let k in obj) {
+    arr.push({ label: obj[k], value: k })
   }
   return arr
 }

+ 4 - 3
src/utils/vueFilter.js

@@ -1,7 +1,7 @@
 import Vue from 'vue'
 import dayjs from 'dayjs'
 import numeral from 'numeral'
-import { feeProject, feeType, saleType, payStatus, payOrderType, paymentPatternType, payUserType, userPaymentType, courseType,auditType,auditPaymentType } from '../constant'
+import { feeProject, feeType, saleType, payStatus, payOrderType, paymentPatternType, payUserType, userPaymentType, courseType, auditType, auditPaymentType } from '../constant'
 
 // 合并数组
 Vue.filter('joinArray', (value, type) => {
@@ -321,9 +321,10 @@ Vue.filter('teamStatus', value => {
     PROGRESS: "进行中",
     CANCELED: '取消',
     PAUSE: '暂停',
-    AUDIT: '审核中',
+    AUDIT: '乐团审核中',
     DRAFT: '编辑中',
-    AUDIT_FAILED: '审核失败'
+    AUDIT_FAILED: '审核失败',
+    FEE_AUDIT: '费用审核中'
   }
   return template[value]
 })

+ 3 - 3
src/views/categroyManager/globalConfig.vue

@@ -24,7 +24,7 @@
                      v-if="permissionList.typesManager">
           <typesManager v-if="activeIndex == 2" />
         </el-tab-pane>
-        <el-tab-pane label="折扣设置"
+        <el-tab-pane label="商品折扣和声部设置"
                      name="9"
                      v-if="permissionList.discountManage">
           <discountManage v-if="activeIndex == 9" />
@@ -111,8 +111,8 @@ export default {
         jobTemplateSetting: permission('/globalConfig/jobTemplateSetting'),
         errorManager: permission('/globalConfig/errorManager'),
         holidaySetting: permission('/globalConfig/holidaySetting'),
-        musicCourseFee:permission('/globalConfig/musicCourseFee'),
-        discountManage:permission('/globalConfig/discountManage'),
+        musicCourseFee: permission('/globalConfig/musicCourseFee'),
+        discountManage: permission('/globalConfig/discountManage'),
       }
     }
   },

+ 43 - 42
src/views/categroyManager/specialSetup/discountManage.vue

@@ -2,7 +2,8 @@
   <div class='m-container'>
     <!-- <h2>折扣设置</h2> -->
     <div class="m-core">
-      <el-form :inline="true" :model="searchForm">
+      <el-form :inline="true"
+               :model="searchForm">
         <el-form-item>
           <el-select v-model.trim="form.subjectId"
                      filterable
@@ -25,19 +26,22 @@
                      placeholder="请选择收费类型"
                      clearable>
             <el-option v-for="item in typesList"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
+                       :key="item.value"
+                       :label="item.label"
+                       :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
 
         <el-form-item>
-          <el-button type="danger" @click="search">搜索</el-button>
-          <el-button @click="onReSet" type="primary">重置</el-button>
+          <el-button type="danger"
+                     @click="search">搜索</el-button>
+          <el-button @click="onReSet"
+                     type="primary">重置</el-button>
         </el-form-item>
       </el-form>
-      <div class='newBand' v-permission="'chargeType/upSet'"
+      <div class='newBand'
+           v-permission="'chargeType/upSet'"
            @click="createVisible = true">添加</div>
       <!-- 列表 -->
       <div class="tableWrap">
@@ -46,23 +50,25 @@
           <el-table-column align='center'
                            prop="chargeTypeId"
                            label="收费类型">
-                           <template slot-scope="scope">{{ typesListById[scope.row.chargeTypeId] }}</template>
+            <template slot-scope="scope">{{ typesListById[scope.row.chargeTypeId] }}</template>
           </el-table-column>
           <el-table-column align='center'
                            prop="subjectId"
-                           label="声部组合">
-                           <template slot-scope="scope">{{ subjectListById[scope.row.subjectId] }}</template>
+                           label="声部">
+            <template slot-scope="scope">{{ subjectListById[scope.row.subjectId] }}</template>
           </el-table-column>
           <el-table-column align='center'
-                  prop="goodsDiscountRate"
-                  label="折扣(%)">
+                           prop="goodsDiscountRate"
+                           label="折扣(%)">
           </el-table-column>
           <el-table-column align='center'
                            label="操作">
             <template slot-scope="scope">
-              <el-button @click="openTypes('update', scope.row)" v-permission="'chargeType/upSet'"
+              <el-button @click="openTypes('update', scope.row)"
+                         v-permission="'chargeType/upSet'"
                          type="text">修改</el-button>
-              <el-button @click="onTypesDel(scope.row)" v-permission="'chargeType/del'"
+              <el-button @click="onTypesDel(scope.row)"
+                         v-permission="'chargeType/del'"
                          type="text">删除</el-button>
             </template>
           </el-table-column>
@@ -89,9 +95,9 @@
                      placeholder="请选择收费类型"
                      clearable>
             <el-option v-for="item in typesList"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
+                       :key="item.value"
+                       :label="item.label"
+                       :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
@@ -118,14 +124,13 @@
                       prop="goodsDiscountRate"
                       :label-width="formLabelWidth">
           <el-input-number v-model.trim="form.goodsDiscountRate"
-            autocomplete="off"
-            placeholder="请输入折扣 1%-100%"
-            controls-position="right"
-            class="number-input"
-            :min="0"
-            :max="100"
-            :precision="2"
-          ></el-input-number>
+                           autocomplete="off"
+                           placeholder="请输入折扣 1%-100%"
+                           controls-position="right"
+                           class="number-input"
+                           :min="0"
+                           :max="100"
+                           :precision="2"></el-input-number>
         </el-form-item>
       </el-form>
       <span slot="footer"
@@ -135,16 +140,12 @@
                    @click="onTypesSubmit('ruleForm')">确 定</el-button>
       </span>
     </el-dialog>
-    <el-dialog
-      :visible.sync="createVisible"
-      title="添加折扣"
-      width="400px"
-    >
-      <createDiscount
-        @close="createVisible = false"
-        :typesList="typesList"
-        :subjectList="subjectList"
-      />
+    <el-dialog :visible.sync="createVisible"
+               title="添加折扣商品"
+               width="400px">
+      <createDiscount @close="createVisible = false"
+                      :typesList="typesList"
+                      :subjectList="subjectList" />
     </el-dialog>
   </div>
 </template>
@@ -199,11 +200,11 @@ export default {
     this.getSubjectTree()
   },
   methods: {
-    search() {
+    search () {
       this.pageInfo.page = 1;
       this.getList();
     },
-    onReSet() {
+    onReSet () {
       this.searchForm = {
         subjectId: null,
         chargeTypeId: null,
@@ -246,12 +247,12 @@ export default {
           cancelButtonText: '取消',
           type: 'warning'
         })
-        delChargeTypeSubjectMapper({id: row.id}).then(res => {
+        delChargeTypeSubjectMapper({ id: row.id }).then(res => {
           this.messageTips('删除', res)
         })
-      } catch (error) {}
+      } catch (error) { }
     },
-    getChargeTypeList() {
+    getChargeTypeList () {
       chargeTypeList({
         rows: 9999,
         page: 1
@@ -289,7 +290,7 @@ export default {
         //     row.subjectIds = subjectIds
         //   })
         //   this.tableList = result.rows
-          this.pageInfo.total = result.total
+        this.pageInfo.total = result.total
         // }
       })
     },
@@ -367,7 +368,7 @@ export default {
 .el-select {
   width: 100% !important;
 }
-.number-input{
+.number-input {
   /deep/ .el-input__inner {
     text-align: left;
   }

+ 8 - 12
src/views/resetTeaming/index.vue

@@ -31,20 +31,16 @@
         <el-tab-pane label="学员缴费设置"
                      v-if="permission('/resetTeaming/resetPayList')"
                      name="3">
-          <resetPayList
-            :baseInfo="baseInfo"
-            v-if="activeIndex == 3"
-            @changeActive="handleClick"
-          />
+          <resetPayList :baseInfo="baseInfo"
+                        v-if="activeIndex == 3"
+                        @changeActive="handleClick" />
         </el-tab-pane>
         <el-tab-pane label="学校缴费设置"
                      v-if="permission('/resetTeaming/resetPayList')"
                      name="6">
-          <resetPayListSchool
-            :baseInfo="baseInfo"
-            v-if="activeIndex == 6"
-            @changeActive="handleClick"
-          />
+          <resetPayListSchool :baseInfo="baseInfo"
+                              v-if="activeIndex == 6"
+                              @changeActive="handleClick" />
         </el-tab-pane>
 
         <el-tab-pane label="班级调整"
@@ -96,7 +92,7 @@ export default {
       Fsearch: null,
       Frules: null,
       name: null,
-      teamName:'乐团修改'
+      teamName: '乐团修改'
     }
   },
   created () {
@@ -132,7 +128,7 @@ export default {
     onCancel () {
       this.$router.push({ path: '/business/teamDetail', query: { search: this.Fsearch, rules: this.Frules } })
     },
-    getBaseInfo(baseInfo) {
+    getBaseInfo (baseInfo) {
       this.baseInfo = baseInfo
       this.teamName = baseInfo.musicGroup.name
     },

+ 128 - 103
src/views/resetTeaming/modals/user-pay-form.vue

@@ -1,72 +1,72 @@
 <template>
   <div>
-    <el-alert title="课程信息设置" :closable="false" class="alert" type="info">
+    <el-alert title="课程信息设置"
+              :closable="false"
+              class="alert"
+              type="info">
     </el-alert>
-    <userBaseinfo
-      :form.sync="form"
-      :isCommon="isCommon"
-      :isUserType="isUserType"
-      @getCharges="getCharges"
-      @changeActive="$listeners.changeActive"
-      :typeList="typeList"
-      :charges="charges"
-      :chargeTypeName="chargeTypeName"
-      :paymentType="paymentType"
-      ref="base"
-    />
+    <userBaseinfo :form.sync="form"
+                  :isCommon="isCommon"
+                  :isUserType="isUserType"
+                  @getCharges="getCharges"
+                  @changeActive="$listeners.changeActive"
+                  :typeList="typeList"
+                  :charges="charges"
+                  :chargeTypeName="chargeTypeName"
+                  :paymentType="paymentType"
+                  ref="base" />
     <template v-if="!isCommon">
-      <el-alert
-        title="加课信息设置"
-        :closable="false"
-        class="alert"
-        type="info"
-      >
+      <el-alert title="加课信息设置"
+                :closable="false"
+                class="alert"
+                type="info">
       </el-alert>
-      <extraClass
-        :form.sync="eclass"
-        ref="eclass"
-        :organizationCourseUnitPriceSettings="organizationCourseUnitPriceSettings"
-        @create="addExtraClass"
-        @remove="removeExtraClass"
-        @priceChange="priceChange"
-        @moneyChange="syncAllMoney"
-      />
+      <extraClass :form.sync="eclass"
+                  ref="eclass"
+                  :organizationCourseUnitPriceSettings="organizationCourseUnitPriceSettings"
+                  @create="addExtraClass"
+                  @remove="removeExtraClass"
+                  @priceChange="priceChange"
+                  @moneyChange="syncAllMoney" />
     </template>
-    <extraClass
-      v-else-if="(!isCommon && eclass.length) || isCommon"
-      :form="eclass"
-      ref="eclass"
-      :isCommon="isCommon"
-      @create="addExtraClass"
-      @remove="removeExtraClass"
-      @moneyChange="syncAllMoney"
-      :isUserType="isUserType"
-      :isDisabled="form.leixing === '1' || paymentType == '0'"
-    />
+    <extraClass v-else-if="(!isCommon && eclass.length) || isCommon"
+                :form="eclass"
+                ref="eclass"
+                :isCommon="isCommon"
+                @create="addExtraClass"
+                @remove="removeExtraClass"
+                @moneyChange="syncAllMoney"
+                :isUserType="isUserType"
+                :isDisabled="form.leixing === '1' || paymentType == '0'" />
     <template>
-      <el-alert title="缴费设置" :closable="false" class="alert" type="info">
+      <el-alert title="缴费设置"
+                :closable="false"
+                class="alert"
+                type="info">
       </el-alert>
-      <paymentCycle
-        ref="cycle"
-        :isUserType="isUserType"
-        :form.sync="cycle"
-        :isCommon="isCommon"
-        :isDisabled="form.leixing === '1' || paymentType == '0'"
-      />
+      <paymentCycle ref="cycle"
+                    :isUserType="isUserType"
+                    :form.sync="cycle"
+                    :isCommon="isCommon"
+                    :isDisabled="form.leixing === '1' || paymentType == '0'" />
     </template>
-    <el-alert title="其它" :closable="false" class="alert" type="info">
+    <el-alert title="其它"
+              :closable="false"
+              class="alert"
+              type="info">
     </el-alert>
-    <otherform :form="other" ref="other" />
-    <div slot="footer" class="dialog-footer">
+    <otherform :form="other"
+               ref="other" />
+    <div slot="footer"
+         class="dialog-footer">
       <el-button @click="$listeners.close">取 消</el-button>
-      <el-button type="primary" @click="submit">确认</el-button>
+      <el-button type="primary"
+                 @click="submit">确认</el-button>
     </div>
-    <el-dialog
-      :title="nextTitle"
-      :visible.sync="nextVisible"
-      width="600px"
-      append-to-body
-    >
+    <el-dialog :title="nextTitle"
+               :visible.sync="nextVisible"
+               width="600px"
+               append-to-body>
       <classrooms @close="closeNext" />
     </el-dialog>
   </div>
@@ -105,7 +105,7 @@ export default {
     classrooms,
     otherform,
   },
-  data() {
+  data () {
     return {
       options: [],
       form: {
@@ -125,26 +125,26 @@ export default {
     };
   },
   computed: {
-    isCommon() {
+    isCommon () {
       return this.form.leixing === "1";
     },
-    isDisabled() {
+    isDisabled () {
       return this.form.leixing === "1" || String(this.paymentType) === "0";
     },
-    isUserType() {
+    isUserType () {
       return this.type === "user";
     },
-    nextTitle() {
+    nextTitle () {
       return this.isCommon ? "乐团课程-班级选择" : "临时加课-班级选择";
     },
-    chargesById() {
+    chargesById () {
       const data = {};
       for (const item of this.charges) {
         data[item.id] = item;
       }
       return data;
     },
-    organizationCourseUnitPriceSettingsByType() {
+    organizationCourseUnitPriceSettingsByType () {
       const _ = {}
       for (const item of this.organizationCourseUnitPriceSettings) {
         _[item.courseType] = item
@@ -153,17 +153,17 @@ export default {
     }
   },
   watch: {
-    type() {
+    type () {
       this.$set(
         this.form,
         "payUserType",
         this.type === "user" ? "STUDENT" : "SCHOOL"
       );
     },
-    baseInfo(val) {
+    baseInfo (val) {
       this.getCharges();
     },
-    "form.leixing"(val) {
+    "form.leixing" (val) {
       this.cycles = [{}];
       this.collapse = [0];
       this.cycle = {};
@@ -175,7 +175,7 @@ export default {
         this.eclass = [];
       }
     },
-    async "form.musicGroupOrganizationCourseSettingId"(val) {
+    async "form.musicGroupOrganizationCourseSettingId" (val) {
       try {
         const res = await queryByMusicGroupOrganizationCourseSettingsId({
           id: val
@@ -185,17 +185,17 @@ export default {
         }) || [{}];
 
         this.syncAllMoney();
-      } catch (error) {}
+      } catch (error) { }
     },
   },
-  mounted() {
+  mounted () {
     this.init();
   },
-  activated() {
+  activated () {
     this.init();
   },
   methods: {
-    init() {
+    init () {
       this.getCharges();
       if (this.rowDetail) {
         this.form.musicGroupOrganizationCourseSettingId = this.rowDetail.musicGroupOrganizationCourseSettingId;
@@ -207,7 +207,7 @@ export default {
         this.$set(this.other, "memo", this.rowDetail.memo);
       }
     },
-    priceChange(item, index) {
+    priceChange (item, index) {
       const _ = [...this.eclass]
       const active = this.organizationCourseUnitPriceSettingsByType[item.courseType] || {}
       const price = Math.ceil((item.courseTotalMinuties || 1) * (active.unitPrice || 1))
@@ -216,7 +216,7 @@ export default {
       _[index] = item
       this.eclass = [..._]
     },
-    syncAllMoney() {
+    syncAllMoney () {
       let money = 0;
       for (const item of this.eclass) {
         money += item.courseCurrentPrice;
@@ -226,32 +226,32 @@ export default {
       } else {
         this.$set(this.cycle, "paymentAmount", money);
       }
-      if(this.rowDetail){
-          this.$set(
-        this.cycle,
-        "paymentPattern",
-        this.rowDetail?.paymentPattern + ""
-      );
-      let arr = [
-        this.rowDetail?.paymentValidStartDate,
-        this.rowDetail?.paymentValidEndDate,
-      ];
-      // paymentDate startPaymentDate deadlinePaymentDate
-      this.$set(this.cycle, "paymentDate", [ this.rowDetail?.startPaymentDate, this.rowDetail?.deadlinePaymentDate]);
-      this.$set(this.cycle, "paymentValid", arr);
+      if (this.rowDetail) {
+        this.$set(
+          this.cycle,
+          "paymentPattern",
+          this.rowDetail?.paymentPattern + ""
+        );
+        let arr = [
+          this.rowDetail?.paymentValidStartDate,
+          this.rowDetail?.paymentValidEndDate,
+        ];
+        // paymentDate startPaymentDate deadlinePaymentDate
+        this.$set(this.cycle, "paymentDate", [this.rowDetail?.startPaymentDate, this.rowDetail?.deadlinePaymentDate]);
+        this.$set(this.cycle, "paymentValid", arr);
       }
 
       return money;
     },
-    async getChargeTypeList() {
+    async getChargeTypeList () {
       try {
         const res = await chargeTypeList({
           row: 9999,
         });
         this.typeList = res.data.rows;
-      } catch (error) {}
+      } catch (error) { }
     },
-    async getCharges() {
+    async getCharges () {
       const organId = this.baseInfo?.musicGroup?.organId;
       const chargeTypeId = this.baseInfo?.musicGroup?.chargeTypeId;
       this.chargeTypeName = this.baseInfo?.musicGroup?.chargeTypeName;
@@ -262,37 +262,37 @@ export default {
           organId,
         });
         this.charges = res.data.rows;
-      } catch (error) {}
+      } catch (error) { }
     },
-    addExtraClass() {
+    addExtraClass () {
       this.eclass.push({});
     },
-    removeExtraClass(index) {
+    removeExtraClass (index) {
       this.eclass[index] = null;
       this.eclass = this.eclass.filter((item) => !!item);
     },
-    addCycle() {
+    addCycle () {
       this.cycles.push({});
       this.collapse.push(this.collapse.length);
     },
-    removeCycle(index) {
+    removeCycle (index) {
       this.cycles[index] = null;
       this.cycles = this.cycles.filter((item) => !!item);
       this.collapse.pop();
     },
-    collapseChange(val) {
+    collapseChange (val) {
       this.collapse = val;
     },
-    closeNext() {
+    closeNext () {
       this.nextVisible = false;
     },
-    getForms() {
+    getForms () {
       const { $refs: refs } = this;
       return [refs.base, refs.eclass, refs.cycle, refs.other]
         .filter((item) => !!item)
         .map((item) => item.$refs.form);
     },
-    async submit() {
+    async submit () {
       const forms = this.getForms();
       const valided = [];
       for (const form of forms) {
@@ -316,7 +316,7 @@ export default {
           ...rest,
           paymentType:
             paymentTypeFormat[
-              this.paymentType == 0 ? this.paymentType : leixing
+            this.paymentType == 0 ? this.paymentType : leixing
             ],
           musicGroupId: this.musicGroupId,
           ...getTimes(paymentDate, ["startPaymentDate", "deadlinePaymentDate"]),
@@ -330,14 +330,39 @@ export default {
             const res = await musicGroupPaymentCalenderAdd(data);
             this.$listeners.close();
             this.$listeners.submited(res.data);
-          } catch (error) {}
+            // 在这里
+            if (this.$route.query.type == "teamDraft") {
+              console.log('来了')
+              let query = this.$route.query;
+              query.type = "feeAudit";
+              query = JSON.parse(JSON.stringify(query))
+              this.$router.push({
+                query: {
+                  ...query,
+                },
+              });
+              console.log(query)
+            }
+          } catch (error) { }
         } else {
-           try {
+          try {
             data.id = this.rowDetail.id
             const res = await musicGroupPaymentCalenderDetailBatchUpdate(data);
             this.$listeners.close();
             this.$listeners.submited(res.data);
-          } catch (error) {}
+            if (this.$route.query.type == "teamDraft") {
+              console.log('来了')
+              let query = this.$route.query;
+              query.type = "feeAudit";
+              query = JSON.parse(JSON.stringify(query))
+              console.log(query)
+              this.$router.push({
+                query: {
+                  ...query
+                },
+              });
+            }
+          } catch (error) { }
         }
       }
     },

+ 84 - 87
src/views/teamBuild/components/soundSetComponents/soundSetCore.vue

@@ -1,69 +1,64 @@
 <template>
   <div>
     <div class="soundBtnWrap">
-      <el-button type="primary" @click="allin" v-if="teamStatus != 'resetTeam'&&!basdisabled"
-        >全选</el-button
-      >
-      <el-button
-        type="danger"
-        @click="deleteRow"
-        v-if="teamStatus != 'resetTeam'&&!basdisabled"
-        >删除</el-button
-      >
-      <el-button type="primary" @click="soundVisible = true" v-if="!basdisabled">添加</el-button>
+      <el-button type="primary"
+                 @click="allin"
+                 v-if="teamStatus != 'resetTeam'&&!basdisabled">全选</el-button>
+      <el-button type="danger"
+                 @click="deleteRow"
+                 v-if="teamStatus != 'resetTeam'&&!basdisabled">删除</el-button>
+      <el-button type="primary"
+                 @click="soundVisible = true"
+                 v-if="!basdisabled">添加</el-button>
     </div>
     <div class="coreWrap">
-      <el-checkbox-group v-model="checkList" @change="lookCheck" >
+      <el-checkbox-group v-model="checkList"
+                         @change="lookCheck">
         <el-collapse v-model="chioseActiveSound">
-          <el-collapse-item
-            v-for="(item, index) in activeSoundList"
-            :name="item.id"
-            :key="index"
-          >
+          <el-collapse-item v-for="(item, index) in activeSoundList"
+                            :name="item.id"
+                            :key="index">
             <template slot="title">
               <div class="coreItemTitle">
-                <el-checkbox :label="item.id" :disabled='basdisabled'>{{ item.sound }}</el-checkbox>
+                <el-checkbox :label="item.id"
+                             :disabled='basdisabled'>{{ item.sound }}</el-checkbox>
               </div>
             </template>
             <div class="coreItem">
               <div class="coreItemRow">
                 <p class="title">计划招生人数:</p>
-                <el-input
-                :disabled='basdisabled'
-                  style="width: 180px"
-                  v-model="item.expectedStudentNum"
-                ></el-input>
+                <el-input :disabled='basdisabled'
+                          style="width: 180px"
+                          v-model="item.expectedStudentNum"></el-input>
               </div>
             </div>
-            <chioseMusic :item="item" @lookMusic="lookMusic" :basdisabled="basdisabled"/>
+            <chioseMusic :item="item"
+                         @lookMusic="lookMusic"
+                         :basdisabled="basdisabled" />
             <div class="coreItemRow">
               <p class="title">教辅:</p>
-              <el-select
-                style="width: 558px !important"
-                v-model="item.markChioseList"
-                :disabled='basdisabled'
-                clearable
-                filterable
-                multiple
-              >
-                <el-option
-                  v-for="(item, index) in item.markList"
-                  :key="index"
-                  :label="item.name"
-                  :value="item.id"
-                ></el-option>
+              <el-select style="width: 558px !important"
+                         v-model="item.markChioseList"
+                         :disabled='basdisabled'
+                         clearable
+                         filterable
+                         multiple>
+                <el-option v-for="(item, index) in item.markList"
+                           :key="index"
+                           :label="item.name"
+                           :value="item.id"></el-option>
               </el-select>
             </div>
           </el-collapse-item>
         </el-collapse>
       </el-checkbox-group>
     </div>
-    <el-dialog title="声部选择" :visible.sync="soundVisible" destroy-on-close>
-      <chioseSoundList
-        :soundList="soundList"
-        :activeSound="activeSound"
-        @chioseSound="chioseSound"
-      />
+    <el-dialog title="声部选择"
+               :visible.sync="soundVisible"
+               destroy-on-close>
+      <chioseSoundList :soundList="soundList"
+                       :activeSound="activeSound"
+                       @chioseSound="chioseSound" />
     </el-dialog>
   </div>
 </template>
@@ -88,7 +83,7 @@ import chioseMusic from "./chioseMusic";
 import { findIndex } from "lodash";
 export default {
   components: { chioseSoundList, chioseMusic },
-  data() {
+  data () {
     return {
       soundList: [], // 接口返回的一级二级声部
       soundVisible: false, // 设置声部弹窗
@@ -100,17 +95,17 @@ export default {
       childSoundList: [],
       teamStatus: "", // 乐团状态
       checkList: [],
-      basdisabled:false
+      basdisabled: false
     };
   },
-  mounted() {
+  mounted () {
     this.init();
   },
-  activated() {
+  activated () {
     this.init();
   },
   methods: {
-    init() {
+    init () {
       // 获取第一页的数据
       this.topfor = this.$store.getters.topinfo;
       let type = this.topfor.type;
@@ -121,7 +116,7 @@ export default {
       if (this.$route.query.rules) {
         this.Frules = this.$route.query.rules;
       }
-      if (this.teamStatus == "look" || this.teamStatus == "teamAudit") {
+      if (this.teamStatus == "look" || this.teamStatus == "teamAudit" || this.teamStatus == "feeAudit") {
         this.basdisabled = true;
       } else {
         this.basdisabled = false;
@@ -209,10 +204,10 @@ export default {
         }
       });
     },
-    lookCheck(val) {
+    lookCheck (val) {
       this.checkList = [...new Set(val)];
     },
-    chioseSound(activeSound) {
+    chioseSound (activeSound) {
       // 同步数据
       this.activeSound = [...new Set(activeSound)];
       let newSoundList = [];
@@ -242,7 +237,7 @@ export default {
       this.changeActiveSound(newActiveSound.join(","));
       this.soundVisible = false;
     },
-    initSound(item) {
+    initSound (item) {
       let obj = {
         id: item.id,
         sound: item.name,
@@ -256,7 +251,7 @@ export default {
       };
       return obj;
     },
-    changeActiveSound(val) {
+    changeActiveSound (val) {
       // 写入声部商品和辅件
       getSubjectGoods({
         subjectIds: val,
@@ -307,9 +302,9 @@ export default {
     //   }
     // }
 
-    lookMusic() {},
+    lookMusic () { },
 
-    submitInfo(type) {
+    submitInfo (type) {
       // 计划招生人数
       // 可选乐器
       // 教辅
@@ -395,41 +390,43 @@ export default {
             obj.musicGroupSubjectGoodsGroups.push(some);
           }
         });
-        
+
       });
       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);
-            }
-          });
-        } else {
-          obj.musicGroupId = this.teamid;
-
-          if (type) {
-            obj.musicGroupStatus = "AUDIT";
-          } else {
-            obj.musicGroupStatus = "DRAFT";
+        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
           }
+        });
+      } else {
+        obj.musicGroupId = this.teamid;
 
-          updateSubjectInfo(obj).then((res) => {
-            if (res.code == 200) {
-              this.$message.success("提交成功");
-              this.$emit("chiosetab", 2);
-            }
-          });
+        if (type) {
+          obj.musicGroupStatus = "AUDIT";
+        } else {
+          obj.musicGroupStatus = "DRAFT";
         }
+
+        updateSubjectInfo(obj).then((res) => {
+          if (res.code == 200) {
+            this.$message.success("提交成功");
+            this.$emit("chiosetab", 2);
+          }
+        });
+      }
     },
-    deleteRow() {
+    deleteRow () {
       if (this.checkList.length < 1) {
         this.$message.error("请至少勾选一个");
         return;
@@ -444,14 +441,14 @@ export default {
       }
       this.checkList = [];
     },
-    allin() {
+    allin () {
       this.checkList = [];
       this.activeSoundList.forEach((item, index) => {
         this.checkList.push(item.id);
       });
     },
 
-    initCreateTeam(obj) {
+    initCreateTeam (obj) {
       let enrollClasses;
       this.topfor.startClass
         ? (enrollClasses = this.topfor.startClass.join(","))
@@ -489,7 +486,7 @@ export default {
     activeSoundList: {
       immediate: true,
       deep: true,
-      handler(n) {
+      handler (n) {
         let chioseSoundNum = 0;
         let PlannedCount = 0;
         let activeSoundList = this.activeSoundList;

+ 8 - 8
src/views/teamBuild/components/teamBaseInfo.vue

@@ -125,7 +125,7 @@
                           :disabled="basdisabled"
                           type="date"
                           value-format="yyyy-MM-dd"
-                         :picker-options="beginDate()"
+                          :picker-options="beginDate()"
                           placeholder="选择日期"></el-date-picker>
         </el-form-item>
         <!-- <el-form-item label="缴费方式"
@@ -212,7 +212,7 @@
             <el-option label="3.0课酬"
                        value="GRADIENT_SALARY"></el-option>
             <el-option label="课堂课酬"
-            value="CLASSROOM_SALARY"></el-option>
+                       value="CLASSROOM_SALARY"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="机构类型"
@@ -448,7 +448,7 @@
              v-if="
             teamStatus == 'newTeam' ||
             teamStatus == 'teamDraft' ||
-            teamStatus == 'teamAudit'
+            teamStatus == 'teamAudit' || 'feeAudit'
           ">
           下一步
         </div>
@@ -685,7 +685,7 @@ export default {
       this.teamStatus = this.$route.query.type;
       // 传过来的乐团信息
       this.activeTeam = this.getTeamList;
-      if (this.teamStatus == "look" || this.teamStatus == "teamAudit") {
+      if (this.teamStatus == "look" || this.teamStatus == "teamAudit" || this.teamStatus == "feeAudit") {
         this.basdisabled = true;
       } else {
         this.basdisabled = false;
@@ -701,10 +701,10 @@ export default {
         this.teamid = this.$route.query.id;
         getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
           if (res.code == 200) {
-            if(this.$listeners.getBaseInfo){
-               this.$listeners.getBaseInfo(res.data)
+            if (this.$listeners.getBaseInfo) {
+              this.$listeners.getBaseInfo(res.data)
             }
-           
+
             // 头部
             this.topFrom.name = res.data.musicGroup.name;
             this.$emit("getName", this.topFrom.name);
@@ -836,7 +836,7 @@ export default {
           ownershipType: "OWN", // 合作机构类型
           feeType: null,
         }),
-        this.$refs["topinfo"].resetFields();
+          this.$refs["topinfo"].resetFields();
       }
       // 1.获取各个选项卡的数据内容
       // getSection({ 'delFlag': 0, 'rows': 1000 }).then(res => {

+ 34 - 29
src/views/teamBuild/components/teamPayInfo.vue

@@ -1,26 +1,29 @@
 <template>
   <div class="pay-container">
-    <el-tabs v-model.trim="activeIndex" type="card" @tab-click="handleClick">
-      <el-tab-pane
-        label="学员缴费"
-        v-if="permission('/resetTeaming/teamBaseInfo')"
-        name="1"
-      >
-          <resetPayList :isNewGropu="true" :baseInfo="baseInfo" />
+    <el-tabs v-model.trim="activeIndex"
+             type="card"
+             @tab-click="handleClick">
+      <el-tab-pane label="学员缴费"
+                   v-if="permission('/resetTeaming/teamBaseInfo')"
+                   name="1">
+        <resetPayList :isNewGropu="true"
+                      :baseInfo="baseInfo" />
       </el-tab-pane>
-      <el-tab-pane
-        label="学校缴费"
-        v-if="permission('/resetTeaming/resetSound')"
-        name="2"
-      >
-        <resetPayListSchool :isNewGropu="true" :baseInfo="baseInfo"  v-if="activeIndex == 2" />
+      <el-tab-pane label="学校缴费"
+                   v-if="permission('/resetTeaming/resetSound')"
+                   name="2">
+        <resetPayListSchool :isNewGropu="true"
+                            :baseInfo="baseInfo"
+                            v-if="activeIndex == 2" />
       </el-tab-pane>
     </el-tabs>
-  
+
     <div class="btnWrap">
-      <div class="PrevBtn" @click="goback">上一步</div>
+      <div class="PrevBtn"
+           @click="goback">上一步</div>
       <!--  v-if="teamStatus != 'teamAudit'" -->
-      <div class="submitBtn" @click="goHome">确定</div>
+      <div class="submitBtn"
+           @click="goHome">确定</div>
     </div>
   </div>
 </template>
@@ -31,34 +34,36 @@ import resetPayListSchool from '@/views/resetTeaming/components/resetPayListScho
 import { permission } from '@/utils/directivePage'
 export default {
   props: ["baseInfo"],
-  components: { resetPayList,resetPayListSchool },
-  data() {
+  components: { resetPayList, resetPayListSchool },
+  data () {
     return {
       activeIndex: '1',
     };
   },
-  created() {},
+  created () {
+    console.log(this.baseInfo)
+  },
   methods: {
-    goback() {
+    goback () {
       this.$emit("chiosetab", 1);
     },
-    submitAudit() {
+    submitAudit () {
       let teamId = this.$route.query.id;
     },
-    handleClick(val){
+    handleClick (val) {
       this.activeIndex = val.name
     },
-       permission (str) {
+    permission (str) {
       return permission(str)
     },
-    goHome(){
+    goHome () {
       let query = this.$route.query
       this.$router.push({
-              path: '/business/teamDetail',
-              query: {
-               ...query
-              }
-            })
+        path: '/business/teamDetail',
+        query: {
+          ...query
+        }
+      })
     }
   },
 };

+ 32 - 25
src/views/teamBuild/components/teamSoundSet.vue

@@ -4,22 +4,20 @@
       <p>当前选择声部数(个):{{ chioseSoundNum }}</p>
       <p style="margin-left: 30px">计划招生人数(个):{{ PlannedCount }}</p>
     </div>
-    <soundSetCore
-      ref="soundSetCore"
-      @chiosetab="chiosetab"
-      @getNumber="getNumber"
-    />
+    <soundSetCore ref="soundSetCore"
+                  @chiosetab="chiosetab"
+                  @getBaseInfo="getBaseInfo"
+                  @getNumber="getNumber" />
     <div class="btnWrap">
-      <div class="PrevBtn" @click="goback">上一步</div>
+      <div class="PrevBtn"
+           @click="goback">上一步</div>
       <!--  v-if="teamStatus != 'teamAudit'" -->
-      <div
-        class="submitBtn"
-        v-permission="{
+      <div class="submitBtn"
+           v-permission="{
           child: 'musicGroup/createGroup',
           parent: '/teamBuild/soundMoney',
         }"
-        @click="submitInfo()"
-      >
+           @click="submitInfo()">
         下一步
       </div>
       <!-- <div
@@ -29,10 +27,16 @@
       >
         提交审核
       </div> -->
-      <div class="submitBtn" @click="approval" v-if="teamStatus == 'teamAudit'"  v-permission="{child: 'musicGroup/auditSuccess', parent: '/teamBuild/teamAudit/soundMoney'}">
+      <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 class="submitBtn"
+           @click="refuse"
+           v-if="teamStatus == 'teamAudit'"
+           v-permission="{child: 'musicGroup/auditFailed', parent: '/teamBuild/teamAudit/soundMoney'}">
         驳回
       </div>
     </div>
@@ -59,7 +63,7 @@ import soundSetCore from "./soundSetComponents/soundSetCore";
 
 export default {
   components: { soundSetCore },
-  data() {
+  data () {
     return {
       topfor: null, // 第一页的数据
       Fsearch: null,
@@ -68,35 +72,38 @@ export default {
       chioseSoundNum: 0,
       PlannedCount: 0,
       teamStatus: null,
-      teamid:null
+      teamid: null
     };
   },
-  mounted() {
+  mounted () {
     this.teamid = this.$route.query.id;
     this.teamStatus = this.$route.query.type;
   },
-  activated() {
+  activated () {
     this.teamid = this.$route.query.id;
     this.teamStatus = this.$route.query.type;
   },
   methods: {
-    goback() {
+    goback () {
       this.$emit("chiosetab", 0);
     },
-    submitInfo() {
+    submitInfo () {
       this.$refs.soundSetCore.submitInfo();
     },
-    chiosetab(val) {
+    chiosetab (val) {
       this.$emit("chiosetab", val);
     },
-    submitAudit(val) {
+    submitAudit (val) {
       this.$refs.soundSetCore.submitInfo(val);
     },
-    getNumber(chioseSoundNum, PlannedCount) {
+    getNumber (chioseSoundNum, PlannedCount) {
       this.chioseSoundNum = chioseSoundNum;
       this.PlannedCount = PlannedCount;
     },
-    approval() {
+    getBaseInfo (baseInfo) {
+      this.$emit('getBaseInfo', baseInfo)
+    },
+    approval () {
       this.$confirm(`是否审核通过?`, "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
@@ -113,9 +120,9 @@ export default {
             }
           });
         })
-        .catch(() => {});
+        .catch(() => { });
     },
-        refuse () {
+    refuse () {
       // auditFailed
       this.$prompt("请输入拒绝原因", "提示", {
         confirmButtonText: "确定",

+ 48 - 57
src/views/teamBuild/index.vue

@@ -2,70 +2,62 @@
   <div class="m-container">
     <div class="line"></div>
     <h2>
-      <el-page-header @back="goBack" :content="pageName"> </el-page-header>
+      <el-page-header @back="goBack"
+                      :content="pageName"> </el-page-header>
     </h2>
     <div class="m-core">
       <div class="stepbox">
-        <span class="stepspan stepspan1" @click="activeIndex = 0">
-          <div
-            class="step1 sptep"
-            :class="activeIndex >= 0 ? 'activestep' : ''"
-          >
+        <!--  @click="activeIndex = 0" -->
+        <span class="stepspan stepspan1">
+          <div class="step1 sptep"
+               :class="activeIndex >= 0 ? 'activestep' : ''">
             基本信息
           </div>
-          <img
-            :src="activeIndex  >=  0 ? stepImgs.nol : stepImgs.active"
-            alt=""
-            class="arrow"
-          />
+          <img :src="activeIndex  >=  0 ? stepImgs.nol : stepImgs.active"
+               alt=""
+               class="arrow" />
         </span>
-        <span
-          class="stepspan stepspan2"
-          v-if="showFlag?activeIndex>= 1:true"
-          @click="activeIndex = 1"
-        >
+        <!-- @click="activeIndex = 1" -->
+        <span class="stepspan stepspan2"
+              v-if="showFlag?activeIndex>= 1:true">
           <!--    -->
-          <div
-            class="step2 sptep"
-            :class="activeIndex  >= 1 ? 'activestep' : ''"
-          >
-            声部费用
+          <div class="step2 sptep"
+               :class="activeIndex  >= 1 ? 'activestep' : ''">
+            声部设置
           </div>
-          <img
-            :src="activeIndex >=  1 ? stepImgs.nol : stepImgs.active"
-            alt=""
-            class="arrow"
-          />
+          <img :src="activeIndex >=  1 ? stepImgs.nol : stepImgs.active"
+               alt=""
+               class="arrow" />
         </span>
-        <span
-          class="stepspan stepspan3"
-          v-if="showFlag?activeIndex  >=  2:true"
-          @click="activeIndex = 2"
-        >
-          <div
-            class="step2 sptep"
-            :class="activeIndex  >=  2 ? 'activestep' : ''"
-          >
+        <!--  @click="activeIndex = 2" -->
+        <span class="stepspan stepspan3"
+              v-if="showFlag?activeIndex  >=  2:true">
+          <div class="step2 sptep"
+               :class="activeIndex  >=  2 ? 'activestep' : ''">
             创建缴费
           </div>
-          <img
-            :src="activeIndex >= 2 ? stepImgs.nol : stepImgs.active"
-            alt=""
-            class="arrow"
-          />
+          <img :src="activeIndex >= 2 ? stepImgs.nol : stepImgs.active"
+               alt=""
+               class="arrow" />
         </span>
       </div>
 
       <!-- 下面显示的内容 -->
       <div class="stepcontent">
         <div v-show="activeIndex == 0">
-          <teamBaseInfo @chiosetab="chiosetab" :getTeamList="getTeamList" @getBaseInfo="getBaseInfo"/>
+          <teamBaseInfo @chiosetab="chiosetab"
+                        :getTeamList="getTeamList"
+                        @getBaseInfo="getBaseInfo" />
         </div>
         <div v-if="activeIndex == 1">
-          <teamSoundMoney @chiosetab="chiosetab" :getTeamList="getTeamList" />
+          <teamSoundMoney @chiosetab="chiosetab"
+                          :getTeamList="getTeamList"
+                          @getBaseInfo="getBaseInfo" />
         </div>
         <div v-if="activeIndex == 2">
-          <teamPayInfo @chiosetab="chiosetab" :getTeamList="getTeamList" :baseInfo="baseInfo"/>
+          <teamPayInfo @chiosetab="chiosetab"
+                       :getTeamList="getTeamList"
+                       :baseInfo="baseInfo" />
         </div>
       </div>
     </div>
@@ -78,7 +70,7 @@ import teamPayInfo from "@/views/teamBuild/components/teamPayInfo";
 export default {
   components: { teamBaseInfo, teamSoundMoney, teamPayInfo },
   name: "teamBuild",
-  data() {
+  data () {
     return {
       activeIndex: 0,
       stepImgs: {
@@ -92,20 +84,20 @@ export default {
       Frules: null,
     };
   },
-  created() {
+  created () {
     // 判断 是新建乐团还是修改乐团
     this.activeIndex = 0;
     this.init();
   },
-  activated() {
+  activated () {
     this.init();
   },
   methods: {
-    init() {
+    init () {
       this.teamStatus = this.$route.query.type;
       if (this.$route.query.teamList) {
         this.getTeamList = this.$route.query.teamList;
-        console.log( this.getTeamList)
+        console.log(this.getTeamList)
       }
       // 判断是否带缓存参数
       if (this.$route.query.search) {
@@ -118,30 +110,30 @@ export default {
       if (this.teamStatus == "newTeam") {
         // 新建团
         this.pageName = "建团申请";
-         this.activeIndex = 0;
+        this.activeIndex = 0;
       } else {
         this.pageName = "乐团修改";
-         this.activeIndex = 0;
+        this.activeIndex = 0;
       }
     },
-    chiosetab(val) {
+    chiosetab (val) {
       console.log(val);
       this.activeIndex = val;
     },
-    goBack() {
+    goBack () {
       this.$router.push({
         path: "/business/teamDetail",
         query: { search: this.Fsearch, rules: this.Frules },
       });
     },
-     getBaseInfo(baseInfo) {
+    getBaseInfo (baseInfo) {
       this.baseInfo = baseInfo
       this.pageName = baseInfo.musicGroup?.name
     },
   },
-  computed:{
-    showFlag(){
-      return (this.teamStatus=='newTeam' || this.teamStatus=='teamList')
+  computed: {
+    showFlag () {
+      return (this.teamStatus == 'newTeam' || this.teamStatus == 'teamList')
     }
   }
 };
@@ -152,7 +144,6 @@ export default {
   flex-direction: row;
   justify-content: flex-start;
   .stepspan {
-    cursor: pointer;
     font-size: 14px;
     display: block;
     line-height: 40px;

+ 7 - 2
src/views/teamDetail/teamList.vue

@@ -200,14 +200,14 @@
                            @click="lookTeamDetail(scope.row)">班级列表</el-button>
                 <!-- 审核中 编辑 -->
                 <el-button type="text"
-                           v-if="scope.row.status == 'AUDIT' && permission('teamDetail/audit/update')"
+                           v-if="(scope.row.status == 'AUDIT' || scope.row.status == 'FEE_AUDIT')&& permission('teamDetail/audit/update')"
                            @click="lookTeamDetail(scope.row)">审核</el-button>
                 <!-- 编辑中 编辑 -->
                 <el-button type="text"
                            v-if="scope.row.status == 'DRAFT' && permission('teamDetail/draft/update')"
                            @click="lookTeamDetail(scope.row)">编辑</el-button>
                 <el-button type="text"
-                           v-if="(scope.row.status == 'DRAFT' || scope.row.status == 'AUDIT' || (scope.row.status == 'APPLY'|| scope.row.status == 'PAY') && permission('musicGroup/cancelMusicGroup'))"
+                           v-if="(scope.row.status == 'DRAFT' || scope.row.status == 'AUDIT'|| scope.row.status == 'FEE_AUDIT' || (scope.row.status == 'APPLY'|| scope.row.status == 'PAY') && permission('musicGroup/cancelMusicGroup'))"
                            @click="stopTeam(scope.row)">取消乐团</el-button>
                 <!-- 审核失败 编辑 -->
                 <el-button type="text"
@@ -498,6 +498,11 @@ export default {
           this.$router.push({ path: '/business/teamBuild', query: { type: 'teamAudit', id: row.id, search, rules } })
           break;
         }
+        case 'FEE_AUDIT': {
+          // 费用审核中
+          this.$router.push({ path: '/business/teamBuild', query: { type: 'feeAudit', id: row.id, search, rules } })
+          break;
+        }
         case 'AUDIT_FAILED': {
           // 审核失败
           this.$router.push({ path: '/business/teamBuild', query: { type: 'teamDraft', id: row.id, search, rules } })