WIP Добавил недостающие поля на страницу мед.карты и хедер страницы

This commit is contained in:
DwCay
2023-01-09 20:47:42 +03:00
parent 300a7b0da6
commit 517a6fc02c
4 changed files with 171 additions and 80 deletions

View File

@@ -0,0 +1,19 @@
<template lang="pug">
.flex.w-full
.flex.w-full.text-lgx.font-bold.items-center.justify-center Медицинская карта {{numberCard}}
.flex.gap-x-2
base-button(left-icon="icon-download", :icon-left-size="16", :size="40", :outlined="true")
base-button(left-icon="icon-plus", :icon-left-size="13", :size="40")
span.font-semibold Создать
</template>
<script>
import BaseButton from "@/components/base/BaseButton.vue";
export default {
name: "MedicalCardHeader",
components: { BaseButton },
props: {
numberCard: Number,
},
};
</script>

View File

@@ -1,6 +1,9 @@
<template lang="pug">
.wrapper.flex.w-full.relative.mx-2
.wrapper-medical.relative.flex.flex-col.px-6.py-6.h-full.w-full
.wrapper-medical.relative.flex.gap-y-4.flex-col.h-full.w-full( class="pb-52px")
.card-upper.flex.flex-col.gap-y-4.px-6.py-6
medical-card-header(:number-card="numberCard")
.card-basic-info.flex
base-detail-info(
:title="configData.identity_document.title"
:height="configData.identity_document.height"
@@ -78,20 +81,38 @@
:title="configData.agreement_form.title"
:height="configData.agreement_form.height"
)
.flex.flex-col(class="px-92px gap-y-60px")
.flex.flex-col(class="gap-y-2.5")
.flex.flex-col.gap-y-2(v-for="(key, index) in Object.keys(dentalIndications)")
span.font-bold.font-xs {{`${index+1}. ${configData.dental_indications[key]}`}}
base-input(v-model="dentalIndications[key]")
.flex.justify-center
base-button.w-fit(:icon-left-size="13", :size="40")
span.font-semibold Сохранить
</template>
<script>
import MedicalCardHeader from "@/pages/medicalCard/components/MedicalCardHeader.vue";
import BaseDetailInput from "@/components/base/BaseDetailInput.vue";
import BaseDetailInfo from "@/components/base/BaseDetailInfo.vue";
import { medicalDetailConfig } from "@/pages/medicalCard/utils/medicalConfig";
import { fetchWrapper } from "@/shared/fetchWrapper";
import BaseInput from "@/components/base/BaseInput.vue";
import BaseButton from "@/components/base/BaseButton.vue";
import ClientDetailInput from "@/pages/clients/components/ClientDetailInput.vue";
export default {
name: "MedicalCardWrapper",
components: { ClientDetailInput, BaseInput, BaseDetailInfo, BaseDetailInput },
components: {
ClientDetailInput,
BaseInput,
BaseButton,
BaseDetailInfo,
BaseDetailInput,
MedicalCardHeader,
},
data() {
return {
numberCard: "",
configData: medicalDetailConfig,
medicalDataInit: {
identity_document: {
@@ -128,10 +149,33 @@ export default {
agreement_date: null,
},
},
dentalIndications: {
complaints: "",
allergic_history: "",
past_diseases: "",
medications_taken: "",
thermometry: "",
tonometry: "",
disease_progress: "",
visual_examination: "",
oral_examination: "",
dental_formula: [],
dental_bite: "",
hygiene_index: "",
dmf_index: "",
diagnostic_findings: "",
icd_code: "",
survey_plan: "",
survey_data: "",
clinical_diagnosis: "",
treatment_plan: "",
treatment_protocol: "",
},
};
},
methods: {
saveDataMedical(data) {
this.numberCard = data?.number && data.number;
const confidant = data ? data["confidant"] : undefined;
const pass = data
? data?.person?.identity_document?.find((el) => el.kind === "PASSPORT")
@@ -203,9 +247,6 @@ export default {
.wrapper-medical
background-color: var(--default-white)
height: calc(100vh - 64px)
display: grid
grid-template-columns: 280px 292px 180px 360px 463px
gap: 16px
overflow: auto
&::-webkit-scrollbar
height: 4px
@@ -216,4 +257,10 @@ export default {
&::-webkit-scrollbar-thumb
border-radius: 8px
background-color: var(--btn-blue-color)
.card-basic-info
display: grid
grid-template-columns: 280px 292px 180px 360px 463px
gap: 16px
.card-upper
border-bottom: 1px solid var(--border-light-grey-color)
</style>

View File

@@ -139,4 +139,26 @@ export const medicalDetailConfig = {
},
],
},
dental_indications: {
complaints: "Жалобы",
allergic_history: "Аллергологический анамнез",
past_diseases: "Перенесённые и сопутствующие заболевания",
medications_taken: "Принимаемые лекарственные препараты",
thermometry: "Термометрия (по показаниям)",
tonometry: "Тонометрия, ЧСС (по показаниям)",
disease_progress: "Развитие настоящего заболевания",
visual_examination: "Внешний осмотр",
oral_examination: "Осмотр преддверия и полости рта",
dental_formula: "Зубная формула",
dental_bite: "Прикус",
hygiene_index: "Индекс гигиены",
dmf_index: "Индекс КПУ",
diagnostic_findings: "Предварительный диагноз",
icd_code: "Код МКБ-10",
survey_plan: "План обследования",
survey_data: "Данные обследования",
clinical_diagnosis: "Клинический диагноз",
treatment_plan: "План лечения",
treatment_protocol: "Протокол лечения",
},
};

View File

@@ -18,6 +18,7 @@ module.exports = {
base: ["16px", { lineHeight: "19px" }],
m: ["16px", { lineHeight: "21.6px" }],
lg: ["18px", { lineHeight: "21px" }],
lgx: ["22px", { lineHeight: "25.83px" }],
xl: ["20px", { lineHeight: "23px" }],
xxl: ["24px", { lineHeight: "26px" }],
"2xl": ["28px", { lineHeight: "33px" }],
@@ -50,7 +51,9 @@ module.exports = {
"30px": "30px",
"45px": "45px",
"52px": "52px",
"60px": "60px",
"74px": "74px",
"92px": "92px",
"148px": "148px",
},
},