Prechádzať zdrojové kódy

Merge branch '02/24resetMain' into test

mo 3 rokov pred
rodič
commit
b0314a7f58

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

@@ -416,8 +416,9 @@
         :rowDetail="activeRow"
         :type="payFormType"
         :baseInfo="baseInfo"
-        :paymentType="team_status == 'PRE_BUILD_FEE' ? 0 : undefined"
+        :paymentType="paymentType"
         :musicGroupId="$route.query.id"
+        @changePaymentType = "changePaymentType"
       />
     </el-dialog>
     <!-- 会员缴费 -->
@@ -437,7 +438,7 @@
         :rowDetail="activeRow"
         :type="payFormType"
         :baseInfo="baseInfo"
-        :paymentType="team_status == 'PRE_BUILD_FEE' ? 0 : undefined"
+        :paymentType="paymentType"
         :musicGroupId="$route.query.id"
       />
     </el-dialog>
@@ -538,6 +539,7 @@ export default {
   },
   data() {
     return {
+      paymentType:this.team_status == 'PRE_BUILD_FEE' ? 0 : 1,
       musicGroupStu: [],
       payFormType: "user",
       userVisible: false,
@@ -598,6 +600,7 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   async mounted() {
+      this.paymentType=this.team_status == 'PRE_BUILD_FEE' ? 0 : 1
     // 获取分部
     try {
       const res = await getOrganizationCourseUnitPriceSettings({
@@ -652,6 +655,9 @@ export default {
         });
       }
     },
+    changePaymentType(val){
+      this.paymentType = val
+    },
     newUserPay() {
       // 判断一下乐团是课程缴费 还是会员缴费 且乐团状态为创建缴费中
       if (

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

@@ -418,8 +418,9 @@
         :rowDetail="activeRow"
         :type="payFormType"
         :baseInfo="baseInfo"
-        :paymentType="team_status == 'PRE_BUILD_FEE' ? 0 : undefined"
+        :paymentType="paymentType"
         :musicGroupId="$route.query.id"
+        @changePaymentType="changePaymentType"
       />
       <!--  -->
     </el-dialog>
@@ -554,12 +555,14 @@ export default {
       payOrderTypeLists: payOrderTypeList,
       getMoneyVisible: false,
       baseInfo: null,
+      paymentType:''
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   async mounted() {
+   this.paymentType=this.team_status == 'PRE_BUILD_FEE' ? 0 : 1
     // 获取分部
     try {
       const res = await getOrganizationCourseUnitPriceSettings({
@@ -618,6 +621,9 @@ export default {
       this.activeRow = null;
       this.userVisible = true;
     },
+    changePaymentType(val) {
+      this.paymentType = val;
+    },
     newSchoolPay() {
       if (
         this.baseInfo?.musicGroup?.courseViewType == 2 &&

+ 20 - 18
src/views/resetTeaming/modals/member-setting.vue

@@ -113,7 +113,14 @@ import { paymentPatternType } from "@/constant";
 import { objectToOptions } from "@/utils";
 import { getAllmemberRank, getMemberFee } from "../api";
 export default {
-  props: ["form", "isUserType", "organId", "addStudent", "showTime","viewDetail"],
+  props: [
+    "form",
+    "isUserType",
+    "organId",
+    "addStudent",
+    "showTime",
+    "viewDetail",
+  ],
   data() {
     return {
       paymentPatternTypeOptions: objectToOptions(paymentPatternType),
@@ -123,6 +130,7 @@ export default {
           return time.getTime() + 86400000 <= new Date().getTime();
         },
       },
+      dataTime: ["2021-05-14", "2021-05-19"],
       memberRankList: [],
       radio: true,
     };
@@ -130,12 +138,12 @@ export default {
   async mounted() {
     // 获取所有得会员信息
     try {
-      const res = await getAllmemberRank({isDefault:0});
+      const res = await getAllmemberRank({ isDefault: 0 });
       this.memberRankList = res.data;
     } catch (e) {
       console.log(e);
     }
-      this.$set(this.form, "memberValidDate", 6);
+    this.$set(this.form, "memberValidDate", 6);
   },
   methods: {
     async memberRankSettingIdChange(val) {
@@ -159,11 +167,6 @@ export default {
           } else {
             this.$message.error("请设置该会员的默认价格");
           }
-
-          console.log(
-            this.form.memberPaymentAmount,
-            res.data?.currentHalfYearFee
-          );
         } catch (e) {
           console.log(e);
         }
@@ -182,17 +185,16 @@ export default {
         this.$set(this.form, "memberValidDate", 6);
       }
     },
-    viewDetail:{
-      deep:true,
-      handler(val){
-        if(val.musicGroupPaymentCalenders[0]?.memberRankSettingId){
-          this.radio = true
-        }else{
-          this.radio = false
+    viewDetail: {
+      deep: true,
+      handler(val) {
+        if (val.musicGroupPaymentCalenders[0]?.memberRankSettingId) {
+          this.radio = true;
+        } else {
+          this.radio = false;
         }
-      }
-    }
-
+      },
+    },
   },
 };
 </script>

+ 3 - 3
src/views/resetTeaming/modals/user-baseinfo.vue

@@ -1,4 +1,5 @@
 <template>
+
   <el-form
     label-width="160px"
     :model="form"
@@ -9,8 +10,9 @@
       label="缴费类型"
       prop="leixing"
       :rules="[{required: true, message: '请选择缴费类型', trigger: 'change'}]"
-      v-if="typeof paymentType === 'undefined'&&courseViewType != 2"
+      v-if="!rowDetail&&paymentType!=0&&((isUserType&&courseViewType == 2)||courseViewType != 2)"
     >
+    <!-- &&courseViewType != 2 -->
       <el-radio-group style="width: 100%" v-model="form.leixing">
         <el-radio label="1">乐团续费</el-radio>
         <el-radio label="2">临时加课</el-radio>
@@ -50,11 +52,9 @@
 export default {
   props: ['form', 'isCommon', 'isUserType', 'typeList', 'charges', 'paymentType', 'chargeTypeName', 'rowDetail','courseViewType'],
   mounted() {
-
   },
   watch: {
     paymentType() {
-      console.log(this.paymentType)
     }
   },
   methods:{

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

@@ -10,6 +10,7 @@
       type="info"
     >
     </el-alert>
+    <!-- && courseViewType != 2 -->
     <userBaseinfo
       :form.sync="form"
       :isCommon="isCommon"
@@ -46,7 +47,7 @@
         @moneyChange="syncAllMoney"
       />
     </template>
-    <!-- isCommon不为报名 -->
+    <!-- isCommon不为报名 1.报名或3.加学生-->
     <template v-else-if="!isCommon">
       <el-alert
         title="加课信息设置"
@@ -55,6 +56,7 @@
         type="info"
       >
       </el-alert>
+      <!--这里是临时加课  -->
       <extraClass
         :form.sync="eclass"
         ref="eclass"
@@ -69,20 +71,29 @@
         @moneyChange="syncAllMoney"
       />
     </template>
-    <extraClass
-      v-else-if="(!isCommon && eclass.length) || isCommon"
-      :form="eclass"
-      ref="eclass"
-      :isCommon="isCommon"
-      @create="addExtraClass"
-      @remove="removeExtraClass"
-      @moneyChange="syncAllMoney"
-      :courseUnitPriceSettingsByType="organizationCourseUnitPriceSettingsByType"
-      :isUserType="isUserType"
-      :isDisabled="
-        form.leixing === '1' || form.leixing === '2' || paymentType == '0'
-      "
-    />
+    <!-- 续费或临时加课 -->
+
+    <template v-else-if="(!isCommon && eclass.length) || isCommon">
+      <!--    会员团的续费不显现 -->
+      <div v-if="!(courseViewType == 2 && paymentType == 1)">
+        <extraClass
+          :form="eclass"
+          ref="eclass"
+          :isCommon="isCommon"
+          @create="addExtraClass"
+          @remove="removeExtraClass"
+          @moneyChange="syncAllMoney"
+          :courseUnitPriceSettingsByType="
+            organizationCourseUnitPriceSettingsByType
+          "
+          :isUserType="isUserType"
+          :isDisabled="
+            form.leixing === '1' || form.leixing === '2' || paymentType == '0'
+          "
+        />
+      </div>
+    </template>
+
     <template>
       <el-alert
         title="会员设置"
@@ -90,24 +101,25 @@
         class="alert"
         style="margin-top: 20px"
         type="info"
-        v-if="courseViewType == 2 && paymentType && paymentType != 2"
+        v-if="courseViewType == 2 && paymentType && paymentType != 2&&form.leixing !=2"
       >
       </el-alert>
       <memberSetting
         ref="memberSetting"
-        v-if="courseViewType == 2 && paymentType && paymentType != 2"
+        v-if="courseViewType == 2 && paymentType && paymentType != 2&&form.leixing !=2"
         :form="memberForm"
         :viewDetail="nowDetail"
         :isUserType="isUserType"
         :organId="baseInfo.musicGroup.organId"
         :addStudent="showMember"
-        :showTime="false"
+        :showTime="paymentType == 1"
       />
-      <el-alert title="缴费设置" :closable="false" class="alert" type="info">
-      </el-alert>
-
-      <el-form ref="payment" :model="payment">
-        <!-- <el-form-item
+      <div v-if="!(courseViewType == 2 && paymentType == 1&&form.leixing !=2)">
+        <el-alert title="缴费设置" :closable="false" class="alert" type="info">
+        </el-alert>
+        <!-- 缴费设置的  不是会员团切不是续费 续费{{form.leixing}} -->
+        <el-form ref="payment" :model="payment">
+          <!-- <el-form-item
           label-width="160px"
           label="系统缴费金额"
           v-if="
@@ -118,92 +130,95 @@
         >
           <el-input :disabled="true" v-model="cloudFee"></el-input>
         </el-form-item> -->
-        <el-form-item
-          label-width="160px"
-          label="缴费方式"
-          prop="paymentPattern"
-          :rules="[
-            { required: true, message: '请选择缴费方式', trigger: 'change' },
-          ]"
-        >
-          <el-select
-            style="width: 100% !important"
-            v-model="payment.paymentPattern"
-            placeholder="请选择缴费方式"
-            :disabled="courseViewType == 2 && paymentType !== undefined"
+          <el-form-item
+            label-width="160px"
+            label="缴费方式"
+            prop="paymentPattern"
+            :rules="[
+              { required: true, message: '请选择缴费方式', trigger: 'change' },
+            ]"
           >
-            <el-option
-              v-for="item in paymentPatternTypeOptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+            <el-select
+              style="width: 100% !important"
+              v-model="payment.paymentPattern"
+              placeholder="请选择缴费方式"
+              :disabled="courseViewType == 2 && paymentType !=0"
             >
-            </el-option>
-          </el-select>
-        </el-form-item>
-      </el-form>
-      <template
-        v-if="isMulticycle && paymentTypeString !== 'SPAN_GROUP_CLASS_ADJUST'"
-      >
-        <el-collapse :value="collapse" @change="collapseChange">
-          <el-collapse-item
-            v-for="(item, index) in cycles"
-            :key="index"
-            :name="index"
-          >
-            <template slot="title">
-              <div class="collapse-title">
-                <span>缴费周期 {{ index + 1 }}</span>
-                <i
-                  v-if="cycles.length > 1"
-                  class="el-icon-circle-close"
-                  @click.stop="removeCycle(index)"
-                ></i>
-              </div>
-            </template>
-            <paymentCycle
-              ref="cycles"
-              :form="item"
-              :paymentType="paymentType"
-              :hidePaymentPattern="true"
-              :isCommon="isCommon"
-              :isUserType="isUserType"
-              :isDisabled="
-                form.leixing === '1' ||
-                form.leixing === '2' ||
-                paymentType == '0'
-              "
-            />
-          </el-collapse-item>
-        </el-collapse>
-        <el-button
-          icon="el-icon-circle-plus-outline"
-          plain
-          type="info"
-          size="small"
-          style="width: 100%; margin: 20px 0"
-          @click="addCycle"
-          >新增缴费周期</el-button
+              <el-option
+                v-for="item in paymentPatternTypeOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-form>
+        <template
+          v-if="isMulticycle && paymentTypeString !== 'SPAN_GROUP_CLASS_ADJUST'"
         >
-      </template>
-      <paymentCycle
-        ref="cycle"
-        :form.sync="cycle"
-        :isCommon="isCommon"
-        :hidePaymentPattern="true"
-        :isUserType="isUserType"
-        :isDisabled="
-          form.leixing === '1' || form.leixing === '2' || paymentType === '0'
-        "
-        :courseViewType="courseViewType"
-        v-else
-      />
+          <el-collapse :value="collapse" @change="collapseChange">
+            <el-collapse-item
+              v-for="(item, index) in cycles"
+              :key="index"
+              :name="index"
+            >
+              <template slot="title">
+                <div class="collapse-title">
+                  <span>缴费周期 {{ index + 1 }}</span>
+                  <i
+                    v-if="cycles.length > 1"
+                    class="el-icon-circle-close"
+                    @click.stop="removeCycle(index)"
+                  ></i>
+                </div>
+              </template>
+              <paymentCycle
+                ref="cycles"
+                :form="item"
+                :paymentType="paymentType"
+                :hidePaymentPattern="true"
+                :isCommon="isCommon"
+                :isUserType="isUserType"
+                :isDisabled="
+                  form.leixing === '1' ||
+                  form.leixing === '2' ||
+                  paymentType == '0'
+                "
+              />
+            </el-collapse-item>
+          </el-collapse>
+          <el-button
+            icon="el-icon-circle-plus-outline"
+            plain
+            type="info"
+            size="small"
+            style="width: 100%; margin: 20px 0"
+            @click="addCycle"
+            >新增缴费周期</el-button
+          >
+        </template>
+        <paymentCycle
+          ref="cycle"
+          :form.sync="cycle"
+          :isCommon="isCommon"
+          :hidePaymentPattern="true"
+          :isUserType="isUserType"
+          :isDisabled="
+            form.leixing === '1' || form.leixing === '2' || paymentType === '0' || form.leixing === '3'
+          "
+          :courseViewType="courseViewType"
+          v-else
+        />
+      </div>
     </template>
     <el-alert title="其它" :closable="false" class="alert" type="info">
     </el-alert>
     <otherform :form="other" ref="other" />
-    <div slot="footer" class="dialog-footer" >
-      <p v-if="paymentTypeString != 'SPAN_GROUP_CLASS_ADJUST'">缴费总金额:{{ money || 0 }}元</p>
+    <div slot="footer" class="dialog-footer">
+      <p v-if="paymentTypeString != 'SPAN_GROUP_CLASS_ADJUST'">
+        缴费总金额:{{ money || 0 }}元
+      </p>
       <div>
         <el-button @click="$listeners.close">取 消</el-button>
         <el-button type="primary" @click="submit">确认</el-button>
@@ -243,6 +258,7 @@ import memberSetting from "./member-setting";
 import baseInfoVue from "../../teamDetail/components/baseInfo.vue";
 import merge from "webpack-merge";
 import numeral from "numeral";
+import dayjs from "dayjs";
 // import { organizationCloudTeacherFeeQueryPage } from "@/api/specialSetting";
 const paymentTypeFormat = {
   0: "MUSIC_APPLY",
@@ -305,7 +321,7 @@ export default {
         paymentDate: [],
       },
       money: "",
-      isSetCourseSettingsId:false
+      isSetCourseSettingsId: false,
     };
   },
   computed: {
@@ -319,7 +335,7 @@ export default {
       return this.viewDetail;
     },
     isCommon() {
-      return this.form.leixing === "1";
+      return this.form.leixing === "1" || this.form.leixing === "3" || (this.courseViewType !=2&&this.form.leixing === "0");
     },
     isDisabled() {
       return this.form.leixing === "1" || String(this.paymentType) === "0";
@@ -402,13 +418,14 @@ export default {
       if (val === "1") {
         this.eclass = [];
       } else if (val === "2") {
+        this.payment.paymentPattern = '1'
         this.eclass = [{}];
       }
     },
     async "form.musicGroupOrganizationCourseSettingId"(val) {
       // && !this.rowDetail
 
-      if (val&&!this.isSetCourseSettingsId) {
+      if (val && !this.isSetCourseSettingsId) {
         try {
           const res = await queryByMusicGroupOrganizationCourseSettingsId({
             id: val,
@@ -420,7 +437,7 @@ export default {
           this.syncAllMoney();
         } catch (error) {}
       }
-      this.isSetCourseSettingsId = false
+      this.isSetCourseSettingsId = false;
     },
     "payment.paymentPattern"() {
       this.syncAllMoney();
@@ -445,34 +462,20 @@ export default {
       this.courseViewType = this.baseInfo?.musicGroup?.courseViewType;
       // 如果为学员缴费且是乐团缴费则显示云教练的价格
       //  进行中添加
-      if (this.courseViewType == 2 && !this.rowDetail) {
+      if (this.courseViewType == 2 && !this.rowDetail && !this.isUserType) {
         this.$set(this.form, "leixing", "2");
         this.addExtraClass();
       }
-      // if (
-      //   !this.paymentType &&
-      //   this.type == "user" &&
-      //   organId &&
-      //   (this.courseViewType == 2 || this.courseViewType == 3)
-      // ) {
-      //   try {
-      //     const res = await organizationCloudTeacherFeeQueryPage({ organId });
-      //     this.courseViewType == 2
-      //       ? (this.cloudFee = res.data.rows[0].price)
-      //       : (this.cloudFee = res.data.rows[0].plusPrice);
-      //   } catch (e) {
-      //     console.log(e);
-      //   }
-      //   // 获取乐团云教练费用
-      //   // this.cloudFee
-      // }
+
       this.getCharges();
       if (this.rowDetail) {
         for (const key in paymentTypeFormat) {
           if (paymentTypeFormat.hasOwnProperty(key)) {
             const item = paymentTypeFormat[key];
             if (item === this.rowDetail.paymentType) {
-              this.paymentType = key;
+              this.$emit('changePaymentType',key)
+              this.$set(this.form, "leixing", key+'');
+              // this.paymentType = key;
             }
           }
         }
@@ -535,6 +538,7 @@ export default {
             this.viewDetail.musicGroupPaymentCalenders[0]
               .originalMemberPaymentAmount
           );
+
           if (this.$refs.cycle) {
             this.$set(
               this.cycle,
@@ -553,14 +557,20 @@ export default {
             this.$set(this.cycle, "paymentValid", arr);
           }
           this.studentIds = firstPayment.studentIds;
-          if(res.data.auditDto?.musicGroupOrganizationCourseSettingsId){
-            this.isSetCourseSettingsId = true
+          if (res.data.auditDto?.musicGroupOrganizationCourseSettingsId) {
+            this.isSetCourseSettingsId = true;
           }
           this.$set(
             this.form,
             "musicGroupOrganizationCourseSettingId",
             res.data.auditDto?.musicGroupOrganizationCourseSettingsId
           );
+          if (this.courseViewType == 2 && this.form.leixing == 1) {
+            // 会员团续费
+
+            this.$set(this.memberForm, "paymentDate", [dayjs(firstPayment.startPaymentDate).format("YYYY-MM-DD"),dayjs(firstPayment.deadlinePaymentDate).format("YYYY-MM-DD")
+            ]);
+          }
           this.syncAllMoney();
         } catch (error) {}
       }
@@ -735,7 +745,9 @@ export default {
       ) {
         return this.$message.error("请至少选择一条加课信息");
       }
+
       if (valided.length === forms.length) {
+        // 验证通过
         const { leixing, ...rest } = {
           ...this.form,
           ...this.other,
@@ -757,9 +769,21 @@ export default {
               };
             }),
           ],
+
           musicGroupPaymentCalenderCourseSettingsList: this.eclass,
           musicGroupPaymentCalenderStudentDetails: this.eclassuser,
         };
+        // 如果是会员团续费 则添加缴费开始时间 缴费结束时间
+        const { paymentDate, ...some } = this.memberForm;
+        if (this.courseViewType == 2 && this.form.leixing == 1) {
+          rest.musicGroupPaymentDateRangeList[0] = {
+            ...getTimes(paymentDate, [
+              "startPaymentDate",
+              "deadlinePaymentDate",
+            ]),
+          };
+        }
+
         if (this.$refs.cycle) {
           const { paymentDate, paymentValid, ...other } = this.cycle;
           rest.musicGroupPaymentDateRangeList = [
@@ -776,9 +800,10 @@ export default {
             },
           ];
         }
+
         const data = {
           ...rest,
-          ...this.memberForm,
+          ...some,
           isGiveMusicNetwork: false,
           studentIds: this.studentIds,
           paymentType:

+ 1 - 0
src/views/teamBuild/signupList.vue

@@ -1606,6 +1606,7 @@ export default {
     quitTeam(row) {
       this.activeRow = row;
       this.quitVisible = true;
+      this.activeRow.courseViewType = this.courseViewType
       this.quitForm.cloudTeacherAmount = row.cloudTeacherAmount;
     },
     quieTeams(row) {

+ 4 - 1
src/views/teamDetail/components/modals/quite-team.vue

@@ -20,7 +20,7 @@
       </el-form-item>
       <!-- v-if="activeRow.cloudTeacherAmount > 0" -->
 
-      <el-form-item label="退还云教练费用" prop="isRefundMemberFee">
+      <el-form-item label="退还云教练费用" prop="isRefundMemberFee" v-if="activeRow.courseViewType == 2">
         <el-radio v-model.trim="quitForm.isRefundMemberFee" label="true"
           >是</el-radio
         >
@@ -103,6 +103,9 @@
 <script>
 export default {
   props: ["quitForm", "activeRow"],
+  mounted(){
+    console.log('quitForm',this.quitForm,'activeRow',this.activeRow)
+  },
   data() {
     return {
       quitRules: {

+ 1 - 0
src/views/teamDetail/components/studentList.vue

@@ -1467,6 +1467,7 @@ export default {
     },
     quieTeamMask(row) {
       this.activeRow = row;
+       this.activeRow.courseViewType =this.baseInfo.courseViewType
       this.quitVisible = true;
       this.quitForm.cloudTeacherAmount = row.cloudTeacherAmount;
     },

+ 5 - 2
src/views/withdrawal-application/modals/quit.vue

@@ -12,11 +12,10 @@
         >
         <el-radio v-model.trim="quitForm.status" label="DENIED">拒绝</el-radio>
       </el-form-item>
-
       <el-form-item
         label="退还云教练费用"
         prop="isRefundMemberFee"
-        v-if=" quitForm.status == 'APPROVED'"
+        v-if=" quitForm.status == 'APPROVED'&&courseViewType==2"
       >
         <el-radio v-model.trim="quitForm.isRefundMemberFee" label="true"
           >是</el-radio
@@ -25,6 +24,7 @@
           >否</el-radio
         >
       </el-form-item>
+
       <el-form-item
         label="退还云教练金额"
         prop="cloudTeacherAmount"
@@ -136,10 +136,13 @@ export default {
         isRefundMemberFee:null,
         reason: null,
       },
+      courseViewType:null
     };
   },
   mounted() {
     this.quitForm.cloudTeacherAmount = this.detail.cloudTeacherAmount
+    this.courseViewType =this.detail.musicGroup.courseViewType;
+    console.log(this.courseViewType)
   },
   watch:{
         "quitForm.isMaintenanceFee"(val) {