Merge branch 'UC-204' into 'master'
Resolve UC-204 See merge request andrusyakka/urban-couscous!252
This commit is contained in:
11
package-lock.json
generated
11
package-lock.json
generated
@@ -14,7 +14,6 @@
|
|||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"vue": "^3.2.13",
|
"vue": "^3.2.13",
|
||||||
"vue-router": "^4.1.5",
|
"vue-router": "^4.1.5",
|
||||||
"vue-the-mask": "^0.11.1",
|
|
||||||
"vuex": "^4.0.2"
|
"vuex": "^4.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -11575,11 +11574,6 @@
|
|||||||
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
|
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/vue-the-mask": {
|
|
||||||
"version": "0.11.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/vue-the-mask/-/vue-the-mask-0.11.1.tgz",
|
|
||||||
"integrity": "sha512-UquSfnSWejD0zAfcD+3jJ1chUAkOAyoxya9Lxh9acCRtrlmGcAIvd0cQYraWqKenbuZJUdum+S174atv2AuEHQ=="
|
|
||||||
},
|
|
||||||
"node_modules/vuex": {
|
"node_modules/vuex": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz",
|
||||||
@@ -20940,11 +20934,6 @@
|
|||||||
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
|
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"vue-the-mask": {
|
|
||||||
"version": "0.11.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/vue-the-mask/-/vue-the-mask-0.11.1.tgz",
|
|
||||||
"integrity": "sha512-UquSfnSWejD0zAfcD+3jJ1chUAkOAyoxya9Lxh9acCRtrlmGcAIvd0cQYraWqKenbuZJUdum+S174atv2AuEHQ=="
|
|
||||||
},
|
|
||||||
"vuex": {
|
"vuex": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz",
|
||||||
|
|||||||
@@ -14,7 +14,6 @@
|
|||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"vue": "^3.2.13",
|
"vue": "^3.2.13",
|
||||||
"vue-router": "^4.1.5",
|
"vue-router": "^4.1.5",
|
||||||
"vue-the-mask": "^0.11.1",
|
|
||||||
"vuex": "^4.0.2"
|
"vuex": "^4.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -2,33 +2,51 @@
|
|||||||
.flex.flex-col.gap-y-2
|
.flex.flex-col.gap-y-2
|
||||||
.label.font-semibold.text-sm.opacity-40(
|
.label.font-semibold.text-sm.opacity-40(
|
||||||
v-if="label",
|
v-if="label",
|
||||||
:class="labelClass"
|
:class="labelClass",
|
||||||
|
:style="{color: 'var(--font-black-color)'}"
|
||||||
) {{ label }}
|
) {{ label }}
|
||||||
.input-wrapper.flex.gap-x-2.px-4.box-border.py-10px(
|
q-input(
|
||||||
:class="{'border-none': borderNone, 'border-error': borderError }"
|
|
||||||
:style="disabledBackgroundStyle"
|
|
||||||
)
|
|
||||||
input.input.w-full.outline-0.not-italic(
|
|
||||||
v-model="value",
|
v-model="value",
|
||||||
:class="textClass",
|
:input-class="textClass",
|
||||||
:placeholder="placeholder",
|
:placeholder="placeholder",
|
||||||
:disabled="disabled",
|
:outlined="outlined",
|
||||||
:type="type"
|
:dense="dense",
|
||||||
|
:type="type",
|
||||||
|
:filled="filled",
|
||||||
|
:disable="disabled",
|
||||||
|
:rules="rule",
|
||||||
|
:mask="mask",
|
||||||
|
:maxlength="maxLength"
|
||||||
|
hide-bottom-space,
|
||||||
|
autogrow
|
||||||
)
|
)
|
||||||
slot(name='icon')
|
slot.cursor-pointer
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: "BaseInput",
|
name: "BaseInput",
|
||||||
props: {
|
props: {
|
||||||
|
dense: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
outlined: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
filled: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
type: {
|
type: {
|
||||||
default: "text",
|
default: "text",
|
||||||
},
|
},
|
||||||
|
mask: String,
|
||||||
|
maxLength: String,
|
||||||
|
rule: Array,
|
||||||
modelValue: String,
|
modelValue: String,
|
||||||
placeholder: String,
|
placeholder: String,
|
||||||
borderNone: Boolean,
|
|
||||||
borderError: Boolean,
|
|
||||||
disabled: Boolean,
|
disabled: Boolean,
|
||||||
label: String,
|
label: String,
|
||||||
textStyle: String,
|
textStyle: String,
|
||||||
@@ -62,34 +80,6 @@ export default {
|
|||||||
"text-sm": true,
|
"text-sm": true,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
disabledBackgroundStyle() {
|
|
||||||
return this.disabled
|
|
||||||
? {
|
|
||||||
"background-color": "var(--bg-disable-grey-color)",
|
|
||||||
}
|
|
||||||
: false;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="sass" scoped>
|
|
||||||
//TODO: Вынести grey borders в taiwindConfig
|
|
||||||
.input-wrapper
|
|
||||||
border: 1.5px solid var(--border-light-grey-color)
|
|
||||||
border-radius: 4px
|
|
||||||
background-color: var(--default-white)
|
|
||||||
color: var(--font-black-color)
|
|
||||||
height: 40px
|
|
||||||
.border-none
|
|
||||||
border: none
|
|
||||||
.border-error
|
|
||||||
border-color: var(--border-red-color)
|
|
||||||
.input
|
|
||||||
background-color: inherit
|
|
||||||
&:disabled, &[disabled]
|
|
||||||
background-color: var(--bg-disable-grey-color)
|
|
||||||
color: var(--font-grey-color-0)
|
|
||||||
.label
|
|
||||||
color: var(--font-black-color)
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
.flex.flex-col.gap-y-2
|
.flex.flex-col.gap-y-2
|
||||||
.label(v-if="!!label") {{label}}
|
.label(v-if="!!label") {{label}}
|
||||||
.field(:class="{'placeholder-color': !modelValue}")
|
q-input(
|
||||||
input(
|
|
||||||
v-model="value",
|
v-model="value",
|
||||||
type="date",
|
type="date",
|
||||||
max="9999-12-31",
|
outlined,
|
||||||
min="0000-01-01"
|
dense
|
||||||
)
|
)
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
@@ -107,7 +107,6 @@
|
|||||||
v-if="section!=='docs' && section!=='additional' && isChange && settings[section].options[key] !== 'Дата выдачи'",
|
v-if="section!=='docs' && section!=='additional' && isChange && settings[section].options[key] !== 'Дата выдачи'",
|
||||||
:style="{fontWeight:key === 'number'&&600}",
|
:style="{fontWeight:key === 'number'&&600}",
|
||||||
v-model="sectionInfo[key]",
|
v-model="sectionInfo[key]",
|
||||||
:rows="section ==='pass' ? 2 : 1",
|
|
||||||
: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] : ''"
|
||||||
)
|
)
|
||||||
@@ -135,8 +134,8 @@
|
|||||||
:id="item.id",
|
:id="item.id",
|
||||||
@click="deleteNote(item.id)"
|
@click="deleteNote(item.id)"
|
||||||
)
|
)
|
||||||
client-detail-input.text-sm.w-max-fit.pr-12.relative(
|
client-detail-input.text-sm.w-max-fit.relative(
|
||||||
:maxLength="40",
|
maxLength="40",
|
||||||
:style="{fontWeight:key === 'number'&&600}",
|
:style="{fontWeight:key === 'number'&&600}",
|
||||||
v-model="sectionInfo[key].title",
|
v-model="sectionInfo[key].title",
|
||||||
placeholder="Заголовок"
|
placeholder="Заголовок"
|
||||||
@@ -147,7 +146,7 @@
|
|||||||
) {{`${sectionInfo[key].title.length}/40`}}
|
) {{`${sectionInfo[key].title.length}/40`}}
|
||||||
.title-section.text-xxs.font-semibold Описание
|
.title-section.text-xxs.font-semibold Описание
|
||||||
client-detail-input.text-sm.w-max-fit(
|
client-detail-input.text-sm.w-max-fit(
|
||||||
:maxLength="40",
|
maxLength="40",
|
||||||
:style="{fontWeight:key === 'number'&&600}",
|
:style="{fontWeight:key === 'number'&&600}",
|
||||||
v-model="sectionInfo[key].description",
|
v-model="sectionInfo[key].description",
|
||||||
placeholder="Описание"
|
placeholder="Описание"
|
||||||
|
|||||||
@@ -1,43 +1,30 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
.input-wrapper.flex.gap-x-2.px-3.box-border.w-max-fit.text-sm(class="py-2.5")
|
base-input(
|
||||||
textarea.place-input.w-full.outline-0.not-italic.resize-none.font-medium(
|
:type="choiceType"
|
||||||
v-if="!sharp"
|
|
||||||
:rows="textareaRows",
|
|
||||||
v-model="value",
|
|
||||||
:cols="24",
|
|
||||||
:placeholder="placeholder",
|
|
||||||
:maxLength="maxLength"
|
|
||||||
)
|
|
||||||
input.w-full.outline-0.not-italic.font-medium(
|
|
||||||
v-else,
|
|
||||||
v-model="value",
|
v-model="value",
|
||||||
:placeholder="placeholder",
|
:placeholder="placeholder",
|
||||||
v-mask="sharp"
|
:maxLength="maxLength",
|
||||||
|
:mask="sharp"
|
||||||
)
|
)
|
||||||
slot
|
slot
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mask } from "vue-the-mask";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "ClientDetailInput",
|
name: "ClientDetailInput",
|
||||||
|
components: { BaseInput },
|
||||||
emits: ["update:modelValue"],
|
emits: ["update:modelValue"],
|
||||||
props: {
|
props: {
|
||||||
modelValue: String,
|
modelValue: String,
|
||||||
width: Number,
|
|
||||||
sharp: String,
|
sharp: String,
|
||||||
rows: Number,
|
maxLength: String,
|
||||||
maxLength: Number,
|
|
||||||
placeholder: String,
|
placeholder: String,
|
||||||
},
|
},
|
||||||
directives: { mask },
|
|
||||||
computed: {
|
computed: {
|
||||||
heightInput() {
|
choiceType() {
|
||||||
return ((this.width / 100) * 70) / 11;
|
return !this.sharp ? "textarea" : "text";
|
||||||
},
|
|
||||||
textareaRows() {
|
|
||||||
if (this.value.length <= 22) return this.rows;
|
|
||||||
return Math.ceil(this.value.length / 22);
|
|
||||||
},
|
},
|
||||||
value: {
|
value: {
|
||||||
get() {
|
get() {
|
||||||
@@ -50,12 +37,3 @@ export default {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="sass" scoped>
|
|
||||||
.input-wrapper
|
|
||||||
border: 2px solid var(--border-light-grey-color)
|
|
||||||
border-radius: 4px
|
|
||||||
background-color: var(--default-white)
|
|
||||||
textarea
|
|
||||||
overflow: hidden
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
)
|
)
|
||||||
base-input(
|
base-input(
|
||||||
disabled,
|
disabled,
|
||||||
v-mask="'######'",
|
mask="######",
|
||||||
placeholder="000000",
|
placeholder="000000",
|
||||||
label="Индекс",
|
label="Индекс",
|
||||||
v-model="dopeAddress.index",
|
v-model="dopeAddress.index",
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import BaseInput from "@/components/base/BaseInput";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import BaseSelect from "@/components/base/BaseSelect";
|
import BaseSelect from "@/components/base/BaseSelect";
|
||||||
import { mask } from "vue-the-mask";
|
|
||||||
export default {
|
export default {
|
||||||
name: "ClientDetailSectionAddress",
|
name: "ClientDetailSectionAddress",
|
||||||
components: {
|
components: {
|
||||||
@@ -65,6 +65,5 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
dopeAddress: Object,
|
dopeAddress: Object,
|
||||||
},
|
},
|
||||||
directives: { mask },
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
placeholder="Введите фамилию",
|
placeholder="Введите фамилию",
|
||||||
@keyup.enter="searchLastName"
|
@keyup.enter="searchLastName"
|
||||||
)
|
)
|
||||||
|
.flex.items-center.cursor-pointer
|
||||||
.icon-search
|
.icon-search
|
||||||
base-button.font-semibold(
|
base-button.font-semibold(
|
||||||
v-if="createdClientName === ''",
|
v-if="createdClientName === ''",
|
||||||
|
|||||||
@@ -12,38 +12,44 @@
|
|||||||
.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.input-info(
|
||||||
disabled,
|
disabled,
|
||||||
|
filled,
|
||||||
placeholder="Введите город",
|
placeholder="Введите город",
|
||||||
v-model="addresses.city",
|
v-model="addresses.city",
|
||||||
label="Город"
|
label="Город"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input.input-info(
|
||||||
disabled,
|
disabled,
|
||||||
|
filled,
|
||||||
placeholder="Введите область",
|
placeholder="Введите область",
|
||||||
v-model="addresses.region",
|
v-model="addresses.region",
|
||||||
label="Область"
|
label="Область"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input.input-info(
|
||||||
disabled,
|
disabled,
|
||||||
|
filled,
|
||||||
placeholder="Введите улицу",
|
placeholder="Введите улицу",
|
||||||
v-model="addresses.street",
|
v-model="addresses.street",
|
||||||
label="Введите улицу"
|
label="Введите улицу"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input.input-info(
|
||||||
disabled,
|
disabled,
|
||||||
|
filled,
|
||||||
placeholder="Номер дома",
|
placeholder="Номер дома",
|
||||||
v-model="addresses.house_number",
|
v-model="addresses.house_number",
|
||||||
label="Дом"
|
label="Дом"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input.input-info(
|
||||||
disabled,
|
disabled,
|
||||||
|
filled,
|
||||||
placeholder="Номер квартиры",
|
placeholder="Номер квартиры",
|
||||||
v-model="addresses.apartment_number",
|
v-model="addresses.apartment_number",
|
||||||
label="Квартира"
|
label="Квартира"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input.input-info(
|
||||||
disabled,
|
disabled,
|
||||||
|
filled,
|
||||||
placeholder="000000",
|
placeholder="000000",
|
||||||
v-mask="'######'",
|
mask="######",
|
||||||
v-model="addresses.zip_code",
|
v-model="addresses.zip_code",
|
||||||
label="Индекс"
|
label="Индекс"
|
||||||
)
|
)
|
||||||
@@ -56,7 +62,7 @@
|
|||||||
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 BaseCustomSelect from "@/components/base/BaseCustomSelect";
|
import BaseCustomSelect from "@/components/base/BaseCustomSelect";
|
||||||
import { mask } from "vue-the-mask";
|
|
||||||
export default {
|
export default {
|
||||||
name: "FormCreateAddresses",
|
name: "FormCreateAddresses",
|
||||||
components: { BaseInput, BaseButton, BaseCustomSelect },
|
components: { BaseInput, BaseButton, BaseCustomSelect },
|
||||||
@@ -65,7 +71,6 @@ export default {
|
|||||||
saveClient: Function,
|
saveClient: Function,
|
||||||
saveFile: Function,
|
saveFile: Function,
|
||||||
},
|
},
|
||||||
directives: { mask },
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
base-input.input-info(
|
base-input.input-info(
|
||||||
v-model="phone.username",
|
v-model="phone.username",
|
||||||
placeholder="+7 (915) 644–92–23",
|
placeholder="+7 (915) 644–92–23",
|
||||||
v-mask="'+7 (###) ###-##-##'",
|
mask="+7 (###) ###-##-##",
|
||||||
label="Номер телефона"
|
label="Номер телефона"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input.input-info(
|
||||||
@@ -48,7 +48,7 @@ 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";
|
||||||
import { mask } from "vue-the-mask";
|
|
||||||
export default {
|
export default {
|
||||||
name: "FormCreateBasicInfo",
|
name: "FormCreateBasicInfo",
|
||||||
components: {
|
components: {
|
||||||
@@ -69,7 +69,6 @@ export default {
|
|||||||
saveClient: Function,
|
saveClient: Function,
|
||||||
addNetwork: Function,
|
addNetwork: Function,
|
||||||
},
|
},
|
||||||
directives: { mask },
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
networks: column.find((el) => el.name === "networks"),
|
networks: column.find((el) => el.name === "networks"),
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
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.input-info(
|
||||||
v-mask="'#### ######'",
|
mask="#### ######",
|
||||||
v-model="identityDocument.pass.series_number",
|
v-model="identityDocument.pass.series_number",
|
||||||
placeholder="0000 000000",
|
placeholder="0000 000000",
|
||||||
label="Серия и номер"
|
label="Серия и номер"
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
label="Кем выдан"
|
label="Кем выдан"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input.input-info(
|
||||||
v-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="Код подразделения"
|
||||||
@@ -30,14 +30,16 @@
|
|||||||
.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.input-info(
|
||||||
disabled,
|
disabled,
|
||||||
v-mask="'###-###-### ##'",
|
filled,
|
||||||
|
mask="###-###-### ##",
|
||||||
v-model="identityDocument.snils.number",
|
v-model="identityDocument.snils.number",
|
||||||
placeholder="000–000–000 00",
|
placeholder="000–000–000 00",
|
||||||
label="Номер СНИЛС"
|
label="Номер СНИЛС"
|
||||||
)
|
)
|
||||||
base-input.input-info(
|
base-input.input-info(
|
||||||
disabled,
|
disabled,
|
||||||
v-mask="'############'",
|
filled,
|
||||||
|
mask="############",
|
||||||
v-model="identityDocument.inn.number",
|
v-model="identityDocument.inn.number",
|
||||||
placeholder="000000000000",
|
placeholder="000000000000",
|
||||||
label="Номер ИНН"
|
label="Номер ИНН"
|
||||||
@@ -51,7 +53,7 @@
|
|||||||
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 BaseInputDate from "@/components/base/BaseInputDate";
|
||||||
import { mask } from "vue-the-mask";
|
|
||||||
export default {
|
export default {
|
||||||
name: "FormCreateIdentityDocuments",
|
name: "FormCreateIdentityDocuments",
|
||||||
components: { BaseInput, BaseInputDate, BaseButton },
|
components: { BaseInput, BaseInputDate, BaseButton },
|
||||||
@@ -59,7 +61,6 @@ export default {
|
|||||||
identityDocument: Object,
|
identityDocument: Object,
|
||||||
saveClient: Function,
|
saveClient: Function,
|
||||||
},
|
},
|
||||||
directives: { mask },
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
base-input(
|
base-input(
|
||||||
v-model="patient.seriesAndNumber",
|
v-model="patient.seriesAndNumber",
|
||||||
disabled,
|
disabled,
|
||||||
v-mask="'#### ######'"
|
mask="#### ######"
|
||||||
label="Серия и номер"
|
label="Серия и номер"
|
||||||
)
|
)
|
||||||
.flex.justify-between
|
.flex.justify-between
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
base-input(
|
base-input(
|
||||||
v-model="patient.seriesAndNumber",
|
v-model="patient.seriesAndNumber",
|
||||||
disabled,
|
disabled,
|
||||||
v-mask="'#### ######'"
|
mask="#### ######"
|
||||||
label="Серия и номер"
|
label="Серия и номер"
|
||||||
)
|
)
|
||||||
.flex.justify-between
|
.flex.justify-between
|
||||||
@@ -73,7 +73,6 @@ import KitShortList from "@/components/kit/KitShortList.vue";
|
|||||||
import KitToggle from "@/components/kit/KitToggle.vue";
|
import KitToggle from "@/components/kit/KitToggle.vue";
|
||||||
//import { fetchWrapper } from "@/shared/fetchWrapper";
|
//import { fetchWrapper } from "@/shared/fetchWrapper";
|
||||||
|
|
||||||
import { mask } from "vue-the-mask";
|
|
||||||
export default {
|
export default {
|
||||||
name: "AgreementPerson",
|
name: "AgreementPerson",
|
||||||
components: {
|
components: {
|
||||||
@@ -84,7 +83,6 @@ export default {
|
|||||||
KitShortList,
|
KitShortList,
|
||||||
KitToggle,
|
KitToggle,
|
||||||
},
|
},
|
||||||
directives: { mask },
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
patientEqualClient: true,
|
patientEqualClient: true,
|
||||||
|
|||||||
@@ -8,13 +8,13 @@
|
|||||||
@click.stop,
|
@click.stop,
|
||||||
v-model="value.phone.username",
|
v-model="value.phone.username",
|
||||||
:placeholder="value.phone.username",
|
:placeholder="value.phone.username",
|
||||||
v-mask="'+7 (###) ###-##-##'"
|
mask="+7 (###) ###-##-##"
|
||||||
)
|
)
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import BaseInput from "@/components/base/BaseInput";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import { mask } from "vue-the-mask";
|
|
||||||
export default {
|
export default {
|
||||||
name: "TableCellBodyPhone",
|
name: "TableCellBodyPhone",
|
||||||
components: { BaseInput },
|
components: { BaseInput },
|
||||||
@@ -23,7 +23,6 @@ export default {
|
|||||||
width: Number,
|
width: Number,
|
||||||
isOpenChange: Boolean,
|
isOpenChange: Boolean,
|
||||||
},
|
},
|
||||||
directives: { mask },
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +1,35 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
.login-wrapper.flex
|
.flex.h-full.w-full.relative.overflow-hidden
|
||||||
.left-col.flex.flex-col.items-center
|
.left-col.flex.flex-col.items-center.justify-center
|
||||||
.logo-wrapper.absolute.left-12.top-12
|
.logo-wrapper.absolute.left-12.top-12
|
||||||
img(:src="logoMark")
|
img(:src="logoMark")
|
||||||
.login-panel.flex.flex-col.justify-center.gap-y-10
|
.login-panel.flex.flex-col.justify-center.gap-y-10
|
||||||
.flex.flex-col.gap-y-2
|
.flex.flex-col.gap-y-2
|
||||||
.text-welcome.flex.not-italic.font-bold.text-5xl Добро пожаловать!
|
.text-welcome.flex.not-italic.font-bold.text-5xl Добро пожаловать!
|
||||||
.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-5
|
) Войдите в аккаунт, чтобы начать пользоваться сервисом «Астра».
|
||||||
|
.flex.flex-col.gap-y-2
|
||||||
base-input.font-medium(
|
base-input.font-medium(
|
||||||
:borderError="wrongData",
|
:rule="[wrongData => !!wrongData]",
|
||||||
v-model="user.username",
|
v-model="user.username",
|
||||||
placeholder="Введите ваш логин",
|
placeholder="Введите ваш логин",
|
||||||
label="Логин"
|
label="Логин"
|
||||||
)
|
)
|
||||||
.flex.flex-col.gap-y-6px.relative
|
|
||||||
.flex.non-italic.font-semibold.text-sm.opacity-40 Пароль
|
|
||||||
base-input(
|
base-input(
|
||||||
:borderError="wrongData",
|
:rule="[wrongData => !!wrongData]",
|
||||||
v-model="user.password",
|
v-model="user.password",
|
||||||
:type="changeType",
|
:type="changeType",
|
||||||
placeholder="Введите ваш пароль"
|
placeholder="Введите ваш пароль",
|
||||||
|
label="Пароль",
|
||||||
|
withIcon
|
||||||
|
)
|
||||||
|
.flex.items-center.cursor-pointer
|
||||||
|
q-icon(
|
||||||
|
v-if="!wrongData && user.password"
|
||||||
|
:name="isView ? 'visibility_off' : 'visibility'",
|
||||||
|
@click="changeView"
|
||||||
)
|
)
|
||||||
img.absolute.z-10.right-4.bottom-10px.cursor-pointer(:src="changeIcon", alt="eyePassword", @click="changeView")
|
|
||||||
span.font-medium(:style="{color: this.redColor}", v-show="wrongData") Неверный логин или пароль
|
span.font-medium(:style="{color: this.redColor}", v-show="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")
|
||||||
@@ -37,8 +43,6 @@
|
|||||||
import { fetchWrapper } from "@/shared/fetchWrapper";
|
import { fetchWrapper } from "@/shared/fetchWrapper";
|
||||||
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 viewPasswordIcon from "@/assets/icons/eye.svg";
|
|
||||||
import hidePasswordIcon from "@/assets/icons/openEye.svg";
|
|
||||||
import logoMark from "@/assets/images/logoMark.svg";
|
import logoMark from "@/assets/images/logoMark.svg";
|
||||||
export default {
|
export default {
|
||||||
name: "TheLogin",
|
name: "TheLogin",
|
||||||
@@ -47,8 +51,6 @@ export default {
|
|||||||
return {
|
return {
|
||||||
underTextColor: "var(--font-grey-color)",
|
underTextColor: "var(--font-grey-color)",
|
||||||
isView: false,
|
isView: false,
|
||||||
viewPassword: viewPasswordIcon,
|
|
||||||
hidePassword: hidePasswordIcon,
|
|
||||||
logoMark,
|
logoMark,
|
||||||
authorized: true,
|
authorized: true,
|
||||||
user: { username: "", password: "" },
|
user: { username: "", password: "" },
|
||||||
@@ -60,9 +62,6 @@ export default {
|
|||||||
wrongData() {
|
wrongData() {
|
||||||
return !this.authorized && !this.user.username && !this.user.password;
|
return !this.authorized && !this.user.username && !this.user.password;
|
||||||
},
|
},
|
||||||
changeIcon() {
|
|
||||||
return !this.isView ? this.viewPassword : this.hidePassword;
|
|
||||||
},
|
|
||||||
changeType() {
|
changeType() {
|
||||||
return !this.isView ? "password" : "text";
|
return !this.isView ? "password" : "text";
|
||||||
},
|
},
|
||||||
@@ -118,28 +117,26 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="sass" scoped>
|
<style lang="sass" scoped>
|
||||||
.login-wrapper
|
|
||||||
width: 100%
|
|
||||||
height: 100%
|
|
||||||
position: relative
|
|
||||||
overflow: hidden
|
|
||||||
.left-col
|
.left-col
|
||||||
display: flex
|
|
||||||
justify-content: center
|
|
||||||
background-color: var(--default-white)
|
background-color: var(--default-white)
|
||||||
height: 100%
|
height: 100%
|
||||||
width: 40%
|
width: 40%
|
||||||
|
|
||||||
.logo-wrapper
|
.logo-wrapper
|
||||||
width: 89.28px
|
width: 90px
|
||||||
height: 74.64px
|
height: 75px
|
||||||
|
|
||||||
.login-panel
|
.login-panel
|
||||||
width: 444px
|
width: 444px
|
||||||
height: 422px
|
height: 422px
|
||||||
|
|
||||||
.text-welcome
|
.text-welcome
|
||||||
letter-spacing: 0.02em
|
letter-spacing: 0.02em
|
||||||
color: var(--font-dark-blue-color)
|
color: var(--font-dark-blue-color)
|
||||||
|
|
||||||
.input-wrapper
|
.input-wrapper
|
||||||
border-width: 1.5px
|
border-width: 1.5px
|
||||||
|
|
||||||
.right-col
|
.right-col
|
||||||
height: 100%
|
height: 100%
|
||||||
background-color: var(--font-dark-blue-color)
|
background-color: var(--font-dark-blue-color)
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
.input
|
.input
|
||||||
base-input(
|
base-input(
|
||||||
placeholder="000–000–000 00",
|
placeholder="000–000–000 00",
|
||||||
v-mask="'###-###-### ##'",
|
mask="###-###-### ##",
|
||||||
label="СНИЛС",
|
label="СНИЛС",
|
||||||
v-model="clientDetail.insurance_number",
|
v-model="clientDetail.insurance_number",
|
||||||
)
|
)
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
base-input(
|
base-input(
|
||||||
label="Номер телефона",
|
label="Номер телефона",
|
||||||
placeholder="+7 (915) 644–92–23",
|
placeholder="+7 (915) 644–92–23",
|
||||||
v-mask="'+7 (###) ###-##-##'",
|
mask="+7 (###) ###-##-##",
|
||||||
v-model="clientDetail.phone",
|
v-model="clientDetail.phone",
|
||||||
)
|
)
|
||||||
.input
|
.input
|
||||||
@@ -56,7 +56,6 @@ import BaseInput from "@/components/base/BaseInput";
|
|||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
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 { mask } from "vue-the-mask";
|
|
||||||
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";
|
||||||
|
|
||||||
@@ -69,7 +68,6 @@ export default {
|
|||||||
BaseButton,
|
BaseButton,
|
||||||
BaseRadioButtonsGroup,
|
BaseRadioButtonsGroup,
|
||||||
},
|
},
|
||||||
directives: { mask },
|
|
||||||
props: {
|
props: {
|
||||||
clientDetail: Object,
|
clientDetail: Object,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -30,12 +30,10 @@ import BaseInput from "@/components/base/BaseInput";
|
|||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
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 { mask } from "vue-the-mask";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "MedicalIdentityDocuments",
|
name: "MedicalIdentityDocuments",
|
||||||
components: { BaseInput, BaseInputDate, BaseSelect, BaseButton },
|
components: { BaseInput, BaseInputDate, BaseSelect, BaseButton },
|
||||||
directives: { mask },
|
|
||||||
props: {
|
props: {
|
||||||
changeIdentityDoc: Function,
|
changeIdentityDoc: Function,
|
||||||
clientDetail: Object,
|
clientDetail: Object,
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
label="Серия и номер полиса ОМС",
|
label="Серия и номер полиса ОМС",
|
||||||
placeholder="000000 0000000000",
|
placeholder="000000 0000000000",
|
||||||
v-model="clientDetail.OMSPolicy.number",
|
v-model="clientDetail.OMSPolicy.number",
|
||||||
v-mask="'###### ##########'",
|
mask="###### ##########",
|
||||||
:disabled="!selectedOMSPolicy"
|
:disabled="!selectedOMSPolicy"
|
||||||
)
|
)
|
||||||
base-input.input(
|
base-input.input(
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
label="Серия и номер полиса ДМС",
|
label="Серия и номер полиса ДМС",
|
||||||
placeholder="000000 0000000000",
|
placeholder="000000 0000000000",
|
||||||
v-model="clientDetail.DMSPolicy.number",
|
v-model="clientDetail.DMSPolicy.number",
|
||||||
v-mask="'###### ##########'",
|
mask="###### ##########",
|
||||||
:disabled="selectedOMSPolicy"
|
:disabled="selectedOMSPolicy"
|
||||||
)
|
)
|
||||||
base-input.input(
|
base-input.input(
|
||||||
@@ -52,7 +52,6 @@
|
|||||||
import BaseInput from "@/components/base/BaseInput";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate";
|
import BaseInputDate from "@/components/base/BaseInputDate";
|
||||||
import BaseSelect from "@/components/base/BaseSelect";
|
import BaseSelect from "@/components/base/BaseSelect";
|
||||||
import { mask } from "vue-the-mask";
|
|
||||||
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";
|
||||||
|
|
||||||
@@ -64,7 +63,6 @@ export default {
|
|||||||
BaseSelect,
|
BaseSelect,
|
||||||
BaseRadioButtonsGroup,
|
BaseRadioButtonsGroup,
|
||||||
},
|
},
|
||||||
directives: { mask },
|
|
||||||
props: {
|
props: {
|
||||||
clientDetail: Object,
|
clientDetail: Object,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
)
|
)
|
||||||
base-input.w-28(
|
base-input.w-28(
|
||||||
v-if="template.item.id === 1"
|
v-if="template.item.id === 1"
|
||||||
v-mask="'#/#'",
|
mask="#/#",
|
||||||
placeholder="0/0",
|
placeholder="0/0",
|
||||||
label="Введите график",
|
label="Введите график",
|
||||||
v-model="template.item.label"
|
v-model="template.item.label"
|
||||||
@@ -49,7 +49,6 @@ import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
|||||||
import BaseInputTime from "@/components/base/BaseInputTime.vue";
|
import BaseInputTime from "@/components/base/BaseInputTime.vue";
|
||||||
import BaseInputDate from "@/components/base/BaseInputDate.vue";
|
import BaseInputDate from "@/components/base/BaseInputDate.vue";
|
||||||
import BaseInput from "@/components/base/BaseInput.vue";
|
import BaseInput from "@/components/base/BaseInput.vue";
|
||||||
import { mask } from "vue-the-mask";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "ScheduleBar",
|
name: "ScheduleBar",
|
||||||
@@ -67,7 +66,6 @@ export default {
|
|||||||
createSchedules: Function,
|
createSchedules: Function,
|
||||||
deleteSchedule: Function,
|
deleteSchedule: Function,
|
||||||
},
|
},
|
||||||
directives: { mask },
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
templateList: [
|
templateList: [
|
||||||
|
|||||||
Reference in New Issue
Block a user