Browse Source

业绩归属导出

milestone-20260402-现金4期
ZhangYong 3 days ago
parent
commit
465f15a6ec
  1. 37
      src/views/moneyManage/financialAccount/performanceAttribution.vue

37
src/views/moneyManage/financialAccount/performanceAttribution.vue

@ -99,16 +99,8 @@ const getMarket = async () => {
} }
} }
//
const fetchData = async () => {
loading.value = true
try {
// adminData ID
const adminMarketNames = adminData.value.marketName?.split(',').map(item => item.trim()).filter(Boolean) || [];
const adminMarketIds = [];
// ID
const findIdsByNames = (nodes, names, resultIds) => {
// ID
const findIdsByNames = (nodes, names, resultIds) => {
if (!nodes || nodes.length === 0) return; if (!nodes || nodes.length === 0) return;
nodes.forEach(node => { nodes.forEach(node => {
if (names.includes(node.label)) { if (names.includes(node.label)) {
@ -118,13 +110,16 @@ const fetchData = async () => {
findIdsByNames(node.children, names, resultIds); findIdsByNames(node.children, names, resultIds);
} }
}); });
};
};
//
const fetchData = async () => {
loading.value = true
try {
// adminData ID
const adminMarketNames = adminData.value.marketName?.split(',').map(item => item.trim()).filter(Boolean) || [];
const adminMarketIds = [];
findIdsByNames(marketOptions.value, adminMarketNames, adminMarketIds); findIdsByNames(marketOptions.value, adminMarketNames, adminMarketIds);
console.log('adminMarketNames:', adminMarketNames)
console.log('adminMarketIds:', adminMarketIds)
console.log('adminMarketIds:', queryParams.adminMarketIds)
// //
console.log('adminData.value.markets:', adminData.value.markets) console.log('adminData.value.markets:', adminData.value.markets)
const params = { const params = {
@ -216,12 +211,15 @@ const exportListLoading = ref(false)
// Excel // Excel
const handleExport = async () => { const handleExport = async () => {
try { try {
const adminMarketNames = adminData.value.marketName?.split(',').map(item => item.trim()).filter(Boolean) || [];
const adminMarketIds = [];
findIdsByNames(marketOptions.value, adminMarketNames, adminMarketIds);
const params = { const params = {
pageNum: queryParams.pageNum, pageNum: queryParams.pageNum,
pageSize: queryParams.pageSize, pageSize: queryParams.pageSize,
performanceDTO: { performanceDTO: {
jwcode: queryParams.jwcode, jwcode: queryParams.jwcode,
adminMarket: adminData.value.marketName.split(',').filter(item => item.trim() !== '') || [],
adminMarket: adminMarketIds,
customerMarket: queryParams.customerMarket, customerMarket: queryParams.customerMarket,
startTime: queryParams.timeRange?.[0] ? dayjs(queryParams.timeRange[0]).format('YYYY-MM-DD HH:mm:ss') : '', startTime: queryParams.timeRange?.[0] ? dayjs(queryParams.timeRange[0]).format('YYYY-MM-DD HH:mm:ss') : '',
endTime: queryParams.timeRange?.[1] ? dayjs(queryParams.timeRange[1]).format('YYYY-MM-DD HH:mm:ss') : '', endTime: queryParams.timeRange?.[1] ? dayjs(queryParams.timeRange[1]).format('YYYY-MM-DD HH:mm:ss') : '',
@ -554,8 +552,8 @@ onMounted(async () => {
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-for="col in matrixMarkets" :key="col.key" :label="col.label + ' ' + t('cash.cashFlow.marketTeam')"
min-width="120" align="center">
<el-table-column v-for="col in matrixMarkets" :key="col.key"
:label="col.label + ' ' + t('cash.cashFlow.marketTeam')" min-width="120" align="center">
<template #default="{ row }"> <template #default="{ row }">
<span v-if="row.isSum">{{ row[col.key] }}</span> <span v-if="row.isSum">{{ row[col.key] }}</span>
<el-input v-else v-model="row[col.key]" @input="row[col.key] = formatNumber($event)" placeholder="" <el-input v-else v-model="row[col.key]" @input="row[col.key] = formatNumber($event)" placeholder=""
@ -572,7 +570,8 @@ onMounted(async () => {
<template #footer> <template #footer>
<div class="dialog-footer" style="text-align: center;"> <div class="dialog-footer" style="text-align: center;">
<el-button type="primary" plain @click="adjustVisible = false" style="width: 100px;">{{ t('common.cancel') }}</el-button>
<el-button type="primary" plain @click="adjustVisible = false" style="width: 100px;">{{ t('common.cancel')
}}</el-button>
<el-button type="primary" @click="submitAdjustment" style="width: 100px;">{{ t('common.submit') }}</el-button> <el-button type="primary" @click="submitAdjustment" style="width: 100px;">{{ t('common.submit') }}</el-button>
</div> </div>
</template> </template>

Loading…
Cancel
Save