[update] 收入合同关联普通、工作组项目组件拆分;支出合同税率修改

This commit is contained in:
zhaoxiao
2021-09-09 15:50:57 +08:00
parent edf6589c30
commit f9e0317c89
4 changed files with 450 additions and 237 deletions
@@ -73,10 +73,15 @@
</a-col>
<a-col :xxl="6" :xl="8" :sm="12">
<a-form-item label="税率" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入税率"
v-decorator="['rate',validatorRules.rate]"
:maxLength='50'
@change="rateChange"></a-input>
<a-row>
<a-col :span="20">
<a-input placeholder="请输入税率"
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-col>
<a-col :xxl="6" :xl="8" :sm="12">
@@ -240,6 +245,7 @@ import { duplicateCheck, getAllUserList } from '../../../../api/api'
import { postAction } from '../../../../api/manage'
import JDate from '../../../../components/tools/JDate'
import JYearDate from '../../../../components/jero/JYearDate'
import { money } from '../../../../utils/validate'
export default {
name: 'ExpenditureContractModule',
@@ -288,7 +294,7 @@ export default {
validateTrigger: 'blur'
},
contractAmount: {
rules: [{ required: true, message: '请输入签订合同总金额' }],
rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur'
},
rate: {
@@ -296,11 +302,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: {
@@ -499,7 +505,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()
},
/**
@@ -507,7 +513,10 @@ 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'))
})
@@ -558,7 +567,33 @@ export default {
} else {
this.isPackage = false
}
}
},
/**
* 校验金额格式
* @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
}
},
}
}
</script>