|
@@ -1,331 +1,332 @@
|
|
|
<template>
|
|
|
<div class="sigup-container">
|
|
|
<div class="topWrap">
|
|
|
- <div style="display: flex; justify-content: space-between">
|
|
|
- <div
|
|
|
- style="display: flex; margin-bottom: 15px; font-size: 18px; font-weight: 400"
|
|
|
- >
|
|
|
- <p style="margin-right: 10px" v-if="applyExpireDate">
|
|
|
- 报名截止时间:{{ applyExpireDate | formatTimer }}
|
|
|
- </p>
|
|
|
- <p v-if="paymentExpireDate">
|
|
|
- 缴费截止时间:{{ paymentExpireDate | formatTimer }}
|
|
|
- </p>
|
|
|
+ <div>
|
|
|
+ <div style="display: flex; justify-content: space-between">
|
|
|
+ <div
|
|
|
+ style="display: flex; margin-bottom: 15px; font-size: 18px; font-weight: 400"
|
|
|
+ >
|
|
|
+ <p style="margin-right: 10px" v-if="applyExpireDate">
|
|
|
+ 报名截止时间:{{ applyExpireDate | formatTimer }}
|
|
|
+ </p>
|
|
|
+ <p v-if="paymentExpireDate">
|
|
|
+ 缴费截止时间:{{ paymentExpireDate | formatTimer }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
|
- <div class="btnList">
|
|
|
- <!-- <div class='newBand close'
|
|
|
+ <div class="btnList">
|
|
|
+ <!-- <div class='newBand close'
|
|
|
v-permission="'musicGroup/cancelMusicGroup'"
|
|
|
@click="onClose">停止乐团</div> v-show="status == 'APPLY'"-->
|
|
|
- <el-button
|
|
|
- class="newBand"
|
|
|
- type="primary"
|
|
|
- @click="payStart"
|
|
|
- v-permission="'musicGroup/openPay'"
|
|
|
- v-if="status == 'APPLY'"
|
|
|
- >
|
|
|
- 开始缴费
|
|
|
- </el-button>
|
|
|
- <!-- v-show="status=='PAY'" -->
|
|
|
- <el-button
|
|
|
- class="newBand"
|
|
|
- type="primary"
|
|
|
- v-permission="'musicGroup/found'"
|
|
|
- @click="onGoHome"
|
|
|
- v-if="status == 'APPLY' || status == 'PAY'"
|
|
|
- >
|
|
|
- 确认开团
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- class="newBand"
|
|
|
- type="primary"
|
|
|
- v-permission="'musicGroup/extensionApplyExpireDate'"
|
|
|
- @click="extendTime(false)"
|
|
|
- v-show="
|
|
|
- status == 'APPLY' ||
|
|
|
- status == 'PAY' ||
|
|
|
- status == 'PROGRESS' ||
|
|
|
- status == 'PREPARE'
|
|
|
- "
|
|
|
- >
|
|
|
- 延长报名
|
|
|
- </el-button>
|
|
|
-
|
|
|
- <el-button
|
|
|
- class="newBand"
|
|
|
- type="primary"
|
|
|
- v-permission="'musicGroup/extensionPayment'"
|
|
|
- @click="extendTime(true)"
|
|
|
- v-show="
|
|
|
- status == 'APPLY' ||
|
|
|
- status == 'PAY' ||
|
|
|
- status == 'PROGRESS' ||
|
|
|
- status == 'PREPARE'
|
|
|
- "
|
|
|
- >
|
|
|
- 延长缴费
|
|
|
- </el-button>
|
|
|
-
|
|
|
- <!-- 家长会 -->
|
|
|
- <auth
|
|
|
- :auths="['musicGroup/sendParentMeetingNotice']"
|
|
|
- v-if="status == 'PAY'"
|
|
|
- style="margin-top: 0; margin-right: 0"
|
|
|
- >
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
class="newBand"
|
|
|
- @click="meetingStatus = true"
|
|
|
- >家长会通知</el-button
|
|
|
+ @click="payStart"
|
|
|
+ v-permission="'musicGroup/openPay'"
|
|
|
+ v-if="status == 'APPLY'"
|
|
|
>
|
|
|
- </auth>
|
|
|
- <el-button
|
|
|
- class="newBand"
|
|
|
- type="primary"
|
|
|
- style="background-color: #f97215"
|
|
|
- @click="onCreateQRCode('payment')"
|
|
|
- v-show="
|
|
|
- (status == 'PAY' ||
|
|
|
+ 开始缴费
|
|
|
+ </el-button>
|
|
|
+ <!-- v-show="status=='PAY'" -->
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="newBand"
|
|
|
+ v-permission="'musicGroup/found'"
|
|
|
+ @click="onGoHome"
|
|
|
+ v-if="status == 'APPLY' || status == 'PAY'"
|
|
|
+ >
|
|
|
+ 确认开团
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="newBand"
|
|
|
+ v-permission="'musicGroup/extensionApplyExpireDate'"
|
|
|
+ @click="extendTime(false)"
|
|
|
+ v-show="
|
|
|
status == 'APPLY' ||
|
|
|
- status == 'PROGRESS' ||
|
|
|
- status == 'PREPARE') &&
|
|
|
- ischeckCanReg
|
|
|
- "
|
|
|
- >
|
|
|
- 报名链接
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- class="newBand"
|
|
|
- type="primary"
|
|
|
- style="background-color: #f97215"
|
|
|
- @click="onCreateQRCode('rePayment')"
|
|
|
- v-show="
|
|
|
- (status == 'PAY' ||
|
|
|
+ status == 'PAY' ||
|
|
|
+ status == 'PROGRESS' ||
|
|
|
+ status == 'PREPARE'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 延长报名
|
|
|
+ </el-button>
|
|
|
+
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="newBand"
|
|
|
+ v-permission="'musicGroup/extensionPayment'"
|
|
|
+ @click="extendTime(true)"
|
|
|
+ v-show="
|
|
|
status == 'APPLY' ||
|
|
|
- status == 'PROGRESS' ||
|
|
|
- status == 'PREPARE') &&
|
|
|
- ischeckCanReg
|
|
|
- "
|
|
|
- >
|
|
|
- 报名链接(无乐器)
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- class="newBand"
|
|
|
- @click="onCreateQRCode('detail')"
|
|
|
- >缴费详情</el-button
|
|
|
- >
|
|
|
- <auth
|
|
|
- :auths="'studentRegistration/queryPreApplyList/4263'"
|
|
|
- style="margin-top: 0; margin-right: 0"
|
|
|
- >
|
|
|
+ status == 'PAY' ||
|
|
|
+ status == 'PROGRESS' ||
|
|
|
+ status == 'PREPARE'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 延长缴费
|
|
|
+ </el-button>
|
|
|
+
|
|
|
+ <!-- 家长会 -->
|
|
|
+ <auth
|
|
|
+ :auths="['musicGroup/sendParentMeetingNotice']"
|
|
|
+ v-if="status == 'PAY'"
|
|
|
+ style="margin-top: 0; margin-right: 0"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="newBand"
|
|
|
+ @click="meetingStatus = true"
|
|
|
+ >家长会通知</el-button
|
|
|
+ >
|
|
|
+ </auth>
|
|
|
+ <el-button
|
|
|
+ type="danger"
|
|
|
+ class="newBand"
|
|
|
+ style="background-color: #f97215"
|
|
|
+ @click="onCreateQRCode('payment')"
|
|
|
+ v-show="
|
|
|
+ (status == 'PAY' ||
|
|
|
+ status == 'APPLY' ||
|
|
|
+ status == 'PROGRESS' ||
|
|
|
+ status == 'PREPARE') &&
|
|
|
+ ischeckCanReg
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 报名链接
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="danger"
|
|
|
+ class="newBand"
|
|
|
+ style="background-color: #f97215"
|
|
|
+ @click="onCreateQRCode('rePayment')"
|
|
|
+ v-show="
|
|
|
+ (status == 'PAY' ||
|
|
|
+ status == 'APPLY' ||
|
|
|
+ status == 'PROGRESS' ||
|
|
|
+ status == 'PREPARE') &&
|
|
|
+ ischeckCanReg
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 报名链接(无乐器)
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="newBand"
|
|
|
+ @click="onCreateQRCode('detail')"
|
|
|
+ >缴费详情</el-button
|
|
|
+ >
|
|
|
+ <auth
|
|
|
+ :auths="'studentRegistration/queryPreApplyList/4263'"
|
|
|
+ style="margin-top: 0; margin-right: 0"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="newBand"
|
|
|
+ @click="forecastVisible = true"
|
|
|
+ >
|
|
|
+ 预报名名单
|
|
|
+ </el-button>
|
|
|
+ </auth>
|
|
|
+ <!-- v-permission="getFullPermission('musicGroup/addMusicGroupRegs')" -->
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
class="newBand"
|
|
|
- @click="forecastVisible = true"
|
|
|
+ v-permission="'musicGroup/addMusicGroupRegs'"
|
|
|
+ @click="mergeVisible = true"
|
|
|
+ v-show="
|
|
|
+ (status == 'PAY' ||
|
|
|
+ status == 'APPLY' ||
|
|
|
+ status == 'PROGRESS' ||
|
|
|
+ status == 'PREPARE') &&
|
|
|
+ ischeckCanReg
|
|
|
+ "
|
|
|
>
|
|
|
- 预报名名单
|
|
|
+ 合并学员
|
|
|
</el-button>
|
|
|
- </auth>
|
|
|
- <!-- v-permission="getFullPermission('musicGroup/addMusicGroupRegs')" -->
|
|
|
- <el-button
|
|
|
- class="newBand"
|
|
|
- type="primary"
|
|
|
- v-permission="'musicGroup/addMusicGroupRegs'"
|
|
|
- @click="mergeVisible = true"
|
|
|
- v-show="
|
|
|
- (status == 'PAY' ||
|
|
|
- status == 'APPLY' ||
|
|
|
- status == 'PROGRESS' ||
|
|
|
- status == 'PREPARE') &&
|
|
|
- ischeckCanReg
|
|
|
- "
|
|
|
- >
|
|
|
- 合并学员
|
|
|
- </el-button>
|
|
|
|
|
|
- <el-button
|
|
|
- class="newBand"
|
|
|
- type="primary"
|
|
|
- v-permission="'studentRegistration/queryStudentApplyDetailExport'"
|
|
|
- @click="onDownLoadExecl"
|
|
|
- >
|
|
|
- 名单导出
|
|
|
- </el-button>
|
|
|
- <auth
|
|
|
- :auths="'studentRegistration/getRegisterOrPreList'"
|
|
|
- style="margin-top: 0; margin-right: 0"
|
|
|
- >
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
class="newBand"
|
|
|
- @click="newForecastVisible = true"
|
|
|
+ v-permission="'studentRegistration/queryStudentApplyDetailExport'"
|
|
|
+ @click="onDownLoadExecl"
|
|
|
>
|
|
|
- 时间数据统计
|
|
|
+ 名单导出
|
|
|
</el-button>
|
|
|
- </auth>
|
|
|
- <auth
|
|
|
- :auths="'subject/findSubApplyDetail'"
|
|
|
- style="margin-top: 0; margin-right: 0"
|
|
|
- >
|
|
|
- <el-popover placement="bottom" width="1000" trigger="click">
|
|
|
- <el-table
|
|
|
- style="width: 100% !important"
|
|
|
- :data="leftList"
|
|
|
- :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
|
+ <auth
|
|
|
+ :auths="'studentRegistration/getRegisterOrPreList'"
|
|
|
+ style="margin-top: 0; margin-right: 0"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="newBand"
|
|
|
+ @click="newForecastVisible = true"
|
|
|
>
|
|
|
- <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">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <el-button type="text" @click="getpayNum(scope.row)">{{
|
|
|
- scope.row.payNum
|
|
|
- }}</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="缴费中" prop="payingNum" align="center">
|
|
|
- <template slot="header">
|
|
|
- <p>
|
|
|
- 缴费中
|
|
|
- <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
- <div slot="content">提交订单尚未支付成功学员</div>
|
|
|
- <i
|
|
|
- class="el-icon-question"
|
|
|
- style="font-size: 18px; color: #f56c6c"
|
|
|
- ></i>
|
|
|
- </el-tooltip>
|
|
|
- </p>
|
|
|
- </template>
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <el-button type="text" @click="getpayingNum(scope.row)">{{
|
|
|
- scope.row.payingNum
|
|
|
- }}</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="审核中" prop="checkNum" align="center">
|
|
|
- <template slot="header">
|
|
|
- <p>
|
|
|
- 审核中
|
|
|
- <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
- <div slot="content">
|
|
|
- 不购买云教练系统学员数量,不包含已缴费学员
|
|
|
- </div>
|
|
|
- <i
|
|
|
- class="el-icon-question"
|
|
|
- style="font-size: 18px; color: #f56c6c"
|
|
|
- ></i>
|
|
|
- </el-tooltip>
|
|
|
- </p>
|
|
|
- </template>
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <el-button type="text" @click="getCheckNum(scope.row)">{{
|
|
|
- scope.row.checkNum
|
|
|
- }}</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="购买云教练人数"
|
|
|
- prop="buyCloudTeacherNum"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- <template slot="header">
|
|
|
- <p>
|
|
|
- 购买云教练人数
|
|
|
- <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
- <div slot="content">
|
|
|
- 已缴费学员中购买了云教练系统的学员总数
|
|
|
- </div>
|
|
|
- <i
|
|
|
- class="el-icon-question"
|
|
|
- style="font-size: 18px; color: #f56c6c"
|
|
|
- ></i>
|
|
|
- </el-tooltip>
|
|
|
- </p>
|
|
|
- </template>
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <el-button
|
|
|
- type="text"
|
|
|
- @click="getCheckNum(scope.row, 'buyCloud')"
|
|
|
- >{{ scope.row.buyCloudTeacherNum }}</el-button
|
|
|
- >
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="入团未购云教练"
|
|
|
- prop="noCloudTeacherStudentNumOfNormal"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- <template slot="header">
|
|
|
- <p>
|
|
|
- 入团未购云教练
|
|
|
- <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
- <div slot="content">
|
|
|
- 【在读】学员中,未购买【云教练系统】学员数量
|
|
|
- </div>
|
|
|
- <i
|
|
|
- class="el-icon-question"
|
|
|
- style="font-size: 18px; color: #f56c6c"
|
|
|
- ></i>
|
|
|
- </el-tooltip>
|
|
|
- </p>
|
|
|
- </template>
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <el-button
|
|
|
- type="text"
|
|
|
- @click="getCheckNum(scope.row, 'noCloud')"
|
|
|
- >{{
|
|
|
- scope.row.noCloudTeacherStudentNumOfNormal
|
|
|
- }}</el-button
|
|
|
- >
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="收费金额"
|
|
|
- prop="totalAmount"
|
|
|
- align="center"
|
|
|
+ 时间数据统计
|
|
|
+ </el-button>
|
|
|
+ </auth>
|
|
|
+ <auth
|
|
|
+ :auths="'subject/findSubApplyDetail'"
|
|
|
+ style="margin-top: 0; margin-right: 0"
|
|
|
+ >
|
|
|
+ <el-popover placement="bottom" width="1000" trigger="click">
|
|
|
+ <el-table
|
|
|
+ style="width: 100% !important"
|
|
|
+ :data="leftList"
|
|
|
+ :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
|
>
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>{{ scope.row.totalAmount | moneyFormat }}元</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <!-- <el-table-column label="购买乐器未入团人数" prop="cloudTeacherStudentNumOfApply" align="center">
|
|
|
+ <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">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <el-button type="text" @click="getpayNum(scope.row)">{{
|
|
|
+ scope.row.payNum
|
|
|
+ }}</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="缴费中" prop="payingNum" align="center">
|
|
|
+ <template slot="header">
|
|
|
+ <p>
|
|
|
+ 缴费中
|
|
|
+ <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
+ <div slot="content">提交订单尚未支付成功学员</div>
|
|
|
+ <i
|
|
|
+ class="el-icon-question"
|
|
|
+ style="font-size: 18px; color: #f56c6c"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </p>
|
|
|
+ </template>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <el-button type="text" @click="getpayingNum(scope.row)">{{
|
|
|
+ scope.row.payingNum
|
|
|
+ }}</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="审核中" prop="checkNum" align="center">
|
|
|
+ <template slot="header">
|
|
|
+ <p>
|
|
|
+ 审核中
|
|
|
+ <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
+ <div slot="content">
|
|
|
+ 不购买云教练系统学员数量,不包含已缴费学员
|
|
|
+ </div>
|
|
|
+ <i
|
|
|
+ class="el-icon-question"
|
|
|
+ style="font-size: 18px; color: #f56c6c"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </p>
|
|
|
+ </template>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <el-button type="text" @click="getCheckNum(scope.row)">{{
|
|
|
+ scope.row.checkNum
|
|
|
+ }}</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="购买云教练人数"
|
|
|
+ prop="buyCloudTeacherNum"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template slot="header">
|
|
|
+ <p>
|
|
|
+ 购买云教练人数
|
|
|
+ <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
+ <div slot="content">
|
|
|
+ 已缴费学员中购买了云教练系统的学员总数
|
|
|
+ </div>
|
|
|
+ <i
|
|
|
+ class="el-icon-question"
|
|
|
+ style="font-size: 18px; color: #f56c6c"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </p>
|
|
|
+ </template>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ @click="getCheckNum(scope.row, 'buyCloud')"
|
|
|
+ >{{ scope.row.buyCloudTeacherNum }}</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="入团未购云教练"
|
|
|
+ prop="noCloudTeacherStudentNumOfNormal"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template slot="header">
|
|
|
+ <p>
|
|
|
+ 入团未购云教练
|
|
|
+ <el-tooltip placement="top" popper-class="mTooltip">
|
|
|
+ <div slot="content">
|
|
|
+ 【在读】学员中,未购买【云教练系统】学员数量
|
|
|
+ </div>
|
|
|
+ <i
|
|
|
+ class="el-icon-question"
|
|
|
+ style="font-size: 18px; color: #f56c6c"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </p>
|
|
|
+ </template>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ @click="getCheckNum(scope.row, 'noCloud')"
|
|
|
+ >{{
|
|
|
+ scope.row.noCloudTeacherStudentNumOfNormal
|
|
|
+ }}</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="收费金额"
|
|
|
+ prop="totalAmount"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>{{ scope.row.totalAmount | moneyFormat }}元</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <!-- <el-table-column label="购买乐器未入团人数" prop="cloudTeacherStudentNumOfApply" align="center">
|
|
|
<template slot="header">
|
|
|
<p>
|
|
|
购买乐器未入团人数
|
|
@@ -348,66 +349,70 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column> -->
|
|
|
- </el-table>
|
|
|
- <div
|
|
|
- class="leftbtnWrap"
|
|
|
- v-permission="'musicGroup/updateExpectedStudentNum'"
|
|
|
- style="margin-right: 20px; margin-top: 20px"
|
|
|
- >
|
|
|
- <p style="color: red">
|
|
|
- 收费总额:{{ allSubjectTotal | moneyFormat }}元
|
|
|
- </p>
|
|
|
- <el-button
|
|
|
- v-show="
|
|
|
- !isEdit &&
|
|
|
- (status == 'PAY' ||
|
|
|
- status == 'APPLY' ||
|
|
|
- status == 'PROGRESS' ||
|
|
|
- status == 'PREPARE')
|
|
|
- "
|
|
|
- @click="isEdit = true"
|
|
|
- >编辑</el-button
|
|
|
+ </el-table>
|
|
|
+ <div
|
|
|
+ class="leftbtnWrap"
|
|
|
+ v-permission="'musicGroup/updateExpectedStudentNum'"
|
|
|
+ style="margin-right: 20px; margin-top: 20px"
|
|
|
>
|
|
|
- <el-button v-show="isEdit" @click="saveIsEdit">保存</el-button>
|
|
|
- </div>
|
|
|
- <div class="newBand" slot="reference">人数统计</div>
|
|
|
- </el-popover>
|
|
|
- </auth>
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- class="newBand"
|
|
|
- style="margin-top: 0"
|
|
|
- v-show="
|
|
|
- (status == 'PAY' ||
|
|
|
- status == 'APPLY' ||
|
|
|
- status == 'PROGRESS' ||
|
|
|
- status == 'PREPARE') &&
|
|
|
- ischeckCanReg
|
|
|
- "
|
|
|
- @click="downloadTemplateReportOut"
|
|
|
- >
|
|
|
- 下载回访模板
|
|
|
- </el-button>
|
|
|
- <el-upload
|
|
|
- v-if="
|
|
|
- (status == 'PAY' ||
|
|
|
- status == 'APPLY' ||
|
|
|
- status == 'PROGRESS' ||
|
|
|
- status == 'PREPARE') &&
|
|
|
- ischeckCanReg
|
|
|
- "
|
|
|
- v-permission="'import/studentToMusicGroup'"
|
|
|
- style="margin-top: 0; margin-right: 0"
|
|
|
- :action="`/api-web/import/importMusicVisit`"
|
|
|
- :show-file-list="false"
|
|
|
- :before-upload="beforeUpload"
|
|
|
- accept=".xlsx,.xls"
|
|
|
- :headers="headers"
|
|
|
- :on-error="handleError"
|
|
|
- :on-success="handleSuccessReport"
|
|
|
- >
|
|
|
- <el-button type="primary" class="newBand">导入回访</el-button>
|
|
|
- </el-upload>
|
|
|
+ <p style="color: red">
|
|
|
+ 收费总额:{{ allSubjectTotal | moneyFormat }}元
|
|
|
+ </p>
|
|
|
+ <el-button
|
|
|
+ v-show="
|
|
|
+ !isEdit &&
|
|
|
+ (status == 'PAY' ||
|
|
|
+ status == 'APPLY' ||
|
|
|
+ status == 'PROGRESS' ||
|
|
|
+ status == 'PREPARE')
|
|
|
+ "
|
|
|
+ @click="isEdit = true"
|
|
|
+ >编辑</el-button
|
|
|
+ >
|
|
|
+ <el-button v-show="isEdit" @click="saveIsEdit">保存</el-button>
|
|
|
+ </div>
|
|
|
+ <el-button type="primary" class="newBand" slot="reference"
|
|
|
+ >人数统计</el-button
|
|
|
+ >
|
|
|
+ </el-popover>
|
|
|
+ </auth>
|
|
|
+
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="newBand"
|
|
|
+ style="margin-top: 0"
|
|
|
+ v-show="
|
|
|
+ (status == 'PAY' ||
|
|
|
+ status == 'APPLY' ||
|
|
|
+ status == 'PROGRESS' ||
|
|
|
+ status == 'PREPARE') &&
|
|
|
+ ischeckCanReg
|
|
|
+ "
|
|
|
+ @click="downloadTemplateReportOut"
|
|
|
+ >
|
|
|
+ 下载回访模板
|
|
|
+ </el-button>
|
|
|
+ <el-upload
|
|
|
+ v-if="
|
|
|
+ (status == 'PAY' ||
|
|
|
+ status == 'APPLY' ||
|
|
|
+ status == 'PROGRESS' ||
|
|
|
+ status == 'PREPARE') &&
|
|
|
+ ischeckCanReg
|
|
|
+ "
|
|
|
+ v-permission="'import/studentToMusicGroup'"
|
|
|
+ style="margin-top: 0; margin-right: 0"
|
|
|
+ :action="`/api-web/import/importMusicVisit`"
|
|
|
+ :show-file-list="false"
|
|
|
+ :before-upload="beforeUpload"
|
|
|
+ accept=".xlsx,.xls"
|
|
|
+ :headers="headers"
|
|
|
+ :on-error="handleError"
|
|
|
+ :on-success="handleSuccessReport"
|
|
|
+ >
|
|
|
+ <el-button type="primary" class="newBand">导入回访</el-button>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<el-dialog
|
|
|
title="选择合并乐团"
|
|
@@ -581,7 +586,7 @@
|
|
|
type="primary"
|
|
|
@click="onDownload"
|
|
|
v-permission="'import/downloadTemplate4907'"
|
|
|
- >下载模板</el-button
|
|
|
+ >下载学员模板</el-button
|
|
|
>
|
|
|
<el-upload
|
|
|
v-permission="'import/studentToMusicGroup'"
|
|
@@ -1441,9 +1446,9 @@ export default {
|
|
|
this.pickerOptions = this.beginDate(new Date());
|
|
|
// checkCanReg
|
|
|
try {
|
|
|
- this.ischeckCanReg = await (
|
|
|
- await checkCanReg({ musicGroupId: this.id })
|
|
|
- ).data;
|
|
|
+ this.ischeckCanReg = await (await checkCanReg({
|
|
|
+ musicGroupId: this.id
|
|
|
+ })).data;
|
|
|
} catch (e) {
|
|
|
console.log(e);
|
|
|
}
|
|
@@ -1479,6 +1484,10 @@ export default {
|
|
|
// 通过乐团id获取乐团学生列表
|
|
|
this.getList();
|
|
|
},
|
|
|
+ downloadTemplateReportOut() {
|
|
|
+ window.location.href =
|
|
|
+ "https://daya-docs.ks3-cn-beijing.ksyuncs.com/%E4%B9%90%E5%9B%A2%E5%AD%A6%E5%91%98%E5%9B%9E%E8%AE%BF%E6%A8%A1%E6%9D%BF.xlsx";
|
|
|
+ },
|
|
|
onDownload() {
|
|
|
// 下载模板
|
|
|
// // 报表导出
|
|
@@ -2436,10 +2445,12 @@ export default {
|
|
|
.courseYellow {
|
|
|
color: #ff802c;
|
|
|
}
|
|
|
+
|
|
|
.hiddenwrap {
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
align-items: center;
|
|
|
+
|
|
|
p {
|
|
|
font-size: 14px;
|
|
|
color: #606266;
|
|
@@ -2449,29 +2460,36 @@ export default {
|
|
|
font-weight: 700;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.auth {
|
|
|
display: inline-block;
|
|
|
+
|
|
|
& + .auth {
|
|
|
margin-left: 0px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.dialog-footer.question {
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
justify-content: space-between;
|
|
|
}
|
|
|
+
|
|
|
.sigup-container {
|
|
|
margin-left: 12px;
|
|
|
+
|
|
|
.topWrap {
|
|
|
padding: 18px 58px 18px 0;
|
|
|
// height: 136px;
|
|
|
background-color: #fff;
|
|
|
+
|
|
|
// display: flex;
|
|
|
// flex-direction: row;
|
|
|
// justify-content: space-between;
|
|
|
.msg.pay {
|
|
|
color: #f85043;
|
|
|
}
|
|
|
+
|
|
|
.msg {
|
|
|
text-align: right;
|
|
|
color: #f97215;
|
|
@@ -2479,6 +2497,7 @@ export default {
|
|
|
font-weight: bold;
|
|
|
padding-top: 30px;
|
|
|
box-sizing: border-box;
|
|
|
+
|
|
|
img {
|
|
|
width: 36px;
|
|
|
height: 36px;
|
|
@@ -2487,6 +2506,7 @@ export default {
|
|
|
margin-right: 8px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
h2 {
|
|
|
height: 48px;
|
|
|
line-height: 48px;
|
|
@@ -2499,6 +2519,7 @@ export default {
|
|
|
flex-direction: row;
|
|
|
justify-content: flex-start;
|
|
|
align-items: center;
|
|
|
+
|
|
|
.term {
|
|
|
height: 32px;
|
|
|
line-height: 32px;
|
|
@@ -2509,14 +2530,17 @@ export default {
|
|
|
font-size: 14px;
|
|
|
text-align: center;
|
|
|
margin-right: 12px;
|
|
|
+
|
|
|
&:nth-child(1) {
|
|
|
margin-left: 47px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.term.active {
|
|
|
color: #fff;
|
|
|
background-color: var(--color-primary);
|
|
|
}
|
|
|
+
|
|
|
.squrt {
|
|
|
position: absolute;
|
|
|
left: -25px;
|
|
@@ -2526,37 +2550,44 @@ export default {
|
|
|
background-color: var(--color-primary);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.btnList {
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
justify-content: flex-start;
|
|
|
align-items: center;
|
|
|
flex-wrap: wrap;
|
|
|
+
|
|
|
& > div {
|
|
|
margin-right: 15px;
|
|
|
margin-top: 10px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.newBand.close {
|
|
|
background-color: #777;
|
|
|
border: 1px solid #777;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.searchList {
|
|
|
background-color: #fff;
|
|
|
padding: 0 58p 0 0px;
|
|
|
}
|
|
|
+
|
|
|
.sigup-core {
|
|
|
margin-top: 12px;
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
justify-content: flex-start;
|
|
|
+
|
|
|
.left {
|
|
|
width: 400px;
|
|
|
background-color: #fff;
|
|
|
height: 80vh;
|
|
|
overflow: auto;
|
|
|
}
|
|
|
+
|
|
|
.right {
|
|
|
width: calc(100% - 400px);
|
|
|
margin-left: 12px;
|
|
@@ -2564,9 +2595,11 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.el-dialog__body {
|
|
|
overflow: hidden;
|
|
|
}
|
|
|
+
|
|
|
.left-code,
|
|
|
.right-code {
|
|
|
// width: 50%;
|
|
@@ -2581,21 +2614,26 @@ export default {
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
align-items: center;
|
|
|
+
|
|
|
img {
|
|
|
width: 200px;
|
|
|
height: 200px;
|
|
|
margin: 0 auto;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.code-url {
|
|
|
font-size: 18px;
|
|
|
text-align: center;
|
|
|
padding: 15px 15px 0 15px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.newBand {
|
|
|
- margin-bottom: 0;
|
|
|
+ margin-bottom: 10px;
|
|
|
max-width: inherit;
|
|
|
+ margin-left: 0;
|
|
|
+ margin-right: 10px;
|
|
|
}
|
|
|
|
|
|
.paymentForm {
|
|
@@ -2604,17 +2642,21 @@ export default {
|
|
|
width: 360px !important;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.popoverWrap {
|
|
|
p {
|
|
|
line-height: 25px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
::v-deep .description-title {
|
|
|
margin-bottom: 0;
|
|
|
}
|
|
|
+
|
|
|
::v-deep .description-label {
|
|
|
white-space: normal !important;
|
|
|
}
|
|
|
+
|
|
|
.left {
|
|
|
text-align: left;
|
|
|
}
|