From 75402fb209dc10b9e8f6e54f22a9683d3f2e5f1c Mon Sep 17 00:00:00 2001 From: DwCay Date: Fri, 21 Apr 2023 18:05:01 +0300 Subject: [PATCH] =?UTF-8?q?WIP=20=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=BD=D0=B0=20=D0=B8=D0=BD=D0=BF=D1=83=D1=82=D0=B0?= =?UTF-8?q?=D1=85=20=D0=B8=20=D0=B1=D0=B0=D0=B3=20=D1=81=20=D0=BE=D0=B1?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/base/BaseButton.vue | 3 ++ src/components/base/BaseUploadPhoto.vue | 6 ++- .../AllergiesForms/AllergiesForm.vue | 14 ++++--- .../BasicDataForms/ContactsForm.vue | 34 ++++++++-------- src/shared/utils/rulesInputs.js | 11 +----- src/store/modules/medicalCard.js | 39 +++++++++---------- 6 files changed, 54 insertions(+), 53 deletions(-) diff --git a/src/components/base/BaseButton.vue b/src/components/base/BaseButton.vue index 25105e6..26b6062 100644 --- a/src/components/base/BaseButton.vue +++ b/src/components/base/BaseButton.vue @@ -1,5 +1,6 @@ @@ -181,18 +181,20 @@ export default { chooseNetwork(e, index) { this.contacts.networks[index].kind = e.currentTarget.id; }, - addNewContact(key) { - if (key === "networks") { - this.contacts[key].push({ - filled: false, - kind: this.configData[key]?.kind, - username: null, - }); - } else { - this.contacts[key].push({ - kind: this.configData[key]?.kind, - username: null, - }); + addNewContact(e, key) { + if (e.pointerType) { + if (key === "networks") { + this.contacts[key].push({ + filled: false, + kind: this.configData[key]?.kind, + username: null, + }); + } else { + this.contacts[key].push({ + kind: this.configData[key]?.kind, + username: null, + }); + } } this.checkChangeInput(); }, diff --git a/src/shared/utils/rulesInputs.js b/src/shared/utils/rulesInputs.js index 3e61452..ffd4dfd 100644 --- a/src/shared/utils/rulesInputs.js +++ b/src/shared/utils/rulesInputs.js @@ -12,15 +12,8 @@ export function ruleOptionalFields(val, minLength, text) { } export function ruleEmailValue(val, text) { - return ( - (val && - val.length < 100 && - val.includes("@") && - val.match(/@(?=\S+)/) && - val.match(/(?<=\S+)@/)) || - text || - false - ); + const regExp = new RegExp(/^[^\s()<>@,;:/]+@\w[\w.-]+\.[a-z]{2,}$/i); + return (val && val.length < 100 && regExp.test(val)) || text || false; } export function ruleMaxLength(val, maxLength, text) { diff --git a/src/store/modules/medicalCard.js b/src/store/modules/medicalCard.js index ff8ab84..a342588 100644 --- a/src/store/modules/medicalCard.js +++ b/src/store/modules/medicalCard.js @@ -70,15 +70,14 @@ const getters = { let DMS = person?.insurance_policy?.find((e) => e.title === "DMS"); return { personalData: { - last_name: person?.last_name, - first_name: person?.first_name, - patronymic: person?.patronymic, + last_name: person?.last_name || "", + first_name: person?.first_name || "", + patronymic: person?.patronymic || "", gender: - person?.gender && - genderOptions.find((el) => el.id === person?.gender), - birth_date: person?.birth_date - ? new Date(person?.birth_date) - : new Date(), + (person?.gender && + genderOptions.find((el) => el.id === person?.gender)) || + "", + birth_date: person?.birth_date ? new Date(person?.birth_date) : "", photo: person?.photo ? { photo: rootState.getUrl + person.photo, @@ -88,20 +87,20 @@ const getters = { id: person?.id, }, registrationAddress: { - region: registrationAddress?.region, - city: registrationAddress?.city, - street: registrationAddress?.street, - house_number: registrationAddress?.house_number, - apartment_number: registrationAddress?.apartment_number, - id: registrationAddress?.id, + region: registrationAddress?.region || "", + city: registrationAddress?.city || "", + street: registrationAddress?.street || "", + house_number: registrationAddress?.house_number || "", + apartment_number: registrationAddress?.apartment_number || "", + id: registrationAddress?.id || "", }, residenceAddress: { - region: residenceAddress?.region, - city: residenceAddress?.city, - street: residenceAddress?.street, - house_number: residenceAddress?.house_number, - apartment_number: residenceAddress?.apartment_number, - id: residenceAddress?.id, + region: residenceAddress?.region || "", + city: residenceAddress?.city || "", + street: residenceAddress?.street || "", + house_number: residenceAddress?.house_number || "", + apartment_number: residenceAddress?.apartment_number || "", + id: residenceAddress?.id || "", }, insuranceDMS: { series: DMS?.series,