diff --git a/src/components/BaseInput.vue b/src/components/BaseInput.vue
deleted file mode 100644
index 70bdd26..0000000
--- a/src/components/BaseInput.vue
+++ /dev/null
@@ -1,229 +0,0 @@
-
- base-input-container.gap-y-2(:important="important", :label="label", :style="{width: width + 'px', ...sizeVariable}")
- q-input.input(
- v-model="value",
- :name="name",
- :multiple="multiple",
- :class="{'circle': circle, 'font-input': true, 'doc': doc}",
- :input-style="{resize: resize}",
- :borderless="borderless",
- :placeholder="placeholder",
- outlined,
- :type="type",
- :readonly="readonly",
- :disable="disabled",
- :rules="rule",
- :lazy-rules="lazyRule",
- :item-aligned="itemAligned",
- no-error-icon,
- :standout="readonly",
- :mask="mask",
- :autogrow="autogrow",
- :accept="accept",
- :debounce="debounce",
- :shadow-text="shadowText",
- :autofocus="autofocus",
- hide-bottom-space
- )
- template(v-slot:prepend, v-if="iconLeft")
- slot(name="iconLeft")
- template(v-slot:append, v-if="iconRight")
- slot(name="iconRight")
- slot(v-if="!iconLeft && !iconRight")
-
-
-
-
-
diff --git a/src/components/HeaderInputs.vue b/src/components/HeaderInputs.vue
index 8abf047..229dcb0 100644
--- a/src/components/HeaderInputs.vue
+++ b/src/components/HeaderInputs.vue
@@ -23,12 +23,8 @@
-
diff --git a/src/components/base/BaseInputFullName.vue b/src/components/base/BaseInputFullName.vue
index 7746d12..b3182e6 100644
--- a/src/components/base/BaseInputFullName.vue
+++ b/src/components/base/BaseInputFullName.vue
@@ -48,7 +48,7 @@
import BaseModal from "./BaseModal.vue";
import addImageIcon from "@/assets/icons/photo.svg";
import BaseButton from "@/components/base/BaseButton.vue";
-import BaseInput from "@/components/BaseInput.vue";
+import BaseInput from "@/components/base/BaseInput.vue";
export default {
name: "BaseInputFullName",
diff --git a/src/components/base/BaseInputNumber.vue b/src/components/base/BaseInputNumber.vue
index 8cb9df7..8a689f7 100644
--- a/src/components/base/BaseInputNumber.vue
+++ b/src/components/base/BaseInputNumber.vue
@@ -1,30 +1,23 @@
- base-input-container.gap-y-2(:label="label", :style="{width: width + 'px' }")
- q-input(
+ base-input-container.gap-y-2(:label="label", :style="{width: width + 'px', ...sizeVariable }")
+ q-input.input(
ref="numberInput"
v-model="value",
:name="name",
:multiple="multiple",
- :class="{'circle': circle, 'font-input': true, 'doc': doc}",
- :input-style="{ color: textColor, borderColor: borderColor, resize: resize }",
- :borderless="borderless",
+ :class="{'circle': circle, 'font-input': true}",
+ :input-style="{ resize: resize }",
:placeholder="placeholder",
- :outlined="outlined",
- :dense="dense",
+ outlined,
type="number",
:readonly="readonly",
:disable="disabled",
- :filled="filled",
- :bg-color="filled || standout ? '' : 'white'",
:rules="rule || ruleNumberInput",
:lazy-rules="lazyRule",
:item-aligned="itemAligned",
- :no-error-icon="noErrorIcon",
+ no-error-icon,
:mask="mask",
- :maxlength="maxLength",
:autogrow="autogrow",
- :square="square",
- :standout="standout"
:accept="accept",
:debounce="null",
:shadow-text="shadowText"
@@ -48,14 +41,13 @@
@@ -214,4 +228,57 @@ input[type=number]::-webkit-inner-spin-button
color: var(--font-grey-color)
&:hover
color: var(--font-dark-blue-color)
+
+.input :deep(.q-field__native)
+ font-weight: 500
+ font-size: var(--text-size)
+ line-height: var(--line-height)
+ color: var(--font-dark-blue-color)
+ padding: var(--py)
+ &::placeholder
+ color: var(--font-grey-color)
+ opacity: 1
+
+.input :deep(.q-field__control)
+ height: var(--input-height) !important
+ color: var(--font-dark-blue-color)
+ padding: var(--px)
+ &:before
+ border-color: var(--border-light-grey-color) !important
+ transition: none
+ &:hover:before
+ border-color: var(--font-grey-color) !important
+ &:after
+ border-width: 1px !important
+ transition: none
+ transform: none !important
+
+.q-field--disabled :deep(.q-field__control > div)
+ opacity: 1 !important
+
+.q-field--outlined.q-field--disabled :deep(.q-field__native)
+ color: var(--font-grey-color)
+
+.q-field--outlined.q-field--disabled :deep(.q-field__control)
+ background: var(--bg-light-grey) !important
+
+.q-field--outlined.q-field--readonly :deep(.q-field__control)
+ background: var(--bg-light-grey) !important
+ &:before
+ border-color: var(--bg-light-grey) !important
+ transition: none
+ &:hover:before
+ border-color: var(--bg-light-grey) !important
+
+.q-field--outlined.q-field--readonly :deep(.q-field__native)
+ cursor: default
+
+.q-field--error :deep(.q-field__bottom)
+ padding: 4px 0 0 0
+ font-weight: 500
+ font-size: 12px
+ line-height: 135% !important
+
+.input :deep(.q-field__marginal)
+ height: auto !important
diff --git a/src/components/base/BaseTextarea.vue.vue b/src/components/base/BaseTextarea.vue.vue
new file mode 100644
index 0000000..9ec76f0
--- /dev/null
+++ b/src/components/base/BaseTextarea.vue.vue
@@ -0,0 +1,132 @@
+
+ base-input-container.gap-y-2(:label="label", :style="{width: width + 'px'}")
+ q-input.input(
+ v-model="value",
+ :name="name",
+ :multiple="multiple",
+ :input-style="{resize: resize, 'font-input': true, height: height}",
+ :placeholder="placeholder",
+ outlined,
+ type="textarea",
+ :readonly="readonly",
+ :disable="disabled",
+ :rules="rule",
+ :lazy-rules="lazyRule",
+ :item-aligned="itemAligned",
+ no-error-icon,
+ :autogrow="autogrow",
+ :accept="accept",
+ :debounce="debounce",
+ :shadow-text="shadowText",
+ :autofocus="autofocus",
+ hide-bottom-space
+ )
+
+
+
+
+
diff --git a/src/components/base/BaseUploadPhoto.vue b/src/components/base/BaseUploadPhoto.vue
index 088ca72..142ecc8 100644
--- a/src/components/base/BaseUploadPhoto.vue
+++ b/src/components/base/BaseUploadPhoto.vue
@@ -25,10 +25,10 @@
diff --git a/src/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/DataForm.vue b/src/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/DataForm.vue
index 2be6984..28ab9ce 100644
--- a/src/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/DataForm.vue
+++ b/src/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/DataForm.vue
@@ -15,7 +15,7 @@
:class="{'pointer': fillInspection || change}"
v-for="tag in protocolData[data.state].complaints", :key="tag.id"
) {{ tag }}
- base-input.px-3(v-if="change || fillInspection", type="textarea", autogrow, borderless, placeholder="Введите данные...")
+ q-input.input.px-3(v-if="change || fillInspection", type="textarea", autogrow, borderless, placeholder="Введите данные...")
template(v-if="!(change || fillInspection)", v-for="file in protocolData[data.state].files")
.wrap.flex.flex-col.gap-1.gap-y-3(v-if="file?.data?.length")
.title.font-semibold.text-smm.mb-2 {{file.name}}
@@ -34,8 +34,15 @@
.title.font-medium.text-xsx {{item.size + " Мб"}}
.filter.flex.flex-col.gap-y-4.relative(v-if="change || fillInspection")
.flex.gap-x-2
- base-input(placeholder="Поиск", outlined, :width="232", iconLeft)
- q-icon(name="app:icon-search", size="20px", style="color: var(--font-grey-color)")
+ base-input.search(
+ placeholder="Поиск",
+ :width="232",
+ iconLeft,
+ icon-left,
+ size="M",
+ )
+ template(v-slot:iconLeft)
+ q-icon(name="app:search", size="20px", style="color: var(--font-grey-color)")
.button
q-btn(
icon="filter_alt",
@@ -77,8 +84,8 @@
type="file",
id="upload",
:accept="checkedName(file.name) ? '.xlsx, .xls, .doc, .docx, .pdf, .odt' : 'image/*'",
- borderless,
multiple
+ size="62px"
)
.text.flex.flex-col.items-center.justify-center.absolute.font-medium.text-smm.w-full
span {{checkedName(file.name) ? 'Загрузите документ' : 'Загрузите скан документа'}}
@@ -103,9 +110,9 @@
import MedicalFormWrapper from "@/pages/newMedicalCard/components/MedicalFormWrapper.vue";
import TagCreationForm from "@/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/TagCreationForm.vue";
import BaseButton from "@/components/base/BaseButton.vue";
-import BaseInput from "@/components/base/BaseInput.vue";
import BaseModal from "@/components/base/BaseModal.vue";
import { mapState } from "vuex";
+import BaseInput from "@/components/base/BaseInput.vue";
export default {
name: "DataForm",
@@ -308,7 +315,7 @@ export default {
.download
height: 62px
- border: 1px dashed var(--border-light-grey-color)
+ background-color: var(--bg-light-grey)
border-radius: 4px
cursor: pointer
@@ -345,4 +352,17 @@ export default {
border-radius: 4px
width: fit-content
padding: 8px 16px 8px 8px
+
+.search :deep(.q-field__prepend)
+ padding-right: 6px
+
+.input :deep(.q-field__native)
+ font-weight: 500
+ font-size: 14px
+ line-height: 135%
+ color: var(--font-dark-blue-color)
+ padding: 4px 0
+ &::placeholder
+ color: var(--font-grey-color)
+ opacity: 1
diff --git a/src/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/DiseaseForm.vue b/src/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/DiseaseForm.vue
index 0bfb077..53d57b4 100644
--- a/src/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/DiseaseForm.vue
+++ b/src/pages/newMedicalCard/components/InitialInspectionProtocol/Forms/DiseaseForm.vue
@@ -16,24 +16,24 @@
size="36px"
)
.textarea.flex.w-full
- base-input.w-full(
+ base-textarea.w-full(
v-model="protocolData[data.state].text",
type="textarea",
- outlined,
resize="vertical",
- placeholder="Введите данные..."
+ placeholder="Введите данные...",
+ height="126px"
)
.font-medium.text-smm(v-else) {{protocolData[data.state]?.text}}