diff --git a/src/views/dailyCoinStatistics/dailyCoinStatistics.vue b/src/views/dailyCoinStatistics/dailyCoinStatistics.vue index 5b406ee..434da3d 100644 --- a/src/views/dailyCoinStatistics/dailyCoinStatistics.vue +++ b/src/views/dailyCoinStatistics/dailyCoinStatistics.vue @@ -6,7 +6,7 @@ 开始时间 @@ -17,7 +17,7 @@ 结束时间 @@ -46,7 +46,7 @@ type="text" size="small" > - {{ scope.row.totalDiamond }} + {{ formattedNumber(scope.row.totalDiamond) }} @@ -60,7 +60,7 @@ type="text" size="small" > - {{ scope.row.arDiamond }} + {{ formattedNumber(scope.row.arDiamond) }} @@ -74,7 +74,7 @@ type="text" size="small" > - {{ scope.row.enDiamond }} + {{ formattedNumber(scope.row.enDiamond) }} @@ -88,7 +88,7 @@ type="text" size="small" > - {{ scope.row.zhDiamond }} + {{ formattedNumber(scope.row.zhDiamond) }} @@ -102,7 +102,7 @@ type="text" size="small" > - {{ scope.row.trDiamond }} + {{ formattedNumber(scope.row.trDiamond) }} @@ -150,6 +150,14 @@ + + + {{ totalDiamonds(row.row) }} + + {{ percentage(row.row) }}% + + + @@ -189,7 +197,34 @@ export default { created() { // this.getData(); }, + computed: { + formattedNumber() { + return (num) => { + if (num === null || num === undefined) return ''; + return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); + }; + }, + + }, methods: { + totalDiamonds(row) { + const subDiamond = Number(row.subDiamond || 0); + const addDiamond = Number(row.addDiamond || 0); + return subDiamond + addDiamond; + }, + // 计算百分比,防止除零异常 + percentage(row) { + const subDiamond = Number(row.subDiamond || 0); + const addDiamond = Number(row.addDiamond || 0); + + if (subDiamond === 0) { + return '0.00'; // 防止除零错误 + } + + + const result = (addDiamond / subDiamond) * 100; + return result.toFixed(2); // 格式化为两位小数 + }, // 查询 getData() { this.loading = true; @@ -198,10 +233,10 @@ export default { let endTime = null; if (time.length > 0) { startTime = this.inquire.time[0] - ? dateFormat(this.inquire.time[0], "yyyy-MM-dd hh:mm:ss") + ? dateFormat(this.inquire.time[0], "yyyy-MM-dd") : null; endTime = this.inquire.time[1] - ? dateFormat(this.inquire.time[1], "yyyy-MM-dd hh:mm:ss") + ? dateFormat(this.inquire.time[1], "yyyy-MM-dd") : null; } diamondStatList({ diff --git a/src/views/gameSummary/GameSummary.vue b/src/views/gameSummary/GameSummary.vue index 857371e..8b412aa 100644 --- a/src/views/gameSummary/GameSummary.vue +++ b/src/views/gameSummary/GameSummary.vue @@ -152,6 +152,9 @@ export default { if (dataTime.value && dataTime.value.length > 0) { formData.value.startTime = dateFormat(dataTime.value[0], "yyyy-MM-dd hh:mm:ss"); formData.value.endTime = dateFormat(dataTime.value[1], "yyyy-MM-dd hh:mm:ss"); + }else{ + formData.value.startTime = dataTime.value + formData.value.endTime = dataTime.value } const { channel, endTime, gameId, pageNo, pageSize, partitionId, startTime } = formData.value; getGamedata({ channel, endTime, gameId, pageNo, pageSize, partitionId, startTime }).then(res => { diff --git a/src/views/gameUserSummary/gameUserSummary.vue b/src/views/gameUserSummary/gameUserSummary.vue new file mode 100644 index 0000000..82bc492 --- /dev/null +++ b/src/views/gameUserSummary/gameUserSummary.vue @@ -0,0 +1,257 @@ + + + + 用户ID + + + + 分区 + + + + + + + 第三方名称 + + + + + + + 游戏名称 + + + + + + + 日期 + + + + 查询 + 重置 + 导出 + + + + + + + + + + {{ getPartitionDesc(row.row.partitionId) }} + + + + + + + + {{ (row.row.betRate * 100).toFixed(2) + '%' }} + + + + + + + + + + + \ No newline at end of file