Bladeren bron

03/13 20:36

vip加教务
261568008@qq.com 5 jaren geleden
bovenliggende
commit
aaf48a0b4c

+ 9 - 0
src/api/buildTeam.js

@@ -1029,4 +1029,13 @@ export function getReviewsInfo(data) {
     method: 'get',
     params: data
   })
+}
+
+// 获取所有教务老师
+export function findEducationUsers(data) { 
+  return request({
+    url: api + '/employee/findEducationUsers',
+    method: 'get',
+    params: data
+  })
 }

+ 8 - 1
src/utils/searchArray.js

@@ -85,6 +85,12 @@ const vipGroupStatus = [
   { value: '6', text: '暂停' },
 ]
 
+// 课程状态
+const courseStatus = [
+  { value: "NOT_START", label: "未开始" },
+  { value: "UNDERWAY", label: "进行中" },
+  { value: "OVER", label: "已结束" },
+]
 
 export {
   courseType,
@@ -95,5 +101,6 @@ export {
   orderStatus,
   dealStatus,
   musicGroupStatus,
-  vipGroupStatus
+  vipGroupStatus,
+  courseStatus
 }

+ 3 - 6
src/views/accompanyManager/accompanyList.vue

@@ -73,12 +73,9 @@
           <el-table-column align="center" prop="id" label="课程组编号"></el-table-column>
           <el-table-column align="center" prop="name" label="课程组名称"></el-table-column>
           <el-table-column align="center" prop="organName" label="所属分部"></el-table-column>
-          <!-- organName -->
-          <!-- <el-table-column align="center" prop="status" label="课程状态">
-            <template slot-scope="scope">
-              <div>{{ scope.row.status | formatterStatus}}</div>
-            </template>
-          </el-table-column>-->
+          <!-- educationalTeacherId -->
+          <el-table-column align="center" prop="educationalTeacherName" label="教务老师">
+          </el-table-column>
           <el-table-column align="center" prop="teacherName" label="指导老师"></el-table-column>
           <el-table-column align="center" prop="studentNum" label="班级人数"></el-table-column>
           <!-- <el-table-column align="center" label="课程单价">

+ 32 - 10
src/views/accompanyManager/accompanys.vue

@@ -4,7 +4,7 @@
       <h2>
         <el-page-header @back="goBack" :content="name"></el-page-header>
       </h2>
-      <p style="margin-bottom:10px; margin-left:30px;"> 课程有效期:{{ timers }}</p>
+      <p style="margin-bottom:10px; margin-left:30px;">课程有效期:{{ timers }}</p>
     </div>
 
     <!--   v-permission="'vipGroupManage/updateVipBaseInfo'" -->
@@ -220,6 +220,16 @@
             ></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="教务老师">
+          <el-select v-model.trim="teacherForm.educationalTeacherId" filterable clearable>
+            <el-option
+              v-for="(item,index) in educationList"
+              :key="index"
+              :value="item.userId"
+              :label="item.userName"
+            ></el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item v-show="isMultiple">
           <p style="color:#FF5353">*更改课程组老师,将更换全部未开始课程的老师</p>
         </el-form-item>
@@ -322,7 +332,8 @@ import {
   cleanAttendance,
   batchAddCourses,
   getPracticeApplySubjects,
-  batchUpdateCourseSchedule
+  batchUpdateCourseSchedule,
+  findEducationUsers
 } from "@/api/buildTeam";
 import {
   vipCourseAdjust,
@@ -381,12 +392,14 @@ export default {
       },
       teacherRules: {
         teacher: [{ required: true, message: "请选择老师", trigger: "blur" }],
-        subjectId: [{ required: true, message: "请选择声部", trigger: "blur" }]
+        subjectId: [{ required: true, message: "请选择声部", trigger: "blur" }],
+        educationalTeacherId: [{ required: true, message: "请选择教务老师", trigger: "blur" }]
       },
       teacherForm: {
         teacher: null,
         name: null,
-        subjectId: null
+        subjectId: null,
+        educationalTeacherId:null
       },
       courseOption: null,
       coursesExpireDate: null,
@@ -419,6 +432,7 @@ export default {
         { value: "7", label: "星期日" }
       ],
       activeList: [],
+      educationList: [],
       timers: null
     };
   },
@@ -438,7 +452,15 @@ export default {
       if (this.$route.query.searchForm) {
         this.FsearchForm = this.$route.query.searchForm;
       }
-      //   console.log(this.practiceId)
+      //  获取教务老师
+      findEducationUsers({
+
+      }).then(res => {
+        if (res.code == 200) {
+          this.educationList = res.data
+        }
+      });
+
       //   <!-- 状态 指导老师 活动方案-->
       getTeacher({ organId: this.organId }).then(res => {
         if (res.code == 200) {
@@ -549,7 +571,7 @@ export default {
       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;
       this.teacherVisible = true;
     },
     // 提交课程组修改
@@ -562,7 +584,8 @@ export default {
             practiceGroupTeacherAdjust({
               practiceGroupId: this.practiceId,
               teacherId: this.teacherForm.teacher,
-              subjectId: this.teacherForm.subjectId
+              subjectId: this.teacherForm.subjectId,
+              educationalTeacherId:this.teacherForm.educationalTeacherId
             }).then(res => {
               if (res.code == 200) {
                 this.$message.success("修改成功");
@@ -672,7 +695,7 @@ export default {
 
           obj.isJumpHoliday = this.adjustmentForm.checked;
           obj.musicGroupId = this.practiceId;
-          obj.teachMode = 'ONLINE';
+          obj.teachMode = "ONLINE";
           obj.type = "PRACTICE";
           batchUpdateCourseSchedule(obj).then(res => {
             if (res.code == 200) {
@@ -714,7 +737,6 @@ export default {
     },
     // 网管课加课提交
     addCourseSubmit() {
-     
       this.$refs["adjustmentForm"].validate(item => {
         if (item) {
           let week = this.weekList;
@@ -730,7 +752,7 @@ export default {
 
           obj.isJumpHoliday = this.adjustmentForm.checked;
           obj.musicGroupId = this.practiceId;
-           obj.teachMode = 'ONLINE';
+          obj.teachMode = "ONLINE";
           obj.type = "PRACTICE";
           batchAddCourses(obj).then(res => {
             if (res.code == 200) {

+ 38 - 11
src/views/buildVip/index.vue

@@ -43,6 +43,21 @@
               />
             </el-select>
           </el-form-item>
+          <el-form-item label="教务老师" prop="educationalTeacherId">
+            <el-select
+              v-model.trim="leftForm.educationalTeacherId"
+              filterable
+              clearable
+              :disabled="!leftForm.subject"
+            >
+              <el-option
+                v-for="(item,index) in educationList"
+                :key="index"
+                :label="item.userName"
+                :value="item.userId"
+              />
+            </el-select>
+          </el-form-item>
           <el-form-item label="课程形式" prop="courseType">
             <el-select
               v-model.trim="leftForm.courseType"
@@ -326,7 +341,7 @@
   </div>
 </template>
 <script>
-import { getTeacher, getSubject } from "@/api/buildTeam";
+import { getTeacher, getSubject, findEducationUsers } from "@/api/buildTeam";
 import {
   vipGroupCategory,
   vipGroupActivityFind,
@@ -357,8 +372,9 @@ export default {
         courseStartOffline: "",
         courseEnd: "",
         section: "",
-        courseStart:'',
-        courseEnd:''
+        courseStart: "",
+        courseEnd: "",
+        educationalTeacherId: ""
       },
       classTimeList: [],
       centerForm: {
@@ -383,6 +399,7 @@ export default {
       computationalBtn: false,
       subjectList: [], // 科目列表
       teacherList: [], // 老师列表
+      educationList: [], // 教务
       courseTypeList: [], // 课程类型集合
       activeList: [], //活动集合
       hasOnline: false,
@@ -423,6 +440,9 @@ export default {
          */
         name: [{ required: true, message: "请输入名称", trigger: "blur" }],
         teacher: [{ required: true, message: "请选择老师", trigger: "blur" }],
+        educationalTeacherId: [
+          { required: true, message: "请选择教务", trigger: "blur" }
+        ],
         subject: [
           {
             required: true,
@@ -519,9 +539,9 @@ export default {
   },
   activated() {
     Object.assign(this.$data, this.$options.data());
-    setTimeout(()=>{
-       this.$refs['leftForm'].resetFields();
-    },100)
+    setTimeout(() => {
+      this.$refs["leftForm"].resetFields();
+    }, 100);
     this.init();
   },
   methods: {
@@ -544,21 +564,28 @@ export default {
           this.teacherList = res.data;
         }
       });
+
+      //  获取教务老师
+      findEducationUsers({}).then(res => {
+        if (res.code == 200) {
+          this.educationList = res.data;
+        }
+      });
       this.pickerOptions = this.beginDate();
       this.pickerOptions1 = this.processDate();
       this.courseOption = this.coursesDate();
     },
-    coursesDate(){
+    coursesDate() {
       let self = this;
       return {
-         disabledDate: time => {
+        disabledDate: time => {
           if (self.leftForm.courseStart) {
             let date = new Date(self.leftForm.courseStart.replace(/-/, "/"));
             return time.getTime() < date.getTime();
           }
           return;
         }
-      }
+      };
     },
     beginDate() {
       let self = this;
@@ -1097,7 +1124,8 @@ export default {
         onlineTeacherSalary: this.rightForm.onlineCourse || 0,
         offlineTeacherSalary: this.rightForm.offlineCourse || 0,
         giveTeachMode: this.centerForm.radio,
-        subjectIdList: this.leftForm.subject
+        subjectIdList: this.leftForm.subject,
+        educationalTeacherId: this.leftForm.educationalTeacherId
       };
 
       // 调接前判断是新增还是修改
@@ -1169,7 +1197,6 @@ export default {
       });
     },
     setCourse() {
-
       if (
         this.hotType == "GIVE_CLASS" &&
         this.isGiveClass &&

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

@@ -26,6 +26,17 @@
                      :value="item.value"></el-option>
         </el-select>
       </el-form-item>
+            <el-form-item>
+        <el-select v-model.trim="searchForm.courseStatus"
+                   filterable
+                   clearable
+                   placeholder="课程状态">
+          <el-option v-for="(item, index) in courseStatus"
+                     :key="index"
+                     :label="item.label"
+                     :value="item.value"></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-input placeholder="班级名称"
                   v-model.trim="searchForm.classGroupName"></el-input>
@@ -67,6 +78,12 @@
             {{ scope.row.courseDate | formatWeek }}
           </template>
         </el-table-column>
+          <el-table-column align='center'
+                         label="课程状态">
+          <template slot-scope="scope">
+            {{ scope.row.courseStatus | coursesStatus }}
+          </template>
+        </el-table-column>
         <el-table-column align='center'
                          label="班级类型">
           <template slot-scope="scope">
@@ -109,6 +126,7 @@
 <script>
 import pagination from '@/components/Pagination/index'
 import { findStudentAttendances } from '@/api/studentManager'
+import { courseStatus } from '@/utils/searchArray'
 export default {
   name: 'studentRecord',
   components: { pagination },
@@ -119,7 +137,8 @@ export default {
         classGroupType: null,
         attendanceStatus: null,
         classGroupName: null,
-        teacherName: null
+        teacherName: null,
+        courseStatus:null
       },
       searchLsit: [],
       tableList: [],
@@ -135,6 +154,7 @@ export default {
         { value: "TRUANT", label: "旷课" },
         { value: "LEAVE", label: "请假" },
       ],
+      courseStatus:courseStatus,
       pageInfo: {
         // 分页规则
         limit: 10, // 限制显示条数

+ 6 - 3
src/views/vipClass/vipList.vue

@@ -89,6 +89,7 @@
             </template>
           </el-table-column>
           <el-table-column align="center" prop="userName" label="指导老师"></el-table-column>
+          <el-table-column align="center" prop="educationalTeacherName" label="教务老师"></el-table-column>
           <el-table-column align="center" prop="studentNum" label="班级人数"></el-table-column>
           <el-table-column align="center" label="课程单价">
             <template slot-scope="scope">
@@ -166,7 +167,7 @@
                   type="text"
                   v-if="scope.row.status > 1&&scope.row.status != 3"
                   v-permission="'/vipReset'"
-                  @click="resetVip(scope.row.id)"
+                  @click="resetVip(scope.row)"
                 >修改</el-button>
               </div>
             </template>
@@ -378,12 +379,14 @@ export default {
         .catch(() => {});
     },
     // 修改vip
-    resetVip(id) {
+    resetVip(row) {
+      let id  = row.id;
+      let educationalTeacherId = row.educationalTeacherId;
       let rules = JSON.stringify(this.rules);
       let searchForm = JSON.stringify(this.searchForm);
       this.$router.push({
         path: "/business/vipReset",
-        query: { id, rules, searchForm }
+        query: { id,educationalTeacherId, rules, searchForm }
       });
     }
   },

+ 38 - 4
src/views/vipClass/vipReset.vue

@@ -330,6 +330,20 @@
             ></el-option>
           </el-select>
         </el-form-item>
+         <el-form-item label="教务老师" prop="educationalTeacherId">
+            <el-select
+              v-model.trim="addrForm.educationalTeacherId"
+              filterable
+              clearable
+            >
+              <el-option
+                v-for="(item,index) in educationList"
+                :key="index"
+                :label="item.userName"
+                :value="item.userId"
+              />
+            </el-select>
+          </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
         <el-button @click="addrVisible = false">取 消</el-button>
@@ -339,7 +353,7 @@
   </div>
 </template>
 <script>
-import { resetCourse,  cleanAttendance } from "@/api/buildTeam";
+import { resetCourse,  cleanAttendance,findEducationUsers } from "@/api/buildTeam";
 // import { getSchool } from '@/api/systemManage'
 import pagination from "@/components/Pagination/index";
 import {
@@ -368,10 +382,12 @@ export default {
       courseVisible: false,
       tableList: [],
       addTable: [],
+      educationList:[],
       courseTime: "",
       vipid: "",
       addrForm: {
-        address: ""
+        address: "",
+        educationalTeacherId:''
       },
       maskForm: {
         date: "",
@@ -437,9 +453,10 @@ export default {
     };
   },
   created() {
-    this.__init();
+    
   },
   mounted() {
+    this.__init();
     this.getList();
   },
   activated() {
@@ -449,12 +466,24 @@ export default {
   methods: {
     __init() {
       this.vipid = this.$route.query.id;
+      if(this.$route.query.educationalTeacherId){
+         this.addrForm.educationalTeacherId = this.$route.query.educationalTeacherId;
+      }
+     
       if (this.$route.query.rules) {
         this.Frules = this.$route.query.rules;
       }
       if (this.$route.query.searchForm) {
         this.FsearchForm = this.$route.query.searchForm;
       }
+          //  获取教务老师
+      findEducationUsers({
+
+      }).then(res => {
+        if (res.code == 200) {
+          this.educationList = res.data
+        }
+      });
     },
     getList() {
       findVipGroupCourseSchedules({
@@ -723,10 +752,15 @@ export default {
         this.$message.error("请选择一个教学点");
         return;
       }
+      if (!this.addrForm.educationalTeacherId) {
+        this.$message.error("请选择教务老师");
+        return;
+      }
       // 修改教学点
       updateVipBaseInfo({
         id: this.vipid,
-        teacherSchoolId: this.addrForm.address
+        teacherSchoolId: this.addrForm.address,
+        educationalTeacherId:this.addrForm.educationalTeacherId
       }).then(res => {
         if (res.code == 200) {
           this.$message.success("修改成功");