Browse Source

Merge branch '09/26smallFuction' into 11/24SAAS

mo 2 năm trước cách đây
mục cha
commit
5cdc35c85e
30 tập tin đã thay đổi với 1555 bổ sung1539 xóa
  1. 1 1
      src/api/buildTeam.js
  2. 1 1
      src/api/teamServer.js
  3. 0 1
      src/components/remote-search/index.vue
  4. 13 15
      src/store/modules/selects.js
  5. 2 1
      src/views/2021memeberActionManager/memberActiveDetail.vue
  6. 1 0
      src/views/accompanyManager/accompanyList.vue
  7. 1488 1488
      src/views/accompanyManager/accompanys.vue
  8. 1 0
      src/views/afterSchoolManager/afterSchoolList.vue
  9. 2 2
      src/views/afterSchoolManager/afterSchoolTeach.vue
  10. 7 5
      src/views/categroyManager/specialSetup/chargesList.vue
  11. 3 2
      src/views/categroyManager/specialSetup/discountManage.vue
  12. 3 2
      src/views/categroyManager/specialSetup/musicCourseFee.vue
  13. 7 6
      src/views/categroyManager/specialSetup/typesManager.vue
  14. 1 0
      src/views/evaluateManager/evaluateList.vue
  15. 6 6
      src/views/evaluateManager/networkList.vue
  16. 1 0
      src/views/evaluateManager/vipEvaluateList.vue
  17. 1 0
      src/views/indexErrDataRecord/components/errorCourse.vue
  18. 1 0
      src/views/operateManager/serverIndexList.vue
  19. 1 0
      src/views/operationalEarly/operationalList.vue
  20. 1 0
      src/views/recodeManager/recodeList.vue
  21. 4 3
      src/views/resetTeaming/modals/user-pay-form.vue
  22. 1 0
      src/views/serverDetail/index.vue
  23. 1 0
      src/views/settlementManager/settlementList.vue
  24. 1 1
      src/views/smallStudentManager/components/tableList.vue
  25. 1 0
      src/views/stuRecodeManager/index.vue
  26. 1 1
      src/views/studentManager/components/studentRecord.vue
  27. 1 1
      src/views/studentManager/components/teamAndcourse.vue
  28. 1 1
      src/views/teamBuild/components/teamBaseInfo.vue
  29. 2 2
      src/views/teamDetail/teamClassList.vue
  30. 1 0
      src/views/workBenchManager/classFeesIsOk.vue

+ 1 - 1
src/api/buildTeam.js

@@ -13,7 +13,7 @@ let api = "/api-web";
 // 获取收费类型
 export function getType(data) {
   return request({
-    url: api + "/chargeType/queryPage",
+    url: api + "/chargeType/findAll",
     method: "get",
     params: data
   });

+ 1 - 1
src/api/teamServer.js

@@ -15,7 +15,7 @@ export function getTeamList (data) {
 // 获取乐团收费类型
 export function getPayType (data) {
   return request({
-    url: api + `/chargeType/queryPage`,
+    url: api + `/chargeType/findAll`,
     method: 'get',
     params: data
   })

+ 0 - 1
src/components/remote-search/index.vue

@@ -71,7 +71,6 @@ export default {
           await this.$store.dispatch(commit,this.value);
         }
         else if(this.commit == 'setTeachers'){
-
           await this.$store.dispatch(commit,{
             demissionFlag: this.demissionFlag,
             isForzenWithQueryCondition:this.isForzenWithQueryCondition

+ 13 - 15
src/store/modules/selects.js

@@ -9,7 +9,7 @@ import {
 } from "@/api/buildTeam";
 import { getSchool, queryEmployByOrganId } from "@/api/systemManage";
 import { vipGroupCategory } from "@/api/vipSeting";
-import { getTenantUserList } from '@/views/agentManager/api'
+import { getTenantUserList } from "@/views/agentManager/api";
 // import {
 //   findTechnician
 // } from '@/api/repairManager'
@@ -38,7 +38,7 @@ export default {
     technician: [],
     employs: [],
     roles: [],
-    tenantUsers:[]
+    tenantUsers: []
   },
   mutations: {
     commit_branchs: (state, branchs) => {
@@ -84,15 +84,15 @@ export default {
         };
       });
     },
-    commit_tenantUsers:(state,tenantUsers)=>{
-      state.tenantUsers = tenantUsers.map(tenantUser=>{
+    commit_tenantUsers: (state, tenantUsers) => {
+      state.tenantUsers = tenantUsers.map(tenantUser => {
         return {
           ...tenantUser,
           userId: tenantUser.id,
           userName: tenantUser.realName,
           realName: tenantUser.realName
-        }
-      })
+        };
+      });
     }
   },
   actions: {
@@ -126,11 +126,11 @@ export default {
       }
     },
     async setTeachers({ commit, state }, force) {
-      if (
-        (!state.teachers.length ) &&
-        !loadings.commit_teachers
-      ) {
-        loadings.commit_teachers = getTeacher({demissionFlag:force.demissionFlag,isForzenWithQueryCondition:force.isForzenWithQueryCondition});
+      if (!loadings.commit_teachers) {
+        loadings.commit_teachers = getTeacher({
+          demissionFlag: force.demissionFlag,
+          isForzenWithQueryCondition: force.isForzenWithQueryCondition
+        });
         try {
           const res = await loadings.commit_teachers;
           commit("commit_teachers", res.data);
@@ -228,9 +228,7 @@ export default {
         (!state.employs.length || force === true) &&
         !loadings.commit_employs
       ) {
-        loadings.commit_employs = queryEmployByOrganId({
-
-        });
+        loadings.commit_employs = queryEmployByOrganId({});
         try {
           const res = await loadings.commit_employs;
           commit("commit_employs", res.data.rows);
@@ -238,7 +236,7 @@ export default {
         loadings.commit_employs = false;
       }
     },
-    async setTenantUser({ commit, state },value, force) {
+    async setTenantUser({ commit, state }, value, force) {
       if (
         (!state.employs.length || force === true) &&
         !loadings.commit_tenantUsers

+ 2 - 1
src/views/2021memeberActionManager/memberActiveDetail.vue

@@ -63,6 +63,7 @@
             :commit="'setTeachers'"
             aria-placeholder="请选择指导老师"
             v-model.trim="searchForm.teacherId"
+            :isForzenWithQueryCondition="true"
           />
         </el-form-item>
         <el-form-item prop="remarkType">
@@ -215,7 +216,7 @@ export default {
     }
     getType({ rows: 1000 }).then((res) => {
       if (res.code == 200) {
-        this.typeList = res.data.rows;
+        this.typeList = res.data;
       }
     });
     // await this.$store.dispatch("setBranchs");

+ 1 - 0
src/views/accompanyManager/accompanyList.vue

@@ -119,6 +119,7 @@
           <remote-search
             :commit="'setTeachers'"
             v-model="searchForm.teacherId"
+            :isForzenWithQueryCondition="true"
           />
         </el-form-item>
         <el-form-item>

+ 1488 - 1488
src/views/accompanyManager/accompanys.vue

@@ -1,1488 +1,1488 @@
-<template>
-  <div class="m-container">
-    <!-- <div class="titlewrap"> -->
-      <h2>
-        <el-page-header @back="goBack" :content="name"></el-page-header>
-      </h2>
-      <!-- <p style="margin-bottom: 10px; margin-left: 30px">
-        课程有效期:{{ timers }}
-      </p> -->
-    <!-- </div> -->
-
-    <!--   v-permission="'vipGroupManage/updateVipBaseInfo'" -->
-    <div class="m-core">
-      <div class="wrap">
-      <div
-        class="newBand"
-        @click="resetTeachers"
-        v-if="courseType && courseType != 'TRIAL'"
-        v-permission="'courseSchedule/practiceGroupTeacherAdjust'"
-      >
-        课程组调整
-      </div>
-      <!-- // accompanys/addCourse -->
-      <div
-        v-permission="{
-          child: 'courseSchedule/batchAddCourses',
-          parent: '/accompanys',
-        }"
-        class="newBand"
-        @click="addCourse"
-      >
-        网管课加课
-      </div>
-      <div
-        class="newBand"
-        v-if="courseType && courseType != 'TRIAL'"
-        v-permission="'courseSchedule/batchUpdateCourseSchedule'"
-        @click="adjustment"
-      >
-        批量调整
-      </div>
-
-      <!-- <div
-        class="newBand"
-        v-permission="'courseSchedule/updateCoursesExpireDate'"
-        @click="onUpdateCourse(1)"
-      >
-        有效期调整(高权限)
-      </div>
-      <div
-        class="newBand"
-        v-permission="'courseSchedule/updateCoursesExpireDateOnlyNormal'"
-        @click="onUpdateCourse(2)"
-      >
-        有效期调整
-      </div> -->
-    </div>
-
-    <div class="tableWrap">
-      <el-table
-        :data="tableList"
-        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
-        @selection-change="handleSelectionChange"
-      >
-        <el-table-column
-          type="selection"
-          :selectable="isDisabled"
-          width="55"
-        ></el-table-column>
-        <el-table-column
-          label="课程编号"
-          align="center"
-          prop="id"
-        ></el-table-column>
-        <el-table-column
-          label="课程名称"
-          align="center"
-          prop="name"
-        ></el-table-column>
-        <el-table-column
-          label="主教老师"
-          align="center"
-          prop="teacherName"
-        ></el-table-column>
-        <!-- <el-table-column label="主教老师" align="center" >
-          <template slot-scope="scope">
-            <div v-show="scope.row.teacher">
-              {{scope.row.teacher.realName}}
-            </div>
-          </template>
-        </el-table-column>-->
-        <!-- <el-table-column label="班级id"
-                         align="center"
-                         prop="classGroupId">
-        </el-table-column>-->
-        <el-table-column label="上课日期" align="center" prop="classDate">
-          <template slot-scope="scope">
-            <div>
-              {{ scope.row.classDate | formatTimer }}
-              {{ scope.row.startClassTimeStr | timerForMinFormat }}~{{
-                scope.row.endClassTimeStr | timerForMinFormat
-              }}
-            </div>
-          </template>
-        </el-table-column>
-        <!-- <el-table-column label="开始时间"
-                         align="center"
-                         prop="startClassTimeStr">
-          <template slot-scope="scope">
-            <div>{{ scope.row.startClassTimeStr |  timerForMinFormat}}</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="结束时间"
-                         align="center"
-                         prop="endClassTimeStr">
-          <template slot-scope="scope">
-            <div>{{ scope.row.endClassTimeStr | timerForMinFormat}}</div>
-          </template>
-        </el-table-column> -->
-        <el-table-column label="是否点名" align="center" prop="status">
-          <template slot-scope="scope">{{
-            scope.row.isCallNames ? "是" : "否"
-          }}</template>
-        </el-table-column>
-        <el-table-column label="课程状态" align="center" prop="status">
-          <template slot-scope="scope">
-            <div>{{ scope.row.status | coursesStatus }}</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="结算状态" align="center">
-          <template slot-scope="scope">
-            <div>{{ scope.row.isSettlement ? "已结算" : "未结算" }}</div>
-          </template>
-        </el-table-column>
-        <!-- <el-table-column label="教学点" align="center" prop="schoolName">
-          <template slot-scope="scope">
-            <div>{{scope.row.schoolName?scope.row.schoolName:'网络教室'}}</div>
-          </template>
-        </el-table-column>-->
-        <el-table-column
-          label="操作"
-          width="250px"
-          align="center"
-          fixed="right"
-        >
-          <template slot-scope="scope">
-            <div>
-              <el-button
-                type="text"
-                v-if="
-                  !scope.row.isSettlement &&
-                  permission('courseSchedule/classStartDateAdjust/accompanys')
-                "
-                @click="resetClass(scope.row)"
-                >调整</el-button
-              >
-              <el-button
-                type="text"
-                v-if="
-                  !scope.row.isSettlement &&
-                  scope.row.status == 'NOT_START' &&
-                  permission('accompanys/remove')
-                "
-                @click="removeClass(scope.row)"
-                >删除</el-button
-              >
-              <el-button
-                type="text"
-                v-if="
-                  scope.row.status == 'NOT_START' &&
-                  courseType != 'TRIAL' &&
-                  permission('courseSchedule/practiceCourseTeacherAdjust/3420')
-                "
-                @click="resetTeacher(scope.row)"
-                >更换老师</el-button
-              >
-              <el-button
-                v-if="
-                  scope.row.status == 'OVER' &&
-                  scope.row.isSettlement == 0 &&
-                  permission(
-                    '/accompanys/teacherAttendance/updateTeacherAttendance'
-                  )
-                "
-                type="text"
-                @click="onMarkAttendance(scope.row)"
-                >补考勤</el-button
-              >
-              <!--  && permission('studentAttendance/updateStudentAttendances', '/accompanys') -->
-              <el-button
-                v-if="
-                  scope.row.status == 'OVER' &&
-                  permission(
-                    '/accompanys/studentAttendance/updateStudentAttendances'
-                  )
-                "
-                type="text"
-                @click="onCallName(scope.row)"
-                >点名表</el-button
-              >
-              <el-button
-                type="text"
-                v-if="
-                  !scope.row.isSettlement &&
-                  permission('accompanys/cleanAttendance')
-                "
-                @click="clearAttend(scope.row)"
-                >清除考勤</el-button
-              >
-            </div>
-          </template>
-        </el-table-column>
-      </el-table>
-      <!-- <pagination :total="rules.total"
-                  :page.sync="rules.page"
-                  :limit.sync="rules.limit"
-                  :page-sizes="rules.page_size"
-                  @pagination="getList" /> 乔乔说后台没有分页所以一口气都展示-->
-    </div>
-    </div>
-    <!-- <el-dialog
-      :title="updateCourseStatus == 2 ? '有效期调整' : '有效期调整(高权限)'"
-      width="400px"
-      :before-close="expireClose"
-      :visible.sync="expireVisible"
-    >
-      <el-form
-        :model="expireForm"
-        ref="expireForm"
-        :rules="expireRules"
-        label-position="right"
-        label-width="120px"
-        :inline="true"
-      >
-        <el-form-item label="有效期开始时间" prop="coursesStartDate">
-          <el-date-picker
-            v-model.trim="expireForm.coursesStartDate"
-            style="width: 200px !important"
-            type="date"
-            :picker-options="startBigin()"
-            value-format="yyyy-MM-dd"
-            placeholder="选择日期"
-          ></el-date-picker>
-        </el-form-item>
-        <el-form-item label="有效期结束时间" prop="coursesExpireDate">
-          <el-date-picker
-            v-model.trim="expireForm.coursesExpireDate"
-            style="width: 200px !important"
-            type="date"
-            :picker-options="bigin"
-            value-format="yyyy-MM-dd"
-            placeholder="选择日期"
-          ></el-date-picker>
-        </el-form-item>
-        <div style="padding-left: 15px; color: red">
-          <p>有效期开始时间不得晚于课程组第一节课日期</p>
-          <p>有效期结束时间不得早于课程组最后一节课日期</p>
-        </div>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="expireVisible = false">取 消</el-button>
-        <el-button type="primary" @click="submitExpireDate">确 定</el-button>
-      </div>
-    </el-dialog> -->
-    <el-dialog
-      title="补考勤"
-      width="400px"
-      :visible.sync="markAttendance.status"
-    >
-      <el-form>
-        <el-form-item label="签到状态">{{
-          markAttendance.dataInfo.isSignIn | attendanceType
-        }}</el-form-item>
-        <el-form-item label="签到时间">{{
-          markAttendance.dataInfo.signInTime
-        }}</el-form-item>
-        <el-form-item label="签退状态">{{
-          markAttendance.dataInfo.isSignOut | attendanceOutType
-        }}</el-form-item>
-        <el-form-item label="签退时间">{{
-          markAttendance.dataInfo.signOutTime
-        }}</el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="markAttendance.status = false">取 消</el-button>
-        <el-button
-          type="primary"
-          :disabled="
-            markAttendance.dataInfo.isSignIn == 1 &&
-            markAttendance.dataInfo.isSignOut == 1
-              ? true
-              : false
-          "
-          @click="batchAdjustmentTime"
-          >确定补卡</el-button
-        >
-      </div>
-    </el-dialog>
-    <el-dialog
-      title="课程调整"
-      width="400px"
-      :before-close="handleClose"
-      :visible.sync="courseVisible"
-    >
-      <el-form
-        :model="maskForm"
-        ref="maskForm"
-        :rules="maskRules"
-        label-position="right"
-        label-width="80px"
-        :inline="true"
-      >
-        <el-form-item label="上课日期" prop="date">
-          <el-date-picker
-            v-model.trim="maskForm.date"
-            type="date"
-            :picker-options="courseOption"
-            value-format="yyyy-MM-dd"
-            placeholder="选择日期"
-          ></el-date-picker>
-        </el-form-item>
-        <!-- 试听课  v-if="courseType != 'TRIAL'"-->
-        <!-- <el-form-item label="上课日期" prop="date" v-else>
-          <el-date-picker
-            v-model.trim="maskForm.date"
-            style="width: 200px !important"
-            type="date"
-            value-format="yyyy-MM-dd"
-            :picker-options="bigin"
-            placeholder="选择日期"
-          ></el-date-picker>
-        </el-form-item> -->
-        <el-form-item
-          label="开始时间"
-          prop="startTime"
-          :rules="[
-            { required: true, message: '请选择开始时间', trigger: 'change' },
-          ]"
-        >
-          <el-time-picker
-            placeholder="起始时间"
-            v-model="maskForm.startTime"
-            @change="changeStartTime"
-            format="HH:mm"
-            value-format="HH:mm"
-            :picker-options="{
-              selectableRange: `04:00:00 - 23:30:00`,
-            }"
-          ></el-time-picker>
-        </el-form-item>
-        <el-form-item label="结束时间" prop="endTime">
-          <el-time-picker
-            placeholder="结束时间"
-            format="HH:mm"
-            value-format="HH:mm"
-            v-model="maskForm.endTime"
-            disabled
-          >
-          </el-time-picker>
-        </el-form-item>
-        <!--  v-show="maskForm.teachMode=='OFFLINE'"-->
-        <!-- <el-form-item label="课程类型" prop="courseType">
-          <el-select clearable v-model.trim="maskForm.teachMode">
-            <el-option label="线上课" value="ONLINE"></el-option>
-            <el-option label="线下课" value="OFFLINE"></el-option>
-          </el-select>
-        </el-form-item>-->
-        <!-- <el-form-item label="教学地点" v-show="maskForm.teachMode == 'OFFLINE'">
-          <el-select v-model.trim="maskForm.address" filterable clearable>
-            <el-option
-              v-for="(item,index) in schoolList"
-              :key="index"
-              :value="item.id"
-              :label="item.name"
-            ></el-option>
-          </el-select>
-        </el-form-item> 1-->
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="handleClose">取 消</el-button>
-        <el-button type="primary" @click="submitResetClass">确 定</el-button>
-      </div>
-    </el-dialog>
-
-    <el-dialog
-      :title="isMultiple ? '课程组调整' : '更换老师'"
-      width="400px"
-      :before-close="teacherClose"
-      :visible.sync="teacherVisible"
-    >
-      <el-form
-        :model="teacherForm"
-        ref="teacherForm"
-        :rules="teacherRules"
-        label-position="right"
-        label-width="100px"
-        :inline="true"
-      >
-        <el-form-item label="课程班名称" v-show="isMultiple">
-          <el-input v-model.trim="teacherForm.name" disabled></el-input>
-        </el-form-item>
-        <el-form-item label="课程组声部" v-show="isMultiple">
-          <el-select
-            v-model.trim="teacherForm.subjectId"
-            @change="changeSound"
-            filterable
-            clearable
-          >
-            <el-option
-              v-for="(item, index) in subjectList"
-              :key="index"
-              :value="item.id"
-              :label="item.name"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="课程组老师" v-if="isMultiple">
-          <el-select v-model.trim="teacherForm.teacher" filterable clearable>
-            <el-option
-              v-for="(item, index) in teacherList"
-              :key="index"
-              :value="item.id"
-              :label="item.realName"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="指导老师" v-else>
-          <el-select v-model.trim="teacherForm.teacher" filterable clearable>
-            <el-option
-              v-for="(item, index) in teacherList"
-              :key="index"
-              :value="item.id"
-              :label="item.realName"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="乐团主管" v-show="isMultiple">
-          <el-select
-            v-model.trim="teacherForm.educationalTeacherId"
-            filterable
-            clearable
-          >
-            <el-option
-              v-for="(item, index) in selects.roles.EDUCATION"
-              :key="index"
-              :value="item.value"
-              :label="item.label"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item v-if="isMultiple">
-          <p style="color: #ff5353">
-            *更改课程组老师,将更换全部未开始课程的老师
-          </p>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="teacherVisible = false">取 消</el-button>
-        <el-button type="primary" @click="subresetTeacher">确 定</el-button>
-      </div>
-    </el-dialog>
-    <el-dialog
-      :title="adjustmentName"
-      width="800px"
-      :visible.sync="adjustmentVisible"
-    >
-      <el-form
-        :model="adjustmentForm"
-        label-position="right"
-        label-width="120px"
-        ref="adjustmentForm"
-        :rules="adjustmentRules"
-        :inline="true"
-      >
-        <el-form-item label="已选择课时数" v-if="!isaddCourse">
-          <el-input disabled v-model.trim="adjustmentForm.count"></el-input>
-        </el-form-item>
-        <el-form-item label="添加课时数" prop="addCount" v-if="isaddCourse">
-          <el-input
-            type="number"
-            @mousewheel.native.prevent
-            v-model.trim="adjustmentForm.addCount"
-          ></el-input>
-        </el-form-item>
-        <br />
-        <!-- <el-form-item label="单课费用" prop="fee" v-show="isaddCourse">
-          <el-input v-model.trim="adjustmentForm.fee"></el-input>
-        </el-form-item>-->
-        <el-form-item label="排课起始时间" prop="courseTime">
-          <el-date-picker
-            v-model.trim="adjustmentForm.courseTime"
-            :picker-options="pickerOptions"
-            style="width: 200px !important"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="选择日期"
-          ></el-date-picker>
-          <el-checkbox
-            style="margin-left: 10px"
-            v-model.trim="adjustmentForm.checked"
-            >是否跳过节假日</el-checkbox
-          >
-        </el-form-item>
-      </el-form>
-      <div class="WeekWrap">
-        <h3 style="margin-bottom: 20px">
-          循环次数
-          <el-button type="text" style="margin-left: 10px" @click="addWeek"
-            >添加</el-button
-          >
-        </h3>
-        <div class="countWrap" style="margin-bottom: 10px">
-          <div
-            class="countItem"
-            style="margin-bottom: 20px"
-            v-for="(item, index) in weekList"
-            :key="index"
-          >
-            <span>循环周期:</span>
-            <el-select v-model.trim="item.dayOfWeek" filterable clearable>
-              <el-option
-                v-for="(item, index) in weekDateList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              ></el-option>
-            </el-select>
-            <span style="margin-left: 10px">开始时间</span>
-            <el-time-picker
-              style="margin-left: 10px"
-              placeholder
-              v-model.trim="item.startClassTime"
-              @change="
-                (val) => {
-                  changeStartTimes(val, item);
-                }
-              "
-              format="HH:mm"
-              value-format="HH:mm"
-              :picker-options="{
-                selectableRange: '04:30:00 - 23:30:00',
-              }"
-            ></el-time-picker>
-            <span style="margin-left: 10px">结束时间</span>
-            <el-time-picker
-              style="margin-left: 10px"
-              placeholder
-              v-model.trim="item.endClassTime"
-              format="HH:mm"
-              value-format="HH:mm"
-              disabled
-              :picker-options="{
-                selectableRange: '04:30:00 - 23:30:00',
-              }"
-            ></el-time-picker>
-            <el-button
-              style="margin-left: 10px"
-              type="danger"
-              @click="removeWeek(item)"
-              icon="el-icon-delete"
-              circle
-            ></el-button>
-          </div>
-        </div>
-      </div>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="adjustmentVisible = false">取 消</el-button>
-        <el-button
-          type="primary"
-          v-show="!isaddCourse"
-          @click="submitAdjustment"
-          >确 定</el-button
-        >
-        <el-button type="primary" v-show="isaddCourse" @click="addCourseSubmit"
-          >确 定</el-button
-        >
-      </div>
-    </el-dialog>
-
-    <el-dialog title="点名表" width="700px" :visible.sync="rollCall.status">
-      <el-table
-        :data="rollCall.gridData"
-        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
-      >
-        <el-table-column
-          align="center"
-          property="userName"
-          label="学员姓名"
-        ></el-table-column>
-        <el-table-column
-          align="center"
-          property="phone"
-          label="手机号"
-        ></el-table-column>
-        <el-table-column
-          align="center"
-          property="subjectName"
-          label="学员声部"
-        ></el-table-column>
-        <el-table-column align="center" label="到课状态">
-          <template slot-scope="scope">
-            {{ scope.row.status | studentCallName }}
-          </template>
-        </el-table-column>
-        <el-table-column
-          align="center"
-          label="操作"
-          v-if="rollCall.selectItem.isSettlement == 0"
-          width="220px"
-        >
-          <template slot-scope="scope">
-            <el-button
-              size="mini"
-              @click="onChangeRollCall('TRUANT', scope.row)"
-              type="primary"
-              round
-              >未到</el-button
-            >
-            <el-button
-              size="mini"
-              @click="onChangeRollCall('LEAVE', scope.row)"
-              type="warning"
-              round
-              >请假</el-button
-            >
-            <el-button
-              size="mini"
-              @click="onChangeRollCall('NORMAL', scope.row)"
-              type="success"
-              round
-              >到课</el-button
-            >
-          </template>
-        </el-table-column>
-      </el-table>
-      <pagination
-        :total="rollCall.total"
-        :page.sync="rollCall.page"
-        :limit.sync="rollCall.limit"
-        :page-sizes="rollCall.page_size"
-        @pagination="getCallName"
-      />
-    </el-dialog>
-  </div>
-</template>
-<script>
-import pagination from "@/components/Pagination/index";
-import { permission } from "@/utils/directivePage";
-import { nextMonthLastDay } from "@/utils/validate";
-import {
-  findPracticeGroupCourseSchedules,
-  practiceCourseAdjus,
-  getTeacher,
-  practiceGroupManage,
-  practiceGroupTeacherAdjust,
-  practiceCourseTeacherAdjust,
-  cleanAttendance,
-  batchAddCourses,
-  getPracticeApplySubjects,
-  batchUpdateCourseSchedule,
-  updateTeacherAttendance,
-  updateCoursesExpireDate,
-  updateCoursesExpireDateOnlyNormal,
-  findAttendanceStudentByCourseWithPage,
-  updateStudentAttendances,
-  resetCourse,
-} from "@/api/buildTeam";
-import {
-  vipCourseAdjust,
-  batchAppendVipGroupCourses,
-  bathDelete,
-} from "@/api/vipSeting";
-import merge from "webpack-merge";
-// import { start } from 'repl';
-import { diffTimerFormMinute, addTimerFormMinute } from "@/utils/date";
-import dayjs from "dayjs";
-let that;
-export default {
-  components: {
-    pagination,
-  },
-  data() {
-    return {
-      adjustmentName: "",
-      isaddCourse: false,
-      adjustmentVisible: false,
-      expireVisible: false,
-      isMultiple: true,
-      name: "网管课程组",
-      courseVisible: false,
-      teacherVisible: false,
-      Frules: null,
-      FsearchForm: null,
-      userId: null,
-      activeRow: null,
-      courseType: null,
-      rules: {
-        // 分页规则
-        limit: 20, // 限制显示条数
-        page: 1, // 当前页
-        total: 0, // 总条数
-        page_size: [10, 20, 50, 100], // 选择限制显示条数
-      },
-      tableList: [],
-      teacherList: [],
-      courseData: [],
-      practiceId: null,
-      subjectList: [],
-      maskForm: {
-        date: "",
-        startTime: "",
-        id: "",
-        endTime: "",
-      },
-      adjustmentForm: {
-        count: "",
-        courseTime: "",
-        checked: false,
-        addCount: "",
-        courseType: "",
-        fee: "",
-      },
-      startTime: null,
-      expireForm: {
-        coursesExpireDate: null,
-        coursesStartDate: null,
-        tempCoursesExpireDate: null,
-      },
-      expireRules: {
-        coursesStartDate: [
-          { required: true, message: "请选择有效期开始时间", trigger: "blur" },
-        ],
-        coursesExpireDate: [
-          { required: true, message: "请选择有效期结束时间", trigger: "blur" },
-        ],
-      },
-      maskRules: {
-        date: [{ required: true, message: "请选择上课时间", trigger: "blur" }],
-        // startTime: [{ required: true, message: '请选择上课开始时间', trigger: 'blur' },],
-        // endTime: [
-        //   { required: true, message: "请选择上课结束时间", trigger: "blur" }
-        // ]
-      },
-      teacherRules: {
-        teacher: [{ required: true, message: "请选择老师", trigger: "blur" }],
-        subjectId: [{ required: true, message: "请选择声部", trigger: "blur" }],
-        educationalTeacherId: [
-          { required: true, message: "请选择乐团主管", trigger: "blur" },
-        ],
-      },
-      teacherForm: {
-        teacher: null,
-        name: null,
-        subjectId: null,
-        educationalTeacherId: null,
-      },
-      courseOption: null,
-      coursesExpireDate: null,
-      adjustmentRules: {
-        courseTime: [{ required: true, message: "请选择开始时间" }],
-        addCount: [{ required: true, message: "请输入加课次数" }],
-        courseType: [{ required: true, message: "请选择课程类型" }],
-        fee: [{ required: true, message: "请输入费用" }],
-      },
-      pickerOptions: {
-        firstDayOfWeek: 1,
-        disabledDate(time) {
-          return time.getTime() + 86400000 <= new Date().getTime();
-        },
-      },
-      weekList: [
-        {
-          dayOfWeek: "",
-          startTime: "",
-          endTime: "",
-          moid: new Date().getTime(),
-        },
-      ],
-      weekDateList: [
-        { value: "1", label: "星期一" },
-        { value: "2", label: "星期二" },
-        { value: "3", label: "星期三" },
-        { value: "4", label: "星期四" },
-        { value: "5", label: "星期五" },
-        { value: "6", label: "星期六" },
-        { value: "7", label: "星期日" },
-      ],
-      activeList: [],
-      timers: null,
-      markAttendance: {
-        // 考勤状态
-        status: false,
-        dataInfo: {},
-      },
-      bigin: this.beginDate(),
-      rollCall: {
-        // 点名表
-        status: false,
-        gridData: [],
-        selectItem: {}, // 选中状态
-        limit: 10, // 限制显示条数
-        page: 1, // 当前页
-        total: 0, // 总条数
-        page_size: [10, 20, 40, 50], // 选择限制显示条数
-      },
-      accompanTime: 25,
-      updateCourseStatus: 1,
-    };
-  },
-  created() {
-    that = this;
-  },
-  async mounted() {
-    await this.$store.dispatch("setOrganRole");
-    this.init();
-  },
-  methods: {
-    init() {
-      this.practiceId = this.$route.query.id;
-      this.userId = this.$route.query.userId;
-      this.courseType = this.$route.query.type;
-      this.expireForm.coursesExpireDate = this.$route.query.coursesExpireDate;
-      this.expireForm.coursesStartDate = this.$route.query.coursesStartDate;
-      this.timers =
-        this.$route.query.coursesStartDate +
-        "至" +
-        this.$route.query.coursesExpireDate;
-
-      //   <!-- 状态 指导老师 活动方案-->
-      getTeacher({ organId: this.organId }).then((res) => {
-        if (res.code == 200) {
-          this.teacherList = res.data;
-        }
-      });
-      // 获取默认声部信息
-      getPracticeApplySubjects().then((res) => {
-        if (res.code == 200) {
-          this.subjectList = res.data;
-        }
-      });
-      // 获取课程组信息
-      this.courseOption = this.coursesDate();
-      this.getCourseGroup();
-      this.getList();
-    },
-    onUpdateCourse(type) {
-      this.updateCourseStatus = type;
-
-      this.expireVisible = true;
-    },
-    onCallName(item) {
-      // 点名表
-      this.rollCall.page = 1;
-      this.rollCall.selectItem = item;
-      this.getCallName();
-    },
-    getCallName() {
-      let rollCall = this.rollCall;
-      let params = {
-        page: rollCall.page,
-        rows: rollCall.limit,
-        courseScheduleId: rollCall.selectItem.id,
-      };
-      findAttendanceStudentByCourseWithPage(params).then((res) => {
-        let result = res.data;
-        rollCall.status = true;
-        if (res.code == 200) {
-          rollCall.gridData = result.rows;
-          rollCall.total = result.total;
-        }
-      });
-    },
-    onChangeRollCall(type, row) {
-      let rollCall = this.rollCall;
-      let params = {
-        courseScheduleId: rollCall.selectItem.id,
-        studentAttendances: [
-          {
-            userId: row.studentId,
-            status: type,
-          },
-        ],
-      };
-      updateStudentAttendances(params).then((res) => {
-        if (res.code == 200) {
-          this.$message.success("修改成功");
-          row.status = type;
-          this.getList();
-        } else {
-          this.$message.error(res.msg);
-        }
-      });
-    },
-    lookStudents(row) {
-      let id = row.id;
-      getStudyStudents({ courseScheduleId: id }).then((res) => {
-        if (res.code == 200) {
-          this.studentList = res.data;
-          this.studentVisible = true;
-        }
-      });
-    },
-    getCourseGroup() {
-      practiceGroupManage({ search: this.practiceId }).then((res) => {
-        if (res.code == 200) {
-          this.courseData = res.data.rows;
-          if (this.courseData.length > 0) {
-            this.name = this.courseData[0].name;
-            let originalStartDate = this.courseData[0].coursesStartDate
-              ? new Date(this.courseData[0].coursesStartDate)
-              : new Date();
-            let buyMonths = this.courseData[0].buyMonths;
-            this.accompanTime = this.courseData[0].singleClassMinutes || 25;
-            let lastDayNum = nextMonthLastDay(
-              originalStartDate.getFullYear(),
-              originalStartDate.getMonth() + buyMonths + 1
-            );
-            if (lastDayNum[2] >= originalStartDate.getDate()) {
-              originalStartDate.setMonth(
-                originalStartDate.getMonth() + buyMonths
-              );
-            } else {
-              originalStartDate = new Date(lastDayNum.join("-"));
-            }
-            originalStartDate.setDate(originalStartDate.getDate() - 1);
-            let overTime =
-              originalStartDate.getFullYear() +
-              "-" +
-              (originalStartDate.getMonth() + 1) +
-              "-" +
-              originalStartDate.getDate();
-            this.expireForm.tempCoursesExpireDate = overTime;
-          }
-        }
-      });
-    },
-    permission(str, parent) {
-      return permission(str, parent);
-    },
-    beginDate() {
-      let self = this;
-      return {
-        firstDayOfWeek: 1,
-        disabledDate(time) {
-          if (self.tableList[self.tableList.length - 1].classDate) {
-            return (
-              new Date(
-                self.tableList[self.tableList.length - 1].classDate
-              ).getTime() >=
-              time.getTime() + 24 * 60 * 60 * 1000
-            );
-          } else {
-            return time.getTime() >= Date.now();
-            //开始时间不选时,结束时间最大值小于等于当天
-          }
-        },
-      };
-    },
-    resetDate() {
-      let self = this;
-      return {
-        firstDayOfWeek: 1,
-        disabledDate(time) {
-          if (self.tableList[self.tableList.length - 1].classDate) {
-            return (
-              new Date(
-                self.tableList[self.tableList.length - 1].classDate
-              ).getTime() >= time.getTime()
-            );
-          } else {
-            return time.getTime() >= Date.now();
-            //开始时间不选时,结束时间最大值小于等于当天
-          }
-        },
-      };
-    },
-    startBigin() {
-      let timer;
-      if (this.tableList[0]?.classDate) {
-        timer = this.tableList[0]?.classDate;
-      }
-      return {
-        firstDayOfWeek: 1,
-        disabledDate(time) {
-          // 该时间不可调整到课程组第一节课程开始时间之后
-          if (timer) {
-            return new Date(timer).getTime() < time.getTime();
-          } else {
-            return time.getTime() >= Date.now();
-            //开始时间不选时,结束时间最大值小于等于当天
-          }
-        },
-      };
-    },
-    submitExpireDate() {
-      this.$refs.expireForm.validate((some) => {
-        if (some) {
-          if (this.updateCourseStatus == 1) {
-            updateCoursesExpireDate({
-              practiceGroupId: this.practiceId,
-              coursesExpireDate: this.expireForm.coursesExpireDate,
-              coursesStartDate: this.expireForm.coursesStartDate,
-            }).then((res) => {
-              if (res.code == 200) {
-                this.$message.success("有效期修改成功");
-                this.$router.push({
-                  query: merge(this.$route.query, {
-                    coursesStartDate: this.expireForm.coursesStartDate,
-                    coursesExpireDate: this.expireForm.coursesExpireDate,
-                  }),
-                });
-                this.timers =
-                  this.expireForm.coursesStartDate +
-                  "至" +
-                  this.expireForm.coursesExpireDate;
-                this.expireVisible = false;
-                this.getCourseGroup();
-                this.getList();
-              } else {
-                this.$message.error(res.msg);
-              }
-            });
-          } else if (this.updateCourseStatus == 2) {
-            updateCoursesExpireDateOnlyNormal({
-              practiceGroupId: this.practiceId,
-              coursesExpireDate: this.expireForm.coursesExpireDate,
-              coursesStartDate: this.expireForm.coursesStartDate,
-            }).then((res) => {
-              if (res.code == 200) {
-                this.$message.success("有效期修改成功");
-                this.$router.push({
-                  query: merge(this.$route.query, {
-                    coursesStartDate: this.expireForm.coursesStartDate,
-                    coursesExpireDate: this.expireForm.coursesExpireDate,
-                  }),
-                });
-                this.timers =
-                  this.expireForm.coursesStartDate +
-                  "至" +
-                  this.expireForm.coursesExpireDate;
-                this.expireVisible = false;
-                this.getCourseGroup();
-                this.getList();
-              } else {
-                this.$message.error(res.msg);
-              }
-            });
-          }
-        } else {
-          return;
-        }
-      });
-    },
-    onMarkAttendance(item) {
-      // 补考勤
-      this.markAttendance = {
-        status: true,
-        dataInfo: item,
-      };
-    },
-    batchAdjustmentTime() {
-      let tempData = this.markAttendance.dataInfo;
-      let params = {
-        teacherId: tempData.actualTeacherId,
-        courseScheduleId: tempData.id,
-        signInStatus: 1,
-        signOutStatus: 1,
-      };
-      updateTeacherAttendance(params).then((res) => {
-        if (res.code == 200) {
-          this.$message.success("补卡成功");
-          this.markAttendance.status = false;
-          this.getList();
-        } else {
-          this.$message.error(res.msg);
-        }
-      });
-    },
-    getList() {
-      // 乔乔说后台分页数据是假的所以不分页 page: this.rules.page, rows: this.rules.limit   this.rules.total = res.data.pageInfo.total;
-      findPracticeGroupCourseSchedules({ practiceId: this.practiceId }).then(
-        (res) => {
-          if (res.code == 200) {
-            this.tableList = res.data.pageInfo.rows;
-          }
-        }
-      );
-    },
-    goBack() {
-      this.$store.dispatch("delVisitedViews", this.$route);
-      this.$router.push({
-        path: "/accompanyManager/accompany",
-      });
-    },
-    teacherClose() {
-      this.isMultiple = false;
-      this.teacherForm.teacher = null;
-      this.teacherVisible = false;
-    },
-    handleClose() {
-      this.$refs["maskForm"].resetFields();
-      this.courseVisible = false;
-      // this.startTime = "";
-      // this.maskForm = {
-      //   date: "",
-      //   startTime: "",
-      //   id: ""
-      // };
-    },
-    expireClose() {
-      this.expireVisible = false;
-      this.expireForm.coursesExpireDate = null;
-      this.$refs["expireForm"].resetFields();
-    },
-    submitResetClass() {
-      //   endClassTimeStr: this.maskForm.endTime,
-      let maskForm = this.maskForm;
-      let diff = dayjs(maskForm.date + " " + maskForm.startTime).diff(
-        new Date(),
-        "second"
-      );
-      if (diff <= 0) {
-        this.$message.error("课程开始时间必须大于当前时间");
-        return;
-      }
-      this.$refs.maskForm.validate((valid) => {
-        if (valid) {
-          let obj = {
-            startClassTime: dayjs(
-              this.maskForm.date + " " + this.maskForm.startTime
-            ).format("YYYY-MM-DD HH:mm:ss"),
-            id: this.maskForm.id,
-            classDate: this.maskForm.date,
-            groupType: "PRACTICE",
-          };
-          resetCourse(obj).then((res) => {
-            if (res.code == 200) {
-              this.$message.success("修改成功");
-              this.courseVisible = false;
-              this.getList();
-            }
-          });
-        }
-      });
-    },
-    resetClass(row) {
-      /**
-       * maskForm.startTime
-       *
-       */
-      this.$nextTick(() => {
-        this.maskForm = {
-          date: dayjs(row.classDate).format("YYYY-MM-DD"),
-          startTime: row.startClassTimeStr.substring(0, 5),
-          endTime: row.endClassTimeStr.substring(0, 5),
-          id: row.id,
-        };
-        // this.startTime = row.startClassTimeStr.substring(0, 5);
-      });
-      this.coursesExpireDate = row.coursesExpireDate;
-      // 修改课时
-      this.courseVisible = true;
-    },
-    resetTeacher(row) {
-      // 单节课
-      this.isMultiple = false;
-      this.activeRow = row;
-      this.teacherForm.teacher = row.actualTeacherId;
-      this.teacherVisible = true;
-    },
-    resetTeachers() {
-      // 课程组
-      this.isMultiple = true;
-      this.teacherForm.teacher = this.courseData[0].userId;
-      this.teacherForm.name = this.courseData[0].name;
-      this.teacherForm.subjectId = this.courseData[0].subjectId;
-      this.teacherForm.educationalTeacherId =
-        this.courseData[0].educationalTeacherId || null;
-      this.teacherVisible = true;
-    },
-    // 提交课程组修改
-    subresetTeacher() {
-      this.$refs.teacherForm.validate((some) => {
-        if (some) {
-          if (this.isMultiple) {
-            // 修改课程组老师
-
-            practiceGroupTeacherAdjust({
-              practiceGroupId: this.practiceId,
-              teacherId: this.teacherForm.teacher,
-              subjectId: this.teacherForm.subjectId,
-              educationalTeacherId: this.teacherForm.educationalTeacherId,
-            }).then((res) => {
-              if (res.code == 200) {
-                this.$message.success("修改成功");
-                this.getCourseGroup();
-                this.getList();
-                this.teacherVisible = false;
-              }
-            });
-          } else {
-            // 修改单节课老师
-            practiceCourseTeacherAdjust({
-              courseScheduleId: this.activeRow.id,
-              teacherId: this.teacherForm.teacher,
-            }).then((res) => {
-              if (res.code == 200) {
-                this.$message.success("修改成功");
-                this.getList();
-                this.teacherVisible = false;
-              }
-            });
-          }
-        } else {
-          return;
-        }
-      });
-    },
-    coursesDate() {
-      let self = this;
-      return {
-        firstDayOfWeek: 1,
-        disabledDate: (time) => {
-          // if (self.leftForm.courseStart) {
-          // let date = new Date(self.leftForm.courseStart.replace(/-/, "/"));
-          // coursesExpireDate
-          let dayjs = this.$helpers.dayjs;
-          let nowDate = dayjs(new Date()).valueOf() - 24 * 60 * 60 * 1000;
-
-          // let coursesStartDate = dayjs(
-          //   this.expireForm.coursesStartDate
-          // ).valueOf();
-          // let coursesExpireDate = dayjs(
-          //   this.expireForm.coursesExpireDate
-          // ).valueOf();
-          // let startTime =
-          //   coursesStartDate - nowDate > 0 ? coursesStartDate : nowDate;
-          // || time.getTime() > coursesExpireDate
-
-
-            let startTime = nowDate
-          return (
-            time.getTime() < startTime
-          );
-          // }
-          // return;
-        },
-      };
-    },
-    // 是否允许批量调整
-    isDisabled(row, index) {
-      // || !row.isCallNames
-      if (row.isSettlement) {
-        return false;
-      } else {
-        return true;
-      }
-    },
-    onCourseExpireDate() {
-      // 修改课程有效期
-    },
-    adjustment() {
-      this.adjustmentName = "批量调整";
-      this.isaddCourse = false;
-      if (this.adjustmentForm.count <= 0) {
-        this.$message.error("请至少勾选一节课");
-      } else {
-        this.adjustmentVisible = true;
-      }
-    },
-    changeSound(val) {
-      if (val) {
-        this.subjectList.forEach((item) => {
-          if (item.id == val) {
-            let strArr = this.teacherForm.name.split("•");
-            this.teacherForm.name = item.name + "•" + strArr[1];
-          }
-        });
-      }
-    },
-    addWeek() {
-      // 添加循环周期
-      this.weekList.push({
-        dayOfWeek: "",
-        startClassTime: "",
-        endClassTime: "",
-        id: new Date(),
-      });
-    },
-    // 删除循环周
-    removeWeek(item) {
-      for (let i in this.weekList) {
-        if (this.weekList[i].id == item.id) {
-          this.weekList.splice(i, 1);
-        }
-      }
-    },
-    // 批量调整
-    submitAdjustment() {
-      this.$refs["adjustmentForm"].validate((item) => {
-        if (item) {
-          let week = this.weekList;
-          if (!week[0] || !week[0].startClassTime || !week[0].dayOfWeek) {
-            this.$message.error("至少排一节课");
-            return;
-          }
-          // 开始
-          let obj = {};
-          let idArr = this.activeList.map((item) => {
-            return item.id;
-          });
-          // courseScheduleIdList
-          let courseScheduleIdList = idArr;
-          obj.courseScheduleIdList = courseScheduleIdList;
-          obj.startDate = this.adjustmentForm.courseTime;
-          obj.coursesTimes = this.adjustmentForm.addCount;
-          obj.teachingArrangementList = this.weekList;
-
-          obj.isJumpHoliday = this.adjustmentForm.checked;
-          obj.musicGroupId = this.practiceId;
-          obj.teachMode = "ONLINE";
-          obj.type = "PRACTICE";
-          batchUpdateCourseSchedule(obj).then((res) => {
-            if (res.code == 200) {
-              this.$message.success("恭喜您修改成功");
-              this.adjustmentVisible = false;
-              this.getList();
-            }
-          });
-        }
-      });
-    },
-    handleSelectionChange(val) {
-      this.adjustmentForm.count = val.length;
-      this.activeList = val;
-    },
-    clearAttend(row) {
-      this.$confirm("是否清除考勤记录?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          cleanAttendance({ courseScheduleIds: row.id }).then((res) => {
-            if (res.code == 200) {
-              this.$message.success("清除成功");
-              this.getList();
-            } else {
-              this.$message.error(res.msg);
-            }
-          });
-        })
-        .catch(() => {});
-    },
-    // 网管课加课弹窗
-    addCourse() {
-      this.adjustmentName = "网管课加课";
-      this.isaddCourse = true;
-      this.adjustmentVisible = true;
-    },
-    // 网管课加课提交
-    addCourseSubmit() {
-      this.$refs["adjustmentForm"].validate((item) => {
-        if (item) {
-          let week = this.weekList;
-          if (!week[0] || !week[0].startClassTime || !week[0].dayOfWeek) {
-            this.$message.error("至少排一节课");
-            return;
-          }
-          // 开始
-          let obj = {};
-          obj.startDate = this.adjustmentForm.courseTime;
-          obj.coursesTimes = this.adjustmentForm.addCount;
-          obj.teachingArrangementList = this.weekList;
-
-          obj.isJumpHoliday = this.adjustmentForm.checked;
-          obj.musicGroupId = this.practiceId;
-          obj.teachMode = "ONLINE";
-          obj.type = "PRACTICE";
-          batchAddCourses(obj).then((res) => {
-            if (res.code == 200) {
-              this.$message.success("恭喜您添加成功");
-              this.adjustmentVisible = false;
-              this.getList();
-            }
-          });
-        }
-      });
-    },
-    // 删除
-    removeClass(row) {
-      this.$confirm("是否删除该课程?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      }).then(() => {
-        bathDelete({ courseScheduleIds: row.id }).then((res) => {
-          if (res.code == 200) {
-            this.$message.success("删除成功");
-            this.getList();
-          }
-        });
-      });
-    },
-    changeStartTime(val) {
-      this.$nextTick((res) => {
-        if (val) {
-          this.$set(
-            this.maskForm,
-            "endTime",
-            addTimerFormMinute(this.maskForm.date, val, this.accompanTime)
-          );
-        } else {
-          this.$set(this.maskForm, "endTime", "");
-        }
-      });
-    },
-    changeStartTimes(val, item) {
-      this.$nextTick((res) => {
-        if (val) {
-          let str = dayjs(new Date()).format("YYYY-MM-DD");
-          this.$set(
-            item,
-            "endClassTime",
-            addTimerFormMinute(str, val, this.accompanTime)
-          );
-        } else {
-          this.$set(item, "endClassTime", "");
-        }
-      });
-    },
-  },
-  filters: {
-    studentCallName: (value) => {
-      let template = {
-        NORMAL: "到课",
-        TRUANT: "未到",
-        LEAVE: "请假",
-        DROP_OUT: "退学",
-        LATE: "迟到",
-        "": "未到",
-      };
-      return template[value];
-    },
-  },
-  watch: {
-    adjustmentVisible(val) {
-      if (!val) {
-        if( this.$refs.adjustmentForm){
-            this.$refs.adjustmentForm.resetFields();
-        }
-        this.weekList = [
-          {
-            dayOfWeek: "",
-            startTime: "",
-            endTime: "",
-            moid: new Date().getTime(),
-          },
-        ];
-      }
-    },
-  },
-  computed: {},
-};
-</script>
-<style lang="scss" scoped>
-.titlewrap {
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-start;
-  align-items: center;
-}
-.wrap {
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-start;
-  div {
-    margin-right: 20px;
-    max-width: inherit;
-  }
-}
-.countWrap {
-  ::v-deep .el-date-editor.el-input,
-  ::v-deep .el-date-editor.el-input__inner {
-    width: 100px !important;
-  }
-}
-</style>
+<template>
+  <div class="m-container">
+    <!-- <div class="titlewrap"> -->
+      <h2>
+        <el-page-header @back="goBack" :content="name"></el-page-header>
+      </h2>
+      <!-- <p style="margin-bottom: 10px; margin-left: 30px">
+        课程有效期:{{ timers }}
+      </p> -->
+    <!-- </div> -->
+
+    <!--   v-permission="'vipGroupManage/updateVipBaseInfo'" -->
+    <div class="m-core">
+      <div class="wrap">
+      <div
+        class="newBand"
+        @click="resetTeachers"
+        v-if="courseType && courseType != 'TRIAL'"
+        v-permission="'courseSchedule/practiceGroupTeacherAdjust'"
+      >
+        课程组调整
+      </div>
+      <!-- // accompanys/addCourse -->
+      <div
+        v-permission="{
+          child: 'courseSchedule/batchAddCourses',
+          parent: '/accompanys',
+        }"
+        class="newBand"
+        @click="addCourse"
+      >
+        网管课加课
+      </div>
+      <div
+        class="newBand"
+        v-if="courseType && courseType != 'TRIAL'"
+        v-permission="'courseSchedule/batchUpdateCourseSchedule'"
+        @click="adjustment"
+      >
+        批量调整
+      </div>
+
+      <!-- <div
+        class="newBand"
+        v-permission="'courseSchedule/updateCoursesExpireDate'"
+        @click="onUpdateCourse(1)"
+      >
+        有效期调整(高权限)
+      </div>
+      <div
+        class="newBand"
+        v-permission="'courseSchedule/updateCoursesExpireDateOnlyNormal'"
+        @click="onUpdateCourse(2)"
+      >
+        有效期调整
+      </div> -->
+    </div>
+
+    <div class="tableWrap">
+      <el-table
+        :data="tableList"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column
+          type="selection"
+          :selectable="isDisabled"
+          width="55"
+        ></el-table-column>
+        <el-table-column
+          label="课程编号"
+          align="center"
+          prop="id"
+        ></el-table-column>
+        <el-table-column
+          label="课程名称"
+          align="center"
+          prop="name"
+        ></el-table-column>
+        <el-table-column
+          label="主教老师"
+          align="center"
+          prop="teacherName"
+        ></el-table-column>
+        <!-- <el-table-column label="主教老师" align="center" >
+          <template slot-scope="scope">
+            <div v-show="scope.row.teacher">
+              {{scope.row.teacher.realName}}
+            </div>
+          </template>
+        </el-table-column>-->
+        <!-- <el-table-column label="班级id"
+                         align="center"
+                         prop="classGroupId">
+        </el-table-column>-->
+        <el-table-column label="上课日期" align="center" prop="classDate">
+          <template slot-scope="scope">
+            <div>
+              {{ scope.row.classDate | formatTimer }}
+              {{ scope.row.startClassTimeStr | timerForMinFormat }}~{{
+                scope.row.endClassTimeStr | timerForMinFormat
+              }}
+            </div>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="开始时间"
+                         align="center"
+                         prop="startClassTimeStr">
+          <template slot-scope="scope">
+            <div>{{ scope.row.startClassTimeStr |  timerForMinFormat}}</div>
+          </template>
+        </el-table-column>
+        <el-table-column label="结束时间"
+                         align="center"
+                         prop="endClassTimeStr">
+          <template slot-scope="scope">
+            <div>{{ scope.row.endClassTimeStr | timerForMinFormat}}</div>
+          </template>
+        </el-table-column> -->
+        <el-table-column label="是否点名" align="center" prop="status">
+          <template slot-scope="scope">{{
+            scope.row.isCallNames ? "是" : "否"
+          }}</template>
+        </el-table-column>
+        <el-table-column label="课程状态" align="center" prop="status">
+          <template slot-scope="scope">
+            <div>{{ scope.row.status | coursesStatus }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column label="结算状态" align="center">
+          <template slot-scope="scope">
+            <div>{{ scope.row.isSettlement ? "已结算" : "未结算" }}</div>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="教学点" align="center" prop="schoolName">
+          <template slot-scope="scope">
+            <div>{{scope.row.schoolName?scope.row.schoolName:'网络教室'}}</div>
+          </template>
+        </el-table-column>-->
+        <el-table-column
+          label="操作"
+          width="250px"
+          align="center"
+          fixed="right"
+        >
+          <template slot-scope="scope">
+            <div>
+              <el-button
+                type="text"
+                v-if="
+                  !scope.row.isSettlement &&
+                  permission('courseSchedule/classStartDateAdjust/accompanys')
+                "
+                @click="resetClass(scope.row)"
+                >调整</el-button
+              >
+              <el-button
+                type="text"
+                v-if="
+                  !scope.row.isSettlement &&
+                  scope.row.status == 'NOT_START' &&
+                  permission('accompanys/remove')
+                "
+                @click="removeClass(scope.row)"
+                >删除</el-button
+              >
+              <el-button
+                type="text"
+                v-if="
+                  scope.row.status == 'NOT_START' &&
+                  courseType != 'TRIAL' &&
+                  permission('courseSchedule/practiceCourseTeacherAdjust/3420')
+                "
+                @click="resetTeacher(scope.row)"
+                >更换老师</el-button
+              >
+              <el-button
+                v-if="
+                  scope.row.status == 'OVER' &&
+                  scope.row.isSettlement == 0 &&
+                  permission(
+                    '/accompanys/teacherAttendance/updateTeacherAttendance'
+                  )
+                "
+                type="text"
+                @click="onMarkAttendance(scope.row)"
+                >补考勤</el-button
+              >
+              <!--  && permission('studentAttendance/updateStudentAttendances', '/accompanys') -->
+              <el-button
+                v-if="
+                  scope.row.status == 'OVER' &&
+                  permission(
+                    '/accompanys/studentAttendance/updateStudentAttendances'
+                  )
+                "
+                type="text"
+                @click="onCallName(scope.row)"
+                >点名表</el-button
+              >
+              <el-button
+                type="text"
+                v-if="
+                  !scope.row.isSettlement &&
+                  permission('accompanys/cleanAttendance')
+                "
+                @click="clearAttend(scope.row)"
+                >清除考勤</el-button
+              >
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <!-- <pagination :total="rules.total"
+                  :page.sync="rules.page"
+                  :limit.sync="rules.limit"
+                  :page-sizes="rules.page_size"
+                  @pagination="getList" /> 乔乔说后台没有分页所以一口气都展示-->
+    </div>
+    </div>
+    <!-- <el-dialog
+      :title="updateCourseStatus == 2 ? '有效期调整' : '有效期调整(高权限)'"
+      width="400px"
+      :before-close="expireClose"
+      :visible.sync="expireVisible"
+    >
+      <el-form
+        :model="expireForm"
+        ref="expireForm"
+        :rules="expireRules"
+        label-position="right"
+        label-width="120px"
+        :inline="true"
+      >
+        <el-form-item label="有效期开始时间" prop="coursesStartDate">
+          <el-date-picker
+            v-model.trim="expireForm.coursesStartDate"
+            style="width: 200px !important"
+            type="date"
+            :picker-options="startBigin()"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item label="有效期结束时间" prop="coursesExpireDate">
+          <el-date-picker
+            v-model.trim="expireForm.coursesExpireDate"
+            style="width: 200px !important"
+            type="date"
+            :picker-options="bigin"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          ></el-date-picker>
+        </el-form-item>
+        <div style="padding-left: 15px; color: red">
+          <p>有效期开始时间不得晚于课程组第一节课日期</p>
+          <p>有效期结束时间不得早于课程组最后一节课日期</p>
+        </div>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="expireVisible = false">取 消</el-button>
+        <el-button type="primary" @click="submitExpireDate">确 定</el-button>
+      </div>
+    </el-dialog> -->
+    <el-dialog
+      title="补考勤"
+      width="400px"
+      :visible.sync="markAttendance.status"
+    >
+      <el-form>
+        <el-form-item label="签到状态">{{
+          markAttendance.dataInfo.isSignIn | attendanceType
+        }}</el-form-item>
+        <el-form-item label="签到时间">{{
+          markAttendance.dataInfo.signInTime
+        }}</el-form-item>
+        <el-form-item label="签退状态">{{
+          markAttendance.dataInfo.isSignOut | attendanceOutType
+        }}</el-form-item>
+        <el-form-item label="签退时间">{{
+          markAttendance.dataInfo.signOutTime
+        }}</el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="markAttendance.status = false">取 消</el-button>
+        <el-button
+          type="primary"
+          :disabled="
+            markAttendance.dataInfo.isSignIn == 1 &&
+            markAttendance.dataInfo.isSignOut == 1
+              ? true
+              : false
+          "
+          @click="batchAdjustmentTime"
+          >确定补卡</el-button
+        >
+      </div>
+    </el-dialog>
+    <el-dialog
+      title="课程调整"
+      width="400px"
+      :before-close="handleClose"
+      :visible.sync="courseVisible"
+    >
+      <el-form
+        :model="maskForm"
+        ref="maskForm"
+        :rules="maskRules"
+        label-position="right"
+        label-width="80px"
+        :inline="true"
+      >
+        <el-form-item label="上课日期" prop="date">
+          <el-date-picker
+            v-model.trim="maskForm.date"
+            type="date"
+            :picker-options="courseOption"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          ></el-date-picker>
+        </el-form-item>
+        <!-- 试听课  v-if="courseType != 'TRIAL'"-->
+        <!-- <el-form-item label="上课日期" prop="date" v-else>
+          <el-date-picker
+            v-model.trim="maskForm.date"
+            style="width: 200px !important"
+            type="date"
+            value-format="yyyy-MM-dd"
+            :picker-options="bigin"
+            placeholder="选择日期"
+          ></el-date-picker>
+        </el-form-item> -->
+        <el-form-item
+          label="开始时间"
+          prop="startTime"
+          :rules="[
+            { required: true, message: '请选择开始时间', trigger: 'change' },
+          ]"
+        >
+          <el-time-picker
+            placeholder="起始时间"
+            v-model="maskForm.startTime"
+            @change="changeStartTime"
+            format="HH:mm"
+            value-format="HH:mm"
+            :picker-options="{
+              selectableRange: `04:00:00 - 23:30:00`,
+            }"
+          ></el-time-picker>
+        </el-form-item>
+        <el-form-item label="结束时间" prop="endTime">
+          <el-time-picker
+            placeholder="结束时间"
+            format="HH:mm"
+            value-format="HH:mm"
+            v-model="maskForm.endTime"
+            disabled
+          >
+          </el-time-picker>
+        </el-form-item>
+        <!--  v-show="maskForm.teachMode=='OFFLINE'"-->
+        <!-- <el-form-item label="课程类型" prop="courseType">
+          <el-select clearable v-model.trim="maskForm.teachMode">
+            <el-option label="线上课" value="ONLINE"></el-option>
+            <el-option label="线下课" value="OFFLINE"></el-option>
+          </el-select>
+        </el-form-item>-->
+        <!-- <el-form-item label="教学地点" v-show="maskForm.teachMode == 'OFFLINE'">
+          <el-select v-model.trim="maskForm.address" filterable clearable>
+            <el-option
+              v-for="(item,index) in schoolList"
+              :key="index"
+              :value="item.id"
+              :label="item.name"
+            ></el-option>
+          </el-select>
+        </el-form-item> 1-->
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="handleClose">取 消</el-button>
+        <el-button type="primary" @click="submitResetClass">确 定</el-button>
+      </div>
+    </el-dialog>
+
+    <el-dialog
+      :title="isMultiple ? '课程组调整' : '更换老师'"
+      width="400px"
+      :before-close="teacherClose"
+      :visible.sync="teacherVisible"
+    >
+      <el-form
+        :model="teacherForm"
+        ref="teacherForm"
+        :rules="teacherRules"
+        label-position="right"
+        label-width="100px"
+        :inline="true"
+      >
+        <el-form-item label="课程班名称" v-show="isMultiple">
+          <el-input v-model.trim="teacherForm.name" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="课程组声部" v-show="isMultiple">
+          <el-select
+            v-model.trim="teacherForm.subjectId"
+            @change="changeSound"
+            filterable
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in subjectList"
+              :key="index"
+              :value="item.id"
+              :label="item.name"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="课程组老师" v-if="isMultiple">
+          <el-select v-model.trim="teacherForm.teacher" filterable clearable>
+            <el-option
+              v-for="(item, index) in teacherList"
+              :key="index"
+              :value="item.id"
+              :label="item.realName"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="指导老师" v-else>
+          <el-select v-model.trim="teacherForm.teacher" filterable clearable>
+            <el-option
+              v-for="(item, index) in teacherList"
+              :key="index"
+              :value="item.id"
+              :label="item.realName"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="乐团主管" v-show="isMultiple">
+          <el-select
+            v-model.trim="teacherForm.educationalTeacherId"
+            filterable
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in selects.roles.EDUCATION"
+              :key="index"
+              :value="item.value"
+              :label="item.label"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="isMultiple">
+          <p style="color: #ff5353">
+            *更改课程组老师,将更换全部未开始课程的老师
+          </p>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="teacherVisible = false">取 消</el-button>
+        <el-button type="primary" @click="subresetTeacher">确 定</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog
+      :title="adjustmentName"
+      width="800px"
+      :visible.sync="adjustmentVisible"
+    >
+      <el-form
+        :model="adjustmentForm"
+        label-position="right"
+        label-width="120px"
+        ref="adjustmentForm"
+        :rules="adjustmentRules"
+        :inline="true"
+      >
+        <el-form-item label="已选择课时数" v-if="!isaddCourse">
+          <el-input disabled v-model.trim="adjustmentForm.count"></el-input>
+        </el-form-item>
+        <el-form-item label="添加课时数" prop="addCount" v-if="isaddCourse">
+          <el-input
+            type="number"
+            @mousewheel.native.prevent
+            v-model.trim="adjustmentForm.addCount"
+          ></el-input>
+        </el-form-item>
+        <br />
+        <!-- <el-form-item label="单课费用" prop="fee" v-show="isaddCourse">
+          <el-input v-model.trim="adjustmentForm.fee"></el-input>
+        </el-form-item>-->
+        <el-form-item label="排课起始时间" prop="courseTime">
+          <el-date-picker
+            v-model.trim="adjustmentForm.courseTime"
+            :picker-options="pickerOptions"
+            style="width: 200px !important"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          ></el-date-picker>
+          <el-checkbox
+            style="margin-left: 10px"
+            v-model.trim="adjustmentForm.checked"
+            >是否跳过节假日</el-checkbox
+          >
+        </el-form-item>
+      </el-form>
+      <div class="WeekWrap">
+        <h3 style="margin-bottom: 20px">
+          循环次数
+          <el-button type="text" style="margin-left: 10px" @click="addWeek"
+            >添加</el-button
+          >
+        </h3>
+        <div class="countWrap" style="margin-bottom: 10px">
+          <div
+            class="countItem"
+            style="margin-bottom: 20px"
+            v-for="(item, index) in weekList"
+            :key="index"
+          >
+            <span>循环周期:</span>
+            <el-select v-model.trim="item.dayOfWeek" filterable clearable>
+              <el-option
+                v-for="(item, index) in weekDateList"
+                :key="index"
+                :label="item.label"
+                :value="item.value"
+              ></el-option>
+            </el-select>
+            <span style="margin-left: 10px">开始时间</span>
+            <el-time-picker
+              style="margin-left: 10px"
+              placeholder
+              v-model.trim="item.startClassTime"
+              @change="
+                (val) => {
+                  changeStartTimes(val, item);
+                }
+              "
+              format="HH:mm"
+              value-format="HH:mm"
+              :picker-options="{
+                selectableRange: '04:30:00 - 23:30:00',
+              }"
+            ></el-time-picker>
+            <span style="margin-left: 10px">结束时间</span>
+            <el-time-picker
+              style="margin-left: 10px"
+              placeholder
+              v-model.trim="item.endClassTime"
+              format="HH:mm"
+              value-format="HH:mm"
+              disabled
+              :picker-options="{
+                selectableRange: '04:30:00 - 23:30:00',
+              }"
+            ></el-time-picker>
+            <el-button
+              style="margin-left: 10px"
+              type="danger"
+              @click="removeWeek(item)"
+              icon="el-icon-delete"
+              circle
+            ></el-button>
+          </div>
+        </div>
+      </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="adjustmentVisible = false">取 消</el-button>
+        <el-button
+          type="primary"
+          v-show="!isaddCourse"
+          @click="submitAdjustment"
+          >确 定</el-button
+        >
+        <el-button type="primary" v-show="isaddCourse" @click="addCourseSubmit"
+          >确 定</el-button
+        >
+      </div>
+    </el-dialog>
+
+    <el-dialog title="点名表" width="700px" :visible.sync="rollCall.status">
+      <el-table
+        :data="rollCall.gridData"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+      >
+        <el-table-column
+          align="center"
+          property="userName"
+          label="学员姓名"
+        ></el-table-column>
+        <el-table-column
+          align="center"
+          property="phone"
+          label="手机号"
+        ></el-table-column>
+        <el-table-column
+          align="center"
+          property="subjectName"
+          label="学员声部"
+        ></el-table-column>
+        <el-table-column align="center" label="到课状态">
+          <template slot-scope="scope">
+            {{ scope.row.status | studentCallName }}
+          </template>
+        </el-table-column>
+        <el-table-column
+          align="center"
+          label="操作"
+          v-if="rollCall.selectItem.isSettlement == 0"
+          width="220px"
+        >
+          <template slot-scope="scope">
+            <el-button
+              size="mini"
+              @click="onChangeRollCall('TRUANT', scope.row)"
+              type="primary"
+              round
+              >未到</el-button
+            >
+            <el-button
+              size="mini"
+              @click="onChangeRollCall('LEAVE', scope.row)"
+              type="warning"
+              round
+              >请假</el-button
+            >
+            <el-button
+              size="mini"
+              @click="onChangeRollCall('NORMAL', scope.row)"
+              type="success"
+              round
+              >到课</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        :total="rollCall.total"
+        :page.sync="rollCall.page"
+        :limit.sync="rollCall.limit"
+        :page-sizes="rollCall.page_size"
+        @pagination="getCallName"
+      />
+    </el-dialog>
+  </div>
+</template>
+<script>
+import pagination from "@/components/Pagination/index";
+import { permission } from "@/utils/directivePage";
+import { nextMonthLastDay } from "@/utils/validate";
+import {
+  findPracticeGroupCourseSchedules,
+  practiceCourseAdjus,
+  getTeacher,
+  practiceGroupManage,
+  practiceGroupTeacherAdjust,
+  practiceCourseTeacherAdjust,
+  cleanAttendance,
+  batchAddCourses,
+  getPracticeApplySubjects,
+  batchUpdateCourseSchedule,
+  updateTeacherAttendance,
+  updateCoursesExpireDate,
+  updateCoursesExpireDateOnlyNormal,
+  findAttendanceStudentByCourseWithPage,
+  updateStudentAttendances,
+  resetCourse,
+} from "@/api/buildTeam";
+import {
+  vipCourseAdjust,
+  batchAppendVipGroupCourses,
+  bathDelete,
+} from "@/api/vipSeting";
+import merge from "webpack-merge";
+// import { start } from 'repl';
+import { diffTimerFormMinute, addTimerFormMinute } from "@/utils/date";
+import dayjs from "dayjs";
+let that;
+export default {
+  components: {
+    pagination,
+  },
+  data() {
+    return {
+      adjustmentName: "",
+      isaddCourse: false,
+      adjustmentVisible: false,
+      expireVisible: false,
+      isMultiple: true,
+      name: "网管课程组",
+      courseVisible: false,
+      teacherVisible: false,
+      Frules: null,
+      FsearchForm: null,
+      userId: null,
+      activeRow: null,
+      courseType: null,
+      rules: {
+        // 分页规则
+        limit: 20, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 50, 100], // 选择限制显示条数
+      },
+      tableList: [],
+      teacherList: [],
+      courseData: [],
+      practiceId: null,
+      subjectList: [],
+      maskForm: {
+        date: "",
+        startTime: "",
+        id: "",
+        endTime: "",
+      },
+      adjustmentForm: {
+        count: "",
+        courseTime: "",
+        checked: false,
+        addCount: "",
+        courseType: "",
+        fee: "",
+      },
+      startTime: null,
+      expireForm: {
+        coursesExpireDate: null,
+        coursesStartDate: null,
+        tempCoursesExpireDate: null,
+      },
+      expireRules: {
+        coursesStartDate: [
+          { required: true, message: "请选择有效期开始时间", trigger: "blur" },
+        ],
+        coursesExpireDate: [
+          { required: true, message: "请选择有效期结束时间", trigger: "blur" },
+        ],
+      },
+      maskRules: {
+        date: [{ required: true, message: "请选择上课时间", trigger: "blur" }],
+        // startTime: [{ required: true, message: '请选择上课开始时间', trigger: 'blur' },],
+        // endTime: [
+        //   { required: true, message: "请选择上课结束时间", trigger: "blur" }
+        // ]
+      },
+      teacherRules: {
+        teacher: [{ required: true, message: "请选择老师", trigger: "blur" }],
+        subjectId: [{ required: true, message: "请选择声部", trigger: "blur" }],
+        educationalTeacherId: [
+          { required: true, message: "请选择乐团主管", trigger: "blur" },
+        ],
+      },
+      teacherForm: {
+        teacher: null,
+        name: null,
+        subjectId: null,
+        educationalTeacherId: null,
+      },
+      courseOption: null,
+      coursesExpireDate: null,
+      adjustmentRules: {
+        courseTime: [{ required: true, message: "请选择开始时间" }],
+        addCount: [{ required: true, message: "请输入加课次数" }],
+        courseType: [{ required: true, message: "请选择课程类型" }],
+        fee: [{ required: true, message: "请输入费用" }],
+      },
+      pickerOptions: {
+        firstDayOfWeek: 1,
+        disabledDate(time) {
+          return time.getTime() + 86400000 <= new Date().getTime();
+        },
+      },
+      weekList: [
+        {
+          dayOfWeek: "",
+          startTime: "",
+          endTime: "",
+          moid: new Date().getTime(),
+        },
+      ],
+      weekDateList: [
+        { value: "1", label: "星期一" },
+        { value: "2", label: "星期二" },
+        { value: "3", label: "星期三" },
+        { value: "4", label: "星期四" },
+        { value: "5", label: "星期五" },
+        { value: "6", label: "星期六" },
+        { value: "7", label: "星期日" },
+      ],
+      activeList: [],
+      timers: null,
+      markAttendance: {
+        // 考勤状态
+        status: false,
+        dataInfo: {},
+      },
+      bigin: this.beginDate(),
+      rollCall: {
+        // 点名表
+        status: false,
+        gridData: [],
+        selectItem: {}, // 选中状态
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
+      },
+      accompanTime: 25,
+      updateCourseStatus: 1,
+    };
+  },
+  created() {
+    that = this;
+  },
+  async mounted() {
+    await this.$store.dispatch("setOrganRole");
+    this.init();
+  },
+  methods: {
+    init() {
+      this.practiceId = this.$route.query.id;
+      this.userId = this.$route.query.userId;
+      this.courseType = this.$route.query.type;
+      this.expireForm.coursesExpireDate = this.$route.query.coursesExpireDate;
+      this.expireForm.coursesStartDate = this.$route.query.coursesStartDate;
+      this.timers =
+        this.$route.query.coursesStartDate +
+        "至" +
+        this.$route.query.coursesExpireDate;
+
+      //   <!-- 状态 指导老师 活动方案-->
+      getTeacher({ organId: this.organId}).then((res) => {
+        if (res.code == 200) {
+          this.teacherList = res.data;
+        }
+      });
+      // 获取默认声部信息
+      getPracticeApplySubjects().then((res) => {
+        if (res.code == 200) {
+          this.subjectList = res.data;
+        }
+      });
+      // 获取课程组信息
+      this.courseOption = this.coursesDate();
+      this.getCourseGroup();
+      this.getList();
+    },
+    onUpdateCourse(type) {
+      this.updateCourseStatus = type;
+
+      this.expireVisible = true;
+    },
+    onCallName(item) {
+      // 点名表
+      this.rollCall.page = 1;
+      this.rollCall.selectItem = item;
+      this.getCallName();
+    },
+    getCallName() {
+      let rollCall = this.rollCall;
+      let params = {
+        page: rollCall.page,
+        rows: rollCall.limit,
+        courseScheduleId: rollCall.selectItem.id,
+      };
+      findAttendanceStudentByCourseWithPage(params).then((res) => {
+        let result = res.data;
+        rollCall.status = true;
+        if (res.code == 200) {
+          rollCall.gridData = result.rows;
+          rollCall.total = result.total;
+        }
+      });
+    },
+    onChangeRollCall(type, row) {
+      let rollCall = this.rollCall;
+      let params = {
+        courseScheduleId: rollCall.selectItem.id,
+        studentAttendances: [
+          {
+            userId: row.studentId,
+            status: type,
+          },
+        ],
+      };
+      updateStudentAttendances(params).then((res) => {
+        if (res.code == 200) {
+          this.$message.success("修改成功");
+          row.status = type;
+          this.getList();
+        } else {
+          this.$message.error(res.msg);
+        }
+      });
+    },
+    lookStudents(row) {
+      let id = row.id;
+      getStudyStudents({ courseScheduleId: id }).then((res) => {
+        if (res.code == 200) {
+          this.studentList = res.data;
+          this.studentVisible = true;
+        }
+      });
+    },
+    getCourseGroup() {
+      practiceGroupManage({ search: this.practiceId }).then((res) => {
+        if (res.code == 200) {
+          this.courseData = res.data.rows;
+          if (this.courseData.length > 0) {
+            this.name = this.courseData[0].name;
+            let originalStartDate = this.courseData[0].coursesStartDate
+              ? new Date(this.courseData[0].coursesStartDate)
+              : new Date();
+            let buyMonths = this.courseData[0].buyMonths;
+            this.accompanTime = this.courseData[0].singleClassMinutes || 25;
+            let lastDayNum = nextMonthLastDay(
+              originalStartDate.getFullYear(),
+              originalStartDate.getMonth() + buyMonths + 1
+            );
+            if (lastDayNum[2] >= originalStartDate.getDate()) {
+              originalStartDate.setMonth(
+                originalStartDate.getMonth() + buyMonths
+              );
+            } else {
+              originalStartDate = new Date(lastDayNum.join("-"));
+            }
+            originalStartDate.setDate(originalStartDate.getDate() - 1);
+            let overTime =
+              originalStartDate.getFullYear() +
+              "-" +
+              (originalStartDate.getMonth() + 1) +
+              "-" +
+              originalStartDate.getDate();
+            this.expireForm.tempCoursesExpireDate = overTime;
+          }
+        }
+      });
+    },
+    permission(str, parent) {
+      return permission(str, parent);
+    },
+    beginDate() {
+      let self = this;
+      return {
+        firstDayOfWeek: 1,
+        disabledDate(time) {
+          if (self.tableList[self.tableList.length - 1].classDate) {
+            return (
+              new Date(
+                self.tableList[self.tableList.length - 1].classDate
+              ).getTime() >=
+              time.getTime() + 24 * 60 * 60 * 1000
+            );
+          } else {
+            return time.getTime() >= Date.now();
+            //开始时间不选时,结束时间最大值小于等于当天
+          }
+        },
+      };
+    },
+    resetDate() {
+      let self = this;
+      return {
+        firstDayOfWeek: 1,
+        disabledDate(time) {
+          if (self.tableList[self.tableList.length - 1].classDate) {
+            return (
+              new Date(
+                self.tableList[self.tableList.length - 1].classDate
+              ).getTime() >= time.getTime()
+            );
+          } else {
+            return time.getTime() >= Date.now();
+            //开始时间不选时,结束时间最大值小于等于当天
+          }
+        },
+      };
+    },
+    startBigin() {
+      let timer;
+      if (this.tableList[0]?.classDate) {
+        timer = this.tableList[0]?.classDate;
+      }
+      return {
+        firstDayOfWeek: 1,
+        disabledDate(time) {
+          // 该时间不可调整到课程组第一节课程开始时间之后
+          if (timer) {
+            return new Date(timer).getTime() < time.getTime();
+          } else {
+            return time.getTime() >= Date.now();
+            //开始时间不选时,结束时间最大值小于等于当天
+          }
+        },
+      };
+    },
+    submitExpireDate() {
+      this.$refs.expireForm.validate((some) => {
+        if (some) {
+          if (this.updateCourseStatus == 1) {
+            updateCoursesExpireDate({
+              practiceGroupId: this.practiceId,
+              coursesExpireDate: this.expireForm.coursesExpireDate,
+              coursesStartDate: this.expireForm.coursesStartDate,
+            }).then((res) => {
+              if (res.code == 200) {
+                this.$message.success("有效期修改成功");
+                this.$router.push({
+                  query: merge(this.$route.query, {
+                    coursesStartDate: this.expireForm.coursesStartDate,
+                    coursesExpireDate: this.expireForm.coursesExpireDate,
+                  }),
+                });
+                this.timers =
+                  this.expireForm.coursesStartDate +
+                  "至" +
+                  this.expireForm.coursesExpireDate;
+                this.expireVisible = false;
+                this.getCourseGroup();
+                this.getList();
+              } else {
+                this.$message.error(res.msg);
+              }
+            });
+          } else if (this.updateCourseStatus == 2) {
+            updateCoursesExpireDateOnlyNormal({
+              practiceGroupId: this.practiceId,
+              coursesExpireDate: this.expireForm.coursesExpireDate,
+              coursesStartDate: this.expireForm.coursesStartDate,
+            }).then((res) => {
+              if (res.code == 200) {
+                this.$message.success("有效期修改成功");
+                this.$router.push({
+                  query: merge(this.$route.query, {
+                    coursesStartDate: this.expireForm.coursesStartDate,
+                    coursesExpireDate: this.expireForm.coursesExpireDate,
+                  }),
+                });
+                this.timers =
+                  this.expireForm.coursesStartDate +
+                  "至" +
+                  this.expireForm.coursesExpireDate;
+                this.expireVisible = false;
+                this.getCourseGroup();
+                this.getList();
+              } else {
+                this.$message.error(res.msg);
+              }
+            });
+          }
+        } else {
+          return;
+        }
+      });
+    },
+    onMarkAttendance(item) {
+      // 补考勤
+      this.markAttendance = {
+        status: true,
+        dataInfo: item,
+      };
+    },
+    batchAdjustmentTime() {
+      let tempData = this.markAttendance.dataInfo;
+      let params = {
+        teacherId: tempData.actualTeacherId,
+        courseScheduleId: tempData.id,
+        signInStatus: 1,
+        signOutStatus: 1,
+      };
+      updateTeacherAttendance(params).then((res) => {
+        if (res.code == 200) {
+          this.$message.success("补卡成功");
+          this.markAttendance.status = false;
+          this.getList();
+        } else {
+          this.$message.error(res.msg);
+        }
+      });
+    },
+    getList() {
+      // 乔乔说后台分页数据是假的所以不分页 page: this.rules.page, rows: this.rules.limit   this.rules.total = res.data.pageInfo.total;
+      findPracticeGroupCourseSchedules({ practiceId: this.practiceId }).then(
+        (res) => {
+          if (res.code == 200) {
+            this.tableList = res.data.pageInfo.rows;
+          }
+        }
+      );
+    },
+    goBack() {
+      this.$store.dispatch("delVisitedViews", this.$route);
+      this.$router.push({
+        path: "/accompanyManager/accompany",
+      });
+    },
+    teacherClose() {
+      this.isMultiple = false;
+      this.teacherForm.teacher = null;
+      this.teacherVisible = false;
+    },
+    handleClose() {
+      this.$refs["maskForm"].resetFields();
+      this.courseVisible = false;
+      // this.startTime = "";
+      // this.maskForm = {
+      //   date: "",
+      //   startTime: "",
+      //   id: ""
+      // };
+    },
+    expireClose() {
+      this.expireVisible = false;
+      this.expireForm.coursesExpireDate = null;
+      this.$refs["expireForm"].resetFields();
+    },
+    submitResetClass() {
+      //   endClassTimeStr: this.maskForm.endTime,
+      let maskForm = this.maskForm;
+      let diff = dayjs(maskForm.date + " " + maskForm.startTime).diff(
+        new Date(),
+        "second"
+      );
+      if (diff <= 0) {
+        this.$message.error("课程开始时间必须大于当前时间");
+        return;
+      }
+      this.$refs.maskForm.validate((valid) => {
+        if (valid) {
+          let obj = {
+            startClassTime: dayjs(
+              this.maskForm.date + " " + this.maskForm.startTime
+            ).format("YYYY-MM-DD HH:mm:ss"),
+            id: this.maskForm.id,
+            classDate: this.maskForm.date,
+            groupType: "PRACTICE",
+          };
+          resetCourse(obj).then((res) => {
+            if (res.code == 200) {
+              this.$message.success("修改成功");
+              this.courseVisible = false;
+              this.getList();
+            }
+          });
+        }
+      });
+    },
+    resetClass(row) {
+      /**
+       * maskForm.startTime
+       *
+       */
+      this.$nextTick(() => {
+        this.maskForm = {
+          date: dayjs(row.classDate).format("YYYY-MM-DD"),
+          startTime: row.startClassTimeStr.substring(0, 5),
+          endTime: row.endClassTimeStr.substring(0, 5),
+          id: row.id,
+        };
+        // this.startTime = row.startClassTimeStr.substring(0, 5);
+      });
+      this.coursesExpireDate = row.coursesExpireDate;
+      // 修改课时
+      this.courseVisible = true;
+    },
+    resetTeacher(row) {
+      // 单节课
+      this.isMultiple = false;
+      this.activeRow = row;
+      this.teacherForm.teacher = row.actualTeacherId;
+      this.teacherVisible = true;
+    },
+    resetTeachers() {
+      // 课程组
+      this.isMultiple = true;
+      this.teacherForm.teacher = this.courseData[0].userId;
+      this.teacherForm.name = this.courseData[0].name;
+      this.teacherForm.subjectId = this.courseData[0].subjectId;
+      this.teacherForm.educationalTeacherId =
+        this.courseData[0].educationalTeacherId || null;
+      this.teacherVisible = true;
+    },
+    // 提交课程组修改
+    subresetTeacher() {
+      this.$refs.teacherForm.validate((some) => {
+        if (some) {
+          if (this.isMultiple) {
+            // 修改课程组老师
+
+            practiceGroupTeacherAdjust({
+              practiceGroupId: this.practiceId,
+              teacherId: this.teacherForm.teacher,
+              subjectId: this.teacherForm.subjectId,
+              educationalTeacherId: this.teacherForm.educationalTeacherId,
+            }).then((res) => {
+              if (res.code == 200) {
+                this.$message.success("修改成功");
+                this.getCourseGroup();
+                this.getList();
+                this.teacherVisible = false;
+              }
+            });
+          } else {
+            // 修改单节课老师
+            practiceCourseTeacherAdjust({
+              courseScheduleId: this.activeRow.id,
+              teacherId: this.teacherForm.teacher,
+            }).then((res) => {
+              if (res.code == 200) {
+                this.$message.success("修改成功");
+                this.getList();
+                this.teacherVisible = false;
+              }
+            });
+          }
+        } else {
+          return;
+        }
+      });
+    },
+    coursesDate() {
+      let self = this;
+      return {
+        firstDayOfWeek: 1,
+        disabledDate: (time) => {
+          // if (self.leftForm.courseStart) {
+          // let date = new Date(self.leftForm.courseStart.replace(/-/, "/"));
+          // coursesExpireDate
+          let dayjs = this.$helpers.dayjs;
+          let nowDate = dayjs(new Date()).valueOf() - 24 * 60 * 60 * 1000;
+
+          // let coursesStartDate = dayjs(
+          //   this.expireForm.coursesStartDate
+          // ).valueOf();
+          // let coursesExpireDate = dayjs(
+          //   this.expireForm.coursesExpireDate
+          // ).valueOf();
+          // let startTime =
+          //   coursesStartDate - nowDate > 0 ? coursesStartDate : nowDate;
+          // || time.getTime() > coursesExpireDate
+
+
+            let startTime = nowDate
+          return (
+            time.getTime() < startTime
+          );
+          // }
+          // return;
+        },
+      };
+    },
+    // 是否允许批量调整
+    isDisabled(row, index) {
+      // || !row.isCallNames
+      if (row.isSettlement) {
+        return false;
+      } else {
+        return true;
+      }
+    },
+    onCourseExpireDate() {
+      // 修改课程有效期
+    },
+    adjustment() {
+      this.adjustmentName = "批量调整";
+      this.isaddCourse = false;
+      if (this.adjustmentForm.count <= 0) {
+        this.$message.error("请至少勾选一节课");
+      } else {
+        this.adjustmentVisible = true;
+      }
+    },
+    changeSound(val) {
+      if (val) {
+        this.subjectList.forEach((item) => {
+          if (item.id == val) {
+            let strArr = this.teacherForm.name.split("•");
+            this.teacherForm.name = item.name + "•" + strArr[1];
+          }
+        });
+      }
+    },
+    addWeek() {
+      // 添加循环周期
+      this.weekList.push({
+        dayOfWeek: "",
+        startClassTime: "",
+        endClassTime: "",
+        id: new Date(),
+      });
+    },
+    // 删除循环周
+    removeWeek(item) {
+      for (let i in this.weekList) {
+        if (this.weekList[i].id == item.id) {
+          this.weekList.splice(i, 1);
+        }
+      }
+    },
+    // 批量调整
+    submitAdjustment() {
+      this.$refs["adjustmentForm"].validate((item) => {
+        if (item) {
+          let week = this.weekList;
+          if (!week[0] || !week[0].startClassTime || !week[0].dayOfWeek) {
+            this.$message.error("至少排一节课");
+            return;
+          }
+          // 开始
+          let obj = {};
+          let idArr = this.activeList.map((item) => {
+            return item.id;
+          });
+          // courseScheduleIdList
+          let courseScheduleIdList = idArr;
+          obj.courseScheduleIdList = courseScheduleIdList;
+          obj.startDate = this.adjustmentForm.courseTime;
+          obj.coursesTimes = this.adjustmentForm.addCount;
+          obj.teachingArrangementList = this.weekList;
+
+          obj.isJumpHoliday = this.adjustmentForm.checked;
+          obj.musicGroupId = this.practiceId;
+          obj.teachMode = "ONLINE";
+          obj.type = "PRACTICE";
+          batchUpdateCourseSchedule(obj).then((res) => {
+            if (res.code == 200) {
+              this.$message.success("恭喜您修改成功");
+              this.adjustmentVisible = false;
+              this.getList();
+            }
+          });
+        }
+      });
+    },
+    handleSelectionChange(val) {
+      this.adjustmentForm.count = val.length;
+      this.activeList = val;
+    },
+    clearAttend(row) {
+      this.$confirm("是否清除考勤记录?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          cleanAttendance({ courseScheduleIds: row.id }).then((res) => {
+            if (res.code == 200) {
+              this.$message.success("清除成功");
+              this.getList();
+            } else {
+              this.$message.error(res.msg);
+            }
+          });
+        })
+        .catch(() => {});
+    },
+    // 网管课加课弹窗
+    addCourse() {
+      this.adjustmentName = "网管课加课";
+      this.isaddCourse = true;
+      this.adjustmentVisible = true;
+    },
+    // 网管课加课提交
+    addCourseSubmit() {
+      this.$refs["adjustmentForm"].validate((item) => {
+        if (item) {
+          let week = this.weekList;
+          if (!week[0] || !week[0].startClassTime || !week[0].dayOfWeek) {
+            this.$message.error("至少排一节课");
+            return;
+          }
+          // 开始
+          let obj = {};
+          obj.startDate = this.adjustmentForm.courseTime;
+          obj.coursesTimes = this.adjustmentForm.addCount;
+          obj.teachingArrangementList = this.weekList;
+
+          obj.isJumpHoliday = this.adjustmentForm.checked;
+          obj.musicGroupId = this.practiceId;
+          obj.teachMode = "ONLINE";
+          obj.type = "PRACTICE";
+          batchAddCourses(obj).then((res) => {
+            if (res.code == 200) {
+              this.$message.success("恭喜您添加成功");
+              this.adjustmentVisible = false;
+              this.getList();
+            }
+          });
+        }
+      });
+    },
+    // 删除
+    removeClass(row) {
+      this.$confirm("是否删除该课程?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        bathDelete({ courseScheduleIds: row.id }).then((res) => {
+          if (res.code == 200) {
+            this.$message.success("删除成功");
+            this.getList();
+          }
+        });
+      });
+    },
+    changeStartTime(val) {
+      this.$nextTick((res) => {
+        if (val) {
+          this.$set(
+            this.maskForm,
+            "endTime",
+            addTimerFormMinute(this.maskForm.date, val, this.accompanTime)
+          );
+        } else {
+          this.$set(this.maskForm, "endTime", "");
+        }
+      });
+    },
+    changeStartTimes(val, item) {
+      this.$nextTick((res) => {
+        if (val) {
+          let str = dayjs(new Date()).format("YYYY-MM-DD");
+          this.$set(
+            item,
+            "endClassTime",
+            addTimerFormMinute(str, val, this.accompanTime)
+          );
+        } else {
+          this.$set(item, "endClassTime", "");
+        }
+      });
+    },
+  },
+  filters: {
+    studentCallName: (value) => {
+      let template = {
+        NORMAL: "到课",
+        TRUANT: "未到",
+        LEAVE: "请假",
+        DROP_OUT: "退学",
+        LATE: "迟到",
+        "": "未到",
+      };
+      return template[value];
+    },
+  },
+  watch: {
+    adjustmentVisible(val) {
+      if (!val) {
+        if( this.$refs.adjustmentForm){
+            this.$refs.adjustmentForm.resetFields();
+        }
+        this.weekList = [
+          {
+            dayOfWeek: "",
+            startTime: "",
+            endTime: "",
+            moid: new Date().getTime(),
+          },
+        ];
+      }
+    },
+  },
+  computed: {},
+};
+</script>
+<style lang="scss" scoped>
+.titlewrap {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: center;
+}
+.wrap {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  div {
+    margin-right: 20px;
+    max-width: inherit;
+  }
+}
+.countWrap {
+  ::v-deep .el-date-editor.el-input,
+  ::v-deep .el-date-editor.el-input__inner {
+    width: 100px !important;
+  }
+}
+</style>

+ 1 - 0
src/views/afterSchoolManager/afterSchoolList.vue

@@ -29,6 +29,7 @@
            <remote-search
             :commit="'setTeachers'"
             v-model="searchForm.teacherId"
+            :isForzenWithQueryCondition="true"
           />
         </el-form-item>
         <el-form-item prop="organIdList">

+ 2 - 2
src/views/afterSchoolManager/afterSchoolTeach.vue

@@ -234,7 +234,7 @@ export default {
     this.searchForm.timer = [];
     this.searchForm.timer.push(this.getNowDateAndMonday(nowTime));
     this.searchForm.timer.push(this.getNowDateAndSunday(nowTime));
-    getTeacher().then(res => {
+    getTeacher({isForzenWithQueryCondition:true}).then(res => {
       if (res.code == 200) {
         this.teacherList = res.data;
       }
@@ -467,4 +467,4 @@ export default {
 };
 </script>
 <style lang='scss' scoped>
-</style>
+</style>

+ 7 - 5
src/views/categroyManager/specialSetup/chargesList.vue

@@ -1,5 +1,6 @@
 <template>
   <div>
+    <!-- 收费标准不改 -->
     <!-- <h2>收费类型设置</h2> -->
     <div v-if="(dataList.length > 0 || pageInfo.page > 1) && contextFlag">
       <save-form
@@ -110,7 +111,7 @@
             </template>
           </el-table-column>
         </el-table>
-        <pagination
+        <!-- <pagination
           :saveKey="'chargesList'"
           sync
           :total.sync="pageInfo.total"
@@ -118,7 +119,7 @@
           :limit.sync="pageInfo.limit"
           :page-sizes="pageInfo.page_size"
           @pagination="getList"
-        />
+        /> -->
       </div>
     </div>
     <emptyPage
@@ -157,6 +158,7 @@ import {
   branchQueryPage,
   musicGroupOrganizationCourseSettingsQueryPage,
 } from "@/api/specialSetting";
+import { getType } from "@/api/buildTeam";
 import chargesForm from "./modals/chargesForm";
 import numeral from "numeral";
 import emptyPage from "@/components/emptyPage";
@@ -218,13 +220,13 @@ export default {
     this.getList();
 
     // 收费类型
-    chargeTypeList({
+    getType({
       rows: 9999,
       page: 1,
     }).then((res) => {
       if (res.code == 200) {
         const typesById = {};
-        res.data.rows.forEach((item) => {
+        res.data.forEach((item) => {
           typesById[item.id] = item.name;
           this.typesList.push({
             label: item.name,
@@ -232,7 +234,7 @@ export default {
           });
         });
         this.typesById = typesById;
-        if (res.data.rows.length <= 0) {
+        if (res.data.length <= 0) {
           this.$bus.$emit("showguide", ["teamPayType"]);
           return;
         }

+ 3 - 2
src/views/categroyManager/specialSetup/discountManage.vue

@@ -163,6 +163,7 @@
 <script>
 import pagination from '@/components/Pagination/index'
 import { chargeTypeList, subjectListTree, insertChargeTypeSubjectMapper, updateChargeTypeSubjectMapper, delChargeTypeSubjectMapper, chargeTypeSubjectMapper } from '@/api/specialSetting'
+import { getType } from "@/api/buildTeam";
 import createDiscount from './modals/create-discount'
 export default {
   name: 'typesManager',
@@ -267,13 +268,13 @@ export default {
       } catch (error) { }
     },
     getChargeTypeList () {
-      chargeTypeList({
+      getType({
         rows: 9999,
         page: 1
       }).then(res => {
         if (res.code == 200) {
           const typesListById = {}
-          res.data.rows.forEach(item => {
+          res.data.forEach(item => {
             typesListById[item.id] = item.name
             this.typesList.push({
               label: item.name,

+ 3 - 2
src/views/categroyManager/specialSetup/musicCourseFee.vue

@@ -291,6 +291,7 @@ import {
   deleteOrganizationCourseUnitPrice,
   querySingle,
 } from "@/api/specialSetting";
+import { getType } from "@/api/buildTeam";
 import createDiscount from "./modals/create-discount";
 import { musicCourseType } from "@/utils/searchArray";
 export default {
@@ -334,12 +335,12 @@ export default {
     };
   },
   mounted() {
-    chargeTypeList({
+    getType ({
       rows: 99999,
       page: 1,
     }).then((res) => {
       if (res.code == 200) {
-        this.dataList = res.data.rows;
+        this.dataList = res.data;
         this.dataList.forEach((item) => {
           this.$set(this.createForm.unitPriceJson, item.id, {
             price: null,

+ 7 - 6
src/views/categroyManager/specialSetup/typesManager.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <!-- <h2>收费类型设置</h2> -->
-    <div v-if="(tableList.length>0 || pageInfo.page>1)&&contextFlag">
+    <div v-if="(tableList.length>0 )&&contextFlag">
       <el-button style="margin-bottom:20px;" v-permission="'chargeType/upSet/createSet'"  type="primary" @click="openTypes('create')">添加</el-button>
       <!-- <div class='newBand' v-permission="'chargeType/upSet/createSet'"
            @click="openTypes('create')">添加</div> -->
@@ -29,17 +29,17 @@
             </template>
           </el-table-column>
         </el-table>
-        <pagination
+        <!-- <pagination
         saveKey='typesManager'
         sync
         :total.sync="pageInfo.total"
                     :page.sync="pageInfo.page"
                     :limit.sync="pageInfo.limit"
                     :page-sizes="pageInfo.page_size"
-                    @pagination="getList" />
+                    @pagination="getList" /> -->
       </div>
     </div>
-  <emptyPage @submit="openTypes('create')" title='乐团收费类型设置' btnTitle='新建乐团收费类型设置' :context='context'  v-if="!(tableList.length>0 || pageInfo.page>1)&&contextFlag" />
+  <emptyPage @submit="openTypes('create')" title='乐团收费类型设置' btnTitle='新建乐团收费类型设置' :context='context'  v-if="!(tableList.length>0 )&&contextFlag" />
     <el-dialog :title="formTitle[formActionTitle]"
                :visible.sync="typeStatus"
                @close="onFormClose('ruleForm')"
@@ -73,6 +73,7 @@
 </template>
 <script>
 import pagination from '@/components/Pagination/index'
+import { getType } from "@/api/buildTeam";
 import { chargeTypeList, subjectListTree, chargeTypeUpSet, chargeTypeDel } from '@/api/specialSetting'
 import emptyPage from '@/components/emptyPage'
 export default {
@@ -154,14 +155,14 @@ export default {
       } catch (error) {}
     },
     getList () {
-      chargeTypeList({
+      getType({
         rows: this.pageInfo.limit,
         page: this.pageInfo.page
       }).then(res => {
         let result = res.data
         if (res.code == 200) {
           this.contextFlag = true
-          this.tableList = result.rows
+          this.tableList = result
           this.pageInfo.total = result.total
         }
       })

+ 1 - 0
src/views/evaluateManager/evaluateList.vue

@@ -48,6 +48,7 @@
           :commit="'setTeachers'"
           aria-placeholder="请选择指导老师"
           v-model="searchForm.teacherId"
+          :isForzenWithQueryCondition="true"
         />
       </el-form-item>
       <el-form-item>

+ 6 - 6
src/views/evaluateManager/networkList.vue

@@ -41,7 +41,7 @@
         </el-select>
       </el-form-item>
       <el-form-item>
-        <remote-search :commit="'setTeachers'" aria-placeholder="请选择指导老师" v-model.trim="searchForm.teacherId" />
+        <remote-search :commit="'setTeachers'" aria-placeholder="请选择指导老师"  :isForzenWithQueryCondition="true" v-model.trim="searchForm.teacherId" />
       </el-form-item>
       <el-form-item>
         <remote-search
@@ -510,11 +510,11 @@ export default {
       }
 
       // 获取指导老师
-      getTeacher({}).then((res) => {
-        if (res.code == 200) {
-          this.teacherList = res.data;
-        }
-      });
+      // getTeacher({}).then((res) => {
+      //   if (res.code == 200) {
+      //     this.teacherList = res.data;
+      //   }
+      // });
       // 获取分部
       getEmployeeOrgan().then((res) => {
         if (res.code == 200) {

+ 1 - 0
src/views/evaluateManager/vipEvaluateList.vue

@@ -57,6 +57,7 @@
           :commit="'setTeachers'"
           aria-placeholder="请选择指导老师"
           v-model="searchForm.teacherId"
+          :isForzenWithQueryCondition="true"
         />
       </el-form-item>
       <el-form-item>

+ 1 - 0
src/views/indexErrDataRecord/components/errorCourse.vue

@@ -23,6 +23,7 @@
           <remote-search
             :commit="'setTeachers'"
             v-model="searchForm.teacherIdList"
+            :isForzenWithQueryCondition="true"
           />
         </el-form-item>
         <el-form-item>

+ 1 - 0
src/views/operateManager/serverIndexList.vue

@@ -27,6 +27,7 @@
           <remote-search
             :commit="'setTeachers'"
             v-model="searchForm.teacherId"
+            :isForzenWithQueryCondition="true"
           />
         </el-form-item>
         <el-form-item>

+ 1 - 0
src/views/operationalEarly/operationalList.vue

@@ -25,6 +25,7 @@
           <remote-search
             :commit="'setTeachers'"
             v-model="searchForm.userId"
+            :isForzenWithQueryCondition="true"
           />
         </el-form-item>
         <el-form-item>

+ 1 - 0
src/views/recodeManager/recodeList.vue

@@ -36,6 +36,7 @@
           <remote-search
             :commit="'setTeachers'"
             v-model="searchForm.teacherId"
+            :isForzenWithQueryCondition="true"
           />
         </el-form-item>
         <el-form-item prop="organId">

+ 4 - 3
src/views/resetTeaming/modals/user-pay-form.vue

@@ -251,6 +251,8 @@ import {
   chargeTypeList,
   musicGroupOrganizationCourseSettingsQueryPage,
 } from "@/api/specialSetting";
+
+import { getType } from "@/api/buildTeam";
 import { getMusicGroupPaymentCalenderDetail } from "@/api/buildTeam";
 import {
   musicGroupPaymentCalenderAdd,
@@ -712,10 +714,9 @@ export default {
     },
     async getChargeTypeList() {
       try {
-        const res = await chargeTypeList({
-          row: 9999,
+        const res = await getType({
         });
-        this.typeList = res.data.rows;
+        this.typeList = res.data;
       } catch (error) {}
     },
     async getCharges() {

+ 1 - 0
src/views/serverDetail/index.vue

@@ -39,6 +39,7 @@
         <el-form-item prop="teacherId">
           <remote-search
             :commit="'setTeachers'"
+            :isForzenWithQueryCondition="true"
             v-model="searchForm.teacherId"
           />
         </el-form-item>

+ 1 - 0
src/views/settlementManager/settlementList.vue

@@ -46,6 +46,7 @@
           <remote-search
             :commit="'setTeachers'"
             v-model="searchForm.teacherId"
+            :isForzenWithQueryCondition="true"
           />
         </el-form-item>
         <el-form-item>

+ 1 - 1
src/views/smallStudentManager/components/tableList.vue

@@ -68,7 +68,7 @@
         ></el-input>
       </el-form-item>
       <el-form-item prop="teacherId">
-        <remote-search :commit="'setTeachers'" v-model="searchForm.teacherId" />
+        <remote-search :commit="'setTeachers'" v-model="searchForm.teacherId"    :isForzenWithQueryCondition="true"/>
       </el-form-item>
       <el-form-item prop="musicDirectorId">
         <remote-search

+ 1 - 0
src/views/stuRecodeManager/index.vue

@@ -32,6 +32,7 @@
           <remote-search
             :commit="'setTeachers'"
             v-model="searchForm.teacherId"
+            :isForzenWithQueryCondition="true"
           />
         </el-form-item>
 

+ 1 - 1
src/views/studentManager/components/studentRecord.vue

@@ -10,7 +10,7 @@
         save-key='studentDetail-studentRecord'
       >
         <el-form-item prop="teacherId">
-          <remote-search :commit='"setTeachers"' v-model='searchForm.teacherId' />
+          <remote-search :commit='"setTeachers"' v-model='searchForm.teacherId'    :isForzenWithQueryCondition="true"/>
         </el-form-item>
         <el-form-item prop="musicGroupId">
           <el-input

+ 1 - 1
src/views/studentManager/components/teamAndcourse.vue

@@ -111,7 +111,7 @@
         </el-form-item>
         <!-- 换接口做修改 -->
         <el-form-item prop="teacherId">
-          <remote-search :commit='"setTeachers"' v-model='searchForm.teacherId' />
+          <remote-search :commit='"setTeachers"'    :isForzenWithQueryCondition="true" v-model='searchForm.teacherId' />
         </el-form-item>
         <!-- <el-form-item>
           <el-input placeholder="班级名称"

+ 1 - 1
src/views/teamBuild/components/teamBaseInfo.vue

@@ -786,7 +786,7 @@ export default {
       Promise.all([getType({ rows: 1000 }), getEmployeeOrgan()]).then(
         (values) => {
           if (values[0].code == 200) {
-            this.typeList = values[0].data.rows;
+            this.typeList = values[0].data;
             // this.typeList = [];
           }
           if (values[1].code == 200) {

+ 2 - 2
src/views/teamDetail/teamClassList.vue

@@ -106,7 +106,7 @@
           <el-table-column
             align="center"
             prop="musicGroupId"
-            label="乐团&课程组编号"
+            label="课程组编号"
           >
             <template slot-scope="scope">
               <copy-text>{{ scope.row.musicGroupId }}</copy-text>
@@ -120,7 +120,7 @@
           <el-table-column
             align="center"
             prop="musicGroupName"
-            label="乐团&班级名称"
+            label="课程组名称"
           ></el-table-column>
           <el-table-column align="center" prop="organName" label="分部名称">
             <template slot-scope="scope">

+ 1 - 0
src/views/workBenchManager/classFeesIsOk.vue

@@ -90,6 +90,7 @@
           <remoteSearch
             :commit="'setTeachers'"
             v-model="searchForm.teacherId"
+            :isForzenWithQueryCondition="true"
           />
           <!-- <el-select
             placeholder="老师姓名"