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 { |
|||
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