feat(timesheetPreAlloc): 添加导出分配明细功能

- 在界面中新增导出分配明细按钮
- 实现 handleExportDetail 方法处理明细导出逻辑
- 支持选中数据时仅导出选中项的分配明细
- 添加时间戳确保导出文件名唯一性
- 集成权限控制以保护导出功能访问
dev
yangk 3 weeks ago
parent 7498668168
commit c7f7bf6120

@ -66,7 +66,12 @@
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['oa/erp:timesheetPreAlloc:export']"></el-button> <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['oa/erp:timesheetPreAlloc:export']"> </el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExportDetail" v-hasPermi="['oa/erp:timesheetPreAlloc:export']">
导出分配明细
</el-button>
</el-col> </el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList" /> <right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList" />
</el-row> </el-row>
@ -632,6 +637,18 @@ const handleExport = () => {
); );
}; };
const handleExportDetail = () => {
proxy?.download(
'oa/erp/timesheetPreAlloc/exportDetail',
{
...queryParams.value,
//
allocIds: ids.value.length > 0 ? ids.value.join(',') : undefined
},
`timesheetPreAllocDetail_${new Date().getTime()}.xlsx`
);
};
onMounted(async () => { onMounted(async () => {
await Promise.all([loadTargetProjectOptions(), loadQuerySourceProjectOptions()]); await Promise.all([loadTargetProjectOptions(), loadQuerySourceProjectOptions()]);
await getList(); await getList();

Loading…
Cancel
Save