zhengnaiwen_citu il y a 3 mois
Parent
commit
0fc98b21fa

+ 5 - 0
src/api/salary.js

@@ -220,3 +220,8 @@ export function claimPerformanceMoreByBatch (data) {
 export function getCustomerClaimStatistics (data) {
   return http.get('/customer/performance/claim/statistics', data)
 }
+
+// 机构绩效绩效统计
+export function getSalaryStatistics (data) {
+  return http.post('/employee/payroll/organization/date/range/statistics', data)
+}

+ 12 - 9
src/components/Analysis/index.vue

@@ -18,10 +18,12 @@ export default {
       type: Function,
       default: () => ({})
     },
-    drillInit: {
-      type: Function,
-      default: () => ({})
-    }
+    drillInit: Function,
+    searchConfig: {
+      type: Array,
+      default: () => []
+    },
+    valueFn: Function
   },
   components: {
     AnalysisChart
@@ -58,7 +60,8 @@ export default {
               children: 'child'
             }
           }
-        }
+        },
+        ...this.searchConfig
       ]
     }
   },
@@ -70,13 +73,13 @@ export default {
     async onInit () {
       this.loading = true
       try {
-        const { data } = await this.searchApi({
-          ...this.searchValues
-        })
+        const query = this.valueFn ? this.valueFn(this.searchValues) : { ...this.searchValues }
+
+        const { data } = await this.searchApi(query)
         this.items = Object.keys(data).map(key => {
           return {
             key,
-            value: data[key]
+            value: data[key] || {}
           }
         })
       } catch (error) {

+ 52 - 0
src/views/dataChart/trendStatistics/index.vue

@@ -0,0 +1,52 @@
+<template>
+  <AnalysisPage class="white pa-3" :search-api="getSalaryStatistics" :search-config="searchConfig" :value-fn="valueFn"></AnalysisPage>
+</template>
+
+<script>
+import {
+  getSalaryStatistics
+} from '@/api/salary'
+import AnalysisPage from '@/components/Analysis'
+export default {
+  name: 'trendStatistics',
+  components: {
+    AnalysisPage
+  },
+  data () {
+    return {
+      getSalaryStatistics,
+      searchConfig: [
+        {
+          label: '时间范围',
+          type: 'datePicker',
+          prop: 'month',
+          options: {
+            rangeSeparator: '至',
+            startPlaceholder: '开始时间',
+            endPlaceholder: '结束时间',
+            valueFormat: 'yyyy-MM-dd',
+            type: 'daterange'
+          }
+        }
+      ]
+    }
+  },
+  methods: {
+    valueFn (data) {
+      const { month, ...obj } = data
+      if (!month || !month.length) {
+        return obj
+      }
+      return {
+        ...obj,
+        startDate: month[0],
+        endDate: month[1]
+      }
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>