|
@@ -80,14 +80,37 @@
|
|
|
"
|
|
|
/>
|
|
|
<template>
|
|
|
+ <el-alert
|
|
|
+ title="会员设置"
|
|
|
+ :closable="false"
|
|
|
+ class="alert"
|
|
|
+ style="margin-top: 20px"
|
|
|
+ type="info"
|
|
|
+ v-if="courseViewType == 1"
|
|
|
+ >
|
|
|
+ </el-alert>
|
|
|
+ <memberSetting
|
|
|
+ v-if="courseViewType == 1"
|
|
|
+ :form="memberForm"
|
|
|
+ :isUserType="isUserType"
|
|
|
+ :organId="baseInfo.organId"
|
|
|
+ :showTime="false"
|
|
|
+ />
|
|
|
<el-alert title="缴费设置" :closable="false" class="alert" type="info">
|
|
|
</el-alert>
|
|
|
|
|
|
<el-form ref="payment" :model="payment">
|
|
|
- <el-form-item label-width="160px"
|
|
|
- label="系统缴费金额" v-if="!paymentType&&type=='user'&&(courseViewType==2||courseViewType==3)">
|
|
|
+ <el-form-item
|
|
|
+ label-width="160px"
|
|
|
+ label="系统缴费金额"
|
|
|
+ v-if="
|
|
|
+ !paymentType &&
|
|
|
+ type == 'user' &&
|
|
|
+ (courseViewType == 2 || courseViewType == 3)
|
|
|
+ "
|
|
|
+ >
|
|
|
<el-input :disabled="true" v-model="cloudFee"></el-input>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item
|
|
|
label-width="160px"
|
|
|
label="缴费方式"
|
|
@@ -100,6 +123,7 @@
|
|
|
style="width: 100% !important"
|
|
|
v-model="payment.paymentPattern"
|
|
|
placeholder="请选择缴费方式"
|
|
|
+ :disabled="courseViewType == 1"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in paymentPatternTypeOptions"
|
|
@@ -163,6 +187,7 @@
|
|
|
:isDisabled="
|
|
|
form.leixing === '1' || form.leixing === '2' || paymentType == '0'
|
|
|
"
|
|
|
+ :courseViewType="courseViewType"
|
|
|
v-else
|
|
|
/>
|
|
|
</template>
|
|
@@ -203,10 +228,11 @@ import extraClass from "./extra-class";
|
|
|
import extraClassUser from "./extra-class-user";
|
|
|
import classrooms from "./classrooms";
|
|
|
import otherform from "./other";
|
|
|
+import memberSetting from "./member-setting";
|
|
|
import baseInfoVue from "../../teamDetail/components/baseInfo.vue";
|
|
|
import merge from "webpack-merge";
|
|
|
import numeral from "numeral";
|
|
|
-import { organizationCloudTeacherFeeQueryPage } from '@/api/specialSetting'
|
|
|
+import { organizationCloudTeacherFeeQueryPage } from "@/api/specialSetting";
|
|
|
const paymentTypeFormat = {
|
|
|
0: "MUSIC_APPLY",
|
|
|
1: "MUSIC_RENEW",
|
|
@@ -231,6 +257,7 @@ export default {
|
|
|
extraClassUser,
|
|
|
classrooms,
|
|
|
otherform,
|
|
|
+ memberSetting,
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -257,8 +284,15 @@ export default {
|
|
|
viewDetail: null,
|
|
|
organizationCourseUnitPriceSettingsByType: {},
|
|
|
paymentPatternTypeOptions: objectToOptions(paymentPatternType),
|
|
|
- cloudFee:'',
|
|
|
- courseViewType:''
|
|
|
+ cloudFee: "",
|
|
|
+ courseViewType: "",
|
|
|
+ memberForm: {
|
|
|
+ memberRankSettingId: "",
|
|
|
+ memberValidDate: 6,
|
|
|
+ memberPaymentAmount: "",
|
|
|
+ originalMemberPaymentAmount: "",
|
|
|
+ paymentDate: [],
|
|
|
+ },
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
@@ -380,21 +414,29 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
async init() {
|
|
|
- let organId = this.baseInfo?.musicGroup?.organId
|
|
|
- this.courseViewType = this.baseInfo?.musicGroup?.courseViewType
|
|
|
+ let organId = this.baseInfo?.musicGroup?.organId;
|
|
|
+ this.courseViewType = this.baseInfo?.musicGroup?.courseViewType;
|
|
|
// 如果为学员缴费且是乐团缴费则显示云教练的价格
|
|
|
- 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)
|
|
|
+ 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) {
|
|
|
+ console.log("this.rowDetail", this.rowDetail);
|
|
|
for (const key in paymentTypeFormat) {
|
|
|
if (paymentTypeFormat.hasOwnProperty(key)) {
|
|
|
const item = paymentTypeFormat[key];
|
|
@@ -403,6 +445,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
this.$set(
|
|
|
this.other,
|
|
|
"isGiveMusicNetwork",
|
|
@@ -421,8 +464,8 @@ export default {
|
|
|
).filter((item) => {
|
|
|
return !item.isStudentOptional || this.paymentType !== undefined;
|
|
|
});
|
|
|
- this.eclassuser = res.data.musicGroupPaymentCalenderStudentDetails.map(
|
|
|
- (item) => {
|
|
|
+ this.eclassuser =
|
|
|
+ res.data.musicGroupPaymentCalenderStudentDetails.map((item) => {
|
|
|
if (this.paymentTypeString === "SPAN_GROUP_CLASS_ADJUST") {
|
|
|
return {
|
|
|
...item,
|
|
@@ -430,13 +473,35 @@ export default {
|
|
|
};
|
|
|
}
|
|
|
return item;
|
|
|
- }
|
|
|
- );
|
|
|
+ });
|
|
|
this.$set(
|
|
|
this.payment,
|
|
|
"paymentPattern",
|
|
|
String(this.viewDetail.auditDto?.paymentPattern)
|
|
|
);
|
|
|
+ // 添加会员缴费信息
|
|
|
+ this.$set(
|
|
|
+ this.memberForm,
|
|
|
+ "memberRankSettingId",
|
|
|
+ this.viewDetail.musicGroupPaymentCalenders[0].memberRankSettingId
|
|
|
+ );
|
|
|
+
|
|
|
+ this.$set(
|
|
|
+ this.memberForm,
|
|
|
+ "memberValidDate",
|
|
|
+ this.viewDetail.musicGroupPaymentCalenders[0].memberValidDate
|
|
|
+ );
|
|
|
+ this.$set(
|
|
|
+ this.memberForm,
|
|
|
+ "memberPaymentAmount",
|
|
|
+ this.viewDetail.musicGroupPaymentCalenders[0].memberPaymentAmount
|
|
|
+ );
|
|
|
+ this.$set(
|
|
|
+ this.memberForm,
|
|
|
+ "originalMemberPaymentAmount",
|
|
|
+ this.viewDetail.musicGroupPaymentCalenders[0]
|
|
|
+ .originalMemberPaymentAmount
|
|
|
+ );
|
|
|
if (this.$refs.cycle) {
|
|
|
this.$set(
|
|
|
this.cycle,
|
|
@@ -498,8 +563,8 @@ export default {
|
|
|
},
|
|
|
syncAllMoney() {
|
|
|
if (this.paymentTypeString === "SPAN_GROUP_CLASS_ADJUST") {
|
|
|
- const money = this.viewDetail?.musicGroupPaymentCalenders[0]
|
|
|
- .paymentAmount;
|
|
|
+ const money =
|
|
|
+ this.viewDetail?.musicGroupPaymentCalenders[0].paymentAmount;
|
|
|
this.$set(this.cycle, "paymentAmount", money);
|
|
|
return money;
|
|
|
}
|
|
@@ -624,13 +689,14 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
- if (this.eclass.length < 1 && this.eclassuser.length < 1) {
|
|
|
+ if (this.eclass.length < 1 && this.eclassuser.length < 1&&this.courseViewType !=1) {
|
|
|
return this.$message.error("请至少选择一条加课信息");
|
|
|
}
|
|
|
if (valided.length === forms.length) {
|
|
|
const { leixing, ...rest } = {
|
|
|
...this.form,
|
|
|
...this.other,
|
|
|
+
|
|
|
paymentPattern: this.payment.paymentPattern,
|
|
|
musicGroupPaymentDateRangeList: [
|
|
|
...this.cycles.map((item) => {
|
|
@@ -669,6 +735,7 @@ export default {
|
|
|
}
|
|
|
const data = {
|
|
|
...rest,
|
|
|
+ ...this.memberForm,
|
|
|
isGiveMusicNetwork: false,
|
|
|
studentIds: this.studentIds,
|
|
|
paymentType:
|
|
@@ -682,31 +749,37 @@ export default {
|
|
|
data.attribute1 = info.attribute1;
|
|
|
}
|
|
|
|
|
|
- let hasCourseFee = false
|
|
|
+ let hasCourseFee = false;
|
|
|
|
|
|
for (const item of data.musicGroupPaymentCalenderCourseSettingsList) {
|
|
|
if (item.courseCurrentPrice > 0 || item.isStudentOptional == true) {
|
|
|
- hasCourseFee = true
|
|
|
- break
|
|
|
+ hasCourseFee = true;
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
// console.log(this.baseInfo?.musicGroup?.courseViewType, this.paymentType, hasCourseFee, this.type)
|
|
|
- if ((this.baseInfo?.musicGroup?.courseViewType == 2 || this.baseInfo?.musicGroup?.courseViewType == 3) && this.paymentType == 0 && hasCourseFee && this.type === 'user') {
|
|
|
- this.$message.error('报名缴费云教练收费模式课程费用不得大于0且不可选')
|
|
|
- return
|
|
|
+ if (
|
|
|
+ (this.baseInfo?.musicGroup?.courseViewType == 2 ||
|
|
|
+ this.baseInfo?.musicGroup?.courseViewType == 3) &&
|
|
|
+ this.paymentType == 0 &&
|
|
|
+ hasCourseFee &&
|
|
|
+ this.type === "user"
|
|
|
+ ) {
|
|
|
+ this.$message.error(
|
|
|
+ "报名缴费云教练收费模式课程费用不得大于0且不可选"
|
|
|
+ );
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
if (!this.rowDetail?.batchNo) {
|
|
|
-
|
|
|
-
|
|
|
try {
|
|
|
const res = await musicGroupPaymentCalenderAdd(data);
|
|
|
- if (this.$route.query.team_status == "PRE_BUILD_FEE") {
|
|
|
- this.$message.success("创建成功");
|
|
|
- this.$store.dispatch("delVisitedViews", this.$route);
|
|
|
- this.$router.push({
|
|
|
- path: "/teamList",
|
|
|
- });
|
|
|
+ if (this.$route.query.team_status == "PRE_BUILD_FEE") {
|
|
|
+ this.$message.success("创建成功");
|
|
|
+ this.$store.dispatch("delVisitedViews", this.$route);
|
|
|
+ this.$router.push({
|
|
|
+ path: "/teamList",
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
this.$listeners.close();
|
|
@@ -718,7 +791,8 @@ export default {
|
|
|
try {
|
|
|
data.batchNo = this.rowDetail.batchNo;
|
|
|
// 缴费类型无法修改,按照之前覆盖
|
|
|
- data.paymentType = this.viewDetail.musicGroupPaymentCalenders[0]?.paymentType;
|
|
|
+ data.paymentType =
|
|
|
+ this.viewDetail.musicGroupPaymentCalenders[0]?.paymentType;
|
|
|
const res = await musicGroupPaymentCalenderDetailBatchUpdate(data);
|
|
|
this.$listeners.close();
|
|
|
this.$listeners.submited(res.data);
|