根据需求更新首页驾驶舱
This commit is contained in:
@@ -10,17 +10,17 @@ export const HomeSection = () => {
|
||||
const [homeStats, setHomeStats] = useState<HomeStatItem[]>([
|
||||
{ label: '今日预约', value: 0 },
|
||||
{ label: '签到人数', value: 0 },
|
||||
{ label: '在检人数', value: 0 },
|
||||
{ label: '打印导检单', value: 0 },
|
||||
{ label: '在检人数', value: 0 },
|
||||
{ label: '已完成人数', value: 0 },
|
||||
]);
|
||||
const [revenueStats, setRevenueStats] = useState<RevenueStatItem[]>([
|
||||
{ label: '体检收入', value: '¥ 0' },
|
||||
{ label: '加项收入', value: '¥ 0' },
|
||||
{ label: '整体收入', value: '¥ 0' },
|
||||
{ label: '目标收入', value: '¥ 0' },
|
||||
{ label: '当日目标', value: '¥ 0' },
|
||||
{ label: '完成百分比', value: '0%' },
|
||||
{ label: '缺口', value: '¥ 0' },
|
||||
{ label: '当日缺口', value: '¥ 0' },
|
||||
]);
|
||||
|
||||
const currencyFormatter = useMemo(() => new Intl.NumberFormat('zh-CN', {
|
||||
@@ -37,8 +37,8 @@ export const HomeSection = () => {
|
||||
setHomeStats([
|
||||
{ label: '今日预约', value: Number(d?.today_appointment_count ?? 0) },
|
||||
{ label: '签到人数', value: Number(d?.today_signin_count ?? 0) },
|
||||
{ label: '在检人数', value: Number(d?.today_in_exam_count ?? 0) },
|
||||
{ label: '打印导检单', value: Number(d?.today_print_guide_count ?? 0) },
|
||||
{ label: '在检人数', value: Number(d?.today_in_exam_count ?? 0) },
|
||||
{ label: '已完成人数', value: Number(d?.today_completed_count ?? 0) },
|
||||
]);
|
||||
})
|
||||
@@ -56,9 +56,9 @@ export const HomeSection = () => {
|
||||
{ label: '体检收入', value: fmt(d?.physical_exam_income) },
|
||||
{ label: '加项收入', value: fmt(d?.add_item_income) },
|
||||
{ label: '整体收入', value: fmt(d?.total_income) },
|
||||
{ label: '目标收入', value: fmt(d?.target_income) },
|
||||
{ label: '当日目标', value: fmt(d?.target_income) },
|
||||
{ label: '完成百分比', value: d?.completion_percentage ?? '0%' },
|
||||
{ label: '缺口', value: fmt(d?.gap_amount) },
|
||||
{ label: '当日缺口', value: fmt(d?.gap_amount) },
|
||||
]);
|
||||
})
|
||||
.catch((err) => {
|
||||
@@ -80,7 +80,7 @@ export const HomeSection = () => {
|
||||
</Card>
|
||||
|
||||
<Card>
|
||||
<CardHeader>今日营收数据统计</CardHeader>
|
||||
<CardHeader>今日营收统计</CardHeader>
|
||||
<CardContent>
|
||||
<div className='grid grid-cols-3 gap-3'>
|
||||
{revenueStats.map(({ label, value }) => (
|
||||
@@ -95,9 +95,9 @@ export const HomeSection = () => {
|
||||
<CardHeader>B1 服务看板</CardHeader>
|
||||
<CardContent>
|
||||
<div className='grid grid-cols-3 gap-3 mb-3'>
|
||||
<InfoCard label='当前客户总数' value={B1_SUMMARY.totalClients} />
|
||||
<InfoCard label='客户总数' value={B1_SUMMARY.totalClients} />
|
||||
<InfoCard label='待检人数' value={B1_SUMMARY.waiting} />
|
||||
<InfoCard label='在检人数' value={B1_SUMMARY.inExam} />
|
||||
<InfoCard label='已检人数' value={B1_SUMMARY.inExam} />
|
||||
</div>
|
||||
<table className='w-full text-xs'>
|
||||
<thead>
|
||||
@@ -148,6 +148,7 @@ export const HomeSection = () => {
|
||||
<th className='py-2 text-left'>家医</th>
|
||||
<th className='py-2 text-right'>分配客户数</th>
|
||||
<th className='py-2 text-right'>面诊数</th>
|
||||
<th className='py-2 text-right'>面诊率</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -156,6 +157,7 @@ export const HomeSection = () => {
|
||||
<td className='py-2'>{name}</td>
|
||||
<td className='py-2 text-right'>{total}</td>
|
||||
<td className='py-2 text-right'>{consult}</td>
|
||||
<td className='py-2 text-right'>{((Number(consult) / Number(total)) * 100).toFixed(2)}%</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user