收票单推送金蝶与票池实时游标分页前端适配:选票弹窗hasMore分页,下线镜像补查与票池同步入口,保存时按票号重查回填

This commit is contained in:
刘泉佳
2026-09-23 10:22:51 +08:00
parent cc73d544ff
commit 884de893db
6 changed files with 121 additions and 183 deletions
+20
View File
@@ -73,6 +73,13 @@
@click="handleBatchSync"
>批量同步</el-button
>
<el-button
v-if="hasPermission('invoice_receipt_sync')"
type="primary"
plain
@click="handlePushKingdee"
>推送金蝶收票单</el-button
>
<el-button v-if="hasPermission('invoice_receipt_add')" type="primary" @click="openCreate"
>新增</el-button
>
@@ -373,6 +380,19 @@ export default {
this.$message.success(`已同步${rows.length}条收票登记`);
this.loadTable();
},
async handlePushKingdee() {
const rows = this.selection.filter(row => row.approvalStatus === 'approved');
if (!rows.length) {
this.$message.warning('请选择至少一条审批通过的收票登记');
return;
}
await this.$confirm(`确认将选中的 ${rows.length} 条收票登记推送金蝶收票单?`, '提示', {
type: 'warning',
});
const summary = this.unwrapData(await api.pushKingdee(rows.map(row => row.id)));
this.$alert(summary || '推送完成', '推送结果', { confirmButtonText: '知道了' });
this.loadTable();
},
async handleExport() {
const data = this.unwrapData(await api.getList(1, 100000, this.query));
const exportRows = (data.records || []).map(item => ({