瀏覽代碼

提交测试

1
mo 4 年之前
父節點
當前提交
1190f968b3

+ 28 - 28
src/views/resetTeaming/components/strudentPayInfo.vue

@@ -267,28 +267,24 @@
               </div>
             </template>
           </el-table-column>
-          <el-table-column
-            align="center"
-            prop="expectAmount"
-            label="课程金额"
-          >
-          <template slot-scope="scope">
-            <div>
-              {{scope.row.expectAmount | moneyFormat}}
-            </div>
-          </template>
+          <el-table-column align="center" prop="expectAmount" label="课程金额">
+            <template slot-scope="scope">
+              <div>
+                {{ scope.row.expectAmount | moneyFormat }}
+              </div>
+            </template>
           </el-table-column>
 
-               <el-table-column
+          <el-table-column
             align="center"
             prop="expectMemberAmount"
             label="会员金额"
           >
-             <template slot-scope="scope">
-            <div>
-              {{scope.row.expectMemberAmount | moneyFormat}}
-            </div>
-          </template>
+            <template slot-scope="scope">
+              <div>
+                {{ scope.row.expectMemberAmount | moneyFormat }}
+              </div>
+            </template>
           </el-table-column>
           <el-table-column align="center" label="缴费开始日期">
             <template slot-scope="scope">
@@ -394,7 +390,7 @@
                     value="张三"></el-input>
         </el-form-item> -->
         <el-form-item
-        v-if="msgList.length>0"
+          v-if="msgList.length > 0"
           label="预计课程金额"
           :rules="[
             { required: true, message: '请输入预计缴费金额', trigger: 'blur' },
@@ -410,10 +406,10 @@
           <el-input v-model="resetPayForm.momey"></el-input>
         </el-form-item>
         <el-form-item
-        v-if="memberRankSettingId"
+          v-if="memberRankSettingId"
           label="预计会员金额"
           :rules="[
-            { required: true, message: '请输入预计缴费金额', trigger: 'blur' },
+            { required: true, message: '请输入预计会员金额', trigger: 'blur' },
             {
               pattern:
                 /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
@@ -703,15 +699,19 @@ export default {
       });
     },
     submitReset() {
-      let obj = {};
-      obj.expectAmount = this.resetPayForm.momey;
-      obj.expectMemberAmount = this.resetPayForm.expectMemberAmount;
-      obj.ids = this.ids;
-      resetMusicGroupPaymentCalenderDetail(obj).then((res) => {
-        if (res.code == 200) {
-          this.$message.success("修改成功");
-          this.resetPayVisible = false;
-          this.getList();
+      this.$refs.resetPayForm.validate((res) => {
+        if (res) {
+          let obj = {};
+          obj.expectAmount = this.resetPayForm.momey;
+          obj.expectMemberAmount = this.resetPayForm.expectMemberAmount;
+          obj.ids = this.ids;
+          resetMusicGroupPaymentCalenderDetail(obj).then((res) => {
+            if (res.code == 200) {
+              this.$message.success("修改成功");
+              this.resetPayVisible = false;
+              this.getList();
+            }
+          });
         }
       });
     },

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

@@ -6,12 +6,7 @@
     label-suffix=": "
     :inline="true"
   >
-    <el-form-item
-      label="是否购买会员"
-      prop="paymentDate"
-      v-if="isUserType && addStudent"
-      :rules="[{ required: true, message: '请选择缴费时间', trigger: 'blur' }]"
-    >
+    <el-form-item label="是否购买会员" v-if="isUserType && addStudent">
       <el-radio-group v-model="radio">
         <el-radio :label="true">购买会员</el-radio>
         <el-radio :label="false">不购买会员</el-radio>
@@ -118,7 +113,7 @@ import { paymentPatternType } from "@/constant";
 import { objectToOptions } from "@/utils";
 import { getAllmemberRank, getMemberFee } from "../api";
 export default {
-  props: ["form", "isUserType", "organId", "addStudent", "showTime"],
+  props: ["form", "isUserType", "organId", "addStudent", "showTime","viewDetail"],
   data() {
     return {
       paymentPatternTypeOptions: objectToOptions(paymentPatternType),
@@ -140,7 +135,7 @@ export default {
     } catch (e) {
       console.log(e);
     }
-    this.$set(this.form, "memberValidDate", 6);
+      this.$set(this.form, "memberValidDate", 6);
   },
   methods: {
     async memberRankSettingIdChange(val) {
@@ -177,19 +172,7 @@ export default {
   },
   watch: {
     radio(val) {
-      /**
-       *       memberForm: {
-        memberRankSettingId: "",
-        memberValidDate: "",
-        memberPaymentAmount: "",
-        originalMemberPaymentAmount: "",
-        paymentDate: [],
-      },
-       *
-       */
-
       if (!val) {
-        console.log("来了 重置了");
         this.$set(this.form, "memberRankSettingId", null);
         this.$set(this.form, "memberValidDate", null);
         this.$set(this.form, "memberPaymentAmount", null);
@@ -199,6 +182,17 @@ 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
+        }
+      }
+    }
+
   },
 };
 </script>

+ 51 - 20
src/views/resetTeaming/modals/user-pay-form.vue

@@ -4,7 +4,9 @@
       title="课程信息设置"
       :closable="false"
       class="alert"
-      v-if="paymentTypeString !== 'SPAN_GROUP_CLASS_ADJUST'&&courseViewType!=1"
+      v-if="
+        paymentTypeString !== 'SPAN_GROUP_CLASS_ADJUST' && courseViewType != 1
+      "
       type="info"
     >
     </el-alert>
@@ -86,15 +88,17 @@
         class="alert"
         style="margin-top: 20px"
         type="info"
-        v-if="courseViewType == 1&&paymentType&&paymentType !=2"
+        v-if="courseViewType == 1 && paymentType && paymentType != 2"
       >
       </el-alert>
       <memberSetting
-        v-if="courseViewType == 1&&paymentType&&paymentType !=2"
+        ref="memberSetting"
+        v-if="courseViewType == 1 && paymentType && paymentType != 2"
         :form="memberForm"
+        :viewDetail="nowDetail"
         :isUserType="isUserType"
         :organId="baseInfo.musicGroup.organId"
-       :addStudent="showMember"
+        :addStudent="showMember"
         :showTime="false"
       />
       <el-alert title="缴费设置" :closable="false" class="alert" type="info">
@@ -124,7 +128,7 @@
             style="width: 100% !important"
             v-model="payment.paymentPattern"
             placeholder="请选择缴费方式"
-            :disabled="courseViewType == 1&&paymentType !== undefined"
+            :disabled="courseViewType == 1 && paymentType !== undefined"
           >
             <el-option
               v-for="item in paymentPatternTypeOptions"
@@ -197,8 +201,11 @@
     </el-alert>
     <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>
+      <p>缴费总金额:{{ money || 0 }}元</p>
+      <div>
+        <el-button @click="$listeners.close">取 消</el-button>
+        <el-button type="primary" @click="submit">确认</el-button>
+      </div>
     </div>
     <el-dialog
       :title="nextTitle"
@@ -295,15 +302,19 @@ export default {
         originalMemberPaymentAmount: "",
         paymentDate: [],
       },
+      money: "",
     };
   },
   computed: {
-    showMember(){
-      return  this.paymentType ==3
+    showMember() {
+      return this.paymentType == 3;
     },
     musicGroup() {
       return this.baseInfo?.musicGroup;
     },
+    nowDetail() {
+      return this.viewDetail;
+    },
     isCommon() {
       return this.form.leixing === "1";
     },
@@ -393,7 +404,7 @@ export default {
     },
     async "form.musicGroupOrganizationCourseSettingId"(val) {
       // && !this.rowDetail
-      if (val ) {
+      if (val) {
         try {
           const res = await queryByMusicGroupOrganizationCourseSettingsId({
             id: val,
@@ -409,6 +420,9 @@ export default {
     "payment.paymentPattern"() {
       this.syncAllMoney();
     },
+    "memberForm.memberPaymentAmount"() {
+      this.syncAllMoney();
+    },
   },
   mounted() {
     this.formatCourse();
@@ -423,10 +437,10 @@ export default {
     async init() {
       let organId = this.baseInfo?.musicGroup?.organId;
       this.courseViewType = this.baseInfo?.musicGroup?.courseViewType;
-      if(this.courseViewType == 1){
-        this.$set(this.form,'leixing',2)
+      if (this.courseViewType == 1) {
+        this.$set(this.form, "leixing", 2);
         //   console.log('paymentType',this.paymentType)
-        this.addExtraClass()
+        this.addExtraClass();
       }
       // 如果为学员缴费且是乐团缴费则显示云教练的价格
       if (
@@ -494,13 +508,15 @@ export default {
           this.$set(
             this.memberForm,
             "memberRankSettingId",
-            this.viewDetail.musicGroupPaymentCalenders[0].memberRankSettingId||null
+            this.viewDetail.musicGroupPaymentCalenders[0].memberRankSettingId ||
+              null
           );
 
           this.$set(
             this.memberForm,
             "memberValidDate",
-            this.viewDetail.musicGroupPaymentCalenders[0].memberValidDate||null
+            this.viewDetail.musicGroupPaymentCalenders[0].memberValidDate ||
+              null
           );
           this.$set(
             this.memberForm,
@@ -539,7 +555,6 @@ export default {
           this.syncAllMoney();
         } catch (error) {}
       }
-
     },
     formatCourse() {
       const organId = this.musicGroup?.organId;
@@ -615,7 +630,8 @@ export default {
       // } else {
       this.$set(this.cycle, "paymentAmount", money);
       // }
-
+      money += parseFloat(this.memberForm.memberPaymentAmount || 0);
+      this.money = money;
       return money;
     },
     async getChargeTypeList() {
@@ -682,6 +698,7 @@ export default {
         ...(refs.cycles || []),
         refs.other,
         refs.payment,
+        refs.memberSetting,
       ]
         .filter((item) => !!item)
         .map((item) => item.$refs.form || item);
@@ -701,7 +718,12 @@ export default {
           }
         });
       }
-      if (this.eclass.length < 1 && this.eclassuser.length < 1&&this.courseViewType !=1) {
+
+      if (
+        this.eclass.length < 1 &&
+        this.eclassuser.length < 1 &&
+        this.courseViewType != 1
+      ) {
         return this.$message.error("请至少选择一条加课信息");
       }
       if (valided.length === forms.length) {
@@ -822,8 +844,17 @@ export default {
 <style lang="less" scoped>
 .dialog-footer {
   margin-top: 20px;
-  display: block;
-  text-align: right;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: flex-end;
+  // text-align: right;
+  p {
+    font-size: 16px;
+    margin-right: 20px;
+    color: red;
+    margin-left: 40px;
+  }
 }
 .alert {
   margin-bottom: 10px;