update
This commit is contained in:
parent
2923f2bb6e
commit
65c233724e
@ -1,8 +1,29 @@
|
||||
<script setup lang="ts">
|
||||
import './index.less'
|
||||
import SmallTitle from '../smallTitle/smallTitle.vue'
|
||||
import { onMounted, ref } from 'vue';
|
||||
import moment from 'moment';
|
||||
import { handleGetMemberDashboard } from '../../service';
|
||||
|
||||
|
||||
let memberMallDetail = ref<any>({})
|
||||
|
||||
|
||||
onMounted(async () => {
|
||||
await handleGoMounted()
|
||||
})
|
||||
|
||||
// 初始运行的方法
|
||||
const handleGoMounted = async () => {
|
||||
const req: any = {
|
||||
ProvinceCode: "530000",
|
||||
StatisticsMonth: moment().subtract(1, 'd').format('YYYYMM')
|
||||
}
|
||||
|
||||
const data = await handleGetMemberDashboard(req)
|
||||
console.log('ddasda3221312', data);
|
||||
memberMallDetail.value = data
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@ -11,8 +32,9 @@ import SmallTitle from '../smallTitle/smallTitle.vue'
|
||||
<!-- 会员总数 -->
|
||||
<div class="MemberSumBox">
|
||||
<div class="MemberSumBoxLeft">会员总数</div>
|
||||
<div class="memberSumTotal">16355</div>
|
||||
<div class="MemberSumBoxRight">本月新增 849 个</div>
|
||||
<div class="memberSumTotal">{{ memberMallDetail?.TotalMemberCount || "" }}</div>
|
||||
<div class="MemberSumBoxRight">本月新增 {{ memberMallDetail?.MonthNewMemberCount || "" }}
|
||||
个</div>
|
||||
</div>
|
||||
|
||||
<!-- 近30天数据 -->
|
||||
@ -21,22 +43,22 @@ import SmallTitle from '../smallTitle/smallTitle.vue'
|
||||
<div class="recentData">
|
||||
<div class="recentDataTop">
|
||||
<div class="recentDataTopItem" style="left: 22px;top: 31px;">
|
||||
<div class="recentDataTopValue">849</div>
|
||||
<div class="recentDataTopValue">{{ memberMallDetail?.LastDaysDto?.NewMemberCount || "" }}</div>
|
||||
<div class="recentDataTopLabel">新增会员数</div>
|
||||
</div>
|
||||
|
||||
<div class="recentDataTopItem" style="left: 30%;top: 0;">
|
||||
<div class="recentDataTopValue">1.4w</div>
|
||||
<div class="recentDataTopValue">{{ memberMallDetail?.LastDaysDto?.OpenCount || "" }}</div>
|
||||
<div class="recentDataTopLabel">打开次数</div>
|
||||
</div>
|
||||
|
||||
<div class="recentDataTopItem" style="right: 30%;top: 0;">
|
||||
<div class="recentDataTopValue">1443</div>
|
||||
<div class="recentDataTopValue">{{ memberMallDetail?.LastDaysDto?.NewUserCount || "" }}</div>
|
||||
<div class="recentDataTopLabel">新增人数</div>
|
||||
</div>
|
||||
|
||||
<div class="recentDataTopItem" style="right: 8px;top: 31px;">
|
||||
<div class="recentDataTopValue">2580</div>
|
||||
<div class="recentDataTopValue">{{ memberMallDetail?.LastDaysDto?.VisitUserCount || "" }}</div>
|
||||
<div class="recentDataTopLabel">访问人数</div>
|
||||
</div>
|
||||
|
||||
@ -51,13 +73,15 @@ import SmallTitle from '../smallTitle/smallTitle.vue'
|
||||
<div class="MemberConsumptionItem">
|
||||
<div class="MemberConsumptionLabel">会员消费笔数</div>
|
||||
<div class="MemberConsumptionProgress"></div>
|
||||
<div class="MemberConsumptionValue">1713</div>
|
||||
<div class="MemberConsumptionValue">{{ memberMallDetail?.ConsumeSummary?.ConsumeOrderCount || "" }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="MemberConsumptionItem" style="margin-top: 18px;">
|
||||
<div class="MemberConsumptionLabel">会员总销售额</div>
|
||||
<div class="MemberConsumptionProgress2"></div>
|
||||
<div class="MemberConsumptionValue">570,160.4</div>
|
||||
<div class="MemberConsumptionValue">{{ memberMallDetail?.ConsumeSummary?.TotalSalesAmount
|
||||
? memberMallDetail?.ConsumeSummary?.TotalSalesAmount.toLocaleString(2) : "" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -65,22 +89,29 @@ import SmallTitle from '../smallTitle/smallTitle.vue'
|
||||
<div class="MemberContentBoxItem">
|
||||
<div class="MemberContentBoxItemBox">
|
||||
<div class="MemberContentBoxItemLabel">工会会员</div>
|
||||
<div class="MemberContentBoxItemValue">2382</div>
|
||||
<div class="MemberContentBoxItemValue">{{ memberMallDetail?.MemberAnalysis?.UnionMemberCount || ""
|
||||
}}</div>
|
||||
</div>
|
||||
<div class="MemberContentBoxItemBox" style="margin-top: 18px;">
|
||||
<div class="MemberContentBoxItemLabel">会员占比</div>
|
||||
<div class="MemberContentBoxItemValue">14.56%</div>
|
||||
<div class="MemberContentBoxItemValue">{{ memberMallDetail?.MemberAnalysis?.UnionMemberRate ?
|
||||
memberMallDetail?.MemberAnalysis?.UnionMemberRate + '%' : ""
|
||||
}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="MemberContentBoxItem">
|
||||
<div class="MemberContentBoxItemBox">
|
||||
<div class="MemberContentBoxItemLabel">会员转化率</div>
|
||||
<div class="MemberContentBoxItemValue">68.72%</div>
|
||||
<div class="MemberContentBoxItemValue">{{ memberMallDetail?.MemberAnalysis?.MemberConversionRate ?
|
||||
memberMallDetail?.MemberAnalysis?.MemberConversionRate + '%' : ""
|
||||
}}</div>
|
||||
</div>
|
||||
<div class="MemberContentBoxItemBox" style="margin-top: 18px;">
|
||||
<div class="MemberContentBoxItemLabel">会员增长率</div>
|
||||
<div class="MemberContentBoxItemValue">5.48%</div>
|
||||
<div class="MemberContentBoxItemValue">{{ memberMallDetail?.MemberAnalysis?.MemberGrowthRate ?
|
||||
memberMallDetail?.MemberAnalysis?.MemberGrowthRate + '%' : ""
|
||||
}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -91,22 +122,26 @@ import SmallTitle from '../smallTitle/smallTitle.vue'
|
||||
|
||||
<div class="MemberOverview">
|
||||
<div class="MemberOverviewItem">
|
||||
<div class="MemberOverviewItemTop">1272</div>
|
||||
<div class="MemberOverviewItemTop">{{ memberMallDetail?.ConsumeOverview?.BuyerCount || "" }}</div>
|
||||
<div class="MemberOverviewItemBottom">购买人数</div>
|
||||
</div>
|
||||
|
||||
<div class="MemberOverviewItem">
|
||||
<div class="MemberOverviewItemTop">448.24</div>
|
||||
<div class="MemberOverviewItemTop">{{ memberMallDetail?.ConsumeOverview?.PerCapitaConsumeAmount || "" }}
|
||||
</div>
|
||||
<div class="MemberOverviewItemBottom">人均消费金额</div>
|
||||
</div>
|
||||
|
||||
<div class="MemberOverviewItem">
|
||||
<div class="MemberOverviewItemTop">332.84</div>
|
||||
<div class="MemberOverviewItemTop">{{ memberMallDetail?.ConsumeOverview?.CustomerUnitPrice || "" }}
|
||||
</div>
|
||||
<div class="MemberOverviewItemBottom">客单价</div>
|
||||
</div>
|
||||
|
||||
<div class="MemberOverviewItem">
|
||||
<div class="MemberOverviewItemTop">16.67%</div>
|
||||
<div class="MemberOverviewItemTop">{{ memberMallDetail?.ConsumeOverview?.RepurchaseRate ?
|
||||
memberMallDetail?.ConsumeOverview?.RepurchaseRate + '%' : ""
|
||||
}}</div>
|
||||
<div class="MemberOverviewItemBottom">会员复购率</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -550,3 +550,14 @@ export async function handleGetHolidayRevenueRatio(params: any) {
|
||||
}
|
||||
return wrapTreeNode(data.Result_Data.List)
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 获取会员总览数据统计
|
||||
export async function handleGetMemberDashboard(params: any) {
|
||||
const data: any = await requestCode.encryptAESpost('/SupplyChain/GetMemberDashboard', params)
|
||||
if (data.Result_Code !== 100) {
|
||||
return data
|
||||
}
|
||||
return data.Result_Data
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user