|  | @@ -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) {
 |