| | |
| | | } |
| | | } |
| | | |
| | | // 限制百分比在 0-100 范围内 |
| | | const clampPercent = val => { |
| | | const n = Number(val) || 0 |
| | | return Math.max(0, Math.min(100, n)) |
| | | } |
| | | |
| | | const getStaffAnalysisTotalStatistic = async () => { |
| | | try { |
| | | const res = await findStaffAnalysisTotalStatistic() |
| | | if (res && res.data) { |
| | | keyMetrics.value[0].value = res.data.totalFlowRate || 0 |
| | | keyMetrics.value[1].value = res.data.totalTurnoverRate || 0 |
| | | keyMetrics.value[0].value = clampPercent(res.data.totalFlowRate || 0) |
| | | keyMetrics.value[1].value = clampPercent(res.data.totalTurnoverRate || 0) |
| | | keyMetrics.value[2].value = res.data.currentOnJobCount || 0 |
| | | } |
| | | } catch (error) { |
| | |
| | | |
| | | // 使用API返回的实际数据 |
| | | const months = turnoverRateStatistics.value.map(item => item.month) |
| | | const turnoverData = turnoverRateStatistics.value.map(item => item.flowRate || 0) |
| | | const attritionData = turnoverRateStatistics.value.map(item => item.turnoverRate || 0) |
| | | const turnoverData = turnoverRateStatistics.value.map(item => clampPercent(item.flowRate || 0)) |
| | | const attritionData = turnoverRateStatistics.value.map(item => clampPercent(item.turnoverRate || 0)) |
| | | |
| | | const option = { |
| | | title: { |
| | |
| | | }, |
| | | yAxis: { |
| | | type: 'value', |
| | | min: 0, |
| | | max: 100, |
| | | axisLabel: { formatter: '{value}%' } |
| | | }, |
| | | series: [ |