diff --git a/src/assets/icons/close_circle_remove_delete_icon_149506 1 (1).svg b/src/assets/icons/close_circle_remove_delete_icon_149506 1 (1).svg deleted file mode 100644 index 35f9ae6..0000000 --- a/src/assets/icons/close_circle_remove_delete_icon_149506 1 (1).svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/assets/sass/variables.sass b/src/assets/sass/variables.sass index a6ce03f..e456214 100644 --- a/src/assets/sass/variables.sass +++ b/src/assets/sass/variables.sass @@ -50,6 +50,7 @@ --btn-light-green-color: rgba(60, 217, 75, 0.2) --border-light-grey-color-1: rgba(211, 212, 220, 0.5) --bg-white-color-0: rgba(255, 255, 255, 0.3) + --bg-white-color-1: rgba(255, 255, 255, 0.5) --border-red-color: #ff6565 --btn-grey-color: #e8e8f3 --pagination-item-shadow: 0 3px 1px -2px rgb(0 0 0 / 20%), 0 2px 2px 0 rgb(0 0 0 / 14%), 0 1px 5px 0 rgb(0 0 0 / 12%) diff --git a/src/components/TheHeader.vue b/src/components/TheHeader.vue index ef48f19..00cba5f 100644 --- a/src/components/TheHeader.vue +++ b/src/components/TheHeader.vue @@ -84,7 +84,7 @@ export default { methods: { logout() { localStorage.removeItem("tokenAccess"); - this.$router.push("/login"); + this.$router.go("/login"); }, openPopup() { this.showPopup = !this.showPopup; diff --git a/src/pages/clients/components/ClientDetailInfoSection.vue b/src/pages/clients/components/ClientDetailInfoSection.vue index fffc868..4b62d1c 100644 --- a/src/pages/clients/components/ClientDetailInfoSection.vue +++ b/src/pages/clients/components/ClientDetailInfoSection.vue @@ -126,13 +126,26 @@ .flex.flex-col.gap-y-4(v-if="section === 'addresses' && isChange") client-detail-section-address(:dope-address="dopeAddress") .flex.flex-col.gap-y-2(v-if="section === 'additional' && isChange") - //- .title-section.text-xxs.font-semibold {{item.title}} - client-detail-input.text-sm.w-max-fit( + .flex.justify-between + .title-section.text-xxs.font-semibold Заголовок + .icon-cancel.cancel.cursor-pointer.pr-3.text-xsm( + v-if="isChange", + :id="item.id", + @click="deleteNote(item.id)" + ) + client-detail-input.text-sm.w-max-fit.pr-12.relative( + :maxLength="40", :style="{fontWeight:key === 'numba'&&600}", v-model:value="sectionInfo[key].title", placeholder="Заголовок" ) + .text.flex.absolute.text-xsx.top-18px( + class="right-2.5", + :style="{color: 'var(--font-grey-color)'}" + ) {{`${sectionInfo[key].title.length}/40`}} + .title-section.text-xxs.font-semibold Описание client-detail-input.text-sm.w-max-fit( + :maxLength="40", :style="{fontWeight:key === 'numba'&&600}", v-model:value="sectionInfo[key].description", placeholder="Описание" @@ -193,6 +206,7 @@ export default { sectionInfo: Object, section: String, deleteDoc: Function, + deleteNote: Function, updateDocument: Function, updateAddress: Function, updateNotes: Function, diff --git a/src/pages/clients/components/ClientDetailInfoWrapper.vue b/src/pages/clients/components/ClientDetailInfoWrapper.vue index 54c212f..b842240 100644 --- a/src/pages/clients/components/ClientDetailInfoWrapper.vue +++ b/src/pages/clients/components/ClientDetailInfoWrapper.vue @@ -32,7 +32,8 @@ :section-info="dataNotes", :lack-notes="lackNotes", :create-note="createNote", - :update-notes="updateNotes" + :update-notes="updateNotes", + :delete-note="deleteNote" ) @@ -47,6 +48,7 @@ export default { dataNotes: Array, saveNewDoc: Function, deleteDoc: Function, + deleteNote: Function, dataDocument: Object, updateDocument: Function, updateAddress: Function, diff --git a/src/pages/clients/components/ClientDetailInput.vue b/src/pages/clients/components/ClientDetailInput.vue index ac03b12..382b2c1 100644 --- a/src/pages/clients/components/ClientDetailInput.vue +++ b/src/pages/clients/components/ClientDetailInput.vue @@ -7,6 +7,7 @@ :cols="24", @input="$emit('update:value', $event.target.value)", :placeholder="placeholder", + :maxLength="maxLength" ) input.w-full.outline-0.not-italic.font-medium( v-else, @@ -30,6 +31,7 @@ export default { default: "Поиск", }, rows: Number, + maxLength: Number, }, directives: { mask }, computed: { diff --git a/src/pages/clients/components/ClientsTableRow.vue b/src/pages/clients/components/ClientsTableRow.vue index e4f58f7..a482352 100644 --- a/src/pages/clients/components/ClientsTableRow.vue +++ b/src/pages/clients/components/ClientsTableRow.vue @@ -95,14 +95,15 @@ :data-notes="dataNotes" :save-new-doc="saveNewDoc", :delete-doc="deleteDoc", + :delete-note="postDeleteNote" :update-document="postUpdateIdentityDocument", :update-address="postUpdateAddress", :update-notes="postUpdateNotes", :lack-data="lackData", :lack-address="lackAddress", - :dope-address="dopeAddress", :lack-attachments="lackAttachments", - :lack-notes="lackNotes" + :lack-notes="lackNotes", + :dope-address="dopeAddress", :create-address="postCreateAddress", :create-document="postCreateIdentityDocument", :create-note="postCreateNote", @@ -433,15 +434,14 @@ export default { this.lackAttachments = this.dataAttachments[0]?.id ? true : false; }, saveNote(data) { - if (data?.note[0]) { - this.dataNotes = [...data.note]; + this.dataNotes = data?.note.filter((e) => !e.deleted_flg); + if (this.dataNotes[0]) { this.lackNotes = true; } else { this.lackNotes = false; this.dataNotes = [{ title: "", description: "" }]; } }, - saveIdentityDocument(data) { if (data?.id) { this.docId = data.id; @@ -659,6 +659,11 @@ export default { .then(() => this.fetchClientDetail(this.id)); }); }, + postDeleteNote(noteId) { + fetchWrapper + .del(`general/note/${noteId}/delete/`) + .then(() => this.fetchClientDetail(this.id)); + }, }, watch: { @@ -764,5 +769,5 @@ export default { .closed-detail .detail max-height: 0 .dots-wrapper - width: 36px + width: 53px diff --git a/src/pages/clients/components/ClientsWrapper.vue b/src/pages/clients/components/ClientsWrapper.vue index 37c20fe..1d5add4 100644 --- a/src/pages/clients/components/ClientsWrapper.vue +++ b/src/pages/clients/components/ClientsWrapper.vue @@ -34,4 +34,5 @@ export default { .wrapper overflow: auto border-top-left-radius: 4px + border-top-right-radius: 4px diff --git a/src/pages/clients/components/TableCreateNote.vue b/src/pages/clients/components/TableCreateNote.vue index 6aecd13..4693a1e 100644 --- a/src/pages/clients/components/TableCreateNote.vue +++ b/src/pages/clients/components/TableCreateNote.vue @@ -16,6 +16,7 @@ + + diff --git a/src/pages/settings/TheSettings.vue b/src/pages/settings/TheSettings.vue index be02f8a..c3c9fba 100644 --- a/src/pages/settings/TheSettings.vue +++ b/src/pages/settings/TheSettings.vue @@ -1,58 +1,11 @@ diff --git a/src/router.js b/src/router.js index e8d95d8..da8b6de 100644 --- a/src/router.js +++ b/src/router.js @@ -4,6 +4,7 @@ import TheUser from "@/pages/clients/TheClients"; import TheSettings from "@/pages/settings/TheSettings"; import TheLogin from "@/pages/login/TheLogin"; import LoggedInLayout from "@/components/LoggedInLayout"; +import TheMedicalCard from "@/pages/medicalCard/TheMedicalCard"; const ifNotAuthenticated = (to, from, next) => { if (!localStorage.getItem("tokenAccess")) { @@ -37,6 +38,7 @@ export default createRouter({ { path: "calendar", component: TheCalendar }, { path: "clients", component: TheUser }, { path: "settings", component: TheSettings }, + { path: "medicalCard", component: TheMedicalCard }, ], }, ], diff --git a/tailwind.config.js b/tailwind.config.js index cf161d8..619aa66 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -41,6 +41,7 @@ module.exports = { "13px": "13px", "14px": "14px", "15px": "15px", + "18px": "18px", "19px": "19px", "22px": "22px", "23px": "23px",