Init project

This commit is contained in:
alirezakarari
2021-01-09 20:53:13 +03:30
commit 8d06c89a89
1005 changed files with 105625 additions and 0 deletions
+758
View File
@@ -0,0 +1,758 @@
<template>
<div>
<a-card>
<x-table class="mt-4"
:model="cols">
<template slot="operator" slot-scope="text,record">
<a-button type="primary" @click="showPersonal(text.record)">
مشاهده و ویرایش اطلاعات
</a-button>
</template>
</x-table>
<a-modal @ok="savefromPersonel" :forceRender="true" okText="ویرایش" cancelText="بستن" :width="1200" v-model="showPersonalModal" title="ویرایش اطلاعات پرسنلی">
<a-form :form="fromPersonel">
<a-tabs default-active-key="1" style="direction: ltr">
<a-tab-pane force-render key="8" tab="احکام / اخطار / پاداش">
<a-list :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal" >
<a-list-item class="grid grid-cols-3" v-for="(item,index) in writ" :key="index" >
<div>
<a-tooltip placement="bottomRight">
<template slot="title">
<span>حذف</span>
</template>
<a-popconfirm
placement="right"
style="z-index: 999999999999"
title="آیا می خواهید حذف کنید؟"
ok-text="بله"
cancel-text="خیر"
@confirm="removeDocs(item)"
>
<a-button type="danger" class="mr-3">حذف</a-button>
</a-popconfirm>
</a-tooltip>
</div>
<div style="direction: rtl">{{ item.type }} : نوع</div>
<div style="direction: rtl">عنوان : {{ item.title }}</div>
</a-list-item>
</a-list>
<a-button class="mt-4" @click="showAddDocument=true;isAlertUpload = false">افزودن ردیف</a-button>
</a-tab-pane>
<a-tab-pane force-render key="7" tab="ارزیابی عملکرد">
<a-list :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal" >
<a-list-item class="grid grid-cols-3" v-for="(item,index) in educationalInformation" :key="index" >
<div>
<a-tooltip placement="bottomRight">
<template slot="title">
<span>حذف</span>
</template>
<a-popconfirm
placement="right"
style="z-index: 999999999999"
title="آیا می خواهید حذف کنید؟"
ok-text="بله"
cancel-text="خیر"
@confirm="okDelete(item)"
>
<a-button type="danger" class="mr-3">حذف</a-button>
</a-popconfirm>
</a-tooltip>
</div>
<div>{{ item.note }} : برنامه توسعه دوره</div>
<div>نمره : {{ item.score }}</div>
</a-list-item>
</a-list>
<br/>
<a-button @click="showAddPerformance=true">افزودن ردیف</a-button>
</a-tab-pane>
<a-tab-pane force-render key="6" tab="تحویل تجهیزات">
<a-form-item>
<a-checkbox v-decorator="['equip_checklist.first',{valuePropName:'checked'}]" >کلاه</a-checkbox>
</a-form-item>
<a-form-item>
<a-checkbox v-decorator="['equip_checklist.second',{valuePropName:'checked'}]" >لباس</a-checkbox>
</a-form-item>
<a-form-item label="سایز">
<a-input style="width: 40%"
v-decorator="['equip_checklist.cloth_size']"/>
</a-form-item>
<a-form-item>
<a-checkbox v-decorator="['equip_checklist.third',{valuePropName:'checked'}]">دستکش</a-checkbox>
</a-form-item>
<a-form-item>
<a-checkbox v-decorator="['equip_checklist.forth',{valuePropName:'checked'}]" >عینک</a-checkbox>
</a-form-item>
<a-form-item>
<a-checkbox v-decorator="['equip_checklist.fifth',{valuePropName:'checked'}]">کفش</a-checkbox>
</a-form-item>
<a-form-item>
<a-checkbox v-decorator="['equip_checklist.sixth',{valuePropName:'checked'}]">مهر</a-checkbox>
</a-form-item>
<a-form-item label="سایر">
<a-input style="width: 40%"
v-decorator="['equip_checklist.other']"/>
</a-form-item>
</a-tab-pane>
<a-tab-pane force-render key="5" tab="آشنا سازی">
<a-form-item>
<a-checkbox v-decorator="['intro_checklist.first',{valuePropName:'checked'}]">
تکمیل پرونده
</a-checkbox>
</a-form-item>
<a-form-item>
<a-checkbox v-decorator="['intro_checklist.second',{valuePropName:'checked'}]">آشنا سازی با قوانین</a-checkbox>
</a-form-item>
<a-form-item>
<a-checkbox v-decorator="['intro_checklist.third',{valuePropName:'checked'}]">اصول اخلاقی</a-checkbox>
</a-form-item>
</a-tab-pane>
<a-tab-pane key="4" tab="قرارد دادها" force-render>
<a-list :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal" >
<a-list-item class="grid grid-cols-3" v-for="(item,index) in training" :key="index" >
<div>
<a-tooltip placement="bottomRight">
<template slot="title">
<span>حذف</span>
</template>
<a-popconfirm
placement="right"
style="z-index: 999999999999"
title="آیا می خواهید حذف کنید؟"
ok-text="بله"
cancel-text="خیر"
@confirm="removeEdu(item)"
>
<a-button type="danger" class="mr-3">حذف</a-button>
</a-popconfirm>
</a-tooltip>
</div>
<div>{{ item.type }} : دسته گواهینامه</div>
<div style="direction: rtl">عنوان گواهینامه : {{ item.title }}</div>
</a-list-item>
</a-list>
<a-button @click="showAddContract = true">افزودن ردیف</a-button>
</a-tab-pane>
<a-tab-pane key="3" tab="اطلاعات آموزشی" force-render>
<a-list :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal" >
<a-list-item class="grid grid-cols-3" v-for="(item,index) in training" :key="index" >
<div>
<a-tooltip placement="bottomRight">
<template slot="title">
<span>حذف</span>
</template>
<a-popconfirm
placement="right"
style="z-index: 999999999999"
title="آیا می خواهید حذف کنید؟"
ok-text="بله"
cancel-text="خیر"
@confirm="removeEdu(item)"
>
<a-button type="danger" class="mr-3">حذف</a-button>
</a-popconfirm>
</a-tooltip>
</div>
<div>{{ item.type }} : دسته گواهینامه</div>
<div style="direction: rtl">عنوان گواهینامه : {{ item.title }}</div>
</a-list-item>
</a-list>
<a-button class="mt-4" @click="showAddEducationalInformation=true;isAlertUpload = false">افزودن ردیف</a-button>
</a-tab-pane>
<a-tab-pane key="2" tab="اطلاعات پایه" force-render>
<a-form-item label="وضعیت بیمه:">
<a-radio-group v-decorator="['insurance_sts']">
<a-radio :value="-1">
ندارد
</a-radio>
<a-radio :value="1">
دارد
</a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="شماره بیمه">
<a-input style="width: 40%"
v-decorator="['insurance_no']"/>
</a-form-item>
<a-form-item label="شماره کارت">
<a-input style="width: 40%"
v-decorator="['bank_card_number']"/>
</a-form-item>
<a-form-item label="شمار ه حساب">
<a-input style="width: 40%"
v-decorator="['bank_account']"/>
</a-form-item>
</a-tab-pane>
<a-tab-pane key="1" tab="اطلاعات فردی" force-render style="direction: rtl">
<a-card title="اطلاعات فردی">
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
<a-form-item label="نام و نام خانوادگی">
<a-input autocomplete="off" v-decorator="['name',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="کدملی">
<a-input autocomplete="off" v-decorator="['ncode',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="موبایل">
<a-input autocomplete="off" v-decorator="['proposal.mobile',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="تاریخ ثبت نام">
<a-input autocomplete="off" v-decorator="['created_at',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="تاریخ به روز رسانی ">
<a-input autocomplete="off" v-decorator="['updated_at',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="شغل متقاضی">
<a-input autocomplete="off" v-decorator="['proposal.job_title',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="نام پدر">
<a-input autocomplete="off" v-decorator="['proposal.father_name',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<!-- <a-form-item label="تاریخ تولد">-->
<!-- <a-input autocomplete="off" v-decorator="['personal.birth_date',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>-->
<!-- </a-form-item>-->
<a-form-item label="شماره شناسنامه">
<a-input autocomplete="off" v-decorator="['proposal.iden_id',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="سریال شناسنامه">
<a-input autocomplete="off" v-decorator="['proposal.iden_serial',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="محل صدور">
<a-input autocomplete="off" v-decorator="['proposal.iden_place',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="محل تولد">
<a-input autocomplete="off" v-decorator="['proposal.birth_place',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="ایمیل">
<a-input autocomplete="off" v-decorator="['proposal.email',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="تلفن ثابت">
<a-input autocomplete="off" v-decorator="['proposal.phone',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="شماره بیمه">
<a-input autocomplete="off" v-decorator="['proposal.name',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="نام طرف مرتبط">
<a-input autocomplete="off" v-decorator="['proposal.phone_emergency_related',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="جنسیت">
<a-radio-group v-decorator="['proposal.gender']">
<a-radio :value="1">
مرد
</a-radio>
<a-radio :value="-1">
زن
</a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="وضعیت تاهل">
<a-radio-group v-decorator="['proposal.marriage_sts']">
<a-radio :value="1">
مرد
</a-radio>
<a-radio :value="-1">
زن
</a-radio>
</a-radio-group>
</a-form-item>
</div>
</a-card>
<a-card title="اطلاعات تحصیلی" class="mt-5">
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
<a-form-item label="مقطع">
<a-input autocomplete="off" v-decorator="['personal_details[0].university',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="دانشگاه">
<a-input autocomplete="off" v-decorator="[`personal_details[${0}].university`,{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="رشته تحصیلی">
<a-input autocomplete="off" v-decorator="['personal_details[0].title',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="گرایش">
<a-input autocomplete="off" v-decorator="[`personal_details[${0}].trend`,{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="سال شروع">
<a-input autocomplete="off" v-decorator="[`personal_details[${0}].start_at`,{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="سال خاتمه">
<a-input autocomplete="off" v-decorator="[`personal_details[${0}].end_at`,{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
</div>
</a-card>
<a-card title="سوابق آموزشی" class="mt-5">
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
<a-form-item label="مرکز برگزاری">
<a-input autocomplete="off" v-decorator="[`personal_details[${1}].university`,{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="عنوان دوره ">
<a-input autocomplete="off" v-decorator="[`personal_details[${1}].title`,{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="سال">
<a-input autocomplete="off" v-decorator="[`personal_details[${1}].start_at`,{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
</div>
</a-card>
<a-card title="سوابق کاری" class="mt-5">
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
<a-form-item label="نام سازمان ">
<a-input autocomplete="off" v-decorator="[`personal_details[${2}].university`,{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="عنوان شغل">
<a-input autocomplete="off" v-decorator="[`personal_details[${2}].title`,{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="سال شروع">
<a-input autocomplete="off" v-decorator="[`personal_details[${2}].start_at`,{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="سال خاتمه">
<a-input autocomplete="off" v-decorator="[`personal_details[${2}].end_at`,{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
</div>
</a-card>
</a-tab-pane>
</a-tabs>
</a-form>
</a-modal>
<a-modal okText="ایجاد" cancelText="بستن" v-model="showAddEducationalInformation" title="افزودن اطلاعات آموزشی" @ok="addEdu">
<a-form :form="fromEducationalInformation">
<div class="grid sm:grid-cols-1 md:grid-cols-2 md:gap-4 lg:grid-cols-2 lg:gap-4">
<a-form-item label="دسته گواهینامه">
<a-input autocomplete="off" v-decorator="['type',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="عنوان گواهینامه">
<a-input autocomplete="off" v-decorator="['title',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
</div>
<a-form-item label="فایل">
<div class="dropbox">
<a-upload-dragger
v-if="!isAlertUpload"
:customRequest="uploadImage"
:show-upload-list="false"
:before-upload="beforeUpload"
>
<p class="ant-upload-drag-icon">
<a-icon type="inbox" />
</p>
<p class="ant-upload-text">
فایل را درگ کنید یا اینکه کاوش کنید.
</p>
<p class="ant-upload-hint">
فایل را درگ کنید یا اینکه کاوش کنید.
</p>
</a-upload-dragger>
<div v-else>
<a-alert message="آپلود سند با موفقیت انجام شد." type="success" />
</div>
</div>
</a-form-item>
</a-form>
</a-modal>
<a-modal okText="ایجاد" cancelText="بستن" v-model="showAddContract" title="افزودن قرارداد" >
<a-form :form="fromEducationalInformation">
<a-form-item label="نوع قرار داد" has-feedback>
<a-select
v-decorator="['select', { rules: [{ required: false, message: 'Please select your country!' }] }]"
placeholder="انتخاب نوع قرار داد"
>
<a-select-option value="china">
نوع اول
</a-select-option>
<a-select-option value="amirican">
نوع دوم
</a-select-option>
<a-select-option value="usa">
نوع سوم
</a-select-option>
</a-select>
</a-form-item>
<div class="grid grid-cols-2 gap-4">
<!-- <div>-->
<!-- <a-form-item label="تاریخ شروع">-->
<!-- <a-input-->
<!-- v-model="interview_at"-->
<!-- id="interview_at"-->
<!-- autocomplete="off"-->
<!-- />-->
<!-- </a-form-item>-->
<!-- <date-picker-->
<!-- :auto-submit="true"-->
<!-- color="#4f72ab"-->
<!-- v-model="interview_at"-->
<!-- element="interview_at"-->
<!-- />-->
<!-- </div>-->
<!-- <div>-->
<!-- <a-form-item label="تاریخ خاتمه">-->
<!-- <a-input-->
<!-- v-model="interview_at"-->
<!-- id="interview_at"-->
<!-- autocomplete="off"-->
<!-- />-->
<!-- </a-form-item>-->
<!-- <date-picker-->
<!-- :auto-submit="true"-->
<!-- color="#4f72ab"-->
<!-- v-model="interview_at"-->
<!-- element="interview_at"-->
<!-- />-->
<!-- </div>-->
<div>
<a-form-item label="تاریخ خاتمه">
<a-input style="width: 40%" v-decorator="['title2',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
</div>
</div>
<div class="grid grid-cols-3 gap-4">
<div>
<a-form-item label="حقوق پایه">
<a-input-number v-decorator="['input-number', { initialValue: 3 }]" :min="0" :max="20" />
</a-form-item>
</div>
<div>
<a-form-item label="بن کارگری">
<a-input-number v-decorator="['input-number', { initialValue: 3 }]" :min="0" :max="20" />
</a-form-item>
</div>
<div>
<a-form-item label="کمک هزینه مسکن">
<a-input-number v-decorator="['input-number', { initialValue: 3 }]" :min="0" :max="20" />
</a-form-item>
</div>
<div>
<a-form-item label="حق جذب">
<a-input-number v-decorator="['input-number', { initialValue: 3 }]" :min="0" :max="20" />
</a-form-item>
</div>
<div>
<a-form-item label="حق سرپرستی">
<a-input-number v-decorator="['input-number', { initialValue: 3 }]" :min="0" :max="20" />
</a-form-item>
</div>
</div>
<a-form-item label="دلیل فسخ قرارداد">
<a-input style="width: 40%"
v-decorator="['title2',{rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="فایل">
<div class="dropbox">
<a-upload-dragger
v-decorator="[
'dragger',
{
valuePropName: 'fileList',
},
]"
name="files"
action="/upload.do"
>
<p class="ant-upload-drag-icon">
<a-icon type="inbox" />
</p>
<p class="ant-upload-text">
فایل را درگ کنید یا اینکه کاوش کنید.
</p>
<p class="ant-upload-hint">
تصویر که بارگذاری می کنید باید زیر ۵ مگابایت باشد.
</p>
</a-upload-dragger>
</div>
</a-form-item>
</a-form>
</a-modal>
<a-modal @ok="savefromPerformance" okText="ایجاد" cancelText="بستن" v-model="showAddPerformance" title="افزودن ارزیابی عملکرد" >
<a-form :form="fromPerformance">
<a-form-item label="نمره">
<a-input-number autocomplete="off" v-decorator="['score',{rules: [{ required: false, message: 'وارد کردن الزامی است' }]}]" :min="0" :max="20" />
</a-form-item>
<a-form-item label="برنامه توسعه دوره">
<a-input autocomplete="off" v-decorator="['note',{rules: [{ required: false, message: 'وارد کردن الزامی است' }]}]"/>
</a-form-item>
</a-form>
</a-modal>
<a-modal okText="ایجاد" cancelText="بستن" v-model="showAddDocument" title="افزودن سند" @ok="addDocs">
<a-form :form="fromDocs">
<a-form-item label="نوع" has-feedback>
<a-select
v-decorator="['type', { rules: [{ required: false, message: 'Please select your country!' }] }]"
placeholder="انتخاب نوع"
>
<a-select-option value="حکم">
حکم
</a-select-option>
<a-select-option value="اخطار">
اخطار
</a-select-option>
<a-select-option value="پاداش">
پاداش
</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="شرح">
<a-input style="width:100%"
autocomplete="off"
v-decorator="['title',{initialValue:null,rules: [{ required: false, message: 'وارد کردن شغل الزامی است' }]}]"/>
</a-form-item>
<a-form-item label="فایل">
<div class="dropbox">
<a-upload-dragger
v-if="!isAlertUpload"
:customRequest="uploadImage"
:show-upload-list="false"
:before-upload="beforeUpload"
>
<p class="ant-upload-drag-icon">
<a-icon type="inbox" />
</p>
<p class="ant-upload-text">
فایل را درگ کنید یا اینکه کاوش کنید.
</p>
<p class="ant-upload-hint">
تصویر که بارگذاری می کنید باید زیر ۵ مگابایت باشد.
</p>
</a-upload-dragger>
<div v-else>
<a-alert message="آپلود سند با موفقیت انجام شد." type="success" />
</div>
</div>
</a-form-item>
</a-form>
</a-modal>
</a-card>
</div>
</template>
<script>
import * as TableCol from './personelTbl';
import XTable from "@/components/x-table/XTable";
import axios from "@/axios";
export default {
components:{
XTable,
},
data() {
return {
cols:null,
fromPersonel:this.$form.createForm(this, {name: 'coordinated'}),
fromPerformance:this.$form.createForm(this, {name: 'coordinated'}),
fromEducationalInformation:this.$form.createForm(this, {name: 'coordinated'}),
fromDocs:this.$form.createForm(this, {name: 'coordinated'}),
showPersonalModal:false,
showAddEducationalInformation:false,
showAddContract:false,
showAddPerformance:false,
showAddDocument:false,
personel:{},
educationalInformation:[],
writ:[],
training:[],
isAlertUpload:false,
isShowDocs:false,
image_data:null,
personal_details:[]
}
},
methods:{
savefromPerformance(e){
e.preventDefault();
this.fromPerformance.validateFields((err, values) => {
if (!err) {
this.educationalInformation.push(values);
this.showAddPerformance = false;
this.$message.success('اطلاعات با موفقیت ثبت شد');
this.fromPerformance.resetFields()
}
});
},
addDocs(e){
e.preventDefault();
this.fromDocs.validateFields((err, values) => {
if (!err) {
if(this.image_data){
values.file_id = this.image_data.id
values.file = this.image_data.storage
}
this.writ.push(values);
this.showAddDocument = false;
this.$message.success('اطلاعات با موفقیت ثبت شد');
this.fromDocs.resetFields()
}
});
},
addEdu(e){
e.preventDefault();
this.fromEducationalInformation.validateFields((err, values) => {
if (!err) {
if(this.image_data){
values.file_id = this.image_data.id
values.file = this.image_data.storage
}
this.training.push(values);
this.showAddEducationalInformation = false;
this.$message.success('اطلاعات با موفقیت ثبت شد');
this.fromEducationalInformation.resetFields()
}
});
},
savefromPersonel(e) {
e.preventDefault();
this.fromPersonel.validateFields(async(err, values) => {
if (!err) {
try{
console.log(values);
await axios.post('/update',values)
this.$ntSet()
}catch (e) {
this.$ntSetError()
throw e
}finally {
}
}
});
},
okDelete(item){
const index = this.educationalInformation.indexOf(item)
this.educationalInformation.splice(index,1)
},
removeDocs(item){
const index = this.writ.indexOf(item)
this.writ.splice(index,1)
},
removeEdu(item){
const index = this.training.indexOf(item)
this.training.splice(index,1)
},
async uploadImage(input) {
try {
let formData = new FormData();
formData.append("file", input.file);
const { data } = await axios.post("register/upload",formData, {'Content-Type': 'multipart/form-data'});
console.log(data,'dataaaa')
this.image_data = data
this.$message.success('آپلود سند با موفقیت انجام شد.');
this.isAlertUpload = true
} catch (e) {
this.$message.error('خطا در بارگذاری اطلاعات');
} finally {
}
},
beforeUpload(file) {
const isFormat = ['image/']
const isJpgOrPng = isFormat.some((item) =>file.type.includes(item));
if (!isJpgOrPng) {
this.$message.error('نوع فایل قابل قبول نیست.');
}
const isLt2M = file.size / 1024 / 1024 < 5;
if (!isLt2M) {
this.$message.error(`سایز فایل نمی تواند بیشتر از ۵ مگ باشد.`);
}
return isLt2M && isJpgOrPng;
},
async showPersonal(record) {
try {
console.log(record,'record')
this.showPersonalModal=true;
this.personel = record;
const {data} = await axios.post('/proposal/details', {id:record.proposal_id})
record.personal_details = data
this.$nextTick(()=>{
this.fromPersonel.setFieldsValue(record);
});
}catch (e) {
throw e
}finally {
}
}
},
created() {
this.cols = TableCol.default;
}
}
</script>
<style>
.ant-pagination
{
direction: ltr !important;
}
td,th{
text-align: right !important;
}
.ant-tabs-nav-wrap
{
float: right !important;
}
.ant-tabs-content
{
text-align: right !important;
}
.ant-modal-mask
{
z-index: 9999999 !important;
}
.ant-modal-wrap
{
z-index: 999999999 !important;
}
.ant-select-dropdown{
z-index: 999999999!important;
}
.ant-modal-content
{
direction: ltr !important;
}
.ant-modal-body
{
direction: rtl !important;
}
.ant-modal-header
{
direction: rtl;
margin-right: 25px;
}
.ant-popover.ant-popover-placement-right{
z-index: 999999999;
}
</style>
+13
View File
@@ -0,0 +1,13 @@
import XTbl, {Xtc} from '../../components/x-table/index';
const tbl = new XTbl('http://hr.asco-intl.com/back/public/api/personnel', 'لیست پرسنل');
tbl.add(new Xtc('name', 'نام و نام خانوادگی').filterText());
tbl.add(new Xtc('fname', 'کد پرسنلی').filterText())
tbl.add(new Xtc('id', 'شماره بیمه').filterText())
tbl.add(new Xtc('ncode', 'کد ملی').filterText())
tbl.add(new Xtc('created_at', 'ثبت نام').filterDate().noSort())
tbl.add(new Xtc('updated_at', 'به روز رسانی').filterText().noSort())
tbl.add(new Xtc('operator', 'عملیات').filterSwitch().renderSlot('operator').noSort())
/*tbl.addOpt()*/
export default tbl;