From 0ecb56139abe6269e10d564724a39c7cc01679c2 Mon Sep 17 00:00:00 2001 From: DwCay Date: Fri, 14 Apr 2023 20:06:34 +0300 Subject: [PATCH] =?UTF-8?q?WIP=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5,=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=BF=D0=B5=D1=80=D1=81=D0=BE=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BasicDataForms/BasicDataForm.vue | 9 +- .../BasicDataForms/ContactsForm.vue | 90 +++++++++++++------ .../newMedicalCard/utils/medicalConfig.js | 45 ++++++++++ src/store/modules/medicalCard.js | 60 ++++++++++--- 4 files changed, 157 insertions(+), 47 deletions(-) diff --git a/src/pages/newMedicalCard/components/BasicDataForms/BasicDataForm.vue b/src/pages/newMedicalCard/components/BasicDataForms/BasicDataForm.vue index 81a9697..5a2630f 100644 --- a/src/pages/newMedicalCard/components/BasicDataForms/BasicDataForm.vue +++ b/src/pages/newMedicalCard/components/BasicDataForms/BasicDataForm.vue @@ -60,6 +60,7 @@ import BaseModal from "@/components/base/BaseModal.vue"; import BaseUploadPhoto from "@/components/base/BaseUploadPhoto.vue"; import MedicalFormWrapper from "@/pages/newMedicalCard/components/MedicalFormWrapper.vue"; import { getRequestChangeData } from "@/shared/utils/wrapperRequestChangeData"; +import { checkChangeData } from "@/shared/utils/changesObjects"; import { fetchWrapper } from "@/shared/fetchWrapper"; import moment from "moment"; import { @@ -100,13 +101,7 @@ export default { }, methods: { checkChangeInput() { - let initData = JSON.stringify(this.initDataBasic); - let changeData = JSON.stringify(this.basic); - if (initData !== changeData) { - this.isCheckChange = true; - } else { - this.isCheckChange = false; - } + this.isCheckChange = checkChangeData(this.initDataBasic, this.basic); }, confirmCahngeAvatar() { this.showModal = false; diff --git a/src/pages/newMedicalCard/components/BasicDataForms/ContactsForm.vue b/src/pages/newMedicalCard/components/BasicDataForms/ContactsForm.vue index 393c3b9..9da1e53 100644 --- a/src/pages/newMedicalCard/components/BasicDataForms/ContactsForm.vue +++ b/src/pages/newMedicalCard/components/BasicDataForms/ContactsForm.vue @@ -13,8 +13,29 @@ .font-semibold.text-sm.whitespace-nowrap {{configData[key].title}} .flex.w-full.justify-between.items-center.gap-4(v-for="(value, index) in data") .label-field.font-sm.text-sm.whitespace-nowrap {{`${configData[key].fieldName} ${index+1} :`}} - .input-wrapper.items-center.flex.gap-10px + .input-wrapper.items-center.flex.h-10.gap-10px + .flex(v-if="key === 'networks'") + .flex.rounded-full.cursor-pointer.items-center.gap-10px.py-1.pl-1.pr-2( + v-if="value.kind" + @click="() => copyLinkNetwork(value.username)" + style="background-color: var(--bg-light-grey)" + ) + q-icon(:name="mapNetworks[value.kind].icon" style="color: var(--btn-blue-color)") + span.text-sm.font-medium {{ mapNetworks[value.kind].title || value.username }} + base-input.w-full( + v-else + :disabled="!isEdit" + v-model="value.username" + :mask="configData[key].inputMask" + @keyup.enter="(e) => defineNetworkByValue(e, index)", + @update:model-value="checkChangeInput" + type="text" + :standout="!isEdit" + :outlined="isEdit" + text-color="black" + ) base-input.w-full( + v-else :disabled="!isEdit" v-model="value.username" :mask="configData[key].inputMask" @@ -26,19 +47,21 @@ ) .delete-contact.icon-cancel.text-xxs.cursor-pointer( v-if="isEdit" - @click="() => deleteContact(key, value?.id)" + @click="() => deleteContact(key, index)" ) - .add-contact.flex.gap-10px.items-center.cursor-pointer( - v-if="isEdit" - @click="() => addNewContact(key)" - ) - .icon-plus - span.font-medium.text-base Добавить + .w-full(v-if="isEdit") + .add-contact.w-fit.flex.gap-10px.items-center.cursor-pointer( + @click="() => addNewContact(key)" + ) + .icon-plus + span.font-medium.text-base Добавить