Jelajahi Sumber

Merge branch 'master' of http://git.dayaedu.com/molingzhide/dy-admin-manager

lex-xin 5 tahun lalu
induk
melakukan
fd4b3c7c66

File diff ditekan karena terlalu besar
+ 0 - 0
dist/index.html


+ 1 - 1
dist/static/css/chunk-42473875.83fcb6fa.css → dist/static/css/chunk-8b3be45e.43fc971c.css

@@ -1 +1 @@
-.m-core[data-v-7a8d4da6]{margin-top:30px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:distribute;justify-content:space-around}.m-core .el-input[data-v-7a8d4da6]{width:180px}.m-core h4[data-v-7a8d4da6]{font-size:16px;background-color:#ccc;color:#fff;text-align:center;width:100%;height:40px;line-height:40px;margin-bottom:20px}.m-core .center[data-v-7a8d4da6],.m-core .right[data-v-7a8d4da6],.m-core .vipLeft[data-v-7a8d4da6]{width:400px}.planList[data-v-7a8d4da6]{padding:0 25px}.planList .planTop[data-v-7a8d4da6]{height:40px;line-height:40px;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:justify;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid #ccc;margin-top:20px}.planList .planTop>p[data-v-7a8d4da6]{font-size:14px}.planList .planCore .row[data-v-7a8d4da6]{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:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:40px;line-height:40px;font-size:14px;text-align:center}.planList .planCore .row div[data-v-7a8d4da6]{width:87px}.okBtn[data-v-7a8d4da6]{width:120px;height:40px;line-height:40px;text-align:center;color:#fff;border-radius:4px;margin-right:20px;cursor:pointer;background-color:#f97215;float:right}
+.m-core[data-v-5d2c1342]{margin-top:30px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:distribute;justify-content:space-around}.m-core .el-input[data-v-5d2c1342]{width:180px}.m-core h4[data-v-5d2c1342]{font-size:16px;background-color:#ccc;color:#fff;text-align:center;width:100%;height:40px;line-height:40px;margin-bottom:20px}.m-core .center[data-v-5d2c1342],.m-core .right[data-v-5d2c1342],.m-core .vipLeft[data-v-5d2c1342]{width:400px}.planList[data-v-5d2c1342]{padding:0 25px}.planList .planTop[data-v-5d2c1342]{height:40px;line-height:40px;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:justify;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid #ccc;margin-top:20px}.planList .planTop>p[data-v-5d2c1342]{font-size:14px}.planList .planCore .row[data-v-5d2c1342]{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:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:40px;line-height:40px;font-size:14px;text-align:center}.planList .planCore .row div[data-v-5d2c1342]{width:87px}.okBtn[data-v-5d2c1342]{width:120px;height:40px;line-height:40px;text-align:center;color:#fff;border-radius:4px;margin-right:20px;cursor:pointer;background-color:#f97215;float:right}

File diff ditekan karena terlalu besar
+ 0 - 0
dist/static/js/app.6bf9d124.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/static/js/chunk-1228c85e.aec7089d.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/static/js/chunk-8b3be45e.120aaebd.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/static/js/chunk-a3aea2c8.f3ff4262.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/static/js/chunk-d1dd2788.71e024e7.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/static/js/chunk-f7b8967e.2ccc71bc.js


+ 6 - 1
src/views/buildVip/index.vue

@@ -19,6 +19,7 @@
           <el-form-item label="科目名称"
                         prop="subject">
             <el-select v-model="leftForm.subject"
+                       clearable
                        @change="changeSubject">
               <el-option v-for="(item,index) in subjectList"
                          :key="index"
@@ -29,6 +30,7 @@
           <el-form-item label="指导老师"
                         prop="teacher">
             <el-select v-model="leftForm.teacher"
+                       clearable
                        :disabled="!leftForm.subject"
                        @change="setSection">
               <el-option v-for="(item,index) in teacherList"
@@ -40,6 +42,7 @@
           <el-form-item label="课程形式"
                         prop="courseType">
             <el-select v-model="leftForm.courseType"
+                       clearable
                        @change="changeType">
               <el-option v-for="(item,index) in courseTypeList"
                          :key="index"
@@ -50,6 +53,7 @@
           <el-form-item label="活动方案"
                         prop="activeType">
             <el-select v-model="leftForm.activeType"
+                       clearable
                        :disabled="!leftForm.courseType"
                        @change="chioseActive">
               <el-option v-for="(item,index) in activeList"
@@ -61,6 +65,7 @@
           <!-- 11111111111111111111111111111111 -->
           <el-form-item label="教学点">
             <el-select v-model="leftForm.section"
+                       clearable
                        :disabled="!leftForm.teacher">
               <el-option v-for="(item,index) in scetionList"
                          :key="index"
@@ -451,7 +456,7 @@ export default {
       }
 
     })
-    // 获取所有老师的接口
+    // 获取所有老师的接口  根据声部id获取老师
     getTeacher().then(res => {
       if (res.code == 200) {
         this.teacherList = res.data;

+ 2 - 0
src/views/teamBuild/components/teamBaseInfo.vue

@@ -131,6 +131,8 @@
                        value="TEACHER_DEFAULT"></el-option>
             <el-option label="课时梯度结算"
                        value="GRADIENT_SALARY"></el-option>
+            <el-option label="课堂课酬"
+                       value="CLASSROOM_SALARY"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="教学主任"

+ 9 - 2
src/views/teamBuild/teamSeting/components/salarySet.vue

@@ -13,7 +13,7 @@
       </el-form-item>
     </el-form> -->
     <div class="tableWrap"
-         v-if='searchForm.salary == "TEACHER_DEFAULT"'>
+         v-if='searchForm.salary == "TEACHER_DEFAULT" || searchForm.salary =="CLASSROOM_SALARY"'>
       <el-table :data="defaultTableList"
                 :header-cell-style="{background:'#EDEEF0',color:'#444'}"
                 row-key="id"
@@ -159,6 +159,13 @@ export default {
               this.changeSalary(this.searchForm.salary);
             }
           })
+        } 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.changeSalary(this.searchForm.salary);
+            }
+          })
         }
       }
     })
@@ -210,7 +217,7 @@ export default {
       })
     },
     changeSalary (val) {
-
+      return
       if (val == 'TEACHER_DEFAULT') {
         for (let i in this.defaultTableList) {
 

+ 0 - 3
src/views/teamBuild/teamSeting/components/setImprovement.vue

@@ -195,8 +195,6 @@ export default {
             }
           })
         }
-
-
       })
 
     },
@@ -204,7 +202,6 @@ export default {
       console.log(this.activeClass, row.userId)
       this.activeStudent = row.userId;
       this.resetVisible = true;
-
     },
     resetStudent () {
       // this.studentRadio; // 选中的班级

+ 140 - 15
src/views/teamDetail/components/resetClass.vue

@@ -37,12 +37,34 @@
           <el-table-column align='center'
                            prop=""
                            label="主教老师">
+            <template slot-scope="scope">
+              <div v-if="scope.row.classGroupTeacherMapperList">
+                <p v-for="(item,index) in scope.row.classGroupTeacherMapperList"
+                   v-if="item.teacherRole == 'BISHOP'"
+                   :key='index'>{{item.userName}}</p>
+
+              </div>
+            </template>
           </el-table-column>
           <el-table-column align='center'
                            label="助教老师">
+            <template slot-scope="scope">
+              <div v-if="scope.row.classGroupTeacherMapperList">
+                <p v-for="(item,index) in scope.row.classGroupTeacherMapperList"
+                   v-if="item.teacherRole == 'TEACHING'"
+                   :key='index'>{{item.userName}}</p>
+
+              </div>
+            </template>
           </el-table-column>
           <el-table-column align='center'
                            label="是否排课">
+            <template slot-scope="scope">
+              <div>
+                <p v-if="scope.row.totalClassTimes > 0"> 是</p>
+                <p v-if="scope.row.totalClassTimes <= 0"> 否</p>
+              </div>
+            </template>
           </el-table-column>
           <el-table-column align='center'
                            label="操作">
@@ -113,25 +135,27 @@
           </div>
         </div>
         <div class="right">
-
           <!--  multiple
                      collapse-tags -->
-          <el-select v-model="activeChioseSound"
+          <el-select v-if="isNewClass"
+                     v-model="activeChioseSound"
                      style="width:180px"
                      clearable
                      placeholder="声部选择">
-            <el-option v-for='(item,index) in chioseSoundList'
+            <el-option v-for='(item,index) in soundList'
                        :key='index'
                        :label="item.name"
                        :value="item.id"></el-option>
           </el-select>
-          <el-button type="danger"
+          <el-button v-if="isNewClass"
+                     type="danger"
                      style="margin-left:20px;"
                      @click="searchStudent">搜索</el-button>
 
           <!--   列表开始  -->
           <div class="tableList">
             <el-table tooltip-effect="dark"
+                      v-if="!isNewClass"
                       style="width: 100%; margin-top:10px;"
                       :data='studentList'
                       ref='studentList'
@@ -150,7 +174,34 @@
                                width="55"
                                label="性别">
               </el-table-column>
-              <el-table-column prop="musicGroupName"
+              <el-table-column prop="subjectName"
+                               align='center'
+                               label="学员声部">
+              </el-table-column>
+            </el-table>
+
+            <!-- 新增班级的table -->
+            <el-table tooltip-effect="dark"
+                      v-if="isNewClass"
+                      style="width: 100%; margin-top:10px;"
+                      :data='studentList'
+                      ref='studentList'
+                      @selection-change="NewselectionStudent">
+              <el-table-column type="selection"
+                               align='center'
+                               width="55">
+              </el-table-column>
+              <el-table-column prop="name"
+                               align='center'
+                               width="80"
+                               label="姓名">
+              </el-table-column>
+              <el-table-column prop="gender"
+                               align='center'
+                               width="55"
+                               label="性别">
+              </el-table-column>
+              <el-table-column prop="subjectName"
                                align='center'
                                label="学员声部">
               </el-table-column>
@@ -162,15 +213,21 @@
       <div slot="footer"
            class="dialog-footer">
         <el-button @click="studentVisible = false">取 消</el-button>
+        <!-- 班级学员修改 -->
         <el-button type="primary"
+                   v-if="!isNewClass"
+                   @click="addSomeStudent">确 定</el-button>
+        <!-- 临时调整或者新建班级 -->
+        <el-button type="primary"
+                   v-if="isNewClass"
                    @click="studentVisible = false">确 定</el-button>
       </div>
     </el-dialog>
   </div>
 </template>
 <script>
-import { getAllClass, getAllSignClassandTeacher, getAllSignClass, removeSingleClass, getNoClassStudentAll } from '@/api/buildTeam'
-import { getClassAllStudent, removeStudents } from '@/api/studentManager'
+import { getAllClass, getAllSignClassandTeacher, getAllSignClass, removeSingleClass, getNoClassStudentAll, findSound, teamSoundStudent } from '@/api/buildTeam'
+import { getClassAllStudent, removeStudents, addStudents } from '@/api/studentManager'
 import axios from 'axios'
 import qs from 'qs'
 export default {
@@ -190,9 +247,11 @@ export default {
       chioseSoundList: [], //当前的所有声部
       studentList: [], //列表里的学生集合
       activeMixClass: '', // 选中的合奏班
+      chioseStudent: [],// 勾选的学生信息
       isNewClass: true,
       className: '', // 班级名称
-      activeClass: ''
+      activeClass: '', // 当前操作的班级
+      soundList: []
     }
   },
   created () {
@@ -213,8 +272,15 @@ export default {
     //   this.holidayList = Object.keys(res.data[year])
     // })
     // getNoClassStudentAll({ musicGroupId: this.teamid }).then(res => {
-
     // })
+
+
+    // 根据乐团id获取乐团的所有声部
+    findSound({ musicGroupId: this.teamid }).then(res => {
+      if (res.code == 200) {
+        this.soundList = res.data
+      }
+    })
   },
   methods: {
     changeMixClass (val) {
@@ -234,14 +300,38 @@ export default {
     temporary () {
       if (!this.topForm.mixClass) {
         this.$message.error('请先选择合奏班')
+        return
       }
+      this.activeClass = '';
+      this.isNewClass = true;
+      this.studentVisible = true;
+
     },
     searchStudent () {
       // 搜索学生
+      // 根据声部id  乐团id搜索学生
+      teamSoundStudent({ musicGroupId: this.teamid, actualSubjectId: this.activeChioseSound }).then(res => {
+        if (res.code == 200) {
+          this.studentList = res.data;
+        }
+      })
     },
-    // 选择学生的方法
-    SelectionStudent () {
-
+    // 选择学生的方法修改
+    SelectionStudent (val) {
+      console.log(val)
+      this.chioseStudent = val;
+      if (this.chioseStudent.length > 0) {
+        this.chioseStudent = this.chioseStudent.concat(val);
+      } else {
+        this.chioseStudent = val;
+      }
+    },
+    // 新增选中的学生
+    NewselectionStudent (val) {
+      console.log(1111);
+      this.chioseStudent = val;
+      // 这里新增的添加到选中的学生列表  根据学生id去重
+      console.log(this.chioseStudent)
     },
     // 删除班级
     removeClass (scope) {
@@ -276,7 +366,9 @@ export default {
 
       // 获取乐团内所有未分班的学生
       getNoClassStudentAll({ musicGroupId: this.teamid }).then(res => {
-
+        if (res.code == 200) {
+          this.studentList = res.data
+        }
       })
     },
     // 删除学生
@@ -286,12 +378,45 @@ export default {
       removeStudents({ classGroupId: this.activeClass, userId: item.userId }).then(res => {
         if (res.code == 200) {
           this.$message.success('删除成功')
-          item.isVisible = false;
+
+          getClassAllStudent({ classGroupId: row.id }).then(res => {
+            if (res.code == 200) {
+              this.activeListStudent = res.data.map(item => {
+                item.isVisible = false;
+                return item;
+              });
+            }
+          })
         }
       })
 
 
-    }
+    },
+    // 批量添加学生
+    addSomeStudent () {
+      // 获取勾选的学生
+      let arr = this.chioseStudent.map(item => {
+        return item.userId;
+      });
+      addStudents({ classGroupId: this.activeClass, userIdsStr: arr.join(',') }).then(res => {
+        if (res.code == 200) {
+          this.studentVisible = false;
+        }
+      })
+    },
+    // 对象数组去重
+    objArrayRemoval (arr, attr) {
+      let obj = {};
+      let result = [];
+      // console.log(this.allActiveStudent.length);
+      for (let x in arr) {
+        if (!obj[arr[x][attr]]) {
+          result.push(arr[x]);
+          obj[arr[x][attr]] = true;
+        }
+      }
+      return result;
+    },
   },
 }
 </script>

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini