Merge branch 'UC-204' into 'master'
Resolve UC-204 See merge request andrusyakka/urban-couscous!258
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
.icon-wrapper.mr-2.flex.justify-center
|
||||
.icon-ok.text-xs.flex.justify-center.items-center(v-if="filter === selectedFilter")
|
||||
.flex.items-center {{ filter }}
|
||||
base-input(type="text", square, placeholder="Искать ...")
|
||||
base-input.p-4(type="text", square, placeholder="Искать ...", borderless)
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
.flex.w-full(class="gap-x-1.5")
|
||||
.flex(:id="value.id" @click="(e) => saveNetworkId(e)")
|
||||
base-select-networks(:style-border="true" :list-data="listAddingNetworks" :option-data="selectedOption" :choose-option="chooseNetwork" :width-select="42")
|
||||
base-input.w-full(v-model="value.username", placeholder="Ссылкa")
|
||||
base-input.w-full(v-model="value.username", placeholder="Ссылкa" outlined)
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
@click="closeAddImage",
|
||||
icon="app:icon-ok"
|
||||
)
|
||||
base-input.w-full(v-model="infoClient.basic.full_name", placeholder="ФИО*")
|
||||
base-input.w-full(v-model="infoClient.basic.full_name", placeholder="ФИО*", outlined)
|
||||
.flex.flex-col.flex-auto.l.gap-y-8
|
||||
.flex
|
||||
button.title-info.px-6.py-2.cursor-pointer.w-full.text-sm(
|
||||
@@ -93,7 +93,6 @@ import { fetchWrapper } from "@/shared/fetchWrapper";
|
||||
import FormCreateBasicInfo from "@/pages/clients/components/FormCreateBasicInfo";
|
||||
import FormCreateIdentityDocuments from "@/pages/clients/components/FormCreateIdentityDocuments";
|
||||
import FormCreateAddresses from "@/pages/clients/components/FormCreateAddresses";
|
||||
import FormCreateAdditional from "@/pages/clients/components/FormCreateAdditional";
|
||||
import BaseInput from "@/components/base/BaseInput";
|
||||
import BasePopup from "@/components/base/BasePopup";
|
||||
import BaseModal from "@/components/base/BaseModal";
|
||||
@@ -101,6 +100,7 @@ import addImageIcon from "@/assets/icons/photo.svg";
|
||||
import TheNotificationProvider from "@/components/Notifications/TheNotificationProvider";
|
||||
import { addNotification } from "@/components/Notifications/notificationContext";
|
||||
import * as moment from "moment";
|
||||
|
||||
export default {
|
||||
name: "BaseClientFormClient",
|
||||
components: {
|
||||
@@ -108,7 +108,6 @@ export default {
|
||||
FormCreateBasicInfo,
|
||||
FormCreateIdentityDocuments,
|
||||
FormCreateAddresses,
|
||||
FormCreateAdditional,
|
||||
BasePopup,
|
||||
BaseModal,
|
||||
addImageIcon,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
span.title-section.font-semibold.text-xs(v-if="field.title" ) {{field.title}}
|
||||
.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")
|
||||
base-input(v-model="data[field.label]" :with-icon="field.copy")
|
||||
base-input(v-model="data[field.label]" :with-icon="field.copy", outlined)
|
||||
.flex.items-center(v-if="field.copy && data[field.label]")
|
||||
.copy.icon-copy.cursor-pointer(@click="() => copyValue(data[field.label])")
|
||||
base-input(v-if="field.type === 'date'" v-model="data[field.label]")
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
q-input(
|
||||
v-model="value",
|
||||
:class="{'circle': circle}",
|
||||
:input-style="{ color: textColor }",
|
||||
:input-style="{ color: textColor, width: width + 'px' }",
|
||||
:borderless="borderless",
|
||||
:placeholder="placeholder",
|
||||
:outlined="outlined",
|
||||
@@ -35,7 +35,7 @@ export default {
|
||||
},
|
||||
outlined: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
default: false,
|
||||
},
|
||||
square: {
|
||||
type: Boolean,
|
||||
@@ -57,7 +57,8 @@ export default {
|
||||
default: "text",
|
||||
},
|
||||
mask: String,
|
||||
maxLength: String,
|
||||
width: Number,
|
||||
maxLength: Number,
|
||||
textColor: String,
|
||||
rule: Array,
|
||||
modelValue: [String, Date],
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
<template lang="pug">
|
||||
.container.flex.flex-col.gap-y-2
|
||||
base-input-container(
|
||||
v-if="radioButtonsLabel",
|
||||
:label="radioButtonsLabel"
|
||||
)
|
||||
q-option-group(
|
||||
q-option-group.flex(
|
||||
class="q-gutter-md",
|
||||
:style="{ columnGap: columnGap + 'px', rowGap: rowGap + 'px' }"
|
||||
:size="size",
|
||||
:options="items"
|
||||
:options="items",
|
||||
type="radio",
|
||||
:id="item?.id",
|
||||
:value="item?.value",
|
||||
v-model="value",
|
||||
:inline="inline"
|
||||
)
|
||||
span {{item?.label}}
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -32,8 +29,8 @@ export default {
|
||||
default: () => [],
|
||||
},
|
||||
directionColumn: Boolean,
|
||||
columnGap: String,
|
||||
rowGap: String,
|
||||
columnGap: Number,
|
||||
rowGap: Number,
|
||||
size: {
|
||||
type: String,
|
||||
default: "sm",
|
||||
@@ -52,26 +49,6 @@ export default {
|
||||
this.$emit("update:modelValue", value);
|
||||
},
|
||||
},
|
||||
radioGroupClasses() {
|
||||
if (this.directionColumn) {
|
||||
return this.columnGap
|
||||
? {
|
||||
"flex-col": true,
|
||||
[this.columnGap]: true,
|
||||
}
|
||||
: {
|
||||
"flex-col": true,
|
||||
"gap-y-1": true,
|
||||
};
|
||||
}
|
||||
if (this.rowGap)
|
||||
return {
|
||||
[this.rowGap]: true,
|
||||
};
|
||||
return {
|
||||
"gap-x-4": true,
|
||||
};
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -1,146 +0,0 @@
|
||||
<template lang="pug">
|
||||
.flex.flex-col.gap-y-2
|
||||
.font-semibold.text-sm.opacity-40(
|
||||
v-if="label",
|
||||
:class="labelClass"
|
||||
) {{ label }}
|
||||
.base-select.flex.justify-between.items-center.py-9px.px-4.gap-4.relative(
|
||||
ref="select",
|
||||
@click="open = !open",
|
||||
:class="{'open': open, 'border-none': borderNone}",
|
||||
)
|
||||
input.w-full.outline-0.not-italic(
|
||||
:placeholder="placeholder",
|
||||
v-model="value.label",
|
||||
)
|
||||
.flex.items-center
|
||||
span.icon-down-arrow.open-icon.flex.text-xsm(:class="{'open': open }")
|
||||
base-options(v-if="open")
|
||||
.items-container.mt-1(
|
||||
@click="closeOptions",
|
||||
v-click-outside="leaveSelect",
|
||||
:class="textClass"
|
||||
)
|
||||
.empty-window.py-2.px-4(v-if="items.length === 0") Ничего не найдено
|
||||
.item.py-2.px-4.cursor-pointer(
|
||||
v-else
|
||||
v-for="item in items",
|
||||
:key="item?.id",
|
||||
:class="{'center': center}",
|
||||
@click="clickItem(item?.id, item?.label)"
|
||||
) {{ item?.label }}
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BaseOptions from "@/components/base/BaseOptions.vue";
|
||||
import BaseInput from "@/components/base/BaseInput.vue";
|
||||
|
||||
export default {
|
||||
name: "BaseSearchSelect",
|
||||
components: { BaseOptions, BaseInput },
|
||||
props: {
|
||||
placeholder: String,
|
||||
items: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
label: String,
|
||||
modelValue: Object,
|
||||
center: Boolean,
|
||||
borderNone: Boolean,
|
||||
textStyle: String,
|
||||
labelStyle: String,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
open: false,
|
||||
filteredItems: [],
|
||||
};
|
||||
},
|
||||
emits: ["update:modelValue"],
|
||||
computed: {
|
||||
value: {
|
||||
get() {
|
||||
return this.modelValue;
|
||||
},
|
||||
set(value) {
|
||||
this.$emit("update:modelValue", value);
|
||||
},
|
||||
},
|
||||
textClass() {
|
||||
return this.textStyle
|
||||
? {
|
||||
[this.textStyle]: true,
|
||||
}
|
||||
: {
|
||||
"text-base": true,
|
||||
};
|
||||
},
|
||||
labelClass() {
|
||||
return this.labelStyle
|
||||
? {
|
||||
[this.labelStyle]: true,
|
||||
}
|
||||
: {
|
||||
"text-sm": true,
|
||||
};
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
clickItem(id, label) {
|
||||
this.value = {
|
||||
id: id,
|
||||
label: label,
|
||||
};
|
||||
},
|
||||
leaveSelect() {
|
||||
this.open = false;
|
||||
},
|
||||
closeOptions(e) {
|
||||
e.stopPropagation();
|
||||
this.open = false;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="sass">
|
||||
.base-select
|
||||
width: 100%
|
||||
border: 1.5px solid var(--border-light-grey-color)
|
||||
border-radius: 4px
|
||||
background-color: white
|
||||
user-select: none
|
||||
height: 40px
|
||||
&.open
|
||||
border: 1.5px solid var(--btn-blue-color)
|
||||
.items-container
|
||||
box-shadow: 1px 1px 8px rgba(37, 40, 80, 0.15)
|
||||
border-radius: 4px
|
||||
background-color: white
|
||||
max-height: 142px
|
||||
overflow-y: auto
|
||||
.placeholder
|
||||
color: var(--font-black-color)
|
||||
opacity: 0.4
|
||||
text-overflow: ellipsis
|
||||
overflow: hidden
|
||||
.item
|
||||
border-bottom: 0.5px solid var(--border-light-grey-color)
|
||||
color: var(--font-black-color)
|
||||
&:hover
|
||||
background-color: rgba(215, 217, 255, 0.25)
|
||||
&:last-child
|
||||
border-bottom: none
|
||||
.open-icon
|
||||
&.open
|
||||
transform: rotate(180deg)
|
||||
.border-none
|
||||
border: none
|
||||
.center
|
||||
display: flex
|
||||
justify-content: center
|
||||
.empty-window
|
||||
color: var(--font-black-color)
|
||||
pointer-events: none
|
||||
</style>
|
||||
@@ -1,7 +1,7 @@
|
||||
<template lang="pug">
|
||||
base-input-container(:label="label")
|
||||
.relative
|
||||
base-input(type="text", v-model="value.label")
|
||||
base-input(type="text", v-model="value.label", outlined)
|
||||
template(#icon)
|
||||
.icon(@click="isExpand = !isExpand")
|
||||
.menu(v-if="isExpand")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template lang="pug">
|
||||
base-input-container(:label="label")
|
||||
.relative
|
||||
base-input(type="text", v-model="value.label")
|
||||
base-input(type="text", v-model="value.label", outlined)
|
||||
template(#icon)
|
||||
.icon(@click="isExpand = !isExpand")
|
||||
.menu(v-if="isExpand")
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
v-else,
|
||||
disabled,
|
||||
v-model="status.label",
|
||||
label="Статус приема"
|
||||
label="Статус приема",
|
||||
outlined
|
||||
)
|
||||
base-custom-select(
|
||||
:items="ownersList",
|
||||
@@ -35,19 +36,22 @@
|
||||
base-input(
|
||||
v-model="eventDate",
|
||||
label="Дата",
|
||||
type="date"
|
||||
type="date",
|
||||
outlined
|
||||
)
|
||||
.flex.gap-x-2.items-center.justify-between
|
||||
base-input(
|
||||
type="time",
|
||||
v-model="startTime",
|
||||
label="Начало"
|
||||
label="Начало",
|
||||
outlined
|
||||
)
|
||||
span.mt-4 —
|
||||
base-input(
|
||||
type="time",
|
||||
v-model="endTime",
|
||||
label="Конец"
|
||||
label="Конец",
|
||||
outlined
|
||||
)
|
||||
q-btn.create-button(
|
||||
v-if="!selectedEventData.id",
|
||||
|
||||
@@ -113,7 +113,8 @@
|
||||
base-input(
|
||||
type="date",
|
||||
v-else-if="isChange && section !== 'docs' && section !== 'additional'",
|
||||
v-model="sectionInfo.issued_by_date"
|
||||
v-model="sectionInfo.issued_by_date",
|
||||
outlined
|
||||
)
|
||||
.copy.icon-copy.cursor-pointer(
|
||||
v-if="item.copy",
|
||||
@@ -136,7 +137,7 @@
|
||||
@click="deleteNote(item.id)"
|
||||
)
|
||||
client-detail-input.text-sm.w-max-fit.relative(
|
||||
maxLength="40",
|
||||
:maxLength="40",
|
||||
:style="{fontWeight:key === 'number'&&600}",
|
||||
v-model="sectionInfo[key].title",
|
||||
placeholder="Заголовок"
|
||||
@@ -147,7 +148,7 @@
|
||||
) {{`${sectionInfo[key].title.length}/40`}}
|
||||
.title-section.text-xxs.font-semibold Описание
|
||||
client-detail-input.text-sm.w-max-fit(
|
||||
maxLength="40",
|
||||
:maxLength="40",
|
||||
:style="{fontWeight:key === 'number'&&600}",
|
||||
v-model="sectionInfo[key].description",
|
||||
placeholder="Описание"
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
:placeholder="placeholder",
|
||||
:maxLength="maxLength",
|
||||
:mask="sharp",
|
||||
:autogrow="choiceGrow"
|
||||
:autogrow="choiceGrow",
|
||||
outlined
|
||||
)
|
||||
slot
|
||||
</template>
|
||||
@@ -20,7 +21,7 @@ export default {
|
||||
props: {
|
||||
modelValue: String,
|
||||
sharp: String,
|
||||
maxLength: String,
|
||||
maxLength: Number,
|
||||
placeholder: String,
|
||||
},
|
||||
computed: {
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
labelStyle="text-xxs",
|
||||
textStyle="text-sm",
|
||||
v-model="dopeAddress.region",
|
||||
label="Область"
|
||||
label="Область",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
disabled,
|
||||
@@ -22,7 +23,8 @@
|
||||
labelStyle="text-xxs",
|
||||
textStyle="text-sm",
|
||||
v-model="dopeAddress.street",
|
||||
label="Улица"
|
||||
label="Улица",
|
||||
outlined
|
||||
)
|
||||
.flex.gap-x-4
|
||||
base-input(
|
||||
@@ -40,6 +42,7 @@
|
||||
v-model="dopeAddress.flat",
|
||||
labelStyle="text-xxs",
|
||||
textStyle="text-sm",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
disabled,
|
||||
@@ -49,6 +52,7 @@
|
||||
v-model="dopeAddress.index",
|
||||
labelStyle="text-xxs",
|
||||
textStyle="text-sm",
|
||||
outlined
|
||||
)
|
||||
</template>
|
||||
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
icon-position="left",
|
||||
v-model="searchClient",
|
||||
placeholder="Введите фамилию",
|
||||
@keyup.enter="searchLastName"
|
||||
@keyup.enter="searchLastName",
|
||||
outlined
|
||||
)
|
||||
.flex.items-center.cursor-pointer
|
||||
.icon-search
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
<template lang="pug">
|
||||
.wrapper-additional.flex.flex-col.gap-y-8.justify-between.text-base
|
||||
.flex.flex-col.gap-y-6.w-full.px-4
|
||||
.flex.flex-col.gap-y-4.w-full(v-for="info in additionalInfo" :key="info.id")
|
||||
.flex.flex-col.gap-y-1
|
||||
base-input(v-model="info.header" placeholder="Заголовок")
|
||||
.flex.px-4.py-3.description
|
||||
textarea.w-full.h-full.outline-0.resize-none(:value="info.description" @input="$emit('update:info.description', $event.target.value)" placeholder="Описание" style="py-10")
|
||||
.upload-wrapper.flex.flex-col.justify-center.items-center
|
||||
.upload-text.text-center.flex.w-fit
|
||||
input.hidden(@change="(e) => saveFile(e)" type="file" :id="info.id")
|
||||
span Загрузите элемент
|
||||
label.label.cursor-pointer(:for="info.id") с комьютера
|
||||
span или перетащите их сюда
|
||||
.add-additional.flex.gap-x-3.cursor-pointer(@click="addNewAdditional")
|
||||
.icon-plus
|
||||
span Добавить еще пункт
|
||||
.px-4
|
||||
base-button(@click="saveClient" :size="40")
|
||||
span.font-semibold Создать клиента
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BaseInput from "@/components/base/BaseInput";
|
||||
import BaseButton from "@/components/base/BaseButton";
|
||||
export default {
|
||||
name: "FormCreateAdditional",
|
||||
components: { BaseInput, BaseButton },
|
||||
props: {
|
||||
additionalInfo: Object,
|
||||
saveClient: Function,
|
||||
addNewAdditional: Function,
|
||||
saveFile: Function,
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.wrapper-additional
|
||||
min-height: 443px
|
||||
max-height: 443px
|
||||
overflow-y: auto
|
||||
&::-webkit-scrollbar
|
||||
width: 4px
|
||||
&::-webkit-scrollbar-track
|
||||
background-color: rgba(211, 212, 220, 0.5)
|
||||
border-radius: 8px
|
||||
&::-webkit-scrollbar-thumb
|
||||
border-radius: 8px
|
||||
background-color: var(--btn-blue-color)
|
||||
.upload-wrapper
|
||||
min-height: 92px
|
||||
max-height: 92px
|
||||
width: 100%
|
||||
color: var(--font-grey-color)
|
||||
border: 2px dashed var(--font-grey-color)
|
||||
border-radius: 4px
|
||||
.upload-text
|
||||
max-width: 278px
|
||||
.label
|
||||
color: var(--btn-blue-color)
|
||||
.description
|
||||
min-height: 77px
|
||||
border-radius: 4px
|
||||
border: 2px solid var(--border-light-grey-color)
|
||||
.add-additional
|
||||
color: var(--btn-blue-color)
|
||||
</style>
|
||||
@@ -4,7 +4,8 @@
|
||||
base-input(
|
||||
v-model="addresses.full_address",
|
||||
placeholder="Введите адрес целиком",
|
||||
label="Полный адрес"
|
||||
label="Полный адрес",
|
||||
outlined
|
||||
)
|
||||
.flex.items-center.justify-center.relative
|
||||
.line.absolute
|
||||
@@ -15,35 +16,40 @@
|
||||
filled,
|
||||
placeholder="Введите город",
|
||||
v-model="addresses.city",
|
||||
label="Город"
|
||||
label="Город",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
disabled,
|
||||
filled,
|
||||
placeholder="Введите область",
|
||||
v-model="addresses.region",
|
||||
label="Область"
|
||||
label="Область",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
disabled,
|
||||
filled,
|
||||
placeholder="Введите улицу",
|
||||
v-model="addresses.street",
|
||||
label="Введите улицу"
|
||||
label="Введите улицу",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
disabled,
|
||||
filled,
|
||||
placeholder="Номер дома",
|
||||
v-model="addresses.house_number",
|
||||
label="Дом"
|
||||
label="Дом",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
disabled,
|
||||
filled,
|
||||
placeholder="Номер квартиры",
|
||||
v-model="addresses.apartment_number",
|
||||
label="Квартира"
|
||||
label="Квартира",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
disabled,
|
||||
@@ -51,7 +57,8 @@
|
||||
placeholder="000000",
|
||||
mask="######",
|
||||
v-model="addresses.zip_code",
|
||||
label="Индекс"
|
||||
label="Индекс",
|
||||
outlined
|
||||
)
|
||||
</template>
|
||||
|
||||
|
||||
@@ -10,18 +10,21 @@
|
||||
base-input(
|
||||
type="date"
|
||||
v-model="basicInfo.birth_date",
|
||||
label="Дата рождения"
|
||||
label="Дата рождения",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
v-model="phone.username",
|
||||
placeholder="+7 (915) 644–92–23",
|
||||
mask="+7 (###) ###-##-##",
|
||||
label="Номер телефона"
|
||||
label="Номер телефона",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
v-model="email.username",
|
||||
placeholder="user@yandex.ru",
|
||||
label="Email"
|
||||
label="Email",
|
||||
outlined
|
||||
)
|
||||
.flex.flex-col.col-start-1.col-end-3.w-100(class="gap-y-1.5")
|
||||
span.text-sm.font-semibold.opacity-40.input-info Ссылки на соцсети
|
||||
|
||||
@@ -7,24 +7,28 @@
|
||||
mask="#### ######",
|
||||
v-model="identityDocument.pass.series_number",
|
||||
placeholder="0000 000000",
|
||||
label="Серия и номер"
|
||||
label="Серия и номер",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
v-model="identityDocument.pass.issued_by_org",
|
||||
placeholder="Точно как в паспорте",
|
||||
label="Кем выдан"
|
||||
label="Кем выдан",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
mask="###-###",
|
||||
v-model="identityDocument.pass.issued_by_org_code",
|
||||
placeholder="000–000",
|
||||
label="Код подразделения"
|
||||
label="Код подразделения",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
type="date"
|
||||
v-model="identityDocument.pass.issued_by_date",
|
||||
placeholder="Дата",
|
||||
label="Дата выдачи"
|
||||
label="Дата выдачи",
|
||||
outlined
|
||||
)
|
||||
.flex.flex-col.gap-y-6
|
||||
span.title-info.text-base.font-bold СНИЛС и ИНН
|
||||
@@ -35,7 +39,8 @@
|
||||
mask="###-###-### ##",
|
||||
v-model="identityDocument.snils.number",
|
||||
placeholder="000–000–000 00",
|
||||
label="Номер СНИЛС"
|
||||
label="Номер СНИЛС",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
disabled,
|
||||
@@ -43,7 +48,8 @@
|
||||
mask="############",
|
||||
v-model="identityDocument.inn.number",
|
||||
placeholder="000000000000",
|
||||
label="Номер ИНН"
|
||||
label="Номер ИНН",
|
||||
outlined
|
||||
)
|
||||
</template>
|
||||
|
||||
|
||||
@@ -11,17 +11,20 @@
|
||||
base-input(
|
||||
type="date",
|
||||
v-model="signedDate",
|
||||
label="Дата подписания"
|
||||
label="Дата подписания",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
type="date",
|
||||
v-model="startDate",
|
||||
label="Начало оказания услуг"
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
type="date",
|
||||
v-model="endDate",
|
||||
label="Окончание оказания услуг"
|
||||
outlined
|
||||
)
|
||||
base-custom-select(
|
||||
placeholder="Поручить",
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
label="ФИО пациента",
|
||||
v-model="patientFullName",
|
||||
disabled
|
||||
outlined
|
||||
)
|
||||
//-.flex.justify-between
|
||||
base-custom-select.w-80(
|
||||
|
||||
@@ -12,16 +12,19 @@
|
||||
type="date",
|
||||
v-model="signedDate",
|
||||
label="Дата подписания"
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
type="date",
|
||||
v-model="startDate",
|
||||
label="Начало оказания услуг"
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
type="date",
|
||||
v-model="endDate",
|
||||
label="Окончание оказания услуг"
|
||||
outlined
|
||||
)
|
||||
base-custom-select(
|
||||
placeholder="Поручить",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template lang="pug">
|
||||
.flex.flex-col.gap-y-3
|
||||
.flex.flex-col.gap-y-3.relative
|
||||
base-input.text-smm(placeholder="Заголовок", v-model="title", :maxLength="40")
|
||||
base-input.text-smm(placeholder="Заголовок", v-model="title", :maxLength="40", outlined)
|
||||
.text.flex.absolute.text-xsx.right-7.top-3 {{`${changeValue}/40`}}
|
||||
.input-wrapper.flex.gap-x-2.px-4.box-border.w-max-fit.text-smm(class="py-2.5")
|
||||
textarea.place-input.w-full.outline-0.not-italic.resize-none(
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
.counter.font-semibold.text-smm ФИО
|
||||
base-input(
|
||||
v-model="patient",
|
||||
placeholder="Введите название для пакета документов"
|
||||
placeholder="Введите название для пакета документов",
|
||||
outlined
|
||||
)
|
||||
span.counter
|
||||
.flex.gap-x-4
|
||||
@@ -27,7 +28,7 @@
|
||||
.flex.flex-col(class="gap-y-1.5")
|
||||
.counter.font-semibold.text-smm Дата подписания
|
||||
.input-date.flex.h-10.justify-center
|
||||
base-input(type="date", :width-input="277")
|
||||
base-input(type="date", :width-input="277", outlined)
|
||||
.flex.flex-col.gap-y-6
|
||||
span.font-bold Дополнительное
|
||||
.flex.flex-col.mb-124px(class="gap-y-1.5")
|
||||
@@ -44,7 +45,8 @@
|
||||
:with-icon="true",
|
||||
icon-position="left",
|
||||
:width-input="310",
|
||||
placeholder="Поиск"
|
||||
placeholder="Поиск",
|
||||
outlined
|
||||
)
|
||||
.counter.icon-search
|
||||
base-select.h-10(placeholder="Вид услуги")
|
||||
|
||||
@@ -4,10 +4,12 @@
|
||||
)
|
||||
span(v-if="!isOpenChange") {{ birthday }}
|
||||
base-input(
|
||||
:width="130"
|
||||
type="date",
|
||||
v-if="isOpenChange",
|
||||
@click.stop,
|
||||
v-model="value.age"
|
||||
v-model="value.age",
|
||||
outlined
|
||||
)
|
||||
</template>
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
v-if="isOpenChange",
|
||||
@click.stop,
|
||||
v-model="value.email.username",
|
||||
:placeholder="value.email.username"
|
||||
:placeholder="value.email.username",
|
||||
outlined
|
||||
)
|
||||
</template>
|
||||
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
base-input(
|
||||
@click.stop,
|
||||
v-model="value.fullName",
|
||||
placeholder="Фамилия Имя Отчество"
|
||||
placeholder="Фамилия Имя Отчество",
|
||||
outlined
|
||||
)
|
||||
</template>
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
:id="network.kind",
|
||||
@click.stop="(e) => deleteNetwork(e)"
|
||||
)
|
||||
.flex.relative.pb-2(class="pl-[46px]")
|
||||
.flex.relative.px-0.pl-0(class="pl-[46px]")
|
||||
base-button(
|
||||
v-if="isOpenChange && settings.settings.length !== getNetworks.length",
|
||||
@click.stop="openPopupAdding",
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
@click.stop,
|
||||
v-model="value.phone.username",
|
||||
:placeholder="value.phone.username",
|
||||
mask="+7 (###) ###-##-##"
|
||||
mask="+7 (###) ###-##-##",
|
||||
outlined
|
||||
)
|
||||
</template>
|
||||
|
||||
@@ -25,8 +26,3 @@ export default {
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.phone
|
||||
width: 158px
|
||||
</style>
|
||||
|
||||
@@ -15,13 +15,15 @@
|
||||
v-model="user.username",
|
||||
placeholder="Введите ваш логин",
|
||||
label="Логин"
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
:rule="[wrongData => !!wrongData]",
|
||||
v-model="user.password",
|
||||
:type="changeType",
|
||||
placeholder="Введите ваш пароль",
|
||||
label="Пароль"
|
||||
label="Пароль",
|
||||
outlined
|
||||
)
|
||||
.flex.items-center.cursor-pointer
|
||||
q-icon(
|
||||
@@ -30,8 +32,8 @@
|
||||
@click="changeView"
|
||||
)
|
||||
span.font-medium(:style="{color: this.redColor}", v-if="wrongData") Неверный логин или пароль
|
||||
.flex.items-center.gap-x-11px
|
||||
input.w-4.h-4.checkbox.cursor-pointer(@click="persist", type="checkbox")
|
||||
.flex.items-center.gap-x-8px
|
||||
q-checkbox(@click="persist", v-model="isView", type="checkbox")
|
||||
.flex.non-italic.font-medium.base Запомнить меня
|
||||
base-button.font-semibold(:disabled="disabledButton", :size="48", @click="login") Войти в аккаунт
|
||||
.absolute.left-12.bottom-12 2022 © Астра
|
||||
@@ -43,6 +45,7 @@ import { fetchWrapper } from "@/shared/fetchWrapper";
|
||||
import BaseInput from "@/components/base/BaseInput";
|
||||
import BaseButton from "@/components/base/BaseButton";
|
||||
import logoMark from "@/assets/images/logoMark.svg";
|
||||
|
||||
export default {
|
||||
name: "TheLogin",
|
||||
components: { BaseInput, BaseButton },
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
base-input.w-full(
|
||||
placeholder="ФИО*",
|
||||
v-model="clientDetail.fullName",
|
||||
disabled
|
||||
disabled,
|
||||
outlined
|
||||
)
|
||||
base-radio-buttons-group(
|
||||
:items="gendersList",
|
||||
@@ -20,6 +21,7 @@
|
||||
type="date",
|
||||
label="Дата рождения",
|
||||
v-model="clientDetail.birth_date",
|
||||
outlined
|
||||
)
|
||||
.input
|
||||
base-input(
|
||||
@@ -27,15 +29,18 @@
|
||||
mask="###-###-### ##",
|
||||
label="СНИЛС",
|
||||
v-model="clientDetail.insurance_number",
|
||||
outlined
|
||||
)
|
||||
.flex.flex-col.gap-y-6
|
||||
base-input(
|
||||
label="Адрес регистрации",
|
||||
placeholder="Введите полный адрес"
|
||||
placeholder="Введите полный адрес",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
label="Фактический адрес места жительства",
|
||||
placeholder="Введите полный адрес"
|
||||
placeholder="Введите полный адрес",
|
||||
outlined
|
||||
)
|
||||
.flex.gap-x-4
|
||||
.input
|
||||
@@ -44,12 +49,14 @@
|
||||
placeholder="+7 (915) 644–92–23",
|
||||
mask="+7 (###) ###-##-##",
|
||||
v-model="clientDetail.phone",
|
||||
outlined
|
||||
)
|
||||
.input
|
||||
base-input(
|
||||
label="Email",
|
||||
placeholder="user@yandex.ru"
|
||||
v-model="clientDetail.email",
|
||||
outlined
|
||||
)
|
||||
</template>
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
.flex.flex-col.gap-y-2(v-for="(key, index) in Object.keys(dentalIndications)")
|
||||
span.font-bold.text-xsx {{`${index+1}. ${configData.dental_indications[key]}`}}
|
||||
medical-dental-formula(v-if="key === 'dental_formula'" :formula-data="dentalIndications[key]")
|
||||
base-input(v-model="dentalIndications[key]" v-else)
|
||||
base-input(v-model="dentalIndications[key]", outlined, v-else)
|
||||
.flex.justify-center
|
||||
base-button.w-fit(:icon-left-size="13", :size="40")
|
||||
span.font-semibold Сохранить
|
||||
|
||||
@@ -6,23 +6,27 @@
|
||||
base-input(
|
||||
label="Серия и номер",
|
||||
placeholder="0000 000000",
|
||||
v-model="clientDetail.identity_documents.number"
|
||||
v-model="clientDetail.identity_documents.number",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
label="Кем выдан",
|
||||
placeholder="Точно как в паспорте",
|
||||
v-model="clientDetail.identity_documents.issued_by_org"
|
||||
v-model="clientDetail.identity_documents.issued_by_org",
|
||||
outlined
|
||||
)
|
||||
.flex.gap-x-4
|
||||
base-input(
|
||||
label="Код подразделения",
|
||||
placeholder="000-000",
|
||||
v-model="clientDetail.identity_documents.issued_by_org_code"
|
||||
v-model="clientDetail.identity_documents.issued_by_org_code",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
type="date",
|
||||
label="Дата выдачи",
|
||||
v-model="clientDetail.identity_documents.issued_by_date"
|
||||
v-model="clientDetail.identity_documents.issued_by_date",
|
||||
outlined
|
||||
)
|
||||
</template>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
base-radio-buttons-group(
|
||||
:items="policiesList",
|
||||
v-model="policy",
|
||||
rowGap="gap-x-[182px]",
|
||||
:columnGap="152",
|
||||
inline
|
||||
)
|
||||
.flex.gap-x-4
|
||||
@@ -14,12 +14,14 @@
|
||||
placeholder="000000 0000000000",
|
||||
v-model="clientDetail.OMSPolicy.number",
|
||||
mask="###### ##########",
|
||||
:disabled="!selectedOMSPolicy"
|
||||
:disabled="!selectedOMSPolicy",
|
||||
outlined
|
||||
)
|
||||
base-input.input(
|
||||
label="Страховая организация полиса ОМС",
|
||||
v-model="clientDetail.OMSPolicy.organization",
|
||||
:disabled="!selectedOMSPolicy"
|
||||
:disabled="!selectedOMSPolicy",
|
||||
outlined
|
||||
)
|
||||
.flex.flex-col.gap-y-4
|
||||
base-input.input(
|
||||
@@ -27,25 +29,30 @@
|
||||
placeholder="000000 0000000000",
|
||||
v-model="clientDetail.DMSPolicy.number",
|
||||
mask="###### ##########",
|
||||
:disabled="selectedOMSPolicy"
|
||||
:disabled="selectedOMSPolicy",
|
||||
outlined
|
||||
)
|
||||
base-input.input(
|
||||
label="Страховая организация полиса ДМС",
|
||||
v-model="clientDetail.DMSPolicy.organization",
|
||||
:disabled="selectedOMSPolicy"
|
||||
:disabled="selectedOMSPolicy",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
label="Код категории льготы",
|
||||
placeholder="000",
|
||||
v-model="clientDetail.benefit_code",
|
||||
v-model="clientDetail.benefit_code",,
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
label="К кому обращаться в случае необходимости",
|
||||
placeholder="ФИО*"
|
||||
placeholder="ФИО*",
|
||||
outlined
|
||||
)
|
||||
base-input(
|
||||
label="Номер телефона",
|
||||
placeholder="+7 (915) 644–92–23"
|
||||
placeholder="+7 (915) 644–92–23",
|
||||
outlined
|
||||
)
|
||||
</template>
|
||||
|
||||
|
||||
@@ -7,13 +7,23 @@
|
||||
.flex.pt-2
|
||||
.icon-cancel.close-icon.tesxt-xs.cursor-pointer(@click="closeForm")
|
||||
.flex.flex-col.gap-y-6
|
||||
base-input(label="Дата", type="date")
|
||||
base-input(label="Дата", type="date", outlined)
|
||||
base-custom-select(v-model="currentEmployee", label="Текущий сотрудник")
|
||||
base-custom-select(v-model="currentEmployee", label="Замена сотрудника")
|
||||
.time-wrapper.flex.justify-center.gap-x-6
|
||||
base-input(type="time", label="Начало", v-model="timesShift.start_time")
|
||||
base-input(
|
||||
type="time",
|
||||
label="Начало",
|
||||
v-model="timesShift.start_time",
|
||||
outlined
|
||||
)
|
||||
.flex.items-center.mt-4 —
|
||||
base-input(type="time", label="Конец", v-model="timesShift.end_time")
|
||||
base-input(
|
||||
type="time",
|
||||
label="Конец",
|
||||
v-model="timesShift.end_time",
|
||||
outlined
|
||||
)
|
||||
.flex.justify-center
|
||||
base-button.font-semibold(:size="40") Сохранить
|
||||
</template>
|
||||
|
||||
@@ -5,13 +5,15 @@
|
||||
base-input(
|
||||
type="time",
|
||||
v-model="times.start_time",
|
||||
label="Начало"
|
||||
label="Начало",
|
||||
outlined
|
||||
)
|
||||
.flex.items-center.mt-6 —
|
||||
base-input(
|
||||
type="time",
|
||||
v-model="times.end_time",
|
||||
label="Конец"
|
||||
label="Конец",
|
||||
outlined
|
||||
)
|
||||
.status-wrapper.flex.flex-col.gap-y-3.p-3
|
||||
.flex.justify-center.items-center.h-10
|
||||
@@ -40,7 +42,8 @@
|
||||
mask="#/#",
|
||||
placeholder="0/0",
|
||||
label="Введите график",
|
||||
v-model="template.item.label"
|
||||
v-model="template.item.label",
|
||||
outlined
|
||||
)
|
||||
.flex.justify-center.gap-x-6.h-10
|
||||
q-btn(
|
||||
|
||||
Reference in New Issue
Block a user