mo преди 2 години
родител
ревизия
510ec5c88b

+ 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, })
       }, '您确定导出欠费学员列表?')
     }
   }

+ 20 - 3
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>
@@ -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) => {

+ 7 - 3
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":'覆盖率'
 }
 
 

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

@@ -470,6 +470,56 @@
               ></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
+                v-for="(item, index) in gradeList"
+                :key="index"
+                :label="item.label"
+                :value="item.value"
+
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item
+            label="计费方式"
+            prop="paymentUserType"
+
+          >
+            <el-select
+              v-model.trim="topFrom.chargeMode"
+              filterable
+              :disabled="basdisabled"
+              clearable
+            >
+              <el-option
+                v-for="(item, index) in gradeList"
+                :key="index"
+                :label="item.label"
+                :value="item.value"
+
+              ></el-option>
+            </el-select>
+          </el-form-item>
+
+
           <el-form-item label="销售活动" prop="saleActivityDesc">
             <el-input
             style="width:300px"
@@ -684,6 +734,9 @@ export default {
         coursePlan: "", // 课程计划
         graduateGrade: "", // 毕业年级
         saleActivityDesc: "", // 销售活动描述
+        basicStudentNum:"", // 学生基数
+        paymentUserType:"", // 缴费方
+        chargeMode:"", // 计费方式
       },
       baseInfo: {},
       money: 580,
@@ -947,7 +1000,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 +1251,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 +1381,9 @@ export default {
         coursePlan: '',
         graduateGrade: '',
         saleActivityDesc: '',
+        paymentUserType:'',
+        chargeMode:'',
+        basicStudentNum:''
       };
       this.$refs["topinfo"].resetFields();
     },
@@ -1587,6 +1645,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;