Files
site/resources/js/Pages/Settings/SettingsVerification.vue

179 lines
6.2 KiB
Vue
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<meta-head title="Верификация"></meta-head>
<div class="xl:container xl:mx-auto px-2 md:px-3">
<div class="mt-16 shadow-classic rounded-md bg-indigo-200">
<div class="flex flex-col md:grid grid-cols-6 lg:grid-cols-5">
<settings-menu />
<div class="col-span-4">
<div class="mx-4 2xl:mx-28 my-8">
<h2 class="text-xl lg:text-2xl xl:text-3xl text-white font-semibold">
Верификация: паспорт
</h2>
<div>
<div v-if="isPassportVerified">
<div class="mt-5 text-green font-semibold text-lg">
Аккаунт успешно верифицирован
</div>
</div>
<div v-else>
<form class="flex flex-col" @submit.prevent="submit">
<file-input
v-model="form.docs"
accept="image/png, image/jpeg, image/jpg"
:error="form.errors.docs"
label="Скан 1ой страницы паспорта(.png,.jpg)"
/>
<div class="mt-3 flex flex-wrap">
<progress
v-if="form.progress"
class="mx-3 my-1 w-full"
:value="form.progress.percentage"
max="100"
>
{{ form.progress.percentage }}%
</progress>
<loading-button :loading="form.processing" class=" transition shadow-none hover:shadow-classic2 inline-flex items-center px-8 py-1.5 justify-center text-base rounded-md text-white bg-orange focus:outline-none"
type="submit"
>
Загрузить
</loading-button>
</div>
</form>
<div v-if="docUuid">
<p class="mt-4 text-sm text-white">
<a :href="route('users.get.document', {'uuid': docUuid}) " class="underline">
<span>Ваш паспорт</span>
</a>
</p>
<p class="text-sm text-white">
(Ожидайте верификацию, для замены загрузите скан заново)
</p>
</div>
</div>
</div>
<!-- <div class="my-5">
<hr>
</div> -->
<!-- <h2 class="text-xl lg:text-2xl xl:text-3xl text-white font-semibold">
Верификация: телефон
</h2>
<div v-if="isPhoneVerify" class="mt-5 text-green font-semibold text-lg">
Ваш номер успешно верифицирован!
</div> -->
<!-- <div v-else class="mt-2">
<p class=" text-white text-lg">
На номер телефона {{ phone }}, будет совершен звонок, нужно ввести 4-х значный код
</p>
<div v-if="isToken" class="mt-5">
<div class="flex flex-col">
<text-input v-model="token"
type="text" class="focus:ring-4 focus:ring-offset-1 focus:ring-orange focus:ring-opacity-20 focus:ring-offset-orange focus:border-transparent text-gray border border-indigo-300 bg-indigo-200 rounded-md placeholder-gray-light"
label="Введите код"
/>
<div>
<button type="button"
class="text-white bg-orange hover:shadow-classic2 mt-4 my-1 transition shadow-none inline-flex items-center px-8 py-2 justify-center text-base rounded-md"
@click="sendVerifyCode"
>
Отправить
</button>
</div>
</div>
</div>
<button v-else type="button"
class="text-white bg-pink hover:shadow-pink mt-5 my-1 transition shadow-none inline-flex items-center px-8 py-2 justify-center text-base rounded-md"
@click="sendCode"
>
Отправить код
</button>
</div> -->
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import TextInput from '@/Shared/Form/TextInput.vue'
import { Inertia } from '@inertiajs/inertia'
import { useForm, usePage } from '@inertiajs/inertia-vue3'
import LoadingButton from '@/Shared/Form/LoadingButton.vue'
import FileInput from '@/Shared/Form/FileInput.vue'
import Layout from '@/Shared/Layout.vue'
import SettingsMenu from '@/Shared/LayoutParts/SettingsMenu.vue'
import MetaHead from '@/Shared/MetaHead.vue'
import { ref } from 'vue'
export default {
components: {
MetaHead,
SettingsMenu,
FileInput,
LoadingButton,
TextInput
},
layout: Layout,
props: {
docUuid: {
type: String,
default: null
},
phone: {
type: String,
default: ''
},
isToken: {
type: Boolean,
default: false
},
isPhoneVerify: {
type: Boolean,
default: false
},
isPassportVerified: {
type: Boolean,
default: false
},
},
setup(props) {
const form = useForm({
docs: null,
})
const token = ref('')
const submit = () => {
if(!form.docs) return
form.post(route('users.document'), {
onSuccess: () => form.reset(),
})
}
const sendCode = () => {
Inertia.post(route('users.phone.verify.request'))
}
const sendVerifyCode = () => {
Inertia.post(route('users.phone.verify.token'), {
token: token.value,
})
}
return {
form,
submit,
sendCode,
sendVerifyCode,
token,
}
}
}
</script>