[update] 收入合同税率计算
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user