|
@@ -4,7 +4,13 @@
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
import { onMounted, ref } from 'vue'
|
|
|
-import { getOrders, getVendorAppInfo, getYearTarget } from '../../core/libs/requests'
|
|
|
+import {
|
|
|
+ getOrders,
|
|
|
+ getVendorAppInfo,
|
|
|
+ getYearTarget,
|
|
|
+ getDesignerStatistics,
|
|
|
+ getFollowStatistics,
|
|
|
+} from '../../core/libs/requests'
|
|
|
|
|
|
import { storeToRefs } from 'pinia'
|
|
|
import { isEmpty } from 'radash'
|
|
@@ -25,6 +31,8 @@ const avatar = computed(() =>
|
|
|
const { data, run: setData } = useRequest(() => getVendorAppInfo())
|
|
|
const { data: orders, run: setOrders } = useRequest(() => getOrders())
|
|
|
const { data: yearTarget, run: setYearTarget } = useRequest(() => getYearTarget())
|
|
|
+const { data: designerData, run: setdesignerData } = useRequest(() => getDesignerStatistics())
|
|
|
+const { data: followData, run: setFollowData } = useRequest(() => getFollowStatistics())
|
|
|
const nickNameClickHandle = async () => {
|
|
|
if (isLogined.value) return
|
|
|
|
|
@@ -42,7 +50,7 @@ onShow(async () => {
|
|
|
|
|
|
if (isLogined.value && isAgent?.value) {
|
|
|
// await setData()
|
|
|
- await Promise.all([setYearTarget()])
|
|
|
+ await Promise.all([setYearTarget(), setdesignerData(), setFollowData()])
|
|
|
}
|
|
|
})
|
|
|
onMounted(async () => {
|
|
@@ -160,23 +168,13 @@ onPageScroll(({ scrollTop }: { scrollTop: number }) => {
|
|
|
<Card>
|
|
|
<SectionHeading title="设计师数据" size="base"></SectionHeading>
|
|
|
<div class="mt-3 grid grid-cols-3 gap-2.5">
|
|
|
- <template
|
|
|
- v-for="{ name, value } of [
|
|
|
- { name: '设计师总数', value: 220 },
|
|
|
- { name: '成交过', value: 220 },
|
|
|
- { name: '未成交过', value: 220 },
|
|
|
- { name: '消耗积分', value: 220 },
|
|
|
- { name: '参加游学', value: 220 },
|
|
|
- { name: '参与活动', value: 220 },
|
|
|
- ]"
|
|
|
- :key="name"
|
|
|
- >
|
|
|
+ <template v-for="(it, i) in designerData" :key="i">
|
|
|
<div class="bg-[#f6f7ff] rounded-lg aspect-[1/1] flex flex-col justify-around p-2.5">
|
|
|
<div class="text-black/60 text-xs font-normal font-['PingFang_SC'] leading-none">
|
|
|
- {{ name }}
|
|
|
+ {{ it.typeName }}
|
|
|
</div>
|
|
|
<div class="text-black/90 text-lg font-bold font-['D-DIN Exp'] leading-normal">
|
|
|
- {{ value }}
|
|
|
+ {{ it.quantity }}
|
|
|
</div>
|
|
|
<div class="flex items-center gap-1">
|
|
|
<div class="text-black/40 text-xs font-normal font-['PingFang_SC'] leading-none">
|
|
@@ -193,20 +191,13 @@ onPageScroll(({ scrollTop }: { scrollTop: number }) => {
|
|
|
<Card>
|
|
|
<SectionHeading title="跟进数据" size="base"></SectionHeading>
|
|
|
<div class="mt-3 grid grid-cols-3 gap-2.5">
|
|
|
- <template
|
|
|
- v-for="{ name, value } of [
|
|
|
- { name: '累计跟进', value: 220 },
|
|
|
- { name: '线下拜访', value: 220 },
|
|
|
- { name: '线上跟进', value: 220 },
|
|
|
- ]"
|
|
|
- :key="name"
|
|
|
- >
|
|
|
+ <template v-for="(it, i) in followData" :key="i">
|
|
|
<div class="bg-[#f6f7ff] rounded-lg aspect-[1/1] flex flex-col justify-around p-2.5">
|
|
|
<div class="text-black/60 text-xs font-normal font-['PingFang_SC'] leading-none">
|
|
|
- {{ name }}
|
|
|
+ {{ it.typeName }}
|
|
|
</div>
|
|
|
<div class="text-black/90 text-lg font-bold font-['D-DIN Exp'] leading-normal">
|
|
|
- {{ value }}
|
|
|
+ {{ it.quantity }}
|
|
|
</div>
|
|
|
<div class="flex items-center gap-1">
|
|
|
<div class="text-black/40 text-xs font-normal font-['PingFang_SC'] leading-none">
|