下载重新上传更换运单批次 {
const changeProject = projectId => {
editing.projectName = projectOptions.value.find(item => item.id === projectId)?.projectName || '';
};
-const openUpload = async row => {
+const openUpload = async (row, mode = '') => {
await loadProjects();
selectedVoucherFile.value = undefined;
+ uploadMode.value = mode;
Object.assign(editing, {
id: row?.id || '',
voucherBatchNo: row?.voucherBatchNo || '',
@@ -610,6 +622,7 @@ const openUpload = async row => {
fileTaskId: row?.fileTaskId || '',
waybillImportBatchIds: [],
});
+ if (mode === 'reupload') Object.assign(editing, { fileName: '', fileUrl: '', fileTaskId: '' });
uploadPercent.value = 0;
selectedBatches.value = [];
uploadVisible.value = true;
diff --git a/src/views/settlement/components/formal-settlement-editor.vue b/src/views/settlement/components/formal-settlement-editor.vue
index 31ef244..7fbdf3c 100644
--- a/src/views/settlement/components/formal-settlement-editor.vue
+++ b/src/views/settlement/components/formal-settlement-editor.vue
@@ -2371,6 +2371,7 @@ export default {
buildSavePayload() {
return {
id: this.form.id,
+ formalSettlementNo: this.form.formalSettlementNo,
contractId: this.form.contractId,
settlementType: this.form.settlementType,
sourcePreSettlementIds: this.form.sourcePreSettlementIds,
@@ -2444,7 +2445,7 @@ export default {
}
if (!this.validateInvoices()) return;
// 附件类型仅做提示,不阻断正式结算单新增/保存提交。
- this.validateAttachments();
+ // this.validateAttachments();
this.saving = true;
try {
await save(this.buildSavePayload());
diff --git a/src/views/settlement/components/transport-reconciliation-editor.vue b/src/views/settlement/components/transport-reconciliation-editor.vue
index 65aa85b..3cec2c4 100644
--- a/src/views/settlement/components/transport-reconciliation-editor.vue
+++ b/src/views/settlement/components/transport-reconciliation-editor.vue
@@ -1181,12 +1181,17 @@ export default {
}
},
async handleUpdate() {
- await this.$confirm('将以外部账单匹配金额更新内部结算明细,是否继续?', '更新账单', {
+ await this.$confirm('将以外部账单数据更新运单及内部结算明细,是否继续?', '更新账单', {
type: 'warning',
});
this.actionLoading = true;
try {
- await api.updateByMatch(this.currentId);
+ await api.updateByMatch(this.currentId, {
+ id: this.currentId,
+ reconciliationMode: this.form.reconciliationMode,
+ internalDetails: this.serializeInternalRows(),
+ externalDetails: this.serializeExternalRows(),
+ });
await this.loadDetail();
this.$message.success('账单更新完成');
} finally {