update 1399-12-01

This commit is contained in:
AliGhasami
2021-02-19 15:46:05 +03:30
parent cf40a1f402
commit eea2705893
10 changed files with 287 additions and 67 deletions
+192 -11
View File
@@ -31,7 +31,19 @@
<div class="steps-content">
<ASpin :spinning="loading">
<a-form :form="formFirst">
<a-form :form="formFirst">
<a-form-item label="نام و نام خانوادگی">
<!--<a-input autocomplete="off" v-decorator="['name2',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" />-->
<a-input v-decorator="['name',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" class="ant-input" placeholder="Basic usage" />
<!--<input type="text" v-decorator="['name',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" class="ant-input" >-->
<!-- <vs-input v-decorator="['name',{initialValue: null,rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]" />-->
</a-form-item>
<div v-show="current==0" class="mt-4">
<a-button type="primary" @click="addCity()">
افزودن ردیف
@@ -236,7 +248,7 @@
</div>
<div class="md:w-1/4 md:pl-4">
<a-row >
<a-form-item label="نام طرف">
<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>
@@ -270,11 +282,53 @@
</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-input autocomplete="off" style="width: 40%" v-decorator="['insurance_no',{initialValue: null,rules: [{ required: false, message: 'این فیلد نمیتواند خالی باشد.' }]}]" />
</a-form-item>
</a-card>
<br/>
<a-card title="اطلاعات خانوادگی" :bordered="true" >
<a-list class="mb-5" v-if="family.length > 0" :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal" >
<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/>
<a-card title="سوابق تحصیلی" :bordered="true" >
<a-list class="mb-5" v-if="edu.length > 0" :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal" >
@@ -446,6 +500,76 @@
</ASpin>
</div>
<a-modal :visible="visibleFamily" title="اطلاعات خانوادگی" @ok="createFamily" @cancel="cancelFamily" ok-text="ایجاد" cancel-text="انصراف">
<a-form :form="formFamily">
<a-form-item label="نام">
<a-input autocomplete="off" v-decorator="['name',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</a-form-item>
<a-form-item label="نسبت">
<a-input autocomplete="off" v-decorator="['relation',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</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="['edu_title',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</a-form-item>
<a-form-item label="شغل">
<a-input autocomplete="off" v-decorator="['job',{rules: [{ required: true, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</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>
<a-modal :visible="visibleEdu" title="افزودن سابقه تحصیلی" @ok="createEdu" @cancel="cancelEdu" ok-text="ایجاد" cancel-text="انصراف">
<a-form :form="formEdu">
<a-form-item label="مقطع">
@@ -492,6 +616,8 @@
</a-form>
</a-modal>
<a-modal :visible="visibleEducational" title="افزودن سابقه آموزشی" @ok="createEducational" @cancel="cancelEducational" ok-text="ایجاد" cancel-text="انصراف">
<a-form :form="formEducational">
@@ -520,7 +646,6 @@
<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>
@@ -528,7 +653,7 @@
<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-input autocomplete="off" v-decorator="['note',{rules: [{ required:false, message: 'این فیلد نمیتواند خالی باشد.' }]}]"/>
</a-form-item>
<div class="md:flex">
@@ -583,12 +708,14 @@
current: 0,
from: this.$form.createForm(this, {name: 'coordinated'}),
formEdu: this.$form.createForm(this, {name: 'coordinated'}),
formFamily: 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:[],
family:[],
work:[],
jobs:[{city:null,job:null}],
//model:[],
@@ -596,6 +723,7 @@
birth_day:'',
has_instructor: '-1',
visibleEdu: false,
visibleFamily: false,
visibleEducational: false,
visibleWork: false,
visibleAccept: false,
@@ -631,7 +759,8 @@
{
this.formFirst.validateFields(async(err, values) => {
if (!err) {
this.current++;
//this.current++;
console.log(values,'first')
}
});
@@ -645,12 +774,13 @@
this.loading = true
console.log(values,'values')
values.model = this.formFirst.getFieldsValue();
values.birth_date = this.birth_day
values.work = this.work
values.training = this.educational
values.academic = this.edu
values.birth_date = this.birth_day;
values.work = this.work;
values.training = this.educational;
values.academic = this.edu;
values.family= this.family;
await axios.post('register/save', values)
this.$ntSet()
this.$ntSet();
// this.from.resetFields()
this.current++
}catch (e) {
@@ -694,6 +824,11 @@
this.editMode = false
this.formEdu.resetFields()
},
openModalFamily(){
this.visibleFamily = true
this.editMode = false
this.formFamily.resetFields();
},
openModalEducational(){
this.visibleEducational = true
this.editMode = false
@@ -704,6 +839,13 @@
this.editMode = false
this.formWork.resetFields()
},
openModalFamilyModeEDit(item){
//console.log(item,'item')
this.visibleFamily = true
this.editMode = true
this.tempRow = item
this.formFamily.setFieldsValue(item)
},
openModalEduModeEDit(item){
console.log(item,'item')
this.visibleEdu = true
@@ -726,12 +868,46 @@
cancelEdu(){
this.visibleEdu = false
},
cancelFamily(){
this.visibleFamily = false
},
cancelEducational(){
this.visibleEducational = false
},
cancelWork(){
this.visibleWork = false
},
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 {
}
}
});
},
createEdu(e){
e.preventDefault();
this.formEdu.validateFields(async(err, values) => {
@@ -815,6 +991,11 @@
this.is_work_check = e.target.checked
if(this.is_work_check) this.formWork.resetFields('end')
},
removeFamily(item){
console.log(item);
const index = this.family.indexOf(item)
this.family.splice(index,1)
},
removeEdu(item){
const index = this.edu.indexOf(item)
this.edu.splice(index,1)