|
@@ -363,25 +363,25 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<div class="detail-item">
|
|
<div class="detail-item">
|
|
|
- <span class="detail-label">>20分钟人数(直播):</span>
|
|
|
|
|
|
|
+ <span class="detail-label">>=20分钟人数(直播):</span>
|
|
|
<span class="detail-value">{{ detailData.liveOver20Minutes || 0 }}</span>
|
|
<span class="detail-value">{{ detailData.liveOver20Minutes || 0 }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<div class="detail-item">
|
|
<div class="detail-item">
|
|
|
- <span class="detail-label">>30分钟人数(直播):</span>
|
|
|
|
|
|
|
+ <span class="detail-label">>=30分钟人数(直播):</span>
|
|
|
<span class="detail-value">{{ detailData.liveOver30Minutes || 0 }}</span>
|
|
<span class="detail-value">{{ detailData.liveOver30Minutes || 0 }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<div class="detail-item">
|
|
<div class="detail-item">
|
|
|
- <span class="detail-label">到课完课率直播(>20分钟):</span>
|
|
|
|
|
|
|
+ <span class="detail-label">到课完课率直播(>=20分钟):</span>
|
|
|
<span class="detail-value">{{ formatPercent(detailData.liveCompletionRate20) }}</span>
|
|
<span class="detail-value">{{ formatPercent(detailData.liveCompletionRate20) }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<div class="detail-item">
|
|
<div class="detail-item">
|
|
|
- <span class="detail-label">到课完课率直播(>30分钟):</span>
|
|
|
|
|
|
|
+ <span class="detail-label">到课完课率直播(>=30分钟):</span>
|
|
|
<span class="detail-value">{{ formatPercent(detailData.liveCompletionRate30) }}</span>
|
|
<span class="detail-value">{{ formatPercent(detailData.liveCompletionRate30) }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -399,25 +399,25 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<div class="detail-item">
|
|
<div class="detail-item">
|
|
|
- <span class="detail-label">>20分钟人数(回放):</span>
|
|
|
|
|
|
|
+ <span class="detail-label">>=20分钟人数(回放):</span>
|
|
|
<span class="detail-value">{{ detailData.playbackOver20Minutes || 0 }}</span>
|
|
<span class="detail-value">{{ detailData.playbackOver20Minutes || 0 }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<div class="detail-item">
|
|
<div class="detail-item">
|
|
|
- <span class="detail-label">>30分钟人数(回放):</span>
|
|
|
|
|
|
|
+ <span class="detail-label">>=30分钟人数(回放):</span>
|
|
|
<span class="detail-value">{{ detailData.playbackOver30Minutes || 0 }}</span>
|
|
<span class="detail-value">{{ detailData.playbackOver30Minutes || 0 }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<div class="detail-item">
|
|
<div class="detail-item">
|
|
|
- <span class="detail-label">到课完课率回放(>20分钟):</span>
|
|
|
|
|
|
|
+ <span class="detail-label">到课完课率回放(>=20分钟):</span>
|
|
|
<span class="detail-value">{{ formatPercent(detailData.playbackCompletionRate20) }}</span>
|
|
<span class="detail-value">{{ formatPercent(detailData.playbackCompletionRate20) }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<div class="detail-item">
|
|
<div class="detail-item">
|
|
|
- <span class="detail-label">到课完课率回放(>30分钟):</span>
|
|
|
|
|
|
|
+ <span class="detail-label">到课完课率回放(>=30分钟):</span>
|
|
|
<span class="detail-value">{{ formatPercent(detailData.playbackCompletionRate30) }}</span>
|
|
<span class="detail-value">{{ formatPercent(detailData.playbackCompletionRate30) }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -555,6 +555,16 @@
|
|
|
<el-table-column prop="companyName" label="分公司" min-width="150"></el-table-column>
|
|
<el-table-column prop="companyName" label="分公司" min-width="150"></el-table-column>
|
|
|
<el-table-column prop="salesName" label="销售" min-width="120"></el-table-column>
|
|
<el-table-column prop="salesName" label="销售" min-width="120"></el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
|
|
+ <!-- 用户详情分页组件 -->
|
|
|
|
|
+ <pagination
|
|
|
|
|
+ v-show="userDetailTotal > 0"
|
|
|
|
|
+ :total="userDetailTotal"
|
|
|
|
|
+ :page.sync="userDetailQueryParams.pageNum"
|
|
|
|
|
+ :limit.sync="userDetailQueryParams.pageSize"
|
|
|
|
|
+ :page-sizes="[10, 100, 1000]"
|
|
|
|
|
+ @pagination="handleViewUserDetail"
|
|
|
|
|
+ style="margin-top: 20px;"
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</el-drawer>
|
|
</el-drawer>
|
|
|
</div>
|
|
</div>
|
|
@@ -633,7 +643,12 @@ export default {
|
|
|
userDetailList: [],
|
|
userDetailList: [],
|
|
|
userDetailLoading: false,
|
|
userDetailLoading: false,
|
|
|
showUserDetail: false,
|
|
showUserDetail: false,
|
|
|
- userDetailExportLoading: false
|
|
|
|
|
|
|
+ userDetailExportLoading: false,
|
|
|
|
|
+ userDetailTotal: 0,
|
|
|
|
|
+ userDetailQueryParams: {
|
|
|
|
|
+ pageNum: 1,
|
|
|
|
|
+ pageSize: 10
|
|
|
|
|
+ }
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
created() {
|
|
created() {
|
|
@@ -882,9 +897,10 @@ export default {
|
|
|
if (!this.currentLiveId) return;
|
|
if (!this.currentLiveId) return;
|
|
|
this.showUserDetail = true;
|
|
this.showUserDetail = true;
|
|
|
this.userDetailLoading = true;
|
|
this.userDetailLoading = true;
|
|
|
- getLiveUserDetailListBySql(this.currentLiveId).then(response => {
|
|
|
|
|
|
|
+ getLiveUserDetailListBySql(this.currentLiveId, this.userDetailQueryParams.pageNum, this.userDetailQueryParams.pageSize).then(response => {
|
|
|
if (response.code === 200) {
|
|
if (response.code === 200) {
|
|
|
this.userDetailList = response.data || [];
|
|
this.userDetailList = response.data || [];
|
|
|
|
|
+ this.userDetailTotal = response.total || 0;
|
|
|
}
|
|
}
|
|
|
this.userDetailLoading = false;
|
|
this.userDetailLoading = false;
|
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
@@ -898,6 +914,11 @@ export default {
|
|
|
this.detailData = {};
|
|
this.detailData = {};
|
|
|
this.userDetailList = [];
|
|
this.userDetailList = [];
|
|
|
this.currentLiveId = null;
|
|
this.currentLiveId = null;
|
|
|
|
|
+ this.userDetailTotal = 0;
|
|
|
|
|
+ this.userDetailQueryParams = {
|
|
|
|
|
+ pageNum: 1,
|
|
|
|
|
+ pageSize: 100
|
|
|
|
|
+ };
|
|
|
},
|
|
},
|
|
|
/** 格式化百分比 */
|
|
/** 格式化百分比 */
|
|
|
formatPercent(value) {
|
|
formatPercent(value) {
|