✨ 金蝶附件同步(A902)前端:四页面附件同步列、重推补传提示与收票推送超时放宽

This commit is contained in:
刘泉佳
2026-09-24 13:27:41 +08:00
parent e63c7fdd42
commit aabe67e4d6
9 changed files with 52 additions and 7 deletions
+12 -1
View File
@@ -406,7 +406,18 @@ export default {
}
await Promise.all(rows.map(row => api.syncKingdee(row.id)));
this.$message.success(`已同步${rows.length}条开票申请`);
this.loadTable();
await this.loadTable();
// 附件联带同步提示:同步成功但附件未全部上传时追加 warning,重推即自动补传
const idSet = new Set(rows.map(row => String(row.id)));
const pendingCount = (this.rows || []).filter(row => idSet.has(String(row.id))
&& ['pending', 'partial'].includes(row.attachmentSyncStatus)).length;
if (pendingCount) {
this.$message({
type: 'warning',
message: `其中${pendingCount}单附件未全部上传,可重推补传`,
duration: 8000,
});
}
},
async handleExport() {
const data = this.unwrapData(await api.getList(1, 100000, this.query));
+7 -2
View File
@@ -373,8 +373,13 @@ export default {
type: 'warning',
});
const summary = this.unwrapData(await api.pushKingdee(rows.map(row => row.id)));
this.$alert(summary || '推送完成', '推送结果', { confirmButtonText: '知道了' });
this.loadTable();
await this.loadTable();
// 附件联带同步提示:推送成功但附件未全部上传时在结果弹窗追加说明,重推即自动补传
const idSet = new Set(rows.map(row => String(row.id)));
const pendingCount = (this.rows || []).filter(row => idSet.has(String(row.id))
&& ['pending', 'partial'].includes(row.attachmentSyncStatus)).length;
const attachmentTip = pendingCount ? `\n其中${pendingCount}单附件未全部上传,可重推补传` : '';
this.$alert((summary || '推送完成') + attachmentTip, '推送结果', { confirmButtonText: '知道了' });
},
async handleExport() {
const data = this.unwrapData(await api.getList(1, 100000, this.query));
+17 -2
View File
@@ -395,7 +395,8 @@ export default {
async handleSyncRow(row) {
const data = this.unwrapData(await api.syncKingdee(row.id));
this.$message.success(`已生成金蝶付款单:${data}`);
this.loadTable();
await this.loadTable();
this.warnAttachmentNotUploaded([row.id]);
},
async handleSync() {
const rows = this.selection.filter(row => row.approvalStatus === 'approved');
@@ -414,7 +415,21 @@ export default {
} else {
this.$message.success(`已同步${data.length}条付款申请`);
}
this.loadTable();
await this.loadTable();
this.warnAttachmentNotUploaded(rows.map(row => row.id));
},
// 附件联带同步提示:同步成功但附件未全部上传时追加 warning,重推即自动补传
warnAttachmentNotUploaded(ids) {
const idSet = new Set(ids.map(String));
const pendingCount = (this.rows || []).filter(row => idSet.has(String(row.id))
&& ['pending', 'partial'].includes(row.attachmentSyncStatus)).length;
if (pendingCount) {
this.$message({
type: 'warning',
message: `其中${pendingCount}单附件未全部上传,可重推补传`,
duration: 8000,
});
}
},
async handleSyncResult() {
const data = this.unwrapData(await api.syncKingdeeResult());