Compare commits
2
Commits
9558426da1
...
b9de34aa0e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b9de34aa0e | ||
|
|
2f64abfc83 |
@@ -1,6 +1,9 @@
|
|||||||
import request from '@/axios';
|
import request from '@/axios';
|
||||||
import { ElLoading, ElMessage } from 'element-plus';
|
import { ElLoading, ElMessage } from 'element-plus';
|
||||||
|
|
||||||
|
/** 审核按钮统一超时:审批通过后可能同步推送金蝶等耗时操作,覆盖全局 10s */
|
||||||
|
export const APPROVE_TIMEOUT = 30000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件流返回
|
* 文件流返回
|
||||||
* @param url 接口地址
|
* @param url 接口地址
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import request from '@/axios';
|
import request from '@/axios';
|
||||||
|
import { APPROVE_TIMEOUT } from '@/api/common';
|
||||||
|
|
||||||
const baseUrl = '/blade-transport/invoice-application';
|
const baseUrl = '/blade-transport/invoice-application';
|
||||||
|
|
||||||
@@ -18,7 +19,8 @@ export const getReceiverInformation = settlementIds =>
|
|||||||
export const save = data => request({ url: `${baseUrl}/save`, method: 'post', data });
|
export const save = data => request({ url: `${baseUrl}/save`, method: 'post', data });
|
||||||
export const remove = id => request({ url: `${baseUrl}/remove`, method: 'post', params: { id } });
|
export const remove = id => request({ url: `${baseUrl}/remove`, method: 'post', params: { id } });
|
||||||
export const submit = data => request({ url: `${baseUrl}/submit`, method: 'post', data });
|
export const submit = data => request({ url: `${baseUrl}/submit`, method: 'post', data });
|
||||||
export const approve = data => request({ url: `${baseUrl}/approve`, method: 'post', data });
|
export const approve = data =>
|
||||||
|
request({ url: `${baseUrl}/approve`, method: 'post', data, timeout: APPROVE_TIMEOUT });
|
||||||
export const returnBill = data => request({ url: `${baseUrl}/return`, method: 'post', data });
|
export const returnBill = data => request({ url: `${baseUrl}/return`, method: 'post', data });
|
||||||
export const voidBill = data => request({ url: `${baseUrl}/void`, method: 'post', data });
|
export const voidBill = data => request({ url: `${baseUrl}/void`, method: 'post', data });
|
||||||
export const syncKingdee = id =>
|
export const syncKingdee = id =>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import request from '@/axios';
|
import request from '@/axios';
|
||||||
|
import { APPROVE_TIMEOUT } from '@/api/common';
|
||||||
|
|
||||||
const baseUrl = '/blade-transport/invoice-receipt';
|
const baseUrl = '/blade-transport/invoice-receipt';
|
||||||
|
|
||||||
@@ -31,7 +32,8 @@ export const getReferenceInformation = settlementIds =>
|
|||||||
export const save = data => request({ url: `${baseUrl}/save`, method: 'post', data });
|
export const save = data => request({ url: `${baseUrl}/save`, method: 'post', data });
|
||||||
export const remove = id => request({ url: `${baseUrl}/remove`, method: 'post', params: { id } });
|
export const remove = id => request({ url: `${baseUrl}/remove`, method: 'post', params: { id } });
|
||||||
export const submit = data => request({ url: `${baseUrl}/submit`, method: 'post', data });
|
export const submit = data => request({ url: `${baseUrl}/submit`, method: 'post', data });
|
||||||
export const approve = data => request({ url: `${baseUrl}/approve`, method: 'post', data });
|
export const approve = data =>
|
||||||
|
request({ url: `${baseUrl}/approve`, method: 'post', data, timeout: APPROVE_TIMEOUT });
|
||||||
export const returnBill = data => request({ url: `${baseUrl}/return`, method: 'post', data });
|
export const returnBill = data => request({ url: `${baseUrl}/return`, method: 'post', data });
|
||||||
export const voidBill = data => request({ url: `${baseUrl}/void`, method: 'post', data });
|
export const voidBill = data => request({ url: `${baseUrl}/void`, method: 'post', data });
|
||||||
export const pushKingdee = ids =>
|
export const pushKingdee = ids =>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import request from '@/axios';
|
import request from '@/axios';
|
||||||
|
import { APPROVE_TIMEOUT } from '@/api/common';
|
||||||
|
|
||||||
const baseUrl = '/blade-transport/payment-application';
|
const baseUrl = '/blade-transport/payment-application';
|
||||||
export const getList = (current, size, params) =>
|
export const getList = (current, size, params) =>
|
||||||
@@ -20,7 +21,8 @@ export const getProjectAdvanceWriteOffOptions = params =>
|
|||||||
export const save = data => request({ url: `${baseUrl}/save`, method: 'post', data });
|
export const save = data => request({ url: `${baseUrl}/save`, method: 'post', data });
|
||||||
export const remove = id => request({ url: `${baseUrl}/remove`, method: 'post', params: { id } });
|
export const remove = id => request({ url: `${baseUrl}/remove`, method: 'post', params: { id } });
|
||||||
export const submit = data => request({ url: `${baseUrl}/submit`, method: 'post', data });
|
export const submit = data => request({ url: `${baseUrl}/submit`, method: 'post', data });
|
||||||
export const approve = data => request({ url: `${baseUrl}/approve`, method: 'post', data });
|
export const approve = data =>
|
||||||
|
request({ url: `${baseUrl}/approve`, method: 'post', data, timeout: APPROVE_TIMEOUT });
|
||||||
export const returnBill = data => request({ url: `${baseUrl}/return`, method: 'post', data });
|
export const returnBill = data => request({ url: `${baseUrl}/return`, method: 'post', data });
|
||||||
export const voidBill = data => request({ url: `${baseUrl}/void`, method: 'post', data });
|
export const voidBill = data => request({ url: `${baseUrl}/void`, method: 'post', data });
|
||||||
// 同步金蝶涉及多次金蝶远程接口调用(A103-2 预检 + A103-1/A103-3 推送),单笔可达 20s+,覆盖全局 10s 超时
|
// 同步金蝶涉及多次金蝶远程接口调用(A103-2 预检 + A103-1/A103-3 推送),单笔可达 20s+,覆盖全局 10s 超时
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import request from '@/axios';
|
import request from '@/axios';
|
||||||
|
import { APPROVE_TIMEOUT } from '@/api/common';
|
||||||
|
|
||||||
const baseUrl = '/blade-transport/formal-settlement';
|
const baseUrl = '/blade-transport/formal-settlement';
|
||||||
|
|
||||||
@@ -27,7 +28,8 @@ export const getCandidateDetails = (current, size, params) =>
|
|||||||
export const save = data => request({ url: `${baseUrl}/save`, method: 'post', data });
|
export const save = data => request({ url: `${baseUrl}/save`, method: 'post', data });
|
||||||
export const remove = id => request({ url: `${baseUrl}/remove`, method: 'post', params: { id } });
|
export const remove = id => request({ url: `${baseUrl}/remove`, method: 'post', params: { id } });
|
||||||
export const submit = data => request({ url: `${baseUrl}/submit`, method: 'post', data });
|
export const submit = data => request({ url: `${baseUrl}/submit`, method: 'post', data });
|
||||||
export const approve = data => request({ url: `${baseUrl}/approve`, method: 'post', data });
|
export const approve = data =>
|
||||||
|
request({ url: `${baseUrl}/approve`, method: 'post', data, timeout: APPROVE_TIMEOUT });
|
||||||
export const returnBill = data => request({ url: `${baseUrl}/return`, method: 'post', data });
|
export const returnBill = data => request({ url: `${baseUrl}/return`, method: 'post', data });
|
||||||
export const voidBill = data => request({ url: `${baseUrl}/void`, method: 'post', data });
|
export const voidBill = data => request({ url: `${baseUrl}/void`, method: 'post', data });
|
||||||
// 同步金蝶涉及多次金蝶远程接口调用(A102-4 预检 + A102-2 保存),可达 20s+,覆盖全局 10s 超时
|
// 同步金蝶涉及多次金蝶远程接口调用(A102-4 预检 + A102-2 保存),可达 20s+,覆盖全局 10s 超时
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import request from '@/axios';
|
import request from '@/axios';
|
||||||
|
import { APPROVE_TIMEOUT } from '@/api/common';
|
||||||
|
|
||||||
const baseUrl = '/blade-transport/pre-settlement';
|
const baseUrl = '/blade-transport/pre-settlement';
|
||||||
|
|
||||||
@@ -42,7 +43,8 @@ export const removeDetail = (id, detailId) =>
|
|||||||
|
|
||||||
export const submit = data => request({ url: `${baseUrl}/submit`, method: 'post', data });
|
export const submit = data => request({ url: `${baseUrl}/submit`, method: 'post', data });
|
||||||
|
|
||||||
export const approve = data => request({ url: `${baseUrl}/approve`, method: 'post', data });
|
export const approve = data =>
|
||||||
|
request({ url: `${baseUrl}/approve`, method: 'post', data, timeout: APPROVE_TIMEOUT });
|
||||||
|
|
||||||
export const returnBill = data => request({ url: `${baseUrl}/return`, method: 'post', data });
|
export const returnBill = data => request({ url: `${baseUrl}/return`, method: 'post', data });
|
||||||
|
|
||||||
|
|||||||
@@ -270,6 +270,7 @@ export default {
|
|||||||
rows: [],
|
rows: [],
|
||||||
selection: [],
|
selection: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
|
approveLoading: false,
|
||||||
batchSyncing: false,
|
batchSyncing: false,
|
||||||
page: { current: 1, size: 10, total: 0 },
|
page: { current: 1, size: 10, total: 0 },
|
||||||
mkEnabled: false,
|
mkEnabled: false,
|
||||||
@@ -408,15 +409,29 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async handleApprove(row) {
|
async handleApprove(row) {
|
||||||
await this.$confirm('确认审批通过该开票申请?', '提示', { type: 'warning' });
|
// 防止重复点击:请求进行中忽略后续点击,避免重复审批和重复提示
|
||||||
const res = await api.approve({ id: row.id });
|
if (this.approveLoading) return;
|
||||||
// data=false 表示审批已通过但自动同步金蝶失败,msg 带具体原因
|
this.approveLoading = true;
|
||||||
if (res.data.data === false) {
|
let loading = null;
|
||||||
this.$message.warning(res.data.msg);
|
try {
|
||||||
} else {
|
await this.$confirm('确认审批通过该开票申请?', '提示', { type: 'warning' });
|
||||||
this.$message.success(res.data.msg || '审批通过');
|
loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: '审批处理中,请稍候…',
|
||||||
|
background: 'rgba(255, 255, 255, 0.6)',
|
||||||
|
});
|
||||||
|
const res = await api.approve({ id: row.id });
|
||||||
|
// data=false 表示审批已通过但自动同步金蝶失败,msg 带具体原因
|
||||||
|
if (res.data.data === false) {
|
||||||
|
this.$message.warning(res.data.msg);
|
||||||
|
} else {
|
||||||
|
this.$message.success(res.data.msg || '审批通过');
|
||||||
|
}
|
||||||
|
this.loadTable();
|
||||||
|
} finally {
|
||||||
|
loading?.close();
|
||||||
|
this.approveLoading = false;
|
||||||
}
|
}
|
||||||
this.loadTable();
|
|
||||||
},
|
},
|
||||||
async handleReturn(row) {
|
async handleReturn(row) {
|
||||||
const { value } = await this.$prompt('请输入驳回原因', '审批驳回');
|
const { value } = await this.$prompt('请输入驳回原因', '审批驳回');
|
||||||
|
|||||||
@@ -255,6 +255,7 @@ export default {
|
|||||||
rows: [],
|
rows: [],
|
||||||
selection: [],
|
selection: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
|
approveLoading: false,
|
||||||
pushLoading: false,
|
pushLoading: false,
|
||||||
page: { current: 1, size: 10, total: 0 },
|
page: { current: 1, size: 10, total: 0 },
|
||||||
mkEnabled: false,
|
mkEnabled: false,
|
||||||
@@ -365,15 +366,29 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async handleApprove(row) {
|
async handleApprove(row) {
|
||||||
await this.$confirm('确认审批通过该收票登记?', '提示', { type: 'warning' });
|
// 防止重复点击:请求进行中忽略后续点击,避免重复审批和重复提示
|
||||||
const res = await api.approve({ id: row.id });
|
if (this.approveLoading) return;
|
||||||
// data=false 表示审批已通过但自动同步金蝶失败,msg 带具体原因
|
this.approveLoading = true;
|
||||||
if (res.data.data === false) {
|
let loading = null;
|
||||||
this.$message.warning(res.data.msg);
|
try {
|
||||||
} else {
|
await this.$confirm('确认审批通过该收票登记?', '提示', { type: 'warning' });
|
||||||
this.$message.success(res.data.msg || '审批通过');
|
loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: '审批处理中,请稍候…',
|
||||||
|
background: 'rgba(255, 255, 255, 0.6)',
|
||||||
|
});
|
||||||
|
const res = await api.approve({ id: row.id });
|
||||||
|
// data=false 表示审批已通过但自动同步金蝶失败,msg 带具体原因
|
||||||
|
if (res.data.data === false) {
|
||||||
|
this.$message.warning(res.data.msg);
|
||||||
|
} else {
|
||||||
|
this.$message.success(res.data.msg || '审批通过');
|
||||||
|
}
|
||||||
|
this.loadTable();
|
||||||
|
} finally {
|
||||||
|
loading?.close();
|
||||||
|
this.approveLoading = false;
|
||||||
}
|
}
|
||||||
this.loadTable();
|
|
||||||
},
|
},
|
||||||
async handleReturn(row) {
|
async handleReturn(row) {
|
||||||
const { value } = await this.$prompt('请输入驳回原因', '审批驳回');
|
const { value } = await this.$prompt('请输入驳回原因', '审批驳回');
|
||||||
|
|||||||
@@ -331,6 +331,11 @@ export default {
|
|||||||
// 防止重复点击:请求进行中忽略后续点击
|
// 防止重复点击:请求进行中忽略后续点击
|
||||||
if (this.approveLoading) return;
|
if (this.approveLoading) return;
|
||||||
this.approveLoading = true;
|
this.approveLoading = true;
|
||||||
|
const loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: '审批处理中,请稍候…',
|
||||||
|
background: 'rgba(255, 255, 255, 0.6)',
|
||||||
|
});
|
||||||
try {
|
try {
|
||||||
const res = await api.approve({ id: row.id });
|
const res = await api.approve({ id: row.id });
|
||||||
// data=false 表示审批已通过但自动同步金蝶失败,msg 带具体原因
|
// data=false 表示审批已通过但自动同步金蝶失败,msg 带具体原因
|
||||||
@@ -341,6 +346,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.refreshChange();
|
this.refreshChange();
|
||||||
} finally {
|
} finally {
|
||||||
|
loading.close();
|
||||||
this.approveLoading = false;
|
this.approveLoading = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -140,6 +140,7 @@ export default {
|
|||||||
rows: [],
|
rows: [],
|
||||||
selection: [],
|
selection: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
|
approveLoading: false,
|
||||||
syncLoading: false,
|
syncLoading: false,
|
||||||
page: { currentPage: 1, pageSize: 10, pageSizes: [10, 20, 50, 100], total: 0 },
|
page: { currentPage: 1, pageSize: 10, pageSizes: [10, 20, 50, 100], total: 0 },
|
||||||
editor: { visible: false, id: null, readonly: false },
|
editor: { visible: false, id: null, readonly: false },
|
||||||
@@ -371,19 +372,33 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async handleApprove(row) {
|
async handleApprove(row) {
|
||||||
await this.$confirm(
|
// 防止重复点击:请求进行中忽略后续点击,避免重复审批和重复提示
|
||||||
`审核通过后${this.billLabel}生效,金额只能通过结算调整单处理,确认通过?`,
|
if (this.approveLoading) return;
|
||||||
'提示',
|
this.approveLoading = true;
|
||||||
{ type: 'warning' }
|
let loading = null;
|
||||||
);
|
try {
|
||||||
const res = await api.approve({ id: row.id });
|
await this.$confirm(
|
||||||
// data=false 表示审批已通过但自动同步金蝶失败,msg 带具体原因
|
`审核通过后${this.billLabel}生效,金额只能通过结算调整单处理,确认通过?`,
|
||||||
if (res.data.data === false) {
|
'提示',
|
||||||
this.$message.warning(res.data.msg);
|
{ type: 'warning' }
|
||||||
} else {
|
);
|
||||||
this.$message.success(res.data.msg || '审批通过');
|
loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: '审批处理中,请稍候…',
|
||||||
|
background: 'rgba(255, 255, 255, 0.6)',
|
||||||
|
});
|
||||||
|
const res = await api.approve({ id: row.id });
|
||||||
|
// data=false 表示审批已通过但自动同步金蝶失败,msg 带具体原因
|
||||||
|
if (res.data.data === false) {
|
||||||
|
this.$message.warning(res.data.msg);
|
||||||
|
} else {
|
||||||
|
this.$message.success(res.data.msg || '审批通过');
|
||||||
|
}
|
||||||
|
this.onLoad(this.page);
|
||||||
|
} finally {
|
||||||
|
loading?.close();
|
||||||
|
this.approveLoading = false;
|
||||||
}
|
}
|
||||||
this.onLoad(this.page);
|
|
||||||
},
|
},
|
||||||
async handleReturn(row) {
|
async handleReturn(row) {
|
||||||
const { value } = await this.$prompt('请输入驳回原因', '审批驳回', {
|
const { value } = await this.$prompt('请输入驳回原因', '审批驳回', {
|
||||||
|
|||||||
@@ -334,6 +334,7 @@ export default {
|
|||||||
ArrowDown,
|
ArrowDown,
|
||||||
ArrowUp,
|
ArrowUp,
|
||||||
loading: false,
|
loading: false,
|
||||||
|
approveLoading: false,
|
||||||
query: emptyQuery(),
|
query: emptyQuery(),
|
||||||
searchFields: preSettlementSearchFields,
|
searchFields: preSettlementSearchFields,
|
||||||
searchExpanded: false,
|
searchExpanded: false,
|
||||||
@@ -691,10 +692,24 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async handleApprove(row) {
|
async handleApprove(row) {
|
||||||
await this.$confirm('确认审批通过该预付结算单?', '提示', { type: 'warning' });
|
// 防止重复点击:请求进行中忽略后续点击,避免重复审批和重复提示
|
||||||
await approve({ id: row.id });
|
if (this.approveLoading) return;
|
||||||
this.$message.success('审批通过');
|
this.approveLoading = true;
|
||||||
this.loadTable();
|
let loading = null;
|
||||||
|
try {
|
||||||
|
await this.$confirm('确认审批通过该预付结算单?', '提示', { type: 'warning' });
|
||||||
|
loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: '审批处理中,请稍候…',
|
||||||
|
background: 'rgba(255, 255, 255, 0.6)',
|
||||||
|
});
|
||||||
|
await approve({ id: row.id });
|
||||||
|
this.$message.success('审批通过');
|
||||||
|
this.loadTable();
|
||||||
|
} finally {
|
||||||
|
loading?.close();
|
||||||
|
this.approveLoading = false;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
async handleReturn(row) {
|
async handleReturn(row) {
|
||||||
const { value } = await this.$prompt('请输入驳回原因', '审批驳回', {
|
const { value } = await this.$prompt('请输入驳回原因', '审批驳回', {
|
||||||
|
|||||||
Reference in New Issue
Block a user