|
@@ -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:
|