|
@@ -123,6 +123,15 @@
|
|
|
>
|
|
|
名单导出
|
|
|
</div>
|
|
|
+ <auth :auths="'studentRegistration/getRegisterOrPreList'">
|
|
|
+ <div
|
|
|
+ class="newBand"
|
|
|
+ style="margin-right: 0"
|
|
|
+ @click="newForecastVisible = true"
|
|
|
+ >
|
|
|
+ 时间数据统计
|
|
|
+ </div>
|
|
|
+ </auth>
|
|
|
</div>
|
|
|
</div>
|
|
|
<el-dialog
|
|
@@ -138,7 +147,16 @@
|
|
|
@submited="getList"
|
|
|
/>
|
|
|
</el-dialog>
|
|
|
-
|
|
|
+ <el-dialog
|
|
|
+ title="时间数据统计"
|
|
|
+ :visible.sync="newForecastVisible"
|
|
|
+ width="1100px"
|
|
|
+ >
|
|
|
+ <newForecastList
|
|
|
+ v-if="newForecastVisible"
|
|
|
+ @close="newForecastVisible = false"
|
|
|
+ />
|
|
|
+ </el-dialog>
|
|
|
<el-dialog
|
|
|
title="预报名名单"
|
|
|
:visible.sync="forecastVisible"
|
|
@@ -241,17 +259,17 @@
|
|
|
<el-option label="否" :value="0"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <!-- <el-form-item>
|
|
|
+ <el-form-item>
|
|
|
<el-select
|
|
|
- v-model.trim="searchFrom.payingStatus"
|
|
|
+ v-model.trim="searchFrom.noneNeedCloudTeacher"
|
|
|
clearable
|
|
|
filterable
|
|
|
- placeholder="交易状态"
|
|
|
+ placeholder="是否解除限制"
|
|
|
>
|
|
|
- <el-option label="审核中" :value="2"></el-option>
|
|
|
- <el-option label="缴费中" :value="1"></el-option>
|
|
|
+ <el-option label="是" :value="1"></el-option>
|
|
|
+ <el-option label="否" :value="0"></el-option>
|
|
|
</el-select>
|
|
|
- </el-form-item> -->
|
|
|
+ </el-form-item>
|
|
|
<!-- 专业actualSubjectId 调剂isAllowAdjust 手机号name -->
|
|
|
<el-form-item>
|
|
|
<el-button type="danger" native-type="search">搜索</el-button>
|
|
@@ -290,7 +308,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="缴费中" prop="payingNum" align="center">
|
|
|
<template slot="header">
|
|
|
- <p style="position: relative;display: flex;">
|
|
|
+ <p style="position: relative; display: flex">
|
|
|
缴费中
|
|
|
<el-tooltip placement="top" popper-class="mTooltip">
|
|
|
<div slot="content">提交订单尚未支付成功学员</div>
|
|
@@ -304,10 +322,12 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="预约中" prop="checkNum" align="center">
|
|
|
<template slot="header">
|
|
|
- <p style="position: relative;display: flex;">
|
|
|
+ <p style="position: relative; display: flex">
|
|
|
预约中
|
|
|
<el-tooltip placement="top" popper-class="mTooltip">
|
|
|
- <div slot="content">不购买云教练系统学员数量,不包含不购买云教练系统且支付成功学员</div>
|
|
|
+ <div slot="content">
|
|
|
+ 不购买云教练系统学员数量,不包含不购买云教练系统且支付成功学员
|
|
|
+ </div>
|
|
|
<i
|
|
|
class="el-icon-question"
|
|
|
style="font-size: 18px; color: #f56c6c"
|
|
@@ -421,7 +441,31 @@
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- {{ scope.row.hasCloudTeacher == 1 ? '是' : '否' }}
|
|
|
+ {{ scope.row.hasCloudTeacher == 1 ? "是" : "否" }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="解除限制"
|
|
|
+ fixed="right"
|
|
|
+ prop="noneNeedCloudTeacher"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template slot="header">
|
|
|
+ <p style="position: relative; display: flex">
|
|
|
+ 解除限制
|
|
|
+ <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>
|
|
|
+ {{ scope.row.noneNeedCloudTeacher == 1 ? "是" : "否" }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -505,6 +549,15 @@
|
|
|
>更改声部</el-button
|
|
|
>
|
|
|
</auth>
|
|
|
+ <!-- -->
|
|
|
+ <auth
|
|
|
+ v-show="scope.row.payingStatus == 2"
|
|
|
+ :auths="'studentRegistration/setNoneCloudTeacher'"
|
|
|
+ >
|
|
|
+ <el-button type="text" @click="relieve(scope.row)"
|
|
|
+ >解除预约限制</el-button
|
|
|
+ >
|
|
|
+ </auth>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -715,7 +768,12 @@
|
|
|
width="640px"
|
|
|
:visible.sync="quitVisible"
|
|
|
>
|
|
|
- <el-form :model="quitForm" ref="quitForm" label-width="150px" :rules="quitRules">
|
|
|
+ <el-form
|
|
|
+ :model="quitForm"
|
|
|
+ ref="quitForm"
|
|
|
+ label-width="150px"
|
|
|
+ :rules="quitRules"
|
|
|
+ >
|
|
|
<el-form-item
|
|
|
label="退还云教练费用"
|
|
|
prop="isCloudTeacherAmount"
|
|
@@ -875,8 +933,11 @@ import {
|
|
|
getMusicGroupGradeList,
|
|
|
checkCanReg,
|
|
|
} from "@/api/buildTeam";
|
|
|
+
|
|
|
+import { setNoneCloudTeacher } from "./api";
|
|
|
import mergeMusic from "./components/merge-music";
|
|
|
import forecastList from "./components/forecast-list";
|
|
|
+import newForecastList from "./components/newForecast-list";
|
|
|
import { resetStudentSubject, getStudentFeeDetail } from "@/api/studentManager";
|
|
|
import { vaildStudentUrl, vaildTeacherUrl } from "@/utils/validate";
|
|
|
import { addVisit } from "@/views/returnVisitManager/api.js";
|
|
@@ -899,11 +960,13 @@ export default {
|
|
|
mergeMusic,
|
|
|
forecastList,
|
|
|
visit,
|
|
|
+ newForecastList,
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
multipleSelection: [], //
|
|
|
forecastVisible: false, // 预报名状态
|
|
|
+ newForecastVisible: false,
|
|
|
isEdit: false,
|
|
|
rowDetail: null,
|
|
|
mergeVisible: false,
|
|
@@ -922,6 +985,7 @@ export default {
|
|
|
visited: "",
|
|
|
hasCloudTeacher: null, // 是否购买云教练
|
|
|
payingStatus: null,
|
|
|
+ noneNeedCloudTeacher: null,
|
|
|
},
|
|
|
quitForm: {
|
|
|
// 退团信息确认
|
|
@@ -997,8 +1061,12 @@ export default {
|
|
|
},
|
|
|
quitRules: {
|
|
|
isCloudTeacherAmount: [{ required: true, message: "请输入云教练费用" }],
|
|
|
- cloudTeacherAmount: [{ required: true, message: "请输入云教练金额", trigger: 'blur' }],
|
|
|
- isRefundCourseFee: [{ required: true, message: "请选择是否退还课程费用" }],
|
|
|
+ cloudTeacherAmount: [
|
|
|
+ { required: true, message: "请输入云教练金额", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ isRefundCourseFee: [
|
|
|
+ { required: true, message: "请选择是否退还课程费用" },
|
|
|
+ ],
|
|
|
isRefundInstrumentFee: [
|
|
|
{ required: true, message: "选择是否退还乐器费用" },
|
|
|
],
|
|
@@ -1113,6 +1181,7 @@ export default {
|
|
|
visited: null,
|
|
|
hasCloudTeacher: null,
|
|
|
payingStatus: null,
|
|
|
+ noneNeedCloudTeacher: null,
|
|
|
};
|
|
|
this.getList();
|
|
|
},
|
|
@@ -1140,6 +1209,7 @@ export default {
|
|
|
visited: this.searchFrom.visited || null,
|
|
|
hasCloudTeacher: this.searchFrom.hasCloudTeacher,
|
|
|
payingStatus: this.searchFrom.payingStatus,
|
|
|
+ noneNeedCloudTeacher: this.searchFrom.noneNeedCloudTeacher,
|
|
|
page: this.rules.page,
|
|
|
rows: this.rules.limit,
|
|
|
};
|
|
@@ -1524,7 +1594,7 @@ export default {
|
|
|
quitTeam(row) {
|
|
|
this.activeRow = row;
|
|
|
this.quitVisible = true;
|
|
|
- this.quitForm.cloudTeacherAmount = row.cloudTeacherAmount
|
|
|
+ this.quitForm.cloudTeacherAmount = row.cloudTeacherAmount;
|
|
|
},
|
|
|
quieTeams(row) {
|
|
|
this.$prompt("请输入退团原因", "提示", {
|
|
@@ -1580,15 +1650,15 @@ export default {
|
|
|
reason: this.quitForm.reason,
|
|
|
isRefundCourseFee: this.quitForm.isRefundCourseFee,
|
|
|
isRefundInstrumentFee: this.quitForm.isRefundInstrumentFee,
|
|
|
- isRefundTeachingAssistantsFee: this.quitForm
|
|
|
- .isRefundTeachingAssistantsFee,
|
|
|
+ isRefundTeachingAssistantsFee:
|
|
|
+ this.quitForm.isRefundTeachingAssistantsFee,
|
|
|
maintenanceFee: this.quitForm.maintenanceFee,
|
|
|
- }
|
|
|
+ };
|
|
|
// 退还乐器练习云教练费用
|
|
|
- if(this.quitForm.isCloudTeacherAmount) {
|
|
|
- params.cloudTeacherAmount = this.quitForm.cloudTeacherAmount
|
|
|
+ if (this.quitForm.isCloudTeacherAmount) {
|
|
|
+ params.cloudTeacherAmount = this.quitForm.cloudTeacherAmount;
|
|
|
} else {
|
|
|
- params.cloudTeacherAmount = 0
|
|
|
+ params.cloudTeacherAmount = 0;
|
|
|
}
|
|
|
// 发请求 退团
|
|
|
StudentQuit(params).then((res) => {
|
|
@@ -1701,6 +1771,21 @@ export default {
|
|
|
checkboxSelect(row) {
|
|
|
return row.paymentStatus == 0;
|
|
|
},
|
|
|
+ relieve(row) {
|
|
|
+ this.$confirm("操作后该学员即可不购买云教练缴费入团", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ }).then(async () => {
|
|
|
+ try {
|
|
|
+ const res = await setNoneCloudTeacher({ id: row.id });
|
|
|
+ this.$message.success("解除预约成功");
|
|
|
+ this.getList();
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
watch: {
|
|
|
"quitForm.isMaintenanceFee"(val) {
|