|
@@ -8,7 +8,7 @@ import { useAuth, useRequireAuth } from '../../hooks'
|
|
|
import { talentDashboardClient, talentEmploymentClient } from '../../api'
|
|
import { talentDashboardClient, talentEmploymentClient } from '../../api'
|
|
|
import type { InferResponseType } from 'hono'
|
|
import type { InferResponseType } from 'hono'
|
|
|
import { generateMockAttendanceData, getCurrentYearMonth } from '../../utils/mockAttendanceData'
|
|
import { generateMockAttendanceData, getCurrentYearMonth } from '../../utils/mockAttendanceData'
|
|
|
-import type { SalaryRecord } from '../../types/employment'
|
|
|
|
|
|
|
+import type { CurrentEmploymentStatus } from '../../types/employment'
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 人才小程序首页/个人主页
|
|
* 人才小程序首页/个人主页
|
|
@@ -90,23 +90,16 @@ const Dashboard: React.FC = () => {
|
|
|
return generateMockAttendanceData(year, month)
|
|
return generateMockAttendanceData(year, month)
|
|
|
})()
|
|
})()
|
|
|
|
|
|
|
|
- // 获取上个月的薪资记录(用于首页显示)
|
|
|
|
|
- const { data: lastMonthSalaryData } = useQuery({
|
|
|
|
|
- queryKey: ['last-month-salary'],
|
|
|
|
|
|
|
+ // 获取当前就业状态(用于显示本月薪资水平)
|
|
|
|
|
+ const { data: currentEmploymentStatus } = useQuery({
|
|
|
|
|
+ queryKey: ['current-employment-status'],
|
|
|
queryFn: async () => {
|
|
queryFn: async () => {
|
|
|
- // 计算上个月份
|
|
|
|
|
- const now = new Date()
|
|
|
|
|
- const lastMonth = new Date(now.getFullYear(), now.getMonth() - 1, 1)
|
|
|
|
|
- const monthStr = `${lastMonth.getFullYear()}-${String(lastMonth.getMonth() + 1).padStart(2, '0')}`
|
|
|
|
|
-
|
|
|
|
|
- const res = await talentEmploymentClient.employment['salary-records'].$get({
|
|
|
|
|
- query: { month: monthStr, take: 1 }
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ const res = await talentEmploymentClient.employment.status.$get()
|
|
|
if (!res.ok) {
|
|
if (!res.ok) {
|
|
|
- throw new Error('获取薪资记录失败')
|
|
|
|
|
|
|
+ throw new Error('获取就业状态失败')
|
|
|
}
|
|
}
|
|
|
const data = await res.json()
|
|
const data = await res.json()
|
|
|
- return (data.data || []) as SalaryRecord[]
|
|
|
|
|
|
|
+ return data as CurrentEmploymentStatus | null
|
|
|
},
|
|
},
|
|
|
staleTime: 10 * 60 * 1000, // 10分钟缓存
|
|
staleTime: 10 * 60 * 1000, // 10分钟缓存
|
|
|
})
|
|
})
|
|
@@ -259,11 +252,11 @@ const Dashboard: React.FC = () => {
|
|
|
</View>
|
|
</View>
|
|
|
<View className="flex flex-col items-center">
|
|
<View className="flex flex-col items-center">
|
|
|
<Text className="text-white text-2xl font-bold">
|
|
<Text className="text-white text-2xl font-bold">
|
|
|
- {lastMonthSalaryData && lastMonthSalaryData.length > 0
|
|
|
|
|
- ? `¥${(lastMonthSalaryData[0].salaryAmount || 0).toLocaleString()}`
|
|
|
|
|
|
|
+ {currentEmploymentStatus?.salaryLevel
|
|
|
|
|
+ ? `¥${currentEmploymentStatus.salaryLevel.toLocaleString()}`
|
|
|
: '--'}
|
|
: '--'}
|
|
|
</Text>
|
|
</Text>
|
|
|
- <Text className="text-white/80 text-xs">上月薪资</Text>
|
|
|
|
|
|
|
+ <Text className="text-white/80 text-xs">本月薪资</Text>
|
|
|
</View>
|
|
</View>
|
|
|
</View>
|
|
</View>
|
|
|
</View>
|
|
</View>
|