소스 검색

1102 10:21

11
mo 5 년 전
부모
커밋
a7855aa106
32개의 변경된 파일180개의 추가작업 그리고 35개의 파일을 삭제
  1. 0 0
      dist/index.html
  2. 1 1
      dist/static/css/chunk-723e3cd8.d2f3fd1a.css
  3. 1 1
      dist/static/css/chunk-f7b8967e.fc2302a6.css
  4. 0 0
      dist/static/js/app.af4bbdbc.js
  5. 0 0
      dist/static/js/chunk-00de8e4e.2462e510.js
  6. 0 0
      dist/static/js/chunk-00de8e4e.92e98b11.js
  7. 0 0
      dist/static/js/chunk-1228c85e.b2bded5c.js
  8. 0 0
      dist/static/js/chunk-1228c85e.cdfce4c9.js
  9. 0 0
      dist/static/js/chunk-21a5b3d9.a28e7cd0.js
  10. 0 0
      dist/static/js/chunk-21a5b3d9.a62e451b.js
  11. 0 0
      dist/static/js/chunk-34cd1806.65213c35.js
  12. 0 0
      dist/static/js/chunk-641dba2d.4118af66.js
  13. 0 0
      dist/static/js/chunk-641dba2d.9be37919.js
  14. 0 0
      dist/static/js/chunk-68277386.2afec5ba.js
  15. 0 0
      dist/static/js/chunk-68277386.bb58d11b.js
  16. 0 0
      dist/static/js/chunk-723e3cd8.d311e74b.js
  17. 0 0
      dist/static/js/chunk-8b3be45e.33ef9c72.js
  18. 0 0
      dist/static/js/chunk-8b3be45e.97db39eb.js
  19. 0 0
      dist/static/js/chunk-a3aea2c8.473ce02c.js
  20. 0 0
      dist/static/js/chunk-b18c1384.83b40565.js
  21. 0 0
      dist/static/js/chunk-b18c1384.b22141c5.js
  22. 0 0
      dist/static/js/chunk-d1dd2788.36d351c2.js
  23. 0 0
      dist/static/js/chunk-d1dd2788.779b3952.js
  24. 0 0
      dist/static/js/chunk-f7b8967e.4a16168a.js
  25. 0 0
      dist/static/js/chunk-f7b8967e.f808d7ec.js
  26. 3 2
      src/api/buildTeam.js
  27. 9 0
      src/api/teamServer.js
  28. 1 1
      src/views/teamBuild/teamSeting/components/salarySet.vue
  29. 125 8
      src/views/teamDetail/components/resetClass.vue
  30. 16 7
      src/views/teamDetail/components/studentList.vue
  31. 22 13
      src/views/teamDetail/teamList.vue
  32. 2 2
      vue.config.js

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/index.html


+ 1 - 1
dist/static/css/chunk-34cd1806.53888ac5.css → dist/static/css/chunk-723e3cd8.d2f3fd1a.css

@@ -1 +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}.select[data-v-585fecf4]{font-size:14px}.btnList[data-v-585fecf4]{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:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.btnList div[data-v-585fecf4]{margin-right:15px}
+.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}.select[data-v-0f62a09f]{font-size:14px}.btnList[data-v-0f62a09f]{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:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.btnList div[data-v-0f62a09f]{margin-right:15px}

+ 1 - 1
dist/static/css/chunk-f7b8967e.d4cd1de3.css → dist/static/css/chunk-f7b8967e.fc2302a6.css

@@ -1 +1 @@
-.floor{padding-right:20px;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:end;-ms-flex-pack:end;justify-content:flex-end;width:100%;height:48px;line-height:48px;background:#edeef0;font-size:14px;color:#444;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:1}.floor .remove{background:#f85043;margin-left:164px}.floor .add,.floor .remove{width:98px;height:32px;border-radius:3px;color:#fff;line-height:32px;text-align:center;cursor:pointer}.floor .add{background:#14928a;margin-left:20px}.studentMask{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:start;-ms-flex-pack:start;justify-content:flex-start}.studentMask .left{width:200px;margin-right:20px}.studentMask .left .wrap{margin-bottom:20px}.studentMask .left h4{font-size:16px;color:#444;line-height:38px}.studentMask .left .chioseStudentList{height:500px;overflow-y:auto;border:1px solid #ccc}.studentMask .left .chioseStudentList .studentItem{padding-left:10px;line-height:25px}.studentMask .right .tableList{max-height:500px;overflow-y:auto}
+.floor{padding-right:20px;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:end;-ms-flex-pack:end;justify-content:flex-end;width:100%;height:48px;line-height:48px;background:#edeef0;font-size:14px;color:#444;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:1}.floor .remove{background:#f85043;margin-left:164px}.floor .add,.floor .remove{width:98px;height:32px;border-radius:3px;color:#fff;line-height:32px;text-align:center;cursor:pointer}.floor .add{background:#14928a;margin-left:20px}.studentMask{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:start;-ms-flex-pack:start;justify-content:flex-start}.studentMask .left{width:200px;margin-right:20px}.studentMask .left .wrap{margin-bottom:20px}.studentMask .left h4{font-size:16px;color:#444;line-height:38px}.studentMask .left .chioseStudentList{height:500px;overflow-y:auto;border:1px solid #ccc}.studentMask .left .chioseStudentList .studentItem{padding-left:10px;line-height:25px}.studentMask .right .tableList{max-height:500px;overflow-y:auto}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:100px}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/app.af4bbdbc.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-00de8e4e.2462e510.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-00de8e4e.92e98b11.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-1228c85e.b2bded5c.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-1228c85e.cdfce4c9.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-21a5b3d9.a28e7cd0.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-21a5b3d9.a62e451b.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-34cd1806.65213c35.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-641dba2d.4118af66.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-641dba2d.9be37919.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-68277386.2afec5ba.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-68277386.bb58d11b.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-723e3cd8.d311e74b.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-8b3be45e.33ef9c72.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-8b3be45e.97db39eb.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-a3aea2c8.473ce02c.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-b18c1384.83b40565.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-b18c1384.b22141c5.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-d1dd2788.36d351c2.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-d1dd2788.779b3952.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-f7b8967e.4a16168a.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/chunk-f7b8967e.f808d7ec.js


+ 3 - 2
src/api/buildTeam.js

@@ -412,7 +412,7 @@ export function getTeamStudentInfo (data) {
 // 学生退团
 export function StudentQuit (data) {
   return request({
-    url: api + `/musicGroupQuit/quitMusicGroup`,
+    url: api + `/musicGroupQuit/directQuitMusicGroup`,
     method: 'post',
     data: qs.stringify(data)
   })
@@ -525,4 +525,5 @@ export function musicGroupFound (data) {
     method: 'POST',
     data: qs.stringify(data)
   })
-}
+}
+

+ 9 - 0
src/api/teamServer.js

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

+ 1 - 1
src/views/teamBuild/teamSeting/components/salarySet.vue

@@ -163,7 +163,7 @@ export default {
         } else if (this.searchForm.salary == 'CLASSROOM_SALARY') {
           findMusicGroupClassTeacherSalary({ musicGroupId: this.teamid, type: 'CLASSROOM_SALARY' }).then(res => {
             if (res.code == 200) {
-              this.gradientTableList = res.data;
+              this.defaultTableList = res.data;
               this.changeSalary(this.searchForm.salary);
             }
           })

+ 125 - 8
src/views/teamDetail/components/resetClass.vue

@@ -99,7 +99,7 @@
       </div>
     </div>
     <el-dialog title="学员选择"
-               width="800px"
+               width="700px"
                :visible.sync="studentVisible"
                :modal-append-to-body="false">
       <div class="studentMask">
@@ -184,12 +184,12 @@
               </el-table-column>
             </el-table>
 
-            <!-- 新增班级的table -->
+            <!-- 临时调整table -->
             <el-table tooltip-effect="dark"
                       v-if="isNewClass"
                       style="width: 100%; margin-top:10px;"
                       :data='studentList'
-                      ref='studentList'
+                      ref='temporaryStudentList'
                       @selection-change="NewselectionStudent">
               <el-table-column type="selection"
                                align='center'
@@ -224,7 +224,88 @@
         <!-- 临时调整或者新建班级 -->
         <el-button type="primary"
                    v-if="isNewClass"
-                   @click="studentVisible = false">确 定</el-button>
+                   @click="setInfoMsg">确 定</el-button>
+      </div>
+    </el-dialog>
+    <!-- 老师以及课程设置 -->
+    <el-dialog title="班级设置"
+               width="700px"
+               :visible.sync="infoVisible"
+               :modal-append-to-body="false">
+      <el-form :inline="true"
+               :model='teacherForm'
+               label-position='right'
+               label-width="100px;">
+        <el-form-item label="主教老师"
+                      prop='coreTeacher'>
+          <el-select v-model="teacherForm.coreTeacher">
+            <el-option label="11"
+                       value="222"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="助教老师"
+                      prop="assistant">
+          <el-select v-model="teacherForm.assistant">
+            <el-option label="11"
+                       value="222"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="课程类型"
+                      prop="courseType">
+          <el-select v-model="teacherForm.courseType">
+            <el-option label="11"
+                       value="222"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="排课次数"
+                      prop="courseNum">
+          <el-input type='number'
+                    v-model="teacherForm.courseNum"></el-input>
+        </el-form-item>
+        <el-form-item label="排课起始时间"
+                      prop="courseTime">
+          <el-date-picker v-model="teacherForm.courseTime"
+                          style="width:200px;"
+                          type="date"
+                          value-format="yyyy-MM-dd"
+                          placeholder="选择日期">
+          </el-date-picker>
+          <el-checkbox style='margin-left:10px;'
+                       v-model="teacherForm.checked">是否跳过节假日</el-checkbox>
+        </el-form-item>
+      </el-form>
+      <div class="WeekWrap">
+        <h3 style="margin-bottom:20px;">循环次数 </h3>
+        <div class="countWrap"
+             style="margin-bottom:10px;">
+          <div class="countItem">
+            <span>循环周期: </span>
+            <el-select v-model="weekList[0].week">
+              <el-option label="lalal"
+                         value="111"></el-option>
+            </el-select>
+            <span>开始时间</span>
+            <el-time-select placeholder=""
+                            v-model="weekList[0].startTime"
+                            :picker-options="{
+                               start: '08:30',
+                               step: '00:15',
+                               end: '18:30'
+            }">
+            </el-time-select>
+            <span>结束时间</span>
+            <el-time-select placeholder=""
+                            v-model="weekList[0].endTime"
+                            :picker-options="{
+                              start: '08:30',
+                              step: '00:15',
+                              end: '18:30'
+            }">
+            </el-time-select>
+
+          </div>
+
+        </div>
       </div>
     </el-dialog>
   </div>
@@ -255,7 +336,20 @@ export default {
       isNewClass: true,
       className: '', // 班级名称
       activeClass: '', // 当前操作的班级
-      soundList: []
+      soundList: [],
+      infoVisible: true,
+      teacherForm: {
+        coreTeacher: '',
+        assistant: '',
+        courseType: '',
+        courseTime: '',
+        checked: false
+      },
+      weekList: [{
+        week: '',
+        startTime: '',
+        endTime: ''
+      }]
     }
   },
   created () {
@@ -277,8 +371,6 @@ export default {
     // })
     // getNoClassStudentAll({ musicGroupId: this.teamid }).then(res => {
     // })
-
-
     // 根据乐团id获取乐团的所有声部
     findSound({ musicGroupId: this.teamid }).then(res => {
       if (res.code == 200) {
@@ -307,6 +399,8 @@ export default {
         return
       }
       this.activeClass = '';
+      this.activeListStudent = [];
+      this.studentList = [];
       this.isNewClass = true;
       this.studentVisible = true;
 
@@ -414,8 +508,24 @@ export default {
       })
     },
 
-    // 临时班删除学员
+    // 
     temporaryRemoveStudent (item) {
+      console.log(item.userId);
+      // 列表中删除
+      for (let i in this.activeListStudent) {
+        if (this.activeListStudent[i].userId == item.userId) {
+          this.activeListStudent.splice(i, 1);
+        }
+      }
+      // 查询列表中的项 取消勾选 temporaryStudentList  toggleRowSelection
+      // 循环列表 找到相应的行取消勾选
+      for (let k in this.studentList) {
+        if (this.studentList[k].userId == item.userId) {
+          this.$refs['temporaryStudentList'].toggleRowSelection(item, false)
+        }
+      }
+      // console.log(this.$refs['temporaryStudentList'].toggleRowSelection)
+      // this.$refs['temporaryStudentList'].toggleRowSelection(row, selected);
 
     },
     // 对象数组去重
@@ -431,6 +541,9 @@ export default {
       }
       return result;
     },
+    setInfoMsg () {
+      this.studentVisible;
+    }
   },
 }
 </script>
@@ -504,4 +617,8 @@ export default {
     }
   }
 }
+.el-date-editor.el-input,
+.el-date-editor.el-input__inner {
+  width: 100px;
+}
 </style>

+ 16 - 7
src/views/teamDetail/components/studentList.vue

@@ -87,7 +87,7 @@
                          label="性别">
           <template slot-scope="scope">
             <div>
-              {{scope.row.gender|sex }}
+              {{scope.row.gender| sex }}
             </div>
           </template>
         </el-table-column>
@@ -149,7 +149,9 @@
 
               <el-popover placement="top"
                           v-model="scope.row.typeVisible">
-                <p style=" text-align: center;margin-top: 10px;">是否退团</p>
+                <!-- <p style=" text-align: center;margin: 10px 0;">是否退团</p> -->
+                <el-input v-model="remark"
+                          placeholder="请输入退团原因"></el-input>
                 <el-button type="text"
                            slot='reference'
                            class='chiose'>
@@ -288,7 +290,7 @@
   </div>
 </template>
 <script>
-import { getTeamStudentList, getTeamStudentInfo, getSingleClass, findSound } from '@/api/buildTeam'
+import { getTeamStudentList, getTeamStudentInfo, getSingleClass, findSound, StudentQuit } from '@/api/buildTeam'
 import { addStudent } from '@/api/studentManager'
 import pagination from '@/components/Pagination/index'
 export default {
@@ -343,6 +345,7 @@ export default {
         startClass: '',
         id: ''
       },
+      remark: '', // 退团原因
 
       maskRules: {
         studentName: [{ required: true, message: '请输入学生姓名' },],
@@ -409,10 +412,15 @@ export default {
     },
     chioseType (row) {
       console.log(row);
+      row.userId;
       // 发请求 退团
-      // StudentQuit({}).then(res=>{
-
-      // })
+      StudentQuit({ musicGroupId: this.teamid, userId: row.userId, reason: this.remark }).then(res => {
+        this.remark = '';
+        if (res.code == 200) {
+          this.$message.success('退团成功')
+          this.getList();
+        }
+      })
       row.typeVisible = false;
     },
     //
@@ -431,7 +439,8 @@ export default {
             parentsName: this.maskForm.parentName,
             parentsPhone: this.maskForm.phone,
             subjectId: this.maskForm.sound,
-            idCardNo: this.maskForm.id
+            idCardNo: this.maskForm.id,
+            classGroupId: this.maskForm.signClass
 
           }).then(res => {
             if (res.code == 200) {

+ 22 - 13
src/views/teamDetail/teamList.vue

@@ -26,7 +26,7 @@
         <el-form-item prop='status'>
           <el-select class='multiple'
                      v-model="topForm.status"
-                     placeholder="请选择收费类型"
+                     placeholder="请选择乐团状态"
                      multiple
                      collapse-tags>
             <el-option v-for="(item,index) in nowStatus"
@@ -38,14 +38,10 @@
         <!-- 收费类型 -->
         <el-form-item prop='payType'>
           <el-select v-model="topForm.payType">
-            <el-option label="1.0"
-                       value="1"></el-option>
-            <el-option label="1.5"
-                       value="2"></el-option>
-            <el-option label="2.0"
-                       value="3"></el-option>
-            <el-option label="3.0"
-                       value="4"></el-option>
+            <el-option v-for="(item,index) in typeList"
+                       :key='index'
+                       :label="item.name"
+                       :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
@@ -72,9 +68,9 @@
           </el-table-column>
           <el-table-column align='center'
                            width="200px"
-                           prop="schoolName"
+                           prop="cooperationOrganName"
                            max-width='274'
-                           label="学校名称">
+                           label="合作单位">
           </el-table-column>
           <el-table-column prop="status"
                            align='center'
@@ -159,7 +155,8 @@
 <script>
 import pagination from '@/components/Pagination/index'
 // import { truncate } from 'fs';
-import { getTeamList } from '@/api/teamServer'
+import { getTeamList, getPayType } from '@/api/teamServer'
+import { getCooperation } from '@/api/buildTeam'
 export default {
   name: "Main",
   data () {
@@ -170,6 +167,7 @@ export default {
         payType: '',
         word: ''
       },
+      typeList: [], // 收费类型
       schools: [{ // 学校数组
         value: 1, text: '张三团'
       }, {
@@ -210,7 +208,18 @@ export default {
     pagination
   },
   mounted () {
-    this.getList()
+    this.getList();
+    // 获取乐团收费类型
+    getPayType().then(res => {
+      // console.log(res);
+      if (res.code == 200) {
+        this.typeList = res.data.rows;
+      }
+    })
+    // 获取乐团合作单位(学校)
+    getCooperation().then(res => {
+
+    })
   },
   methods: {
     getList () {

+ 2 - 2
vue.config.js

@@ -16,11 +16,11 @@ const name = defaultSettings.title || 'vue Admin Template' // page title
 // const port = process.env.port || process.env.npm_config_port || 9528 // dev port
 // http://47.99.212.176:8000
 // 
-let target = 'http://192.168.3.27:8000' // 箭河
+// let target = 'http://192.168.3.27:8000' // 箭河
 // let target = 'http://192.168.3.28:8000' //邹璇
 // let target = 'http://192.168.3.8:8000' //勇哥
 // let target = 'http://47.99.212.176:8000' // 测试服
-// let target = 'http://192.168.3.48:8000' // 乔
+let target = 'http://192.168.3.48:8000' // 乔
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {
   /**

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.