Przeglądaj źródła

修改分数逻辑

yangg 1 miesiąc temu
rodzic
commit
37ee5dca92
1 zmienionych plików z 19 dodań i 18 usunięć
  1. 19 18
      src/views/JobApplication/report/index.vue

+ 19 - 18
src/views/JobApplication/report/index.vue

@@ -327,6 +327,7 @@ const fetchApplicationDetail = async () => {
     
     if (result.code === 2000) {
       apiData.value = result.data
+      console.log(result.data)
       updateCandidateInfo(result.data)
     } else {
       error.value = result.msg || '获取数据失败'
@@ -385,27 +386,27 @@ const updateCandidateInfo = (data: any) => {
       
       // 如果成功解析出最小值和最大值,则根据分数计算建议薪资
       if (!isNaN(min) && !isNaN(max) && min > 0 && max > 0 && max > min) {
-        // 改进的薪资计算逻辑
-        // 使用更合理的评分映射:
-        // 60分以下 -> 最低薪资
-        // 60-80分 -> 线性增长从最低薪资到中间值
-        // 80-100分 -> 线性增长从中间值到最高薪资
-        let scoreRatio;
-        const score = candidateInfo.value.score;
+        // 薪资计算逻辑
+        // 1. 分数低于60分:给予最低薪资
+        // 2. 分数在60-80分之间:给予中等薪资(最低薪资 + 薪资范围的1/3)
+        // 3. 分数在80分以上:给予最高薪资
+        console.log("score",application.comprehensive_score)
+        const score = application.comprehensive_score;
+        console.log(score)
+        let suggested = min; // 默认给最低薪资
         
-        if (score < 60) {
-          // 低于60分,给予最低薪资
-          scoreRatio = 0;
-        } else if (score <= 80) {
-          // 60-80分,线性增长到中间点
-          scoreRatio = (score - 60) / 40 * 0.5; // 0到0.5之间
-        } else {
-          // 80-100分,线性增长到最高点
-          scoreRatio = 0.5 + (score - 80) / 20 * 0.5; // 0.5到1之间
+        if (score >= 80) {
+          // 80分以上给最高薪资
+          console.log(max)
+          suggested = max;
+        } else if (score >= 60) {
+          // 60-80分给中等薪资(最低薪资 + 薪资范围的1/3)
+          suggested = min + Math.floor((max - min) / 3);
+        }else{
+          // 低于60分保持最低薪资
+          suggested = 0;
         }
         
-        const suggested = Math.floor(min + (max - min) * scoreRatio);
-        
         // 格式化薪资显示
         if (suggested >= 10000) {
           // 如果大于等于10000,显示为"x.x万"