Browse Source

提交以下

1
mo 3 years ago
parent
commit
1191a9f31c

+ 4 - 3
src/constant/index.js

@@ -361,9 +361,9 @@ export const tenantStatus = {
   "TENANT_RENEW": '机构续费',
   "TENANT_RENEW": '机构续费',
   "CLOUD_TEACHER": '激活团练宝'
   "CLOUD_TEACHER": '激活团练宝'
 }
 }
-
+//   "DAY": '天',
 export const memberEnum = {
 export const memberEnum = {
-  "DAY": '天',
+
   "MONTH": '月度',
   "MONTH": '月度',
   "QUARTERLY": '季度',
   "QUARTERLY": '季度',
   "YEAR_HALF": '半年',
   "YEAR_HALF": '半年',
@@ -394,5 +394,6 @@ export const coupontypeDetail = {
   SINGLE:'声部课',
   SINGLE:'声部课',
   MIX:'合奏课',
   MIX:'合奏课',
   VIP:'VIP',
   VIP:'VIP',
-  FULLCOUPON:'全类券'
+  FULLCOUPON:'全类券',
+  MEMBER:'团练宝'
 }
 }

+ 2 - 0
src/views/buildVip/index.vue

@@ -2330,6 +2330,7 @@ export default {
           categoryId: this.leftForm.courseType,
           categoryId: this.leftForm.courseType,
           teacherId: this.leftForm.teacher,
           teacherId: this.leftForm.teacher,
           studentIds,
           studentIds,
+          activityChannel:2
         }).then((res) => {
         }).then((res) => {
           if (res.code == 200) {
           if (res.code == 200) {
             this.activeList = res.data;
             this.activeList = res.data;
@@ -2362,6 +2363,7 @@ export default {
           teacherId: this.leftForm.teacher,
           teacherId: this.leftForm.teacher,
           studentIds,
           studentIds,
           courseType: this.courseType,
           courseType: this.courseType,
+          activityChannel:2
         }).then((res) => {
         }).then((res) => {
           if (res.code == 200) {
           if (res.code == 200) {
             this.activeList = res.data;
             this.activeList = res.data;

+ 3 - 3
src/views/categroyManager/generalSettings/groupMarkPrice.vue

@@ -250,7 +250,7 @@ export default {
     },
     },
     validateQuarterlyMax(rule, value, callback) {
     validateQuarterlyMax(rule, value, callback) {
       const one = Number(value);
       const one = Number(value);
-      const min = Number(this.form.minMonthFee);
+      const min = Number(this.form.minQuarterlyFee);
       if (!min || one >= min) {
       if (!min || one >= min) {
         return callback();
         return callback();
       }
       }
@@ -258,7 +258,7 @@ export default {
     },
     },
     validateHalfYearMax(rule, value, callback) {
     validateHalfYearMax(rule, value, callback) {
       const one = Number(value);
       const one = Number(value);
-      const min = Number(this.form.minMonthFee);
+      const min = Number(this.form.minHalfYearFee);
       if (!min || one >= min) {
       if (!min || one >= min) {
         return callback();
         return callback();
       }
       }
@@ -266,7 +266,7 @@ export default {
     },
     },
     validateYearMax(rule, value, callback) {
     validateYearMax(rule, value, callback) {
       const one = Number(value);
       const one = Number(value);
-      const min = Number(this.form.minMonthFee);
+      const min = Number(this.form.minYearFee);
       if (!min || one >= min) {
       if (!min || one >= min) {
         return callback();
         return callback();
       }
       }

+ 87 - 2
src/views/categroyManager/productSystem/memberFeeSet.vue

@@ -262,7 +262,7 @@
             ></el-option>
             ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
-        <el-form-item
+        <!-- <el-form-item
           prop="groupPurchaseDayFee"
           prop="groupPurchaseDayFee"
           label="日收费团购价"
           label="日收费团购价"
           :rules="[
           :rules="[
@@ -328,7 +328,7 @@
           >
           >
             <template slot="append">元/日</template>
             <template slot="append">元/日</template>
           </el-input>
           </el-input>
-        </el-form-item>
+        </el-form-item> -->
 
 
         <el-form-item
         <el-form-item
           prop="groupPurchaseMonthFee"
           prop="groupPurchaseMonthFee"
@@ -339,6 +339,7 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+            { validator: validateMonth, trigger: 'blur' },
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -359,6 +360,7 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+            { validator: validateMonth, trigger: 'blur' },
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -379,6 +381,7 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+            { validator: validateMonth, trigger: 'blur' },
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -399,6 +402,7 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+            { validator: validateQuarterly, trigger: 'blur' },
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -419,6 +423,7 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+            { validator: validateQuarterly, trigger: 'blur' },
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -439,6 +444,7 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+            { validator: validateQuarterly, trigger: 'blur' },
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -459,6 +465,8 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+             { validator: validateHalfYear, trigger: 'blur' },
+
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -479,6 +487,7 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+              { validator: validateHalfYear, trigger: 'blur' },
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -499,6 +508,7 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+              { validator: validateHalfYear, trigger: 'blur' },
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -519,6 +529,7 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+             { validator: validateYear, trigger: 'blur' },
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -539,6 +550,7 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+             { validator: validateYear, trigger: 'blur' },
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -559,6 +571,7 @@
               pattern: /^[1-9][0-9]*$/,
               pattern: /^[1-9][0-9]*$/,
               message: '请输入大于0的正整数',
               message: '请输入大于0的正整数',
             },
             },
+             { validator: validateYear, trigger: 'blur' },
           ]"
           ]"
           :label-width="formLabelWidth"
           :label-width="formLabelWidth"
         >
         >
@@ -589,6 +602,7 @@ import {
   getmemberOrganizationFeeMapperkDetail,
   getmemberOrganizationFeeMapperkDetail,
   resetMemberOrganizationFeeMapper,
   resetMemberOrganizationFeeMapper,
 } from "./api";
 } from "./api";
+import { sysConfigList } from "@/api/generalSettings";
 import pagination from "@/components/Pagination/index";
 import pagination from "@/components/Pagination/index";
 
 
 // numeral(this.list.form[index].courseTotalMinuties * this.list.form[index].unitPrice).format('0,0.00')
 // numeral(this.list.form[index].courseTotalMinuties * this.list.form[index].unitPrice).format('0,0.00')
@@ -631,6 +645,16 @@ export default {
       },
       },
       branchStatus: false,
       branchStatus: false,
       remberList: [],
       remberList: [],
+      rulesForm: {
+        minMonthFee: null,
+        maxMonthFee: null,
+        minQuarterlyFee: null,
+        maxQuarterlyFee: null,
+        minHalfYearFee: null,
+        maxHalfYearFee: null,
+        minYearFee: null,
+        maxYearFee: null,
+      },
     };
     };
   },
   },
   async mounted() {
   async mounted() {
@@ -642,8 +666,33 @@ export default {
     } catch {}
     } catch {}
 
 
     this.getList();
     this.getList();
+    this.getRules();
   },
   },
   methods: {
   methods: {
+    async getRules() {
+      try {
+        const res = await sysConfigList({ group: "DEFAULT" });
+        const paramName = "cloud_price_range";
+        res.data.forEach((item) => {
+          if (item.paramName == paramName) {
+            const itemValue = item.paranValue
+              ? JSON.parse(item.paranValue)
+              : null;
+            if (itemValue) {
+              this.rulesForm = itemValue;
+            }
+            console.log(this.rulesForm);
+            // this.$set(this.form, item.id, item.paranValue);
+          }
+          // this.form[item.paramName] = item.paranValue
+          // this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+        // console.log(this.form);
+      } catch (e) {
+        console.log(e);
+      }
+    },
     search() {
     search() {
       this.rules.page = 1;
       this.rules.page = 1;
       this.getList();
       this.getList();
@@ -746,6 +795,42 @@ export default {
         }
         }
       });
       });
     },
     },
+    validateMonth(rule, value, callback) {
+      const one = Number(value);
+      const min = Number(this.rulesForm.minMonthFee);
+      const max = Number(this.rulesForm.maxMonthFee);
+      if (one >= min && one <= max) {
+        return callback();
+      }
+      return callback(new Error(`月度团练宝定价应在${min}-${max}之间`));
+    },
+    validateQuarterly(rule, value, callback) {
+      const one = Number(value);
+      const min = Number(this.rulesForm.minQuarterlyFee);
+      const max = Number(this.rulesForm.maxQuarterlyFee);
+      if (one >= min && one <= max) {
+        return callback();
+      }
+      return callback(new Error(`季度团练宝定价应在${min}-${max}之间`));
+    },
+    validateHalfYear(rule, value, callback) {
+      const one = Number(value);
+      const min = Number(this.rulesForm.minHalfYearFee);
+      const max = Number(this.rulesForm.maxHalfYearFee);
+      if (one >= min && one <= max) {
+        return callback();
+      }
+      return callback(new Error(`半年团练宝定价应在${min}-${max}之间`));
+    },
+    validateYear(rule, value, callback) {
+      const one = Number(value);
+      const min = Number(this.rulesForm.minYearFee);
+      const max = Number(this.rulesForm.maxYearFee);
+      if (one >= min && one <= max) {
+        return callback();
+      }
+      return callback(new Error(`年度团练宝定价应在${min}-${max}之间`));
+    },
   },
   },
   watch: {
   watch: {
     branchStatus(val) {
     branchStatus(val) {

+ 10 - 10
src/views/categroyManager/specialSetup/modals/chargesForm.vue

@@ -2,7 +2,7 @@
   <div>
   <div>
     <el-form :model="form"
     <el-form :model="form"
              label-suffix=": "
              label-suffix=": "
-             
+
              ref="form">
              ref="form">
       <el-form-item label="所属分部"
       <el-form-item label="所属分部"
                     prop="organId"
                     prop="organId"
@@ -47,7 +47,7 @@
         <div class="items">
         <div class="items">
           <div class="items-header">
           <div class="items-header">
             <span class="name">课程类型</span>
             <span class="name">课程类型</span>
-            <span class="name">是否可选</span>
+            <!-- <span class="name">是否可选</span> -->
             <span class="name">课程总时长(分钟)</span>
             <span class="name">课程总时长(分钟)</span>
             <span class="name">现价(元)</span>
             <span class="name">现价(元)</span>
             <span class="name">原价(元)</span>
             <span class="name">原价(元)</span>
@@ -59,7 +59,7 @@
             <el-form-item :prop="`details.${index}.courseType`"
             <el-form-item :prop="`details.${index}.courseType`"
                           :rules="[{required: true, message: '请选择课程类型', trigger: 'change'}]">
                           :rules="[{required: true, message: '请选择课程类型', trigger: 'change'}]">
               <el-select v-model.trim="item.courseType"
               <el-select v-model.trim="item.courseType"
-                         
+
                          clearable
                          clearable
                          @change="() => courseItemChange(item, index)"
                          @change="() => courseItemChange(item, index)"
                          filterable>
                          filterable>
@@ -71,10 +71,10 @@
                 </el-option>
                 </el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
-            <el-form-item :prop="`details.${index}.isStudentOptional`"
+            <!-- <el-form-item :prop="`details.${index}.isStudentOptional`"
                           :rules="[{required: true, message: '请选择是否可选', trigger: 'change'}]">
                           :rules="[{required: true, message: '请选择是否可选', trigger: 'change'}]">
               <el-select v-model.trim="item.isStudentOptional"
               <el-select v-model.trim="item.isStudentOptional"
-                         
+
                          clearable
                          clearable
                          filterable>
                          filterable>
                 <el-option v-for="item in boolOptions"
                 <el-option v-for="item in boolOptions"
@@ -83,13 +83,13 @@
                            :value="String(item.value)">
                            :value="String(item.value)">
                 </el-option>
                 </el-option>
               </el-select>
               </el-select>
-            </el-form-item>
+            </el-form-item> -->
             <el-form-item
             <el-form-item
               :prop="`details.${index}.courseTotalMinuties`"
               :prop="`details.${index}.courseTotalMinuties`"
               :rules="[
               :rules="[
                 { required: true, message: '请输入课程时长', trigger: 'blur' },
                 { required: true, message: '请输入课程时长', trigger: 'blur' },
               ]">
               ]">
-              <el-input-number 
+              <el-input-number
                                style="width: 90%!important;"
                                style="width: 90%!important;"
                                class="number-input"
                                class="number-input"
                                v-model="item.courseTotalMinuties"
                                v-model="item.courseTotalMinuties"
@@ -101,7 +101,7 @@
             </el-form-item>
             </el-form-item>
             <el-form-item :prop="`details.${index}.courseCurrentPrice`"
             <el-form-item :prop="`details.${index}.courseCurrentPrice`"
                           :rules="[{required: true, message: '请输入课程现价', trigger: 'blur'}]">
                           :rules="[{required: true, message: '请输入课程现价', trigger: 'blur'}]">
-              <el-input-number 
+              <el-input-number
                                style="width: 90%!important;"
                                style="width: 90%!important;"
                                class="number-input"
                                class="number-input"
                                v-model="item.courseCurrentPrice"
                                v-model="item.courseCurrentPrice"
@@ -111,7 +111,7 @@
             </el-form-item>
             </el-form-item>
             <el-form-item :prop="`details.${index}.courseOriginalPrice`"
             <el-form-item :prop="`details.${index}.courseOriginalPrice`"
                           :rules="[{required: true, message: '请输入课程原价', trigger: 'blur'}]">
                           :rules="[{required: true, message: '请输入课程原价', trigger: 'blur'}]">
-              <el-input-number 
+              <el-input-number
                                style="width: 90%!important;"
                                style="width: 90%!important;"
                                class="number-input"
                                class="number-input"
                                v-model="item.courseOriginalPrice"
                                v-model="item.courseOriginalPrice"
@@ -130,7 +130,7 @@
                    plain
                    plain
                    class="create-type-button"
                    class="create-type-button"
                    type="info"
                    type="info"
-                   
+
                    @click="addItem">新增课程类型</el-button>
                    @click="addItem">新增课程类型</el-button>
       </div>
       </div>
       <el-row>
       <el-row>

+ 46 - 27
src/views/resetTeaming/components/payInfoDetail.vue

@@ -202,6 +202,7 @@
                 :memberRankList="memberRankList"
                 :memberRankList="memberRankList"
                 @moneyChange="syncAllMoney"
                 @moneyChange="syncAllMoney"
                 @priceChange="priceChange"
                 @priceChange="priceChange"
+                :rulesForm="rulesForm"
                 :organId="organId"
                 :organId="organId"
                 :form="form"
                 :form="form"
                 v-if="member"
                 v-if="member"
@@ -237,6 +238,7 @@ import {
   musicGroupOrganizationCourseSettingsQueryPage,
   musicGroupOrganizationCourseSettingsQueryPage,
 } from "@/api/specialSetting";
 } from "@/api/specialSetting";
 import { getSysTenantConfig } from "@/views/courseRulersManager/api";
 import { getSysTenantConfig } from "@/views/courseRulersManager/api";
+import { sysConfigList } from "@/api/generalSettings";
 import {
 import {
   queryByMusicGroupOrganizationCourseSettingsId,
   queryByMusicGroupOrganizationCourseSettingsId,
   getAllmemberRank,
   getAllmemberRank,
@@ -267,11 +269,7 @@ export default {
             optionalFlag: null,
             optionalFlag: null,
           },
           },
         ],
         ],
-        leBaoList: [
-          {
-
-          },
-        ],
+        leBaoList: [{}],
         activeList: [{}],
         activeList: [{}],
 
 
         leixing: "2",
         leixing: "2",
@@ -296,6 +294,16 @@ export default {
       activeList: [{}],
       activeList: [{}],
       submitList: [],
       submitList: [],
       organizationCourseUnitPriceSettingsByType: null,
       organizationCourseUnitPriceSettingsByType: null,
+      rulesForm: {
+        minMonthFee: null,
+        maxMonthFee: null,
+        minQuarterlyFee: null,
+        maxQuarterlyFee: null,
+        minHalfYearFee: null,
+        maxHalfYearFee: null,
+        minYearFee: null,
+        maxYearFee: null,
+      },
     };
     };
   },
   },
   mounted() {
   mounted() {
@@ -340,6 +348,7 @@ export default {
       await this.getMemberList(); // 获取会员(团练保信息)
       await this.getMemberList(); // 获取会员(团练保信息)
       await this.getLeBao(); // 获取乐保
       await this.getLeBao(); // 获取乐保
       await this.getActive(); // 获取活动
       await this.getActive(); // 获取活动
+      await this.getMemberRules()
       if (this.$route.query.calenderId) {
       if (this.$route.query.calenderId) {
         // 说明是修改  查缴项目详情
         // 说明是修改  查缴项目详情
         getMusicGroupPaymentCalenderDetail({
         getMusicGroupPaymentCalenderDetail({
@@ -384,9 +393,9 @@ export default {
               this.teamActive = true;
               this.teamActive = true;
 
 
               this.$set(this.form, "activeList", res.data.activity);
               this.$set(this.form, "activeList", res.data.activity);
-              this.form.activeList.forEach(active=>{
-                active.vipGroupCategoryNames = active.categoryName
-              })
+              this.form.activeList.forEach((active) => {
+                active.vipGroupCategoryNames = active.categoryName;
+              });
             }
             }
           }
           }
         });
         });
@@ -414,6 +423,25 @@ export default {
         }
         }
       });
       });
     },
     },
+    async getMemberRules() {
+      try {
+        const res = await sysConfigList({ group: "DEFAULT" });
+        const paramName = "cloud_price_range";
+        res.data.forEach((item) => {
+          if (item.paramName == paramName) {
+            const itemValue = item.paranValue
+              ? JSON.parse(item.paranValue)
+              : null;
+            if (itemValue) {
+              this.rulesForm = itemValue;
+            }
+
+          }
+        });
+      } catch (e) {
+        console.log(e);
+      }
+    },
     async getLeBao() {
     async getLeBao() {
       try {
       try {
         const res = await getSysTenantConfig({ group: "MUSIC_REPAIR" });
         const res = await getSysTenantConfig({ group: "MUSIC_REPAIR" });
@@ -458,25 +486,25 @@ export default {
       } catch (error) {}
       } catch (error) {}
     },
     },
     goback() {
     goback() {
-      let query = {...this.$route.query};
+      let query = { ...this.$route.query };
       query.calenderId = null;
       query.calenderId = null;
       if (query.type == "resetTeam") {
       if (query.type == "resetTeam") {
         this.$store.dispatch("delVisitedViews", this.$route);
         this.$store.dispatch("delVisitedViews", this.$route);
         this.$router.push({
         this.$router.push({
           path: "/business/resetTeaming",
           path: "/business/resetTeaming",
-          query
+          query,
         });
         });
       } else if (query.type == "look") {
       } else if (query.type == "look") {
         this.$store.dispatch("delVisitedViews", this.$route);
         this.$store.dispatch("delVisitedViews", this.$route);
         this.$router.push({
         this.$router.push({
           path: "/business/resetTeaming",
           path: "/business/resetTeaming",
-          query
+          query,
         });
         });
       } else if (query.type == "PRE_BUILD_FEE" || query.type == "feeAudit") {
       } else if (query.type == "PRE_BUILD_FEE" || query.type == "feeAudit") {
         this.$store.dispatch("delVisitedViews", this.$route);
         this.$store.dispatch("delVisitedViews", this.$route);
         this.$router.push({
         this.$router.push({
           path: "/business/resetTeaming",
           path: "/business/resetTeaming",
-          query
+          query,
         });
         });
       }
       }
     },
     },
@@ -618,38 +646,29 @@ export default {
   watch: {
   watch: {
     teamCourse(val) {
     teamCourse(val) {
       if (!val) {
       if (!val) {
-        this.$set(this.form, "eclass", null);
-        this.$set(this.form, "leixing", '2');
-
-      } else {
-        // this.$set(this.form, "eclass", [{}]);
+        this.$set(this.form, "eclass",  [{}]);
+        this.$set(this.form, "leixing", "2");
       }
       }
     },
     },
     member(val) {
     member(val) {
       if (!val) {
       if (!val) {
-        this.$set(this.form, "memberList", null);
-      } else {
-        // this.$set(this.form, "memberList", [{}]);
+        this.$set(this.form, "memberList",  [{}]);
       }
       }
     },
     },
     teamActive(val) {
     teamActive(val) {
       if (!val) {
       if (!val) {
-        this.$set(this.form, "activeList", null);
-      } else {
-        // this.$set(this.form, "activeList", [{}]);
+        this.$set(this.form, "activeList",  [{}]);
       }
       }
     },
     },
     leBao(val) {
     leBao(val) {
       if (!val) {
       if (!val) {
-        this.$set(this.form, "leBaoList", null);
-      } else {
-        // this.$set(this.form, "leBaoList", [{}]);
+        this.$set(this.form, "leBaoList", [{}]);
       }
       }
     },
     },
     async "form.musicGroupOrganizationCourseSettingId"(val) {
     async "form.musicGroupOrganizationCourseSettingId"(val) {
       // && !this.rowDetail
       // && !this.rowDetail
 
 
-      if (val && !this.isSetCourseSettingsId&&!this.$route.query.calenderId) {
+      if (val && !this.isSetCourseSettingsId && !this.$route.query.calenderId) {
         try {
         try {
           const res = await queryByMusicGroupOrganizationCourseSettingsId({
           const res = await queryByMusicGroupOrganizationCourseSettingsId({
             id: val,
             id: val,

+ 36 - 23
src/views/resetTeaming/components/resetPayList.vue

@@ -115,13 +115,9 @@
             </div>
             </div>
           </template>
           </template>
         </el-table-column> -->
         </el-table-column> -->
-        <el-table-column align="center"
-                         prop="status"
-                         label="缴费人数">
+        <el-table-column align="center" prop="status" label="缴费人数">
           <template slot-scope="scope">
           <template slot-scope="scope">
-            <div>
-              {{ scope.row.actualNum  }}/{{ scope.row.expectNum  }}
-            </div>
+            <div>{{ scope.row.actualNum }}/{{ scope.row.expectNum }}</div>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
         <!-- <el-table-column align="center"
         <!-- <el-table-column align="center"
@@ -212,12 +208,28 @@
                 ></auth
                 ></auth
               >
               >
 
 
-              <el-button type="text"
-                         v-if="!isNewGropu&&teamStatus&&scope.row.paymentType!='MUSIC_APPLY'"
-                         @click="onCreateQRCode(scope.row)">续费二维码</el-button>
-              <el-button type="text"
-                         v-if="scope.row.payUserType === 'STUDENT' && scope.row.paymentType == 'MUSIC_APPLY' && $helpers.permission('musicGroup/findMusicGroupSubjectInfo/966')"
-                         @click="onPreview(scope.row)">预览</el-button>
+              <el-button
+                type="text"
+                v-if="
+                  !isNewGropu &&
+                  teamStatus &&
+                  scope.row.paymentType != 'MUSIC_APPLY'
+                "
+                @click="onCreateQRCode(scope.row)"
+                >续费二维码</el-button
+              >
+              <el-button
+                type="text"
+                v-if="
+                  scope.row.payUserType === 'STUDENT' &&
+                  scope.row.paymentType == 'MUSIC_APPLY' &&
+                  $helpers.permission(
+                    'musicGroup/findMusicGroupSubjectInfo/966'
+                  )
+                "
+                @click="onPreview(scope.row)"
+                >预览</el-button
+              >
             </div>
             </div>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
@@ -667,9 +679,9 @@ export default {
           if (res.code == 200) {
           if (res.code == 200) {
             this.baseInfo = res.data;
             this.baseInfo = res.data;
             this.$emit("getBaseInfo", this.baseInfo);
             this.$emit("getBaseInfo", this.baseInfo);
-            localStorage.setItem('payMusicBase',JSON.stringify(this.baseInfo))
-          }else{
-            localStorage.removeItem('payMusicBase')
+            localStorage.setItem("payMusicBase", JSON.stringify(this.baseInfo));
+          } else {
+            localStorage.removeItem("payMusicBase");
           }
           }
         });
         });
       }
       }
@@ -681,7 +693,7 @@ export default {
       let query = this.$route.query;
       let query = this.$route.query;
       this.$router.push({
       this.$router.push({
         path: "/business/studentPaySet",
         path: "/business/studentPaySet",
-        query: { ...query,  payUserType: "STUDENT"},
+        query: { ...query, payUserType: "STUDENT" },
       });
       });
       // 判断一下乐团是课程缴费 还是会员缴费 且乐团状态为创建缴费中
       // 判断一下乐团是课程缴费 还是会员缴费 且乐团状态为创建缴费中
       // if (
       // if (
@@ -748,17 +760,18 @@ export default {
     resetPay(row) {
     resetPay(row) {
       this.diTitle = "修改缴费";
       this.diTitle = "修改缴费";
       if (
       if (
-
-        row.paymentType == "MUSIC_APPLY" ||  row.paymentType == "MUSIC_RENEW" ||  row.paymentType == "ADD_COURSE"
+        row.paymentType == "MUSIC_APPLY" ||
+        row.paymentType == "MUSIC_RENEW" ||
+        row.paymentType == "ADD_COURSE"
       ) {
       ) {
         this.payFormType = row.payUserType === "SCHOOL" ? "school" : "user";
         this.payFormType = row.payUserType === "SCHOOL" ? "school" : "user";
         this.isNew = false;
         this.isNew = false;
         this.activeRow = row;
         this.activeRow = row;
-           let query = this.$route.query;
-      this.$router.push({
-        path: "/business/studentPaySet",
-        query: { ...query,  payUserType: "STUDENT",calenderId:row.id},
-      });
+        let query = this.$route.query;
+        this.$router.push({
+          path: "/business/studentPaySet",
+          query: { ...query, payUserType: "STUDENT", calenderId: row.id },
+        });
         // 跳转新接口
         // 跳转新接口
         // this.memberVisible = true;
         // this.memberVisible = true;
       } else {
       } else {

+ 21 - 5
src/views/resetTeaming/components/resetPayListSchool.vue

@@ -697,11 +697,27 @@ export default {
       this.payVisible = true;
       this.payVisible = true;
     },
     },
     resetPay(row) {
     resetPay(row) {
-      this.diTitle = "修改缴费";
-      this.isNew = false;
-      this.activeRow = row;
-      this.payFormType = row.payUserType === "SCHOOL" ? "school" : "user";
-      this.userVisible = true;
+        if (
+        row.paymentType == "MUSIC_APPLY" ||
+        row.paymentType == "MUSIC_RENEW" ||
+        row.paymentType == "ADD_COURSE"
+      ) {
+        this.payFormType = row.payUserType === "SCHOOL" ? "school" : "user";
+        this.isNew = false;
+        this.activeRow = row;
+        let query = this.$route.query;
+        this.$router.push({
+          path: "/business/studentPaySet",
+          query: { ...query, payUserType: "SCHOOL", calenderId: row.id },
+        });
+        // 跳转新接口
+        // this.memberVisible = true;
+      } else {
+        this.isNew = false;
+        this.activeRow = row;
+        this.payFormType = row.payUserType === "SCHOOL" ? "school" : "user";
+        this.userVisible = true;
+      }
     },
     },
     changeActive(val) {
     changeActive(val) {
       if (this.$listeners.changeActive) {
       if (this.$listeners.changeActive) {

+ 1 - 1
src/views/resetTeaming/modals/pay.scss

@@ -46,5 +46,5 @@
   }
   }
 }
 }
 .el-form-item {
 .el-form-item {
-  margin-bottom:0;
+  margin:20px 0;
 }
 }

+ 54 - 19
src/views/resetTeaming/modals/payMember.vue

@@ -102,12 +102,7 @@
           </el-form-item>
           </el-form-item>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
-      <el-table-column
-        label="会员数量"
-        prop="num"
-        key="num"
-        width="170px"
-      >
+      <el-table-column label="会员数量" prop="num" key="num" width="170px">
         <template slot-scope="scope">
         <template slot-scope="scope">
           <el-form-item
           <el-form-item
             :prop="'memberList.' + scope.$index + '.num'"
             :prop="'memberList.' + scope.$index + '.num'"
@@ -129,9 +124,11 @@
               :controls="false"
               :controls="false"
               :precision="0"
               :precision="0"
               :min="0"
               :min="0"
-              @change="changeMemberperiodEnum(form.memberList[scope.$index].period)"
+              @change="
+                changeMemberperiodEnum(form.memberList[scope.$index].period)
+              "
               placeholder="会员数量"
               placeholder="会员数量"
-               :disabled="!form.memberList[scope.$index].memberRankSettingId"
+              :disabled="!form.memberList[scope.$index].memberRankSettingId"
             />
             />
           </el-form-item>
           </el-form-item>
         </template>
         </template>
@@ -157,11 +154,14 @@
         <template slot-scope="scope">
         <template slot-scope="scope">
           <el-form-item
           <el-form-item
             :prop="'memberList.' + scope.$index + '.actualAmount'"
             :prop="'memberList.' + scope.$index + '.actualAmount'"
-            :rules="{
-              required: true,
-              message: '请输入售价',
-              trigger: 'blur',
-            }"
+            :rules="[
+              {
+                required: true,
+                message: '请输入售价',
+                trigger: 'blur',
+              },
+              { validator: validateMember, trigger: 'blur' },
+            ]"
           >
           >
             <!-- $listeners.moneyChange -->
             <!-- $listeners.moneyChange -->
             <el-input-number
             <el-input-number
@@ -172,7 +172,7 @@
               :precision="0"
               :precision="0"
               :min="0"
               :min="0"
               @change="change"
               @change="change"
-               :disabled="!form.memberList[scope.$index].memberRankSettingId"
+              :disabled="!form.memberList[scope.$index].period || !form.memberList[scope.$index].num"
               placeholder="请输入售价"
               placeholder="请输入售价"
             />
             />
           </el-form-item>
           </el-form-item>
@@ -202,9 +202,8 @@
               :precision="0"
               :precision="0"
               :min="0"
               :min="0"
               @change="change"
               @change="change"
-               :disabled="true"
+              :disabled="true"
               placeholder="请输入原价"
               placeholder="请输入原价"
-
             />
             />
           </el-form-item>
           </el-form-item>
         </template>
         </template>
@@ -233,7 +232,7 @@ import { objectToOptions } from "@/utils";
 import { memberEnumList } from "@/utils/searchArray";
 import { memberEnumList } from "@/utils/searchArray";
 import { getMemberFee } from "../api";
 import { getMemberFee } from "../api";
 export default {
 export default {
-  props: ["form", "memberRankList", "organId"],
+  props: ["form", "memberRankList", "organId", "rulesForm"],
   data() {
   data() {
     return {
     return {
       charges: [],
       charges: [],
@@ -275,7 +274,8 @@ export default {
         this.$set(
         this.$set(
           this.form.memberList[0],
           this.form.memberList[0],
           "actualAmount",
           "actualAmount",
-          this.memberPrice.groupPurchaseQuarterlyFee * this.form.memberList[0].num
+          this.memberPrice.groupPurchaseQuarterlyFee *
+            this.form.memberList[0].num
         );
         );
         this.$set(
         this.$set(
           this.form.memberList[0],
           this.form.memberList[0],
@@ -287,7 +287,8 @@ export default {
         this.$set(
         this.$set(
           this.form.memberList[0],
           this.form.memberList[0],
           "actualAmount",
           "actualAmount",
-          this.memberPrice.groupPurchaseHalfYearFee * this.form.memberList[0].num
+          this.memberPrice.groupPurchaseHalfYearFee *
+            this.form.memberList[0].num
         );
         );
         this.$set(
         this.$set(
           this.form.memberList[0],
           this.form.memberList[0],
@@ -326,6 +327,40 @@ export default {
         }
         }
       }
       }
     },
     },
+    validateMember(rule, value, callback) {
+      const one = Number(value);
+      let min=0;
+      let max =0
+
+      switch (this.form.memberList[0]?.period) {
+        case "MONTH": {
+           min = Number(this.rulesForm.minMonthFee)*this.form.memberList[0].num;
+           max = Number(this.rulesForm.maxMonthFee)*this.form.memberList[0].num;
+          break;
+        }
+        case "QUARTERLY": {
+            min = Number(this.rulesForm.minQuarterlyFee)*this.form.memberList[0].num;
+           max = Number(this.rulesForm.maxQuarterlyFee)*this.form.memberList[0].num;
+           console.log(this.form.memberList[0]?.period,min,max,this.rulesForm)
+          break;
+        }
+        case "YEAR_HALF": {
+            min = Number(this.rulesForm.minHalfYearFee)*this.form.memberList[0].num;
+           max = Number(this.rulesForm.maxHalfYearFee)*this.form.memberList[0].num;
+          break;
+        }
+        case "YEAR": {
+            min = Number(this.rulesForm.minYearFee)*this.form.memberList[0].num;
+           max = Number(this.rulesForm.maxYearFee)*this.form.memberList[0].num;
+          break;
+        }
+      }
+
+      if (one >= min && one <= max) {
+        return callback();
+      }
+      return callback(new Error(`定价应在${min}-${max}之间`));
+    },
   },
   },
 };
 };
 </script>
 </script>

+ 10 - 5
src/views/resetTeaming/modals/review-detail.vue

@@ -112,6 +112,8 @@
           </p>
           </p>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
+            <el-table-column prop="courseOriginalPrice" label="原价(元)" width="100px"></el-table-column>
+
       <el-table-column> </el-table-column>
       <el-table-column> </el-table-column>
     </el-table>
     </el-table>
     <el-table
     <el-table
@@ -153,7 +155,7 @@
           </div>
           </div>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
-      <!-- <el-table-column prop="courseOriginalPrice" label="原价(元)">
+      <el-table-column prop="courseOriginalPrice" label="原价(元)">
         <template slot-scope="scope">
         <template slot-scope="scope">
           <div>
           <div>
             {{
             {{
@@ -165,7 +167,7 @@
             }}
             }}
           </div>
           </div>
         </template>
         </template>
-      </el-table-column> -->
+      </el-table-column>
     </el-table>
     </el-table>
     <el-alert
     <el-alert
       title="团练宝"
       title="团练宝"
@@ -211,6 +213,7 @@
           </p>
           </p>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
+       <el-table-column prop="originalAmount" label="原价(元)"></el-table-column>
       <el-table-column> </el-table-column>
       <el-table-column> </el-table-column>
     </el-table>
     </el-table>
     <el-alert
     <el-alert
@@ -237,8 +240,8 @@
         <template slot-scope="scope">{{ scope.row.num }}</template>
         <template slot-scope="scope">{{ scope.row.num }}</template>
       </el-table-column>
       </el-table-column>
 
 
-      <el-table-column prop="num" label="数量" width="150px"> </el-table-column>
-      <el-table-column prop="actualAmount" label="售价(元)">
+      <el-table-column prop="num" label="数量" width="100px"> </el-table-column>
+      <el-table-column prop="actualAmount" label="售价(元)"  width="100px">
         <template slot="header">
         <template slot="header">
           <p style="position: relative">
           <p style="position: relative">
             售价(元)
             售价(元)
@@ -252,6 +255,7 @@
           </p>
           </p>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
+             <el-table-column prop="originalAmount" label="原价(元)"></el-table-column>
     </el-table>
     </el-table>
     <el-alert
     <el-alert
       title="乐团活动"
       title="乐团活动"
@@ -280,7 +284,7 @@
       </el-table-column>
       </el-table-column>
 
 
       <el-table-column prop="num" label="数量" width="100px"> </el-table-column>
       <el-table-column prop="num" label="数量" width="100px"> </el-table-column>
-      <el-table-column prop="actualAmount" label="售价(元)">
+      <el-table-column prop="actualAmount" label="售价(元)" width="100px">
         <template slot="header">
         <template slot="header">
           <p style="position: relative">
           <p style="position: relative">
             售价(元)
             售价(元)
@@ -294,6 +298,7 @@
           </p>
           </p>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
+       <el-table-column prop="originalAmount" label="原价(元)"></el-table-column>
     </el-table>
     </el-table>
 
 
     <!-- 会员信息 -->
     <!-- 会员信息 -->