djkasdasdadada

This commit is contained in:
sedmedgh
2022-01-22 12:47:30 +03:30
parent 78e4411084
commit dd99cfd754
4 changed files with 112 additions and 68 deletions
+9 -5
View File
@@ -43,15 +43,17 @@
<a-card class="mb-10">
<h4>تحصیلات</h4>
<a-table v-if="chart.index" class="mb-10" :data-source="chart.index.ed" :columns="[
{title: 'تعداد',dataIndex: 'count'},
{title: 'تحصیلات',dataIndex: 'level_str'},
{title: 'وضعیت مدرک',dataIndex: 'has_certificate_str'},]"/>
{title: 'وضعیت مدرک',dataIndex: 'has_certificate_str'},
{title: 'تعداد',dataIndex: 'count'},
]"/>
</a-card>
<a-card>
<h4>سن</h4>
<a-table v-if="chart.index" class="mb-10" :data-source="chart.index.list_age" :columns="[
{title: 'سن',dataIndex: 'age'},
{title: 'تعداد',dataIndex: 'count'},
{title: 'سن',dataIndex: 'age'},]"/>
]"/>
</a-card>
</a-card>
<a-card title="فرایند جذب و نگهداشت" class="mb-10">
@@ -64,14 +66,16 @@
<a-card class="mb-10">
<h5>نسبت استخدام به مصاحبه</h5>
<a-table v-if="chart.proposal" :data-source="chart.proposal.ratio_intrview_proposal" :columns="[
{title: 'شغل',dataIndex: 'title'},
{title: 'تعداد',dataIndex: 'count'},
{title: 'شغل',dataIndex: 'title'},]"/>
]"/>
</a-card>
<a-card>
<h5>تعداد پرسنل در هر شغل</h5>
<a-table v-if="chart.proposal" :data-source="chart.proposal.count_job" :columns="[
{title: 'شغل',dataIndex: 'job_title'},
{title: 'تعداد',dataIndex: 'count'},
{title: 'شغل',dataIndex: 'job_title'},]"/>
]"/>
</a-card>
</a-card>
<div class="grid grid-cols-1 gap-10">
+57 -37
View File
@@ -84,10 +84,10 @@
<input class="ant-input" autocomplete="off" v-decorator="['name']"/>
</a-form-item>
<a-form-item label="کدملی">
<input class="ant-input" autocomplete="off" v-decorator="['ncode']"/>
<input class="ant-input" autocomplete="off" v-decorator="['ncode',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
<a-form-item label="شماره پرسنلی">
<input class="ant-input" autocomplete="off" v-decorator="['personel_id']"/>
<input class="ant-input" autocomplete="off" v-decorator="['personel_id',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
<a-form-item label="موبایل">
<input class="ant-input" autocomplete="off" v-decorator="['proposal.mobile']"/>
@@ -114,7 +114,7 @@
<!-- <input class="ant-input" autocomplete="off" v-decorator="['personal.birth_date',{rules: [{ required: true, message: 'وارد کردن شغل الزامی است' }]}]"/>-->
<!-- </a-form-item>-->
<a-form-item label="شماره شناسنامه">
<input class="ant-input" autocomplete="off" v-decorator="['proposal.iden_id']"/>
<input class="ant-input" autocomplete="off" v-decorator="['proposal.iden_id',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
<a-form-item label="سریال شناسنامه">
<input class="ant-input" autocomplete="off" v-decorator="['proposal.iden_serial']"/>
@@ -129,10 +129,10 @@
<input class="ant-input" autocomplete="off" v-decorator="['proposal.email']"/>
</a-form-item>
<a-form-item label="تلفن ثابت">
<input class="ant-input" autocomplete="off" v-decorator="['proposal.phone']"/>
<input class="ant-input" autocomplete="off" v-decorator="['proposal.phone',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
<a-form-item label="حقوق درخواستی">
<input class="ant-input" autocomplete="off" v-decorator="['proposal.requested_salary']"/>
<input class="ant-input" autocomplete="off" v-decorator="['proposal.requested_salary',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
<!-- <a-form-item label="شماره بیمه">
<a-input autocomplete="off" v-decorator="['insurance_no']"/>
@@ -141,7 +141,7 @@
<a-input autocomplete="off" v-decorator="['proposal.phone_emergency_related']"/>
</a-form-item>-->
<a-form-item label="جنسیت">
<a-radio-group v-decorator="['proposal.gender']">
<a-radio-group v-decorator="['proposal.gender']" @change="setGender">
<a-radio :value="1">
مرد
</a-radio>
@@ -151,7 +151,7 @@
</a-radio-group>
</a-form-item>
<a-form-item label="وضعیت تاهل">
<a-radio-group v-decorator="['proposal.marriage_sts']">
<a-radio-group v-decorator="['proposal.marriage_sts']" @change="setMarriage_sts">
<a-radio :value="2">
متاهل
</a-radio>
@@ -174,7 +174,7 @@
<input class="ant-input" autocomplete="off" v-decorator="['proposal.address',{initialValue: null,rules: [{ required: false, message: 'آدرس را وارد نمایید' }]}]" />
</a-form-item>
<a-form-item label="تلفن ضروری">
<input class="ant-input" style="direction: rtl !important;" v-decorator="['proposal.phone_emergency',{initialValue: null,rules: [{ required:false, message: 'تلفن ضروری را وارد نمایید' }]}]">
<input class="ant-input" style="direction: rtl !important;" v-decorator="['proposal.phone_emergency',{initialValue: null,rules: [{ required:false, message: 'تلفن ضروری را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]">
<!-- <feather-icon style="direction: ltr !important;" icon="MailIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
<!-- </a-input>-->
</a-form-item>
@@ -194,20 +194,20 @@
<div>
<a-form-item label="شماره کارت">
<input class="ant-input"
v-decorator="['bank_card_number']"/>
v-decorator="['bank_card_number',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
</div>
<div>
<a-form-item label="شماره حساب">
<input class="ant-input"
v-decorator="['bank_account']"/>
v-decorator="['bank_account',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
</div>
<div>
<a-form-item label="شماره بیمه">
<input class="ant-input"
v-decorator="['insurance_no']"/>
v-decorator="['insurance_no',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
</div>
@@ -224,12 +224,12 @@
</a-form-item>
</div>
<div>
<div v-if="flags.marriage_sts == 2">
<a-form-item label="تعداد فرزند">
<input class="ant-input" v-decorator="['proposal.count_child',{rules: [{ required: true, message: 'لطفا مقدار را وارد کنید' },{ pattern: /^[0-9]+$/, message: 'فقط عدد مجاز است' }] }]"/>
</a-form-item>
</div>
<div>
<div v-if="flags.gender == 1">
<a-form-item label="وضعیت نظام وظیفه">
<a-select style="width: 100%" v-decorator="['proposal.military_sts',{rules: [{ required: true, message: 'لطفا مقدار را وارد کنید' }] }]">
<a-select-option v-for="(item,index) in {1:'معاف',2:'مشمول',3:'پایان خدمت',}" :value="index">
@@ -321,10 +321,10 @@
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.education[${index}].trend`]"/>
</a-form-item>
<a-form-item label="سال شروع">
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.education[${index}].start_at`]"/>
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.education[${index}].start_at`,{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
<a-form-item label="سال خاتمه">
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.education[${index}].end_at`]"/>
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.education[${index}].end_at`,{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
</div>
<a-divider />
@@ -346,7 +346,7 @@
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.traning[${index}].title`]"/>
</a-form-item>
<a-form-item label="سال">
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.traning[${index}].start_at`]"/>
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.traning[${index}].start_at`,{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
<a-form-item label="امکان ارائه گواهینامه دارم">
<a-checkbox v-decorator="[`personal_details.traning[${index}].has_certificate`,{initialValue:false,valuePropName: 'checked'}]"/>
@@ -375,10 +375,10 @@
</a-form-item>
<a-form-item label="سال شروع">
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.jobs_history[${index}].start_at`]"/>
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.jobs_history[${index}].start_at`,{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
<a-form-item label="سال خاتمه">
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.jobs_history[${index}].end_at`]"/>
<input class="ant-input" autocomplete="off" v-decorator="[`personal_details.jobs_history[${index}].end_at`,{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
</a-form-item>
<!--<a-form-item label="تاکنون">
<a-checkbox v-decorator="['end_now',{initialValue:false,valuePropName: 'checked'}]" />
@@ -441,7 +441,7 @@
<div style="direction: rtl">عنوان گواهینامه : {{ item.title }}</div>
</a-list-item>
</a-list>
<a-button :disabled="!$getAccess('personnel.train.create')" class="mt-4" @click="showAddEducationalInformation=true;isAlertUpload = false">افزودن ردیف</a-button>
<a-button :disabled="!$getAccess('personnel.train.create')" class="mt-4 ml-2" @click="showAddEducationalInformation=true;isAlertUpload = false">افزودن ردیف</a-button>
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('3')">ویرایش</a-button>
</a-tab-pane>
<a-tab-pane :disabled="!$getAccess('personnel.contract')" :forceRender="true" key="4" tab="قراردادها">
@@ -496,7 +496,13 @@
<a-button type="danger" class="mt-3 mr-3">حذف</a-button>
</a-popconfirm>
</a-tooltip>
<a-button :disabled="!$getAccess('personnel.contract.print')" class="ml-3" :href="`http://hr.asco-intl.com:2020/kernel/api/personnel/print?id=${item.id}&type=${item.type?item.type:1}`" target="_blank">چاپ قرداد</a-button>
<!-- <a-button :disabled="!$getAccess('personnel.contract.print')" class="ml-3" :href="`http://hr.asco-intl.com:2020/kernel/api/personnel/print?id=${item.id}&type=${item.type?item.type:1}`" target="_blank">چاپ قرداد</a-button>-->
<a-dropdown class="mb-4">
<a-menu slot="overlay" @click="printContract($event,item.id)">
<a-menu-item v-for="(subItem,subIndex) in contractTypes" :key="subIndex">{{subItem}}</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> چاپ قرارداد <a-icon type="down" /> </a-button>
</a-dropdown>
<!-- <a-button :disabled="!$getAccess('personnel.contract.print')" style="width:20%" class="mr-3" @click="contractId=item.id;showContractPrint=true">چاپ</a-button>-->
<a-button class="ml-3" :disabled="!$getAccess('personnel.contract.update')" @click="openEditingContractModal(item,index)" >ویرایش</a-button>
</div>
@@ -556,7 +562,7 @@
</a-list-item>
</a-list>
<a-button class="mt-3" @click="showAddContract = true">افزودن ردیف</a-button>
<a-button class="mt-3 ml-2" @click="showAddContract = true">افزودن ردیف</a-button>
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('4')">ویرایش</a-button>
</a-tab-pane>
<a-tab-pane :disabled="!$getAccess('personnel.intro')" :forceRender="true" key="5" tab="آشناسازی">
@@ -667,7 +673,7 @@
</a-list-item>
</a-list>
<br/>
<a-button :disabled="!$getAccess('personnel.function.create')" @click="showAddPerformance=true">افزودن ردیف</a-button>
<a-button class="ml-2" :disabled="!$getAccess('personnel.function.create')" @click="showAddPerformance=true">افزودن ردیف</a-button>
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('7')">ویرایش</a-button>
</a-tab-pane>
<a-tab-pane :disabled="!$getAccess('personnel.rule')" :forceRender="true" key="8" tab="احکام / اخطار / پاداش">
@@ -697,7 +703,7 @@
<div style="direction: rtl">عنوان : {{ item.note }}</div>
</a-list-item>
</a-list>
<a-button :disabled="!$getAccess('personnel.rule.create')" class="mt-4" @click="showAddDocument=true;isAlertUpload = false">افزودن ردیف</a-button>
<a-button :disabled="!$getAccess('personnel.rule.create')" class="mt-4 ml-2" @click="showAddDocument=true;isAlertUpload = false">افزودن ردیف</a-button>
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('8')">ویرایش</a-button>
</a-tab-pane>
</a-tabs>
@@ -770,73 +776,73 @@
<div class="grid grid-cols-3 gap-4">
<div>
<a-form-item label="حقوق پایه">
<input class="ant-input" v-decorator="['salary', { initialValue: 0 }]" />
<input class="ant-input" v-decorator="['salary', { initialValue: 0 },{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="بن کارگری">
<input class="ant-input" v-decorator="['worker_coupon', { initialValue: 0 }]" />
<input class="ant-input" v-decorator="['worker_coupon', { initialValue: 0 },{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="کمک هزینه مسکن">
<input class="ant-input" v-decorator="['housing_allowance', { initialValue: 0 }]" />
<input class="ant-input" v-decorator="['housing_allowance', { initialValue: 0 },{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="حق جذب">
<input class="ant-input" v-decorator="['right_attraction', { initialValue: 0 }]" />
<input class="ant-input" v-decorator="['right_attraction', { initialValue: 0 },{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="حق سرپرستی">
<input class="ant-input" v-decorator="['right_guardianship', { initialValue: 0 }]" />
<input class="ant-input" v-decorator="['right_guardianship', { initialValue: 0 },{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="مبلغ سفته">
<input class="ant-input" v-decorator="['promissory', { initialValue: 0 }]" />
<input class="ant-input" v-decorator="['promissory', { initialValue: 0 },{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="شماره سفته">
<input class="ant-input" v-decorator="['promissory_number']" />
<input class="ant-input" v-decorator="['promissory_number',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="شماره قرارداد">
<input class="ant-input" v-decorator="['contract_number']" />
<input class="ant-input" v-decorator="['contract_number',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="حق فرزند">
<input class="ant-input" v-decorator="['right_child']" />
<input class="ant-input" v-decorator="['right_child',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="پایه سنوات">
<input class="ant-input" v-decorator="['basic_years']" />
<input class="ant-input" v-decorator="['basic_years',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="حق ماموریت">
<input class="ant-input" v-decorator="['right_mission']" />
<input class="ant-input" v-decorator="['right_mission',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="حق شیفت">
<input class="ant-input" v-decorator="['right_shift']" />
<input class="ant-input" v-decorator="['right_shift',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
<div>
<a-form-item label="پاداش مستمر">
<input class="ant-input" v-decorator="['reward']" />
<input class="ant-input" v-decorator="['reward',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
@@ -850,7 +856,7 @@
<div>
<a-form-item label="حق السعی">
<input class="ant-input" v-decorator="['right_try']" />
<input class="ant-input" v-decorator="['right_try',{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
</div>
@@ -1059,6 +1065,10 @@
},
data() {
return {
flags:{
gender: undefined,
marriage_sts: undefined,
},
prsonalFileList:[],
file_id:undefined,
fileList: [],
@@ -1125,6 +1135,15 @@
}
},
methods:{
setMarriage_sts(event){
this.flags.marriage_sts = event.target.value
},
setGender(event){
this.flags.gender = event.target.value
},
printContract(event,id){
window.open(`http://hr.asco-intl.com:2020/kernel/api/personnel/print?type=${event.key}&id=${id}`, '_blank').focus()
},
getTime(date){
return moment(date,'YYYY-MM-DD HH:mm:ss').format('jYYYY/jM/jD-HH:mm')
},
@@ -1738,6 +1757,7 @@
this.getdata(record.id);
this.showPersonalModal=true;
this.personel = record;
this.flags = {gender: record.proposal.gender, marriage_sts: record.proposal.marriage_sts,}
this.$nextTick(()=>{
this.fromPersonel.setFieldsValue(record);
});
+23 -13
View File
@@ -112,14 +112,14 @@
<a-form-item label="کد ملی">
<!--<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" >
<input autocomplete="off" type="text" v-decorator="['ncode',{initialValue: null,rules: [{ required: true, message: 'کد ملی را وارد نمایید' },{ min : 10, message: 'کد ملی 10 رقمی می باشد' },{ max : 10, message: 'کد ملی 10 رقمی می باشد' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]" class="ant-input" >
</a-form-item>
</div>
<div class="grid lg:grid-cols-4 md:grid-cols-4 sm:grid-cols-1 gap-4">
<a-form-item label="جنسیت">
<a-radio-group style="direction: ltr" v-decorator="['gender',{ initialValue: '1' }]" button-style="solid">
<a-radio-group style="direction: ltr" v-decorator="['gender',{ initialValue: '1' }]" button-style="solid" @change="setGender">
<a-radio-button value="2">
زن
</a-radio-button>
@@ -129,7 +129,7 @@
</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-group style="direction: ltr" v-decorator="['married',{initialValue: '1'}]" button-style="solid" @change="setMarriage_sts">
<a-radio-button value="1">
مجرد
</a-radio-button>
@@ -139,17 +139,17 @@
</a-radio-group>
</a-form-item>
<a-form-item label="شماره حساب بانک پاسارگاد">
<input class="ant-input" autocomplete="off" v-decorator="['pasargad_bank_number',{initialValue: null}]" />
<input class="ant-input" autocomplete="off" v-decorator="['pasargad_bank_number',{initialValue: null},{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
<a-form-item label="حقوق درخواستی">
<input class="ant-input" autocomplete="off" v-decorator="['requested_salary',{initialValue: null,rules: [{ required: true, message: 'حقوق درخواستی را وارد نمایید' }]}]" />
<input class="ant-input" autocomplete="off" v-decorator="['requested_salary',{initialValue: null,rules: [{ required: true, message: 'حقوق درخواستی را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]" />
</a-form-item>
<a-form-item label="تعداد فرزند">
<a-form-item label="تعداد فرزند" v-if="flags.marriage_sts == 2">
<input class="ant-input" v-decorator="['count_child',{rules: [{ required: true, message: 'لطفا مقدار را وارد کنید' },{ pattern: /^[0-9]+$/,type: 'string', message: 'فقط عدد مجاز است' }] }]"/>
</a-form-item>
<a-form-item label="وضعیت نظام وظیفه">
<a-form-item label="وضعیت نظام وظیفه" v-if="flags.gender == 1">
<a-select style="width: 100%" v-decorator="['military_sts',{rules: [{ required: true, message: 'لطفا مقدار را وارد کنید' }] }]">
<a-select-option v-for="(item,index) in {1:'معاف',2:'مشمول',3:'پایان خدمت',}" :value="index">
{{ item }}
@@ -165,7 +165,7 @@
<div class="grid sm:grid-cols-1 md:grid-cols-4 lg:grid-cols-4 gap-4">
<a-form-item label="شماره شناسنامه">
<input class="ant-input" autocomplete="off" v-decorator="['iden_code',{initialValue: null,rules: [{ required: true, message: 'شماره شناسنامه را وارد نمایید' }]}]" />
<input class="ant-input" autocomplete="off" v-decorator="['iden_code',{initialValue: null,rules: [{ required: true, message: 'شماره شناسنامه را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]" />
</a-form-item>
<a-form-item label="سریال شناسنامه">
@@ -175,7 +175,7 @@
{{ item }}
</a-select-option>
</a-select>
<input class="ant-input" v-decorator="['iden_no_right',{initialValue: null}]" autocomplete="off" style="width: 77%;direction: rtl" />
<input class="ant-input" v-decorator="['iden_no_right',{initialValue: null},{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" autocomplete="off" style="width: 77%;direction: rtl" />
</a-input-group>
</a-form-item>
<!-- <a-input-group compact>
@@ -231,7 +231,7 @@
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="موبایل">
<input class="ant-input" autocomplete="off" v-decorator="['mobile',{initialValue: null,rules: [{ required: true, message: 'شماره موبایل را وارد نمایید' }]}]" >
<input class="ant-input" autocomplete="off" v-decorator="['mobile',{initialValue: null,rules: [{ required: true, message: 'شماره موبایل را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]" >
<!--<feather-icon style="direction: ltr !important;" icon="SmartPhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
<!-- </a-input>-->
</a-form-item>
@@ -240,7 +240,7 @@
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="تلفن ثابت">
<input class="ant-input" autocomplete="off" v-decorator="['phone',{initialValue: null,rules: [{ required: true, message: 'تلفن ثابت را وارد نمایید' }]}]" >
<input class="ant-input" autocomplete="off" v-decorator="['phone',{initialValue: null,rules: [{ required: true, message: 'تلفن ثابت را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]" >
<!--<feather-icon style="direction: ltr !important;" icon="PhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
<!-- </a-input>-->
</a-form-item>
@@ -254,7 +254,7 @@
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="تلفن ضروری">
<input class="ant-input" style="direction: rtl !important;" v-decorator="['phone_emergency',{initialValue: null,rules: [{ required: true, message: 'تلفن ضروری را وارد نمایید' }]}]">
<input class="ant-input" style="direction: rtl !important;" v-decorator="['phone_emergency',{initialValue: null,rules: [{ required: true, message: 'تلفن ضروری را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]">
<!-- <feather-icon style="direction: ltr !important;" icon="MailIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
<!-- </a-input>-->
</a-form-item>
@@ -296,7 +296,7 @@
</a-form-item>
<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: 'شماره بیمه را وارد نمایید' }]}]" />
<input class="ant-input" autocomplete="off" style="width: 40%" v-decorator="['insurance_no',{initialValue: null,rules: [{ required: false, message: 'شماره بیمه را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]" />
</a-form-item>
</a-card>
@@ -744,6 +744,10 @@
},
data(){
return{
flags:{
gender: 1,
marriage_sts: 1,
},
fileList: [],
file_id:undefined,
current: 0,
@@ -788,6 +792,12 @@
}
},
methods:{
setMarriage_sts(event){
this.flags.marriage_sts = event.target.value
},
setGender(event){
this.flags.gender = event.target.value
},
changeDocumentUpload({fileList, event, file}){
if (file.response && file.response.id) {
this.file_id = file.response.id;
+23 -13
View File
@@ -122,14 +122,14 @@
<a-form-item label="کد ملی">
<!--<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" >
<input autocomplete="off" type="text" v-decorator="['ncode',{initialValue: null,rules: [{ required: true, message: 'کد ملی را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},{ min : 10, message: 'کد ملی 10 رقمی می باشد' },{ max : 10, message: 'کد ملی 10 رقمی می باشد' }]}]" class="ant-input" >
</a-form-item>
</div>
<div class="grid lg:grid-cols-4 md:grid-cols-4 sm:grid-cols-1 gap-4">
<a-form-item label="جنسیت">
<a-radio-group style="direction: ltr" v-decorator="['gender',{ initialValue: '1' }]" button-style="solid">
<a-radio-group style="direction: ltr" v-decorator="['gender',{ initialValue: '1' }]" button-style="solid" @change="setGender">
<a-radio-button value="2">
زن
</a-radio-button>
@@ -139,7 +139,7 @@
</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-group style="direction: ltr" v-decorator="['married',{initialValue: '1'}]" button-style="solid" @change="setMarriage_sts">
<a-radio-button value="1">
مجرد
</a-radio-button>
@@ -149,16 +149,16 @@
</a-radio-group>
</a-form-item>
<a-form-item label="شماره حساب بانک پاسارگاد">
<input class="ant-input" autocomplete="off" v-decorator="['pasargad_bank_number',{initialValue: null}]" />
<input class="ant-input" autocomplete="off" v-decorator="['pasargad_bank_number',{initialValue: null},{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" />
</a-form-item>
<a-form-item label="حقوق درخواستی">
<input class="ant-input" autocomplete="off" v-decorator="['requested_salary',{initialValue: null,rules: [{ required: true, message: 'حقوق درخواستی را وارد نمایید' }]}]" />
<input class="ant-input" autocomplete="off" v-decorator="['requested_salary',{initialValue: null,rules: [{ required: true, message: 'حقوق درخواستی را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]" />
</a-form-item>
<a-form-item label="تعداد فرزند">
<a-form-item label="تعداد فرزند" v-if="flags.marriage_sts == 2">
<input class="ant-input" v-decorator="['count_child',{rules: [{ required: true, message: 'لطفا مقدار را وارد کنید' },{ pattern: /^[0-9]+$/,type: 'string', message: 'فقط عدد مجاز است' }] }]"/>
</a-form-item>
<a-form-item label="وضعیت نظام وظیفه">
<a-form-item label="وضعیت نظام وظیفه" v-if="flags.gender == 1">
<a-select style="width: 100%" v-decorator="['military_sts',{rules: [{ required: true, message: 'لطفا مقدار را وارد کنید' }] }]">
<a-select-option v-for="(item,index) in {1:'معاف',2:'مشمول',3:'پایان خدمت',}" :value="index">
{{ item }}
@@ -174,7 +174,7 @@
<div class="grid sm:grid-cols-1 md:grid-cols-4 lg:grid-cols-4 gap-4">
<a-form-item label="شماره شناسنامه">
<input class="ant-input" autocomplete="off" v-decorator="['iden_code',{initialValue: null,rules: [{ required: true, message: 'شماره شناسنامه را وارد نمایید' }]}]" />
<input class="ant-input" autocomplete="off" v-decorator="['iden_code',{initialValue: null,rules: [{ required: true, message: 'شماره شناسنامه را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]" />
</a-form-item>
<a-form-item label="سریال شناسنامه">
@@ -184,7 +184,7 @@
{{ item }}
</a-select-option>
</a-select>
<input class="ant-input" v-decorator="['iden_no_right',{initialValue: null}]" autocomplete="off" style="width: 77%;direction: rtl" />
<input class="ant-input" v-decorator="['iden_no_right',{initialValue: null},{ rules: [{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'},] }]" autocomplete="off" style="width: 77%;direction: rtl" />
</a-input-group>
</a-form-item>
<!-- <a-input-group compact>
@@ -239,7 +239,7 @@
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="موبایل">
<input class="ant-input" autocomplete="off" v-decorator="['mobile',{initialValue: null,rules: [{ required: true, message: 'شماره موبایل را وارد نمایید' }]}]" >
<input class="ant-input" autocomplete="off" v-decorator="['mobile',{initialValue: null,rules: [{ required: true, message: 'شماره موبایل را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]" >
<!--<feather-icon style="direction: ltr !important;" icon="SmartPhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
<!-- </a-input>-->
</a-form-item>
@@ -248,7 +248,7 @@
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="تلفن ثابت">
<input class="ant-input" autocomplete="off" v-decorator="['phone',{initialValue: null,rules: [{ required: true, message: 'تلفن ثابت را وارد نمایید' }]}]" >
<input class="ant-input" autocomplete="off" v-decorator="['phone',{initialValue: null,rules: [{ required: true, message: 'تلفن ثابت را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]" >
<!--<feather-icon style="direction: ltr !important;" icon="PhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
<!-- </a-input>-->
</a-form-item>
@@ -262,7 +262,7 @@
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="تلفن ضروری">
<input class="ant-input" style="direction: rtl !important;" v-decorator="['phone_emergency',{initialValue: null,rules: [{ required: true, message: 'تلفن ضروری را وارد نمایید' }]}]">
<input class="ant-input" style="direction: rtl !important;" v-decorator="['phone_emergency',{initialValue: null,rules: [{ required: true, message: 'تلفن ضروری را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]">
<!-- <feather-icon style="direction: ltr !important;" icon="MailIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
<!-- </a-input>-->
</a-form-item>
@@ -304,7 +304,7 @@
</a-form-item>
<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: 'شماره بیمه را وارد نمایید' }]}]" />
<input class="ant-input" autocomplete="off" style="width: 40%" v-decorator="['insurance_no',{initialValue: null,rules: [{ required: false, message: 'شماره بیمه را وارد نمایید' },{pattern:/^\d*$/,type:'string',message:'مقدار وارد شده باید عددی باشد.'}]}]" />
</a-form-item>
</a-card>
@@ -748,6 +748,10 @@
},
data(){
return{
flags:{
gender: 1,
marriage_sts: 1,
},
fileList:[],
file_id:undefined,
current: 0,
@@ -792,6 +796,12 @@
}
},
methods:{
setMarriage_sts(event){
this.flags.marriage_sts = event.target.value
},
setGender(event){
this.flags.gender = event.target.value
},
changeDocumentUpload({fileList, event, file}){
if (file.response && file.response.id) {
this.file_id = file.response.id;