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" >
2021-03-14 09:40:47 +03:30
< a-steps :current = "current" >
2021-01-30 22:35:05 +03:30
< a-step title = "مرحله اول" />
< a-step title = "مرحله دوم" />
2021-03-14 09:40:47 +03:30
< a-step title = "مرحله سوم" />
2021-01-30 22:35:05 +03:30
</ 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" >
2021-02-19 15:46:05 +03:30
< a-form :form = "formFirst" >
2021-03-14 09:40:47 +03:30
<!-- < a-form-item label = "نام و نام خانوادگی" >
& lt ; !& ndash ;< a-input autocomplete = "off" v-decorator = "['name2',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" /> & ndash ; & gt ;
& lt ; !& ndash ; < a-input v-decorator = "['name',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" class="ant-input" placeholder="Basic usage" /> & ndash ; & gt ;
& lt ; !& ndash ;< input type = "text" v-decorator = "['name',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" class="ant-input" > & ndash ; & gt ;
& lt ; !& ndash ; < vs-input v-decorator = "['name',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" /> & ndash ; & gt ;
</ a-form-item > -->
< div v-show = "current==0" class="mt-4" >
< a-button type = "primary" @click ="addCity()" >
2021-01-30 22:35:05 +03:30
افزودن ردیف
</ a -button >
2021-03-14 09:40:47 +03:30
< a-card :bordered = "true" class = "mt-3" v-for = "(item,index) in jobsList" >
2021-01-30 22:35:05 +03:30
< 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
2021-03-14 09:40:47 +03:30
:filter-option = "filterOption"
show -search
v-decorator = "[`jobs[${index}].city`,{rules: [{ required: true, message: 'انتخاب شهر الزامی است.' }]}]"
2021-01-30 22:35:05 +03:30
autocomplete = "off"
2021-03-14 09:40:47 +03:30
@select ="getJob(index)"
notFoundContent = "اطلاعاتی یافت نشد"
placeholder = "لطفا شهر را انتخاب کنید." >
2021-01-30 22:35:05 +03:30
< 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 = "انتخاب شغل" >
2021-03-14 09:40:47 +03:30
< a-select
:filter-option = "filterOption"
show -search
notFoundContent = "اطلاعاتی یافت نشد"
autocomplete = "off" aria -placeholder =" لطفا شغل خود را انتخاب کنید. " v-decorator = "[`jobs[${index}].job`,{rules: [{ required: true, message: 'انتخاب شغل الزامی است.' }]}]" >
< a-select-option v-for = "item in jobsList[index].jobs" :value="item.id" >
2021-01-30 22:35:05 +03:30
{{ item.title }}
</ a -select-option >
</ a-select >
</ a-form-item >
</ div >
2021-03-14 09:40:47 +03:30
< a-button type = "danger" @click ="deleteCity(index)" v-if = "index >0" >
حذف
</ a-button >
2021-01-30 22:35:05 +03:30
</ 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 = "نام و نام خانوادگی" >
2021-03-14 09:40:47 +03:30
<!-- < a-input autocomplete = "off" v-decorator = "['name',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" /> -->
< input autocomplete = "off" type = "text" v-decorator = "['name',{initialValue: null,rules: [{ required: true, message: 'نام و نام خانوادگی را وارد نمایید' }]}]" class="ant-input" >
2021-01-30 22:35:05 +03:30
</ a-form-item >
< a-form-item label = "نام پدر" >
2021-03-14 09:40:47 +03:30
<!-- < a-input autocomplete = "off" v-decorator = "['father_name',{initialValue: null,rules: [{ required: true, message: 'نام پدر را وارد نمایید' }]}]" /> -->
< input autocomplete = "off" type = "text" class = "ant-input" v-decorator = "['father_name',{initialValue: null,rules: [{ required: true, message: 'نام پدر را وارد نمایید' }]}]" >
2021-01-30 22:35:05 +03:30
</ a -form-item >
< div >
2021-03-14 09:40:47 +03:30
< a-form-item label = "تاریخ تولد" : required = "birth_day ? false:true" : validateStatus = " birth_day ? '' : 'error'" : help = " birth_day ? '':'تاریخ تولد را وارد نمایید'" >
2021-01-30 22:35:05 +03:30
<!-- birth_date -->
2021-03-14 09:40:47 +03:30
< input
class = "ant-input"
readonly = "true"
v-model = "birth_day"
id = "birth_day"
autocomplete = "off"
2021-01-30 22:35:05 +03:30
/>
2021-03-14 09:40:47 +03:30
<!-- v - decorator = "['birthdate',{initialValue: null,rules: [{ required: true, message: 'تاریخ تولد را وارد نمایید' }]}]" -->
2021-01-30 22:35:05 +03:30
</ a-form-item >
< date-picker
:auto-submit = "true"
2021-03-14 09:40:47 +03:30
color = "#1da57a"
2021-01-30 22:35:05 +03:30
v-model = "birth_day"
element = "birth_day"
/>
</ div >
< a-form-item label = "کد ملی" >
2021-03-14 09:40:47 +03:30
<!-- < a-input autocomplete = "off" v-decorator = "['ncode',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" /> -->
< input autocomplete = "off" type = "text" v-decorator ="['ncode',{initialValue: null,rules: [{ required: true, message: 'کد ملی را وارد نمایید' },{ min : 10, message: 'کد ملی 10 رقمی می باشد' },{ max : 10, message: 'کد ملی 10 رقمی می باشد' }]}]" class="ant-input" >
2021-01-30 22:35:05 +03:30
</a-form-item>
</div>
2021-01-31 01:48:21 +03:30
<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>
2021-01-31 01:48:21 +03:30
<a-form-item label="شماره حساب بانک پاسارگاد">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['pasargad_bank_number',{initialValue: null}]" />
2021-01-31 01:48:21 +03:30
</a-form-item>
<a-form-item label="حقوق درخواستی">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['requested_salary',{initialValue: null,rules: [{ required: true, message: 'حقوق درخواستی را وارد نمایید' }]}]" />
2021-01-31 01:48:21 +03:30
</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="شماره شناسنامه">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['iden_code',{initialValue: null,rules: [{ required: true, message: 'شماره شناسنامه را وارد نمایید' }]}]" />
2021-01-30 22:35:05 +03:30
</a-form-item>
<a-form-item label="سریال شناسنامه">
<a-input-group compact style="direction: ltr">
2021-01-31 01:48:21 +03:30
<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>
2021-03-14 09:40:47 +03:30
<input class="ant-input" v-decorator="['iden_no_right',{initialValue: null}]" autocomplete="off" style="width: 77%;direction: rtl" />
2021-01-30 22:35:05 +03:30
</a-input-group>
</a-form-item>
2021-01-31 01:48:21 +03:30
<!-- <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="محل صدور">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['iden_where',{initialValue: null,rules: [{ required: true, message: 'محل صدور را وارد نمایید' }]}]" />
2021-01-30 22:35:05 +03:30
</a-form-item>
<a-form-item label="محل تولد">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['birth_where',{initialValue: null,rules: [{ required: true, message: 'محل تولد را وارد نمایید' }]}]" />
2021-01-30 22:35:05 +03:30
</a-form-item>
</div>
</a-card>
<br/>
<a-card title="اطلاعات سکونت" :bordered="true" >
<a-form-item label="وضعیت مسکن">
2021-03-14 09:40:47 +03:30
<a-radio-group style="direction: ltr" v-decorator="['house_sts',{initialValue: '1'}]" button-style="solid">
2021-01-30 22:35:05 +03:30
<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="آدرس">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['address',{initialValue: null,rules: [{ required: true, message: 'آدرس را وارد نمایید' }]}]" />
2021-01-30 22:35:05 +03:30
</a-form-item>
<div class="md:flex">
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="ایمیل">
2021-03-14 09:40:47 +03:30
<input class="ant-input" style="direction: rtl !important;" v-decorator="['email',{initialValue: null,rules: [{ required: true, message: 'ایمیل را وارد نمایید' }]}]">
2021-01-30 22:35:05 +03:30
<!-- <feather-icon style="direction: ltr !important;" icon="MailIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
2021-03-14 09:40:47 +03:30
<!-- </a-input>-->
2021-01-30 22:35:05 +03:30
</a-form-item>
</a-row>
</div>
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="موبایل">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['mobile',{initialValue: null,rules: [{ required: true, message: 'شماره موبایل را وارد نمایید' }]}]" >
2021-01-30 22:35:05 +03:30
<!--<feather-icon style="direction: ltr !important;" icon="SmartPhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
2021-03-14 09:40:47 +03:30
<!-- </a-input>-->
2021-01-30 22:35:05 +03:30
</a-form-item>
</a-row>
</div>
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="تلفن ثابت">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['phone',{initialValue: null,rules: [{ required: true, message: 'تلفن ثابت را وارد نمایید' }]}]" >
2021-01-30 22:35:05 +03:30
<!--<feather-icon style="direction: ltr !important;" icon="PhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
2021-03-14 09:40:47 +03:30
<!-- </a-input>-->
2021-01-30 22:35:05 +03:30
</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="تلفن ضروری">
2021-03-14 09:40:47 +03:30
<input class="ant-input" style="direction: rtl !important;" v-decorator="['phone_emergency',{initialValue: null,rules: [{ required: true, message: 'تلفن ضروری را وارد نمایید' }]}]">
2021-01-30 22:35:05 +03:30
<!-- <feather-icon style="direction: ltr !important;" icon="MailIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
2021-03-14 09:40:47 +03:30
<!-- </a-input>-->
2021-01-30 22:35:05 +03:30
</a-form-item>
</a-row>
</div>
<div class="md:w-1/4 md:pl-4">
<a-row >
2021-02-19 15:46:05 +03:30
<a-form-item label="نام فرد">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['phone_emergency_name',{initialValue: null}]" >
2021-01-30 22:35:05 +03:30
<!--<feather-icon style="direction: ltr !important;" icon="SmartPhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
2021-03-14 09:40:47 +03:30
<!-- </a-input>-->
2021-01-30 22:35:05 +03:30
</a-form-item>
</a-row>
</div>
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="نسبت">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['phone_emergency_related',{initialValue: null}]" >
2021-01-30 22:35:05 +03:30
<!--<feather-icon style="direction: ltr !important;" icon="PhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
2021-03-14 09:40:47 +03:30
<!-- </a-input>-->
2021-01-30 22:35:05 +03:30
</a-form-item>
</a-row>
</div>
</div>
</a-card>
<a-divider>دیگر اطلاعات</a-divider>
<a-card title="سابقه بیمه" :bordered="true" >
<a-form-item label="سابقه بیمه">
2021-03-14 09:40:47 +03:30
<a-radio-group style="direction: ltr" v-decorator="['has_insurance',{initialValue:-1}]" button-style="solid" @change="number_insurance">
<a-radio-button :value="1">
2021-01-30 22:35:05 +03:30
دارم
</a-radio-button>
2021-03-14 09:40:47 +03:30
<a-radio-button :value="-1">
2021-01-30 22:35:05 +03:30
ندارم
</a-radio-button>
</a-radio-group>
</a-form-item>
2021-03-14 09:40:47 +03:30
<a-form-item label="شماره بیمه" v-if="has_instructor == 1 ">
<input class="ant-input" autocomplete="off" style="width: 40%" v-decorator="['insurance_no',{initialValue: null,rules: [{ required: false, message: 'شماره بیمه را وارد نمایید' }]}]" />
2021-01-30 22:35:05 +03:30
</a-form-item>
</a-card>
<br/>
2021-02-19 15:46:05 +03:30
<a-card title="اطلاعات خانوادگی" :bordered="true" >
2021-03-14 09:40:47 +03:30
<a-list class="mb-5" v-if="family.length > 0" :locale="{emptyText:'اطلاعاتی برای نمایش وجود ندارد.'}" bordered item-layout="horizontal" >
2021-02-19 15:46:05 +03:30
<a-list-item class="grid grid-cols-4" v-for="(item,index) in family" :key="index" >
<div>
<div style="direction: ltr" > نام :{{ item.name }}</div>
<div style="direction: rtl">نسبت : {{ item.relation }}</div>
</div>
<div>
<div style="direction: ltr" v-if="item.edu"> مقطع :{{ item.edu.title }}</div>
<div style="direction: rtl">رشته تحصیلی : {{ item.edu_title }}</div>
</div>
<div>
<div style="direction: rtl">شغل : {{ item.job }}</div>
</div>
<div>
<a-popconfirm
placement="right"
title="آیا می خواهید حذف کنید؟"
ok-text="بله"
cancel-text="خیر"
@confirm="removeFamily(item)"
>
<a-button type="danger" class="mr-3">حذف</a-button>
</a-popconfirm>
<a-button class="mr-3" @click="openModalFamilyModeEDit(item)">
مشاهده و ویرایش
</a-button>
</div>
</a-list-item>
</a-list>
<a-button type="dashed" icon="plus" @click="openModalFamily">
افزودن اطلاعات خانوادگی
</a-button>
</a-card>
<br/>
2021-01-30 22:35:05 +03:30
<a-card title="سوابق تحصیلی" :bordered="true" >
2021-03-14 09:40:47 +03:30
<a-list class="mb-5" v-if="edu.length > 0" :locale="{emptyText:'اطلاعاتی برای نمایش وجود ندارد.'}" bordered item-layout="horizontal" >
2021-01-30 22:35:05 +03:30
<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" >
2021-03-14 09:40:47 +03:30
<a-list class="mb-5" v-if="educational.length > 0" :locale="{emptyText:'اطلاعاتی برای نمایش وجود ندارد.'}" bordered item-layout="horizontal" >
2021-01-30 22:35:05 +03:30
<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">
امکان ارائه گواهینامه دارم:
2021-03-14 09:40:47 +03:30
<feather-icon icon="CheckIcon" v-if="item.has_certificate" svgClasses="w-5 h-5 text-success"/>
2021-01-30 22:35:05 +03:30
<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" >
2021-03-14 09:40:47 +03:30
<a-list class="mb-5" v-if="work.length > 0" :locale="{emptyText:'اطلاعاتی برای نمایش وجود ندارد.'}" bordered item-layout="horizontal" >
2021-01-30 22:35:05 +03:30
<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>
2021-03-14 09:40:47 +03:30
<a-checkbox v-decorator="['commitment',{valuePropName: 'checked',initialValue: true,rules: [{ required: true, message: 'نام را وارد نمایید' }]}]">
2021-01-30 22:35:05 +03:30
با آگاهی از قوانین و مقررات و صحت اطلاعات تایید میکنم.
</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="اطلاعات با موفقیت ثبت شد"
2021-03-14 09:40:47 +03:30
sub-title="">
2021-01-30 22:35:05 +03:30
<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>
2021-02-19 15:46:05 +03:30
<a-modal :visible="visibleFamily" title="اطلاعات خانوادگی" @ok="createFamily" @cancel="cancelFamily" ok-text="ایجاد" cancel-text="انصراف">
<a-form :form="formFamily">
<a-form-item label="نام">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['name',{rules: [{ required: true, message: 'نام را وارد نمایید' }]}]"/>
2021-02-19 15:46:05 +03:30
</a-form-item>
<a-form-item label="نسبت">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['relation',{rules: [{ required: true, message: 'نسب را وارد نمایید' }]}]"/>
2021-02-19 15:46:05 +03:30
</a-form-item>
<a-form-item label="مقطع">
<a-select
class="mt-3"
style="width: 100%;direction: rtl !important;"
2021-03-14 09:40:47 +03:30
v-decorator="['level',{rules: [{ required: false, message: 'مقطع را وارد نمایید' }]}]"
2021-02-19 15:46:05 +03:30
@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="رشته تحصیلی">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['edu_title',{rules: [{ required: false, message: 'رشته تحصیلی را وارد نمایید' }]}]"/>
2021-02-19 15:46:05 +03:30
</a-form-item>
<a-form-item label="شغل">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['job',{rules: [{ required: false, message: 'شغل را وارد نمایید' }]}]"/>
2021-02-19 15:46:05 +03:30
</a-form-item>
<!-- <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="سال خاتمه">
<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 وارد کنید.' }]}]"/>
</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>
2021-03-14 09:40:47 +03:30
<a-modal :forceRender="true" :visible="visibleEdu" title="افزودن سابقه تحصیلی" @ok="createEdu" @cancel="cancelEdu" ok-text="ایجاد" cancel-text="انصراف">
2021-01-30 22:35:05 +03:30
<a-form :form="formEdu">
<a-form-item label="مقطع">
<a-select
class="mt-3"
style="width: 100%;direction: rtl !important;"
2021-03-14 09:40:47 +03:30
v-decorator="['level',{rules: [{ required: true, message: 'مقطع را وارد نمایید ' }]}]"
2021-01-30 22:35:05 +03:30
@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="دانشگاه">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['university',{rules: [{ required: true, message: 'دانشگاه را وارد نمایید' }]}]"/>
2021-01-30 22:35:05 +03:30
</a-form-item>
<a-form-item label="رشته تحصیلی">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['major',{rules: [{ required: true, message: 'رشته تحصیلی را وارد نمایید' }]}]"/>
2021-01-30 22:35:05 +03:30
</a-form-item>
<a-form-item label="گرایش تحصیلی">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['orientation',{rules: [{ required: false, message: 'گرایش تحصیلی را وارد نمایید' }]}]"/>
2021-01-30 22:35:05 +03:30
</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 وارد کنید.' }]}]"/>
2021-03-14 09:40:47 +03:30
<!--<a-input-number v-decorator="['result_1.score',{initialValue: 0}]" :min="0" :max="20" />-->
2021-01-30 22:35:05 +03:30
</a-form-item>
</div>
<div class="md:w-1/2">
<a-form-item label="سال خاتمه">
2021-03-14 09:40:47 +03:30
<a-input-number type="number" class="ant-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>
2021-02-19 15:46:05 +03:30
2021-01-30 22:35:05 +03:30
<a-modal :visible="visibleEducational" title="افزودن سابقه آموزشی" @ok="createEducational" @cancel="cancelEducational" ok-text="ایجاد" cancel-text="انصراف">
<a-form :form="formEducational">
<a-form-item label="مرکز برگزار کننده">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['university',{rules: [{ required: true, message: 'مرکز برگزار کننده را وارد نمایید' }]}]"/>
2021-01-30 22:35:05 +03:30
</a-form-item>
<a-form-item label="عنوان دوره">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['major',{rules: [{ required: true, message: 'عنوان دوره را وارد نمایید' }]}]"/>
2021-01-30 22:35:05 +03:30
</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="امکان ارائه گواهینامه دارم">
2021-03-14 09:40:47 +03:30
<a-checkbox v-decorator="['has_certificate',{initialValue:false,valuePropName: 'checked'}]"/>
2021-01-30 22:35:05 +03:30
</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="نام سازمان">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['university',{rules: [{ required: true, message: 'نام سازمان را وارد نمایید ' }]}]"/>
2021-01-30 22:35:05 +03:30
</a-form-item>
<a-form-item label="عنوان شغل">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['major',{rules: [{ required: true, message: 'عنوان شغل را وارد نمایید' }]}]"/>
2021-01-30 22:35:05 +03:30
</a-form-item>
<a-form-item label="دلیل خاتمه">
2021-03-14 09:40:47 +03:30
<input class="ant-input" autocomplete="off" v-decorator="['note',{rules: [{ required:is_work_check ? false : true, message: 'دلیل خاتمه را وارد نمایید' }]}]"/>
2021-01-30 22:35:05 +03:30
</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>
2021-03-14 09:40:47 +03:30
<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' }),
2021-02-19 15:46:05 +03:30
formFamily : this . $form . createForm ( this , { name : 'coordinated' }),
2021-01-30 22:35:05 +03:30
formEducational : this . $form . createForm ( this , { name : 'coordinated' }),
formWork : this . $form . createForm ( this , { name : 'coordinated' }),
formFirst : this . $form . createForm ( this , { name : 'coordinated' }),
city : [],
job : [],
edu : [],
2021-02-19 15:46:05 +03:30
family : [],
2021-01-30 22:35:05 +03:30
work : [],
2021-03-14 09:40:47 +03:30
jobsList : [{ jobs : []}],
//jobs:[{city:null,job:null}],
2021-01-30 22:35:05 +03:30
//model:[],
educational : [],
birth_day : '' ,
has_instructor : '-1' ,
visibleEdu : false ,
2021-02-19 15:46:05 +03:30
visibleFamily : false ,
2021-01-30 22:35:05 +03:30
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 : {
2021-03-14 09:40:47 +03:30
deleteCity ( index ){
this . jobsList . splice ( index , 1 );
//console.log(index);
},
filterOption ( input , option ) {
return (
option . componentOptions . children [ 0 ]. text . toLowerCase (). indexOf ( input . toLowerCase ()) >= 0
);
},
/* Agrement(rule, value, callback){
},*/
2021-01-30 22:35:05 +03:30
addCity ()
{
2021-03-14 09:40:47 +03:30
this . jobsList . push ({ jobs : []});
2021-01-30 22:35:05 +03:30
},
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 ) {
2021-03-14 09:40:47 +03:30
this . current ++ ;
2021-02-19 15:46:05 +03:30
2021-03-14 09:40:47 +03:30
// console.log(values,'first')
2021-01-30 22:35:05 +03:30
}
});
}
else
{
this . from . validateFields ( async ( err , values ) => {
if ( ! err ) {
try {
this . loading = true
console . log ( values , 'values' )
values . model = this . formFirst . getFieldsValue ();
2021-02-19 15:46:05 +03:30
values . birth_date = this . birth_day ;
values . work = this . work ;
values . training = this . educational ;
values . academic = this . edu ;
values . family = this . family ;
2021-01-30 22:35:05 +03:30
await axios . post ( 'register/save' , values )
2021-02-19 15:46:05 +03:30
this . $ntSet ();
2021-02-16 15:43:07 +03:30
// this.from.resetFields()
2021-01-30 22:35:05 +03:30
this . current ++
} catch ( e ) {
this . $ntSetError ()
throw e
} finally {
this . loading = false
}
}
});
}
},
2021-03-14 09:40:47 +03:30
getCity (){
2021-01-30 22:35:05 +03:30
try {
2021-03-14 09:40:47 +03:30
//const {data} = await axios.get('/register/cities')
axios . get ( '/register/cities' ). then (( res )=>{
this . city = res . data ;
}). catch (( error )=>{
this . $ntSetError ()
});
2021-01-30 22:35:05 +03:30
} catch ( e ) {
this . $ntSetError ()
}
},
2021-03-14 09:40:47 +03:30
getDate (){
2021-02-16 15:43:07 +03:30
try {
2021-03-14 09:40:47 +03:30
//const {data} = await axios.get('/register/date')
axios . get ( '/register/date' ). then (( res )=>{
this . date = res . data ;
}). catch (( error )=>{
this . $ntSetError ()
});;
2021-02-16 15:43:07 +03:30
} catch ( e ) {
this . $ntSetError ()
}
},
2021-03-14 09:40:47 +03:30
getJob ( index ){
if ( index != undefined )
{
try {
this . formFirst . resetFields ( `jobs[ ${ index } ].job` );
axios . post ( '/register/jobs' ,{ city : "" + this . formFirst . getFieldValue ( `jobs[ ${ index } ].city` ) + "" }). then (( res )=>{
//this.formFirst.setFieldsValue(`jobs[${index}].city`)
this . jobsList [ index ]. jobs = res . data ;
console . log ( this . jobsList [ index ]. jobs );
//console.log(this.jobsList[0].map((item)=> item.title))
});
//this.job = data
} catch ( e ) {
2021-01-30 22:35:05 +03:30
this . $ntSetError ()
2021-03-14 09:40:47 +03:30
}
2021-01-30 22:35:05 +03:30
}
},
openModalEdu (){
this . visibleEdu = true
this . editMode = false
this . formEdu . resetFields ()
},
2021-02-19 15:46:05 +03:30
openModalFamily (){
this . visibleFamily = true
this . editMode = false
this . formFamily . resetFields ();
},
2021-01-30 22:35:05 +03:30
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 ()
},
2021-02-19 15:46:05 +03:30
openModalFamilyModeEDit ( item ){
//console.log(item,'item')
this . visibleFamily = true
this . editMode = true
this . tempRow = item
this . formFamily . setFieldsValue ( item )
},
2021-01-30 22:35:05 +03:30
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
},
2021-02-19 15:46:05 +03:30
cancelFamily (){
this . visibleFamily = false
},
2021-01-30 22:35:05 +03:30
cancelEducational (){
this . visibleEducational = false
},
cancelWork (){
this . visibleWork = false
},
2021-02-19 15:46:05 +03:30
createFamily ( e ){
e . preventDefault ();
this . formFamily . validateFields ( async ( err , values ) => {
if ( ! err ) {
try {
if ( this . find_grade )
{
values . edu = this . find_grade ;
values . edu_level = this . find_grade . level ;
}
if ( this . editMode ){
const find = this . family . findIndex ( item => item . id == this . tempRow . id )
Object . assign ( this . family [ find ], values );
this . visibleFamily = false ;
} else {
values . id = this . id
this . family . push ( values )
this . id += 1
this . formFamily . resetFields ()
this . visibleFamily = false
}
} catch ( e ) {
this . $ntSetError ()
throw e
} finally {
}
}
});
},
2021-01-30 22:35:05 +03:30
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
},
2021-02-19 15:46:05 +03:30
removeFamily ( item ){
console . log ( item );
const index = this . family . indexOf ( item )
this . family . splice ( index , 1 )
},
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
},
2021-03-14 09:40:47 +03:30
created () {
this . getCity ()
this . getJob ()
},
mounted () {
2021-01-30 22:35:05 +03:30
}
}
</ script >
2021-03-14 09:40:47 +03:30
< style >
[ dir = rtl ] . anticon . anticon - plus {
position : relative ;
top : 4 px ;
left : 5 px ;
}
. ant - modal - title {
margin - right : 1 rem ;
}
. ant - steps - item - title :: after {
/*left: unset !important;*/
right : 100 % ! important ;
}
/*.ant-select-arrow
{
left: 11px !important;
}*/
2021-01-31 01:48:21 +03:30
</ style >