✨ 结算单新增时自动查询BFI汇率
- currency.js: 新增getBfiExchangeRate接口调用 - pre-settlement-editor.vue: - 选择合同后同步结算币种并自动查询当天BFI汇率 - 汇率日期变更时自动查询BFI汇率并回填结算汇率 - 新增时自动设置当天日期并查询汇率 - formal-settlement-editor.vue: - 选择合同后同步结算币种并自动查询当天BFI汇率 - 汇率日期变更时自动查询BFI汇率并回填结算汇率 - 新增时自动查询当天BFI汇率
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="请选择"
|
||||
@change="fetchBfiExchangeRate"
|
||||
/>
|
||||
<el-select
|
||||
v-else-if="field.type === 'project' && editable"
|
||||
@@ -947,6 +948,7 @@ import {
|
||||
getDetailFees as getPreSettlementDetailFees,
|
||||
} from '@/api/settlement/preSettlement';
|
||||
import { calculateAdjustedFee, getFeeDetail } from '@/api/settlement/receivable-payable-detail';
|
||||
import { getBfiExchangeRate } from '@/api/base/currency';
|
||||
import {
|
||||
createFormalSettlementForm,
|
||||
formalSettlementFormFields,
|
||||
@@ -1250,6 +1252,7 @@ export default {
|
||||
if (this.initialData) await this.applyInitialData();
|
||||
Object.assign(this.form, newRecordAudit);
|
||||
await this.refreshFormalSettlementNo();
|
||||
await this.fetchBfiExchangeRate();
|
||||
return;
|
||||
}
|
||||
this.loading = true;
|
||||
@@ -1482,6 +1485,7 @@ export default {
|
||||
(settlementType === 'receivable' ? contract.partyA : contract.partyB),
|
||||
settlementType,
|
||||
settlementTypeName: settlementType === 'receivable' ? '应收' : '应付',
|
||||
currency: contract.settlementCurrency || 'RMB',
|
||||
});
|
||||
this.sources = [];
|
||||
this.details = [];
|
||||
@@ -1489,6 +1493,23 @@ export default {
|
||||
this.form.sourcePreSettlementIds = [];
|
||||
this.form.sourceDetailIds = [];
|
||||
if (refreshSettlementNo) this.refreshFormalSettlementNo();
|
||||
if (this.form.currency !== 'RMB') this.fetchBfiExchangeRate();
|
||||
},
|
||||
async fetchBfiExchangeRate() {
|
||||
const currency = this.form.currency;
|
||||
if (!currency || currency === 'RMB') return;
|
||||
if (!this.form.exchangeRateDate) return;
|
||||
try {
|
||||
const { data } = await getBfiExchangeRate(currency, this.form.exchangeRateDate);
|
||||
const rateData = data?.data;
|
||||
if (rateData?.excval != null) {
|
||||
this.form.exchangeRate = Number(rateData.excval);
|
||||
} else {
|
||||
this.$message.warning(`未查询到 ${currency} 的BFI汇率数据`);
|
||||
}
|
||||
} catch (e) {
|
||||
this.$message.warning('查询BFI汇率失败,请手动输入结算汇率');
|
||||
}
|
||||
},
|
||||
openCandidateDialog() {
|
||||
this.candidate.visible = true;
|
||||
|
||||
Reference in New Issue
Block a user