Merge branch 'UC-204' into 'master'
Resolve UC-204 See merge request andrusyakka/urban-couscous!254
This commit is contained in:
@@ -4,19 +4,16 @@
|
|||||||
.flex.items-center(v-if="field.type === 'text' || field.type === 'textarea'" class="gap-x-2.5")
|
.flex.items-center(v-if="field.type === 'text' || field.type === 'textarea'" class="gap-x-2.5")
|
||||||
span.w-4.icon(v-if="field.icon" :class="field.icon")
|
span.w-4.icon(v-if="field.icon" :class="field.icon")
|
||||||
base-input(v-model="data[field.label]" :with-icon="field.copy")
|
base-input(v-model="data[field.label]" :with-icon="field.copy")
|
||||||
.copy.icon-copy.cursor-pointer(
|
.flex.items-center(v-if="field.copy && data[field.label]")
|
||||||
v-if="field.copy && data[field.label]",
|
.copy.icon-copy.cursor-pointer(@click="() => copyValue(data[field.label])")
|
||||||
@click="() => copyValue(data[field.label])"
|
base-input(v-if="field.type === 'date'" v-model="data[field.label]")
|
||||||
)
|
|
||||||
base-input-date(v-if="field.type === 'date'" v-model="data[field.label]")
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import BaseInput from "@/components/base/BaseInput.vue";
|
import BaseInput from "@/components/base/BaseInput.vue";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate.vue";
|
|
||||||
export default {
|
export default {
|
||||||
name: "BaseDetailInput",
|
name: "BaseDetailInput",
|
||||||
components: { BaseInput, BaseInputDate },
|
components: { BaseInput },
|
||||||
props: {
|
props: {
|
||||||
value: String,
|
value: String,
|
||||||
field: Object,
|
field: Object,
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
.flex.flex-col.gap-y-2
|
base-input-container.gap-y-2(:label="label")
|
||||||
.label.font-semibold.text-sm.opacity-40(
|
|
||||||
v-if="label",
|
|
||||||
:class="labelClass",
|
|
||||||
:style="{color: 'var(--font-black-color)'}"
|
|
||||||
) {{ label }}
|
|
||||||
q-input(
|
q-input(
|
||||||
v-model="value",
|
v-model="value",
|
||||||
:input-class="textClass",
|
:input-class="textClass",
|
||||||
@@ -16,16 +11,19 @@
|
|||||||
:disable="disabled",
|
:disable="disabled",
|
||||||
:rules="rule",
|
:rules="rule",
|
||||||
:mask="mask",
|
:mask="mask",
|
||||||
:maxlength="maxLength"
|
:maxlength="maxLength",
|
||||||
hide-bottom-space,
|
:autogrow="autogrow",
|
||||||
autogrow
|
hide-bottom-space
|
||||||
)
|
)
|
||||||
slot.cursor-pointer
|
slot.cursor-pointer
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import BaseInputContainer from "@/components/base/BaseInputContainer.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "BaseInput",
|
name: "BaseInput",
|
||||||
|
components: { BaseInputContainer },
|
||||||
props: {
|
props: {
|
||||||
dense: {
|
dense: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@@ -39,27 +37,34 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
autogrow: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
type: {
|
type: {
|
||||||
default: "text",
|
default: "text",
|
||||||
},
|
},
|
||||||
mask: String,
|
mask: String,
|
||||||
maxLength: String,
|
maxLength: String,
|
||||||
rule: Array,
|
rule: Array,
|
||||||
modelValue: String,
|
modelValue: String || Date,
|
||||||
placeholder: String,
|
placeholder: String,
|
||||||
disabled: Boolean,
|
disabled: Boolean,
|
||||||
label: String,
|
label: String,
|
||||||
textStyle: String,
|
textStyle: String,
|
||||||
labelStyle: String,
|
|
||||||
},
|
},
|
||||||
emits: ["update:modelValue"],
|
emits: ["update:modelValue"],
|
||||||
computed: {
|
computed: {
|
||||||
value: {
|
value: {
|
||||||
get() {
|
get() {
|
||||||
return this.modelValue;
|
return this.type === "date"
|
||||||
|
? this.modelValue?.toISOString().split("T")[0]
|
||||||
|
: this.modelValue;
|
||||||
},
|
},
|
||||||
set(value) {
|
set(value) {
|
||||||
this.$emit("update:modelValue", value);
|
this.type === "date"
|
||||||
|
? this.$emit("update:modelValue", value ? new Date(value) : null)
|
||||||
|
: this.$emit("update:modelValue", value);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
textClass() {
|
textClass() {
|
||||||
@@ -71,15 +76,6 @@ export default {
|
|||||||
"text-base": true,
|
"text-base": true,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
labelClass() {
|
|
||||||
return this.labelStyle
|
|
||||||
? {
|
|
||||||
[this.labelStyle]: true,
|
|
||||||
}
|
|
||||||
: {
|
|
||||||
"text-sm": true,
|
|
||||||
};
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
.flex.flex-col
|
.flex.flex-col.gap-y-2
|
||||||
.label {{ label }}
|
.label.font-semibold.text-sm.opacity-40(v-if="label") {{ label }}
|
||||||
slot
|
slot
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
<template lang="pug">
|
|
||||||
.flex.flex-col.gap-y-2
|
|
||||||
.label.font-semibold.text-sm.opacity-40(v-if="label") {{ label }}
|
|
||||||
.input-wrapper.flex.gap-x-2.px-4.box-border.py-2.h-10
|
|
||||||
input.input.w-full.outline-0.not-italic.cursor-text(
|
|
||||||
v-model="value"
|
|
||||||
type="time"
|
|
||||||
:placeholder="placeholder"
|
|
||||||
)
|
|
||||||
.slot(v-if="withIcon" :class="iconPosition")
|
|
||||||
slot.cursor-pointer
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: "BaseInputTime",
|
|
||||||
props: {
|
|
||||||
modelValue: String,
|
|
||||||
withIcon: {
|
|
||||||
default: false,
|
|
||||||
},
|
|
||||||
iconPosition: {
|
|
||||||
default: "right",
|
|
||||||
},
|
|
||||||
placeholder: String,
|
|
||||||
label: String,
|
|
||||||
},
|
|
||||||
emits: ["update:modelValue"],
|
|
||||||
computed: {
|
|
||||||
value: {
|
|
||||||
get() {
|
|
||||||
return this.modelValue;
|
|
||||||
},
|
|
||||||
set(value) {
|
|
||||||
this.$emit("update:modelValue", value);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="sass" scoped>
|
|
||||||
.left
|
|
||||||
order: -1
|
|
||||||
.right
|
|
||||||
order: 1
|
|
||||||
.input-wrapper
|
|
||||||
border-radius: 4px
|
|
||||||
background-color: var(--default-white)
|
|
||||||
color: var(--font-black-color)
|
|
||||||
border: 1.5px solid var(--border-light-grey-color)
|
|
||||||
input::-webkit-calendar-picker-indicator
|
|
||||||
cursor: pointer
|
|
||||||
</style>
|
|
||||||
@@ -32,17 +32,20 @@
|
|||||||
label="Клиент"
|
label="Клиент"
|
||||||
)
|
)
|
||||||
.flex.gap-x-4
|
.flex.gap-x-4
|
||||||
base-input-date(
|
base-input(
|
||||||
v-model="eventDate",
|
v-model="eventDate",
|
||||||
label="Дата"
|
label="Дата",
|
||||||
|
type="date"
|
||||||
)
|
)
|
||||||
.flex.gap-x-2.items-center
|
.flex.gap-x-2.items-center.justify-between
|
||||||
base-input-time.item-input.text-base(
|
base-input(
|
||||||
|
type="time",
|
||||||
v-model="startTime",
|
v-model="startTime",
|
||||||
label="Начало"
|
label="Начало"
|
||||||
)
|
)
|
||||||
span.mt-4 —
|
span.mt-4 —
|
||||||
base-input-time.item-input.text-base(
|
base-input(
|
||||||
|
type="time",
|
||||||
v-model="endTime",
|
v-model="endTime",
|
||||||
label="Конец"
|
label="Конец"
|
||||||
)
|
)
|
||||||
@@ -70,20 +73,17 @@
|
|||||||
import TheNotificationProvider from "@/components/Notifications/TheNotificationProvider";
|
import TheNotificationProvider from "@/components/Notifications/TheNotificationProvider";
|
||||||
import { addNotification } from "@/components/Notifications/notificationContext";
|
import { addNotification } from "@/components/Notifications/notificationContext";
|
||||||
import { fetchWrapper } from "@/shared/fetchWrapper.js";
|
import { fetchWrapper } from "@/shared/fetchWrapper.js";
|
||||||
import BaseInputTime from "@/components/base/BaseInputTime.vue";
|
|
||||||
import BaseInput from "@/components/base/BaseInput.vue";
|
import BaseInput from "@/components/base/BaseInput.vue";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate.vue";
|
|
||||||
import BaseSelect from "@/components/base/BaseSelect.vue";
|
import BaseSelect from "@/components/base/BaseSelect.vue";
|
||||||
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
||||||
import * as moment from "moment/moment";
|
import * as moment from "moment/moment";
|
||||||
import { statusesDictionary } from "../utils/statusesDictionary.js";
|
import { statusesDictionary } from "../utils/statusesDictionary.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "FormChangeEvent",
|
name: "FormChangeEvent",
|
||||||
components: {
|
components: {
|
||||||
BaseSelect,
|
BaseSelect,
|
||||||
BaseInput,
|
BaseInput,
|
||||||
BaseInputDate,
|
|
||||||
BaseInputTime,
|
|
||||||
BaseCustomSelect,
|
BaseCustomSelect,
|
||||||
TheNotificationProvider,
|
TheNotificationProvider,
|
||||||
},
|
},
|
||||||
@@ -603,16 +603,6 @@ export default {
|
|||||||
width: 344px
|
width: 344px
|
||||||
background-color: var(--default-white)
|
background-color: var(--default-white)
|
||||||
|
|
||||||
.item-input
|
|
||||||
appearance: none
|
|
||||||
border: none
|
|
||||||
outline: none
|
|
||||||
&::-webkit-calendar-picker-indicator
|
|
||||||
display: none
|
|
||||||
-webkit-appearance: none
|
|
||||||
&::placeholder
|
|
||||||
color: var(--font-black-color-1)
|
|
||||||
|
|
||||||
.date-input
|
.date-input
|
||||||
width: 174px
|
width: 174px
|
||||||
border-radius: 4px
|
border-radius: 4px
|
||||||
|
|||||||
@@ -110,7 +110,8 @@
|
|||||||
:placeholder="settings[section].placeholder[key] || settings[section].placeholder"
|
:placeholder="settings[section].placeholder[key] || settings[section].placeholder"
|
||||||
:sharp="settings[section].sharps[key] && section === 'pass' ? settings[section].sharps[key] : ''"
|
:sharp="settings[section].sharps[key] && section === 'pass' ? settings[section].sharps[key] : ''"
|
||||||
)
|
)
|
||||||
base-input-date.input-date.text-sm(
|
base-input(
|
||||||
|
type="date",
|
||||||
v-else-if="isChange && section !== 'docs' && section !== 'additional'",
|
v-else-if="isChange && section !== 'docs' && section !== 'additional'",
|
||||||
v-model="sectionInfo.issued_by_date"
|
v-model="sectionInfo.issued_by_date"
|
||||||
)
|
)
|
||||||
@@ -180,7 +181,7 @@ import ClientDetailSectionAddress from "@/pages/clients/components/ClientDetailS
|
|||||||
import TableChoiceAddingDoc from "@/pages/clients/components/TableChoiceAddingDoc";
|
import TableChoiceAddingDoc from "@/pages/clients/components/TableChoiceAddingDoc";
|
||||||
import BasePopup from "@/components/base/BasePopup";
|
import BasePopup from "@/components/base/BasePopup";
|
||||||
import BaseModal from "@/components/base/BaseModal";
|
import BaseModal from "@/components/base/BaseModal";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import { detail } from "@/pages/clients/utils/tableConfig";
|
import { detail } from "@/pages/clients/utils/tableConfig";
|
||||||
import pdfIcon from "@/assets/icons/pdf.svg";
|
import pdfIcon from "@/assets/icons/pdf.svg";
|
||||||
import wordIcon from "@/assets/icons/word.svg";
|
import wordIcon from "@/assets/icons/word.svg";
|
||||||
@@ -193,7 +194,7 @@ export default {
|
|||||||
name: "ClientDetailInfoSection",
|
name: "ClientDetailInfoSection",
|
||||||
components: {
|
components: {
|
||||||
BaseButton,
|
BaseButton,
|
||||||
BaseInputDate,
|
BaseInput,
|
||||||
BasePopup,
|
BasePopup,
|
||||||
BaseModal,
|
BaseModal,
|
||||||
BaseLoader,
|
BaseLoader,
|
||||||
@@ -523,12 +524,4 @@ export default {
|
|||||||
width: 38px
|
width: 38px
|
||||||
z-index: 1
|
z-index: 1
|
||||||
background: var(--light-grey-bg-color)
|
background: var(--light-grey-bg-color)
|
||||||
|
|
||||||
.input
|
|
||||||
border: 1.5px solid var(--border-light-grey-color)
|
|
||||||
height: 40px
|
|
||||||
|
|
||||||
.input-date
|
|
||||||
height: 40px
|
|
||||||
background-color: var(--default-white)
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -4,7 +4,8 @@
|
|||||||
v-model="value",
|
v-model="value",
|
||||||
:placeholder="placeholder",
|
:placeholder="placeholder",
|
||||||
:maxLength="maxLength",
|
:maxLength="maxLength",
|
||||||
:mask="sharp"
|
:mask="sharp",
|
||||||
|
:autogrow="choiceGrow"
|
||||||
)
|
)
|
||||||
slot
|
slot
|
||||||
</template>
|
</template>
|
||||||
@@ -26,6 +27,9 @@ export default {
|
|||||||
choiceType() {
|
choiceType() {
|
||||||
return !this.sharp ? "textarea" : "text";
|
return !this.sharp ? "textarea" : "text";
|
||||||
},
|
},
|
||||||
|
choiceGrow() {
|
||||||
|
return !this.sharp ? true : false;
|
||||||
|
},
|
||||||
value: {
|
value: {
|
||||||
get() {
|
get() {
|
||||||
return this.modelValue;
|
return this.modelValue;
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ export default {
|
|||||||
min-height: 443px
|
min-height: 443px
|
||||||
max-height: 443px
|
max-height: 443px
|
||||||
overflow-y: auto
|
overflow-y: auto
|
||||||
color: var(--font-dark-blue-color)
|
|
||||||
&::-webkit-scrollbar
|
&::-webkit-scrollbar
|
||||||
width: 4px
|
width: 4px
|
||||||
&::-webkit-scrollbar-track
|
&::-webkit-scrollbar-track
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
.wrapper-addresses.flex.flex-col.flex-auto.h-full.gap-y-8.justify-between
|
.wrapper-addresses.flex.flex-col.flex-auto.h-full.gap-y-8.justify-between
|
||||||
.flex.flex-col.gap-y-6.px-4
|
.flex.flex-col.gap-y-6.px-4
|
||||||
base-input.input-info(
|
base-input(
|
||||||
v-model="addresses.full_address",
|
v-model="addresses.full_address",
|
||||||
placeholder="Введите адрес целиком",
|
placeholder="Введите адрес целиком",
|
||||||
label="Полный адрес"
|
label="Полный адрес"
|
||||||
@@ -10,42 +10,42 @@
|
|||||||
.line.absolute
|
.line.absolute
|
||||||
span.text-sm.separator.px-2 или
|
span.text-sm.separator.px-2 или
|
||||||
.grid.grid-cols-2.gap-y-6.gap-x-4
|
.grid.grid-cols-2.gap-y-6.gap-x-4
|
||||||
base-input.input-info(
|
base-input(
|
||||||
disabled,
|
disabled,
|
||||||
filled,
|
filled,
|
||||||
placeholder="Введите город",
|
placeholder="Введите город",
|
||||||
v-model="addresses.city",
|
v-model="addresses.city",
|
||||||
label="Город"
|
label="Город"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input(
|
||||||
disabled,
|
disabled,
|
||||||
filled,
|
filled,
|
||||||
placeholder="Введите область",
|
placeholder="Введите область",
|
||||||
v-model="addresses.region",
|
v-model="addresses.region",
|
||||||
label="Область"
|
label="Область"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input(
|
||||||
disabled,
|
disabled,
|
||||||
filled,
|
filled,
|
||||||
placeholder="Введите улицу",
|
placeholder="Введите улицу",
|
||||||
v-model="addresses.street",
|
v-model="addresses.street",
|
||||||
label="Введите улицу"
|
label="Введите улицу"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input(
|
||||||
disabled,
|
disabled,
|
||||||
filled,
|
filled,
|
||||||
placeholder="Номер дома",
|
placeholder="Номер дома",
|
||||||
v-model="addresses.house_number",
|
v-model="addresses.house_number",
|
||||||
label="Дом"
|
label="Дом"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input(
|
||||||
disabled,
|
disabled,
|
||||||
filled,
|
filled,
|
||||||
placeholder="Номер квартиры",
|
placeholder="Номер квартиры",
|
||||||
v-model="addresses.apartment_number",
|
v-model="addresses.apartment_number",
|
||||||
label="Квартира"
|
label="Квартира"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input(
|
||||||
disabled,
|
disabled,
|
||||||
filled,
|
filled,
|
||||||
placeholder="000000",
|
placeholder="000000",
|
||||||
@@ -79,7 +79,6 @@ export default {
|
|||||||
min-height: 443px
|
min-height: 443px
|
||||||
max-height: 443px
|
max-height: 443px
|
||||||
overflow-y: auto
|
overflow-y: auto
|
||||||
color: var(--font-grey-color)
|
|
||||||
&::-webkit-scrollbar
|
&::-webkit-scrollbar
|
||||||
width: 4px
|
width: 4px
|
||||||
&::-webkit-scrollbar-track
|
&::-webkit-scrollbar-track
|
||||||
@@ -88,15 +87,13 @@ export default {
|
|||||||
&::-webkit-scrollbar-thumb
|
&::-webkit-scrollbar-thumb
|
||||||
border-radius: 8px
|
border-radius: 8px
|
||||||
background-color: var(--btn-blue-color)
|
background-color: var(--btn-blue-color)
|
||||||
.input-info
|
|
||||||
color: var(--font-dark-blue-color)
|
|
||||||
.title-info
|
|
||||||
color: var(--font-dark-blue-color)
|
|
||||||
.line
|
.line
|
||||||
width: 570px
|
width: 570px
|
||||||
height: 1px
|
height: 1px
|
||||||
background-color: var(--border-light-grey-color)
|
background-color: var(--border-light-grey-color)
|
||||||
z-index: -1
|
z-index: -1
|
||||||
|
|
||||||
.separator
|
.separator
|
||||||
color: var(--font-dark-blue-color)
|
color: var(--font-dark-blue-color)
|
||||||
background-color: var(--default-white)
|
background-color: var(--default-white)
|
||||||
|
|||||||
@@ -7,17 +7,18 @@
|
|||||||
v-model="basicInfo.priority",
|
v-model="basicInfo.priority",
|
||||||
label="Приоритет"
|
label="Приоритет"
|
||||||
)
|
)
|
||||||
base-input-date.input-info(
|
base-input(
|
||||||
|
type="date"
|
||||||
v-model="basicInfo.birth_date",
|
v-model="basicInfo.birth_date",
|
||||||
label="Дата рождения"
|
label="Дата рождения"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input(
|
||||||
v-model="phone.username",
|
v-model="phone.username",
|
||||||
placeholder="+7 (915) 644–92–23",
|
placeholder="+7 (915) 644–92–23",
|
||||||
mask="+7 (###) ###-##-##",
|
mask="+7 (###) ###-##-##",
|
||||||
label="Номер телефона"
|
label="Номер телефона"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input(
|
||||||
v-model="email.username",
|
v-model="email.username",
|
||||||
placeholder="user@yandex.ru",
|
placeholder="user@yandex.ru",
|
||||||
label="Email"
|
label="Email"
|
||||||
@@ -44,7 +45,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import BaseButton from "@/components/base/BaseButton";
|
import BaseButton from "@/components/base/BaseButton";
|
||||||
import BaseInput from "@/components/base/BaseInput";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
|
||||||
import BaseAddingNetwork from "@/components/base/BaseAddingNetwork";
|
import BaseAddingNetwork from "@/components/base/BaseAddingNetwork";
|
||||||
import { column } from "@/pages/clients/utils/tableConfig";
|
import { column } from "@/pages/clients/utils/tableConfig";
|
||||||
import BaseCustomSelect from "@/components/base/BaseCustomSelect";
|
import BaseCustomSelect from "@/components/base/BaseCustomSelect";
|
||||||
@@ -53,7 +53,6 @@ export default {
|
|||||||
name: "FormCreateBasicInfo",
|
name: "FormCreateBasicInfo",
|
||||||
components: {
|
components: {
|
||||||
BaseInput,
|
BaseInput,
|
||||||
BaseInputDate,
|
|
||||||
BaseAddingNetwork,
|
BaseAddingNetwork,
|
||||||
BaseButton,
|
BaseButton,
|
||||||
BaseCustomSelect,
|
BaseCustomSelect,
|
||||||
@@ -82,7 +81,6 @@ export default {
|
|||||||
min-height: 336px
|
min-height: 336px
|
||||||
max-height: 443px
|
max-height: 443px
|
||||||
overflow-y: auto
|
overflow-y: auto
|
||||||
color: var(--font-grey-color)
|
|
||||||
&::-webkit-scrollbar
|
&::-webkit-scrollbar
|
||||||
width: 4px
|
width: 4px
|
||||||
&::-webkit-scrollbar-track
|
&::-webkit-scrollbar-track
|
||||||
@@ -91,8 +89,6 @@ export default {
|
|||||||
&::-webkit-scrollbar-thumb
|
&::-webkit-scrollbar-thumb
|
||||||
border-radius: 8px
|
border-radius: 8px
|
||||||
background-color: var(--btn-blue-color)
|
background-color: var(--btn-blue-color)
|
||||||
.input-info
|
|
||||||
color: var(--font-dark-blue-color)
|
|
||||||
.obligatory
|
.obligatory
|
||||||
color: var(--font-obligatory-color)
|
color: var(--font-obligatory-color)
|
||||||
.add-network
|
.add-network
|
||||||
|
|||||||
@@ -3,24 +3,25 @@
|
|||||||
.flex.flex-col.gap-y-6.px-4
|
.flex.flex-col.gap-y-6.px-4
|
||||||
span.title-info.text-base.font-bold Паспортные данные
|
span.title-info.text-base.font-bold Паспортные данные
|
||||||
.grid.grid-cols-2.gap-x-4.gap-y-6
|
.grid.grid-cols-2.gap-x-4.gap-y-6
|
||||||
base-input.input-info(
|
base-input(
|
||||||
mask="#### ######",
|
mask="#### ######",
|
||||||
v-model="identityDocument.pass.series_number",
|
v-model="identityDocument.pass.series_number",
|
||||||
placeholder="0000 000000",
|
placeholder="0000 000000",
|
||||||
label="Серия и номер"
|
label="Серия и номер"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input(
|
||||||
v-model="identityDocument.pass.issued_by_org",
|
v-model="identityDocument.pass.issued_by_org",
|
||||||
placeholder="Точно как в паспорте",
|
placeholder="Точно как в паспорте",
|
||||||
label="Кем выдан"
|
label="Кем выдан"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input(
|
||||||
mask="###-###",
|
mask="###-###",
|
||||||
v-model="identityDocument.pass.issued_by_org_code",
|
v-model="identityDocument.pass.issued_by_org_code",
|
||||||
placeholder="000–000",
|
placeholder="000–000",
|
||||||
label="Код подразделения"
|
label="Код подразделения"
|
||||||
)
|
)
|
||||||
base-input-date.input-info.h-10(
|
base-input(
|
||||||
|
type="date"
|
||||||
v-model="identityDocument.pass.issued_by_date",
|
v-model="identityDocument.pass.issued_by_date",
|
||||||
placeholder="Дата",
|
placeholder="Дата",
|
||||||
label="Дата выдачи"
|
label="Дата выдачи"
|
||||||
@@ -28,7 +29,7 @@
|
|||||||
.flex.flex-col.gap-y-6.px-4
|
.flex.flex-col.gap-y-6.px-4
|
||||||
span.title-info.text-base.font-bold СНИЛС и ИНН
|
span.title-info.text-base.font-bold СНИЛС и ИНН
|
||||||
.grid.grid-cols-2.gap-x-4.gap-y-6
|
.grid.grid-cols-2.gap-x-4.gap-y-6
|
||||||
base-input.input-info(
|
base-input(
|
||||||
disabled,
|
disabled,
|
||||||
filled,
|
filled,
|
||||||
mask="###-###-### ##",
|
mask="###-###-### ##",
|
||||||
@@ -36,7 +37,7 @@
|
|||||||
placeholder="000–000–000 00",
|
placeholder="000–000–000 00",
|
||||||
label="Номер СНИЛС"
|
label="Номер СНИЛС"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input(
|
||||||
disabled,
|
disabled,
|
||||||
filled,
|
filled,
|
||||||
mask="############",
|
mask="############",
|
||||||
@@ -52,11 +53,10 @@
|
|||||||
<script>
|
<script>
|
||||||
import BaseButton from "@/components/base/BaseButton";
|
import BaseButton from "@/components/base/BaseButton";
|
||||||
import BaseInput from "@/components/base/BaseInput";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "FormCreateIdentityDocuments",
|
name: "FormCreateIdentityDocuments",
|
||||||
components: { BaseInput, BaseInputDate, BaseButton },
|
components: { BaseInput, BaseButton },
|
||||||
props: {
|
props: {
|
||||||
identityDocument: Object,
|
identityDocument: Object,
|
||||||
saveClient: Function,
|
saveClient: Function,
|
||||||
@@ -69,7 +69,6 @@ export default {
|
|||||||
min-height: 443px
|
min-height: 443px
|
||||||
max-height: 443px
|
max-height: 443px
|
||||||
overflow-y: auto
|
overflow-y: auto
|
||||||
color: var(--font-grey-color)
|
|
||||||
&::-webkit-scrollbar
|
&::-webkit-scrollbar
|
||||||
width: 4px
|
width: 4px
|
||||||
&::-webkit-scrollbar-track
|
&::-webkit-scrollbar-track
|
||||||
@@ -78,10 +77,10 @@ export default {
|
|||||||
&::-webkit-scrollbar-thumb
|
&::-webkit-scrollbar-thumb
|
||||||
border-radius: 8px
|
border-radius: 8px
|
||||||
background-color: var(--btn-blue-color)
|
background-color: var(--btn-blue-color)
|
||||||
.input-info
|
|
||||||
color: var(--font-dark-blue-color)
|
|
||||||
.title-info
|
.title-info
|
||||||
color: var(--font-dark-blue-color)
|
color: var(--font-dark-blue-color)
|
||||||
|
|
||||||
.input-date
|
.input-date
|
||||||
border: 1.5px solid var(--border-light-grey-color)
|
border: 1.5px solid var(--border-light-grey-color)
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -35,7 +35,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import BaseInput from "@/components/base/BaseInput";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import BaseButton from "@/components/base/BaseButton";
|
import BaseButton from "@/components/base/BaseButton";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
|
||||||
import BaseSelect from "@/components/base/BaseSelect";
|
import BaseSelect from "@/components/base/BaseSelect";
|
||||||
import MedicalBaseData from "@/pages/medicalCard/components/MedicalBaseData";
|
import MedicalBaseData from "@/pages/medicalCard/components/MedicalBaseData";
|
||||||
import MedicalIdentityDocuments from "@/pages/medicalCard/components/MedicalIdentityDocuments";
|
import MedicalIdentityDocuments from "@/pages/medicalCard/components/MedicalIdentityDocuments";
|
||||||
@@ -48,7 +47,6 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
BaseInput,
|
BaseInput,
|
||||||
BaseButton,
|
BaseButton,
|
||||||
BaseInputDate,
|
|
||||||
BaseSelect,
|
BaseSelect,
|
||||||
MedicalBaseData,
|
MedicalBaseData,
|
||||||
MedicalIdentityDocuments,
|
MedicalIdentityDocuments,
|
||||||
|
|||||||
@@ -8,15 +8,18 @@
|
|||||||
label="Категория"
|
label="Категория"
|
||||||
)
|
)
|
||||||
.flex.justify-between.gap-4
|
.flex.justify-between.gap-4
|
||||||
base-input-date.w-48(
|
base-input(
|
||||||
|
type="date",
|
||||||
v-model="signedDate",
|
v-model="signedDate",
|
||||||
label="Дата подписания"
|
label="Дата подписания"
|
||||||
)
|
)
|
||||||
base-input-date.w-48(
|
base-input(
|
||||||
|
type="date",
|
||||||
v-model="startDate",
|
v-model="startDate",
|
||||||
label="Начало оказания услуг"
|
label="Начало оказания услуг"
|
||||||
)
|
)
|
||||||
base-input-date.w-48(
|
base-input(
|
||||||
|
type="date",
|
||||||
v-model="endDate",
|
v-model="endDate",
|
||||||
label="Окончание оказания услуг"
|
label="Окончание оказания услуг"
|
||||||
)
|
)
|
||||||
@@ -30,14 +33,14 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import BaseStepper from "@/components/base/BaseStepper";
|
import BaseStepper from "@/components/base/BaseStepper";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "AgreementCommon",
|
name: "AgreementCommon",
|
||||||
components: {
|
components: {
|
||||||
BaseStepper,
|
BaseStepper,
|
||||||
BaseInputDate,
|
BaseInput,
|
||||||
BaseCustomSelect,
|
BaseCustomSelect,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
|||||||
@@ -8,15 +8,18 @@
|
|||||||
label="Категория"
|
label="Категория"
|
||||||
)
|
)
|
||||||
.flex.gap-x-4
|
.flex.gap-x-4
|
||||||
base-input-date.w-48(
|
base-input(
|
||||||
|
type="date",
|
||||||
v-model="signedDate",
|
v-model="signedDate",
|
||||||
label="Дата подписания"
|
label="Дата подписания"
|
||||||
)
|
)
|
||||||
base-input-date.w-48(
|
base-input(
|
||||||
|
type="date",
|
||||||
v-model="startDate",
|
v-model="startDate",
|
||||||
label="Начало оказания услуг"
|
label="Начало оказания услуг"
|
||||||
)
|
)
|
||||||
base-input-date.w-48(
|
base-input(
|
||||||
|
type="date",
|
||||||
v-model="endDate",
|
v-model="endDate",
|
||||||
label="Окончание оказания услуг"
|
label="Окончание оказания услуг"
|
||||||
)
|
)
|
||||||
@@ -29,13 +32,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "AgreementServices",
|
name: "AgreementServices",
|
||||||
components: {
|
components: {
|
||||||
BaseInputDate,
|
BaseInput,
|
||||||
BaseCustomSelect,
|
BaseCustomSelect,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
.flex.flex-col(class="gap-y-1.5")
|
.flex.flex-col(class="gap-y-1.5")
|
||||||
.counter.font-semibold.text-smm Дата подписания
|
.counter.font-semibold.text-smm Дата подписания
|
||||||
.input-date.flex.h-10.justify-center
|
.input-date.flex.h-10.justify-center
|
||||||
base-input-date(:width-input="277")
|
base-input(type="date", :width-input="277")
|
||||||
.flex.flex-col.gap-y-6
|
.flex.flex-col.gap-y-6
|
||||||
span.font-bold Дополнительное
|
span.font-bold Дополнительное
|
||||||
.flex.flex-col.mb-124px(class="gap-y-1.5")
|
.flex.flex-col.mb-124px(class="gap-y-1.5")
|
||||||
@@ -83,11 +83,11 @@
|
|||||||
<script>
|
<script>
|
||||||
import BaseInput from "@/components/base/BaseInput";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import BaseButton from "@/components/base/BaseButton";
|
import BaseButton from "@/components/base/BaseButton";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
|
||||||
import BaseSelect from "@/components/base/BaseSelect";
|
import BaseSelect from "@/components/base/BaseSelect";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "TableCreatePackageDoc",
|
name: "TableCreatePackageDoc",
|
||||||
components: { BaseInput, BaseButton, BaseInputDate, BaseSelect },
|
components: { BaseInput, BaseButton, BaseSelect },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isServices: false,
|
isServices: false,
|
||||||
|
|||||||
@@ -3,7 +3,8 @@
|
|||||||
:style="{ width : width + 'px'}"
|
:style="{ width : width + 'px'}"
|
||||||
)
|
)
|
||||||
span(v-if="!isOpenChange") {{ birthday }}
|
span(v-if="!isOpenChange") {{ birthday }}
|
||||||
base-input-date.input.h-10(
|
base-input(
|
||||||
|
type="date",
|
||||||
v-if="isOpenChange",
|
v-if="isOpenChange",
|
||||||
@click.stop,
|
@click.stop,
|
||||||
v-model="value.age"
|
v-model="value.age"
|
||||||
@@ -11,11 +12,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import * as moment from "moment/moment";
|
import * as moment from "moment/moment";
|
||||||
export default {
|
export default {
|
||||||
name: "TableCellBodyBirthday",
|
name: "TableCellBodyBirthday",
|
||||||
components: { BaseInputDate },
|
components: { BaseInput },
|
||||||
props: {
|
props: {
|
||||||
value: Object,
|
value: Object,
|
||||||
width: Number,
|
width: Number,
|
||||||
@@ -34,7 +35,3 @@ export default {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="sass" scoped>
|
|
||||||
.input
|
|
||||||
background-color: var(--default-white)
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
.flex.box-border.px-4.items-center.gap-x-3.w-full.text-sm(
|
.flex.box-border.px-4.items-center.gap-x-3.w-full.text-sm(
|
||||||
:style="{ width : width + 'px'}",
|
:style="{ width : width + 'px'}",
|
||||||
)
|
)
|
||||||
base-avatar(:size="36", :color="avatarColor", v-if="!photo") {{avatar}}
|
base-avatar(:size="36", :color="avatarColor", v-if="!photo && !isOpenChange") {{avatar}}
|
||||||
base-avatar(:size="36", v-else)
|
base-avatar(:size="36", v-else-if="photo && !isOpenChange")
|
||||||
img.h-full.object-cover(:src="url + photo")
|
img.h-full.object-cover(:src="url + photo")
|
||||||
span.font-semibold(v-if="!isOpenChange") {{value.fullName}}
|
span.font-semibold(v-if="!isOpenChange") {{value.fullName}}
|
||||||
.name(v-if="isOpenChange")
|
.name(v-if="isOpenChange")
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
.text-under.flex.not-italic.font-medium.text-base(
|
.text-under.flex.not-italic.font-medium.text-base(
|
||||||
:style="{color: this.underTextColor}"
|
:style="{color: this.underTextColor}"
|
||||||
) Войдите в аккаунт, чтобы начать пользоваться сервисом «Астра».
|
) Войдите в аккаунт, чтобы начать пользоваться сервисом «Астра».
|
||||||
.flex.flex-col.gap-y-2
|
.flex.flex-col.gap-y-5
|
||||||
base-input.font-medium(
|
base-input.font-medium(
|
||||||
:rule="[wrongData => !!wrongData]",
|
:rule="[wrongData => !!wrongData]",
|
||||||
v-model="user.username",
|
v-model="user.username",
|
||||||
@@ -21,16 +21,15 @@
|
|||||||
v-model="user.password",
|
v-model="user.password",
|
||||||
:type="changeType",
|
:type="changeType",
|
||||||
placeholder="Введите ваш пароль",
|
placeholder="Введите ваш пароль",
|
||||||
label="Пароль",
|
label="Пароль"
|
||||||
withIcon
|
|
||||||
)
|
)
|
||||||
.flex.items-center.cursor-pointer
|
.flex.items-center.cursor-pointer
|
||||||
q-icon(
|
q-icon(
|
||||||
v-if="!wrongData && user.password"
|
v-if="!wrongData && user.password"
|
||||||
:name="isView ? 'visibility_off' : 'visibility'",
|
:name="!isView ? 'visibility_off' : 'visibility'",
|
||||||
@click="changeView"
|
@click="changeView"
|
||||||
)
|
)
|
||||||
span.font-medium(:style="{color: this.redColor}", v-show="wrongData") Неверный логин или пароль
|
span.font-medium(:style="{color: this.redColor}", v-if="wrongData") Неверный логин или пароль
|
||||||
.flex.items-center.gap-x-11px
|
.flex.items-center.gap-x-11px
|
||||||
input.w-4.h-4.checkbox.cursor-pointer(@click="persist", type="checkbox")
|
input.w-4.h-4.checkbox.cursor-pointer(@click="persist", type="checkbox")
|
||||||
.flex.non-italic.font-medium.base Запомнить меня
|
.flex.non-italic.font-medium.base Запомнить меня
|
||||||
|
|||||||
@@ -15,7 +15,8 @@
|
|||||||
)
|
)
|
||||||
.flex.gap-x-4
|
.flex.gap-x-4
|
||||||
.input
|
.input
|
||||||
base-input-date(
|
base-input(
|
||||||
|
type="date",
|
||||||
label="Дата рождения",
|
label="Дата рождения",
|
||||||
v-model="clientDetail.birth_date",
|
v-model="clientDetail.birth_date",
|
||||||
)
|
)
|
||||||
@@ -53,7 +54,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import BaseInput from "@/components/base/BaseInput";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
|
||||||
import BaseSelect from "@/components/base/BaseSelect";
|
import BaseSelect from "@/components/base/BaseSelect";
|
||||||
import BaseButton from "@/components/base/BaseButton";
|
import BaseButton from "@/components/base/BaseButton";
|
||||||
import BaseRadioButtonsGroup from "@/components/base/BaseRadioButtonsGroup.vue";
|
import BaseRadioButtonsGroup from "@/components/base/BaseRadioButtonsGroup.vue";
|
||||||
@@ -63,7 +63,6 @@ export default {
|
|||||||
name: "MedicalBaseData",
|
name: "MedicalBaseData",
|
||||||
components: {
|
components: {
|
||||||
BaseInput,
|
BaseInput,
|
||||||
BaseInputDate,
|
|
||||||
BaseSelect,
|
BaseSelect,
|
||||||
BaseButton,
|
BaseButton,
|
||||||
BaseRadioButtonsGroup,
|
BaseRadioButtonsGroup,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
.flex.flex-col.gap-y-6
|
.flex.flex-col.gap-y-6
|
||||||
span.font-bold Паспортные данные
|
span.font-bold Паспортные данные
|
||||||
.flex.flex-col.gap-y-6
|
.flex.flex-col.gap-y-6
|
||||||
base-input.input(
|
base-input(
|
||||||
label="Серия и номер",
|
label="Серия и номер",
|
||||||
placeholder="0000 000000",
|
placeholder="0000 000000",
|
||||||
v-model="clientDetail.identity_documents.number"
|
v-model="clientDetail.identity_documents.number"
|
||||||
@@ -14,12 +14,13 @@
|
|||||||
v-model="clientDetail.identity_documents.issued_by_org"
|
v-model="clientDetail.identity_documents.issued_by_org"
|
||||||
)
|
)
|
||||||
.flex.gap-x-4
|
.flex.gap-x-4
|
||||||
base-input.input(
|
base-input(
|
||||||
label="Код подразделения",
|
label="Код подразделения",
|
||||||
placeholder="000-000",
|
placeholder="000-000",
|
||||||
v-model="clientDetail.identity_documents.issued_by_org_code"
|
v-model="clientDetail.identity_documents.issued_by_org_code"
|
||||||
)
|
)
|
||||||
base-input-date.input(
|
base-input(
|
||||||
|
type="date",
|
||||||
label="Дата выдачи",
|
label="Дата выдачи",
|
||||||
v-model="clientDetail.identity_documents.issued_by_date"
|
v-model="clientDetail.identity_documents.issued_by_date"
|
||||||
)
|
)
|
||||||
@@ -27,21 +28,15 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import BaseInput from "@/components/base/BaseInput";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
|
||||||
import BaseSelect from "@/components/base/BaseSelect";
|
import BaseSelect from "@/components/base/BaseSelect";
|
||||||
import BaseButton from "@/components/base/BaseButton";
|
import BaseButton from "@/components/base/BaseButton";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "MedicalIdentityDocuments",
|
name: "MedicalIdentityDocuments",
|
||||||
components: { BaseInput, BaseInputDate, BaseSelect, BaseButton },
|
components: { BaseInput, BaseSelect, BaseButton },
|
||||||
props: {
|
props: {
|
||||||
changeIdentityDoc: Function,
|
changeIdentityDoc: Function,
|
||||||
clientDetail: Object,
|
clientDetail: Object,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="sass" scoped>
|
|
||||||
.input
|
|
||||||
width: 277px
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -50,7 +50,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import BaseInput from "@/components/base/BaseInput";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
|
||||||
import BaseSelect from "@/components/base/BaseSelect";
|
import BaseSelect from "@/components/base/BaseSelect";
|
||||||
import BaseRadioButtonsGroup from "@/components/base/BaseRadioButtonsGroup.vue";
|
import BaseRadioButtonsGroup from "@/components/base/BaseRadioButtonsGroup.vue";
|
||||||
import { medicalDetailConfig } from "@/pages/medicalCard/utils/medicalConfig.js";
|
import { medicalDetailConfig } from "@/pages/medicalCard/utils/medicalConfig.js";
|
||||||
@@ -59,7 +58,6 @@ export default {
|
|||||||
name: "MedicalPolicyDocuments",
|
name: "MedicalPolicyDocuments",
|
||||||
components: {
|
components: {
|
||||||
BaseInput,
|
BaseInput,
|
||||||
BaseInputDate,
|
|
||||||
BaseSelect,
|
BaseSelect,
|
||||||
BaseRadioButtonsGroup,
|
BaseRadioButtonsGroup,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -7,25 +7,25 @@
|
|||||||
.flex.pt-2
|
.flex.pt-2
|
||||||
.icon-cancel.close-icon.tesxt-xs.cursor-pointer(@click="closeForm")
|
.icon-cancel.close-icon.tesxt-xs.cursor-pointer(@click="closeForm")
|
||||||
.flex.flex-col.gap-y-6
|
.flex.flex-col.gap-y-6
|
||||||
base-input-date(label="Дата")
|
base-input(label="Дата", type="date")
|
||||||
base-custom-select(v-model="currentEmployee", label="Текущий сотрудник")
|
base-custom-select(v-model="currentEmployee", label="Текущий сотрудник")
|
||||||
base-custom-select(v-model="currentEmployee", label="Замена сотрудника")
|
base-custom-select(v-model="currentEmployee", label="Замена сотрудника")
|
||||||
.time-wrapper.flex.justify-center
|
.time-wrapper.flex.justify-center.gap-x-6
|
||||||
base-input-time.px-4.item-input.text-base(label="Начало", v-model="timesShift.start_time")
|
base-input(type="time", label="Начало", v-model="timesShift.start_time")
|
||||||
base-input-time.px-4.item-input.text-base(label="Конец", v-model="timesShift.end_time")
|
.flex.items-center.mt-4 —
|
||||||
|
base-input(type="time", label="Конец", v-model="timesShift.end_time")
|
||||||
.flex.justify-center
|
.flex.justify-center
|
||||||
base-button.font-semibold(:size="40") Сохранить
|
base-button.font-semibold(:size="40") Сохранить
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate.vue";
|
import BaseInput from "@/components/base/BaseInput.vue";
|
||||||
import BaseInputTime from "@/components/base/BaseInputTime.vue";
|
|
||||||
import BaseButton from "@/components/base/BaseButton.vue";
|
import BaseButton from "@/components/base/BaseButton.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "FormChangeShift",
|
name: "FormChangeShift",
|
||||||
components: { BaseCustomSelect, BaseInputDate, BaseInputTime, BaseButton },
|
components: { BaseCustomSelect, BaseInput, BaseButton },
|
||||||
props: { closeForm: Function, timesShift: Object },
|
props: { closeForm: Function, timesShift: Object },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -1,12 +1,15 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
.wrapper-bar.flex.flex-col.gap-y-4.p-5.justify-between
|
.wrapper-bar.flex.flex-col.gap-y-4.p-5.justify-between
|
||||||
.flex.w-full.justify-around.gap-x-4
|
.flex.w-full.justify-around.gap-x-4
|
||||||
.time-wrapper.flex.justify-between
|
.time-wrapper.flex.justify-between.p-7
|
||||||
base-input-time.py-14px.px-4.justify-around.items-center(
|
base-input(
|
||||||
|
type="time",
|
||||||
v-model="times.start_time",
|
v-model="times.start_time",
|
||||||
label="Начало"
|
label="Начало"
|
||||||
)
|
)
|
||||||
base-input-time.py-14px.px-4.justify-around.items-center(
|
.flex.items-center.mt-6 —
|
||||||
|
base-input(
|
||||||
|
type="time",
|
||||||
v-model="times.end_time",
|
v-model="times.end_time",
|
||||||
label="Конец"
|
label="Конец"
|
||||||
)
|
)
|
||||||
@@ -46,8 +49,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import BaseButton from "@/components/base/BaseButton.vue";
|
import BaseButton from "@/components/base/BaseButton.vue";
|
||||||
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
||||||
import BaseInputTime from "@/components/base/BaseInputTime.vue";
|
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate.vue";
|
|
||||||
import BaseInput from "@/components/base/BaseInput.vue";
|
import BaseInput from "@/components/base/BaseInput.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -56,8 +57,6 @@ export default {
|
|||||||
BaseButton,
|
BaseButton,
|
||||||
BaseInput,
|
BaseInput,
|
||||||
BaseCustomSelect,
|
BaseCustomSelect,
|
||||||
BaseInputTime,
|
|
||||||
BaseInputDate,
|
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
buttons: Array,
|
buttons: Array,
|
||||||
@@ -93,6 +92,7 @@ export default {
|
|||||||
width: calc(100vw - 136px)
|
width: calc(100vw - 136px)
|
||||||
|
|
||||||
.time-wrapper
|
.time-wrapper
|
||||||
|
min-width: 320px
|
||||||
height: 120px
|
height: 120px
|
||||||
border: 1.5px solid var(--border-light-grey-color-1)
|
border: 1.5px solid var(--border-light-grey-color-1)
|
||||||
border-radius: 4px
|
border-radius: 4px
|
||||||
|
|||||||
Reference in New Issue
Block a user