History leve处理

This commit is contained in:
tianfeng 2025-08-26 13:44:38 +08:00
parent d50ace8464
commit ce96ca8304

View File

@ -41,7 +41,7 @@
<div class="report-details">
<div class="detail-row">
<div class="detail-item">
<span class="detail-label">Target:</span>
<span class="detail-label">Level:</span>
<span class="detail-value">{{ report.target }}</span>
</div>
<div class="detail-item">
@ -128,7 +128,7 @@
<div class="daily-date">{{ formatDateNumber(daily.dateNumber) }}</div>
<div class="daily-info">
<div class="daily-target">
<span>Target: {{ formatGiftValue(daily.acceptGiftValue) }}</span>
<span>Level: {{ getLevelFromPolicy(daily.acceptGiftValue) }}</span>
</div>
<div class="daily-time">
<span>Time: </span>
@ -215,11 +215,11 @@
</template>
<script setup>
import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router'
import {onMounted, ref} from 'vue'
import {useRouter} from 'vue-router'
import MobileHeader from '../components/MobileHeader.vue'
import { getTeamMemberWork } from '../api/teamBill.js'
import {getUserId} from "@/utils/userStore.js";
import {getTeamMemberWork, getTeamReleasePolicy} from '../api/teamBill.js'
import {getTeamId, getUserId} from "@/utils/userStore.js";
const router = useRouter()
const totalSalary = ref('0.00')
@ -229,12 +229,61 @@ const loading = ref(false)
const showDetailModal = ref(false)
const selectedReport = ref(null)
const originalTargetsData = ref([]) //
const policyData = ref(null) //
const loadingPolicy = ref(false) //
//
const workReports = ref([])
const levelData = ref(null)
const dailyTargets = ref([])
//
const fetchPolicyData = async () => {
try {
loadingPolicy.value = true
const teamId = getTeamId()
if (!teamId) {
console.warn('No team ID available')
return
}
const response = await getTeamReleasePolicy(teamId)
if (response && response.status && response.body) {
policyData.value = response.body
console.debug('Policy data loaded:', policyData.value)
}
} catch (error) {
console.error('Failed to fetch policy data:', error)
} finally {
loadingPolicy.value = false
}
}
//
const getLevelFromPolicy = (giftValue) => {
if (!policyData.value?.policy || !giftValue) {
return 1 //
}
const numValue = parseFloat(giftValue)
if (isNaN(numValue)) {
return 1
}
// targetgiftValuelevel
const sortedPolicy = [...policyData.value.policy].sort((a, b) => {
return parseFloat(b.target) - parseFloat(a.target)
})
for (const policy of sortedPolicy) {
if (numValue >= parseFloat(policy.target)) {
return policy.level
}
}
//
return Math.min(...policyData.value.policy.map(p => p.level))
}
//
const fetchWorkReports = async (userId) => {
try {
@ -250,7 +299,7 @@ const fetchWorkReports = async (userId) => {
id: target.id,
date: target.billTitle,
status: getStatusText(target.status),
target: formatGiftValue(target.target?.acceptGiftValue) || '-',
target: getLevelFromPolicy(target.target?.acceptGiftValue), // 使
salary: formatSalaryValue(target.target?.settlementResult?.ownSalary) || '-',
agentSalary: formatSalaryValue(target.target?.settlementResult?.memberSalary) || '-',
totalSalary: formatSalaryValue(target.target?.settlementResult?.totalSalary) || '-',
@ -387,8 +436,10 @@ const closeHelpModal = () => {
}
//
onMounted(() => {
fetchWorkReports(getUserId())
onMounted(async () => {
//
await fetchPolicyData()
await fetchWorkReports(getUserId())
})
</script>