Переглянути джерело

feature(统计): 跟进记录统计

ZZH-wl 2 роки тому
батько
коміт
719c7068c3
2 змінених файлів з 84 додано та 0 видалено
  1. 9 0
      src/api/report/index.js
  2. 75 0
      src/views/report/followup/index.vue

+ 9 - 0
src/api/report/index.js

@@ -0,0 +1,9 @@
+import micro_request from '@/utils/micro_request'
+
+const basePath = process.env.VUE_APP_ParentPath
+export default {
+  // 获取跟进记录统计报表
+  getSalesEngineerFollowUpNum(query) {
+    return micro_request.postRequest(basePath, 'Home', 'GetSalesEngineerFollowUpNum', query)
+  },
+}

+ 75 - 0
src/views/report/followup/index.vue

@@ -0,0 +1,75 @@
+<template>
+  <div class="detail">
+    <h2 style="text-align: center">跟进记录统计报表</h2>
+    <el-table
+      ref="businessTable"
+      v-loading="loading"
+      border
+      :data="tableData"
+      :height="$baseTableHeight(1)"
+      :span-method="objectSpanMethod">
+      <el-table-column
+        v-for="(item, key) in header"
+        :key="key"
+        align="center"
+        :label="item.label"
+        :prop="item.prop"
+        show-overflow-tooltip>
+        <template #default="{ row }">
+          <span>{{ row[item.prop] }}</span>
+        </template>
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+  import reportApi from '@/api/report/index'
+
+  export default {
+    name: 'FollowUpReport',
+    components: {},
+    data() {
+      return {
+        loading: false,
+        header: undefined,
+        tableData: undefined,
+      }
+    },
+    mounted() {
+      this.fetchData()
+    },
+    methods: {
+      objectSpanMethod({ rowIndex, columnIndex }) {
+        if (columnIndex === 0) {
+          if (rowIndex % 3 === 0) {
+            return {
+              rowspan: 3,
+              colspan: 1,
+            }
+          } else {
+            return {
+              rowspan: 0,
+              colspan: 0,
+            }
+          }
+        }
+      },
+      async fetchData() {
+        this.loading = true
+        const {
+          data: { header, data },
+        } = await reportApi.getSalesEngineerFollowUpNum()
+        this.header = header
+        this.tableData = data
+        this.loading = false
+      },
+    },
+  }
+</script>
+
+<style lang="scss" scoped>
+  .detail {
+    padding: 30px;
+  }
+</style>