diff --git a/src/main.js b/src/main.js index 146f0d41..8c8ffae0 100644 --- a/src/main.js +++ b/src/main.js @@ -275,6 +275,13 @@ async function VueInit() { } return companyName; } + Vue.prototype.$reg = () => { + if (localStorage.getItem('CompanyInfo')) { + let { EmailRegexStr } = JSON.parse(localStorage.getItem('CompanyInfo')) + return { EmailRegexStr } + } + return { EmailRegexStr: '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/' }; + } Vue.prototype.$updateDictionary = function () { Vue.prototype.$d = function (code) { var dictInfo = res.Result diff --git a/src/views/admin/user/components/UserInfo.vue b/src/views/admin/user/components/UserInfo.vue index 5b2057d5..262d47af 100644 --- a/src/views/admin/user/components/UserInfo.vue +++ b/src/views/admin/user/components/UserInfo.vue @@ -179,7 +179,8 @@ export default { trigger: 'blur', }, { - type: 'email', + // type: 'email', + pattern: new RegExp(this.$reg().EmailRegexStr), message: 'Please input the correct email address', trigger: ['blur'], }, diff --git a/src/views/email-recompose/index.vue b/src/views/email-recompose/index.vue index b47e1f5f..9963b160 100644 --- a/src/views/email-recompose/index.vue +++ b/src/views/email-recompose/index.vue @@ -164,6 +164,14 @@ export default { }, }, ], + Email: [ + { + // type: 'email', + pattern: new RegExp(this.$reg().EmailRegexStr), + message: this.$t('rules:email'), + trigger: 'blur,change', + }, + ] }, userId: null, loading: false, diff --git a/src/views/forgetpassword/index.vue b/src/views/forgetpassword/index.vue index 7b3fa85b..8d27ca10 100644 --- a/src/views/forgetpassword/index.vue +++ b/src/views/forgetpassword/index.vue @@ -125,6 +125,9 @@ export default { } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if (this.form.EmailOrPhone && reg.test(this.form.EmailOrPhone)) { this.sendDisabled = false callback() diff --git a/src/views/research-mobile/components/BasicInfo.vue b/src/views/research-mobile/components/BasicInfo.vue index 69d6e251..15fabeae 100644 --- a/src/views/research-mobile/components/BasicInfo.vue +++ b/src/views/research-mobile/components/BasicInfo.vue @@ -172,6 +172,13 @@ export default { ], Phone: [ { required: true, validator: checkPhone, trigger: 'blur' } + ], + Email: [ + { + pattern: new RegExp(this.$reg().EmailRegexStr), + message: 'Please input the correct email address', + trigger: 'blur,change', + } ] }, siteOptions: [], diff --git a/src/views/research-mobile/components/HistoricalParticipantForm.vue b/src/views/research-mobile/components/HistoricalParticipantForm.vue index 5b9ef4be..ac08280c 100644 --- a/src/views/research-mobile/components/HistoricalParticipantForm.vue +++ b/src/views/research-mobile/components/HistoricalParticipantForm.vue @@ -117,6 +117,9 @@ export default { } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if (this.form.Email && reg.test(this.form.Email)) { this.sendDisabled = false callback() diff --git a/src/views/research-mobile/components/ParticipantForm.vue b/src/views/research-mobile/components/ParticipantForm.vue index 6ee6ed9b..7a738056 100644 --- a/src/views/research-mobile/components/ParticipantForm.vue +++ b/src/views/research-mobile/components/ParticipantForm.vue @@ -136,6 +136,9 @@ export default { } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if (this.form.Email && reg.test(this.form.Email)) { this.sendDisabled = false callback() diff --git a/src/views/research-mobile/login.vue b/src/views/research-mobile/login.vue index 8198a35f..f47e330d 100644 --- a/src/views/research-mobile/login.vue +++ b/src/views/research-mobile/login.vue @@ -158,6 +158,9 @@ export default { callback(new Error(this.$t('trials:researchForm:formRule:specify'))) } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if (this.form.EmailOrPhone && reg.test(this.form.EmailOrPhone)) { callback() } else { @@ -170,6 +173,9 @@ export default { callback(new Error(this.$t('trials:researchForm:formRule:specify'))) } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if (this.form.ReplaceUserEmailOrPhone && reg.test(this.form.ReplaceUserEmailOrPhone)) { callback() } else { diff --git a/src/views/research/components/BaseInfo.vue b/src/views/research/components/BaseInfo.vue index a9dc08c6..e32538ba 100644 --- a/src/views/research/components/BaseInfo.vue +++ b/src/views/research/components/BaseInfo.vue @@ -49,7 +49,7 @@ - + @@ -183,6 +183,13 @@ export default { ], Phone: [ { required: true, validator: checkPhone, trigger: 'blur' } + ], + Email: [ + { + pattern: new RegExp(this.$reg().EmailRegexStr), + message: 'Please input the correct email address', + trigger: 'blur,change', + } ] }, siteOptions: [], diff --git a/src/views/research/components/HistoricalParticipantForm.vue b/src/views/research/components/HistoricalParticipantForm.vue index bdc9e38f..a9e9e8a6 100644 --- a/src/views/research/components/HistoricalParticipantForm.vue +++ b/src/views/research/components/HistoricalParticipantForm.vue @@ -108,6 +108,9 @@ export default { } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if (this.form.Email && reg.test(this.form.Email)) { this.sendDisabled = false callback() diff --git a/src/views/research/components/ParticipantForm.vue b/src/views/research/components/ParticipantForm.vue index d9a8fed3..70b5ab8c 100644 --- a/src/views/research/components/ParticipantForm.vue +++ b/src/views/research/components/ParticipantForm.vue @@ -139,6 +139,9 @@ export default { } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if (this.form.Email && reg.test(this.form.Email)) { this.sendDisabled = false callback() diff --git a/src/views/research/login.vue b/src/views/research/login.vue index 6e865b23..4f249d01 100644 --- a/src/views/research/login.vue +++ b/src/views/research/login.vue @@ -131,6 +131,9 @@ export default { callback(new Error(this.$t('trials:researchForm:formRule:specify'))) } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if (this.form.EmailOrPhone && reg.test(this.form.EmailOrPhone)) { // this.sendDisabled = false callback() @@ -145,6 +148,9 @@ export default { callback(new Error(this.$t('trials:researchForm:formRule:specify'))) } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if (this.form.ReplaceUserEmailOrPhone && reg.test(this.form.ReplaceUserEmailOrPhone)) { callback() } else { diff --git a/src/views/reviewers/ReviewersResearch.vue b/src/views/reviewers/ReviewersResearch.vue index 744cce61..ab476208 100644 --- a/src/views/reviewers/ReviewersResearch.vue +++ b/src/views/reviewers/ReviewersResearch.vue @@ -110,6 +110,9 @@ export default { } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if (this.form.EmailOrPhone && reg.test(this.form.EmailOrPhone)) { this.sendDisabled = false callback() @@ -125,6 +128,9 @@ export default { } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if ( this.form.ReplaceUserEmailOrPhone && reg.test(this.form.ReplaceUserEmailOrPhone) diff --git a/src/views/reviewers/components/BasicInfo.vue b/src/views/reviewers/components/BasicInfo.vue index 023923cd..63360085 100644 --- a/src/views/reviewers/components/BasicInfo.vue +++ b/src/views/reviewers/components/BasicInfo.vue @@ -285,7 +285,8 @@ export default { trigger: 'blur', }, { - type: 'email', + // type: 'email', + pattern: new RegExp(this.$reg().EmailRegexStr), message: 'Please input the correct email address', trigger: 'blur,change', }, diff --git a/src/views/reviewers/curriculumVitae/components/info/info.vue b/src/views/reviewers/curriculumVitae/components/info/info.vue index b1e22be2..3d32ca6c 100644 --- a/src/views/reviewers/curriculumVitae/components/info/info.vue +++ b/src/views/reviewers/curriculumVitae/components/info/info.vue @@ -548,7 +548,8 @@ export default { trigger: 'blur', }, { - type: 'email', + // type: 'email', + pattern: new RegExp(this.$reg().EmailRegexStr), message: this.$t('rules:email'), trigger: 'blur,change', }, diff --git a/src/views/reviewers/index.vue b/src/views/reviewers/index.vue index 6a331035..42c9e458 100644 --- a/src/views/reviewers/index.vue +++ b/src/views/reviewers/index.vue @@ -530,6 +530,9 @@ export default { emailList.forEach((item) => { var pattern = /^([A-Za-z0-9_\-\.\u4e00-\u9fa5])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,8})$/ + if (this.$reg().EmailRegexStr) { + pattern = new RegExp(this.$reg().EmailRegexStr) + } if (!pattern.test(item)) { isError = true } diff --git a/src/views/system/user/components/UserInfo.vue b/src/views/system/user/components/UserInfo.vue index b72783ce..9296320b 100644 --- a/src/views/system/user/components/UserInfo.vue +++ b/src/views/system/user/components/UserInfo.vue @@ -439,7 +439,8 @@ export default { trigger: 'blur', }, { - type: 'email', + // type: 'email', + pattern: new RegExp(this.$reg().EmailRegexStr), message: 'Please input the correct email address', trigger: ['blur'], }, diff --git a/src/views/trials/trials-myinfo/account.vue b/src/views/trials/trials-myinfo/account.vue index 42e7b71b..2afea5ce 100644 --- a/src/views/trials/trials-myinfo/account.vue +++ b/src/views/trials/trials-myinfo/account.vue @@ -290,11 +290,8 @@ export default { handleEmailChange() { var reg = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/ - if (localStorage.getItem('CompanyInfo')) { - let CompanyInfo = JSON.parse(localStorage.getItem('CompanyInfo')); - if (CompanyInfo.EmailRegexStr) { - reg = new RegExp(CompanyInfo.EmailRegexStr) - } + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) } if (this.userForm.EMail && reg.test(this.userForm.EMail)) { this.sendDisabled = false diff --git a/src/views/trials/trials-panel/attachments/enrollment/components/Selection.vue b/src/views/trials/trials-panel/attachments/enrollment/components/Selection.vue index 45f9b7c1..7b21dec2 100644 --- a/src/views/trials/trials-panel/attachments/enrollment/components/Selection.vue +++ b/src/views/trials/trials-panel/attachments/enrollment/components/Selection.vue @@ -535,7 +535,8 @@ export default { trigger: 'blur', }, { - type: 'email', + // type: 'email', + pattern: new RegExp(this.$reg().EmailRegexStr), message: this.$t('rules:email'), trigger: 'blur,change', }, @@ -610,6 +611,9 @@ export default { emailList.forEach((item) => { var pattern = /^([A-Za-z0-9_\-\.\u4e00-\u9fa5])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,8})$/ + if (this.$reg().EmailRegexStr) { + pattern = new RegExp(this.$reg().EmailRegexStr) + } if (!pattern.test(item)) { isError = true } diff --git a/src/views/trials/trials-panel/setting/personnel-manage/components/staffExternalAdd.vue b/src/views/trials/trials-panel/setting/personnel-manage/components/staffExternalAdd.vue index 6d68152e..3b2ce891 100644 --- a/src/views/trials/trials-panel/setting/personnel-manage/components/staffExternalAdd.vue +++ b/src/views/trials/trials-panel/setting/personnel-manage/components/staffExternalAdd.vue @@ -114,6 +114,9 @@ export default { callback(new Error(this.$t('common:ruleMessage:specify'))) } else { var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/ + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) + } if (this.form.Email && reg.test(this.form.Email)) { this.sendDisabled = false callback() diff --git a/src/views/user/myInfo.vue b/src/views/user/myInfo.vue index 87426c53..7f6f967f 100644 --- a/src/views/user/myInfo.vue +++ b/src/views/user/myInfo.vue @@ -438,11 +438,8 @@ export default { handleEmailChange() { var reg = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/ - if (localStorage.getItem('CompanyInfo')) { - let CompanyInfo = JSON.parse(localStorage.getItem('CompanyInfo')); - if (CompanyInfo.EmailRegexStr) { - reg = new RegExp(CompanyInfo.EmailRegexStr) - } + if (this.$reg().EmailRegexStr) { + reg = new RegExp(this.$reg().EmailRegexStr) } if (this.userForm.EMail && reg.test(this.userForm.EMail)) { this.sendDisabled = false