Blame view

antis-ncc-admin/src/components/kpi-drill-dialog.vue 2.45 KB
fee50345   “wangming”   feat: 实现KPI数据穿透功能
1
  <template>
6ec1ef37   李宇   最新
2
    <el-dialog :visible.sync="visibleSync" :title="title" :width="dialogWidth" append-to-body top="8vh"
fee50345   “wangming”   feat: 实现KPI数据穿透功能
3
      custom-class="tech-drill-dialog" :close-on-click-modal="false" @closed="handleClosed">
5e0c6e5a   “wangming”   feat: 完善会员画像功能,优化...
4
      <component :is="currentComponent" v-bind="componentProps" />
fee50345   “wangming”   feat: 实现KPI数据穿透功能
5
6
7
8
    </el-dialog>
  </template>
  
  <script>
5e0c6e5a   “wangming”   feat: 完善会员画像功能,优化...
9
10
11
12
13
14
  import BillingAnalysis from './kpi-drill/billing-analysis.vue'
  import ConsumeAnalysis from './kpi-drill/consume-analysis.vue'
  import NetAnalysis from './kpi-drill/net-analysis.vue'
  import TargetAnalysis from './kpi-drill/target-analysis.vue'
  import TkAnalysis from './kpi-drill/tk-analysis.vue'
  import RefundAnalysis from './kpi-drill/refund-analysis.vue'
fee50345   “wangming”   feat: 实现KPI数据穿透功能
15
16
17
  
  export default {
    name: 'KpiDrillDialog',
5e0c6e5a   “wangming”   feat: 完善会员画像功能,优化...
18
19
20
21
22
23
24
25
    components: {
      BillingAnalysis,
      ConsumeAnalysis,
      NetAnalysis,
      TargetAnalysis,
      TkAnalysis,
      RefundAnalysis
    },
fee50345   “wangming”   feat: 实现KPI数据穿透功能
26
27
28
29
30
31
32
33
34
35
36
37
38
    props: {
      visible: { type: Boolean, default: false },
      title: { type: String, default: '数据穿透' },
      type: { type: String, default: 'billing' }, // billing | consume | refund | target | net | tk
      filters: {
        type: Object,
        default: () => ({ startTime: null, endTime: null, storeIds: [], month: null })
      },
      extra: { type: Object, default: () => ({}) },
      storeOptions: { type: Array, default: () => [] }
    },
    data() {
      return {
5e0c6e5a   “wangming”   feat: 完善会员画像功能,优化...
39
        visibleSync: false
fee50345   “wangming”   feat: 实现KPI数据穿透功能
40
41
42
43
44
45
46
      }
    },
    watch: {
      visible: {
        immediate: true,
        handler(v) {
          this.visibleSync = v
fee50345   “wangming”   feat: 实现KPI数据穿透功能
47
        }
fee50345   “wangming”   feat: 实现KPI数据穿透功能
48
49
50
51
52
53
      }
    },
    computed: {
      dialogWidth() {
        return '1360px'
      },
5e0c6e5a   “wangming”   feat: 完善会员画像功能,优化...
54
55
56
57
58
59
60
61
62
63
      currentComponent() {
        const componentMap = {
          billing: 'BillingAnalysis',
          consume: 'ConsumeAnalysis',
          net: 'NetAnalysis',
          target: 'TargetAnalysis',
          tk: 'TkAnalysis',
          refund: 'RefundAnalysis'
        }
        return componentMap[this.type] || 'BillingAnalysis'
fee50345   “wangming”   feat: 实现KPI数据穿透功能
64
      },
5e0c6e5a   “wangming”   feat: 完善会员画像功能,优化...
65
66
67
68
69
      componentProps() {
        return {
          filters: this.filters,
          extra: this.extra,
          storeOptions: this.storeOptions
fee50345   “wangming”   feat: 实现KPI数据穿透功能
70
        }
fee50345   “wangming”   feat: 实现KPI数据穿透功能
71
72
73
74
75
76
      }
    },
    methods: {
      handleClosed() {
        this.$emit('update:visible', false)
        this.$emit('closed')
fee50345   “wangming”   feat: 实现KPI数据穿透功能
77
78
79
80
81
82
      }
    }
  }
  </script>
  
  <style lang="scss" scoped>
6ec1ef37   李宇   最新
83
    ::v-deep .el-dialog {
fee50345   “wangming”   feat: 实现KPI数据穿透功能
84
      border-radius: 14px;
fee50345   “wangming”   feat: 实现KPI数据穿透功能
85
    }
6ec1ef37   李宇   最新
86
87
88
89
90
  .tech-drill-dialog {
    // .el-dialog__header {
    //   padding: 16px 20px;
    //   border-bottom: 1px solid #ebeef5;
    // }
fee50345   “wangming”   feat: 实现KPI数据穿透功能
91
  
6ec1ef37   李宇   最新
92
93
94
95
96
97
98
    // .el-dialog__body {
    //   padding: 20px;
    //   background: #f5f7fa;
    //   color: #303133;
    //   overflow-y: auto;
    //   max-height: calc(90vh - 100px);
    // }
fee50345   “wangming”   feat: 实现KPI数据穿透功能
99
  }
fee50345   “wangming”   feat: 实现KPI数据穿透功能
100
  </style>