zhuoyuan.wang
2024-06-19 15ebe96f28cadec6a726c5324593a40bbf56205f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<template>
  <app-tab-wrapper v-bind="tabWrapperProps">
    <template #[tab.name]="scope" v-for="tab in tabWrapperProps.tabList" :key="tab.name">
      <settle-table v-bind="settleTableProps" :options="tab"/>
    </template>
  </app-tab-wrapper>
  <agree-dialog v-bind="agreeDialogProps"/>
</template>
 
 
<script setup>
 
import AgreeDialog from './AgreeDialog';
import SettleTable from './SettleTable';
 
const agreeDialogRef = ref();
const settleTableRef = ref();
 
const tabWrapperRef = ref();
 
const props = defineProps({
  subActive: {
    type: Function,
    default: () => {
    }
  }
});
 
 
const tabWrapperProps = {
  ref: tabWrapperRef,
  tabList: [
    {name: 'fee_book_general', label: '结算汇总', dataName: 'fee_book_general', filter: "and  status = 'finish'"},
    {
      name: 'fee_book_twice_apply',
      label: '二次议价申请',
      dataName: 'fee_book_twice_apply',
      filter: "and data_type = 'settle' and  status = 'finish'"
    },
    {
      name: 'fee_working_p002',
      label: '二次议价明细',
      dataName: 'fee_working_p002',
      filter: ""
    },
    {
      name: 'fee_book_inventory',
      label: '库存补偿申请',
      dataName: 'fee_book_inventory',
      filter: "and data_type = 'settle' and  status = 'finish'"
    },
    {
      name: 'fee_working_p004',
      label: '库存补偿明细',
      dataName: 'fee_working_p003',
      filter: ""
    },
    {
      name: 'fee_book_markup_province1',
      label: '流向补偿-按省份',
      dataName: 'fee_book_markup_province',
      filter: "and type = 'province_offline' and data_type = 'settle'  and  status = 'finish'"
    },
    {
      name: 'fee_working_p006',
      label: '流向补偿-按省份明细',
      dataName: 'fee_working_p005',
      filter: ""
    },
    {
      name: 'fee_book_markup_province2',
      label: '流向补偿-按终端',
      dataName: 'fee_book_markup_province',
      filter: "and type = 'customer' and data_type = 'settle' and  status = 'finish'"
    },
    {
      name: 'fee_working_p008',
      label: '流向补偿-按终端明细',
      dataName: 'fee_working_p007',
      filter: ""
    }
  ],
  subActive(active) {
    props.subActive({active, selection: []});
  }
};
 
const settleTableProps = {
  ref: settleTableRef,
  subSelection(selection) {
    props.subActive({selection})
  }
}
 
const agreeDialogProps = {
  ref: agreeDialogRef,
  subReload() {
    settleTableRef.value.onReload();
    props.subActive({selection: []});
    settleTableRef.value.setSelected([]);
  }
}
 
const onAgree = async (selection) => {
  agreeDialogRef.value.onOpen(selection);
}
 
defineExpose({
  /**
   * 初始化
   */
  onAgree
});
 
</script>