【修改】编辑参会人增加应收金额

This commit is contained in:
fengachen
2022-11-10 17:01:16 +08:00
parent 0923766b1a
commit df811c8369
@@ -53,6 +53,52 @@
</a-form-item>
</a-col>
</a-row>
<!-- 只有编辑的时候显示 应收金额 税率 税额 等信息 -->
<template v-if="!!$route.query.id">
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="应收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入应收金额"
v-decorator="['amountReceivable', validatorRules.amountReceivable]"
:maxLength='50'
@change="changeReceivableAmount"
></a-input>
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<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-col>
</a-row>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="税额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入税额"
v-decorator="['tax',validatorRules.tax]"
:maxLength='50'
disabled
@change="e => e.target.value = (e.target.value.replace(/[^0-9-.]/g, '')).trim()"></a-input>
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="未税金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入未税金额"
disabled
v-decorator="['noTaxAmount',validatorRules.noTaxAmount]"
:maxLength='50'
@change="e => e.target.value = (e.target.value.replace(/[^0-9-.]/g, '')).trim()"></a-input>
</a-form-item>
</a-col>
</a-row>
</template>
</template>
<!-- 其他会议选择嘉宾和内部企业缴费方式为打包也不显示-->
<!-- 会议费为0不显示 -->
@@ -105,6 +151,8 @@ import pick from 'lodash.pick'
import JDictSelectTag from '@comp/dict/JDictSelectTag'
import moment from 'moment'
import {getContactsById} from '@api/api'
import {money} from '@/utils/validate'
import {CalcAmountMixin} from '@/mixins/CalcAmountMixin'
export default {
name: 'OtherMeetingForm',
@@ -113,6 +161,7 @@ export default {
SelectContacts,
JDictSelectTag
},
mixins:[CalcAmountMixin],
props: {
selectedCompany: {
type: Object
@@ -143,6 +192,7 @@ export default {
data() {
return {
desription: '其他会议的参会情况的表单',
ysjeKey:'amountReceivable',
form: this.$form.createForm(this),
labelCol: {
xs: {span: 24},
@@ -167,6 +217,22 @@ export default {
// 回显的邮寄联系人
selectPostPerson: null,
validatorRules: {
amountReceivable: {
rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur'
},
taxRate: {
rules: [{ required: true,message: '请选择税率' }],
validateTrigger: 'change',initialValue:'0.06'
},
noTaxAmount: {
rules: [{required: false, validator: this.checkNoTaxMoney}],
validateTrigger: 'blur'
},
tax: {
rules: [{required: false, validator: this.checkTaxMoney}],
validateTrigger: 'blur'
},
postContactId: {
rules: [{required: true, message: '请选择邮寄联系人'}],
validateTrigger: 'change'
@@ -215,6 +281,33 @@ export default {
},
methods: {
moment,
/**
* 校验金额格式
* @param rules
* @param value
* @param callback
* @param name --校验字段的名字
*
*/
checkMoneyTemplate(rules, value, callback, name) {
if (value) {
if (money(value)) {
callback()
}
callback('请输入合法的金额数字,最多2位小数,10位整数')
}
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, '税额')
},
handleOk() {
this.form.validateFields((err, values) => {
if (!err) {
@@ -280,7 +373,7 @@ export default {
* */
changePayMode(e) {
if (e.target.value === 3) {
this.payModeBool = false
this.payModeBool = true
} else {
this.payModeBool = false
}
@@ -317,7 +410,11 @@ export default {
'needInvoice',
'paymentRecord',
'orderCode',
'postCode'
'postCode',
'amountReceivable',
'taxRate',
'tax',
'noTaxAmount'
))
})