6 changed files with 396 additions and 123 deletions
-
8src/components/MoneyManage/CurrencySelect.vue
-
135src/components/MoneyManage/ProductSelect.vue
-
125src/components/locales/lang/en.js
-
72src/components/locales/lang/zh-CN.js
-
14src/views/moneyManage/receiveDetail/receiveHead.vue
-
165src/views/moneyManage/receiveDetail/utils/recriveFormRules.js
@ -1,84 +1,89 @@ |
|||||
export const addFormRule = { |
|
||||
// 精网号:6-10位纯数字
|
|
||||
jwcode: [ |
|
||||
{ required: true, message: '请输入精网号', trigger: 'blur' }, |
|
||||
{ pattern: /^\d{6,10}$/, message: '请检查精网号格式', trigger: 'blur' } |
|
||||
], |
|
||||
// 客户姓名:必填
|
|
||||
name: [ |
|
||||
{ required: true, message: '请输入客户姓名', trigger: 'blur' } |
|
||||
], |
|
||||
// 所属地区:必填
|
|
||||
market: [ |
|
||||
{ required: true, message: '请选择所属地区', trigger: 'blur' } |
|
||||
], |
|
||||
// 活动名称:必填 + 长度小于30
|
|
||||
activity: [ |
|
||||
{ required: true, message: '请输入活动名称', trigger: 'blur' }, |
|
||||
], |
|
||||
// 产品名称:必填
|
|
||||
goodsName: [ |
|
||||
{ required: true, message: '请选择产品名称', trigger: 'change' } |
|
||||
], |
|
||||
// 产品数量:0-100纯数字
|
|
||||
goodNum: [ |
|
||||
{ required: true, message: '请输入产品数量', trigger: 'blur' }, |
|
||||
], |
|
||||
// 付款币种:必填
|
|
||||
paymentCurrency: [ |
|
||||
{ required: true, message: '请选择付款币种', trigger: 'change' } |
|
||||
], |
|
||||
// 付款金额:小于8位纯数字 + 不为0
|
|
||||
paymentAmount: [ |
|
||||
{ required: true, message: '请输入付款金额', trigger: 'blur' }, |
|
||||
{ |
|
||||
validator: (rule, value, callback) => { |
|
||||
// 匹配非负数字(支持整数或最多2位小数)
|
|
||||
const reg = /^\d+(\.\d{1,2})?$/; |
|
||||
if (!reg.test(value)) { |
|
||||
callback(new Error('请输入有效的金额(最多2位小数)')); |
|
||||
} else { |
|
||||
const num = Number(value); |
|
||||
if (num === 0) { |
|
||||
callback(new Error('付款金额不能为0')); |
|
||||
} else if (num > 9999999) { // 限制最大值为9999999(7位整数)
|
|
||||
callback(new Error('付款金额不能超过9999999')); |
|
||||
|
export const addFormRule = (t) => { |
||||
|
return { |
||||
|
// 精网号:6-10位纯数字
|
||||
|
jwcode: [ |
||||
|
{ required: true, message: t('common_add.jwcodePlaceholder'), trigger: 'blur' }, |
||||
|
{ pattern: /^\d{6,10}$/, message: t('elmessage.checkJwcodeFormat'), trigger: 'blur' } |
||||
|
], |
||||
|
// 客户姓名:必填
|
||||
|
name: [ |
||||
|
{ required: true, message: t('common_add.customerNamePlaceholder'), trigger: 'blur' } |
||||
|
], |
||||
|
// 所属地区:必填
|
||||
|
market: [ |
||||
|
{ required: true, message: t('common_add.marketPlaceholder'), trigger: 'blur' } |
||||
|
], |
||||
|
// 活动名称:必填
|
||||
|
activity: [ |
||||
|
{ required: true, message: t('common_add.activityPlaceholder'), trigger: 'blur' }, |
||||
|
], |
||||
|
// 产品名称:必填
|
||||
|
goodsName: [ |
||||
|
{ required: true, message: t('common_add.productNamePlaceholder'), trigger: 'change' } |
||||
|
], |
||||
|
// 产品数量:必填
|
||||
|
goodNum: [ |
||||
|
{ required: true, message: t('common_add.productNumPlaceholder'), trigger: 'blur' }, |
||||
|
], |
||||
|
// 付款币种:必填
|
||||
|
paymentCurrency: [ |
||||
|
{ required: true, message: t('common_add.payCurrencyPlaceholder'), trigger: 'change' } |
||||
|
], |
||||
|
// 付款金额:必填 + 验证
|
||||
|
paymentAmount: [ |
||||
|
{ required: true, message: t('common_add.payAmountPlaceholder'), trigger: 'blur' }, |
||||
|
{ |
||||
|
validator: (rule, value, callback) => { |
||||
|
// 匹配非负数字(支持整数或最多2位小数)
|
||||
|
const reg = /^\d+(\.\d{1,2})?$/; |
||||
|
if (!reg.test(value)) { |
||||
|
callback(new Error(t('elmessage.limitPositiveNumber2'))); |
||||
} else { |
} else { |
||||
callback(); |
|
||||
|
const num = Number(value); |
||||
|
if (num === 0) { |
||||
|
callback(new Error(t('elmessage.limitPayAmountZero'))); |
||||
|
} else if (num > 9999999) { // 限制最大值为9999999(7位整数)
|
||||
|
callback(new Error(t('elmessage.limitPayAmountMax'))); |
||||
|
} else { |
||||
|
callback(); |
||||
|
} |
||||
} |
} |
||||
} |
|
||||
}, |
|
||||
trigger: 'blur' |
|
||||
} |
|
||||
], |
|
||||
// 支付方式:必填
|
|
||||
payType: [ |
|
||||
{ required: true, message: '请选择支付方式', trigger: 'change' } |
|
||||
], |
|
||||
// 到账地区:必填
|
|
||||
receivedMarket: [ |
|
||||
{ required: true, message: '请选择到账地区', trigger: 'change' } |
|
||||
], |
|
||||
// 付款时间:必填
|
|
||||
payTime: [ |
|
||||
{ required: true, message: '请选择付款时间', trigger: 'change' } |
|
||||
] |
|
||||
|
}, |
||||
|
trigger: 'blur' |
||||
|
} |
||||
|
], |
||||
|
// 支付方式:必填
|
||||
|
payType: [ |
||||
|
{ required: true, message: t('common_add.payMethodPlaceholder'), trigger: 'change' } |
||||
|
], |
||||
|
// 到账地区:必填
|
||||
|
receivedMarket: [ |
||||
|
{ required: true, message: t('common_add.receiveAreaPlaceholder'), trigger: 'change' } |
||||
|
], |
||||
|
// 付款时间:必填
|
||||
|
payTime: [ |
||||
|
{ required: true, message: t('common_add.payTimePlaceholder'), trigger: 'change' } |
||||
|
] |
||||
|
}; |
||||
}; |
}; |
||||
export const editFormRule = { |
|
||||
// 到账金额:正数,整数部分最多6位,小数部分最多2位(支持纯小数如 0.1、0.99)
|
|
||||
receivedAmount: [ |
|
||||
{ |
|
||||
pattern: /^(0\.\d{1,2}|[1-9]\d{0,5}(\.\d{1,2})?)$/, // 修正:添加 / 包裹正则
|
|
||||
message: '请检查到账金额格式', |
|
||||
trigger: 'blur' |
|
||||
} |
|
||||
], |
|
||||
// 手续费:正数,整数部分最多6位,小数部分最多2位(不支持纯0开头的小数如 0.1,需从1开始)
|
|
||||
handlingCharge: [ |
|
||||
{ |
|
||||
pattern: /^\d{1,6}(\.\d{1,2})?$/, // 注意:此正则允许 0 开头(如 0123 不符合整数规范)
|
|
||||
message: '整数部分最多6位,小数部分最多2位', |
|
||||
trigger: 'blur' |
|
||||
} |
|
||||
], |
|
||||
|
|
||||
|
export const editFormRule = (t) => { |
||||
|
return { |
||||
|
// 到账金额:正数,整数部分最多6位,小数部分最多2位(支持纯小数如 0.1、0.99)
|
||||
|
receivedAmount: [ |
||||
|
{ |
||||
|
pattern: /^(0\.\d{1,2}|[1-9]\d{0,5}(\.\d{1,2})?)$/, // 修正:添加 / 包裹正则
|
||||
|
message: t('elmessage.checkPayAmountFormat'), |
||||
|
trigger: 'blur' |
||||
|
} |
||||
|
], |
||||
|
// 手续费:正数,整数部分最多6位,小数部分最多2位(不支持纯0开头的小数如 0.1,需从1开始)
|
||||
|
handlingCharge: [ |
||||
|
{ |
||||
|
pattern: /^\d{1,6}(\.\d{1,2})?$/, // 注意:此正则允许 0 开头(如 0123 不符合整数规范)
|
||||
|
message: t('elmessage.limitPayAmountFormat'), |
||||
|
trigger: 'blur' |
||||
|
} |
||||
|
], |
||||
|
}; |
||||
}; |
}; |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue