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')); } else { callback(); } } }, trigger: 'blur' } ], // 支付方式:必填 payType: [ { required: true, message: '请选择支付方式', trigger: 'change' } ], // 到账地区:必填 receivedMarket: [ { required: true, message: '请选择到账地区', trigger: 'change' } ], // 付款时间:必填 payTime: [ { required: true, message: '请选择付款时间', 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' } ], };