Merge branch 'H-5' into 'master'

WIP Сделала сайдбар общей информации

See merge request andrusyakka/urban-couscous!292
This commit is contained in:
Daria Golova
2023-04-03 13:05:52 +00:00
4 changed files with 108 additions and 9 deletions

View File

@@ -1,6 +1,6 @@
<template lang="pug"> <template lang="pug">
.w-full .w-full.h-full
medical-card-header(v-model="currentMenuItem") medical-card-header.mb-2(v-model="currentMenuItem")
component( component(
v-if="currentMenuItem", v-if="currentMenuItem",
v-bind:is="currentMenuItem", v-bind:is="currentMenuItem",
@@ -9,13 +9,13 @@
<script> <script>
import MedicalCardHeader from "@/pages/newMedicalCard/components/MedicalCardHeader.vue"; import MedicalCardHeader from "@/pages/newMedicalCard/components/MedicalCardHeader.vue";
import BasicDataForm from "@/pages/newMedicalCard/components/BasicDataForm.vue"; import MedicalCardBaseInfo from "@/pages/newMedicalCard/components/MedicalCardBaseInfo.vue";
export default { export default {
name: "TheMedicalCard", name: "TheMedicalCard",
components: { MedicalCardHeader, BasicDataForm }, components: { MedicalCardHeader, MedicalCardBaseInfo },
data() { data() {
return { return {
currentMenuItem: "BasicDataForm", currentMenuItem: "MedicalCardBaseInfo",
}; };
}, },
}; };

View File

@@ -0,0 +1,26 @@
<template lang="pug">
.base-info-wrapper.w-full.flex.gap-x-2
medical-card-sidebar(v-model="currentMenuItem")
component(
v-if="currentMenuItem",
v-bind:is="currentMenuItem"
)
</template>
<script>
import MedicalCardSidebar from "@/pages/newMedicalCard/components/MedicalCardSidebar.vue";
import BasicDataForm from "@/pages/newMedicalCard/components/BasicDataForm.vue";
export default {
name: "MedicalCardBaseInfo",
components: { MedicalCardSidebar, BasicDataForm },
data() {
return {
currentMenuItem: "BasicDataForm",
};
},
};
</script>
<style lang="sass" scoped>
.base-info-wrapper
height: 79.7%
</style>

View File

@@ -1,5 +1,5 @@
<template lang="pug"> <template lang="pug">
.patient-info.pt-4.pr-6.flex.flex-col.justify-between .patient-info.pt-4.pr-6.flex.flex-col.justify-between.rounded
.ml-6.flex.justify-between .ml-6.flex.justify-between
q-breadcrumbs q-breadcrumbs
template(v-slot:separator) template(v-slot:separator)
@@ -90,7 +90,7 @@ export default {
{ {
title: "Общая информация", title: "Общая информация",
id: "basic", id: "basic",
component: "BasicDataForm", component: "MedicalCardBaseInfo",
}, },
{ {
title: "Журнал посещений", title: "Журнал посещений",
@@ -149,9 +149,8 @@ export default {
<style scoped lang="sass"> <style scoped lang="sass">
.patient-info .patient-info
width: 83.2% width: 83.2%
height: 190px height: 18.7%
background-color: var(--default-white) background-color: var(--default-white)
border-radius: 4px
.menu-item .menu-item
color: var(--font-grey-color) color: var(--font-grey-color)
border-bottom: 1px solid transparent border-bottom: 1px solid transparent

View File

@@ -0,0 +1,74 @@
<template lang="pug">
.sidebar-wrapper.h-full.rounded.px-2.py-6.flex.flex-col
.menu-item.text-base.px-4.py-3.rounded(
v-for="item in menuItem",
:key="item.id",
:id="item.id",
@click="selectItem(item)",
:class="{'menu-item-active': item.component === modelValue}"
) {{item.title}}
</template>
<script>
import { v_model } from "@/shared/mixins/v-model";
export default {
name: "MedicalCardSidebar",
mixins: [v_model],
data() {
return {
menuItem: [
{
title: "Основные данные",
id: "basic-data",
component: "BasicDataForm",
},
{
title: "Протоколы первичного осмотра",
id: "protocols",
component: "Protocols",
},
{
title: "Доверенное лицо",
id: "trusted-person",
component: "TrustedPerson",
},
{
title: "Аллергии",
id: "allergies",
component: "Allergies",
},
{
title: "Состояние здоровья",
id: "health-status",
component: "HealthStatus",
},
{
title: "История болезней",
id: "medical-history",
component: "MedicalHistory",
},
{
title: "Зубная формула",
id: "dental-formula",
component: "DentalFormula",
},
],
};
},
methods: {
selectItem(item) {
this.value = item?.component;
},
},
};
</script>
<style lang="sass" scoped>
.sidebar-wrapper
width: 16.3%
background-color: var(--default-white)
.menu-item
color: var(--font-grey-color)
.menu-item-active, .menu-item:hover
color: var(--btn-blue-color)
background-color: var(--bg-ligth-blue-color)
</style>