From 86f231b50fe754e8870340f01a9b4a53466f7315 Mon Sep 17 00:00:00 2001 From: zhaoxiao Date: Wed, 8 Sep 2021 19:39:36 +0800 Subject: [PATCH] =?UTF-8?q?[update]=20=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=A8=8E=E7=8E=87=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/RevenueContractModule.vue | 54 +++++++++++++++---- 1 file changed, 44 insertions(+), 10 deletions(-) diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue index 9ebb207..0f00592 100644 --- a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue +++ b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue @@ -76,10 +76,15 @@ - + + + + + % + @@ -279,6 +284,7 @@ import { duplicateCheck } from '../../../../api/api' import AssociatedProject from './AssociatedProject' import SelectMeetingProjectModule from './SelectMeetingProjectModule' import SelectMemberProjectModule from './SelectMemberProjectModule' +import { money } from '../../../../utils/validate' // 普通项目表头 const generalProjectColumns = [ @@ -445,7 +451,7 @@ export default { validateTrigger: 'blur' }, contractAmount: { - rules: [{ required: true, message: '请输入签订合同总金额' }], + rules: [{ required: true, validator: this.checkMoney }], validateTrigger: 'blur' }, rate: { @@ -453,11 +459,11 @@ export default { validateTrigger: 'blur' }, accountsReceivableAmount: { - rules: [{ required: true, message: '请输入应收金额' }], + rules: [{ required: true, validator: this.checkMoney }], validateTrigger: 'blur' }, amountReceived: { - rules: [{ required: true, message: '请输入已收金额' }], + rules: [{ required: true, validator: this.checkMoney }], validateTrigger: 'blur' }, pack: { @@ -638,7 +644,7 @@ export default { */ rateChange(e) { e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim() - this.rateNum = e.target.value + this.rateNum = Number(e.target.value) / 100 this.calculateNoTaxAmount() }, /** @@ -646,7 +652,9 @@ export default { */ calculateNoTaxAmount() { if (this.rateNum !== null && this.contractAmountNum !== null) { - this.model.noTaxAmount = Number(this.contractAmountNum) / (1 + Number(this.rateNum)) + let noTaxAmount = Number(this.contractAmountNum) / (1 + this.rateNum) + noTaxAmount = noTaxAmount.toFixed(2) + this.model.noTaxAmount = Number(noTaxAmount) this.$nextTick(() => { this.form.setFieldsValue(pick(this.model, 'noTaxAmount')) }) @@ -745,6 +753,32 @@ export default { callback('请输入合同名称') } }, + /** + * 校验金额格式 + * @param rules + * @param value + * @param callback + */ + checkMoney(rules, value, callback) { + if (value) { + if (money(value)) { + callback() + return + } + callback('请输入正确格式的金额') + } + switch (rules.field) { + case 'contractAmount': + callback('请输入签订合同总金额') + break + case 'accountsReceivableAmount': + callback('请输入应收金额') + break + case 'amountReceived': + callback('请输入已收金额') + break + } + }, /** * 选择关联项目 */ @@ -764,7 +798,7 @@ export default { this.getUserDetailByUserId() this.$refs.selectProjectModule.filters = { chargeCompanyId: this.selectedCompany.id, - pack: this.model.pack, + pack: this.model.pack, // contractId: this.contractId } this.$refs.selectProjectModule.url.list = this.url.generalProjectList