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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<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"/>
  <reject-dialog v-bind="rejectDialogProps"/>
</template>
 
 
<script setup>
 
import RejectDialog from './RejectDialog';
import AgreeDialog from './AgreeDialog';
import SettleTable from './SettleTable';
 
const rejectDialogRef = ref();
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 = 'finance'"},
    {
      name: 'fee_book_twice_apply',
      label: '二次议价申请',
      dataName: 'fee_book_twice_apply',
      filter: "and data_type = 'settle' and  status = 'finance'"
    },
    {
      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 = 'finance'"
    },
    {
      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 = 'finance'"
    },
    {
      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 = 'finance'"
    },
    {
      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 rejectDialogProps = {
  ref: rejectDialogRef,
  subReload() {
    settleTableRef.value.onReload();
    props.subActive({selection: []});
    settleTableRef.value.setSelected([]);
  }
}
 
const onAgree = async (selection) => {
  agreeDialogRef.value.onOpen(selection);
}
 
const onReject = async (selection) => {
  rejectDialogRef.value.onOpen(selection);
}
 
defineExpose({
  /**
   * 初始化
   */
  onAgree,
  onReject
});
 
</script>