[update] 收入合同税率计算

This commit is contained in:
zhaoxiao
2021-09-08 19:39:36 +08:00
parent d59b1c1c02
commit 86f231b50f
@@ -76,10 +76,15 @@
</a-col> </a-col>
<a-col :xxl="6" :xl="8" :sm="12"> <a-col :xxl="6" :xl="8" :sm="12">
<a-form-item label="税率" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="税率" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入税率" <a-row>
v-decorator="['rate',validatorRules.rate]" <a-col :span="20">
:maxLength='50' <a-input placeholder="请输入税率"
@change="rateChange"></a-input> v-decorator="['rate',validatorRules.rate]"
:maxLength='50'
@change="rateChange"></a-input>
</a-col>
<a-col :span="1">%</a-col>
</a-row>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xxl="6" :xl="8" :sm="12"> <a-col :xxl="6" :xl="8" :sm="12">
@@ -279,6 +284,7 @@ import { duplicateCheck } from '../../../../api/api'
import AssociatedProject from './AssociatedProject' import AssociatedProject from './AssociatedProject'
import SelectMeetingProjectModule from './SelectMeetingProjectModule' import SelectMeetingProjectModule from './SelectMeetingProjectModule'
import SelectMemberProjectModule from './SelectMemberProjectModule' import SelectMemberProjectModule from './SelectMemberProjectModule'
import { money } from '../../../../utils/validate'
// 普通项目表头 // 普通项目表头
const generalProjectColumns = [ const generalProjectColumns = [
@@ -445,7 +451,7 @@ export default {
validateTrigger: 'blur' validateTrigger: 'blur'
}, },
contractAmount: { contractAmount: {
rules: [{ required: true, message: '请输入签订合同总金额' }], rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur' validateTrigger: 'blur'
}, },
rate: { rate: {
@@ -453,11 +459,11 @@ export default {
validateTrigger: 'blur' validateTrigger: 'blur'
}, },
accountsReceivableAmount: { accountsReceivableAmount: {
rules: [{ required: true, message: '请输入应收金额' }], rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur' validateTrigger: 'blur'
}, },
amountReceived: { amountReceived: {
rules: [{ required: true, message: '请输入已收金额' }], rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur' validateTrigger: 'blur'
}, },
pack: { pack: {
@@ -638,7 +644,7 @@ export default {
*/ */
rateChange(e) { rateChange(e) {
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim() 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() this.calculateNoTaxAmount()
}, },
/** /**
@@ -646,7 +652,9 @@ export default {
*/ */
calculateNoTaxAmount() { calculateNoTaxAmount() {
if (this.rateNum !== null && this.contractAmountNum !== null) { 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.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'noTaxAmount')) this.form.setFieldsValue(pick(this.model, 'noTaxAmount'))
}) })
@@ -745,6 +753,32 @@ export default {
callback('请输入合同名称') 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.getUserDetailByUserId()
this.$refs.selectProjectModule.filters = { this.$refs.selectProjectModule.filters = {
chargeCompanyId: this.selectedCompany.id, chargeCompanyId: this.selectedCompany.id,
pack: this.model.pack, pack: this.model.pack,
// contractId: this.contractId // contractId: this.contractId
} }
this.$refs.selectProjectModule.url.list = this.url.generalProjectList this.$refs.selectProjectModule.url.list = this.url.generalProjectList