【修改】到账开票 来款 开票 确认收入增加税率选择

This commit is contained in:
fengachen
2022-11-08 18:02:21 +08:00
parent c56a1c4b6f
commit 2db7276a87
3 changed files with 73 additions and 7 deletions
@@ -18,18 +18,22 @@
@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">
<j-dict-select-tag @change="changeRate" placeholder="请选择税率" dict-code="rate" :trigger-change="true"
v-decorator="['taxRate',validatorRules.taxRate]"></j-dict-select-tag>
</a-form-item>
<a-form-item label="税额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入税额"
v-decorator="['tax',validatorRules.tax]"
:maxLength='50'
@blur="(e) => addZeroTaxOrNo(e, 'noTaxAmount', 'amountReceived')"
disabled
@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="请输入未税金额"
disabled
v-decorator="['noTaxAmount',validatorRules.noTaxAmount]"
:maxLength='50'
@blur="(e) => addZeroTaxOrNo(e, 'tax', 'amountReceived')"
@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">
@@ -58,10 +62,11 @@ import JDate from '../../../../components/tools/JDate'
import { addPaymentPhase, editAmountPhase } from '../../../../api/incomePaymentsApi'
import { addZero } from '../../../../utils/util'
import { TaxOperateMixin } from './TaxOperateMixin'
import JDictSelectTag from '@comp/dict/JDictSelectTag'
export default {
name: 'ArriveModule',
components: { JDate },
components: { JDate,JDictSelectTag },
mixins: [TaxOperateMixin],
props: {
// 项目id
@@ -110,6 +115,10 @@ export default {
rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur'
},
taxRate: {
rules: [{ required: true,message: '请选择税率' }],
validateTrigger: 'change',initialValue:'0.06'
},
noTaxAmount: {
rules: [{required: true, validator: this.checkNoTaxMoney}],
validateTrigger: 'blur'
@@ -130,12 +139,24 @@ export default {
add() {
this.edit({})
},
/**
* 改变税率计算 到账金额 与税额
* */
changeRate(val){
this.taxRate = val
let amount = this.form.getFieldValue('amountReceived')
if(!amount) return
let obj = this.calcOtherNumber(amount)
this.$nextTick(() => {
this.form.setFieldsValue( {tax:obj.noTaxAmount,noTaxAmount: obj.tax})
})
},
edit(record) {
this.form.resetFields()
this.model = Object.assign({}, record)
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'amountReceived', 'tax', 'noTaxAmount', 'paymentDate', 'remark'))
this.form.setFieldsValue(pick(this.model, 'amountReceived', 'tax', 'taxRate','noTaxAmount', 'paymentDate', 'remark'))
})
},
handleOk() {
@@ -19,10 +19,15 @@
@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">
<j-dict-select-tag @change="changeRate" placeholder="请选择税率" dict-code="rate" :trigger-change="true"
v-decorator="['taxRate',validatorRules.taxRate]"></j-dict-select-tag>
</a-form-item>
<a-form-item label="税额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入税额"
v-decorator="['tax',validatorRules.tax]"
:maxLength='50'
disabled
@blur="(e) => addZeroTaxOrNo(e, 'noTaxAmount', 'amountReceived')"
@change="e => e.target.value = (e.target.value.replace(/[^0-9-.]/g, '')).trim()"></a-input>
</a-form-item>
@@ -30,6 +35,7 @@
<a-input placeholder="请输入未税金额"
v-decorator="['noTaxAmount',validatorRules.noTaxAmount]"
:maxLength='50'
disabled
@blur="(e) => addZeroTaxOrNo(e, 'tax', 'amountReceived')"
@change="e => e.target.value = (e.target.value.replace(/[^0-9-.]/g, '')).trim()"></a-input>
</a-form-item>
@@ -101,6 +107,10 @@ export default {
rules: [{required: true, validator: this.checkMoney}],
validateTrigger: 'blur'
},
taxRate: {
rules: [{ required: true,message: '请选择税率' }],
validateTrigger: 'change',initialValue:'0.06'
},
noTaxAmount: {
rules: [{required: true, validator: this.checkNoTaxMoney}],
validateTrigger: 'blur'
@@ -118,6 +128,18 @@ export default {
},
methods: {
addZero,
/**
* 改变税率计算 到账金额 与税额
* */
changeRate(val){
this.taxRate = val
let amount = this.form.getFieldValue('amountReceived')
if(!amount) return
let obj = this.calcOtherNumber(amount)
this.$nextTick(() => {
this.form.setFieldsValue( {tax:obj.noTaxAmount,noTaxAmount: obj.tax})
})
},
add(projectInfo, isFirst) {
let currentDate = new Date()
@@ -156,7 +178,7 @@ export default {
this.taxRate = this.projectInfo.needInvoice ? 0.06 : 0
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'amountReceived', 'tax', 'noTaxAmount','paymentDate', 'remark'))
this.form.setFieldsValue(pick(this.model, 'amountReceived', 'tax','taxRate', 'noTaxAmount','paymentDate', 'remark'))
})
},
getInfoById(id) {
@@ -18,10 +18,15 @@
@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">
<j-dict-select-tag @change="changeRate" placeholder="请选择税率" dict-code="rate" :trigger-change="true"
v-decorator="['taxRate',validatorRules.taxRate]"></j-dict-select-tag>
</a-form-item>
<a-form-item label="税额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入税额"
v-decorator="['tax',validatorRules.tax]"
:maxLength='50'
disabled
@blur="(e) => addZeroTaxOrNo(e, 'noTaxAmount', 'invoiceAmount')"
@change="e => e.target.value = (e.target.value.replace(/[^0-9.-]/g, '')).trim()"></a-input>
</a-form-item>
@@ -29,6 +34,7 @@
<a-input placeholder="请输入未税金额"
v-decorator="['noTaxAmount',validatorRules.noTaxAmount]"
:maxLength='50'
disabled
@blur="(e) => addZeroTaxOrNo(e, 'tax', 'invoiceAmount')"
@change="e => e.target.value = (e.target.value.replace(/[^0-9.-]/g, '')).trim()"></a-input>
</a-form-item>
@@ -65,10 +71,11 @@ import { addPayBill, editPayBill } from '../../../../api/incomePaymentsApi'
import { addZero } from '../../../../utils/util'
import { getContactsById } from '../../../../api/api'
import {TaxOperateMixin} from './TaxOperateMixin'
import JDictSelectTag from '@comp/dict/JDictSelectTag'
export default {
name: 'InvoicingModule',
components: { JDate },
components: { JDate,JDictSelectTag },
mixins: [TaxOperateMixin],
props: {
// 项目id
@@ -123,6 +130,10 @@ export default {
rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur'
},
taxRate: {
rules: [{ required: true,message: '请选择税率' }],
validateTrigger: 'change',initialValue:'0.06'
},
noTaxAmount: {
rules: [{required: true, validator: this.checkNoTaxMoney}],
validateTrigger: 'blur'
@@ -146,6 +157,18 @@ export default {
},
methods: {
addZero,
/**
* 改变税率计算 到账金额 与税额
* */
changeRate(val){
this.taxRate = val
let amount = this.form.getFieldValue('invoiceAmount')
if(!amount) return
let obj = this.calcOtherNumber(amount)
this.$nextTick(() => {
this.form.setFieldsValue( {tax:obj.noTaxAmount,noTaxAmount: obj.tax})
})
},
add() {
this.edit({})
},
@@ -155,7 +178,7 @@ export default {
this.getMailContactPostalCode()
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'invoiceAmount', 'tax', 'noTaxAmount', 'billNo', 'billDate', 'remark'))
this.form.setFieldsValue(pick(this.model, 'invoiceAmount', 'tax','taxRate', 'noTaxAmount', 'billNo', 'billDate', 'remark'))
})
},
getMailContactPostalCode() {