[update] -确认收入 的功能,增加分阶段;打包、到账开票功能增加未税金额、税额字段

This commit is contained in:
fengchenchen
2022-08-01 14:18:09 +08:00
parent 67c5434731
commit f483e9d450
6 changed files with 500 additions and 27 deletions
@@ -15,6 +15,20 @@
<a-input placeholder="请输入开票金额"
v-decorator="['invoiceAmount',validatorRules.invoiceAmount]"
:maxLength='50'
@blur="addZeroAmount"
@change="e => e.target.value = (e.target.value.replace(/[^0-9.-]/g, '')).trim()"></a-input>
</a-form-item>
<a-form-item label="税额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入税额"
v-decorator="['tax',validatorRules.tax]"
:maxLength='50'
@blur="addZero"
@change="e => e.target.value = (e.target.value.replace(/[^0-9.-]/g, '')).trim()"></a-input>
</a-form-item>
<a-form-item label="未税金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入未税金额"
v-decorator="['noTaxAmount',validatorRules.noTaxAmount]"
:maxLength='50'
@blur="addZero"
@change="e => e.target.value = (e.target.value.replace(/[^0-9.-]/g, '')).trim()"></a-input>
</a-form-item>
@@ -108,6 +122,14 @@ export default {
rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur'
},
noTaxAmount: {
rules: [{required: true, validator: this.checkNoTaxMoney}],
validateTrigger: 'blur'
},
tax: {
rules: [{required: true, validator: this.checkTaxMoney}],
validateTrigger: 'blur'
},
billNo: {
rules: [{ required: true, message: '请输入开票号' }],
validateTrigger: 'blur'
@@ -132,7 +154,7 @@ export default {
this.getMailContactPostalCode()
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'invoiceAmount', 'billNo', 'billDate', 'remark'))
this.form.setFieldsValue(pick(this.model, 'invoiceAmount', 'tax', 'noTaxAmount', 'billNo', 'billDate', 'remark'))
})
},
getMailContactPostalCode() {
@@ -203,16 +225,45 @@ export default {
* @param rules
* @param value
* @param callback
* @param name --校验字段的名字
*
*/
checkMoney(rules, value, callback) {
checkMoneyTemplate(rules, value, callback, name) {
if (value) {
if (money(value)) {
callback()
}
callback('请输入合法的金额数字,最多2位小数,10位整数')
}
callback('请输入到账金额')
}
callback(`请输入${name}`)
},
// 校验金额格式
checkMoney(rules, value, callback) {
this.checkMoneyTemplate(rules, value, callback, '开票金额')
},
checkNoTaxMoney(rules, value, callback) {
this.checkMoneyTemplate(rules, value, callback, '未税金额')
},
checkTaxMoney(rules, value, callback) {
this.checkMoneyTemplate(rules, value, callback, '税额')
},
// 总金额做相关的处理
addZeroAmount(event) {
this.addZero(event)
let finalValue = event.target.value
// 计算未税金额和税额的值
let obj = this.calcOtherNumber(finalValue)
// console.log(event.target.value )
this.$nextTick(() => {
this.form.setFieldsValue(obj)
})
},
calcOtherNumber(amount) {
let noTaxAmount = (amount / 1.06).toFixed(2) // 未税金额
let tax = (amount - noTaxAmount).toFixed(2) // 税额
return {noTaxAmount, tax}
},
}
}
</script>