|
|
@@ -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>
|