From 658802bea263dc2acda03459fb023ea741671cf1 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 30 十月 2025 15:50:19 +0800
Subject: [PATCH] 人力数据分析-企业人数根据在职员工台账读取

---
 src/views/personnelManagement/employeeRecord/index.vue |    9 +++------
 src/views/personnelManagement/analytics/index.vue      |   24 ++++++++++++++++++------
 2 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/src/views/personnelManagement/analytics/index.vue b/src/views/personnelManagement/analytics/index.vue
index 5710b08..2bca335 100644
--- a/src/views/personnelManagement/analytics/index.vue
+++ b/src/views/personnelManagement/analytics/index.vue
@@ -11,13 +11,13 @@
                 <component :is="item.icon" />
               </el-icon>
             </div>
-            <div class="card-info">
+              <div class="card-info">
               <div class="card-number">
                 <el-skeleton-item v-if="loading" variant="text" style="width: 60px; height: 32px;" />
                 <span v-else>{{ item.value }}{{ item.unit }}</span>
               </div>
               <div class="card-label">{{ item.label }}</div>
-              <div class="card-trend" :class="item.trend > 0 ? 'positive' : 'negative'">
+              <div class="card-trend" :class="item.trend > 0 ? 'positive' : 'negative'" v-if="item.showTrend !== false">
                 <el-icon>
                   <component :is="item.trend > 0 ? 'ArrowUp' : 'ArrowDown'" />
                 </el-icon>
@@ -110,6 +110,7 @@
   ArrowDown
 } from '@element-plus/icons-vue'
 import * as echarts from 'echarts'
+import { staffOnJobListPage } from '@/api/personnelManagement/employeeRecord.js'
 
 // 鍝嶅簲寮忔暟鎹�
 const loading = ref(false)
@@ -163,12 +164,25 @@
     unit: '浜�',
     icon: 'PieChart',
     type: 'warning',
-    trend: 0
+    trend: 0,
+    showTrend: false
   }
 ])
 
 // 閮ㄩ棬鏁版嵁
 const departmentData = ref([])
+
+// 鑾峰彇鍦ㄨ亴鍛樺伐鏁�
+const getStaffCount = async () => {
+  try {
+    const res = await staffOnJobListPage({ staffState: 1, current: 1, size: 1 })
+    if (res && res.data) {
+      keyMetrics.value[3].value = res.data.total || 0
+    }
+  } catch (error) {
+    console.error('鑾峰彇鍦ㄨ亴鍛樺伐鏁板け璐�:', error)
+  }
+}
 
 // 鍚姩鑷姩鍒锋柊
 const startAutoRefresh = () => {
@@ -210,9 +224,6 @@
   
   keyMetrics.value[2].value = (Math.random() * 15 + 85).toFixed(1)
   keyMetrics.value[2].trend = (Math.random() * 3 - 1.5).toFixed(1)
-  
-  keyMetrics.value[3].value = 20
-  keyMetrics.value[3].trend = (Math.random() * 2 - 1).toFixed(1)
 
   // 鐢熸垚閮ㄩ棬鏁版嵁
   const departments = ['鎶�鏈儴', '閿�鍞儴', '浜轰簨閮�', '璐㈠姟閮�', '鐢熶骇閮�', '甯傚満閮�']
@@ -487,6 +498,7 @@
 // 鐢熷懡鍛ㄦ湡
 onMounted(() => {
   generateMockData()
+  getStaffCount()
   initCharts()
   startAutoRefresh()
 })
diff --git a/src/views/personnelManagement/employeeRecord/index.vue b/src/views/personnelManagement/employeeRecord/index.vue
index 6965e96..d0801fd 100644
--- a/src/views/personnelManagement/employeeRecord/index.vue
+++ b/src/views/personnelManagement/employeeRecord/index.vue
@@ -52,12 +52,9 @@
 const data = reactive({
   searchForm: {
     staffName: "",
-    entryDate: [
-      dayjs().format("YYYY-MM-DD"),
-      dayjs().add(1, "day").format("YYYY-MM-DD"),
-    ], // 褰曞叆鏃ユ湡
-    entryDateStart: dayjs().format("YYYY-MM-DD"),
-    entryDateEnd: dayjs().add(1, "day").format("YYYY-MM-DD"),
+    entryDate: undefined, // 褰曞叆鏃ユ湡
+    entryDateStart: undefined,
+    entryDateEnd: undefined,
   },
 });
 const { searchForm } = toRefs(data);

--
Gitblit v1.9.3