Files
asco_admin/src/views/register/Register.vue
T

873 lines
46 KiB
Vue
Raw Normal View History

2021-01-30 22:35:05 +03:30
<template>
<div class="mx-5">
<div class="flex justify-center">
<img src="@/assets/images/logo.svg" width="150px" class="mt-10"/>
</div>
<vx-card class="mx-auto mt-10">
<a-steps :current="current" style="direction: ltr">
<a-step title="مرحله اول" />
<a-step title="مرحله دوم" />
<a-step title="مرحله سوم" />
</a-steps>
<div v-show="current == 0">
<p class="mt-6">
متقاضی گرامی ضمن سپاس از علاقه مندی شما برای همکاری با مجموعه آسکو بین الملل، لطفا اطلاعات شخصی و شغل مورد نظر خود را به دقت تکمیل فرمایید.
</p>
<p>
درخواستها مورد بررسی قرار گرفته و در صورت هماهنگی با فرصتهای شغلی شرکت، با شما تماس گرفته خواهد شد.
</p>
<p>
با تشکر و آرزوی موفقیت
</p>
</div>
<a-divider/>
<div class="steps-content">
<ASpin :spinning="loading">
<a-form :form="formFirst">
<div v-show="current==0" class="mt-4">
<a-button type="primary" @click="addCity()">
افزودن ردیف
</a-button>
<a-card :bordered="true" class="mt-3" v-for="(item,index) in jobs">
<div class="grid sm:grid-cols-1 md:grid-cols-2 md:gap-3 lg:grid-cols-2 lg:gap-3">
<div>
<a-form-item label="انتخاب شهر">
<a-select
v-decorator="[`jobs[${index}].city`,{rules: [{ required: true, message: 'انتخاب شهر الزامی است.' }]}]"
autocomplete="off"
placeholder="لطفا شهر را انتخاب کنید."
>
<a-select-option v-for="item in city" :value="item.id">
{{ item.title }}
</a-select-option>
</a-select>
</a-form-item>
</div>
<a-form-item label="انتخاب شغل">
<a-select autocomplete="off" aria-placeholder="لطفا شغل خود را انتخاب کنید." v-decorator="[`jobs[${index}].job`,{rules: [{ required: true, message: 'انتخاب شغل الزامی است.' }]}]">
<a-select-option v-for="item in job" :value="item.id">
{{ item.title }}
</a-select-option>
</a-select>
</a-form-item>
</div>
</a-card>
</div>
</a-form>
<a-form :form="from">
<div v-show="current==1">
<a-alert message="توجه داشته باشید پس از ثبت اطلاعات، بازگشت عملیات امکان پذیر نخواهد بود." type="warning" />
<div class="grid sm:grid-cols-1 md:grid-cols-4 lg:grid-cols-4 gap-4 mt-5">
<a-form-item label="نام و نام خانوادگی">
<a-input autocomplete="off" v-decorator="['name',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" />
</a-form-item>
<a-form-item label="نام پدر">
<a-input autocomplete="off" v-decorator="['father_name',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" />
</a-form-item>
<div>
<a-form-item label="تاریخ تولد">
<!-- birth_date-->
<a-input
v-model="birth_day"
id="birth_day"
autocomplete="off"
/>
</a-form-item>
<date-picker
:auto-submit="true"
color="#4f72ab"
v-model="birth_day"
element="birth_day"
/>
</div>
<a-form-item label="کد ملی">
<a-input autocomplete="off" v-decorator="['ncode',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" />
</a-form-item>
</div>
<div class="grid lg:grid-cols-4 md:grid-cols-4 sm:grid-cols-1 gap-4">
2021-01-30 22:35:05 +03:30
<a-form-item label="جنسیت">
<a-radio-group style="direction: ltr" v-decorator="['gender',{ initialValue: '1' }]" button-style="solid">
<a-radio-button value="2">
زن
</a-radio-button>
<a-radio-button value="1">
مرد
</a-radio-button>
</a-radio-group>
</a-form-item>
<a-form-item label="وضعیت تاهل">
<a-radio-group style="direction: ltr" v-decorator="['married',{initialValue: '1'}]" button-style="solid">
<a-radio-button value="1">
مجرد
</a-radio-button>
<a-radio-button value="2">
متاهل
</a-radio-button>
</a-radio-group>
</a-form-item>
<a-form-item label="شماره حساب بانک پاسارگاد">
<a-input autocomplete="off" v-decorator="['pasargad_bank_number',{initialValue: null}]" />
</a-form-item>
<a-form-item label="حقوق درخواستی">
<a-input autocomplete="off" v-decorator="['requested_salary',{initialValue: null}]" />
</a-form-item>
2021-01-30 22:35:05 +03:30
</div>
<a-card :bordered="true" >
<a-alert message="توضیحات سریال شناسنامه" type="info" />
<div class="grid sm:grid-cols-1 md:grid-cols-4 lg:grid-cols-4 gap-4">
<a-form-item label="شماره شناسنامه">
<a-input autocomplete="off" v-decorator="['iden_code',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" />
</a-form-item>
<a-form-item label="سریال شناسنامه">
<a-input-group compact style="direction: ltr">
<a-select style="width: 23%" v-decorator="['iden_no_left',{initialValue: null}]">
2021-01-30 22:35:05 +03:30
<a-select-option style="width: 100% !important;" v-for="item in alphabet" :value="item">
{{ item }}
</a-select-option>
</a-select>
<a-input v-decorator="['iden_no_right',{initialValue: null}]" autocomplete="off" style="width: 70%;direction: rtl" />
2021-01-30 22:35:05 +03:30
</a-input-group>
</a-form-item>
<!-- <a-input-group compact>
<a-select default-value="Option1">
<a-select-option value="Option1">
Option1
</a-select-option>
<a-select-option value="Option2">
Option2
</a-select-option>
</a-select>
<a-input style="width: 50%" default-value="input content" />
</a-input-group>-->
2021-01-30 22:35:05 +03:30
<a-form-item label="محل صدور">
<a-input autocomplete="off" v-decorator="['iden_where',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" />
</a-form-item>
<a-form-item label="محل تولد">
<a-input autocomplete="off" v-decorator="['birth_where',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" />
</a-form-item>
</div>
</a-card>
<br/>
<a-card title="اطلاعات سکونت" :bordered="true" >
<a-form-item label="وضعیت مسکن">
<a-radio-group style="direction: ltr" v-decorator="['house_status',{initialValue: '1'}]" button-style="solid">
<a-radio-button value="2">
مستاجر
</a-radio-button>
<a-radio-button value="1">
مالک
</a-radio-button>
</a-radio-group>
</a-form-item>
<a-form-item label="آدرس">
<a-input autocomplete="off" v-decorator="['address',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" />
</a-form-item>
<div class="md:flex">
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="ایمیل">
<a-input style="direction: rtl !important;" v-decorator="['email',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]">
<!-- <feather-icon style="direction: ltr !important;" icon="MailIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
</a-input>
</a-form-item>
</a-row>
</div>
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="موبایل">
<a-input autocomplete="off" v-decorator="['mobile',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" >
<!--<feather-icon style="direction: ltr !important;" icon="SmartPhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
</a-input>
</a-form-item>
</a-row>
</div>
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="تلفن ثابت">
<a-input autocomplete="off" v-decorator="['phone',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" >
<!--<feather-icon style="direction: ltr !important;" icon="PhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
</a-input>
</a-form-item>
</a-row>
</div>
</div>
<a-divider/>
<div class="md:flex">
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="تلفن ضروری">
<a-input style="direction: rtl !important;" v-decorator="['phone_emergency',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]">
<!-- <feather-icon style="direction: ltr !important;" icon="MailIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
</a-input>
</a-form-item>
</a-row>
</div>
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="نام طرف">
<a-input autocomplete="off" v-decorator="['phone_emergency_name',{initialValue: null}]" >
<!--<feather-icon style="direction: ltr !important;" icon="SmartPhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
</a-input>
</a-form-item>
</a-row>
</div>
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="نسبت">
<a-input autocomplete="off" v-decorator="['phone_emergency_related',{initialValue: null}]" >
<!--<feather-icon style="direction: ltr !important;" icon="PhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
</a-input>
</a-form-item>
</a-row>
</div>
</div>
</a-card>
<a-divider>دیگر اطلاعات</a-divider>
<a-card title="سابقه بیمه" :bordered="true" >
<a-form-item label="سابقه بیمه">
<a-radio-group style="direction: ltr" v-decorator="['has_insurance',{initialValue: '1'}]" button-style="solid" @change="number_insurance">
<a-radio-button value="1">
دارم
</a-radio-button>
<a-radio-button value="-1">
ندارم
</a-radio-button>
</a-radio-group>
</a-form-item>
<a-form-item label="شماره بیمه" v-if="has_instructor == '-1' ">
<a-input autocomplete="off" style="width: 40%" v-decorator="['insurance_no',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" />
</a-form-item>
</a-card>
<br/>
<a-card title="سوابق تحصیلی" :bordered="true" >
<a-list class="mb-5" v-if="edu.length > 0" :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal" >
<a-list-item class="grid grid-cols-4" v-for="(item,index) in edu" :key="index" >
<div>
<div style="direction: ltr" v-if="item.grade"> مقطع :{{ item.grade.title }}</div>
<div style="direction: rtl">دانشگاه : {{ item.university }}</div>
</div>
<div>
<div style="direction: rtl">سال شروع : {{ item.start }}</div>
<div style="direction: rtl">سال خاتمه : {{ item.end }}</div>
</div>
<div>
<div style="direction: rtl">رشته تحصیلی : {{ item.major }}</div>
<div style="direction: rtl">گرایش تحصیلی : {{ item.orientation }}</div>
</div>
<div>
<a-popconfirm
placement="right"
title="آیا می خواهید حذف کنید؟"
ok-text="بله"
cancel-text="خیر"
@confirm="removeEdu(item)"
>
<a-button type="danger" class="mr-3">حذف</a-button>
</a-popconfirm>
<a-button class="mr-3" @click="openModalEduModeEDit(item)">
مشاهده و ویرایش
</a-button>
</div>
</a-list-item>
</a-list>
<a-button type="dashed" icon="plus" @click="openModalEdu">
افزودن سابقه تحصیلی
</a-button>
</a-card>
<br/>
<a-card title="سوابق آموزشی" :bordered="true" >
<a-list class="mb-5" v-if="educational.length > 0" :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal" >
<a-list-item class="grid grid-cols-3" v-for="(item,index) in educational" :key="index" >
<div>
<div style="direction: rtl"> مرکز برگزار کننده : {{ item.university }}</div>
<div style="direction: rtl">عنوان دوره : {{ item.major }}</div>
</div>
<div>
<div style="direction: rtl">سال : {{ item.start }}</div>
<div style="direction: rtl">
امکان ارائه گواهینامه دارم:
<feather-icon icon="CheckIcon" v-if="item.has_file" svgClasses="w-5 h-5 text-success"/>
<feather-icon icon="XIcon" v-else svgClasses="w-5 h-5 text-danger"/>
</div>
</div>
<div>
<a-popconfirm
placement="right"
title="آیا می خواهید حذف کنید؟"
ok-text="بله"
cancel-text="خیر"
@confirm="removeEducational(item)"
>
<a-button type="danger" class="mr-3">حذف</a-button>
</a-popconfirm>
<a-button class="mr-3" @click="openModalEducationalEDit(item)">
مشاهده و ویرایش
</a-button>
</div>
</a-list-item>
</a-list>
<a-button type="dashed" icon="plus" @click="openModalEducational">
افزودن سابقه آموزشی
</a-button>
</a-card>
<br/>
<a-card title="سوابق کاری" :bordered="true" >
<a-list class="mb-5" v-if="work.length > 0" :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal" >
<a-list-item class="grid grid-cols-4" v-for="(item,index) in work" :key="index" >
<div>
<div style="direction: rtl"> نام سازمان : {{ item.university }}</div>
<div style="direction: rtl">عنوان شغل : {{ item.major }}</div>
</div>
<div>
<div style="direction: rtl">سال شروع : {{ item.start }}</div>
<div style="direction: rtl">سال خاتمه : {{ item.end }}</div>
</div>
<div>
<div style="direction: rtl">دلیل خاتمه : {{ item.note }}</div>
<div style="direction: rtl">
تاکنون:
<feather-icon icon="CheckIcon" v-if="item.end_now" svgClasses="w-5 h-5 text-success"/>
<feather-icon icon="XIcon" v-else svgClasses="w-5 h-5 text-danger"/>
</div>
</div>
<div>
<a-popconfirm
placement="right"
title="آیا می خواهید حذف کنید؟"
ok-text="بله"
cancel-text="خیر"
@confirm="removeWork(item)"
>
<a-button type="danger" class="mr-3">حذف</a-button>
</a-popconfirm>
<a-button class="mr-3" @click="openModalWorkEDit(item)">
مشاهده و ویرایش
</a-button>
</div>
</a-list-item>
</a-list>
<a-button type="dashed" icon="plus" @click="openModalWork">
افزودن سابقه کاری
</a-button>
</a-card>
<br/>
<a-form-item>
<a-checkbox v-decorator="['commitment',{initialValue:false,rules: [{ required: true, message: 'تعهد الزامی است.' }]}]">
با آگاهی از قوانین و مقررات و صحت اطلاعات تایید میکنم.
</a-checkbox>
</a-form-item>
<a-alert type="warning">
<div slot="message">
<a-button @click="openAccept" class="font-bold" type="link" style="color: #0091ae">
مشاهده قوانین و مقررات
</a-button>
</div>
</a-alert>
</div>
<div v-show="current==2">
<a-result
status="success"
title="اطلاعات با موفقیت ثبت شد"
sub-title="لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است."
>
<template #extra>
2021-02-16 15:43:07 +03:30
<a-button @click="LoginUser">
2021-01-30 22:35:05 +03:30
اتمام
</a-button>
</template>
</a-result>
</div>
</a-form>
</ASpin>
</div>
<a-modal :visible="visibleEdu" title="افزودن سابقه تحصیلی" @ok="createEdu" @cancel="cancelEdu" ok-text="ایجاد" cancel-text="انصراف">
<a-form :form="formEdu">
<a-form-item label="مقطع">
<a-select
class="mt-3"
style="width: 100%;direction: rtl !important;"
v-decorator="['level',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"
@change="changeGrade"
allowClear
>
<a-select-option v-for="item in grade" :value="item.level">
{{ item.title }}
</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="دانشگاه">
<a-input autocomplete="off" v-decorator="['university',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</a-form-item>
<a-form-item label="رشته تحصیلی">
<a-input autocomplete="off" v-decorator="['major',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</a-form-item>
<a-form-item label="گرایش تحصیلی">
<a-input autocomplete="off" v-decorator="['orientation',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</a-form-item>
<div class="md:flex">
<div class="md:w-1/2">
<a-form-item label="سال شروع">
<a-input-number autocomplete="off" :min="1350" :max="1401" v-decorator="['start',{rules: [{ required: true, message: 'لطفا مقدار سال شروع را به درستی بین 1350 تا 1401 وارد کنید.' }]}]"/>
</a-form-item>
</div>
<div class="md:w-1/2">
<a-form-item label="سال خاتمه">
2021-02-16 15:43:07 +03:30
<a-input-number id="end" ref="end" autocomplete="off" :disabled="is_check" :min="1350" :max="1401" v-decorator="['end',{rules: [{ required: is_check ? false : true, message: 'لطفا مقدار سال خاتمه را به درستی بین 1350 تا 1401 وارد کنید.' }]}]"/>
2021-01-30 22:35:05 +03:30
</a-form-item>
</div>
<div class="md:w-1/3">
<a-form-item label="تاکنون">
<a-checkbox v-decorator="['end_now',{initialValue:false,valuePropName: 'checked'}]" @change="isChecked"/>
</a-form-item>
</div>
</div>
</a-form>
</a-modal>
<a-modal :visible="visibleEducational" title="افزودن سابقه آموزشی" @ok="createEducational" @cancel="cancelEducational" ok-text="ایجاد" cancel-text="انصراف">
<a-form :form="formEducational">
<a-form-item label="مرکز برگزار کننده">
<a-input autocomplete="off" v-decorator="['university',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</a-form-item>
<a-form-item label="عنوان دوره">
<a-input autocomplete="off" v-decorator="['major',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</a-form-item>
<div class="md:flex">
<div class="md:w-1/2">
<a-form-item label="سال">
<a-input-number autocomplete="off" :min="1350" :max="1401" v-decorator="['start',{rules: [{ required: true, message: 'لطفا مقدار سال شروع را به درستی بین 1350 تا 1401 وارد کنید.' }]}]"/>
</a-form-item>
</div>
<div class="md:w-1/3">
<a-form-item label="امکان ارائه گواهینامه دارم">
<a-checkbox v-decorator="['has_file',{initialValue:false,valuePropName: 'checked'}]"/>
</a-form-item>
</div>
</div>
</a-form>
</a-modal>
<a-modal :visible="visibleWork" title="افزودن سابقه کاری" @ok="createWork" @cancel="cancelWork" ok-text="ایجاد" cancel-text="انصراف">
<a-form :form="formWork">
<a-form-item label="نام سازمان">
<a-input autocomplete="off" v-decorator="['university',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</a-form-item>
<a-form-item label="عنوان شغل">
<a-input autocomplete="off" v-decorator="['major',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</a-form-item>
<a-form-item label="دلیل خاتمه">
<a-input autocomplete="off" v-decorator="['note',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</a-form-item>
<div class="md:flex">
<div class="md:w-1/2">
<a-form-item label="سال شروع">
<a-input-number autocomplete="off" :min="1350" :max="1401" v-decorator="['start',{rules: [{ required: true, message: 'لطفا مقدار سال شروع را به درستی بین 1350 تا 1401 وارد کنید.' }]}]"/>
</a-form-item>
</div>
<div class="md:w-1/2">
<a-form-item label="سال خاتمه">
<a-input-number :disabled="is_work_check" autocomplete="off" :min="1350" :max="1401" v-decorator="['end',{rules: [{ required: is_work_check ? false : true, message: 'لطفا مقدار سال خاتمه را به درستی بین 1350 تا 1401 وارد کنید.' }]}]"/>
</a-form-item>
</div>
<div class="md:w-1/3">
<a-form-item label="تاکنون">
<a-checkbox v-decorator="['end_now',{initialValue:false,valuePropName: 'checked'}]" @change="isCheckedWork"/>
</a-form-item>
</div>
</div>
</a-form>
</a-modal>
<a-modal :visible="visibleAccept" title="شرایط و مقررات" @ok="visibleAccept = false" @cancel="visibleAccept = false" ok-text="باشه" cancel-text="انصراف">
2021-02-16 15:43:07 +03:30
اینجانب {{ fullName }} در تاریخ {{ date }} فرم بالا را تکمیل نموده و صحت کلیه اطلاعات تکمیل شده را تأیید می نمایم.
2021-01-30 22:35:05 +03:30
</a-modal>
<div class="mt-5">
<a-button v-if="current < 2" type="primary" @click="handleSubmit">
مرحله بعدی
</a-button>
</div>
</vx-card>
</div>
</template>
<script>
import axios from '@/axios'
import VuePersianDatetimePicker from 'vue-persian-datetime-picker';
export default {
name: "Register",
components:{
datePicker: VuePersianDatetimePicker
},
data(){
return{
current: 0,
from: this.$form.createForm(this, {name: 'coordinated'}),
formEdu: this.$form.createForm(this, {name: 'coordinated'}),
formEducational: this.$form.createForm(this, {name: 'coordinated'}),
formWork: this.$form.createForm(this, {name: 'coordinated'}),
formFirst: this.$form.createForm(this, {name: 'coordinated'}),
city:[],
job:[],
edu:[],
work:[],
jobs:[{city:null,job:null}],
//model:[],
educational:[],
birth_day:'',
has_instructor: '-1',
visibleEdu: false,
visibleEducational: false,
visibleWork: false,
visibleAccept: false,
is_check:false,
is_work_check:false,
find_grade:null,
grade:[
{ level: 1, title:'کاردانی' },
{ level: 2, title:'کارشناسی' },
{ level: 3, title:'کارشناسی ارشد' },
{ level: 4, title:'دکتری' }
],
alphabet:['الف','ب','پ','ت','ث','ج','چ','ح','خ','د','ذ','ر','ز','ژ','س','ش','ص','ض','ط','ظ','ع','غ','ف','ق','ک','گ','ل','م','ن','و','ه','ی'],
loading:false,
editMode:false,
id:0,
2021-02-16 15:43:07 +03:30
tempRow:{},
fullName:'',
date:null
2021-01-30 22:35:05 +03:30
}
},
methods:{
addCity()
{
this.jobs.push({city:null,job:null})
},
number_insurance(e){
this.has_instructor = e.target.value
},
handleSubmit(e) {
e.preventDefault();
if(this.current ==0)
{
this.formFirst.validateFields(async(err, values) => {
if (!err) {
this.current++;
console.log(values,'first')
}
});
}
else
{
this.from.validateFields(async(err, values) => {
if (!err) {
try{
this.loading = true
console.log(values,'values')
values.model = this.formFirst.getFieldsValue();
values.birth_date = this.birth_day
values.work = this.work
values.training = this.educational
values.academic = this.edu
await axios.post('register/save', values)
2021-02-16 15:43:07 +03:30
this.$ntSet()
// this.from.resetFields()
2021-01-30 22:35:05 +03:30
this.current++
}catch (e) {
this.$ntSetError()
throw e
}finally {
this.loading = false
}
}
});
}
},
async getCity(){
try{
const {data} = await axios.get('/register/cities')
this.city = data
}catch (e) {
this.$ntSetError()
}
},
2021-02-16 15:43:07 +03:30
async getDate(){
try{
const {data} = await axios.get('/register/date')
this.date = data
}catch (e) {
this.$ntSetError()
}
},
2021-01-30 22:35:05 +03:30
async getJob(){
try{
const {data} = await axios.post('/register/jobs')
this.job = data
}catch (e) {
this.$ntSetError()
}
},
openModalEdu(){
this.visibleEdu = true
this.editMode = false
this.formEdu.resetFields()
},
openModalEducational(){
this.visibleEducational = true
2021-02-16 15:43:07 +03:30
this.editMode = false
2021-01-30 22:35:05 +03:30
this.formEducational.resetFields()
},
openModalWork(){
this.visibleWork = true
2021-02-16 15:43:07 +03:30
this.editMode = false
2021-01-30 22:35:05 +03:30
this.formWork.resetFields()
},
openModalEduModeEDit(item){
console.log(item,'item')
this.visibleEdu = true
this.editMode = true
this.tempRow = item
this.formEdu.setFieldsValue(item)
},
openModalEducationalEDit(item){
this.visibleEducational = true
2021-02-16 15:43:07 +03:30
this.editMode = true
this.tempRow = item
2021-01-30 22:35:05 +03:30
this.formEducational.setFieldsValue(item)
},
openModalWorkEDit(item){
this.visibleWork = true
2021-02-16 15:43:07 +03:30
this.editMode = true
this.tempRow = item
2021-01-30 22:35:05 +03:30
this.formWork.setFieldsValue(item)
},
cancelEdu(){
this.visibleEdu = false
},
cancelEducational(){
this.visibleEducational = false
},
cancelWork(){
this.visibleWork = false
},
createEdu(e){
e.preventDefault();
this.formEdu.validateFields(async(err, values) => {
if (!err) {
try{
if(this.find_grade) values.grade = this.find_grade
if(this.editMode){
const find = this.edu.findIndex(item=> item.id == this.tempRow.id)
Object.assign(this.edu[find],values);
this.visibleEdu = false
}else{
values.id = this.id
this.edu.push(values)
this.id +=1
this.formEdu.resetFields()
this.visibleEdu = false
}
}catch (e) {
this.$ntSetError()
throw e
}finally {
}
}
});
},
createEducational(e){
e.preventDefault();
this.formEducational.validateFields(async(err, values) => {
if (!err) {
try{
2021-02-16 15:43:07 +03:30
if(this.editMode){
const find = this.educational.findIndex(item=> item.id == this.tempRow.id)
Object.assign(this.educational[find],values);
this.visibleEducational = false
}else{
values.id = this.id
this.educational.push(values)
this.id += 1
console.log(values,'values')
this.formEducational.resetFields()
this.visibleEducational = false
}
2021-01-30 22:35:05 +03:30
}catch (e) {
this.$ntSetError()
throw e
}finally {
}
}
});
},
createWork(e){
e.preventDefault();
this.formWork.validateFields(async(err, values) => {
if (!err) {
try{
2021-02-16 15:43:07 +03:30
if(this.editMode){
const find = this.work.findIndex(item=> item.id == this.tempRow.id)
Object.assign(this.work[find],values);
}else{
values.id = this.id
this.work.push(values)
this.id += 1
console.log(values,'values')
this.formWork.resetFields()
}
this.visibleWork = false
2021-01-30 22:35:05 +03:30
}catch (e) {
this.$ntSetError()
throw e
}
}
});
},
isCheckedWork(e){
this.is_work_check = e.target.checked
2021-02-16 15:43:07 +03:30
if(this.is_work_check) this.formWork.resetFields('end')
2021-01-30 22:35:05 +03:30
},
removeEdu(item){
const index = this.edu.indexOf(item)
this.edu.splice(index,1)
},
removeEducational(item){
const index = this.educational.indexOf(item)
this.educational.splice(index,1)
},
removeWork(item){
const index = this.work.indexOf(item)
this.work.splice(index,1)
},
changeGrade(id){
console.log(id,'id')
this.find_grade = this.grade.find(item=>item.level == id)
2021-02-16 15:43:07 +03:30
},
isChecked(e){
this.is_check = e.target.checked
if(this.is_check) this.formEdu.resetFields('end')
2021-01-30 22:35:05 +03:30
},
openAccept(){
2021-02-16 15:43:07 +03:30
this.visibleAccept = true;
this.fullName = this.from.getFieldValue('name');
this.getDate()
},
LoginUser(){
this.$router.push('/auth/login')
2021-01-30 22:35:05 +03:30
},
next() {
this.current++;
},
prev() {
this.current--;
2021-02-16 15:43:07 +03:30
}
},
computed:{
2021-01-30 22:35:05 +03:30
},
mounted() {
this.getCity()
this.getJob()
}
}
</script>
<style scoped>
[dir=rtl] .anticon.anticon-plus{
position: relative;
top: 4px;
left: 5px;
}
.ant-modal-title{
margin-right: 1rem;
}
</style>