[update] 收入、支出合同签订合同总金额、未税金额计算修改

This commit is contained in:
zhaoxiao
2021-09-16 11:19:49 +08:00
parent c3f3693d97
commit 263440d521
2 changed files with 80 additions and 12 deletions
@@ -88,11 +88,10 @@
<a-col :xxl="6" :xl="8" :sm="12">
<a-form-item label="未税金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入未税金额"
v-decorator="['noTaxAmount']"
v-decorator="['noTaxAmount',validatorRules.noTaxAmount]"
:maxLength='50'
@blur="addZero"
:disabled="true"
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
@change="noTaxChange"></a-input>
</a-form-item>
</a-col>
</a-row>
@@ -265,8 +264,9 @@ export default {
model: {},
selectedCompany: null,
selectedContact: null,
rateNum: null,
contractAmountNum: null,
rateNum: null, // 税率
contractAmountNum: null, // 合同总金额
inputNoTaxAmount: null, // 未税金额
amountReceivedNum: null, // 已收金额
accountsReceivableNum: null, // 应收金额
isPackage: false,
@@ -307,6 +307,10 @@ export default {
rules: [{ required: true, message: '请输入税率' }],
validateTrigger: 'blur'
},
noTaxAmount: {
rules: [{ required: false, validator: this.checkMoney }],
validateTrigger: 'blur'
},
accountsReceivableAmount: {
rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur'
@@ -339,6 +343,11 @@ export default {
add() {
this.title = '新建支出合同'
this.$refs.installmentForm.initInstallmentList([])
// 税率默认为6
this.$nextTick(() => {
this.form.setFieldsValue({rate: 6})
})
this.rateNum = 6 / 100
},
edit(id) {
this.title = '编辑支出合同'
@@ -510,7 +519,7 @@ export default {
*/
contractAmountChange(e) {
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
this.contractAmountNum = e.target.value
this.contractAmountNum = Number(e.target.value)
this.calculateNoTaxAmount()
},
/**
@@ -520,7 +529,21 @@ export default {
rateChange(e) {
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
this.rateNum = Number(e.target.value) / 100
this.calculateNoTaxAmount()
// 签订合同总金额为空--计算签订合同总金额,否则计算未税金额
if (!this.contractAmountNum) {
this.calculateContractAmount()
} else {
this.calculateNoTaxAmount()
}
},
/**
* 未税金额修改
* @param e
*/
noTaxChange(e) {
e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()
this.inputNoTaxAmount = Number(e.target.value)
this.calculateContractAmount()
},
/**
* 计算未税金额
@@ -536,6 +559,17 @@ export default {
})
}
},
/**
* 计算合同总金额
*/
calculateContractAmount() {
if (!this.rateNum && !this.inputNoTaxAmount) {
return
}
let contractNum = this.inputNoTaxAmount * (1 + this.rateNum)
contractNum = contractNum.toFixed(2)
this.form.setFieldsValue({contractAmount: contractNum})
},
/**
* 应收金额输入
* @param value
@@ -92,11 +92,10 @@
<a-col :xxl="6" :xl="8" :sm="12">
<a-form-item label="未税金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入未税金额"
v-decorator="['noTaxAmount']"
v-decorator="['noTaxAmount',validatorRules.noTaxAmount]"
:maxLength='50'
@blur="addZero"
:disabled="true"
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
@change="noTaxChange"></a-input>
</a-form-item>
</a-col>
</a-row>
@@ -369,6 +368,10 @@ export default {
rules: [{ required: true, message: '请输入税率' }],
validateTrigger: 'blur'
},
noTaxAmount: {
rules: [{ required: false, validator: this.checkMoney }],
validateTrigger: 'blur'
},
accountsReceivableAmount: {
rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur'
@@ -400,6 +403,7 @@ export default {
amountReceivedNum: null, // 输入的未收金额
contractAmountNum: null, // 输入的签订合同总金额
rateNum: null, // 输入的税率
inputNoTaxAmount: null, // 未税金额
selectedContact: null, // 联系人回显
associatedProjectLoading: false,
contractId: '', // 收入合同id
@@ -424,6 +428,11 @@ export default {
add() {
this.title = '新建收入合同'
this.$refs.installmentForm.initInstallmentList([])
// 税率默认为6
this.$nextTick(() => {
this.form.setFieldsValue({rate: 6})
})
this.rateNum = 6 / 100
},
edit(id) {
this.title = '编辑收入合同'
@@ -568,7 +577,7 @@ export default {
*/
contractAmountChange(e) {
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
this.contractAmountNum = e.target.value
this.contractAmountNum = Number(e.target.value)
this.calculateNoTaxAmount()
},
/**
@@ -578,7 +587,21 @@ export default {
rateChange(e) {
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
this.rateNum = Number(e.target.value) / 100
this.calculateNoTaxAmount()
// 签订合同总金额为空--计算签订合同总金额,否则计算未税金额
if (!this.contractAmountNum) {
this.calculateContractAmount()
} else {
this.calculateNoTaxAmount()
}
},
/**
* 未税金额修改
* @param e
*/
noTaxChange(e) {
e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()
this.inputNoTaxAmount = Number(e.target.value)
this.calculateContractAmount()
},
/**
* 计算未税金额
@@ -593,6 +616,17 @@ export default {
})
}
},
/**
* 计算合同总金额
*/
calculateContractAmount() {
if (!this.rateNum && !this.inputNoTaxAmount) {
return
}
let contractNum = this.inputNoTaxAmount * (1 + this.rateNum)
contractNum = contractNum.toFixed(2)
this.form.setFieldsValue({contractAmount: contractNum})
},
/**
* 应收金额输入
* @param value