Pārlūkot izejas kodu

Merge branch '02/23reviewBUG' into jenkins

mo 2 gadi atpakaļ
vecāks
revīzija
203157c90b

+ 1 - 1
src/views/arrearage-students/index.vue

@@ -291,7 +291,7 @@ export default {
         url: '/api-web/export/arrearageStudents',
         fileName: '欠费学员.xls',
         method: 'post',
-        params: qs.stringify({ organId: organId.join(','), ...rest })
+        params: qs.stringify({ organId: organId.join(','), ...rest, hasCourse:this.$route.query.hasCourse, })
       }, '您确定导出欠费学员列表?')
     }
   }

+ 23 - 6
src/views/main/cloudDate/organMemberList.vue

@@ -18,7 +18,21 @@
           @click="active = key"
           :class="{ active: active === key }"
         >
-          <span>
+          <span v-if="key=='againBuyRate' || key=='buyRate'">
+            {{ item.title + "(%)" }}
+            <el-tooltip
+              v-if="item.desc"
+              :content="item.desc"
+              :open-delay="0.3"
+              placement="top"
+            >
+              <i
+                style="margin-left: 5px; cursor: pointer"
+                class="el-icon-warning-outline"
+              />
+            </el-tooltip>
+          </span>
+          <span v-else>
             {{ item.title + "(人)" }}
             <el-tooltip
               v-if="item.desc"
@@ -33,6 +47,7 @@
             </el-tooltip>
           </span>
 
+
           <span> <count-to :endVal="item.percent || 0" /> </span>
         </statistic-item>
       </statistic>
@@ -65,7 +80,7 @@
           <el-table-column
             align="center"
             prop="totalStudentNum"
-            label="学员总数"
+            label="在读学员总数"
           >
             <!-- <template slot="header" slot-scope="slot">
               <div class="titleCell">
@@ -87,12 +102,12 @@
               </div>
             </template> -->
           </el-table-column>
-          <el-table-column
+          <!-- <el-table-column
             align="center"
             prop="effectiveStudentNum"
             label="有效学员数"
           >
-          </el-table-column>
+          </el-table-column> -->
           <el-table-column
             align="center"
             prop="vipStudentNum"
@@ -311,14 +326,16 @@ export default {
       //        "eVipStudentNum",
       let arr = [
         "totalStudentNum",
-        "effectiveStudentNum",
+        "buyRate",
+        "againBuyRate",
+        // "effectiveStudentNum",
         "vipStudentNum",
         "cloudStudyLivelyStudentNum",
         "effectiveVipStudentNum",
         "waitActivateVipStudentNum",
         // "newCloudStudyStudentNum",
         // "vipStudentRate",
-        "cloudStudyUseStudentNum",
+        // "cloudStudyUseStudentNum",
         "cloudStudyTodayUseStudentNum",
       ];
       arr.forEach((str) => {

+ 24 - 5
src/views/main/constant.js

@@ -66,7 +66,9 @@ export const descs = {
   "newCloudStudyStudentNum":'第一次使用云教练的人数',
   // "cloudStudyTodayUseStudentNum":'今日使用的总人数',
   // "cloudStudyUseStudentNum":'累计使用的总人数',
-  "totalStudentNum":"分部注册学员总人数",
+  "totalStudentNum":"进行中、暂停的乐团的在读学员总数",
+  "againBuyRate":"在读学员且云教练生效或待激活学员中,有多次付费订单的学员数 / 乐团在读有云教练并且有付费订单的学员数",
+  "buyRate":"在读学员中云教练生效或待激活学员占比",
   // "waitActivateVipStudentNum":'待激活会员人数',
   // "effectiveVipStudentNum":"生效中会员人数",
   "vipStudentRate":"会员总人数/有效学员数",
@@ -77,13 +79,15 @@ export const titles = {
   "effectiveVipStudentNum":"生效中会员人数",
   "vipStudentNum":'会员总人数',
   "eVipStudentNum":'试用会员人数',
-  "totalStudentNum":"学员总数",
+  "totalStudentNum":"在读学员总数",
   "cloudStudyLivelyStudentNum":'活跃学员人数 ',
   "newCloudStudyStudentNum":'今日新增使用人数',
   "cloudStudyTodayUseStudentNum":'今日使用人数',
   "cloudStudyUseStudentNum":'累计使用人数',
   "effectiveStudentNum":'有效学员数',
-  "vipStudentRate":'会员人数占比'
+  "vipStudentRate":'会员人数占比',
+  "againBuyRate":'重复购买率',
+  "buyRate":'覆盖率'
 }
 
 
@@ -305,12 +309,13 @@ export const errorType = {
     name: '当月排课异常',
     isError: true,
     always: true,
-    url: '/teamCourseList',
-    permission: '/teamCourseList',
+    url: '/smallCourseConsumption',
+    permission: '/smallCourseConsumption',
     query: {
       searchType: 'CURRENT_COURSE_ERROR',
       ...dates,
       start: dayjs().subtract(1, 'month').set('date', 1).format('YYYY-MM-DD'),
+      tabrouter:'2'
     },
   },
   //   start: '2021-02-01',  start: '2021-02-01',
@@ -326,6 +331,20 @@ export const errorType = {
       start: dayjs().subtract(1, 'month').set('date', 1).format('YYYY-MM-DD'),
     },
   },
+  WAIT_RENEW_INFO:{
+    name: '待续费学员',
+    isError: false,
+    always: true,
+    url: '/studentManager/smallStudentManager',
+    permission: '/smallStudentManager',
+
+    query: {
+      ...dates,
+      start: dayjs().subtract(1, 'month').set('date', 1).format('YYYY-MM-DD'),
+      subCourseMaxNum:3,
+      studentStatus:'NORMAL'
+    },
+  },
   TEACHER_LEAVE: {
     name: '老师请假',
     isError: false,

+ 6 - 0
src/views/main/studentLeaveList.vue

@@ -75,6 +75,12 @@
           </el-table-column>
           <el-table-column
             align="center"
+            label="课时数"
+            prop="courseNum"
+          >
+        </el-table-column>
+          <el-table-column
+            align="center"
             label="近两个月请假次数"
             prop="totalNum"
           >

+ 2 - 0
src/views/smallCourseConsumption/index.vue

@@ -38,6 +38,8 @@ export default {
       activeIndex: "1",
     };
   },
+  mounted() {
+  },
   methods: {
     handleClick(evt) {
       // this.changeHash(evt.name);

+ 8 - 0
src/views/smallStudentManager/components/tableList.vue

@@ -35,6 +35,7 @@
           <el-option label="沉睡" value="SLEEPY"></el-option>
           <el-option label="流失" value="LOST"></el-option>
           <el-option label="暂停" value="PAUSE"></el-option>
+          <el-option label="其他" value="OTHER"></el-option>
         </el-select>
       </el-form-item>
       <!-- <el-form-item prop="feedbackType">
@@ -477,6 +478,13 @@ export default {
   async mounted() {
     this.$store.dispatch("setBranchs");
     this.$store.dispatch("setTeachers");
+    if(this.$route.query.subCourseMaxNum){
+      this.searchForm.subCourseMaxNum = this.$route.query.subCourseMaxNum
+    }
+    if(this.$route.query.studentStatus){
+      this.searchForm.studentStatus = this.$route.query.studentStatus
+    }
+
     await this.getList();
   },
   methods: {

+ 69 - 1
src/views/teamBuild/components/teamBaseInfo.vue

@@ -470,6 +470,60 @@
               ></el-option>
             </el-select>
           </el-form-item>
+          <el-form-item
+            label="学生基数"
+            prop="graduateGrade"
+
+          >
+          <el-input type="number"  :disabled="basdisabled"  v-model="topFrom.basicStudentNum" />
+          </el-form-item>
+
+          <el-form-item
+            label="缴费方"
+            prop="paymentUserType"
+
+          >
+          <el-select
+              v-model.trim="topFrom.paymentUserType"
+              filterable
+              :disabled="basdisabled"
+              clearable
+            >
+              <el-option
+
+                label="学校"
+                value="SCHOOL"
+
+              ></el-option>
+              <el-option label="学员" value="STUDENT"></el-option>
+<el-option label="第三方" value="THIRDPARTY"
+
+></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item
+            label="计费方式"
+            prop="chargeMode"
+
+          >
+          <el-select
+              v-model.trim="topFrom.chargeMode"
+              filterable
+              :disabled="basdisabled"
+              clearable
+            >
+              <el-option
+
+                label="学员计费"
+                value="STUDENT"
+
+              ></el-option>
+              <el-option label="老师计费" value="TEACHER"></el-option>
+            </el-select>
+
+          </el-form-item>
+
+
           <el-form-item label="销售活动" prop="saleActivityDesc">
             <el-input
             style="width:300px"
@@ -684,6 +738,9 @@ export default {
         coursePlan: "", // 课程计划
         graduateGrade: "", // 毕业年级
         saleActivityDesc: "", // 销售活动描述
+        basicStudentNum:"", // 学生基数
+        paymentUserType:"", // 缴费方
+        chargeMode:"", // 计费方式
       },
       baseInfo: {},
       money: 580,
@@ -947,7 +1004,6 @@ export default {
         // 如果是新建团
 
         let sotrage = JSON.parse(localStorage.getItem(`newTeambase`));
-        console.log(sotrage, this.topFrom);
         sotrage ? (this.topFrom = sotrage) : this.topFrom;
         if (this.topFrom?.section) {
           // 获取员工
@@ -1199,6 +1255,9 @@ export default {
               coursePlan: this.topFrom.coursePlan,
               graduateGrade: this.topFrom.graduateGrade,
               saleActivityDesc: this.topFrom.saleActivityDesc,
+              basicStudentNum: this.topFrom.basicStudentNum,
+              paymentUserType: this.topFrom.paymentUserType,
+              chargeMode: this.topFrom.chargeMode
             };
             // obj.musicGroupPaymentEntities = [];
             // createTeam
@@ -1326,6 +1385,9 @@ export default {
         coursePlan: '',
         graduateGrade: '',
         saleActivityDesc: '',
+        paymentUserType:'',
+        chargeMode:'',
+        basicStudentNum:''
       };
       this.$refs["topinfo"].resetFields();
     },
@@ -1587,6 +1649,12 @@ export default {
         res.data.musicGroup.graduateGrade+'';
         this.topFrom.saleActivityDesc =
         res.data.musicGroup.saleActivityDesc;
+        this.topFrom.basicStudentNum =
+        res.data.musicGroup.basicStudentNum;
+        this.topFrom.paymentUserType =
+        res.data.musicGroup.paymentUserType;
+        this.topFrom.chargeMode =
+        res.data.musicGroup.chargeMode;