Xiao_Mo há 5 anos atrás
pai
commit
19f4e01fa2

+ 2 - 2
src/utils/searchArray.js

@@ -107,9 +107,9 @@ const courseGroupStatus = [
   { value: "CANCEL", label: "取消" },
 ]
 const commGroupStatus = [
-  { value: "NORMAL", label: "正常" },
+  { value: "NORMAL", label: "进行中" },
   { value: "FINISH", label: "结束" },
-  { value: "CANCEL", label: "取消" },
+  { value: "CANCEL", label: "关闭" },
 ]
 // 老师时间充值状态
 const teacherTimeStatus = [

+ 9 - 1
src/utils/vueFilter.js

@@ -418,7 +418,15 @@ Vue.filter('courseGroup', value => {
   }
   return template[value]
 })
-
+// 网管课程组
+Vue.filter('comCourseGroup', value => {
+  let template = {
+    NORMAL: "进行中",
+    FINISH:'结束',
+    CANCEL:'关闭',
+  }
+  return template[value]
+})
 // 首充续费
 
 Vue.filter('firstOrRenewFilter', value => {

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

@@ -54,6 +54,17 @@
             ></el-option>
           </el-select>
         </el-form-item>
+        <!-- commGroupStatus -->
+            <el-form-item>
+          <el-select v-model.trim="searchForm.practiceGroupType" clearable filterable placeholder="课程组状态">
+            <el-option
+              v-for="(item,index) in commGroupStatus"
+              :key="index"
+              :value="item.value"
+              :label="item.label"
+            ></el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item>
           <el-select v-model.trim="searchForm.firstOrRenew" clearable filterable placeholder="是否续费">
             <el-option label="首充" value="1"></el-option>
@@ -112,7 +123,7 @@
           <el-table-column align="center" prop="groupStatus" label="课程组状态">
             <template slot-scope="scope">
               <div>
-                <p>{{scope.row.groupStatus | courseGroup}}</p>
+                <p>{{scope.row.groupStatus | comCourseGroup}}</p>
               </div>
             </template>
           </el-table-column>
@@ -174,6 +185,7 @@
 </template>
 <script>
 import pagination from "@/components/Pagination/index";
+import {commGroupStatus} from '@/utils/searchArray'
 import {
   getTeacher,
   getEmployeeOrgan,
@@ -192,7 +204,8 @@ export default {
         status: null,
         teacherId: null,
         organIdList: null,
-        firstOrRenew: null
+        firstOrRenew: null,
+        practiceGroupType:null
       },
       closeForm: {
         isBack: false,
@@ -204,6 +217,7 @@ export default {
       statusList: [],
       teacherList: [],
       tableData: [],
+      commGroupStatus:commGroupStatus,
       rules: {
         // 分页规则
         limit: 10, // 限制显示条数
@@ -256,6 +270,7 @@ export default {
         teacherId: null,
         organIdList: null,
         firstOrRenew:null,
+        practiceGroupType:null
       };
       this.search();
     },
@@ -324,7 +339,8 @@ export default {
         page: this.rules.page,
         rows: this.rules.limit,
         hasEducationalTeacherId: this.searchForm.hasEducationalTeacherId || null,
-        type:this.searchForm.firstOrRenew || null
+        type:this.searchForm.firstOrRenew || null,
+        practiceGroupType:this.searchForm.practiceGroupType || null
       };
       practiceGroupManage(obj).then(res => {
         if (res.code == 200) {

+ 108 - 0
src/views/studentManager/components/studentNetwork.vue

@@ -0,0 +1,108 @@
+<!--  -->
+<template>
+  <div class>
+    <div class="m-core">
+      <div class="tableWrap">
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{background:'#EDEEF0',color:'#444'}"
+          :data="tableList"
+        >
+          <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="id" label="课程组类型">
+            <template slot-scope="scope">
+              <div>{{scope.row.buyMonths>0?'付费':'免费'}}</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"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import pagination from "@/components/Pagination/index";
+import load from "@/utils/loading";
+import { practiceGroupManage } from "@/api/buildTeam";
+export default {
+  components: { pagination },
+  data() {
+    return {
+      searchForm: {
+        search: null
+      },
+      studentId: null,
+      tableList: [],
+
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      }
+    };
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {},
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {
+    // 获取分部
+    this.init();
+  },
+  activated() {
+    this.init();
+  },
+  methods: {
+    init() {
+      this.studentId = this.$route.query.userId;
+      this.getList();
+    },
+    getList() {
+      practiceGroupManage({
+        studentId: this.studentId,
+        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>
+<style lang='scss' scoped>
+</style>

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

@@ -15,9 +15,12 @@
         <el-tab-pane label="VIP课" v-if="permissionList.studentVip" name="3">
           <studentVip v-if="activeIndex == 3" />
         </el-tab-pane>
-        <el-tab-pane label="对外课" v-if="permissionList.studentOutList" name="4">
+        <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">
+          <studentNetwork v-if="activeIndex == 9" />
+        </el-tab-pane>
         <el-tab-pane label="课表详情" v-if="permissionList.studentRecord" name="5">
           <studentRecord v-if="activeIndex == 5" />
         </el-tab-pane>
@@ -43,6 +46,7 @@ import studentVip from "./components/studentVip.vue";
 import studentOutList from "./components/studentOutList.vue";
 import studentOrder from "./components/studentOrder.vue";
 import studentCashout from "./components/studentCashout.vue";
+import studentNetwork from "./components/studentNetwork.vue";
 import { permission } from "@/utils/directivePage";
 export default {
   components: {
@@ -53,7 +57,8 @@ export default {
     studentVip,
     studentOrder,
     studentCashout,
-    studentOutList
+    studentOutList,
+    studentNetwork
   },
   name: "studentDetail",
   data() {
@@ -68,7 +73,7 @@ export default {
         studentPayList: permission("/studentDetail/studentPayList"),
         studentOrder: permission("/studentDetail/studentOrder"),
         studentCashout: permission("/studentDetail/studentCashout"),
-        studentOutList: permission("/studentDetail/studentOutList"),
+        studentOutList: permission("/studentDetail/studentOutList")
       },
       studentName: ""
     };

+ 64 - 0
src/views/teacherManager/teacherDetail/components/teacherNetwork.vue

@@ -0,0 +1,64 @@
+<template>
+  <div class="">
+    <div class="m-core">
+      <div class="tableWrap">
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{background:'#EDEEF0',color:'#444'}"
+          :data="tableList"
+        >
+          <el-table-column align="center" prop="studentId" 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 pagination from "@/components/Pagination/index";
+import load from "@/utils/loading";
+
+
+export default {
+  components: { pagination },
+  data() {
+    return {
+      searchForm: {
+        search: null
+      },
+
+      tableList: [],
+
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      }
+    };
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {},
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {
+  
+    // 获取分部
+    this.init();
+  },
+  methods: {
+    init() {},
+    getList() {}
+  }
+};
+</script>
+<style lang='scss' scoped>
+</style>

+ 63 - 67
src/views/teacherManager/teacherDetail/index.vue

@@ -1,52 +1,36 @@
 <template>
-  <div class='m-container'>
+  <div class="m-container">
     <h2>
-      <el-page-header @back="onCancel"
-                      :content="teacherName"></el-page-header>
+      <el-page-header @back="onCancel" :content="teacherName"></el-page-header>
     </h2>
     <div class="m-core">
       <!-- navMenu -->
-      <el-tabs v-model.trim="activeName"
-               type="card"
-               @tab-click="handleClick">
-        <el-tab-pane label="基本信息"
-                     v-if="permissionList.teacherInfo"
-                     name="0">
+      <el-tabs v-model.trim="activeName" type="card" @tab-click="handleClick">
+        <el-tab-pane label="基本信息" v-if="permissionList.teacherInfo" name="0">
           <teacherInfo v-if="activeName == 0" />
         </el-tab-pane>
-        <el-tab-pane label="乐团课"
-                     v-if="permissionList.musicGroup"
-                     name="1">
+        <el-tab-pane label="乐团课" v-if="permissionList.musicGroup" name="1">
           <courseInfo v-if="activeName == 1" />
         </el-tab-pane>
-        <el-tab-pane label="VIP课"
-                     v-if="permissionList.VipCourse"
-                     name="2">
+        <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="3">
+        <el-tab-pane label="网管课" v-if="permissionList.outCourseList" name="8">
+          <teacherNetwork v-if="activeName == 8" />
+        </el-tab-pane>
+        <el-tab-pane label="对外课" v-if="permissionList.outCourseList" name="3">
           <outCourseList v-if="activeName == 3" />
         </el-tab-pane>
-        <el-tab-pane label="课表详情"
-                     v-if="permissionList.teacherRecord"
-                     name="4">
+        <el-tab-pane label="课表详情" v-if="permissionList.teacherRecord" name="4">
           <teacherRecord v-if="activeName == 4" />
         </el-tab-pane>
-        <el-tab-pane label="请假记录"
-                     v-if="permissionList.leaveRecord"
-                     name="5">
+        <el-tab-pane label="请假记录" v-if="permissionList.leaveRecord" name="5">
           <leaveRecord v-if="activeName == 5" />
         </el-tab-pane>
-        <el-tab-pane label="上课结算列表"
-                     v-if="permissionList.settlement"
-                     name="6">
+        <el-tab-pane label="上课结算列表" v-if="permissionList.settlement" name="6">
           <settlement v-if="activeName == 6" />
         </el-tab-pane>
-          <el-tab-pane label="时间记录"
-                     v-if="permissionList.timerList"
-                     name="7">
+        <el-tab-pane label="时间记录" v-if="permissionList.timerList" name="7">
           <timerList v-if="activeName == 7" />
         </el-tab-pane>
       </el-tabs>
@@ -54,71 +38,83 @@
   </div>
 </template>
 <script>
-import teacherRecord from '@/views/teacherManager/teacherDetail/components/teacherRecord'
-import leaveRecord from '@/views/teacherManager/teacherDetail/components/leaveRecord'
-import teacherInfo from '@/views/teacherManager/teacherDetail/components/teacherInfo'
-import courseInfo from '@/views/teacherManager/teacherDetail/components/courseInfo'
-import courseInfo1 from '@/views/teacherManager/teacherDetail/components/courseInfo1'
-import courseInfo2 from '@/views/teacherManager/teacherDetail/components/courseInfo2'
-import settlement from '@/views/teacherManager/teacherDetail/components/settlement'
-import timerList from '@/views/teacherManager/teacherDetail/components/timerList'
-import outCourseList from '@/views/teacherManager/teacherDetail/components/outCourseList'
-import { permission } from '@/utils/directivePage'
+import teacherRecord from "@/views/teacherManager/teacherDetail/components/teacherRecord";
+import leaveRecord from "@/views/teacherManager/teacherDetail/components/leaveRecord";
+import teacherInfo from "@/views/teacherManager/teacherDetail/components/teacherInfo";
+import courseInfo from "@/views/teacherManager/teacherDetail/components/courseInfo";
+import courseInfo1 from "@/views/teacherManager/teacherDetail/components/courseInfo1";
+import courseInfo2 from "@/views/teacherManager/teacherDetail/components/courseInfo2";
+import settlement from "@/views/teacherManager/teacherDetail/components/settlement";
+import timerList from "@/views/teacherManager/teacherDetail/components/timerList";
+import outCourseList from "@/views/teacherManager/teacherDetail/components/outCourseList";
+import teacherNetwork from "@/views/teacherManager/teacherDetail/components/teacherNetwork";
+import { permission } from "@/utils/directivePage";
 export default {
-  components: {    teacherRecord,
-    leaveRecord, teacherInfo,
-    courseInfo, courseInfo1, courseInfo2, settlement,timerList,outCourseList  },
-  name: 'teacherDetail',
-  data () {
+  components: {
+    teacherRecord,
+    leaveRecord,
+    teacherInfo,
+    courseInfo,
+    courseInfo1,
+    courseInfo2,
+    settlement,
+    timerList,
+    outCourseList,
+    teacherNetwork
+  },
+  name: "teacherDetail",
+  data() {
     return {
       teacherName: this.$route.query.teacherName,
       activeName: "0",
       // activeStatus: [true, false, false, false, false, false, false]
       permissionList: {
-        teacherInfo: permission('/teacherDetail/teacherInfo'),
-        musicGroup: permission('/teacherDetail/musicGroupCourse'),
-        VipCourse: permission('/teacherDetail/VIPCourse'),
-        domeCourse: permission('/teacherDetail/domeCourse'),
-        teacherRecord: permission('/teacherDetail/teacherRecord'),
-        leaveRecord: permission('/teacherDetail/leaveRecord'),
-        settlement: permission('/teacherDetail/settlement'),
-        timerList: permission('/teacherDetail/timerList'),
-        outCourseList: permission('/teacherDetail/outCourseList'),
-        
+        teacherInfo: permission("/teacherDetail/teacherInfo"),
+        musicGroup: permission("/teacherDetail/musicGroupCourse"),
+        VipCourse: permission("/teacherDetail/VIPCourse"),
+        domeCourse: permission("/teacherDetail/domeCourse"),
+        teacherRecord: permission("/teacherDetail/teacherRecord"),
+        leaveRecord: permission("/teacherDetail/leaveRecord"),
+        settlement: permission("/teacherDetail/settlement"),
+        timerList: permission("/teacherDetail/timerList"),
+        outCourseList: permission("/teacherDetail/outCourseList")
       },
       Fsearch: null,
       Frules: null
-    }
+    };
   },
-  activated () {
-    this.teacherName = this.$route.query.teacherName
+  activated() {
+    this.teacherName = this.$route.query.teacherName;
     if (this.$route.query.search) {
       this.Fsearch = this.$route.query.search;
     }
     if (this.$route.query.rules) {
-      this.Frules = this.$route.query.rules
+      this.Frules = this.$route.query.rules;
     }
-    this. activeName="0"
+    this.activeName = "0";
   },
 
-  created () {
+  created() {
     if (this.$route.query.search) {
       this.Fsearch = this.$route.query.search;
     }
     if (this.$route.query.rules) {
-      this.Frules = this.$route.query.rules
+      this.Frules = this.$route.query.rules;
     }
   },
   methods: {
-    handleClick (val, event) {
-      this.activeName = val.name
+    handleClick(val, event) {
+      this.activeName = val.name;
       // this.activeStatus[val.name] = true
     },
-    onCancel () {
-      this.$router.push({ path: '/business/teacherList', query: { rules: this.Frules, search: this.Fsearch } })
+    onCancel() {
+      this.$router.push({
+        path: "/business/teacherList",
+        query: { rules: this.Frules, search: this.Fsearch }
+      });
     }
   }
-}
+};
 </script>
 <style lang="scss">
 </style>