|
@@ -1,191 +1,140 @@
|
|
|
<template>
|
|
|
- <div class="m-container">
|
|
|
+ <div class="m-container1">
|
|
|
+ <el-page-header
|
|
|
+ @back="goback"
|
|
|
+ style="padding: 20px"
|
|
|
+ :content="$route.query.payUserType == 'SCHOOL' ? '学校缴费' : '学员缴费'"
|
|
|
+ >
|
|
|
+ </el-page-header>
|
|
|
<div class="payInfoWrap">
|
|
|
<div class="left">
|
|
|
- <el-page-header
|
|
|
- @back="goback"
|
|
|
- style="padding-bottom: 30px"
|
|
|
- :content="
|
|
|
- $route.query.payUserType == 'SCHOOL' ? '学校缴费' : '学员缴费'
|
|
|
- "
|
|
|
- >
|
|
|
- </el-page-header>
|
|
|
- <div class="m-core">
|
|
|
+ <!-- <div class="Wall"></div> -->
|
|
|
+ <div class="m-core1">
|
|
|
<el-form :inline="true" :model="form" label-width="120px" ref="form">
|
|
|
- <div class="payTitle">
|
|
|
- <div class="squrt"></div>
|
|
|
- <p>基础信息设置</p>
|
|
|
- </div>
|
|
|
- <el-form-item
|
|
|
- prop="paymentDate"
|
|
|
- :rules="[
|
|
|
- { required: true, message: '请选择缴费时间', trigger: 'blur' },
|
|
|
- ]"
|
|
|
- ref="paymentDate"
|
|
|
- >
|
|
|
- <template slot="label">
|
|
|
- <p style="position: relative">
|
|
|
- <span style="color: #f56c6c; margin-right: 4px">*</span>
|
|
|
- 缴费时间
|
|
|
- <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
- <div slot="content">在改时间段内学员才可缴费</div>
|
|
|
- <i
|
|
|
- class="el-icon-question"
|
|
|
- style="
|
|
|
- font-size: 18px;
|
|
|
- color: #f56c6c;
|
|
|
- position: relative;
|
|
|
- top: 2px;
|
|
|
- "
|
|
|
- ></i>
|
|
|
- </el-tooltip>
|
|
|
- </p>
|
|
|
- </template>
|
|
|
- <el-date-picker
|
|
|
- v-model="form.paymentDate"
|
|
|
- type="daterange"
|
|
|
- style="width: 280px"
|
|
|
- :picker-options="{ firstDayOfWeek: 1 }"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- range-separator="-"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-row>
|
|
|
- <el-form-item
|
|
|
- prop="memo"
|
|
|
- :rules="[
|
|
|
- { required: true, message: '请输入备注', trigger: 'blur' },
|
|
|
- ]"
|
|
|
- ref="memo"
|
|
|
- >
|
|
|
- <template slot="label">
|
|
|
- <p style="position: relative">
|
|
|
- <span style="color: #f56c6c; margin-right: 4px">*</span>
|
|
|
- 备注
|
|
|
- <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
- <div slot="content">本次缴费的内容描述</div>
|
|
|
- <i
|
|
|
- class="el-icon-question"
|
|
|
- style="
|
|
|
- font-size: 18px;
|
|
|
- color: #f56c6c;
|
|
|
- position: relative;
|
|
|
- top: 2px;
|
|
|
- "
|
|
|
- ></i>
|
|
|
- </el-tooltip>
|
|
|
- </p>
|
|
|
- </template>
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- style="width: 280px"
|
|
|
- :rows="2"
|
|
|
- v-model="form.memo"
|
|
|
- maxlength="50"
|
|
|
- show-word-limit
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- <div class="payTitle">
|
|
|
- <div class="squrt"></div>
|
|
|
- <p>基础项目配置</p>
|
|
|
- </div>
|
|
|
- <div class="checkWrap">
|
|
|
- <div
|
|
|
- class="checkBtn"
|
|
|
- :class="[
|
|
|
- teamCourse ? 'active' : '',
|
|
|
- teamCourseDisabled ? 'disabled' : '',
|
|
|
- ]"
|
|
|
- @click.prevent="
|
|
|
- () => {
|
|
|
- if (teamCourseDisabled) return;
|
|
|
- teamCourse = !teamCourse;
|
|
|
- if (teamCourse && form.eclass.length < 0) {
|
|
|
- form.eclass = [];
|
|
|
- form.eclass.push({});
|
|
|
- }
|
|
|
- }
|
|
|
- "
|
|
|
- >
|
|
|
- <p>乐团课</p>
|
|
|
- <el-checkbox
|
|
|
- v-model="teamCourse"
|
|
|
- :disabled="teamCourseDisabled"
|
|
|
- ></el-checkbox>
|
|
|
+ <div :class="isField ? 'baseWrap' : 'baseWrapFixed'">
|
|
|
+ <div class="payTitle">
|
|
|
+ <div class="squrt"></div>
|
|
|
+ <p>基础项目配置</p>
|
|
|
+ <div class="payContext">请选择您需要的课程配置</div>
|
|
|
</div>
|
|
|
- <div
|
|
|
- class="checkBtn"
|
|
|
- :class="[
|
|
|
- member ? 'active' : '',
|
|
|
- memberDisabled ? 'disabled' : '',
|
|
|
- ]"
|
|
|
- @click.prevent="
|
|
|
- () => {
|
|
|
- if (memberDisabled) return;
|
|
|
- member = !member;
|
|
|
- if (member && form.memberList.length < 0) {
|
|
|
- form.memberList = [];
|
|
|
- form.memberList.push({});
|
|
|
+ <div class="checkWrap">
|
|
|
+ <div
|
|
|
+ class="checkBtn"
|
|
|
+ :class="[
|
|
|
+ teamCourse ? 'active' : '',
|
|
|
+ teamCourseDisabled ? 'disabled' : '',
|
|
|
+ ]"
|
|
|
+ @click.prevent="
|
|
|
+ () => {
|
|
|
+ if (teamCourseDisabled) return;
|
|
|
+ teamCourse = !teamCourse;
|
|
|
+ if (teamCourse && form.eclass.length < 0) {
|
|
|
+ form.eclass = [];
|
|
|
+ form.eclass.push({});
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- "
|
|
|
- >
|
|
|
- <p>团练宝</p>
|
|
|
- <el-checkbox
|
|
|
- v-model="member"
|
|
|
- :disabled="memberDisabled"
|
|
|
- ></el-checkbox>
|
|
|
- </div>
|
|
|
- <div
|
|
|
- v-if="isShowLeBao&&tenantId==1"
|
|
|
- class="checkBtn"
|
|
|
- :class="[
|
|
|
- leBao ? 'active' : '',
|
|
|
- leBaoDisabled ? 'disabled' : '',
|
|
|
- ]"
|
|
|
- @click.prevent="
|
|
|
- () => {
|
|
|
- if (leBaoDisabled) return;
|
|
|
- leBao = !leBao;
|
|
|
- if (leBao && form.leBaoList.length < 0) {
|
|
|
- form.leBaoList = [];
|
|
|
- form.leBaoList.push({});
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <div class="checkLeft">
|
|
|
+ <img src="../images/checkIcon1.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="checkRight">
|
|
|
+ <p>乐团课</p>
|
|
|
+ <p class="checkSubTitle">创建课程类型标准</p>
|
|
|
+ </div>
|
|
|
+ <div class="checTriangle" v-if="teamCourse">
|
|
|
+ <img src="../images/checkGou.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <!-- <el-checkbox
|
|
|
+ v-model="teamCourse"
|
|
|
+ :disabled="teamCourseDisabled"
|
|
|
+ ></el-checkbox> -->
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="checkBtn"
|
|
|
+ :class="[
|
|
|
+ member ? 'active' : '',
|
|
|
+ memberDisabled ? 'disabled' : '',
|
|
|
+ ]"
|
|
|
+ @click.prevent="
|
|
|
+ () => {
|
|
|
+ if (memberDisabled) return;
|
|
|
+ member = !member;
|
|
|
+ if (member && form.memberList.length < 0) {
|
|
|
+ form.memberList = [];
|
|
|
+ form.memberList.push({});
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- "
|
|
|
- >
|
|
|
- <p>乐保</p>
|
|
|
- <el-checkbox
|
|
|
- v-model="leBao"
|
|
|
- :disabled="leBaoDisabled"
|
|
|
- ></el-checkbox>
|
|
|
- </div>
|
|
|
- <div
|
|
|
- class="checkBtn"
|
|
|
- :class="[
|
|
|
- teamActive ? 'active' : '',
|
|
|
- teamActiveDisabled ? 'disabled' : '',
|
|
|
- ]"
|
|
|
- @click.prevent="
|
|
|
- () => {
|
|
|
- if (teamActiveDisabled) return;
|
|
|
- teamActive = !teamActive;
|
|
|
- if (teamActive && form.activeList.length < 0) {
|
|
|
- form.activeList = [];
|
|
|
- form.activeList.push({});
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <div class="checkLeft">
|
|
|
+ <img src="../images/checkIcon2.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="checkRight">
|
|
|
+ <p>团练宝</p>
|
|
|
+ <p class="checkSubTitle">乐团训练工具</p>
|
|
|
+ </div>
|
|
|
+ <div class="checTriangle" v-if="member">
|
|
|
+ <img src="../images/checkGou.png" alt="" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ v-if="isShowLeBao && tenantId == 1"
|
|
|
+ class="checkBtn"
|
|
|
+ :class="[
|
|
|
+ leBao ? 'active' : '',
|
|
|
+ leBaoDisabled ? 'disabled' : '',
|
|
|
+ ]"
|
|
|
+ @click.prevent="
|
|
|
+ () => {
|
|
|
+ if (leBaoDisabled) return;
|
|
|
+ leBao = !leBao;
|
|
|
+ if (leBao && form.leBaoList.length < 0) {
|
|
|
+ form.leBaoList = [];
|
|
|
+ form.leBaoList.push({});
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- "
|
|
|
- >
|
|
|
- <p>小课</p>
|
|
|
- <el-checkbox
|
|
|
- v-model="teamActive"
|
|
|
- :disabled="teamActiveDisabled"
|
|
|
- ></el-checkbox>
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <div class="checkLeft">
|
|
|
+ <img src="../images/checkIcon3.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="checkRight">
|
|
|
+ <p>乐保</p>
|
|
|
+ <p class="checkSubTitle">乐器维修保养</p>
|
|
|
+ </div>
|
|
|
+ <div class="checTriangle" v-if="leBao">
|
|
|
+ <img src="../images/checkGou.png" alt="" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="checkBtn"
|
|
|
+ :class="[
|
|
|
+ teamActive ? 'active' : '',
|
|
|
+ teamActiveDisabled ? 'disabled' : '',
|
|
|
+ ]"
|
|
|
+ @click.prevent="
|
|
|
+ () => {
|
|
|
+ if (teamActiveDisabled) return;
|
|
|
+ teamActive = !teamActive;
|
|
|
+ if (teamActive && form.activeList.length < 0) {
|
|
|
+ form.activeList = [];
|
|
|
+ form.activeList.push({});
|
|
|
+ }
|
|
|
+ }
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <div class="checkLeft">
|
|
|
+ <img src="../images/checkIcon4.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="checkRight">
|
|
|
+ <p>小课</p>
|
|
|
+ <p class="checkSubTitle">创建活动课程方案</p>
|
|
|
+ </div>
|
|
|
+ <div class="checTriangle" v-if="teamActive">
|
|
|
+ <img src="../images/checkGou.png" alt="" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="coreList">
|
|
@@ -220,12 +169,103 @@
|
|
|
@remove="removeActive"
|
|
|
/>
|
|
|
</div>
|
|
|
+ <div class="teamCourseList coreList">
|
|
|
+ <div class="coreTitle">
|
|
|
+ <p>基础信息设置</p>
|
|
|
+ </div>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col style="width: 430px">
|
|
|
+ <el-form-item
|
|
|
+ prop="paymentDate"
|
|
|
+ :rules="[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择缴费时间',
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ ref="paymentDate"
|
|
|
+ >
|
|
|
+ <template slot="label">
|
|
|
+ <p style="position: relative">
|
|
|
+ <span style="color: #f56c6c; margin-right: 4px">*</span>
|
|
|
+ 缴费时间
|
|
|
+ <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
+ <div slot="content">在改时间段内学员才可缴费</div>
|
|
|
+ <i
|
|
|
+ class="el-icon-question"
|
|
|
+ style="
|
|
|
+ font-size: 18px;
|
|
|
+ color: #f56c6c;
|
|
|
+ position: relative;
|
|
|
+ top: 2px;
|
|
|
+ "
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </p>
|
|
|
+ </template>
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.paymentDate"
|
|
|
+ type="daterange"
|
|
|
+ style="width: 280px"
|
|
|
+ :picker-options="{ firstDayOfWeek: 1 }"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="-"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col class="memoWrap">
|
|
|
+ <el-form-item
|
|
|
+ class="memoWrapItem"
|
|
|
+ prop="memo"
|
|
|
+ :rules="[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请输入备注',
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ ref="memo"
|
|
|
+ >
|
|
|
+ <template slot="label">
|
|
|
+ <p style="position: relative">
|
|
|
+ <span style="color: #f56c6c; margin-right: 4px">*</span>
|
|
|
+ 备注
|
|
|
+ <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
+ <div slot="content">本次缴费的内容描述</div>
|
|
|
+ <i
|
|
|
+ class="el-icon-question"
|
|
|
+ style="
|
|
|
+ font-size: 18px;
|
|
|
+ color: #f56c6c;
|
|
|
+ position: relative;
|
|
|
+ top: 2px;
|
|
|
+ "
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </p>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <el-input
|
|
|
+ style="width: 100%"
|
|
|
+ :rows="1"
|
|
|
+ v-model="form.memo"
|
|
|
+ maxlength="50"
|
|
|
+ show-word-limit
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
</el-form>
|
|
|
<div v-if="!teamCourse && !member && !leBao && !teamActive">
|
|
|
<empty desc="暂无缴费项目配置" />
|
|
|
</div>
|
|
|
- <div v-else style="text-align:center;">
|
|
|
- <el-button class="submitBtn" @click="submitForm">确认</el-button>
|
|
|
+ <div v-else style="text-align: center">
|
|
|
+ <el-button class="submitBtn" @click="submitForm">确认</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -244,7 +284,7 @@
|
|
|
v-for="(subject, index) in dialogSubjectList"
|
|
|
:key="index"
|
|
|
:name="subject.subjectId.toString()"
|
|
|
- style="max-height: 500px;overflow-y: auto;"
|
|
|
+ style="max-height: 500px; overflow-y: auto"
|
|
|
>
|
|
|
<subject-preview
|
|
|
:subjectId="subject.subjectId"
|
|
@@ -254,7 +294,13 @@
|
|
|
</el-tabs>
|
|
|
|
|
|
<div>
|
|
|
- <el-button style="width: 100%; border-radius: 0; line-height: 30px" size="medium" type="primary" @click="onSubmit">确认提交</el-button>
|
|
|
+ <el-button
|
|
|
+ style="width: 100%; border-radius: 0; line-height: 30px"
|
|
|
+ size="medium"
|
|
|
+ type="primary"
|
|
|
+ @click="onSubmit"
|
|
|
+ >确认提交</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
@@ -279,7 +325,10 @@ import {
|
|
|
musicGroupcreateCalender,
|
|
|
musicGroupresetCalender,
|
|
|
} from "../api";
|
|
|
-import { getMusicGroupPaymentCalenderDetail, findMusicGroupSubjectInfo } from "@/api/buildTeam";
|
|
|
+import {
|
|
|
+ getMusicGroupPaymentCalenderDetail,
|
|
|
+ findMusicGroupSubjectInfo,
|
|
|
+} from "@/api/buildTeam";
|
|
|
import { vipGroupActivity } from "@/api/vipSeting";
|
|
|
export default {
|
|
|
components: {
|
|
@@ -287,7 +336,7 @@ export default {
|
|
|
payMember,
|
|
|
payLeBao,
|
|
|
payTeamActive,
|
|
|
- subjectPreview
|
|
|
+ subjectPreview,
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -344,23 +393,27 @@ export default {
|
|
|
dialogSubjectList: [],
|
|
|
activeName: null,
|
|
|
preViewData: {},
|
|
|
- tenantId:null
|
|
|
+ tenantId: null,
|
|
|
+ isField: false,
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
- let tenantConfig = sessionStorage.getItem('tenantConfig')
|
|
|
- tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {}
|
|
|
- if(tenantConfig.tenantId && tenantConfig.tenantId != 'undefined') {
|
|
|
- this.tenantId = tenantConfig.tenantId
|
|
|
+ let tenantConfig = sessionStorage.getItem("tenantConfig");
|
|
|
+ tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {};
|
|
|
+ if (tenantConfig.tenantId && tenantConfig.tenantId != "undefined") {
|
|
|
+ this.tenantId = tenantConfig.tenantId;
|
|
|
}
|
|
|
this.organizationCourseUnitPriceSettings = JSON.parse(
|
|
|
localStorage.getItem("organizationCourseUnitPriceSettings")
|
|
|
);
|
|
|
this.baseInfo = JSON.parse(localStorage.getItem("payMusicBase"));
|
|
|
// 判断乐团状态 缴费类型
|
|
|
-
|
|
|
+ window.addEventListener("scroll", this.getScroll);
|
|
|
this.init();
|
|
|
},
|
|
|
+ beforeDestroy() {
|
|
|
+ window.removeEventListener("scroll", this.getScroll);
|
|
|
+ },
|
|
|
methods: {
|
|
|
async init() {
|
|
|
this.organId = this.musicGroup?.organId;
|
|
@@ -528,9 +581,13 @@ export default {
|
|
|
// this.charges =[];
|
|
|
if (this.charges.length <= 0) {
|
|
|
this.submitList.push("teamCourseType");
|
|
|
- }else{
|
|
|
- if(this.form.leixing == 1&&this.teamCourse){
|
|
|
- this.$set(this.form,'musicGroupOrganizationCourseSettingId',this.charges[0].id)
|
|
|
+ } else {
|
|
|
+ if (this.form.leixing == 1 && this.teamCourse) {
|
|
|
+ this.$set(
|
|
|
+ this.form,
|
|
|
+ "musicGroupOrganizationCourseSettingId",
|
|
|
+ this.charges[0].id
|
|
|
+ );
|
|
|
}
|
|
|
}
|
|
|
} catch (error) {}
|
|
@@ -661,25 +718,25 @@ export default {
|
|
|
);
|
|
|
},
|
|
|
submitForm() {
|
|
|
- this.$refs.form.validate(async (isok,obj) => {
|
|
|
+ this.$refs.form.validate(async (isok, obj) => {
|
|
|
if (isok) {
|
|
|
// 学校缴费没有预览
|
|
|
- if(this.$route.query.payUserType == "SCHOOL") {
|
|
|
- this.$confirm('是否创建缴费?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- this.onSubmit()
|
|
|
- }).catch(() => {
|
|
|
- });
|
|
|
+ if (this.$route.query.payUserType == "SCHOOL") {
|
|
|
+ this.$confirm("是否创建缴费?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.onSubmit();
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
} else {
|
|
|
- const preViewData = this.formatPreviewData()
|
|
|
- this.preViewData = preViewData
|
|
|
- await this.onPreview()
|
|
|
+ const preViewData = this.formatPreviewData();
|
|
|
+ this.preViewData = preViewData;
|
|
|
+ await this.onPreview();
|
|
|
}
|
|
|
- }else {
|
|
|
-
|
|
|
+ } else {
|
|
|
this.$nextTick(() => {
|
|
|
this.scrollView(obj);
|
|
|
});
|
|
@@ -687,9 +744,9 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
onSubmit() {
|
|
|
- console.log('提交')
|
|
|
+ console.log("提交");
|
|
|
this.$refs.form.validate(async (isok) => {
|
|
|
- console.log('isok',isok)
|
|
|
+ console.log("isok", isok);
|
|
|
if (isok) {
|
|
|
let obj = this.fommatDate();
|
|
|
if (this.$route.query.calenderId) {
|
|
@@ -714,12 +771,11 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
scrollView(object) {
|
|
|
- console.log(object)
|
|
|
+ console.log(object);
|
|
|
for (const i in object) {
|
|
|
let dom = this.$refs[i];
|
|
|
// 这里是针对遍历的情况(多个输入框),取值为数组
|
|
|
if (Object.prototype.toString.call(dom) !== "[object Object]") {
|
|
|
-
|
|
|
dom = dom[0];
|
|
|
}
|
|
|
|
|
@@ -739,37 +795,38 @@ export default {
|
|
|
// 格式化预览数据
|
|
|
const form = this.form;
|
|
|
// 重置小班课数据
|
|
|
- let tmpActiveList = form.activeList?.length > 0 ? form.activeList : []
|
|
|
- let activeList = []
|
|
|
- if(tmpActiveList.length > 0) {
|
|
|
- tmpActiveList.forEach(active => {
|
|
|
- if(active.activityId) {
|
|
|
- active.categoryName = active.vipGroupCategoryNames
|
|
|
- activeList.push(active)
|
|
|
+ let tmpActiveList = form.activeList?.length > 0 ? form.activeList : [];
|
|
|
+ let activeList = [];
|
|
|
+ if (tmpActiveList.length > 0) {
|
|
|
+ tmpActiveList.forEach((active) => {
|
|
|
+ if (active.activityId) {
|
|
|
+ active.categoryName = active.vipGroupCategoryNames;
|
|
|
+ activeList.push(active);
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
- let memberObj = form.memberList?.length > 0 ? { ...form.memberList[0] } : null
|
|
|
+ let memberObj =
|
|
|
+ form.memberList?.length > 0 ? { ...form.memberList[0] } : null;
|
|
|
// 获取会员名称
|
|
|
- if(memberObj) {
|
|
|
- this.memberRankList.forEach(item => {
|
|
|
- if(item.id == memberObj.memberRankSettingId) {
|
|
|
- memberObj.name = item.name
|
|
|
+ if (memberObj) {
|
|
|
+ this.memberRankList.forEach((item) => {
|
|
|
+ if (item.id == memberObj.memberRankSettingId) {
|
|
|
+ memberObj.name = item.name;
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
// console.log(memberObj, 'memberObj', activeList)
|
|
|
- let tempCourseList = form.eclass?.length > 0 ? form.eclass : []
|
|
|
- let courseList = []
|
|
|
- if(tempCourseList.length > 0) {
|
|
|
- tempCourseList.forEach(course => {
|
|
|
- if(course.courseType) {
|
|
|
- course.isStudentOptional = true
|
|
|
- courseList.push(course)
|
|
|
+ let tempCourseList = form.eclass?.length > 0 ? form.eclass : [];
|
|
|
+ let courseList = [];
|
|
|
+ if (tempCourseList.length > 0) {
|
|
|
+ tempCourseList.forEach((course) => {
|
|
|
+ if (course.courseType) {
|
|
|
+ course.isStudentOptional = true;
|
|
|
+ courseList.push(course);
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
- console.log(courseList)
|
|
|
+
|
|
|
return {
|
|
|
payUserType: this.$route.query.payUserType,
|
|
|
musicGroup: this.musicGroup,
|
|
@@ -778,9 +835,12 @@ export default {
|
|
|
course: courseList, // 课程
|
|
|
member: memberObj, // 团练宝
|
|
|
memberPrivilegesItemList: [], // 会员基本内容
|
|
|
- repair: form.leBaoList?.length > 0 ? { ...form.leBaoList[0], optionalFlag: false } : null, // 乐保
|
|
|
- }
|
|
|
- }
|
|
|
+ repair:
|
|
|
+ form.leBaoList?.length > 0
|
|
|
+ ? { ...form.leBaoList[0], optionalFlag: false }
|
|
|
+ : null, // 乐保
|
|
|
+ },
|
|
|
+ };
|
|
|
},
|
|
|
fommatDate() {
|
|
|
return {
|
|
@@ -805,6 +865,18 @@ export default {
|
|
|
musicGroupId: this.$route.query.id,
|
|
|
};
|
|
|
},
|
|
|
+ getScroll() {
|
|
|
+ this.scrollTop =
|
|
|
+ window.pageYOffset ||
|
|
|
+ document.documentElement.scrollTop ||
|
|
|
+ document.body.scrollTop;
|
|
|
+ console.log(this.scrollTop);
|
|
|
+ if (!!this.scrollTop && this.scrollTop >= 70) {
|
|
|
+ this.isField = false;
|
|
|
+ } else {
|
|
|
+ this.isField = true;
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
watch: {
|
|
|
teamCourse(val) {
|
|
@@ -877,6 +949,21 @@ export default {
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
+@import "~@/views/resetTeaming/modals/pay.scss";
|
|
|
+.memoWrap {
|
|
|
+ width: calc(100% - 430px);
|
|
|
+ .memoWrapItem {
|
|
|
+ display: block;
|
|
|
+ /deep/.el-form-item__content {
|
|
|
+ display: inline-block;
|
|
|
+ width: calc(100% - 140px);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.Wall {
|
|
|
+ height: 15px;
|
|
|
+ background-color: #f2f2f2;
|
|
|
+}
|
|
|
/deep/.el-form-item__label:before {
|
|
|
content: "" !important;
|
|
|
position: absolute;
|
|
@@ -895,6 +982,20 @@ export default {
|
|
|
text-align: center;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
+ .baseWrap {
|
|
|
+ padding: 20px;
|
|
|
+ background-color: #fff;
|
|
|
+ }
|
|
|
+ .baseWrapFixed {
|
|
|
+ top: 105px;
|
|
|
+ left: 210px; // 205
|
|
|
+ position: fixed;
|
|
|
+ background-color: #fff;
|
|
|
+ width: calc(100% - 220px);
|
|
|
+ z-index: 100;
|
|
|
+ padding: 20px;
|
|
|
+ box-shadow: rgba(0, 0, 0, 0.05) 0px 2px 3px 3px;
|
|
|
+ }
|
|
|
.left {
|
|
|
/deep/.el-checkbox {
|
|
|
padding: 8px 10px 7px 10px;
|
|
@@ -937,71 +1038,111 @@ export default {
|
|
|
position: relative;
|
|
|
top: -1px;
|
|
|
}
|
|
|
+ .payContext {
|
|
|
+ color: var(--color-primary);
|
|
|
+ border: 1px solid var(--color-primary);
|
|
|
+ font-size: 14px;
|
|
|
+ line-height: 22px;
|
|
|
+ border-radius: 3px;
|
|
|
+ padding: 0 5px;
|
|
|
+ margin-left: 12px;
|
|
|
+ }
|
|
|
}
|
|
|
.checkWrap {
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
justify-content: flex-start;
|
|
|
+ align-items: center;
|
|
|
.checkBtn.active {
|
|
|
- background-color: var(--color-primary);
|
|
|
- color: #fff;
|
|
|
- /deep/.el-checkbox .el-checkbox__inner {
|
|
|
- border: 1px solid #fff;
|
|
|
- }
|
|
|
+ border: 1px solid var(--color-primary);
|
|
|
}
|
|
|
.checkBtn {
|
|
|
- transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
|
|
|
- background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
|
|
|
- transition-property: border-color, background-color;
|
|
|
- transition-duration: 0.25s, 0.25s;
|
|
|
- transition-timing-function: cubic-bezier(0.71, -0.46, 0.29, 1.46),
|
|
|
- cubic-bezier(0.71, -0.46, 0.29, 1.46);
|
|
|
- transition-delay: 0s, 0s;
|
|
|
+ position: relative;
|
|
|
+ background-color: #f8f8f8;
|
|
|
margin-right: 12px;
|
|
|
- padding-left: 14px;
|
|
|
+ padding: 22px;
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
align-items: center;
|
|
|
- cursor: pointer;
|
|
|
- background: rgba(20, 146, 138, 0.12);
|
|
|
border-radius: 6px;
|
|
|
- height: 41px;
|
|
|
+ border: 1px solid #dfe8ec;
|
|
|
+ cursor: pointer;
|
|
|
+ height: 104px;
|
|
|
+ width: 251px;
|
|
|
+ overflow: hidden;
|
|
|
&:hover {
|
|
|
- background-color: var(--color-primary);
|
|
|
- color: #fff;
|
|
|
- /deep/.el-checkbox__inner {
|
|
|
- background-color: var(--color-primary);
|
|
|
- border: 1px solid #fff;
|
|
|
- }
|
|
|
+ border: 1px solid var(--color-primary);
|
|
|
}
|
|
|
p {
|
|
|
height: 41px;
|
|
|
line-height: 41px;
|
|
|
}
|
|
|
- }
|
|
|
- .checkBtn.disabled {
|
|
|
- cursor: not-allowed;
|
|
|
- color: #d9d9d9;
|
|
|
- background-color: #f2f2f2 !important;
|
|
|
- /deep/.el-checkbox__inner {
|
|
|
- background-color: #fff !important;
|
|
|
- border-color: #d9d9d9;
|
|
|
- color: #fff;
|
|
|
- &::after {
|
|
|
- border-color: #d9d9d9;
|
|
|
+ .checkLeft {
|
|
|
+ width: 60px;
|
|
|
+ height: 60px;
|
|
|
+ margin-right: 16px;
|
|
|
+ img {
|
|
|
+ width: 100%;
|
|
|
}
|
|
|
}
|
|
|
- &:hover {
|
|
|
- background-color: #f2f2f2 !important;
|
|
|
- color: #d9d9d9;
|
|
|
- /deep/.el-checkbox__inner {
|
|
|
- background-color: #fff !important;
|
|
|
+ .checkRight {
|
|
|
+ p {
|
|
|
+ height: 26px;
|
|
|
+ font-size: 19px;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #1a1a1a;
|
|
|
+ line-height: 26px;
|
|
|
+ }
|
|
|
+ .checkSubTitle {
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 400;
|
|
|
+ color: var(--color-primary);
|
|
|
+ line-height: 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .checTriangle {
|
|
|
+ border-bottom: 44px solid var(--color-primary);
|
|
|
+ border-left: 44px solid transparent;
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ width: 0;
|
|
|
+ height: 0;
|
|
|
+ img {
|
|
|
+ width: 19px;
|
|
|
+ height: 16px;
|
|
|
+ position: absolute;
|
|
|
+ top: 22px;
|
|
|
+ right: 5px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // .checkBtn.disabled {
|
|
|
+ // cursor: not-allowed;
|
|
|
+ // color: #d9d9d9;
|
|
|
+ // background-color: #f2f2f2 !important;
|
|
|
+ // /deep/.el-checkbox__inner {
|
|
|
+ // background-color: #fff !important;
|
|
|
+ // border-color: #d9d9d9;
|
|
|
+ // color: #fff;
|
|
|
+ // &::after {
|
|
|
+ // border-color: #d9d9d9;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // &:hover {
|
|
|
+ // background-color: #f2f2f2 !important;
|
|
|
+ // color: #d9d9d9;
|
|
|
+ // /deep/.el-checkbox__inner {
|
|
|
+ // background-color: #fff !important;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+.coreList {
|
|
|
+ margin: 14px;
|
|
|
+}
|
|
|
</style>
|
|
|
<style lang="less" scoped>
|
|
|
/deep/.el-dialog__body {
|