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