From a9b4a7e185b34a511694e365ec7d888cbe525a1e Mon Sep 17 00:00:00 2001 From: andrusyakka Date: Tue, 1 Aug 2023 18:26:47 +0300 Subject: [PATCH 1/2] . --- package-lock.json | 7 +- package.json | 1 + src/pages/medcards/TheMedcards.vue | 8 +- .../medcards/components/MedicalCardSearch.vue | 3 +- .../components/MedicalCardSearchHeader.vue | 79 ++++--------------- .../components/MedicalCardSearchList.vue | 5 +- 6 files changed, 29 insertions(+), 74 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5dfbae8..49275c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@dop/astra-ui": "^0.2.5", "@vuelidate/core": "^2.0.0", "@vuelidate/validators": "^2.0.0", + "lodash": "^4.17.21", "moment": "^2.29.4", "vue": "^3.2.13", "vue-router": "^4.1.5", @@ -7578,8 +7579,7 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash.assign": { "version": "4.2.0", @@ -17981,8 +17981,7 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.assign": { "version": "4.2.0", diff --git a/package.json b/package.json index 858e517..d1aa667 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "@dop/astra-ui": "^0.2.5", "@vuelidate/core": "^2.0.0", "@vuelidate/validators": "^2.0.0", + "lodash": "^4.17.21", "moment": "^2.29.4", "vue": "^3.2.13", "vue-router": "^4.1.5", diff --git a/src/pages/medcards/TheMedcards.vue b/src/pages/medcards/TheMedcards.vue index 057a0a1..6a074fe 100644 --- a/src/pages/medcards/TheMedcards.vue +++ b/src/pages/medcards/TheMedcards.vue @@ -1,6 +1,5 @@ @@ -13,3 +12,8 @@ export default { components: { MedicalCardSearch, TablePatients }, }; + + diff --git a/src/pages/medcards/components/MedicalCardSearch.vue b/src/pages/medcards/components/MedicalCardSearch.vue index 7deaec0..b123c57 100644 --- a/src/pages/medcards/components/MedicalCardSearch.vue +++ b/src/pages/medcards/components/MedicalCardSearch.vue @@ -1,5 +1,5 @@ @@ -16,4 +16,5 @@ export default { diff --git a/src/pages/medcards/components/MedicalCardSearchHeader.vue b/src/pages/medcards/components/MedicalCardSearchHeader.vue index 2ec8d57..c8b977f 100644 --- a/src/pages/medcards/components/MedicalCardSearchHeader.vue +++ b/src/pages/medcards/components/MedicalCardSearchHeader.vue @@ -1,42 +1,16 @@ @@ -45,47 +19,26 @@ import BaseInput from "@/components/base/BaseInput.vue"; import BaseSelect from "@/components/base/BaseSelect.vue"; import BaseButton from "@/components/base/BaseButton.vue"; -import { - medcardsList, - sortingOptions, -} from "@/pages/medcards/utils/medcardsConfig.js"; + +import debounce from "lodash/debounce"; export default { name: "MedicalCardSearchHeader", components: { BaseInput, BaseSelect, BaseButton }, + emits: ["search"], data() { return { - filteringMedcardsList: null, - sortingOptions: sortingOptions, - sortingType: null, + filterString: "", }; }, - computed: { - serializedMedcardsList() { - return medcardsList.map((elem) => ({ - label: `${elem?.last_name} ${elem?.first_name} ${elem?.patronymic}`, - id: elem?.id, - avatar: elem?.avatar, - medcard: elem?.medcard, - })); - }, - }, methods: { - filterFn(val, update) { - update(() => { - this.filteringMedcardsList = this.serializedMedcardsList?.filter( - (elem) => { - let reg = new RegExp(`^${val}`, "ig"); - if (reg.test(elem.label)) return elem; - } - ); - }); - }, - initializeMedcardsList() { - this.filteringMedcardsList = this.serializedMedcardsList; + openCreateMedcardPage() { + alert("Создать медкарту с ФИО: " + this.filterString); }, }, - mounted() { - this.initializeMedcardsList(); + watch: { + filterString: debounce((value) => { + this.$emit("search", value); + }, 300), }, }; diff --git a/src/pages/medcards/components/MedicalCardSearchList.vue b/src/pages/medcards/components/MedicalCardSearchList.vue index 5e0910b..de2d42d 100644 --- a/src/pages/medcards/components/MedicalCardSearchList.vue +++ b/src/pages/medcards/components/MedicalCardSearchList.vue @@ -36,8 +36,6 @@ export default { computed: { scrollPresence() { return this.medcardsInfo.length > 9; - // const wrapper = document.getElementById("listWrapper"); - // return wrapper?.scrollHeight > wrapper?.clientHeight; }, }, methods: { @@ -65,8 +63,7 @@ export default { .grey-color color: var(--font-grey-color) .body - height: calc(100vh - 56px - 24px - 360px - 72px - 40px) - overflow-y: auto + overflow: auto &::-webkit-scrollbar-track margin: 24px 0 24px 0 background: #E9E9ED From e682136ed89450a4698a7ba16f5d050cb673b219 Mon Sep 17 00:00:00 2001 From: kandrusyak Date: Wed, 2 Aug 2023 01:54:50 +0300 Subject: [PATCH 2/2] only improves --- src/components/LoggedInLayout.vue | 8 +-- src/components/TheSidebar.vue | 2 +- .../TheCreateMedicalCard.vue | 60 +++++++++++++++++++ src/pages/medcards/TheMedcards.vue | 1 + .../medcards/components/MedicalCardSearch.vue | 11 +++- .../components/MedicalCardSearchHeader.vue | 2 +- .../components/MedicalCardSearchList.vue | 43 +++++++------ .../components/MedicalCardSearchRow.vue | 3 +- .../components/HeaderRecordForm.vue | 37 +++++++++--- .../BasicDataForms/BasicDataForm.vue | 50 ++++++++++------ src/router.js | 2 + src/store/modules/medicalCard.js | 44 +++++++++----- 12 files changed, 191 insertions(+), 72 deletions(-) create mode 100644 src/pages/createMedicalCard/TheCreateMedicalCard.vue diff --git a/src/components/LoggedInLayout.vue b/src/components/LoggedInLayout.vue index 86ea63c..74337e7 100644 --- a/src/components/LoggedInLayout.vue +++ b/src/components/LoggedInLayout.vue @@ -1,5 +1,5 @@