|
@@ -1,40 +1,5 @@
|
|
|
<template>
|
|
|
<div class="stu-container">
|
|
|
- <!-- 头部展示 -->
|
|
|
- <!-- <statistic>
|
|
|
- <statistic-item>
|
|
|
- <span>在读人数</span>
|
|
|
- <span>{{ studentListInfo.studying }}</span>
|
|
|
- </statistic-item>
|
|
|
- <statistic-item>
|
|
|
- <span>退团人数</span>
|
|
|
- <span>{{ studentListInfo.quit }}</span>
|
|
|
- </statistic-item>
|
|
|
- <statistic-item>
|
|
|
- <span>新增人数</span>
|
|
|
- <span>{{ studentListInfo.add }}</span>
|
|
|
- </statistic-item>
|
|
|
- <statistic-item>
|
|
|
- <span>VIP&网管转化率</span>
|
|
|
- <span>{{ studentListInfo.courseRate }}</span>
|
|
|
- </statistic-item>
|
|
|
- </statistic> -->
|
|
|
-
|
|
|
- <!-- style="margin-bottom: 15px" -->
|
|
|
- <p
|
|
|
- style="margin-bottom: 15px; font-size: 16px; font-weight: 400"
|
|
|
- v-if="
|
|
|
- team_status == 'PAY' ||
|
|
|
- team_status == 'APPLY' ||
|
|
|
- (team_status == 'PROGRESS' && isCanReg) ||
|
|
|
- team_status == 'PREPARE'
|
|
|
- "
|
|
|
- >
|
|
|
- <span> 报名截止时间:{{ applyExpireDate | formatTimer }} </span>
|
|
|
- <span v-if="team_status != 'APPLY'">
|
|
|
- 缴费截止时间:{{ paymentExpireDate | formatTimer }}
|
|
|
- </span>
|
|
|
- </p>
|
|
|
<div class="studentListWrap" v-if="team_status == 'PROGRESS'">
|
|
|
<div
|
|
|
class="newBand"
|
|
@@ -43,184 +8,8 @@
|
|
|
>
|
|
|
新增学员
|
|
|
</div>
|
|
|
- <!-- 可以直接去学生考勤查看 -->
|
|
|
- <!-- <el-button type="primary" v-permission="'/studentSignin'"
|
|
|
- @click="gotoSignin">点名总览</el-button> -->
|
|
|
- <!-- <div
|
|
|
- class="newBand"
|
|
|
- v-permission="'studentManage/queryStudentSubTotalCourseTimes'"
|
|
|
- @click="viewTimer"
|
|
|
- style="margin-right: 15px"
|
|
|
- >
|
|
|
- 剩余时长明细
|
|
|
- </div> -->
|
|
|
</div>
|
|
|
- <div
|
|
|
- style="display: flex; justify-content: space-between; align-items: center"
|
|
|
- v-if="
|
|
|
- team_status == 'PAY' ||
|
|
|
- team_status == 'APPLY' ||
|
|
|
- (team_status == 'PROGRESS' && isCanReg) ||
|
|
|
- team_status == 'PREPARE'
|
|
|
- "
|
|
|
- >
|
|
|
- <!-- <h2> -->
|
|
|
- <!-- + '报名详情' -->
|
|
|
- <!-- <el-page-header @back="onCancel" :content="teamName">
|
|
|
- </el-page-header> -->
|
|
|
- <!-- </h2> -->
|
|
|
-
|
|
|
- <div
|
|
|
- class="btnList"
|
|
|
- style="margin-bottom: 15px; font-size: 18px; font-weight: 400"
|
|
|
- >
|
|
|
- <!-- <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('detail')">
|
|
|
- 报名缴费详情
|
|
|
- </div>
|
|
|
- <div
|
|
|
- class="newBand"
|
|
|
- v-permission="'musicGroup/addMusicGroupRegs'"
|
|
|
- @click="mergeVisible = true"
|
|
|
- v-show="team_status == 'PAY' || team_status == 'APPLY'"
|
|
|
- >
|
|
|
- 合并学员
|
|
|
- </div>
|
|
|
- <div
|
|
|
- v-if="team_status == 'APPLY'"
|
|
|
- v-permission="'studentRegistration/openPayment'"
|
|
|
- class="newBand"
|
|
|
- style="background-color: #14928a; border: 1px solid #14928a"
|
|
|
- @click="onPartPayment"
|
|
|
- type="primary"
|
|
|
- >
|
|
|
- 提前开启缴费
|
|
|
- </div>
|
|
|
- <el-popover placement="bottom" width="800" trigger="hover">
|
|
|
- <div>
|
|
|
- <el-table
|
|
|
- style="width: 100% !important"
|
|
|
- :data="leftList"
|
|
|
- :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
|
- >
|
|
|
- <el-table-column
|
|
|
- label="乐团声部"
|
|
|
- prop="subjectName"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="计划招生"
|
|
|
- prop="expectedStudentNum"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <p v-show="!isEdit">{{ scope.row.expectedStudentNum }}</p>
|
|
|
|
|
|
- <el-input
|
|
|
- v-show="isEdit"
|
|
|
- v-model.trim="scope.row.expectedStudentNum"
|
|
|
- ></el-input>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="已报名"
|
|
|
- prop="applyStudentNum"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="已缴费" prop="payNum" align="center">
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <div
|
|
|
- class="btnWrap"
|
|
|
- v-permission="'musicGroup/updateExpectedStudentNum'"
|
|
|
- style="margin-right: 20px; margin-top: 20px"
|
|
|
- >
|
|
|
- <el-button v-show="!isEdit" @click="isEdit = true"
|
|
|
- >编辑</el-button
|
|
|
- >
|
|
|
- <el-button v-show="isEdit" @click="saveIsEdit">保存</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- <auth :auths="'studentRegistration/openPayment'">
|
|
|
- <el-button
|
|
|
- style="background-color: #14928a; border: 1px solid #14928a"
|
|
|
- @click="onPartPayment"
|
|
|
- type="primary"
|
|
|
- >开启缴费</el-button
|
|
|
- >
|
|
|
- </auth> -->
|
|
|
- <div class="newBand" style="margin-bottom: 10px" slot="reference">
|
|
|
- 声部报名计划
|
|
|
- </div>
|
|
|
- </el-popover>
|
|
|
- <div
|
|
|
- class="newBand"
|
|
|
- style="
|
|
|
- background-color: #f97215;
|
|
|
- border: 1px solid #f97215;
|
|
|
- margin-left: 15px;
|
|
|
- "
|
|
|
- @click="onCreateQRCode('rePayment')"
|
|
|
- >
|
|
|
- 报名链接(无乐器)
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- v-if="
|
|
|
- team_status == 'PAY' ||
|
|
|
- team_status == 'PROGRESS' ||
|
|
|
- team_status == 'PREPARE'
|
|
|
- " -->
|
|
|
|
|
|
<!-- 搜索类型 -->
|
|
|
<save-form
|
|
@@ -581,21 +370,9 @@
|
|
|
@click="addVisit(scope.row)"
|
|
|
>新增回访</el-button
|
|
|
>
|
|
|
- <auth :auths="'studentRegistration/batchUpdateSubject'">
|
|
|
- <el-button
|
|
|
- type="text"
|
|
|
- v-show="
|
|
|
- (team_status == 'PAY' || team_status == 'APPLY') &&
|
|
|
- scope.row.paymentStatus != 2 &&
|
|
|
- isShowResSound() &&
|
|
|
- scope.row.studentStatus != 'QUIT'
|
|
|
- "
|
|
|
- @click="resetSubject(scope.row)"
|
|
|
- >修改专业</el-button
|
|
|
- >
|
|
|
- </auth>
|
|
|
|
|
|
- <!-- APPLY status == "APPLY" || s-->
|
|
|
+
|
|
|
+
|
|
|
<el-popover
|
|
|
v-show="scope.row.remark"
|
|
|
placement="top-start"
|
|
@@ -606,29 +383,8 @@
|
|
|
>
|
|
|
<el-button type="text" slot="reference">备注</el-button>
|
|
|
</el-popover>
|
|
|
- <!-- PAY -->
|
|
|
- <!-- && status == "PAY"-->
|
|
|
- <auth
|
|
|
- :auths="'studentRegistration/queryFeeDetail'"
|
|
|
- v-show="scope.row.paymentStatus == 2"
|
|
|
- >
|
|
|
- <el-button type="text" @click="lookdetail(scope.row)"
|
|
|
- >查看</el-button
|
|
|
- >
|
|
|
- </auth>
|
|
|
- <auth
|
|
|
- :auths="'subjectChange/getStudentOriginal'"
|
|
|
- v-show="
|
|
|
- (team_status == 'PAY' || team_status == 'APPLY') &&
|
|
|
- scope.row.paymentStatus == 2 &&
|
|
|
- isShowResSound() &&
|
|
|
- scope.row.studentStatus != 'QUIT'
|
|
|
- "
|
|
|
- >
|
|
|
- <el-button type="text" @click="openChangeVoice(scope.row)"
|
|
|
- >更改声部</el-button
|
|
|
- >
|
|
|
- </auth>
|
|
|
+
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -845,16 +601,6 @@
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog title="报名二维码" :visible.sync="qrcodeStatus" width="300px">
|
|
|
- <div class="left-code">
|
|
|
- <h2>学员报名链接</h2>
|
|
|
- <div id="qrcode" class="qrcode code" ref="qrCodeUrl"></div>
|
|
|
- <p class="code-url" v-if="codeUrl">{{ codeUrl }}</p>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
- <el-dialog :visible.sync="timesVisible" title="查看剩余可排课时长">
|
|
|
- <times-view v-if="timesVisible" @close="timesVisible = false" />
|
|
|
- </el-dialog>
|
|
|
<el-dialog
|
|
|
title="修改缴费周期"
|
|
|
:before-close="closePayVisible"
|
|
@@ -950,108 +696,6 @@
|
|
|
@close="paymentDetailVisible = false"
|
|
|
/>
|
|
|
</el-dialog>
|
|
|
- <el-dialog title="选择合并乐团" :visible.sync="mergeVisible" width="950px">
|
|
|
- <mergeMusic
|
|
|
- v-if="mergeVisible"
|
|
|
- style="padding: 0 20px"
|
|
|
- :organId="organId"
|
|
|
- @close="mergeVisible = false"
|
|
|
- @submited="getList"
|
|
|
- />
|
|
|
- </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" />
|
|
|
- <el-dialog
|
|
|
- title="更改声部"
|
|
|
- :visible.sync="changeVoiceVisible"
|
|
|
- @close="closeChangeVoice"
|
|
|
- v-if="changeVoiceVisible"
|
|
|
- width="600px"
|
|
|
- >
|
|
|
- <changeVoice
|
|
|
- @close="closeChangeVoice"
|
|
|
- @submited="getList"
|
|
|
- :detail.sync="rowDetail"
|
|
|
- :musicGroupId="teamid"
|
|
|
- :voiceList="leftList"
|
|
|
- />
|
|
|
- </el-dialog>
|
|
|
<el-dialog
|
|
|
title="订单详情"
|
|
|
:visible.sync="orderVisible"
|
|
@@ -1099,24 +743,6 @@
|
|
|
>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
- <el-dialog title="修改专业" :visible.sync="subjectVisible" width="400px">
|
|
|
- <el-form :model="maskSoundForm">
|
|
|
- <el-form-item label="选择专业">
|
|
|
- <el-select v-model.trim="maskSoundForm.subject" filterable clearable>
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in soundList"
|
|
|
- :key="index"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="subjectVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="okReset">确 定</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -1344,40 +970,7 @@ export default {
|
|
|
createUserPayVisible: false,
|
|
|
team_status: "",
|
|
|
// 整合报名中
|
|
|
- paymentExpireDate: "",
|
|
|
- applyExpireDate: null,
|
|
|
- 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,
|
|
|
- isEdit: false,
|
|
|
- leftList: [],
|
|
|
- changeVoiceVisible: false,
|
|
|
- rowDetail: null,
|
|
|
orderVisible: false,
|
|
|
orderForm: {
|
|
|
name: "",
|
|
@@ -1448,12 +1041,12 @@ export default {
|
|
|
this.teamid = this.$route.query.id;
|
|
|
this.team_status = this.$route.query.team_status;
|
|
|
// 获取乐团是否能补招
|
|
|
- try {
|
|
|
- const ruselt = await checkCanReg({ musicGroupId: this.teamid });
|
|
|
- this.isCanReg = ruselt.data;
|
|
|
- } catch (e) {
|
|
|
- console.log(e);
|
|
|
- }
|
|
|
+ // try {
|
|
|
+ // const ruselt = await checkCanReg({ musicGroupId: this.teamid });
|
|
|
+ // this.isCanReg = ruselt.data;
|
|
|
+ // } catch (e) {
|
|
|
+ // console.log(e);
|
|
|
+ // }
|
|
|
getMusicGroupGradeList({ musicGroupId: this.teamid }).then((res) => {
|
|
|
let result = res.data;
|
|
|
if (res.code == 200 && result) {
|
|
@@ -1466,13 +1059,13 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
// 获取报名截止日期和缴费截止日期
|
|
|
- getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.paymentExpireDate = res.data.musicGroup.paymentExpireDate;
|
|
|
- this.applyExpireDate = res.data.musicGroup.applyExpireDate;
|
|
|
- this.organId = res.data.musicGroup.organId;
|
|
|
- }
|
|
|
- });
|
|
|
+ // getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
|
|
|
+ // if (res.code == 200) {
|
|
|
+ // this.paymentExpireDate = res.data.musicGroup.paymentExpireDate;
|
|
|
+ // this.applyExpireDate = res.data.musicGroup.applyExpireDate;
|
|
|
+ // this.organId = res.data.musicGroup.organId;
|
|
|
+ // }
|
|
|
+ // });
|
|
|
|
|
|
// 获取汇总数据
|
|
|
// this.getTeamStudent();
|
|
@@ -1604,27 +1197,6 @@ export default {
|
|
|
this.$refs.searchForm.resetFields();
|
|
|
this.search();
|
|
|
},
|
|
|
- onCreateQRCode() {
|
|
|
- // 生成报名二维码
|
|
|
- this.qrcodeStatus = true;
|
|
|
- let id = this.$route.query.id;
|
|
|
- if (this.qrcodes) {
|
|
|
- this.qrcodes = false;
|
|
|
- setTimeout(() => {
|
|
|
- this.qrcode = new QRCode("qrcode", {
|
|
|
- width: 200,
|
|
|
- height: 200,
|
|
|
- colorDark: "#000000",
|
|
|
- colorLight: "#ffffff",
|
|
|
- correctLevel: QRCode.CorrectLevel.H,
|
|
|
- });
|
|
|
- this.qrcode.makeCode(
|
|
|
- vaildStudentUrl() + "/#/login?musicGroupId=" + id
|
|
|
- );
|
|
|
- this.codeUrl = vaildStudentUrl() + "/#/login?musicGroupId=" + id;
|
|
|
- }, 500);
|
|
|
- }
|
|
|
- },
|
|
|
getList() {
|
|
|
getintoClass({ musicGroupId: this.teamid }).then((res) => {
|
|
|
if (res.code == 200) {
|
|
@@ -1655,7 +1227,6 @@ export default {
|
|
|
if (res.code == 200) {
|
|
|
this.tableList = res.data.rows;
|
|
|
this.rules.total = res.data.total;
|
|
|
- this.getStudentStatus();
|
|
|
return res;
|
|
|
}
|
|
|
});
|
|
@@ -2053,59 +1624,6 @@ export default {
|
|
|
this.addStudentVisible = true;
|
|
|
},
|
|
|
// 报名缴费功能
|
|
|
- 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: "/teamList",
|
|
|
- // query: {
|
|
|
- // ...query,
|
|
|
- // },
|
|
|
- // });
|
|
|
- this.$store.dispatch("delVisitedViews", this.$route);
|
|
|
- this.$router.push({ path: "/teamList" });
|
|
|
- }
|
|
|
- });
|
|
|
- })
|
|
|
- .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 {
|
|
@@ -2122,38 +1640,6 @@ export default {
|
|
|
},
|
|
|
};
|
|
|
},
|
|
|
- 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: "/teamList" });
|
|
|
- // 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 {
|
|
@@ -2170,232 +1656,12 @@ export default {
|
|
|
},
|
|
|
};
|
|
|
},
|
|
|
- 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";
|
|
|
- }
|
|
|
- },
|
|
|
- saveIsEdit() {
|
|
|
- // 提交数据
|
|
|
- this.isEdit = false;
|
|
|
- resetPlanNum(this.leftList).then((res) => {});
|
|
|
- },
|
|
|
- openChangeVoice(row) {
|
|
|
- // console.log(row);
|
|
|
- // this.getList
|
|
|
- this.getList().then((res) => {
|
|
|
- for (const item of res.data.rows) {
|
|
|
- if (item.userId === row.userId) {
|
|
|
- this.rowDetail = { ...item, studentId: row.userId };
|
|
|
- this.changeVoiceVisible = true;
|
|
|
- console.log(this.rowDetail);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- // this.rowDetail = { ...row, studentId: row.userId };
|
|
|
- // this.changeVoiceVisible = true;
|
|
|
- },
|
|
|
- closeChangeVoice() {
|
|
|
- this.changeVoiceVisible = false;
|
|
|
- // this.rowDetail = null
|
|
|
- },
|
|
|
- lookdetail(row) {
|
|
|
- this.orderVisible = true;
|
|
|
- this.activeId = row.userId;
|
|
|
- this.orderForm.name = row.realName;
|
|
|
- this.orderForm.subject = row.subjectName;
|
|
|
- getStudentFeeDetail({
|
|
|
- musicGroupId: this.teamid,
|
|
|
- studentId: row.userId,
|
|
|
- }).then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- if (res.data) {
|
|
|
- this.orderForm.totalAmount = res.data.totalAmount;
|
|
|
- // this.orderForm.subjectFee = res.data.courseFee;
|
|
|
- let goodStr = "";
|
|
|
- let goodPrice = 0;
|
|
|
- let otherStr = "";
|
|
|
- let othersPrice = 0;
|
|
|
- for (let i in res.data.goods) {
|
|
|
- if (res.data.goods[i].goodsType == "INSTRUMENT") {
|
|
|
- goodStr += res.data.goods[i].goodsName + ",";
|
|
|
- goodPrice += parseFloat(res.data.goods[i].musicalFee);
|
|
|
- // this.orderForm.axe = res.data.goods[i].goodsName;
|
|
|
- // this.orderForm.axePrice = res.data.goods[i].musicalFee;
|
|
|
- } else if (res.data.goods[i].goodsType == "ACCESSORIES") {
|
|
|
- otherStr += res.data.goods[i].goodsName + ",";
|
|
|
- othersPrice += parseFloat(res.data.goods[i].musicalFee);
|
|
|
- // this.orderForm.others = res.data.goods[i].goodsName;
|
|
|
- // this.orderForm.othersPrice = res.data.goods[i].musicalFee;
|
|
|
- } else if (res.data.goods[i].goodsType == "COURSE") {
|
|
|
- this.orderForm.subjectFee = res.data.goods[i].musicalFee;
|
|
|
- }
|
|
|
- }
|
|
|
- this.orderForm.others = otherStr.substring(0, otherStr.length - 1);
|
|
|
- this.orderForm.othersPrice = othersPrice;
|
|
|
- this.orderForm.axe = goodStr.substring(0, goodStr.length - 1);
|
|
|
- this.orderForm.axePrice = goodPrice;
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- // 修改专业
|
|
|
- resetSubject(row) {
|
|
|
- this.activeId = row.userId;
|
|
|
- this.maskSoundForm.subject = row.subjectId
|
|
|
- this.subjectVisible = true;
|
|
|
- // resetStudentSubject().then(res=>{]})
|
|
|
- },
|
|
|
- okReset() {
|
|
|
- if (!this.maskSoundForm.subject) {
|
|
|
- this.$message.error("请选择调剂专业");
|
|
|
- return;
|
|
|
- }
|
|
|
- resetStudentSubject({
|
|
|
- musicGroupId: this.teamid,
|
|
|
- userId: this.activeId,
|
|
|
- subId: this.maskSoundForm.subject,
|
|
|
- }).then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$message.success("修改成功");
|
|
|
- this.subjectVisible = false;
|
|
|
- this.maskForm.subject = "";
|
|
|
- // getintoClass({ musicGroupId: this.id }).then((res) => {
|
|
|
- // if (res.code == 200) {
|
|
|
- // this.leftList = res.data;
|
|
|
- // }
|
|
|
- // });
|
|
|
- this.getList();
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- onPartPayment() {
|
|
|
- // 部分缴费
|
|
|
- let selection = this.multipleSelection;
|
|
|
- if (selection.length <= 0) {
|
|
|
- this.$message.error("您还没有选择学生");
|
|
|
- return false;
|
|
|
- }
|
|
|
- let ids = [];
|
|
|
- selection.forEach((item) => {
|
|
|
- ids.push(item.studentRegistrationId);
|
|
|
- });
|
|
|
-
|
|
|
- this.$confirm(`是否确认开启缴费?`, "提示", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- openPayment({
|
|
|
- ids: ids.join(","),
|
|
|
- }).then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$message.success("开启成功");
|
|
|
- this.getList();
|
|
|
- } else {
|
|
|
- this.$message.error(res.msg);
|
|
|
- }
|
|
|
- });
|
|
|
- })
|
|
|
- .catch(() => {});
|
|
|
- },
|
|
|
handleSelectionChange(val) {
|
|
|
this.multipleSelection = val;
|
|
|
},
|
|
|
checkboxSelect(row) {
|
|
|
return row.paymentStatus == 0;
|
|
|
},
|
|
|
- isShowResSound() {
|
|
|
- /**
|
|
|
- * team_status == 'PAY' ||
|
|
|
- team_status == 'APPLY' ||
|
|
|
- team_status == 'PROGRESS'&&isCanReg ||
|
|
|
- team_status == 'PREPARE')
|
|
|
- */
|
|
|
- if (this.team_status == "PAY" || this.team_status == "APPLY") {
|
|
|
- return true;
|
|
|
- } else if (
|
|
|
- this.team_status == "PROGRESS" ||
|
|
|
- this.team_status == "PREPARE"
|
|
|
- ) {
|
|
|
- return this.isCanReg;
|
|
|
- } else {
|
|
|
- return false;
|
|
|
- }
|
|
|
- },
|
|
|
},
|
|
|
watch: {
|
|
|
quitVisible(val) {
|