hr admin
This commit is contained in:
@@ -0,0 +1,833 @@
|
||||
<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-2 md:grid-cols-2 sm:grid-cols-1">
|
||||
<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>
|
||||
</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: 15%" v-decorator="['iden_no_left',{initialValue: null}]">
|
||||
<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: 85%;direction: rtl" />
|
||||
</a-input-group>
|
||||
</a-form-item>
|
||||
|
||||
|
||||
<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>
|
||||
<a-button>
|
||||
اتمام
|
||||
</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="سال خاتمه">
|
||||
<a-input-number 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>
|
||||
|
||||
<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="انصراف">
|
||||
اینجانب.... در تاریخ......... فرم بالا را تکمیل نموده و صحت کلیه اطلاعات تکمیل شده را تأیید می نمایم
|
||||
</a-modal>
|
||||
|
||||
<div class="mt-5">
|
||||
<a-button v-if="current < 2" type="primary" @click="handleSubmit">
|
||||
مرحله بعدی
|
||||
</a-button>
|
||||
<!-- <a-button-->
|
||||
<!-- v-if="current == 2"-->
|
||||
<!-- type="primary"-->
|
||||
<!-- @click="handleSubmit"-->
|
||||
<!-- >-->
|
||||
<!-- ثبت اطلاعات-->
|
||||
<!-- </a-button>-->
|
||||
<!-- <a-button v-if="current > 0" style="margin-left: 8px" @click="prev">-->
|
||||
<!-- قبلی-->
|
||||
<!-- </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,
|
||||
tempRow:{}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
addCity()
|
||||
{
|
||||
this.jobs.push({city:null,job:null})
|
||||
//this.model.push(jobs);
|
||||
//console.log(this.model);
|
||||
},
|
||||
number_insurance(e){
|
||||
this.has_instructor = e.target.value
|
||||
},
|
||||
handleSubmit(e) {
|
||||
e.preventDefault();
|
||||
//console.log(this.formFirst.getFieldsValue(),'this.formFirst.getFieldsValue()');
|
||||
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();
|
||||
//Object.assign(values,this.formFirst.getFieldsValue());
|
||||
console.log(this.formFirst.getFieldsValue(),'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)
|
||||
this.$message.success('اطلاعات با موفقیت کامل شد')
|
||||
this.fromMosahebe.resetFields()
|
||||
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()
|
||||
}
|
||||
},
|
||||
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
|
||||
this.formEducational.resetFields()
|
||||
},
|
||||
openModalWork(){
|
||||
this.visibleWork = true
|
||||
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
|
||||
this.formEducational.setFieldsValue(item)
|
||||
},
|
||||
openModalWorkEDit(item){
|
||||
this.visibleWork = true
|
||||
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
|
||||
///console.log(values,'values')
|
||||
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{
|
||||
this.educational.push(values)
|
||||
console.log(values,'values')
|
||||
this.formEducational.resetFields()
|
||||
this.visibleEducational = false
|
||||
}catch (e) {
|
||||
this.$ntSetError()
|
||||
throw e
|
||||
}finally {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
createWork(e){
|
||||
e.preventDefault();
|
||||
this.formWork.validateFields(async(err, values) => {
|
||||
if (!err) {
|
||||
try{
|
||||
this.work.push(values)
|
||||
console.log(values,'values')
|
||||
this.formWork.resetFields()
|
||||
this.visibleWork = false
|
||||
}catch (e) {
|
||||
this.$ntSetError()
|
||||
throw e
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
isChecked(e){
|
||||
this.is_check = e.target.checked
|
||||
// if(this.is_check){
|
||||
// this.formEdu.resetField('end_now')
|
||||
// }
|
||||
},
|
||||
isCheckedWork(e){
|
||||
this.is_work_check = e.target.checked
|
||||
},
|
||||
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)
|
||||
|
||||
},
|
||||
openAccept(){
|
||||
this.visibleAccept = true
|
||||
},
|
||||
next() {
|
||||
this.current++;
|
||||
},
|
||||
prev() {
|
||||
this.current--;
|
||||
},
|
||||
},
|
||||
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>
|
||||
Reference in New Issue
Block a user