|
@@ -1,5 +1,124 @@
|
|
|
<template>
|
|
|
<div class="base-container">
|
|
|
+ <div class="topFunction">
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ "
|
|
|
+ v-if="
|
|
|
+ team_status == 'PAY' ||
|
|
|
+ team_status == 'APPLY' ||
|
|
|
+ team_status == 'PROGRESS' ||
|
|
|
+ team_status == 'PREPARE'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <!-- <h2> -->
|
|
|
+ <!-- + '报名详情' -->
|
|
|
+ <!-- <el-page-header @back="onCancel" :content="teamName">
|
|
|
+ </el-page-header> -->
|
|
|
+ <!-- </h2> -->
|
|
|
+
|
|
|
+ <div class="btnList">
|
|
|
+ <!-- <div class='newBand close'
|
|
|
+ v-permission="'musicGroup/cancelMusicGroup'"
|
|
|
+ @click="onClose">停止乐团</div> v-show="status == 'APPLY'"-->
|
|
|
+ <div
|
|
|
+ class="newBand"
|
|
|
+ @click="payStart"
|
|
|
+ v-permission="'musicGroup/openPay'"
|
|
|
+ v-if="team_status == 'APPLY'"
|
|
|
+ >
|
|
|
+ 开始缴费
|
|
|
+ </div>
|
|
|
+ <!-- v-show="status=='PAY'" -->
|
|
|
+ <div
|
|
|
+ class="newBand"
|
|
|
+ v-permission="'musicGroup/found'"
|
|
|
+ @click="onGoHome"
|
|
|
+ v-if="team_status == 'APPLY' || team_status == 'PAY'"
|
|
|
+ >
|
|
|
+ 确认开团
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="newBand"
|
|
|
+ v-permission="'musicGroup/extensionPayment'"
|
|
|
+ @click="extendTime(true)"
|
|
|
+ v-show="
|
|
|
+ team_status == 'PAY' ||
|
|
|
+ team_status == 'PROGRESS' ||
|
|
|
+ team_status == 'PREPARE'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 延长缴费
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="newBand"
|
|
|
+ v-permission="'musicGroup/extensionApplyExpireDate'"
|
|
|
+ @click="extendTime(false)"
|
|
|
+ v-show="
|
|
|
+ team_status == 'PAY' ||
|
|
|
+ team_status == 'APPLY' ||
|
|
|
+ team_status == 'PROGRESS' ||
|
|
|
+ team_status == 'PREPARE'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 延长报名
|
|
|
+ </div>
|
|
|
+ <div class="newBand" @click="onCreateQRCode('payment')">报名链接</div>
|
|
|
+ <div class="newBand" @click="onCreateQRCode('rePayment')">
|
|
|
+ 报名链接(无乐器)
|
|
|
+ </div>
|
|
|
+ <div class="newBand" @click="onCreateQRCode('detail')">缴费详情</div>
|
|
|
+ <!-- <div
|
|
|
+ class="newBand"
|
|
|
+ v-show="rightList.length > 0"
|
|
|
+ v-permission="
|
|
|
+ getFullPermission(
|
|
|
+ 'studentRegistration/queryStudentApplyDetailExport'
|
|
|
+ )
|
|
|
+ "
|
|
|
+ @click="onDownLoadExecl"
|
|
|
+ >
|
|
|
+ 报表导出
|
|
|
+ </div> -->
|
|
|
+ <!-- <auth
|
|
|
+ :auths="
|
|
|
+ 'studentRegistration/queryPreApplyList'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="newBand"
|
|
|
+ style="margin-right: 0"
|
|
|
+ @click="forecastVisible = true"
|
|
|
+ >
|
|
|
+ 预报名名单
|
|
|
+ </div>
|
|
|
+ </auth> -->
|
|
|
+ <!-- v-permission="getFullPermission('musicGroup/addMusicGroupRegs')" -->
|
|
|
+ <div
|
|
|
+ class="newBand"
|
|
|
+ v-permission="'musicGroup/addMusicGroupRegs'"
|
|
|
+ @click="mergeVisible = true"
|
|
|
+ v-show="team_status == 'PAY' || team_status == 'APPLY'"
|
|
|
+ >
|
|
|
+ 合并学员
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <p
|
|
|
+ style="margin-bottom: 15px; font-size: 18px; font-weight: 400"
|
|
|
+ v-if="
|
|
|
+ team_status == 'PAY' ||
|
|
|
+ team_status == 'PROGRESS' ||
|
|
|
+ team_status == 'PREPARE'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <!-- 报名截止时间:{{ applyExpireDate | formatTimer }} -->
|
|
|
+ 缴费截止时间:{{ paymentExpireDate | formatTimer }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div class="banseLeft">
|
|
|
<div class="head">乐团基本信息:</div>
|
|
|
<!-- <div class="num">乐团编号:dywh01</div> -->
|
|
@@ -327,51 +446,139 @@
|
|
|
修改
|
|
|
</div>
|
|
|
<!-- 审批或者草稿的下一步 -->
|
|
|
- <div
|
|
|
+ <div class="nextBtn" @click="gotoNext(1)" v-if="!basdisabled">保存</div>
|
|
|
+ <!-- <div
|
|
|
class="nextBtn"
|
|
|
- @click="gotoNext(1)"
|
|
|
- v-if="showNext"
|
|
|
- >
|
|
|
- 下一步
|
|
|
- </div>
|
|
|
- <div
|
|
|
- class="nextBtn"
|
|
|
- @click="()=>{$emit('chiosetab', 1)}"
|
|
|
+ @click="
|
|
|
+ () => {
|
|
|
+ this.$router.push({
|
|
|
+ query: merge(this.$route.query, { tabrouter: 2 }),
|
|
|
+ });
|
|
|
+ }
|
|
|
+ "
|
|
|
v-if="teamStatus == 'teamCanceled'"
|
|
|
>
|
|
|
下一步
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <el-dialog title="选择合并乐团" :visible.sync="mergeVisible" width="950px">
|
|
|
+ <mergeMusic
|
|
|
+ v-if="mergeVisible"
|
|
|
+ style="padding: 0 20px"
|
|
|
+ :organId="organId"
|
|
|
+ @close="mergeVisible = false"
|
|
|
+ @submited="gotoStudentList"
|
|
|
+ />
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ title="开始缴费"
|
|
|
+ :visible.sync="paymentStatus"
|
|
|
+ width="400px"
|
|
|
+ destroy-on-close
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ ref="paymentForm"
|
|
|
+ class="paymentForm"
|
|
|
+ :model="paymentForm"
|
|
|
+ :rules="paymentRules"
|
|
|
+ >
|
|
|
+ <el-form-item label="请设置缴费截止日期" prop="paymentExpireDate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model.trim="paymentForm.paymentExpireDate"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ :picker-options="payDate()"
|
|
|
+ style="width: 100%"
|
|
|
+ placeholder="选择日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="paymentStatus = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="onStartPayment('paymentForm')"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ :title="!isPay ? '延长报名' : '延长缴费'"
|
|
|
+ :visible.sync="extendPaymentStatus"
|
|
|
+ destroy-on-close
|
|
|
+ width="400px"
|
|
|
+ >
|
|
|
+ <el-form :model="extendForm" ref="extendForm" :rules="extendRule">
|
|
|
+ <el-form-item v-if="isPay" label="延长缴费时间" prop="expireDate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model.trim="extendForm.expireDate"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ :picker-options="{
|
|
|
+ firstDayOfWeek: 1,
|
|
|
+ }"
|
|
|
+ placeholder="选择日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="延长报名时间" v-else prop="expireDate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model.trim="extendForm.expireDate"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ :picker-options="applyDate"
|
|
|
+ placeholder="选择日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="extendPaymentStatus = false">取 消</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ v-if="isPay"
|
|
|
+ @click="onExtendPayment('extendForm', isPay)"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ v-else
|
|
|
+ type="primary"
|
|
|
+ @click="onExtendPayment('extendForm', isPay)"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <qr-code v-model="codeStatus" :title="codeTitle" :codeUrl="qrCodeUrl" />
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
import {
|
|
|
- getSection,
|
|
|
getType,
|
|
|
- getCooperation,
|
|
|
- getTeacher,
|
|
|
- getAddress,
|
|
|
- getPayMaster,
|
|
|
- getPayStatus,
|
|
|
getTeamBaseInfo,
|
|
|
resetTeamBaseInfo,
|
|
|
getEmployeeOrgan,
|
|
|
+ getStudentList,
|
|
|
+ musicGroupOpenPay,
|
|
|
+ extensionPayment,
|
|
|
+ extensionApplyExpire,
|
|
|
} from "@/api/buildTeam";
|
|
|
import { findTechnician } from "@/api/repairManager";
|
|
|
import dayjs from "dayjs";
|
|
|
+import merge from "webpack-merge";
|
|
|
import {
|
|
|
queryEmployByOrganId,
|
|
|
queryByOrganId,
|
|
|
getSchool,
|
|
|
} from "@/api/systemManage";
|
|
|
+import qrCode from "@/components/QrCode/index";
|
|
|
import { classStatus } from "@/utils/searchArray";
|
|
|
-import store from "@/store";
|
|
|
-import numeral from "numeral";
|
|
|
-import { formatData } from "@/utils/utils";
|
|
|
-import qs from "qs";
|
|
|
-import MusicStore from "@/views/resetTeaming/store";
|
|
|
+import { vaildStudentUrl, vaildTeacherUrl } from "@/utils/validate";
|
|
|
+import mergeMusic from "../components/merge-music";
|
|
|
export default {
|
|
|
+ components: {
|
|
|
+ mergeMusic,
|
|
|
+ qrCode,
|
|
|
+ },
|
|
|
name: "teamBaseInfo",
|
|
|
props: ["getTeamList"],
|
|
|
data() {
|
|
@@ -419,6 +626,34 @@ export default {
|
|
|
isInit: false,
|
|
|
technician: [],
|
|
|
basdisabled: false,
|
|
|
+ // 整合报名中
|
|
|
+ paymentExpireDate: "",
|
|
|
+ mergeVisible: false,
|
|
|
+ team_status: "",
|
|
|
+ paymentNum: 0,
|
|
|
+ paymentStatus: false,
|
|
|
+ paymentForm: {
|
|
|
+ paymentExpireDate: null,
|
|
|
+ // feeType: null
|
|
|
+ },
|
|
|
+ paymentRules: {
|
|
|
+ paymentExpireDate: [
|
|
|
+ { required: true, message: "请设置缴费截止日期", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ extendForm: {
|
|
|
+ expireDate: null,
|
|
|
+ },
|
|
|
+ extendRule: {
|
|
|
+ expireDate: [
|
|
|
+ { required: true, message: "请选择延长时间", trigger: "change" },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ isPay: false,
|
|
|
+ extendPaymentStatus: false, // 延长缴费
|
|
|
+ codeStatus: false,
|
|
|
+ qrCodeUrl: null,
|
|
|
+ codeTitle: null,
|
|
|
};
|
|
|
},
|
|
|
created() {},
|
|
@@ -427,6 +662,8 @@ export default {
|
|
|
this.teamid = this.$route.query.id;
|
|
|
}
|
|
|
this.teamStatus = this.$route.query.type;
|
|
|
+ this.team_status = this.$route.query.team_status;
|
|
|
+ console.log(this.team_status);
|
|
|
if (this.$route.query.type == "newTeam") {
|
|
|
this.onReset();
|
|
|
}
|
|
@@ -456,22 +693,21 @@ export default {
|
|
|
if (
|
|
|
this.teamStatus == "look" ||
|
|
|
this.teamStatus == "teamAudit" ||
|
|
|
- this.teamStatus == "feeAudit"
|
|
|
+ this.teamStatus == "feeAudit" ||
|
|
|
+ this.teamStatus == "APPLY" ||
|
|
|
+ this.teamStatus == "PAY"
|
|
|
) {
|
|
|
this.basdisabled = true;
|
|
|
} else {
|
|
|
this.basdisabled = false;
|
|
|
}
|
|
|
},
|
|
|
- deactivated() {
|
|
|
-
|
|
|
- },
|
|
|
- beforeDestroy(){
|
|
|
-
|
|
|
- sessionStorage.setItem(`${this.teamid}base`,JSON.stringify(this.topFrom));
|
|
|
+ deactivated() {},
|
|
|
+ beforeDestroy() {
|
|
|
+ this.topFrom.paymentExpireDate = this.paymentExpireDate;
|
|
|
+ sessionStorage.setItem(`${this.teamid}base`, JSON.stringify(this.topFrom));
|
|
|
},
|
|
|
|
|
|
-
|
|
|
methods: {
|
|
|
//|| this.teamStatus === 'teamAudit'
|
|
|
isNotEditing: function () {
|
|
@@ -522,8 +758,7 @@ export default {
|
|
|
this.teamStatus == "look" ||
|
|
|
this.teamStatus == "teamAudit" ||
|
|
|
this.teamStatus == "feeAudit" ||
|
|
|
- this.teamStatus == "teamCanceled"
|
|
|
-
|
|
|
+ this.teamStatus == "teamCanceled"
|
|
|
) {
|
|
|
this.basdisabled = true;
|
|
|
} else {
|
|
@@ -532,63 +767,27 @@ export default {
|
|
|
if (this.$route.query.id) {
|
|
|
// 单团修改
|
|
|
this.teamid = this.$route.query.id;
|
|
|
- let sotrage = JSON.parse(sessionStorage.getItem(`${this.$route.query.id}base`));
|
|
|
- console.log(sotrage)
|
|
|
- if (!sotrage?.section) {
|
|
|
+ let sotrage = JSON.parse(
|
|
|
+ sessionStorage.getItem(`${this.$route.query.id}base`)
|
|
|
+ );
|
|
|
|
|
|
+ if (!sotrage?.section) {
|
|
|
getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
// if (this.$listeners.getBaseInfo) {
|
|
|
// this.$listeners.getBaseInfo(res.data);
|
|
|
// }
|
|
|
|
|
|
- // 头部
|
|
|
- this.topFrom.name = res.data.musicGroup.name;
|
|
|
- this.$emit("getName", this.topFrom.name);
|
|
|
- this.topFrom.time = res.data.musicGroup.applyExpireDate;
|
|
|
- this.topFrom.type = res.data.musicGroup.chargeTypeId;
|
|
|
- this.topFrom.startClass = res.data.musicGroup.enrollClasses.split(
|
|
|
- ","
|
|
|
- );
|
|
|
- this.topFrom.paymentPattern = res.data.musicGroup.paymentPattern;
|
|
|
- this.topFrom.paymentValidStartDate =
|
|
|
- res.data.musicGroup.paymentValidStartDate;
|
|
|
- this.topFrom.paymentValidEndDate =
|
|
|
- res.data.musicGroup.paymentValidEndDate;
|
|
|
- this.topFrom.section = res.data.musicGroup.organId;
|
|
|
- this.topFrom.courseViewType = res.data.musicGroup.courseViewType;
|
|
|
- this.topFrom.school = res.data.musicGroup.cooperationOrganId;
|
|
|
- this.topFrom.teacher = res.data.musicGroup.educationalTeacherId;
|
|
|
- this.topFrom.boss = res.data.musicGroup.teamTeacherId;
|
|
|
- this.topFrom.address = res.data.musicGroup.schoolId;
|
|
|
- this.topFrom.salary = res.data.musicGroup.settlementType;
|
|
|
- this.topFrom.head = res.data.musicGroup.directorUserId
|
|
|
- ? res.data.musicGroup.directorUserId
|
|
|
- : null;
|
|
|
- this.topFrom.isClass = res.data.musicGroup.isClassroomLessons;
|
|
|
- this.topFrom.startTime = res.data.musicGroup.expectStartGroupDate;
|
|
|
- this.topFrom.ownershipType = res.data.musicGroup.ownershipType;
|
|
|
- this.topFrom.repairUserId = res.data.musicGroup.repairUserId
|
|
|
- ? res.data.musicGroup.repairUserId
|
|
|
- : null;
|
|
|
- this.topFrom.feeType = res.data.musicGroup.feeType
|
|
|
- ? res.data.musicGroup.feeType
|
|
|
- : null;
|
|
|
- // // 循环缴费月
|
|
|
- // this.payList.chioseMonth = res.data.months;
|
|
|
- if (res.data.musicGroup.organId) {
|
|
|
- // 获取员工
|
|
|
- queryEmployByOrganId({
|
|
|
- organId: res.data.musicGroup.organId,
|
|
|
- rows: 1000,
|
|
|
- }).then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.orgianList = res.data.rows;
|
|
|
- }
|
|
|
- });
|
|
|
- // 获取合作单位
|
|
|
- queryByOrganId({ organId: res.data.musicGroup.organId }).then(
|
|
|
- (res) => {
|
|
|
+ // 头部
|
|
|
+ this.setBase(res)
|
|
|
+ // // 循环缴费月
|
|
|
+ // this.payList.chioseMonth = res.data.months;
|
|
|
+ if (res.data.musicGroup.organId) {
|
|
|
+ // 获取员工
|
|
|
+ queryEmployByOrganId({
|
|
|
+ organId: res.data.musicGroup.organId,
|
|
|
+ rows: 1000,
|
|
|
+ }).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
this.orgianList = res.data.rows;
|
|
|
}
|
|
@@ -597,45 +796,12 @@ export default {
|
|
|
queryByOrganId({ organId: res.data.musicGroup.organId }).then(
|
|
|
(res) => {
|
|
|
if (res.code == 200) {
|
|
|
- this.cooperationList = res.data;
|
|
|
- }
|
|
|
- }
|
|
|
- );
|
|
|
- // 获取教学点
|
|
|
- getSchool({ organId: res.data.musicGroup.organId }).then(
|
|
|
- (res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.addList = res.data;
|
|
|
- this.isInit = false;
|
|
|
+ this.orgianList = res.data.rows;
|
|
|
}
|
|
|
}
|
|
|
);
|
|
|
-
|
|
|
- // 获取维修技师
|
|
|
- findTechnician().then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.technician = res.data;
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- this.$emit("getBaseInfo", res.data);
|
|
|
-
|
|
|
- }
|
|
|
- });
|
|
|
- }else{
|
|
|
- this.topFrom = sotrage
|
|
|
- if ( this.topFrom.section) {
|
|
|
- // 获取员工
|
|
|
- queryEmployByOrganId({
|
|
|
- organId: this.topFrom.section,
|
|
|
- rows: 1000,
|
|
|
- }).then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.orgianList = res.data.rows;
|
|
|
- }
|
|
|
- });
|
|
|
// 获取合作单位
|
|
|
- queryByOrganId({ organId: this.topFrom.section }).then(
|
|
|
+ queryByOrganId({ organId: res.data.musicGroup.organId }).then(
|
|
|
(res) => {
|
|
|
if (res.code == 200) {
|
|
|
this.cooperationList = res.data;
|
|
@@ -643,7 +809,7 @@ export default {
|
|
|
}
|
|
|
);
|
|
|
// 获取教学点
|
|
|
- getSchool({ organId: this.topFrom.section }).then(
|
|
|
+ getSchool({ organId: res.data.musicGroup.organId }).then(
|
|
|
(res) => {
|
|
|
if (res.code == 200) {
|
|
|
this.addList = res.data;
|
|
@@ -658,10 +824,48 @@ export default {
|
|
|
this.technician = res.data;
|
|
|
}
|
|
|
});
|
|
|
- }
|
|
|
+ }
|
|
|
+ this.$emit("getBaseInfo", res.data);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.topFrom = sotrage;
|
|
|
+ console.log(sotrage);
|
|
|
+ this.paymentExpireDate = this.topFrom.paymentExpireDate;
|
|
|
+ if (this.topFrom.section) {
|
|
|
+ // 获取员工
|
|
|
+ queryEmployByOrganId({
|
|
|
+ organId: this.topFrom.section,
|
|
|
+ rows: 1000,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.orgianList = res.data.rows;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 获取合作单位
|
|
|
+ queryByOrganId({ organId: this.topFrom.section }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.cooperationList = res.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 获取教学点
|
|
|
+ getSchool({ organId: this.topFrom.section }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.addList = res.data;
|
|
|
+ this.isInit = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
- }
|
|
|
+ // 获取维修技师
|
|
|
+ findTechnician().then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.technician = res.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+ this.getStudentStatus();
|
|
|
this.$emit("getName", this.topFrom.name);
|
|
|
getEmployeeOrgan().then((res) => {
|
|
|
if (res.code == 200) {
|
|
@@ -717,14 +921,16 @@ export default {
|
|
|
// 判断一下是否勾选了课程类型而没有输入金额
|
|
|
// 验证通过
|
|
|
this.$store.dispatch("topinfo", this.topFrom);
|
|
|
- if (this.teamStatus == "teamDraft") {
|
|
|
- // 获取数据提交
|
|
|
-
|
|
|
- this.resetSubmit();
|
|
|
- } else {
|
|
|
- // this.resetSubmit();
|
|
|
- this.$emit("chiosetab", num);
|
|
|
- }
|
|
|
+ // if (this.teamStatus == "teamDraft") {
|
|
|
+ // // 获取数据提交
|
|
|
+ // } else {
|
|
|
+ // // this.resetSubmit();
|
|
|
+ // console.log("来了");
|
|
|
+ // this.$router.push({
|
|
|
+ // query: merge(this.$route.query, { tabrouter: 2 }),
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ this.resetSubmit();
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -838,6 +1044,239 @@ export default {
|
|
|
};
|
|
|
this.$refs["topinfo"].resetFields();
|
|
|
},
|
|
|
+ onGoHome() {
|
|
|
+ if (this.paymentNum <= 0) {
|
|
|
+ this.$message.error("当前缴费人数为0,无法开团");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.$confirm(`是否确认开团?`, "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ musicGroupFound({
|
|
|
+ musicGroupId: this.$route.query.id,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ // let query = this.$route.query;
|
|
|
+ // this.$message.success("开启成功");
|
|
|
+ // this.$router.push({
|
|
|
+ // path: "/business/teamDetail",
|
|
|
+ // query: {
|
|
|
+ // ...query,
|
|
|
+ // },
|
|
|
+ // });
|
|
|
+ this.onCancel();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ },
|
|
|
+ payStart() {
|
|
|
+ this.paymentStatus = true;
|
|
|
+ },
|
|
|
+ getStudentStatus() {
|
|
|
+ let obj = {
|
|
|
+ musicGroupId: this.teamid,
|
|
|
+ page: 1,
|
|
|
+ rows: 9999,
|
|
|
+ };
|
|
|
+ getStudentList(obj).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ res.data.rows.forEach((item) => {
|
|
|
+ // '未开启缴费', '开启缴费', '已缴费'
|
|
|
+ if (item.paymentStatus == 2) {
|
|
|
+ this.paymentNum += 1;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // this.rightList = res.data.rows;
|
|
|
+ // this.rules.total = res.data.total;
|
|
|
+ // return res;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ payDate() {
|
|
|
+ let self = this;
|
|
|
+ return {
|
|
|
+ firstDayOfWeek: 1,
|
|
|
+ disabledDate(time) {
|
|
|
+ if (self.applyExpireDate) {
|
|
|
+ return (
|
|
|
+ time.getTime() <=
|
|
|
+ new Date(self.applyExpireDate.replace(/-/g, "/")).getTime()
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+ onStartPayment(formName) {
|
|
|
+ // 开启缴费
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ musicGroupOpenPay({
|
|
|
+ musicGroupId: this.teamid,
|
|
|
+ expireDate: this.paymentForm.paymentExpireDate,
|
|
|
+ // feeType: this.paymentForm.feeType
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message.success("开启成功");
|
|
|
+ this.paymentStatus = false;
|
|
|
+ this.$store.dispatch("delVisitedViews", this.$route);
|
|
|
+ this.$router.push({ path: "/business/teamDetail" });
|
|
|
+ // this.$router.push({
|
|
|
+ // path: "/business/resetTeaming",
|
|
|
+ // query: {
|
|
|
+ // status: "PAY",
|
|
|
+ // id: this.$route.query.id,
|
|
|
+ // name: this.$route.query.name,
|
|
|
+ // },
|
|
|
+ // });
|
|
|
+ // this.team_status = "PAY";
|
|
|
+ // this.paymentExpireDate = this.paymentForm.paymentExpireDate;
|
|
|
+ // this.getList();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ applyDate() {
|
|
|
+ let self = this;
|
|
|
+ return {
|
|
|
+ firstDayOfWeek: 1,
|
|
|
+ disabledDate(time) {
|
|
|
+ if (self.paymentExpireDate) {
|
|
|
+ return (
|
|
|
+ time.getTime() >
|
|
|
+ new Date(self.paymentExpireDate.replace(/-/g, "/")).getTime()
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+ extendTime(isPay) {
|
|
|
+ this.isPay = isPay;
|
|
|
+
|
|
|
+ if (isPay) {
|
|
|
+ // 点击的延长缴费
|
|
|
+ this.extendForm.expireDate = this.paymentExpireDate;
|
|
|
+ } else {
|
|
|
+ // 点击的延长报名
|
|
|
+ this.extendForm.expireDate = this.applyExpireDate;
|
|
|
+ }
|
|
|
+ this.extendPaymentStatus = true;
|
|
|
+ },
|
|
|
+ onExtendPayment(formName, isPay) {
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ if (!isPay) {
|
|
|
+ extensionApplyExpire({
|
|
|
+ musicGroupId: this.teamid,
|
|
|
+ expireDate: this.extendForm.expireDate,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message.success("延长报名成功");
|
|
|
+ this.extendPaymentStatus = false;
|
|
|
+ getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.applyExpireDate = res.data.musicGroup.applyExpireDate;
|
|
|
+ this.setBase(res)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.msg);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ extensionPayment({
|
|
|
+ musicGroupId: this.teamid,
|
|
|
+ expireDate: this.extendForm.expireDate,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message.success("延长缴费成功");
|
|
|
+ this.extendPaymentStatus = false;
|
|
|
+ getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.paymentExpireDate =
|
|
|
+ res.data.musicGroup.paymentExpireDate;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.msg);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ onCreateQRCode(type) {
|
|
|
+ // 生成报名二维码
|
|
|
+ let id = this.teamid;
|
|
|
+ this.codeStatus = true;
|
|
|
+ if (type == "payment") {
|
|
|
+ this.codeTitle = "学员报名连接";
|
|
|
+ this.qrCodeUrl = vaildStudentUrl() + "/#/login?musicGroupId=" + id;
|
|
|
+ } else if (type == "detail") {
|
|
|
+ let teamName = this.$route.query.name;
|
|
|
+ this.codeTitle = "报名缴费详情";
|
|
|
+ this.qrCodeUrl =
|
|
|
+ vaildTeacherUrl() +
|
|
|
+ "/#/order?musicGroupId=" +
|
|
|
+ id +
|
|
|
+ "&musicGroupName=" +
|
|
|
+ teamName;
|
|
|
+ } else if (type == "rePayment") {
|
|
|
+ this.codeTitle = "学生报名链接(无乐器)";
|
|
|
+ this.qrCodeUrl =
|
|
|
+ vaildStudentUrl() + "/#/login?musicGroupId=" + id + "&instrument=1";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ gotoStudentList() {
|
|
|
+ this.$router.push({
|
|
|
+ query: merge(this.$route.query, { tabrouter: 7 }),
|
|
|
+ });
|
|
|
+ // this.$router.replace({query:{...this.$route.query,tabrouter:7}})
|
|
|
+ },
|
|
|
+ setBase(res){
|
|
|
+ this.topFrom.name = res.data.musicGroup.name;
|
|
|
+ this.$emit("getName", this.topFrom.name);
|
|
|
+ this.topFrom.time = res.data.musicGroup.applyExpireDate;
|
|
|
+ this.topFrom.type = res.data.musicGroup.chargeTypeId;
|
|
|
+ this.topFrom.startClass = res.data.musicGroup.enrollClasses.split(
|
|
|
+ ","
|
|
|
+ );
|
|
|
+ this.topFrom.paymentPattern = res.data.musicGroup.paymentPattern;
|
|
|
+ this.topFrom.paymentValidStartDate =
|
|
|
+ res.data.musicGroup.paymentValidStartDate;
|
|
|
+ this.topFrom.paymentValidEndDate =
|
|
|
+ res.data.musicGroup.paymentValidEndDate;
|
|
|
+ this.topFrom.section = res.data.musicGroup.organId;
|
|
|
+ this.topFrom.courseViewType = res.data.musicGroup.courseViewType;
|
|
|
+ this.topFrom.school = res.data.musicGroup.cooperationOrganId;
|
|
|
+ this.topFrom.teacher = res.data.musicGroup.educationalTeacherId;
|
|
|
+ this.topFrom.boss = res.data.musicGroup.teamTeacherId;
|
|
|
+ this.topFrom.address = res.data.musicGroup.schoolId;
|
|
|
+ this.topFrom.salary = res.data.musicGroup.settlementType;
|
|
|
+ this.topFrom.head = res.data.musicGroup.directorUserId
|
|
|
+ ? res.data.musicGroup.directorUserId
|
|
|
+ : null;
|
|
|
+ this.topFrom.isClass = res.data.musicGroup.isClassroomLessons;
|
|
|
+ this.topFrom.startTime = res.data.musicGroup.expectStartGroupDate;
|
|
|
+ this.topFrom.ownershipType = res.data.musicGroup.ownershipType;
|
|
|
+ this.topFrom.repairUserId = res.data.musicGroup.repairUserId
|
|
|
+ ? res.data.musicGroup.repairUserId
|
|
|
+ : null;
|
|
|
+ this.topFrom.feeType = res.data.musicGroup.feeType
|
|
|
+ ? res.data.musicGroup.feeType
|
|
|
+ : null;
|
|
|
+ this.paymentExpireDate = res.data.musicGroup.paymentExpireDate;
|
|
|
+ }
|
|
|
},
|
|
|
computed: {
|
|
|
startClassString() {
|
|
@@ -1011,6 +1450,17 @@ export default {
|
|
|
}
|
|
|
</style>
|
|
|
<style lang="scss" scoped>
|
|
|
+.btnList {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ justify-content: flex-start;
|
|
|
+ align-items: center;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ & > div {
|
|
|
+ margin-right: 15px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+}
|
|
|
/deep/.el-date-editor {
|
|
|
width: 180px !important;
|
|
|
}
|