فهرست منبع

提交一下 修改系统收费

11
mo 4 سال پیش
والد
کامیت
9ee4ccf485

+ 6 - 0
src/constant/index.js

@@ -290,3 +290,9 @@ export const vipResetType = {
 2: '线下不可调为线上',
 3: '线上线下不可互调'
 }
+
+export const courseViewType = {
+  0:'课程收费',
+  1:'AMR收费',
+  2:'会员收费'
+}

+ 2 - 2
src/utils/searchArray.js

@@ -1,5 +1,5 @@
 // 搜索用的下拉数据列表
-import { payOrderType, auditType, auditPaymentType, orderServerType, orderAuditType, rewardModeType,classTime,musicClassType,ProbationPeriodStatus,downListType,musicGroupType,conclusion,vipResetType } from '../constant'
+import { payOrderType, auditType, auditPaymentType, orderServerType, orderAuditType, rewardModeType,classTime,musicClassType,ProbationPeriodStatus,downListType,musicGroupType,conclusion,vipResetType,courseViewType } from '../constant'
 // 课程类型
 export const courseType = [
   { label: "声部课", value: "SINGLE" },
@@ -218,7 +218,7 @@ export const stockType = [
 export const vipResetTypeList = getValueForKey(vipResetType)
 export const musicGroupStatus = getValueForKey(musicGroupType)
 export const classTimeList = getValueForKey(classTime)
-
+export const courseViewTypeList = getValueForKey(courseViewType)
 export const payOrderTypeList = getValueForKey(payOrderType)
 export const auditTypeList = getValueForKey(auditType)
 export const auditPaymentTypeList = getValueForKey(auditPaymentType)

+ 4 - 4
src/utils/vueFilter.js

@@ -132,10 +132,7 @@ Vue.filter('dayjsFormatWeek', (value) => {
     return value
   }
 })
-Vue.filter('courseViewType', (value) => {
-  let arr = ['课程收费',"会员收费"]
-  return arr[value]
-})
+
 // courseViewType
 Vue.filter('dayjsFormatMinute', (value) => {
   if (value) {
@@ -774,3 +771,6 @@ Vue.filter('withdrawalStatus', value => {
 Vue.filter('conclusionStatus', value => {
   return constant.conclusion[value]
 })
+Vue.filter('courseViewType', (value) => {
+  return constant.courseViewType[value]
+})

+ 4 - 4
src/views/businessManager/shopManager/shopList.vue

@@ -115,7 +115,7 @@
           <el-select
             v-model.trim="searchForm.courseFeeShowOrganId"
             clearable
-            placeholder="课程收费团可见分部"
+            placeholder="课程&AMR可见分部"
           >
             <el-option
               v-for="item in selects.branchs"
@@ -833,14 +833,14 @@
         </el-form-item>
         <!--   :disabled="pageDisabled || pageType == 'update'" -->
         <el-form-item
-          label="课程收费团可见分部"
+          label="课程&AMR可见分部"
           prop="courseFeeShowOrganId"
           :label-width="formLabelWidth"
         >
           <select-all
             v-model.trim="form.courseFeeShowOrganId"
             filterable
-            placeholder="请选择课程收费团可见分部"
+            placeholder="请选择课程&AMR可见分部"
             style="width: 400px !important"
             multiple
             clearable
@@ -1728,7 +1728,7 @@ export default {
   },
   filters: {
     courseViewTypeFormat(value) {
-      let template = ["课程收费", "系统收费", "云教练收费"];
+      let template = ["课程收费", "AMR收费", "会员收费"];
       if (!value) {
         return "";
       }

+ 3 - 3
src/views/businessManager/shopManager/shopOperation.vue

@@ -210,11 +210,11 @@
             ></el-option>
           </select-all>
         </el-form-item>
-        <el-form-item label="课程收费团可见分部" prop="courseFeeShowOrganId">
+        <el-form-item label="课程&AMR可见分部" prop="courseFeeShowOrganId">
           <select-all
             v-model.trim="form.courseFeeShowOrganId"
             filterable
-            placeholder="请选择所属分部"
+            placeholder="请选择课程&AMR可见分部"
             style="width: 400px !important"
             multiple
             :disabled="pageDisabled"
@@ -521,7 +521,7 @@ export default {
         courseFeeShowOrganId: [
           {
             required: true,
-            message: "请选择课程收费团可见分部",
+            message: "请选择课程&AMR可见分部",
             trigger: "change",
           },
         ],

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

@@ -654,7 +654,7 @@ export default {
     newUserPay() {
       // 判断一下乐团是课程缴费 还是会员缴费 且乐团状态为创建缴费中
       if (
-        this.baseInfo?.musicGroup?.courseViewType == 1 &&
+        this.baseInfo?.musicGroup?.courseViewType == 2 &&
         this.team_status == "PRE_BUILD_FEE"
       ) {
         this.payFormType = "user";
@@ -717,7 +717,7 @@ export default {
     resetPay(row) {
       this.diTitle = "修改缴费";
       if (
-        this.baseInfo?.musicGroup?.courseViewType == 1 &&
+        this.baseInfo?.musicGroup?.courseViewType == 2 &&
         row.paymentType == "MUSIC_APPLY"
       ) {
         this.payFormType = row.payUserType === "SCHOOL" ? "school" : "user";

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

@@ -615,7 +615,7 @@ export default {
     },
     newSchoolPay() {
       if (
-        this.baseInfo?.musicGroup?.courseViewType == 1 &&
+        this.baseInfo?.musicGroup?.courseViewType == 2 &&
         this.team_status == "PRE_BUILD_FEE"
       ) {
         this.$message.error('会员缴费乐团无法创建学校缴费')

+ 1 - 1
src/views/resetTeaming/modals/payment-cycle.vue

@@ -58,7 +58,7 @@
     <el-form-item
       label="缴费有效期"
       prop="paymentValid"
-      v-if="courseViewType!=1 || (courseViewType==1&&paymentType=== undefined)"
+      v-if="courseViewType!=2 || (courseViewType==2&&paymentType=== undefined)"
       :rules="[{required: true, message: '请选择缴费有效期', trigger: 'blur'}]"
     >
       <el-date-picker

+ 15 - 15
src/views/resetTeaming/modals/subject-preview.vue

@@ -6,12 +6,12 @@
 			2、为避免因部分已注册家长放弃名额导致乐团声部失衡,系统设定各声部限额放大20%比例开放注册,系统自动按照完全完成注册的先后顺序确认录取名单,因此,超员后有可能出现无法注册的情况,请您理解。如果其他声部仍有名额,在您孩子的身体条件适合该乐器的前提下,我们将优先予以调配。
 		</div>
 
-        <template v-if="courseViewType == 1">
+        <template v-if="courseViewType == 2">
 			<h2 class="title" >学习工具包</h2>
 			<div class="yunTrain">
 				<img :src="trainBg" />
 				<div class="toolText">
-					<p class="toolTitle">乐器练习云教练<sup v-if="courseViewType == 3" style="top: -5px;font-size: 20px;">+</sup>
+					<p class="toolTitle">乐器练习云教练<sup v-if="courseViewType == 2" style="top: -5px;font-size: 20px;">+</sup>
 						<i class="icon_video" @click="videoStatus = true"></i>
 					</p>
 					<p class="toolDate">有效期说明:自开课之日起6个月内有效</p>
@@ -25,7 +25,7 @@
 		</h2>
 		<template class="section">
 
-            <div class="section" v-if="courseViewType == 1">
+            <div class="section" v-if="courseViewType == 2">
 				<div v-for="(item, index) in toolsPackage" :key="index">
 					<el-row class="option-row" style="padding-top: 0;" @click.native="onTrainChange(item)">
 						<el-col :span="18">
@@ -35,10 +35,10 @@
 							</span>
 						</el-col>
 						<el-col :span="6">
-							<span style="color: #1A1A1A" v-if="courseViewType == 1">¥{{ cloudTeacherFee | moneyFormat }}</span>
+							<span style="color: #1A1A1A" v-if="courseViewType == 2">¥{{ cloudTeacherFee | moneyFormat }}</span>
 						</el-col>
 					</el-row>
-					<el-row style="padding-left: .24rem;" v-if="item.childGoodsList && courseViewType == 1">
+					<el-row style="padding-left: .24rem;" v-if="item.childGoodsList && courseViewType == 2">
 						<el-col v-for="(child, index) in item.childGoodsList" :key="child.name">
 							<span style="font-size: 12px; color: #808080;">{{ child.name }} {{item.childGoodsList.length - 1 == index ? '' : '、'}}</span>
 						</el-col>
@@ -93,16 +93,16 @@
 				<el-row class="title-row">
 					<el-col :span="12">
 						<template v-if="i[0]['kitType'] == 'GROUP'">
-							团购乐器{{ courseViewType == 1 ? '(赠送辅件一套)' : null }}
+							团购乐器{{ courseViewType == 2 ? '(赠送辅件一套)' : null }}
 						</template>
 						<template v-if="i[0]['kitType'] == 'LEASE'">
-							乐器租赁{{ courseViewType == 1 ? '(请自行购买辅件)' : null }}
+							乐器租赁{{ courseViewType == 2 ? '(请自行购买辅件)' : null }}
 						</template>
 						<template v-if="i[0]['kitType'] == 'FREE'">
-							免费乐器{{ courseViewType == 1 ? '(请自行购买辅件)' : null }}
+							免费乐器{{ courseViewType == 2 ? '(请自行购买辅件)' : null }}
 						</template>
 						<template v-if="i[0]['kitType'] == 'owned'">
-							自备乐器{{ courseViewType == 1 ? '(请自行购买辅件)' : null }}
+							自备乐器{{ courseViewType == 2 ? '(请自行购买辅件)' : null }}
 						</template>
 					</el-col>
 					<el-col :span="5" :offset="1" style="text-align: right;">
@@ -267,7 +267,7 @@ export default {
             courseShowStatus: false,
             chargeTypeList: [],
             chargeTypeName: null,
-            courseViewType: 0, // 收费模式,0 课程显示,1 AMR系统
+            courseViewType: 0, // 收费模式,0 课程显示,1 AMR系统 2会员
             leBaoStatus: false,
 			buyMaintenance: false, // 是否开启乐保
             isClickStatus: false,
@@ -506,10 +506,10 @@ export default {
                                 this.buyMaintenance = true
                             }
 
-                            if(item.checked && item.kitType != "GROUP" && (this.courseViewType == 1)) {
+                            if(item.checked && item.kitType != "GROUP" && (this.courseViewType == 2)) {
                                 this.accessIsShowStatus = true
                             }
-                            if(this.courseViewType != 1) {
+                            if(this.courseViewType != 2) {
                                 this.accessIsShowStatus = true
                             }
                         })
@@ -608,7 +608,7 @@ export default {
                 }
             }
             // 云教练且选择自备则不显示辅件
-            if(this.courseViewType == 1) {
+            if(this.courseViewType == 2) {
                 if(item.kitType != "GROUP") {
                     this.accessIsShowStatus = true
                 } else {
@@ -642,7 +642,7 @@ export default {
             let csi = this.courseInfo
             // 加上判断是否有课程信息
             // 如果为云教练系统则,没有课程费用
-            if((this.courseViewType == 1) && this.toolsPackage[0].isStatus) {
+            if((this.courseViewType == 2) && this.toolsPackage[0].isStatus) {
                 let tempFee = this.cloudTeacherFee
                 musicClassFee += parseFloat(tempFee)
                 marketPrice += parseFloat(tempFee)
@@ -650,7 +650,7 @@ export default {
             if (mgs) {
                     csi.forEach(item => {
                         if (item.isStatus) {
-                            if(this.courseViewType != 1) {
+                            if(this.courseViewType != 2) {
                                 musicClassFee += parseFloat(item.courseCurrentPrice)
                             }
                             // marketPrice += parseFloat(item.courseOriginalPrice)

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

@@ -9,7 +9,7 @@
       label="缴费类型"
       prop="leixing"
       :rules="[{required: true, message: '请选择缴费类型', trigger: 'change'}]"
-      v-if="typeof paymentType === 'undefined'&&courseViewType != 1"
+      v-if="typeof paymentType === 'undefined'&&courseViewType != 2"
     >
       <el-radio-group style="width: 100%" v-model="form.leixing">
         <el-radio label="1">乐团续费</el-radio>
@@ -20,7 +20,7 @@
     <el-form-item
       label="收费标准"
       prop="musicGroupOrganizationCourseSettingId"
-      v-if="isCommon && form.musicGroupOrganizationCourseSettingId != 0 && courseViewType != 1"
+      v-if="isCommon && form.musicGroupOrganizationCourseSettingId != 0 && courseViewType != 2"
       :rules="[{required: true, message: '请选择收费标准', trigger: 'change'}]"
     >
       <el-select style="width: 100%!important;" v-model="form.musicGroupOrganizationCourseSettingId" placeholder="请选择收费标准">
@@ -36,7 +36,7 @@
     <el-alert
       :closable="false"
       style="margin-left: 160px;width: auto; margin-bottom:20px;"
-      v-if="isCommon && form.musicGroupOrganizationCourseSettingId != 0 && courseViewType != 1"
+      v-if="isCommon && form.musicGroupOrganizationCourseSettingId != 0 && courseViewType != 2"
       type="warning">
       <template #title>
         <p>该乐团为{{chargeTypeName}}模式,若需创建其他模式的收费标准,请先修改乐团基本信息中的乐团模式

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

@@ -5,7 +5,7 @@
       :closable="false"
       class="alert"
       v-if="
-        paymentTypeString !== 'SPAN_GROUP_CLASS_ADJUST' && courseViewType != 1
+        paymentTypeString !== 'SPAN_GROUP_CLASS_ADJUST' && courseViewType != 2
       "
       type="info"
     >
@@ -90,12 +90,12 @@
         class="alert"
         style="margin-top: 20px"
         type="info"
-        v-if="courseViewType == 1 && paymentType && paymentType != 2"
+        v-if="courseViewType == 2 && paymentType && paymentType != 2"
       >
       </el-alert>
       <memberSetting
         ref="memberSetting"
-        v-if="courseViewType == 1 && paymentType && paymentType != 2"
+        v-if="courseViewType == 2 && paymentType && paymentType != 2"
         :form="memberForm"
         :viewDetail="nowDetail"
         :isUserType="isUserType"
@@ -113,7 +113,7 @@
           v-if="
             !paymentType &&
             type == 'user' &&
-            (courseViewType == 2 || courseViewType == 3)
+            (courseViewType == 2 )
           "
         >
           <el-input :disabled="true" v-model="cloudFee"></el-input>
@@ -130,7 +130,7 @@
             style="width: 100% !important"
             v-model="payment.paymentPattern"
             placeholder="请选择缴费方式"
-            :disabled="courseViewType == 1 && paymentType !== undefined"
+            :disabled="courseViewType == 2 && paymentType !== undefined"
           >
             <el-option
               v-for="item in paymentPatternTypeOptions"
@@ -445,7 +445,7 @@ export default {
       this.courseViewType = this.baseInfo?.musicGroup?.courseViewType;
       // 如果为学员缴费且是乐团缴费则显示云教练的价格
       //  进行中添加
-      if (this.courseViewType == 1 && !this.rowDetail) {
+      if (this.courseViewType == 2 && !this.rowDetail) {
         this.$set(this.form, "leixing", "2");
         this.addExtraClass();
       }
@@ -731,7 +731,7 @@ export default {
       if (
         this.eclass.length < 1 &&
         this.eclassuser.length < 1 &&
-        this.courseViewType != 1
+        this.courseViewType != 2
       ) {
         return this.$message.error("请至少选择一条加课信息");
       }

+ 21 - 4
src/views/teamBuild/components/teamBaseInfo.vue

@@ -59,11 +59,12 @@
           <el-select
             v-model.trim="topFrom.courseViewType"
             filterable
-            :disabled="basdisabled || (team_status !='newTeam'&&team_status !='DRAFT')"
+            :disabled="basdisabled"
             clearable
           >
-            <el-option label="课程收费" :value="0"></el-option>
-            <el-option label="会员收费" :value="1"></el-option>
+            <el-option :label="item.label"  :value="Number(item.value)"  v-for="item in courseViewTypeList" :key="item.value" :disabled="checkCourseView(Number(item.value))"></el-option>
+            <!-- <el-option label="AMR收费" :value="1"></el-option>
+            <el-option label="会员收费" :value="2"></el-option> -->
           </el-select>
         </el-form-item>
         <el-form-item
@@ -367,7 +368,7 @@ import dayjs from "dayjs";
 import merge from "webpack-merge";
 import { queryByOrganId, getSchool } from "@/api/systemManage";
 import qrCode from "@/components/QrCode/index";
-import { classStatus } from "@/utils/searchArray";
+import { classStatus,courseViewTypeList } from "@/utils/searchArray";
 import { vaildStudentUrl, vaildTeacherUrl } from "@/utils/validate";
 import mergeMusic from "../components/merge-music";
 export default {
@@ -380,6 +381,7 @@ export default {
   data() {
     return {
       classStatus,
+      courseViewTypeList,
       organId: null,
       topFrom: {
         type: "", // 收费类型
@@ -1195,8 +1197,22 @@ export default {
         localStorage.removeItem(`${this.teamid}sound`);
       }
     },
+      checkCourseView(val){
+           console.log(this.teamStatus)
+      if(this.teamStatus == "newTeam" || this.teamStatus == "teamDraft"){
+
+        return false
+      }else{
+        if(this.topFrom.courseViewType == 0 || this.topFrom.courseViewType== 1){
+          return val == 2
+        }else{
+          return val == 0 || val==1
+        }
+      }
+    },
   },
   computed: {
+
     startClassString() {
       return this.topFrom.startClass
         .map((item) => {
@@ -1218,6 +1234,7 @@ export default {
         teamStatus == "feeAudit"
       );
     },
+
   },
 };
 </script>

+ 5 - 5
src/views/teamDetail/components/modals/create-user-pay.vue

@@ -101,11 +101,11 @@
       class="alert"
       style="margin-top: 20px"
       type="info"
-      v-if="courseViewType == 1"
+      v-if="courseViewType == 2"
     >
     </el-alert>
     <memberSetting
-      v-if="courseViewType == 1"
+      v-if="courseViewType == 2"
       :addStudent="true"
       :form="memberForm"
       :isUserType="isUserType"
@@ -127,7 +127,7 @@
           style="width: 100% !important"
           v-model="payment.paymentPattern"
           placeholder="请选择缴费方式"
-          :disabled="courseViewType == 1"
+          :disabled="courseViewType == 2"
         >
           <el-option
             v-for="item in paymentPatternTypeOptions"
@@ -286,14 +286,14 @@ export default {
     baseInfo(val) {
       this.formatCourse();
       this.courseViewType = val.courseViewType;
-      if (val.courseViewType == 1) {
+      if (val.courseViewType == 2) {
         this.payment.paymentPattern = "1";
       }
     },
   },
   mounted() {
     this.courseViewType = this.baseInfo.courseViewType;
-    if (this.baseInfo.courseViewType == 1) {
+    if (this.baseInfo.courseViewType == 2) {
       this.payment.paymentPattern = "1";
     }
     this.formatCourse();

+ 1 - 1
src/views/teamDetail/components/resetClass.vue

@@ -39,7 +39,7 @@
           class="newBand"
           style="width: 120px"
           v-permission="'/memberClassList'"
-          v-if="courseViewType == 1&&team_status == 'PROGRESS'"
+          v-if="courseViewType == 2&&team_status == 'PROGRESS'"
           @click="gotoMemberCourse"
         >
           会员课程排课

+ 3 - 3
src/views/teamDetail/teamList.vue

@@ -93,8 +93,7 @@
             placeholder="请选择收费模式"
             clearable
           >
-            <el-option label="课程收费" value="0"></el-option>
-            <el-option label="会员收费" value="1"></el-option>
+                    <el-option :label="item.label"  :value="item.value"  v-for="item in courseViewTypeList" :key="item.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
@@ -400,7 +399,7 @@ import {
   resumeMusicGroup,
   deleteMusicGroup,
 } from "@/api/buildTeam";
-import { musicGroupStatus } from "@/utils/searchArray";
+import { musicGroupStatus,courseViewTypeList } from "@/utils/searchArray";
 import { isObject } from "util";
 import { permission } from "@/utils/directivePage";
 import teamSteam from "./teamListComponent/teamSteam";
@@ -409,6 +408,7 @@ export default {
   name: "teamList",
   data() {
     return {
+      courseViewTypeList,
       closeDetail: {},
       closeVisible: false,
       topForm: {