|  | @@ -0,0 +1,458 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <div class="forecastName">
 | 
	
		
			
				|  |  | +    <!-- <h2> m-container
 | 
	
		
			
				|  |  | +          <el-page-header @back="onCancel" :content="teamName"></el-page-header>
 | 
	
		
			
				|  |  | +        </h2> -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- <p style="margin-bottom: 15px; font-size: 18px; font-weight: 400">
 | 
	
		
			
				|  |  | +          缴费截止时间:{{ '2020-12-12' | formatTimer }}
 | 
	
		
			
				|  |  | +        </p> -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <div class="btnList">
 | 
	
		
			
				|  |  | +      <!-- <el-button type="primary" @click="codedetailStatus = true" v-if="isedit"
 | 
	
		
			
				|  |  | +        >预报名详情</el-button
 | 
	
		
			
				|  |  | +      > -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <auth :auths="['musicGroup/sendParentMeetingNotice']" v-if="isedit">
 | 
	
		
			
				|  |  | +        <el-button type="primary" @click="extendPaymentStatus = true"
 | 
	
		
			
				|  |  | +          >启蒙课家长会通知</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +      </auth>
 | 
	
		
			
				|  |  | +      <auth :auths="['forecastName/forecastLink']" v-if="isedit">
 | 
	
		
			
				|  |  | +        <el-button type="primary" @click="codeStatus = true"
 | 
	
		
			
				|  |  | +          >启蒙课问卷</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +      </auth>
 | 
	
		
			
				|  |  | +      <auth :auths="['studentRegistration/preRegisterExport']">
 | 
	
		
			
				|  |  | +        <el-button type="primary" @click="downloadFile"
 | 
	
		
			
				|  |  | +          >启蒙课问卷导出</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +      </auth>
 | 
	
		
			
				|  |  | +      <auth :auths="['studentRegistration/queryPreApplySubjectList']">
 | 
	
		
			
				|  |  | +        <el-button type="primary" @click="subjectVisible = true"
 | 
	
		
			
				|  |  | +          >启蒙课问卷统计</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +      </auth>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <div class="m-core">
 | 
	
		
			
				|  |  | +      <save-form
 | 
	
		
			
				|  |  | +        :inline="true"
 | 
	
		
			
				|  |  | +        @reset="onReSet"
 | 
	
		
			
				|  |  | +        @submit="search"
 | 
	
		
			
				|  |  | +        :model="searchForm"
 | 
	
		
			
				|  |  | +        ref="searchForm"
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  | +        <el-form-item prop="name">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            v-model.trim="searchForm.name"
 | 
	
		
			
				|  |  | +            clearable
 | 
	
		
			
				|  |  | +            @keyup.enter.native="search"
 | 
	
		
			
				|  |  | +            placeholder="学生编号/姓名/手机号"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item prop="currentGrade">
 | 
	
		
			
				|  |  | +          <!-- <el-input
 | 
	
		
			
				|  |  | +          v-model.trim="searchForm.currentGrade"
 | 
	
		
			
				|  |  | +          clearable
 | 
	
		
			
				|  |  | +          placeholder="学员年级"
 | 
	
		
			
				|  |  | +        ></el-input> -->
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model.trim="searchForm.currentGrade"
 | 
	
		
			
				|  |  | +            filterable
 | 
	
		
			
				|  |  | +            clearable
 | 
	
		
			
				|  |  | +            placeholder="请选择年级"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              v-for="(item, index) in gradeList"
 | 
	
		
			
				|  |  | +              :key="index"
 | 
	
		
			
				|  |  | +              :label="item.label"
 | 
	
		
			
				|  |  | +              :value="item.label"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item prop="teacherRecommandSubjectId">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            clearable
 | 
	
		
			
				|  |  | +            v-model="searchForm.teacherRecommandSubjectId"
 | 
	
		
			
				|  |  | +            placeholder="老师推荐声部"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              v-for="item in selects.subjects"
 | 
	
		
			
				|  |  | +              :value="item.id"
 | 
	
		
			
				|  |  | +              :label="item.name"
 | 
	
		
			
				|  |  | +              :key="item.id"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item>
 | 
	
		
			
				|  |  | +          <el-button type="danger" native-type="seach">搜索</el-button>
 | 
	
		
			
				|  |  | +          <el-button native-type="reset" type="primary">重置</el-button>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +      </save-form>
 | 
	
		
			
				|  |  | +      <div class="tableWrap">
 | 
	
		
			
				|  |  | +        <el-table
 | 
	
		
			
				|  |  | +          style="width: 100%"
 | 
	
		
			
				|  |  | +          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
 | 
	
		
			
				|  |  | +          :data="tableList"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +          <el-table-column align="center" prop="userId" label="学员编号">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <copy-text>{{ scope.row.userId }}</copy-text>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            prop="userName"
 | 
	
		
			
				|  |  | +            label="学员姓名"
 | 
	
		
			
				|  |  | +          ></el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column align="center" prop="gender" label="性别">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              {{ scope.row.gender ? "男" : "女" }}
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column align="center" prop="phone" label="联系电话">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <copy-text>{{ scope.row.phone }}</copy-text>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column align="center" label="年级班级">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              {{ scope.row.currentGrade }}{{ scope.row.currentClass }}
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            prop="teacherRecommandSubjectId"
 | 
	
		
			
				|  |  | +            label="老师推荐声部"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              {{
 | 
	
		
			
				|  |  | +                scope.row.teacherRecommandSubjectId
 | 
	
		
			
				|  |  | +                  ? scope.row.teacherRecommandSubjectName
 | 
	
		
			
				|  |  | +                  : null
 | 
	
		
			
				|  |  | +              }}
 | 
	
		
			
				|  |  | +              {{
 | 
	
		
			
				|  |  | +                !scope.row.teacherRecommandSubjectName &&
 | 
	
		
			
				|  |  | +                scope.row.teacherRecommandSubjectId == 999
 | 
	
		
			
				|  |  | +                  ? "听从老师安排"
 | 
	
		
			
				|  |  | +                  : null
 | 
	
		
			
				|  |  | +              }}
 | 
	
		
			
				|  |  | +              {{
 | 
	
		
			
				|  |  | +                !scope.row.teacherRecommandSubjectId &&
 | 
	
		
			
				|  |  | +                !scope.row.teacherRecommandSubjectName
 | 
	
		
			
				|  |  | +                  ? "无"
 | 
	
		
			
				|  |  | +                  : null
 | 
	
		
			
				|  |  | +              }}
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            prop="userName"
 | 
	
		
			
				|  |  | +            label="是否在学习某件乐器"
 | 
	
		
			
				|  |  | +          ></el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            prop="userName"
 | 
	
		
			
				|  |  | +            label="目前所学乐器"
 | 
	
		
			
				|  |  | +          ></el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            prop="userName"
 | 
	
		
			
				|  |  | +            label="报名参加管乐团家长会了解相关情况"
 | 
	
		
			
				|  |  | +          ></el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            prop="userName"
 | 
	
		
			
				|  |  | +            label="备注"
 | 
	
		
			
				|  |  | +          ></el-table-column>
 | 
	
		
			
				|  |  | +        </el-table>
 | 
	
		
			
				|  |  | +        <pagination
 | 
	
		
			
				|  |  | +          sync
 | 
	
		
			
				|  |  | +          :total.sync="pageInfo.total"
 | 
	
		
			
				|  |  | +          :page.sync="pageInfo.page"
 | 
	
		
			
				|  |  | +          :limit.sync="pageInfo.limit"
 | 
	
		
			
				|  |  | +          :page-sizes="pageInfo.page_size"
 | 
	
		
			
				|  |  | +          @pagination="getList"
 | 
	
		
			
				|  |  | +        />
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- 预报名链接 -->
 | 
	
		
			
				|  |  | +    <qr-code v-model="codeStatus" title="预报名链接" :codeUrl="codeUrl" />
 | 
	
		
			
				|  |  | +    <!-- 预报名详情 -->
 | 
	
		
			
				|  |  | +    <qr-code
 | 
	
		
			
				|  |  | +      v-model="codedetailStatus"
 | 
	
		
			
				|  |  | +      title="预报名详情"
 | 
	
		
			
				|  |  | +      :codeUrl="detailUrl"
 | 
	
		
			
				|  |  | +    />
 | 
	
		
			
				|  |  | +    <!-- 发送家长会通知 -->
 | 
	
		
			
				|  |  | +    <el-dialog
 | 
	
		
			
				|  |  | +      title="发送家长会通知"
 | 
	
		
			
				|  |  | +      :visible.sync="extendPaymentStatus"
 | 
	
		
			
				|  |  | +      @close="onClose('extendForm')"
 | 
	
		
			
				|  |  | +      width="400px"
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  | +      <el-form
 | 
	
		
			
				|  |  | +        label-width="110px"
 | 
	
		
			
				|  |  | +        :model="extendForm"
 | 
	
		
			
				|  |  | +        ref="extendForm"
 | 
	
		
			
				|  |  | +        :rules="extendRule"
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  | +        <el-form-item label="家长会时间" prop="meetingDate">
 | 
	
		
			
				|  |  | +          <el-date-picker
 | 
	
		
			
				|  |  | +            style="width: 100% !important"
 | 
	
		
			
				|  |  | +            value-format="yyyy-MM-dd HH:mm:ss"
 | 
	
		
			
				|  |  | +            v-model.trim="extendForm.meetingDate"
 | 
	
		
			
				|  |  | +            type="datetime"
 | 
	
		
			
				|  |  | +            :picker-options="applyDates"
 | 
	
		
			
				|  |  | +            placeholder="请选择家长会时间"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +          </el-date-picker>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="家长会地址" prop="address">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            v-model="extendForm.address"
 | 
	
		
			
				|  |  | +            placeholder="请输入家长会地址"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +      </el-form>
 | 
	
		
			
				|  |  | +      <div slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  | +        <el-button @click="extendPaymentStatus = false">取 消</el-button>
 | 
	
		
			
				|  |  | +        <el-button type="primary" @click="onExtendPayment('extendForm')"
 | 
	
		
			
				|  |  | +          >确 定</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    </el-dialog>
 | 
	
		
			
				|  |  | +    <!-- 回访记录 -->
 | 
	
		
			
				|  |  | +    <el-dialog
 | 
	
		
			
				|  |  | +      title="新增回访"
 | 
	
		
			
				|  |  | +      width="600px"
 | 
	
		
			
				|  |  | +      destroy-on-close
 | 
	
		
			
				|  |  | +      :close-on-click-modal="false"
 | 
	
		
			
				|  |  | +      :visible.sync="visitVisible"
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  | +      <visit-model
 | 
	
		
			
				|  |  | +        v-if="visitVisible"
 | 
	
		
			
				|  |  | +        @close="visitVisible = false"
 | 
	
		
			
				|  |  | +        :detail="visitDetail"
 | 
	
		
			
				|  |  | +        @submited="getList"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  | +    </el-dialog>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- 回访记录 -->
 | 
	
		
			
				|  |  | +    <el-dialog
 | 
	
		
			
				|  |  | +      title="意向列表"
 | 
	
		
			
				|  |  | +      width="600px"
 | 
	
		
			
				|  |  | +      destroy-on-close
 | 
	
		
			
				|  |  | +      :close-on-click-modal="false"
 | 
	
		
			
				|  |  | +      :visible.sync="subjectVisible"
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  | +      <intention-model v-if="subjectVisible" @close="subjectVisible = false" />
 | 
	
		
			
				|  |  | +    </el-dialog>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import pagination from "@/components/Pagination/index";
 | 
	
		
			
				|  |  | +import qrCode from "@/components/QrCode/index";
 | 
	
		
			
				|  |  | +import { permission } from "@/utils/directivePage";
 | 
	
		
			
				|  |  | +import { vaildStudentUrl, vaildTeachingUrl } from "@/utils/validate";
 | 
	
		
			
				|  |  | +import { Export } from "@/utils/downLoadFile";
 | 
	
		
			
				|  |  | +import visitModel from "@/views/withdrawal-application/modals/visit";
 | 
	
		
			
				|  |  | +import intentionModel from "./modals/intention";
 | 
	
		
			
				|  |  | +import { getMusicGroupGradeList } from "@/api/buildTeam";
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  queryPreApplyList,
 | 
	
		
			
				|  |  | +  finishPreApply,
 | 
	
		
			
				|  |  | +  sendParentMeetingNotice,
 | 
	
		
			
				|  |  | +} from "./api";
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  name: "forecastName",
 | 
	
		
			
				|  |  | +  components: { pagination, qrCode, visitModel, intentionModel },
 | 
	
		
			
				|  |  | +  props: ["isedit"],
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    const query = this.$route.query;
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      codedetailStatus: false,
 | 
	
		
			
				|  |  | +      teamName: query.name || null,
 | 
	
		
			
				|  |  | +      codeStatus: false,
 | 
	
		
			
				|  |  | +      musicGroupId: query.id,
 | 
	
		
			
				|  |  | +      codeUrl:
 | 
	
		
			
				|  |  | +        vaildStudentUrl() +
 | 
	
		
			
				|  |  | +        "/project/forecastName/index.html?musicGroupId=" +
 | 
	
		
			
				|  |  | +        query.id,
 | 
	
		
			
				|  |  | +      detailUrl:
 | 
	
		
			
				|  |  | +        vaildTeachingUrl() + "/#/preApplySubject?musicGroupId=" + query.id,
 | 
	
		
			
				|  |  | +      searchForm: {
 | 
	
		
			
				|  |  | +        name: null,
 | 
	
		
			
				|  |  | +        subjectId: null,
 | 
	
		
			
				|  |  | +        teacherRecommandSubjectId: null,
 | 
	
		
			
				|  |  | +        selectionSubjectId: null,
 | 
	
		
			
				|  |  | +        isAllowAdjust: null,
 | 
	
		
			
				|  |  | +        cloudTeacherMethod: null,
 | 
	
		
			
				|  |  | +        kitPurchaseMethod: null,
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      tableList: [],
 | 
	
		
			
				|  |  | +      pageInfo: {
 | 
	
		
			
				|  |  | +        // 分页规则
 | 
	
		
			
				|  |  | +        limit: 10, // 限制显示条数
 | 
	
		
			
				|  |  | +        page: 1, // 当前页
 | 
	
		
			
				|  |  | +        total: 0, // 总条数
 | 
	
		
			
				|  |  | +        page_size: [10, 20, 40, 50], // 选择限制显示条数
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      visitVisible: false,
 | 
	
		
			
				|  |  | +      subjectVisible: false,
 | 
	
		
			
				|  |  | +      visitDetail: null,
 | 
	
		
			
				|  |  | +      extendPaymentStatus: false,
 | 
	
		
			
				|  |  | +      extendForm: {
 | 
	
		
			
				|  |  | +        meetingDate: null,
 | 
	
		
			
				|  |  | +        address: null,
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      extendRule: {
 | 
	
		
			
				|  |  | +        meetingDate: [
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择家长会时间", trigger: "change" },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        address: [
 | 
	
		
			
				|  |  | +          { required: true, message: "请输入家长会地址", trigger: "blur" },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      gradeList: [],
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  mounted() {
 | 
	
		
			
				|  |  | +    this.$store.dispatch("setSubjects");
 | 
	
		
			
				|  |  | +    this.init();
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    init() {
 | 
	
		
			
				|  |  | +      this.teamid = this.$route.query.id;
 | 
	
		
			
				|  |  | +      getMusicGroupGradeList({ musicGroupId: this.teamid }).then((res) => {
 | 
	
		
			
				|  |  | +        let result = res.data;
 | 
	
		
			
				|  |  | +        this.gradeListObj = res.data;
 | 
	
		
			
				|  |  | +        if (res.code == 200 && result) {
 | 
	
		
			
				|  |  | +          for (let i in result) {
 | 
	
		
			
				|  |  | +            this.gradeList.push({
 | 
	
		
			
				|  |  | +              value: i,
 | 
	
		
			
				|  |  | +              label: result[i],
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +      this.getList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    permission,
 | 
	
		
			
				|  |  | +    onReSet() {
 | 
	
		
			
				|  |  | +      this.$refs["searchForm"].resetFields();
 | 
	
		
			
				|  |  | +      this.search();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    search() {
 | 
	
		
			
				|  |  | +      this.pageInfo.page = 1;
 | 
	
		
			
				|  |  | +      this.getList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onCancel() {
 | 
	
		
			
				|  |  | +      this.$store.dispatch("delVisitedViews", this.$route);
 | 
	
		
			
				|  |  | +      this.$router.push({ path: "/teamList" });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    downloadFile() {
 | 
	
		
			
				|  |  | +      let params = this.searchForm;
 | 
	
		
			
				|  |  | +      Export(
 | 
	
		
			
				|  |  | +        this,
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          url: "/api-web/studentRegistration/preRegisterExport",
 | 
	
		
			
				|  |  | +          params: {
 | 
	
		
			
				|  |  | +            ...params,
 | 
	
		
			
				|  |  | +            musicGroupId: this.musicGroupId,
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          fileName: "预报名列表.xls",
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        "是否确认导出报表?"
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    async getList() {
 | 
	
		
			
				|  |  | +      try {
 | 
	
		
			
				|  |  | +        const result = await queryPreApplyList({
 | 
	
		
			
				|  |  | +          ...this.searchForm,
 | 
	
		
			
				|  |  | +          musicGroupId: this.musicGroupId,
 | 
	
		
			
				|  |  | +          page: this.pageInfo.page,
 | 
	
		
			
				|  |  | +          rows: this.pageInfo.limit,
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        this.tableList = result.data.rows;
 | 
	
		
			
				|  |  | +        this.pageInfo.total = result.data.total;
 | 
	
		
			
				|  |  | +      } catch (error) {}
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    async onPaymentGroup(type) {
 | 
	
		
			
				|  |  | +      try {
 | 
	
		
			
				|  |  | +        this.$confirm("您是否确定开启乐团缴费?", "提示", {
 | 
	
		
			
				|  |  | +          confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +          cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +          type: "warning",
 | 
	
		
			
				|  |  | +        }).then(async () => {
 | 
	
		
			
				|  |  | +          const result = await finishPreApply({
 | 
	
		
			
				|  |  | +            isCheckStudentNum: type == 1 ? false : true,
 | 
	
		
			
				|  |  | +            musicGroupId: this.musicGroupId,
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          this.$store.dispatch("delVisitedViews", this.$route);
 | 
	
		
			
				|  |  | +          this.$router.push({
 | 
	
		
			
				|  |  | +            path: "/teamList",
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      } catch (error) {}
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    addVisited(rows) {
 | 
	
		
			
				|  |  | +      // 新增回访
 | 
	
		
			
				|  |  | +      this.visitVisible = true;
 | 
	
		
			
				|  |  | +      this.visitDetail = {
 | 
	
		
			
				|  |  | +        musicGroupId: rows.musicGroupId,
 | 
	
		
			
				|  |  | +        overview: "",
 | 
	
		
			
				|  |  | +        purpose: "",
 | 
	
		
			
				|  |  | +        userId: rows.userId,
 | 
	
		
			
				|  |  | +        type: "",
 | 
	
		
			
				|  |  | +        visitTime: "",
 | 
	
		
			
				|  |  | +        visitType: "",
 | 
	
		
			
				|  |  | +        feedback: "",
 | 
	
		
			
				|  |  | +        realName: rows.userName,
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +      // this.visitDetail = rows
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onClose(formName) {
 | 
	
		
			
				|  |  | +      this.$refs[formName].resetFields();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onExtendPayment(formName) {
 | 
	
		
			
				|  |  | +      this.$refs[formName].validate(async (valid) => {
 | 
	
		
			
				|  |  | +        if (valid) {
 | 
	
		
			
				|  |  | +          try {
 | 
	
		
			
				|  |  | +            await this.$confirm("您是否确定发送家长会通知?", "提示", {
 | 
	
		
			
				|  |  | +              confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +              cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +              type: "warning",
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +            await sendParentMeetingNotice({
 | 
	
		
			
				|  |  | +              ...this.extendForm,
 | 
	
		
			
				|  |  | +              musicGroupId: this.musicGroupId,
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +            this.$message.success("家长会通知已发送");
 | 
	
		
			
				|  |  | +            this.extendPaymentStatus = false;
 | 
	
		
			
				|  |  | +          } catch (error) {}
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    applyDates() {
 | 
	
		
			
				|  |  | +      return {
 | 
	
		
			
				|  |  | +        firstDayOfWeek: 1,
 | 
	
		
			
				|  |  | +        disabledDate(time) {
 | 
	
		
			
				|  |  | +          if (end) {
 | 
	
		
			
				|  |  | +            return new Date(end).getTime() - 86400000 >= time.getTime();
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            return time.getTime() + 86400000 < Date.now();
 | 
	
		
			
				|  |  | +            //开始时间不选时,结束时间最大值小于等于当天
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<style lang="less" scoped>
 | 
	
		
			
				|  |  | +</style>
 |