Browse Source

1116 14:50

1111
mo 5 years ago
parent
commit
6df2550f83
68 changed files with 308 additions and 54 deletions
  1. 0 0
      dist/index.html
  2. 1 1
      dist/static/css/chunk-3d95200a.25630c3d.css
  3. 0 0
      dist/static/css/chunk-6ad67e5c.495bb637.css
  4. 1 0
      dist/static/css/chunk-b4e88244.641b676e.css
  5. 0 0
      dist/static/css/chunk-bd9d6558.5ce2ca8d.css
  6. 0 0
      dist/static/css/chunk-ce549da8.a3345e4a.css
  7. 0 0
      dist/static/js/app.441c99b8.js
  8. 0 0
      dist/static/js/chunk-1256744b.04180ea1.js
  9. 0 0
      dist/static/js/chunk-1256744b.6f4a3cd9.js
  10. 0 0
      dist/static/js/chunk-13ebaa28.722c9eec.js
  11. 0 0
      dist/static/js/chunk-13ebaa28.92656c8e.js
  12. 0 0
      dist/static/js/chunk-15c0f272.104510a0.js
  13. 0 0
      dist/static/js/chunk-15c0f272.adf71510.js
  14. 0 0
      dist/static/js/chunk-179cb776.a5a8ca6f.js
  15. 0 0
      dist/static/js/chunk-179cb776.d5e0d54b.js
  16. 0 0
      dist/static/js/chunk-1b28f35d.74e3e72a.js
  17. 0 0
      dist/static/js/chunk-218e097e.4c0d7de3.js
  18. 0 0
      dist/static/js/chunk-218e097e.7cb34305.js
  19. 0 0
      dist/static/js/chunk-27602f20.0dee902b.js
  20. 0 0
      dist/static/js/chunk-27602f20.b385a7c9.js
  21. 0 0
      dist/static/js/chunk-2d0b66fc.751b6123.js
  22. 0 0
      dist/static/js/chunk-2d0b66fc.dbbc7fc2.js
  23. 0 0
      dist/static/js/chunk-3d95200a.1132a8b7.js
  24. 0 0
      dist/static/js/chunk-4122c029.d7d94b7f.js
  25. 0 0
      dist/static/js/chunk-45c67fda.aa20dba8.js
  26. 0 0
      dist/static/js/chunk-45c67fda.eb3a2df6.js
  27. 0 0
      dist/static/js/chunk-47e9338e.56d847ed.js
  28. 0 0
      dist/static/js/chunk-47e9338e.f162cc68.js
  29. 0 0
      dist/static/js/chunk-47fe7b3e.71e8c6df.js
  30. 0 0
      dist/static/js/chunk-47fe7b3e.a4d93673.js
  31. 0 0
      dist/static/js/chunk-50f2e23d.a11d3c6f.js
  32. 0 0
      dist/static/js/chunk-50f2e23d.fb621d3f.js
  33. 0 0
      dist/static/js/chunk-61a7b6f8.be0297bf.js
  34. 0 0
      dist/static/js/chunk-69401ca9.db6e5006.js
  35. 0 0
      dist/static/js/chunk-6a610be0.940d406b.js
  36. 0 0
      dist/static/js/chunk-6a610be0.f00fc6f8.js
  37. 0 0
      dist/static/js/chunk-6ad67e5c.3b36f5e7.js
  38. 0 0
      dist/static/js/chunk-6cef28a2.9825aff5.js
  39. 0 0
      dist/static/js/chunk-6d44cd2d.5a0b57dc.js
  40. 0 0
      dist/static/js/chunk-6d44cd2d.798b1d2c.js
  41. 0 0
      dist/static/js/chunk-711bc3b2.a11e364c.js
  42. 0 0
      dist/static/js/chunk-711bc3b2.b22ea57e.js
  43. 0 0
      dist/static/js/chunk-73ebb2e3.94f667ee.js
  44. 0 0
      dist/static/js/chunk-73ebb2e3.c60f3d57.js
  45. 0 0
      dist/static/js/chunk-7d47c5f0.13df4e7c.js
  46. 0 0
      dist/static/js/chunk-7fbd03f6.472efefd.js
  47. 0 0
      dist/static/js/chunk-801be0bc.4034c0a6.js
  48. 0 0
      dist/static/js/chunk-801be0bc.f66e7087.js
  49. 0 0
      dist/static/js/chunk-9ea481f8.37fc3117.js
  50. 0 0
      dist/static/js/chunk-9ea481f8.a29cc668.js
  51. 0 0
      dist/static/js/chunk-af8af8fe.733ae0d5.js
  52. 0 0
      dist/static/js/chunk-af8af8fe.f88fc253.js
  53. 0 0
      dist/static/js/chunk-b4e88244.440f0c6e.js
  54. 0 0
      dist/static/js/chunk-bd9d6558.68e86d07.js
  55. 0 0
      dist/static/js/chunk-ce549da8.9f25906c.js
  56. 0 0
      dist/static/js/chunk-d1dd2788.08eac762.js
  57. 0 0
      dist/static/js/chunk-d1dd2788.d150bed8.js
  58. 0 0
      dist/static/js/chunk-ecff1cfa.7ac16832.js
  59. 0 0
      dist/static/js/chunk-ecff1cfa.fb645211.js
  60. 8 1
      src/api/buildTeam.js
  61. 9 0
      src/api/vipSeting.js
  62. 20 8
      src/views/teamBuild/components/teamBaseInfo.vue
  63. 3 2
      src/views/teamBuild/components/teamSoundMoney.vue
  64. 91 31
      src/views/teamBuild/teamSeting/components/coursePlan.vue
  65. 15 2
      src/views/teamBuild/teamSeting/components/lookCourse.vue
  66. 7 2
      src/views/teamBuild/teamSeting/components/setClass.vue
  67. 1 1
      src/views/vipClass/vipDetail/components/fnanceInfo.vue
  68. 152 6
      src/views/vipClass/vipReset.vue

File diff suppressed because it is too large
+ 0 - 0
dist/index.html


+ 1 - 1
dist/static/css/chunk-69401ca9.a23fbe84.css → dist/static/css/chunk-3d95200a.25630c3d.css

@@ -1 +1 @@
-.setBtn[data-v-ed788c88]{width:120px;height:40px;line-height:40px;text-align:center;border-radius:4px;color:#fff;background-color:#444;cursor:pointer;margin:20px 0}.imc[data-v-554b2a2e]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:30px 42px;background-color:#fff;min-height:80vh}.imc .addBtn[data-v-554b2a2e]{line-height:40px;text-align:center;color:#fff;border-radius:4px;margin-right:20px;cursor:pointer;width:120px;height:40px;background-color:#4eada7}
+.setBtn[data-v-39d98ac4]{width:120px;height:40px;line-height:40px;text-align:center;border-radius:4px;color:#fff;background-color:#444;cursor:pointer;margin:20px 0}.imc[data-v-554b2a2e]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:30px 42px;background-color:#fff;min-height:80vh}.imc .addBtn[data-v-554b2a2e]{line-height:40px;text-align:center;color:#fff;border-radius:4px;margin-right:20px;cursor:pointer;width:120px;height:40px;background-color:#4eada7}

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/chunk-6ad67e5c.495bb637.css


+ 1 - 0
dist/static/css/chunk-b4e88244.641b676e.css

@@ -0,0 +1 @@
+.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/chunk-bd9d6558.5ce2ca8d.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/chunk-ce549da8.a3345e4a.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.441c99b8.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-1256744b.04180ea1.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-1256744b.6f4a3cd9.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-13ebaa28.722c9eec.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-13ebaa28.92656c8e.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-15c0f272.104510a0.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-15c0f272.adf71510.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-179cb776.a5a8ca6f.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-179cb776.d5e0d54b.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-1b28f35d.74e3e72a.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-218e097e.4c0d7de3.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-218e097e.7cb34305.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-27602f20.0dee902b.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-27602f20.b385a7c9.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-2d0b66fc.751b6123.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-2d0b66fc.dbbc7fc2.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-3d95200a.1132a8b7.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-4122c029.d7d94b7f.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-45c67fda.aa20dba8.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-45c67fda.eb3a2df6.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-47e9338e.56d847ed.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-47e9338e.f162cc68.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-47fe7b3e.71e8c6df.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-47fe7b3e.a4d93673.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-50f2e23d.a11d3c6f.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-50f2e23d.fb621d3f.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-61a7b6f8.be0297bf.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-69401ca9.db6e5006.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-6a610be0.940d406b.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-6a610be0.f00fc6f8.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-6ad67e5c.3b36f5e7.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-6cef28a2.9825aff5.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-6d44cd2d.5a0b57dc.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-6d44cd2d.798b1d2c.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-711bc3b2.a11e364c.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-711bc3b2.b22ea57e.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-73ebb2e3.94f667ee.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-73ebb2e3.c60f3d57.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-7d47c5f0.13df4e7c.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-7fbd03f6.472efefd.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-801be0bc.4034c0a6.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-801be0bc.f66e7087.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-9ea481f8.37fc3117.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-9ea481f8.a29cc668.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-af8af8fe.733ae0d5.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-af8af8fe.f88fc253.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-b4e88244.440f0c6e.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-bd9d6558.68e86d07.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-ce549da8.9f25906c.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-d1dd2788.08eac762.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-d1dd2788.d150bed8.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-ecff1cfa.7ac16832.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-ecff1cfa.fb645211.js


+ 8 - 1
src/api/buildTeam.js

@@ -680,4 +680,11 @@ export function getTeacherSalary (data) {
   })
 }
 
-// 根据部门id获取部门下的员工
+//删除乐团所有未上课时 
+export function deteleAllCourse (data) {
+  return request({
+    url: api + `/courseSchedule/batchDeleteMusicGroupNotStartCourse`,
+    method: 'get',
+    params: data
+  })
+}

+ 9 - 0
src/api/vipSeting.js

@@ -249,4 +249,13 @@ export function bathDelete (data) {
     method: 'POST',
     data: qs.stringify(data)
   })
+}
+
+// 新增vip课程计划
+export function appendVipGroupCourseSchedules (data) {
+  return request({
+    url: api + '/vipGroupManage/appendVipGroupCourseSchedules',
+    method: 'POST',
+    data
+  })
 }

+ 20 - 8
src/views/teamBuild/components/teamBaseInfo.vue

@@ -91,6 +91,16 @@
                           placeholder="选择日期">
           </el-date-picker>
         </el-form-item>
+        <el-form-item label="预计开团时间"
+                      prop='startTime'
+                      :rules="[{ required: true, message: '请输入预计开团时间'},]">
+          <el-date-picker v-model="topFrom.startTime"
+                          style="width:100%!important"
+                          type="date"
+                          value-format="yyyy-MM-dd"
+                          placeholder="选择日期">
+          </el-date-picker>
+        </el-form-item>
         <el-form-item label="招生年级"
                       prop='startClass'
                       :rules="[{ required: true, message: '请选择招生年纪'},]">
@@ -138,10 +148,7 @@
                        value="CLASSROOM_SALARY"></el-option> -->
           </el-select>
         </el-form-item>
-        <el-form-item label=""
-                      prop="isClass">
-          <el-checkbox v-model="topFrom.isClass">课堂课乐团</el-checkbox>
-        </el-form-item>
+
         <el-form-item label="  乐队指导"
                       v-if="teamStatus=='resetTeam' || teamStatus=='teamList'"
                       prop='head'>
@@ -154,6 +161,10 @@
                        :value="item.id"></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label=""
+                      prop="isClass">
+          <el-checkbox v-model="topFrom.isClass">课堂课乐团</el-checkbox>
+        </el-form-item>
       </el-form>
       <div class="checkList">
         <div class="head noMargin">课程组成形态:</div>
@@ -392,6 +403,7 @@ export default {
         salary: '', // 收费模式
         head: '',
         isClass: false, //是否为课堂课
+        startTime: ''
       },
       checkList: {
         soundInfo: { // 声部
@@ -484,6 +496,7 @@ export default {
           this.topFrom.salary = res.data.musicGroup.settlementType;
           this.topFrom.head = res.data.musicGroup.directorUserId;
           this.topFrom.isClass = res.data.musicGroup.isClassroomLessons
+          this.topFrom.startTime = res.data.musicGroup.expectStartGroupDate;
           // 课程组成形式
           this.checkList = JSON.parse(res.data.musicGroup.courseForm);
           // 付费方式和周期
@@ -506,8 +519,6 @@ export default {
               this.payList.student.chiose = 'loop'
               this.chioseMonth = res.data.months;
             } else {
-              console.log(res.data.months.length);
-              console.log(1111);
               this.payList.student.ischeck = true;
               this.payList.student.chiose = 'ONE_OFF'
             }
@@ -641,11 +652,12 @@ export default {
             organId: this.topFrom.section,
             // paymentMonths:obj.months  有待确认
             schoolId: this.topFrom.address,
-            courseForm: JSON.stringify(this.checkfor),
+            courseForm: JSON.stringify(this.checkList),
             id: this.teamid,
             directorUserId: this.topFrom.head,
             isClassroomLessons: this.topFrom.isClass,
-            status
+            status,
+            expectStartGroupDate: this.topFrom.startTime
           }
           obj.musicGroupPaymentEntities = []
           // 添加学校主体付费方式

+ 3 - 2
src/views/teamBuild/components/teamSoundMoney.vue

@@ -240,7 +240,7 @@
                  id: this.activeSoundList[item].id, //声部id
                  visible: false, // 当前乐器提供方式的pop提示框显示隐藏 -->
               <el-checkbox :label="sound.id"
-                           @change="checkinlist({'id':sound.id,'sound':sound.name,'jihua':0,'yuji':0,'zhonglei':[],'fangshi':'','fangshiprice':0,'jiaopu':'','type':1,'typeVisible':false,'provideVisible':false,'markVisible':false,'goodsList':[],'markList':[{'name':'','goods':[],'price':''}],'markChioseList':[]})"
+                           @change="checkinlist({'id':sound.id,'sound':sound.name,'jihua':0,'yuji':0,'zhonglei':[],'fangshi':'','fangshiprice':1500,'jiaopu':'','type':1,'typeVisible':false,'provideVisible':false,'markVisible':false,'goodsList':[],'markList':[{'name':'','goods':[],'price':''}],'markChioseList':[]})"
                            v-for="(sound,indexs) in item.subjects"
                            :key="indexs">{{sound.name }}</el-checkbox>
             </el-checkbox-group>
@@ -419,6 +419,7 @@ export default {
           // paymentMonths:obj.months  有待确认
           schoolId: this.topfor.address,
           courseForm: JSON.stringify(this.checkfor),
+          expectStartGroupDate: this.topfor.startTime,
           isClassroomLessons: this.topfor.isClass,
           status
         }
@@ -666,7 +667,7 @@ export default {
             if (res.code == 200) {
               this.activeSoundList = res.data.map(item => {
                 this.soundLists[0].push(item.id)
-                let obj = { 'id': item.id, 'sound': item.name, 'jihua': 0, 'yuji': 0, 'zhonglei': [], 'fangshi': '', 'fangshiprice': 0, 'jiaopu': '', 'type': 1, 'typeVisible': false, 'provideVisible': false, 'markVisible': false, 'goodsList': [], 'markList': [{ 'name': '', 'goods': [], 'price': '' }], 'markChioseList': [] }
+                let obj = { 'id': item.id, 'sound': item.name, 'jihua': 0, 'yuji': 0, 'zhonglei': [], 'fangshi': '', 'fangshiprice': 1500, 'jiaopu': '', 'type': 1, 'typeVisible': false, 'provideVisible': false, 'markVisible': false, 'goodsList': [], 'markList': [{ 'name': '', 'goods': [], 'price': '' }], 'markChioseList': [] }
                 return obj;
               })
               // 并且把所有soundLists 里面

+ 91 - 31
src/views/teamBuild/teamSeting/components/coursePlan.vue

@@ -1,6 +1,15 @@
 <template>
   <div class='father-Wrap'>
+    <div class="topWrap">
+      <el-page-header @back="goback"
+                      style='padding-bottom:30px;'
+                      content="批量排课">
+      </el-page-header>
+
+    </div>
+
     <div class='course-container'>
+
       <div class="left">
         <el-form :model="leftFrom"
                  ref='leftFrom'
@@ -90,8 +99,16 @@
 
       </div>
       <div class="right">
+        <div class="newBand"
+             style='float:right'
+             @click="multipleReset">批量修改</div>
         <el-table :data='tableList'
-                  :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+                  style="width: 100%"
+                  :header-cell-style="{background:'#EDEEF0',color:'#444'}"
+                  @selection-change="handleSelectionChange">
+          <el-table-column type="selection"
+                           width="55">
+          </el-table-column>
           <el-table-column label="课次"
                            width="180">
             <template slot-scope="scope">
@@ -124,8 +141,7 @@
                            label="上课时间"
                            width="180">
           </el-table-column> -->
-          <el-table-column label="操作"
-                           width="180">
+          <el-table-column label="操作">
             <template slot-scope="scope">
               <div>
                 <el-button type="text"
@@ -175,7 +191,11 @@
         <span slot="footer"
               class="dialog-footer">
           <div class="okBtns"
-               @click="resetMix">确定</div>
+               v-if="!isMultiple"
+               @click="resetMix(tableActive)">确定</div>
+          <div class="okBtns"
+               v-if="isMultiple"
+               @click="multipleResetMix">确定</div>
         </span>
       </el-dialog>
       <el-dialog :visible.sync="openSignListVisible"
@@ -225,14 +245,14 @@
         </span>
       </el-dialog>
     </div>
-    <div class="btnWrap"
+    <!-- <div class="btnWrap"
          style="margin-top:20px;">
       <div class="nextBtn"
            @click="goback">返回</div>
-      <!-- <div class="okBtn"
+      <div class="okBtn"
            style="margin-right:30px;"
-           @click="gotoNext">确定</div> -->
-    </div>
+           @click="gotoNext">确定</div>
+    </div> -->
   </div>
 </template>
 <script>
@@ -326,7 +346,9 @@ export default {
       tableActive: null, // 当前操作的行
       startClassTimeStr: '',
       endClassTimeStr: '',
-      teamid: ''
+      teamid: '',
+      activeList: [], // 勾选中的项
+      isMultiple: false
 
     }
   },
@@ -352,6 +374,10 @@ export default {
 
   },
   methods: {
+    // 勾选table触发
+    handleSelectionChange (val) {
+      this.activeList = val;
+    },
     // 确定排课
     submitInfo () {
       this.$confirm('课表无误,确定排课', '提示', {
@@ -363,10 +389,14 @@ export default {
           if (res.code == 200) {
             this.$message.success('恭喜您排课成功')
             this.classCardList = [];
+            this.SignList = [];
+            this.tableList = [];
           }
         }).catch(res => {
           // this.tableList = [];
           this.classCardList = [];
+          this.SignList = [];
+          this.tableList = [];
         })
       }).catch(() => {
 
@@ -428,12 +458,15 @@ export default {
       console.log(this.first);
       let activeVal = val;
       if (!this.first) {
-        Object.assign(this.$data, this.$options.data());
-        getAllClass({ musicGroupId: this.teamid }).then(res => {
-          if (res.code == 200) {
-            this.maxClassList = res.data;
-          }
-        })
+        // Object.assign(this.$data, this.$options.data());
+        // getAllClass({ musicGroupId: this.teamid }).then(res => {
+        //   if (res.code == 200) {
+        //     this.maxClassList = res.data;
+        //   }
+        // })
+        this.classCardList = [];
+        this.SignList = [];
+        this.tableList = [];
         this.leftFrom.all = activeVal
 
       }
@@ -457,15 +490,24 @@ export default {
       this.activeTime = row.classDate; // 选中那一行的日期
       this.startClassTimeStr = row.startClassTimeStr
       this.endClassTimeStr = row.endClassTimeStr;
-      // 选中那一行的开始时间
-      // 选中那一行的结束时间
       this.chioseType = row.type;
       this.tableActive = row;
     },
     resetClass () {
       this.signBtnActive = !this.signBtnActive;
     },
-    skipClass (row) {
+    // 批量修改
+    multipleReset () {
+      if (this.activeList.length <= 1) {
+        this.$message.error('请选至少2已上课时')
+        return
+      }
+      this.isMultiple = true;
+      this.resetAllClassVisible = true;
+      this.resetAllTitle = `批量修改`;
+      // this.resetMixCourse()
+    },
+    skipClass () {
       // 这里是跳过此天
       let loadingInstance = Loading.service({
         lock: true,
@@ -514,16 +556,29 @@ export default {
       // this.$message.success('修改成功');
 
     },
-    resetMix () {
+    multipleResetMix () {
+      this.isMultiple = false;
+      // 批量更变课程类型
+      console.log('点击批量修改')
+      for (let i in this.activeList) {
+        this.resetMix(this.activeList[i])
+      }
+    },
+    resetMix (row) {
       // 当前行的课程类型
-      let activeTpye = this.tableActive.type;
+      this.activeTime = row.classDate; // 选中那一行的日期
+      this.startClassTimeStr = row.startClassTimeStr
+      this.endClassTimeStr = row.endClassTimeStr;
+      console.log(row.classDate);
+
+      // let activeTpye = this.tableActive.type;
       let startClassTime;
       let endClassTime;
       if (this.chioseType.indexOf('MIX') != -1) {
         // 改合奏 
         // 删除真实课表里的所有相关单技课
         for (let i = 0; i < this.classCardList.length; i++) {
-          if (this.activeTime == this.classCardList[i].classDate && this.startClassTimeStr == this.classCardList[i].startClassTimeStr && this.endClassTimeStr == this.classCardList[i].endClassTimeStr) {
+          if (row.classDate == this.classCardList[i].classDate && this.startClassTimeStr == this.classCardList[i].startClassTimeStr && this.endClassTimeStr == this.classCardList[i].endClassTimeStr) {
 
             this.classCardList.splice(i, 1);
             i--;
@@ -531,9 +586,9 @@ export default {
         }
         // 修改提交表里的时间
         // 单技改合奏
-        console.log(this.tableList)
+
         for (let i in this.tableList) {
-          if (this.activeTime == this.tableList[i].classDate && this.startClassTimeStr == this.tableList[i].startClassTimeStr && this.endClassTimeStr == this.tableList[i].endClassTimeStr) {
+          if (row.classDate == this.tableList[i].classDate && this.startClassTimeStr == this.tableList[i].startClassTimeStr && this.endClassTimeStr == this.tableList[i].endClassTimeStr) {
             console.log('修改合奏课的类型')
             this.tableList[i].type = this.chioseType;
             startClassTime = this.tableList[i].startClassTime;
@@ -544,26 +599,25 @@ export default {
         }
         //
       } else if (this.chioseType.indexOf('SINGLE') != -1 || this.chioseType.indexOf('CLASSROOM') != -1) {
-
+        console.log(this.tableList)
         // 合奏改单技 
         for (let i in this.tableList) {
-          if (this.activeTime == this.tableList[i].classDate && this.startClassTimeStr == this.tableList[i].startClassTimeStr && this.endClassTimeStr == this.tableList[i].endClassTimeStr) {
+          if (row.classDate == this.tableList[i].classDate && this.startClassTimeStr == this.tableList[i].startClassTimeStr && this.endClassTimeStr == this.tableList[i].endClassTimeStr) {
             this.tableList[i].type = this.chioseType;
             startClassTime = this.tableList[i].startClassTime;
             endClassTime = this.tableList[i].endClassTime;
           }
         }
         let activeTableItem = {};
-        console.log(this.activeTime);
         // 修改提交表里的状态
         for (let j = 0; j < this.classCardList.length; j++) {
           for (let i in this.tableList) {
-            if (this.activeTime == this.classCardList[j].classDate && this.startClassTimeStr == this.classCardList[j].startClassTimeStr && this.endClassTimeStr == this.classCardList[j].endClassTimeStr) {
+            if (row.classDate == this.classCardList[j].classDate && this.startClassTimeStr == this.classCardList[j].startClassTimeStr && this.endClassTimeStr == this.classCardList[j].endClassTimeStr) {
 
               this.classCardList.splice(j, 1);
               j--
             }
-            if (this.activeTime == this.tableList[i].classDate && this.startClassTimeStr == this.tableList[i].startClassTimeStr && this.endClassTimeStr == this.tableList[i].endClassTimeStr) {
+            if (row.classDate == this.tableList[i].classDate && this.startClassTimeStr == this.tableList[i].startClassTimeStr && this.endClassTimeStr == this.tableList[i].endClassTimeStr) {
               activeTableItem = this.tableList[i];
             }
           }
@@ -588,7 +642,7 @@ export default {
       }
 
 
-
+      console.log(this.classCardList)
       this.resetAllClassVisible = false;
     },
     // 排课逻辑
@@ -683,6 +737,7 @@ export default {
     // 点击查看
     OpenSign (row) {
       this.SignList = [];
+      console.log(this.classCardList)
       for (let i in this.classCardList) {
         if (this.classCardList[i].mixid == row.mixid && this.classCardList[i].classDate == row.classDate && row.startClassTimeStr == this.classCardList[i].startClassTimeStr && row.endClassTimeStr == this.classCardList[i].endClassTimeStr) {
           this.SignList.push(this.classCardList[i])
@@ -816,9 +871,14 @@ export default {
 .father-Wrap {
   padding: 47px 30px;
   background-color: #fff;
+  .topWrap {
+    display: flex;
+    flex-direction: row;
+    justify-content: space-between;
+  }
 }
 .course-container {
-  border-bottom: 1px solid #ccc;
+  // border-bottom: 1px solid #ccc;
   height: 600px;
   overflow-y: auto;
 
@@ -873,7 +933,7 @@ export default {
     }
   }
   .right {
-    width: 1160px;
+    // width: 1160px;
 
     .is-selected {
       color: #1989fa;

+ 15 - 2
src/views/teamBuild/teamSeting/components/lookCourse.vue

@@ -14,7 +14,10 @@
                      :label="item.name"></el-option>
         </el-select>
       </el-form-item>
-
+      <el-form-item>
+        <el-button type='danger'
+                   @click="removeAllCourse">清空课表</el-button>
+      </el-form-item>
     </el-form>
     <el-table :header-cell-style="{background:'#EDEEF0',color:'#444'}"
               :data="tableList">
@@ -65,7 +68,7 @@
   </div>
 </template>
 <script>
-import { getAllClass, getClassCOurse } from '@/api/buildTeam'
+import { getAllClass, getClassCOurse, deteleAllCourse } from '@/api/buildTeam'
 export default {
   data () {
     return {
@@ -106,6 +109,16 @@ export default {
           this.tableList = res.data;
         }
       })
+    },
+    // 删除乐团所有未上课程
+    removeAllCourse () {
+      console.log(111);
+      deteleAllCourse({ musicGroupId: this.teamid }).then(res => {
+        if (res.code == 200) {
+          this.$message.success('删除成功');
+          this.chioseList(this.maxClassList[0].id)
+        }
+      })
     }
   },
 }

+ 7 - 2
src/views/teamBuild/teamSeting/components/setClass.vue

@@ -181,7 +181,7 @@
       </div>
     </el-dialog>
 
-    <el-dialog title="教务老师"
+    <el-dialog title="乐队指导"
                width="600px"
                :visible.sync="teacherVisible">
       <el-form :inline="true"
@@ -210,7 +210,7 @@
   </div>
 </template>
 <script>
-import { getTeamRecruit, getSingleClass, getNoClassStudent, addSingleClass, removeSingleClass, addAllClass, getAllClass, findNoClassSingle, removeAllClass, getTeacher, checkAllStudent } from "@/api/buildTeam"
+import { getTeamRecruit, getSingleClass, getNoClassStudent, addSingleClass, removeSingleClass, addAllClass, getAllClass, findNoClassSingle, removeAllClass, getTeacher, checkAllStudent, getTeamBaseInfo } from "@/api/buildTeam"
 export default {
   props: {
     teamid: {
@@ -285,6 +285,11 @@ export default {
         // console.log(this.teacherList)
       }
     })
+    getTeamBaseInfo({ musicGroupId: this.teamid }).then(res => {
+      if (res.code == 200) {
+        this.teacherForm.name = res.data.musicGroup.directorUserId
+      }
+    })
 
   }, methods: {
     getAllClass () {

+ 1 - 1
src/views/vipClass/vipDetail/components/fnanceInfo.vue

@@ -13,7 +13,7 @@
           <p>线上课课酬: <span> {{ onlineClassesUnitPrice }}</span></p>
         </div>
         <div class="headItem">
-          <p>课酬总: <span> {{ totalSalary }}</span></p>
+          <p>课酬总: <span> {{ totalSalary }}</span></p>
         </div>
         <div class="headItem">
           <p>扣费总额: <span> {{ totalFeeDeduction }}</span></p>

+ 152 - 6
src/views/vipClass/vipReset.vue

@@ -5,7 +5,8 @@
                       content='vip修改'>
       </el-page-header>
     </h2>
-    <div class='newBand'>vip加课</div>
+    <div class='newBand'
+         @click="addCourse">vip加课</div>
     <div class="tableWrap">
       <el-table :data='tableList'
                 :header-cell-style="{background:'#EDEEF0',color:'#444'}">
@@ -60,6 +61,11 @@
           </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>
     <el-dialog title="课程调整"
                width="400px"
@@ -110,16 +116,88 @@
                    @click="submitResetClass">确 定</el-button>
       </div>
     </el-dialog>
+
+    <el-dialog title="课程调整"
+               :visible.sync="addCourseVisible">
+      <el-button type="text"
+                 @click="addOneChiose">添加</el-button>
+      <el-table :data='addTable'>
+        <el-table-column label="上课日期"
+                         align="center"
+                         prop="name">
+          <template slot-scope="scope">
+            <div>
+              <el-date-picker v-model="scope.row.classDate"
+                              type="date"
+                              placeholder="选择日期">
+              </el-date-picker>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="课程开始时间"
+                         align="center"
+                         prop="startClassTimeStr">
+          <template slot-scope="scope">
+            <div>
+              <el-time-select v-model="scope.row.startClassTimeStr"
+                              :picker-options="{
+                                start: '06:30',
+                                step: '00:15',
+                                end: '23:30'
+                              }"
+                              placeholder="选择时间">
+              </el-time-select>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="课程形态"
+                         align="center"
+                         prop="name">
+          <template slot-scope="scope">
+            <div>
+              <el-select v-model="scope.row.teachMode">
+                <el-option label="线上课"
+                           value="ONLINE"></el-option>
+                <el-option label="线下课"
+                           value="OFFLINE"></el-option>
+              </el-select>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作"
+                         align="center">
+          <template slot-scope="scope">
+            <div>
+              <el-button type="text"
+                         @click="removeMarkCourse(scope.row)">删除</el-button>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <span slot="footer"
+            class="dialog-footer">
+        <el-button @click="addCourseVisible = false">取 消</el-button>
+        <el-button type="primary"
+                   @click="submitAdd">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 <script>
 import { resetCourse } from '@/api/buildTeam'
-import { findVipGroupCourseSchedules, bathDelete } from '@/api/vipSeting'
+import pagination from '@/components/Pagination/index'
+import { findVipGroupCourseSchedules, bathDelete, appendVipGroupCourseSchedules } from '@/api/vipSeting'
 export default {
+  components: {
+    pagination
+  },
   data () {
     return {
+      addCourseVisible: false,
       courseVisible: false,
       tableList: [],
+      addTable: [],
+      courseTime: '',
       vipid: '',
       maskForm: {
         date: '',
@@ -127,6 +205,13 @@ export default {
         endTime: '',
         id: ''
       },
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 30, 40] // 选择限制显示条数
+      },
       maskRules: {
         date: [{ required: true, message: '请选择上课时间', trigger: 'blur' },],
         startTime: [{ required: true, message: '请选择上课开始时间', trigger: 'blur' },],
@@ -142,10 +227,12 @@ export default {
   },
   methods: {
     getList () {
-      findVipGroupCourseSchedules({ vipGroupId: this.vipid }).then(
+      findVipGroupCourseSchedules({ vipGroupId: this.vipid, rows: this.rules.limit, page: this.rules.page }).then(
         res => {
           if (res.code == 200) {
-            this.tableList = res.data.rows;
+            this.tableList = res.data.pageInfo.rows;
+            this.rules.total = res.data.pageInfo.total;
+            this.courseTime = res.data.singleClassMinutes;
           }
         }
       )
@@ -181,7 +268,7 @@ export default {
       })
     },
     removeClass (row) {
-      this.$confirm('是否删除该vip课程, 是否继续?', '提示', {
+      this.$confirm('是否删除该vip课程?', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
@@ -192,12 +279,71 @@ export default {
               type: 'success',
               message: '删除成功!'
             });
+            this.getList();
           }
         })
+      })
 
+    },
+    // vip 家课
+    addCourse () {
+      this.addCourseVisible = true;
+    },
+    addOneChiose () {
+      this.addTable.push({
+        classDate: '',
+        startClassTimeStr: '',
+        endClassTimeStr: '',
+        teachMode: '',
+        moid: new Date().getTime()
       })
+    },
+    removeMarkCourse (row) {
+      for (let i in this.addTable) {
+        if (this.addTable[i].moid == row.moid) {
+          this.addTable.splice(i, 1);
+        }
+      }
+    },
+    submitAdd () {
+      let endClassTimeStr = this.MinutesTest(this.addTable[0].startClassTimeStr, 90);
+      let some = {
+        vipGroupApplyBaseInfo: {
+          id: this.vipid
+        }, courseSchedules: []
 
-    }
+      }
+      for (let i in this.addTable) {
+        let obj = {
+          classDate: this.addTable[i].classDate,
+          startClassTimeStr: this.addTable[i].startClassTimeStr,
+          endClassTimeStr: this.MinutesTest(this.addTable[i].startClassTimeStr, this.courseTime),
+          teachMode: this.addTable[i].teachMode
+        }
+        some.courseSchedules.push(obj);
+      }
+      // 发请求干活
+      appendVipGroupCourseSchedules(some).then(res => {
+        if (res.code == 200) {
+          this.addCourseVisible = false;
+          this.rules.page = 1;
+          this.getList();
+
+        }
+      })
+    },
+    // 分钟小时相加减
+    MinutesTest (str, interval) {
+      let houer = str.split(':')[0];
+      let min = str.split(':')[1];
+      let sdate1 = new Date(1900, 1, 1, houer, min);
+      sdate1.setMinutes(sdate1.getMinutes() + parseInt(interval));
+      let H = sdate1.getHours();
+      let M = sdate1.getMinutes();
+      if (H < 10) H = '0' + H;
+      if (M < 10) M = '0' + M;
+      return H + ':' + M
+    },
   },
 }
 </script>

Some files were not shown because too many files changed in this diff