diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue
index 9ebb207..0f00592 100644
--- a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue
+++ b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue
@@ -76,10 +76,15 @@
-
+
+
+
+
+ %
+
@@ -279,6 +284,7 @@ import { duplicateCheck } from '../../../../api/api'
import AssociatedProject from './AssociatedProject'
import SelectMeetingProjectModule from './SelectMeetingProjectModule'
import SelectMemberProjectModule from './SelectMemberProjectModule'
+import { money } from '../../../../utils/validate'
// 普通项目表头
const generalProjectColumns = [
@@ -445,7 +451,7 @@ export default {
validateTrigger: 'blur'
},
contractAmount: {
- rules: [{ required: true, message: '请输入签订合同总金额' }],
+ rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur'
},
rate: {
@@ -453,11 +459,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: {
@@ -638,7 +644,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()
},
/**
@@ -646,7 +652,9 @@ 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'))
})
@@ -745,6 +753,32 @@ export default {
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.$refs.selectProjectModule.filters = {
chargeCompanyId: this.selectedCompany.id,
- pack: this.model.pack,
+ pack: this.model.pack,
// contractId: this.contractId
}
this.$refs.selectProjectModule.url.list = this.url.generalProjectList