Pārlūkot izejas kodu

04/24 12:00

111
Xiao_Mo 5 gadi atpakaļ
vecāks
revīzija
2e3cd04b0c

+ 9 - 0
src/api/operateManager.js

@@ -9,4 +9,13 @@ export function getOperatingStudents(data) {
         method: 'GET',
         params: data
     })
+}
+
+// 结转奖励
+export function teacherCourseReward(data) {
+    return request({
+        url: api + '/teacherCourseReward/queryPage',
+        method: 'GET',
+        params: data
+    })
 }

+ 3 - 1
src/router/index.js

@@ -284,6 +284,8 @@ export const asyncRoutes = {
   afterSchoolManager:()=>import('@/views/afterSchoolManager'),
   afterSchoolDetail:()=>import('@/views/afterSchoolManager/afterSchoolDetail'),
   // 运营管理 学员列表
-  operateStudent:()=>import('@/views/operateManager/operateStudent')
+  operateStudent:()=>import('@/views/operateManager/operateStudent'),
+  // 运营管理 结转奖励
+  settlementList:()=>import('@/views/settlementManager/settlementList'),
 }
 export default router

+ 15 - 11
src/views/accompanyManager/accompanyList.vue

@@ -173,7 +173,11 @@
                   @click="closeCrouse(scope.row)"
                   v-permission="'practiceGroupManage/cancelGroup'"
                 >关闭</el-button>
-                <el-button type="text" @click="resetMemo(scope.row)">修改备注</el-button>
+                <el-button
+                  type="text"
+                  @click="resetMemo(scope.row)"
+                  v-permission="'practiceGroupManage/updateMemo'"
+                >修改备注</el-button>
               </div>
             </template>
           </el-table-column>
@@ -249,7 +253,7 @@ export default {
       },
       memoForm: {
         memo: "",
-        groupId:''
+        groupId: ""
       },
       memoVisible: false,
       closeVisible: false,
@@ -402,7 +406,7 @@ export default {
       let searchForm = JSON.stringify(this.searchForm);
       this.$router.push({
         path: "/business/accompanys",
-        query: { id: row.id, rules, searchForm }
+        query: { id: row.id, rules, searchForm, type: row.type }
       });
     },
     closeCrouse(row) {
@@ -436,18 +440,18 @@ export default {
       });
     },
     resetMemo(row) {
-      this.$set(this.memoForm,'memo',row.memo);
-       this.$set(this.memoForm,'groupId',row.id);
+      this.$set(this.memoForm, "memo", row.memo);
+      this.$set(this.memoForm, "groupId", row.id);
       this.memoVisible = true;
     },
-    subMemo(){
-      practiceUpdateMemo(this.memoForm).then(res=>{
-        if(res.code == 200){
-          this.$message.success('修改成功')
+    subMemo() {
+      practiceUpdateMemo(this.memoForm).then(res => {
+        if (res.code == 200) {
+          this.$message.success("修改成功");
           this.memoVisible = false;
-          this.getList()
+          this.getList();
         }
-      })
+      });
     }
   },
   watch: {

+ 5 - 1
src/views/accompanyManager/accompanys.vue

@@ -12,6 +12,7 @@
       <div
         class="newBand"
         @click="resetTeachers"
+        v-if="courseType&&courseType!='TRIAL'"
         v-permission="'courseSchedule/practiceGroupTeacherAdjust'"
       >课程组调整</div>
       <!-- // accompanys/addCourse -->
@@ -22,6 +23,7 @@
       >网管课加课</div>
       <div
         class="newBand"
+         v-if="courseType&&courseType!='TRIAL'"
         v-permission="'courseSchedule/batchUpdateCourseSchedule'"
         @click="adjustment"
       >批量调整</div>
@@ -99,7 +101,7 @@
               <el-button
                 v-permission="'courseSchedule/practiceCourseTeacherAdjust'"
                 type="text"
-                v-show="scope.row.status == 'NOT_START'"
+                v-show="scope.row.status == 'NOT_START'&&courseType!='TRIAL'"
                 @click="resetTeacher(scope.row)"
               >更换老师</el-button>
               <el-button
@@ -365,6 +367,7 @@ export default {
       FsearchForm: null,
       userId: null,
       activeRow: null,
+      courseType:null,
       rules: {
         // 分页规则
         limit: 20, // 限制显示条数
@@ -454,6 +457,7 @@ export default {
     init() {
       this.practiceId = this.$route.query.id;
       this.userId = this.$route.query.userId;
+      this.courseType = this.$route.query.type;
       if (this.$route.query.rules) {
         this.Frules = this.$route.query.rules;
       }

+ 30 - 13
src/views/evaluateManager/networkList.vue

@@ -40,12 +40,21 @@
           ></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item>
-        <el-select placeholder="收费类型" v-model="searchForm.isFree" clearable>
-          <el-option label="付费" value="0"></el-option>
-          <el-option label="免费" value="1"></el-option>
-        </el-select>
-      </el-form-item>
+       <el-form-item>
+          <el-select
+            v-model.trim="searchForm.practiceGroupType"
+            clearable
+            filterable
+            placeholder="课程组类型"
+          >
+            <el-option
+              v-for="(item,index) in practiceGroupType"
+              :key="index"
+              :value="item.value"
+              :label="item.label"
+            ></el-option>
+          </el-select>
+        </el-form-item>
       <el-form-item>
         <el-select placeholder="学员评分" v-model="searchForm.studentReview" clearable>
           <el-option v-for="index in 5" :label="index+'星'" :value="index" :key="index"></el-option>
@@ -126,11 +135,13 @@
         <el-table-column align="center" prop="subjectName" label="声部"></el-table-column>
         <el-table-column align="center" prop="teacherName" label="指导老师"></el-table-column>
         <el-table-column align="center" prop="eduTeacherName" label="教务老师"></el-table-column>
-        <el-table-column align="center" prop="id" label="收费类型">
-          <template slot-scope="scope">
-            <div>{{scope.row.buyMonths>0?'付费':'免费'}}</div>
-          </template>
-        </el-table-column>
+        <el-table-column align="center" prop="type" label="课程组类型" width="100">
+            <template slot-scope="scope">
+              <div>
+                <p>{{scope.row.practiceGroupType | comType}}</p>
+              </div>
+            </template>
+          </el-table-column>
         <el-table-column align="center" label="学员评分">
           <template slot-scope="scope">
             <div>{{ scope.row.studentReview | studentReviewFilter}}</div>
@@ -299,6 +310,7 @@ import { getToken } from "@/utils/auth";
 import qs from "qs";
 import axios from "axios";
 import pagination from "@/components/Pagination/index";
+import {  practiceGroupType } from "@/utils/searchArray";
 import {
   getTeacher,
   getEmployeeOrgan,
@@ -324,8 +336,10 @@ export default {
         hasArrived: null,
         homeWorkReplied: null,
         assignHomework:null,
-        month: []
+        month: [],
+        practiceGroupType:null
       },
+      practiceGroupType:practiceGroupType,
       organList: [],
       teacherList: [],
       educationList: [],
@@ -411,6 +425,7 @@ export default {
       obj.homeWorkReplied = this.searchForm.homeWorkReplied || null;
       obj.assignHomework = this.searchForm.assignHomework || null;
       obj.search = this.searchForm.search;
+      obj.practiceGroupType = this.searchForm.practiceGroupType || null;
       if (this.searchForm.month&&this.searchForm.month.length > 0) {
         obj.startTime = this.searchForm.month[0];
         obj.endTime = this.searchForm.month[1];
@@ -480,7 +495,8 @@ export default {
         month: null,
         hasArrived: null,
         homeWorkReplied: null,
-        assignHomework:null
+        assignHomework:null,
+        practiceGroupType:null
       };
       var now = new Date();
 
@@ -538,6 +554,7 @@ export default {
         this.$message.error('请选择时间范围')
         return
       }
+      this.searchForm.practiceGroupType?obj.practiceGroupType = this.searchForm.practiceGroupType:null;
       const options = {
         method: "POST",
         headers: {

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

@@ -0,0 +1,160 @@
+<!--  -->
+<template>
+  <div class="m-container">
+    <h2>
+      <div class="squrt"></div>结转奖励
+    </h2>
+    <div class="m-core">
+      <el-form :inline="true" :model="searchForm">
+        <el-form-item>
+          <el-input v-model.trim="searchForm.search" @keyup.enter.native="search" placeholder='课程组编号&名字'></el-input>
+        </el-form-item>
+         <el-form-item>
+        <el-select placeholder="请选择分部" v-model="searchForm.organId" clearable>
+          <el-option
+            v-for="(item,index) in organList"
+            :label="item.name"
+            :value="item.id"
+            :key="index"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-select placeholder="指导老师" v-model="searchForm.teacherId" clearable filterable>
+          <el-option
+            v-for="(item,index) in teacherList"
+            :label="item.realName"
+            :value="item.id"
+            :key="index"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+       <el-form-item>
+          <el-button type="danger" @click="search">搜索</el-button>
+          <el-button @click="onReSet" type="primary">重置</el-button>
+          <!-- <el-button
+            @click="onExport"
+            type="primary"
+            v-permission="'export/exercisesSituations'"
+            style=" background: #14928a; border:1px solid #14928a;"
+          >导出</el-button> -->
+        </el-form-item>
+      </el-form>
+      <div class="tableWrap">
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{background:'#EDEEF0',color:'#444'}"
+          :data="tableList"
+        >
+        <el-table-column align="center" prop="musicGroupId" label="课程组编号"></el-table-column>
+        <el-table-column align="center" prop="courseGroupName" label="课程组名称"></el-table-column>
+          <el-table-column align="center" prop="organName" label="分部"></el-table-column>
+          <el-table-column align="center" prop="teacherName" label="指导老师"></el-table-column>
+          <el-table-column align="center" label="结转金额">
+              <template slot-scope="scope">
+                  <div>
+                      {{ scope.row.expectRewardAmount + '元'}}
+                  </div>
+              </template>
+          </el-table-column>
+            <el-table-column align="center" label="结转日期">
+              <template slot-scope="scope">
+                  <div>
+                      {{ scope.row.createTime | formatTimer}}
+                  </div>
+              </template>
+          </el-table-column>
+          <el-table-column align="center" prop="memo" width="500" label="备注"></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>
+  </div>
+</template>
+
+<script>
+import axios from "axios";
+import { getToken } from "@/utils/auth";
+import pagination from "@/components/Pagination/index";
+import load from "@/utils/loading";
+import { getTeacher, getEmployeeOrgan } from "@/api/buildTeam";
+import { teacherCourseReward } from "@/api/operateManager"
+export default {
+  components: { pagination },
+  data() {
+    return {
+      searchForm: {
+        search: null,
+        organId:null,
+        teacherId:null
+      },
+      teacherList: [],
+      tableList: [],
+      organList: [],
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      }
+    };
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {},
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {
+       getTeacher().then(res => {
+      if (res.code == 200) {
+        this.teacherList = res.data;
+      }
+    });
+      getEmployeeOrgan().then(res => {
+      if (res.code == 200) {
+        this.organList = res.data;
+      }
+    });
+    // 获取分部
+    this.init();
+  },
+  activated(){
+        this.init();
+  },
+  methods: {
+    init() {
+        this.getList()
+    },
+    getList() {
+        this.searchForm.page = this.rules.page;
+        this.searchForm.rows = this.rules.limit;
+        teacherCourseReward(this.searchForm).then(res=>{
+            if(res.code == 200){
+                this.tableList = res.data.rows;
+                this.rules.total = res.data.total;
+            }
+        })
+    },
+    onExport(){},
+    search(){
+        this.rules.page = 1;
+        this.getList()
+    },
+    onReSet(){
+        this.searchForm= {
+        search: null,
+        organId:null,
+        teacherId:null
+      }
+      this.search()
+    }
+  }
+};
+</script>
+<style lang='scss' scoped>
+</style>

+ 5 - 3
src/views/studentManager/components/studentNetwork.vue

@@ -10,11 +10,13 @@
         >
           <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="subjectName" label="声部"></el-table-column>
+          <!-- <el-table-column align="center" prop="subjectName" label="声部"></el-table-column> -->
           <el-table-column align="center" prop="teacherName" label="指导老师"></el-table-column>
-          <el-table-column align="center" prop="id" label="课程组类型">
+          <el-table-column align="center" prop="type" label="课程组类型" width="100">
             <template slot-scope="scope">
-              <div>{{scope.row.buyMonths>0?'付费':'免费'}}</div>
+              <div>
+                <p>{{scope.row.type | comType}}</p>
+              </div>
             </template>
           </el-table-column>
              <el-table-column align="center" prop="groupStatus" label="课程组状态">

+ 3 - 2
src/views/studentManager/index.vue

@@ -18,7 +18,7 @@
         <el-tab-pane label="对外课" v-if="permissionList.studentOutList" name="4">
           <studentOutList v-if="activeIndex == 4" />
         </el-tab-pane>
-        <el-tab-pane label="网管课" v-if="permissionList.studentRecord" name="9">
+        <el-tab-pane label="网管课" v-if="permissionList.studentNetwork" name="9">
           <studentNetwork v-if="activeIndex == 9" />
         </el-tab-pane>
         <el-tab-pane label="课表详情" v-if="permissionList.studentRecord" name="5">
@@ -73,7 +73,8 @@ export default {
         studentPayList: permission("/studentDetail/studentPayList"),
         studentOrder: permission("/studentDetail/studentOrder"),
         studentCashout: permission("/studentDetail/studentCashout"),
-        studentOutList: permission("/studentDetail/studentOutList")
+        studentOutList: permission("/studentDetail/studentOutList"), // 
+        studentNetwork: permission("/studentDetail/studentNetwork")
       },
       studentName: ""
     };

+ 55 - 9
src/views/teacherManager/teacherDetail/components/teacherNetwork.vue

@@ -1,5 +1,6 @@
+<!--  -->
 <template>
-  <div class="">
+  <div class>
     <div class="m-core">
       <div class="tableWrap">
         <el-table
@@ -7,7 +8,38 @@
           :header-cell-style="{background:'#EDEEF0',color:'#444'}"
           :data="tableList"
         >
-          <el-table-column align="center" prop="studentId" label="分部"></el-table-column>
+          <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="subjectName" label="声部"></el-table-column>
+          <el-table-column align="center" prop="teacherName" label="指导老师"></el-table-column> -->
+          <el-table-column align="center" prop="type" label="课程组类型" width="100">
+            <template slot-scope="scope">
+              <div>
+                <p>{{scope.row.type | comType}}</p>
+              </div>
+            </template>
+          </el-table-column>
+             <el-table-column align="center" prop="groupStatus" label="课程组状态">
+                   <template slot-scope="scope">
+              <div>
+                <p>{{scope.row.groupStatus | comCourseGroup}}</p>
+              </div>
+            </template>
+             </el-table-column>
+             <el-table-column align="center" label="开始时间">
+                 <template slot-scope="scope">
+                     <div>
+                          <div>{{scope.row.coursesStartDate|dateForMinFormat}}</div>
+                     </div>
+                 </template>
+             </el-table-column>
+             <el-table-column align="center" label="结束时间">
+                  <template slot-scope="scope">
+                     <div>
+                          <div>{{scope.row.coursesExpireDate|dateForMinFormat}}</div>
+                     </div>
+                 </template>
+             </el-table-column>
         </el-table>
         <pagination
           :total="rules.total"
@@ -22,11 +54,9 @@
 </template>
 
 <script>
-
 import pagination from "@/components/Pagination/index";
 import load from "@/utils/loading";
-
-
+import { practiceGroupManage } from "@/api/buildTeam";
 export default {
   components: { pagination },
   data() {
@@ -34,7 +64,7 @@ export default {
       searchForm: {
         search: null
       },
-
+      teacherId: null,
       tableList: [],
 
       rules: {
@@ -50,13 +80,29 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
-  
     // 获取分部
     this.init();
   },
+  activated() {
+    this.init();
+  },
   methods: {
-    init() {},
-    getList() {}
+    init() {
+       this.teacherId = this.$route.query.teacherId
+      this.getList();
+    },
+    getList() {
+      practiceGroupManage({
+        teacherId: this.teacherId,
+        page: this.rules.page,
+        rows: this.rules.limit
+      }).then(res => {
+        if (res.code == 200) {
+          this.tableList = res.data.rows;
+          this.rules.total = res.data.total;
+        }
+      });
+    }
   }
 };
 </script>

+ 3 - 2
src/views/teacherManager/teacherDetail/index.vue

@@ -15,7 +15,7 @@
         <el-tab-pane label="VIP课" v-if="permissionList.VipCourse" name="2">
           <courseInfo1 v-if="activeName == 2" />
         </el-tab-pane>
-        <el-tab-pane label="网管课" v-if="permissionList.outCourseList" name="8">
+        <el-tab-pane label="网管课" v-if="permissionList.teacherNetwork" name="8">
           <teacherNetwork v-if="activeName == 8" />
         </el-tab-pane>
         <el-tab-pane label="对外课" v-if="permissionList.outCourseList" name="3">
@@ -77,7 +77,8 @@ export default {
         leaveRecord: permission("/teacherDetail/leaveRecord"),
         settlement: permission("/teacherDetail/settlement"),
         timerList: permission("/teacherDetail/timerList"),
-        outCourseList: permission("/teacherDetail/outCourseList")
+        outCourseList: permission("/teacherDetail/outCourseList"), // 
+        teacherNetwork:permission("/teacherDetail/teacherNetwork"),
       },
       Fsearch: null,
       Frules: null