|
|
@@ -9,8 +9,78 @@ const modalConfig = {
|
|
|
contactName: [{ required: true, message: '请输入联络人名称', trigger: 'change' }],
|
|
|
belongsDept: [{ required: true, message: '请选择所属部门', trigger: 'change' }],
|
|
|
position: [{ required: true, message: '请选择所属职位', trigger: 'change' }],
|
|
|
- contactNumber: [{ required: true, message: '请输入联络电话', trigger: 'change' }],
|
|
|
+ contactNumber: [
|
|
|
+ { required: true, message: '输入正确的联系电话', trigger: 'change' },
|
|
|
+ {
|
|
|
+ validator: (_, val, cb) => {
|
|
|
+ const digits = (val || '').replace(/\D/g, '');
|
|
|
+ if (!/^1[3-9]\d{9}$/.test(digits)) {
|
|
|
+ cb(new Error('请输入正确的 11 位联系电话'));
|
|
|
+ } else {
|
|
|
+ cb();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
+ ],
|
|
|
msgRecipient: [{ required: true, message: '请选择短信接收人', trigger: 'change' }],
|
|
|
+ wxNumber: [
|
|
|
+ { required: false, message: '请输入正确的微信号', trigger: 'change' },
|
|
|
+ {
|
|
|
+ validator: (_, val, cb) => {
|
|
|
+ if (!val) return cb(); // 允许空
|
|
|
+ if (!/^[a-zA-Z0-9_-]{6,20}$/.test(val.trim())) {
|
|
|
+ cb(new Error('微信号只能为字母、数字、下划线或减号,且6-20位'));
|
|
|
+ } else {
|
|
|
+ cb();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ fixedTelephone: [
|
|
|
+ { required: false, message: '请输入正确的固定电话', trigger: 'change' },
|
|
|
+ {
|
|
|
+ validator: (_, val, cb) => {
|
|
|
+ if (!val) return cb(); // 允许空
|
|
|
+ const digits = val.replace(/\D/g, '');
|
|
|
+ if (!/^\d{10,12}$/.test(digits)) {
|
|
|
+ // 区号+号码 10~12 位
|
|
|
+ return cb(new Error('固定电话格式错误'));
|
|
|
+ }
|
|
|
+ cb();
|
|
|
+ },
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ email: [
|
|
|
+ { required: false, message: '请输入正确的电子邮箱', trigger: 'change' },
|
|
|
+ {
|
|
|
+ validator: (_, val, cb) => {
|
|
|
+ if (!val) return cb(); // 允许空
|
|
|
+ if (!/^[\w.-]+@[\w.-]+\.\w+$/.test(val.trim())) {
|
|
|
+ return cb(new Error('电子邮箱格式错误'));
|
|
|
+ }
|
|
|
+ cb();
|
|
|
+ },
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ faxNumber: [
|
|
|
+ { required: false, message: '请输入正确的传真号', trigger: 'change' },
|
|
|
+ {
|
|
|
+ validator: (_, val, cb) => {
|
|
|
+ if (!val) return cb(); // 允许空
|
|
|
+ const digits = val.replace(/\D/g, '');
|
|
|
+ if (!/^\d{10,12}$/.test(digits)) {
|
|
|
+ // 区号+号码 10~12 位
|
|
|
+ return cb(new Error('传真号格式错误'));
|
|
|
+ }
|
|
|
+ cb();
|
|
|
+ },
|
|
|
+ trigger: 'blur', // 失焦再校验,不打断输入
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
pageListParams: {
|
|
|
industryType: '1',
|
|
|
@@ -71,7 +141,7 @@ const modalConfig = {
|
|
|
{
|
|
|
label: '联系电话',
|
|
|
prop: 'contactNumber',
|
|
|
- type: 'number',
|
|
|
+ type: 'input',
|
|
|
placeholder: '请输入联系电话',
|
|
|
},
|
|
|
{
|