multi file upload 1401-03-24

This commit is contained in:
sedmedgh
2022-06-14 20:40:57 +04:30
parent c8c751adce
commit cc88bc287f
5 changed files with 684 additions and 454 deletions
+13
View File
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "dragbleUpload"
}
</script>
<style scoped>
</style>
+3 -3
View File
@@ -10,7 +10,7 @@ export const printWindow = (innerHTML = document.getElementById('printContent')
// Open the print window // Open the print window
const WinPrint = window.open('', '', 'left=0,top=0,width=800,height=900,toolbar=0,scrollbars=0,status=0') const WinPrint = window.open('', '', 'left=0,top=0,width=800,height=900,toolbar=0,scrollbars=0,status=0')
WinPrint.document.write('<!DOCTYPE html><html><head>' + WinPrint.document.write('<!DOCTYPE html><html dir="rtl"><head>' +
stylesHtml + stylesHtml +
'<title>چاپ اطلاعات</title>' + '<title>چاپ اطلاعات</title>' +
'</head><body>' + '</head><body>' +
@@ -20,8 +20,8 @@ export const printWindow = (innerHTML = document.getElementById('printContent')
WinPrint.document.close() WinPrint.document.close()
WinPrint.focus() WinPrint.focus()
setTimeout(() => { setTimeout(() => {
// WinPrint.print() WinPrint.print()
// WinPrint.close() WinPrint.close()
}, 600) }, 600)
} }
+284 -73
View File
@@ -1,8 +1,240 @@
<template> <template>
<div> <div>
<div id="printContent" class="hidden">
<a-card v-if="personel && personel.proposal" 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="نام و نام خانوادگی">
{{personel.name}}
</a-form-item>
<a-form-item label="نام انگلیسی">
{{personel.name_en}}
</a-form-item>
<a-form-item label="کدملی">
{{personel.ncode}}
</a-form-item>
<a-form-item label="شماره پرسنلی">
{{personel.personel_id}}
</a-form-item>
<a-form-item label="موبایل">
{{personel.proposal.mobile}}
</a-form-item>
<a-form-item label="شهر متقاضی شغل">
{{personel.proposal.for_cities.join(' , ')}}
</a-form-item>
<a-form-item label="شغل متقاضی">
{{personel.proposal.job_title}}
</a-form-item>
<a-form-item label="واحد کار متقاضی">
{{personel.unit}}
</a-form-item>
<a-form-item label="نام پدر">
{{personel.proposal.father_name}}
</a-form-item>
<a-form-item label="تاریخ تولد">
{{personelBirthDate | jdate}}
</a-form-item>
<a-form-item label="شماره شناسنامه">
{{personel.proposal.iden_id}}
</a-form-item>
<a-form-item label="سریال شناسنامه">
{{personel.proposal.iden_serial}}
</a-form-item>
<a-form-item label="محل صدور">
{{personel.proposal.iden_place}}
</a-form-item>
<a-form-item label="محل تولد">
{{personel.proposal.birth_place}}
</a-form-item>
<a-form-item label="ایمیل">
{{personel.proposal.email}}
</a-form-item>
<a-form-item label="تلفن ثابت">
{{personel.proposal.phone}}
</a-form-item>
<a-form-item label="حقوق درخواستی">
{{personel.proposal.requested_salary}}
</a-form-item>
<a-form-item label="جنسیت">
<a-radio-group v-model="personel.proposal.gender">
<a-radio :value="1">
مرد
</a-radio>
<a-radio :value="2">
زن
</a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="وضعیت تاهل">
<a-radio-group v-model="personel.proposal.marriage_sts">
<a-radio :value="2">
متاهل
</a-radio>
<a-radio :value="1">
مجرد
</a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="وضعیت مسکن">
<a-radio-group v-model="personel.proposal.house_sts">
<a-radio :value="1">
مالک
</a-radio>
<a-radio :value="2">
مستاجر
</a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="آدرس" class="col-span-3">
{{personel.proposal.address}}
</a-form-item>
<a-form-item label="تلفن ضروری">
{{personel.proposal.phone_emergency}}
</a-form-item>
<a-form-item label="نام فرد">
{{personel.proposal.phone_emergency_name}}
</a-form-item>
<a-form-item label="نسبت">
{{personel.proposal.phone_emergency_related}}
</a-form-item>
<a-form-item label="شماره کارت">
{{personel.bank_card_number}}
</a-form-item>
<a-form-item label="شماره حساب">
{{personel.bank_account}}
</a-form-item>
<a-form-item label="شماره بیمه">
{{personel.insurance_no}}
</a-form-item>
<a-form-item label="وضعیت بیمه">
<a-radio-group v-model="personel.insurance_sts">
<a-radio :value="-1">
ندارد
</a-radio>
<a-radio :value="1">
دارد
</a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="تعداد فرزند">
{{personel.proposal.count_child}}
</a-form-item>
<a-form-item label="وضعیت نظام وظیفه">
{{
{1:'معاف',2:'مشمول',3:'پایان خدمت'}[personel.proposal.military_sts]
}}
</a-form-item>
</div>
</a-card>
<a-card v-if="personalDetails && personalDetails.family" title="اطلاعات خانوادگی" class="mt-5">
<template v-for="(item,index) in personalDetails.family">
<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="شناسه">
{{personalDetails.family[index].id}}
</a-form-item>
<a-form-item label="نام">
{{personalDetails.family[index].name}}
</a-form-item>
<a-form-item label="نسبت">
{{personalDetails.family[index].relation}}
</a-form-item>
<a-form-item label="مقطع">
{{personalDetails.family[index].edu_level ?
grade[personalDetails.family[index].edu_level.toString()] :
null}}
</a-form-item>
<a-form-item label="رشته تحصیلی">
{{personalDetails.family[index].edu_title}}
</a-form-item>
<a-form-item label="شغل">
{{personalDetails.family[index].job}}
</a-form-item>
</div>
<a-divider/>
</template>
</a-card>
<a-card v-if="personalDetails && personalDetails.education" title="اطلاعات تحصیلی" class="mt-5">
<template v-for="(item,index) in personalDetails.education">
<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="شناسه">
{{personalDetails.education[index].id}}
</a-form-item>
<a-form-item label="مقطع">
{{personalDetails.education[index].level ?
grade[personalDetails.education[index].level.toString()] :
null}}
</a-form-item>
<a-form-item label="دانشگاه">
{{personalDetails.education[index].university}}
</a-form-item>
<a-form-item label="رشته تحصیلی">
{{personalDetails.education[index].title}}
</a-form-item>
<a-form-item label="گرایش">
{{personalDetails.education[index].trend}}
</a-form-item>
<a-form-item label="سال شروع">
{{personalDetails.education[index].start_at}}
</a-form-item>
<a-form-item label="سال خاتمه">
{{personalDetails.education[index].end_at}}
</a-form-item>
</div>
<a-divider/>
</template>
</a-card>
<a-card v-if="personalDetails && personalDetails.traning" title="سوابق آموزشی" class="mt-5">
<template v-for="(item,index) in personalDetails.traning">
<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="شناسه">
{{personalDetails.education[index].id}}
</a-form-item>
<a-form-item label="مرکز برگزاری">
{{personalDetails.education[index].university}}
</a-form-item>
<a-form-item label="عنوان دوره ">
{{personalDetails.education[index].title}}
</a-form-item>
<a-form-item label="سال">
{{personalDetails.education[index].start_at}}
</a-form-item>
<a-form-item label="امکان ارائه گواهینامه دارم">
<a-checkbox v-model="personalDetails.education[index].has_certificate"/>
</a-form-item>
</div>
<a-divider/>
</template>
</a-card>
<a-card v-if="personalDetails && personalDetails.jobs_history" title="سوابق کاری" class="mt-5">
<template v-for="(item,index) in personalDetails.jobs_history">
<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="شناسه">
{{personalDetails.jobs_history[index].id}}
</a-form-item>
<a-form-item label="نام سازمان ">
{{personalDetails.jobs_history[index].university}}
</a-form-item>
<a-form-item label="عنوان شغل">
{{personalDetails.jobs_history[index].title}}
</a-form-item>
<a-form-item label="دلیل خاتمه">
{{personalDetails.jobs_history[index].note}}
</a-form-item>
<a-form-item label="سال شروع">
{{personalDetails.jobs_history[index].start_at}}
</a-form-item>
<a-form-item label="سال خاتمه">
{{personalDetails.jobs_history[index].end_at}}
</a-form-item>
</div>
<a-divider/>
</template>
</a-card>
</div>
<a-spin :spinning="showLoading" tip="در حال دریافت اطلاعات"> <a-spin :spinning="showLoading" tip="در حال دریافت اطلاعات">
<a-form :form="fromPersonel"> <a-form :form="fromPersonel">
<div id="printContent"> <div>
<a-tabs type="card" :default-active-key=" <a-tabs type="card" :default-active-key="
$getAccess('personnel.basic')?1: $getAccess('personnel.basic')?1:
$getAccess('personnel.train')?3: $getAccess('personnel.train')?3:
@@ -12,8 +244,11 @@
$getAccess('personnel.function')?7: $getAccess('personnel.function')?7:
$getAccess('personnel.rule')?8:undefined "> $getAccess('personnel.rule')?8:undefined ">
<a-tab-pane :disabled="!$getAccess('personnel.basic')" :forceRender="true" key="1" tab="اطلاعات پایه"> <a-tab-pane :disabled="!$getAccess('personnel.basic')" :forceRender="true" key="1" tab="اطلاعات پایه">
<a-card title="اطلاعات فردی"> <a-card>
<div class="flex justify-between"slot="title">
<div>اطلاعات فردی</div>
<a-button class="ml-2" @click="printWindow()">چاپ اطلاعات</a-button>
</div>
<div class="grid grid-cols-2 gap-4"> <div class="grid grid-cols-2 gap-4">
<div> <div>
<a-form-item label="تصویر پرسنلی"> <a-form-item label="تصویر پرسنلی">
@@ -165,13 +400,13 @@
<div> <div>
<a-form-item label="شماره کارت"> <a-form-item label="شماره کارت">
<a-input-number class="ant-input" <a-input-number class="w-full"
v-decorator="['bank_card_number']"/> v-decorator="['bank_card_number']"/>
</a-form-item> </a-form-item>
</div> </div>
<div> <div>
<a-form-item label="شماره حساب"> <a-form-item label="شماره حساب">
<a-input-number class="ant-input" <a-input-number class="w-full"
v-decorator="['bank_account']"/> v-decorator="['bank_account']"/>
</a-form-item> </a-form-item>
</div> </div>
@@ -212,7 +447,7 @@
</a-select> </a-select>
</a-form-item> </a-form-item>
</div> </div>
<!-- <a-form-item label="آخرین مدرک تحصیلی"> <!-- <a-form-item label="آخرین مدرک تحصیلی">
<a-select v-decorator="[`last_education`]"> <a-select v-decorator="[`last_education`]">
<a-select-option v-for="(item,index) in grade" :value="index"> <a-select-option v-for="(item,index) in grade" :value="index">
{{ item }} {{ item }}
@@ -225,7 +460,7 @@
<a-card title="اطلاعات خانوادگی" class="mt-5"> <a-card title="اطلاعات خانوادگی" class="mt-5">
<a slot="extra" @click.prevent="AddFamily()" <a slot="extra" @click.prevent="AddFamily()"
:disabled="!$getAccess('personnel.basic.family.create')">افزودن اطلاعات خانوادگی</a> :disabled="!$getAccess('personnel.basic.family.create')">افزودن اطلاعات خانوادگی</a>
<template v-for="(item,index) in personalDetails['family']"> <template v-for="(item,index) in personalDetails.family">
<a-button :disabled="!$getAccess('personnel.basic.family.delete')" type="danger" <a-button :disabled="!$getAccess('personnel.basic.family.delete')" type="danger"
@click="handleRemoveFamily(item,index)">حذف @click="handleRemoveFamily(item,index)">حذف
</a-button> </a-button>
@@ -265,7 +500,7 @@
<a-card title="اطلاعات تحصیلی" class="mt-5"> <a-card title="اطلاعات تحصیلی" class="mt-5">
<a :disabled="!$getAccess('personnel.basic.education.create')" slot="extra" <a :disabled="!$getAccess('personnel.basic.education.create')" slot="extra"
@click.prevent="AddEducation()">افزودن سابقه تحصیلی</a> @click.prevent="AddEducation()">افزودن سابقه تحصیلی</a>
<template v-for="(item,index) in personalDetails['education']"> <template v-for="(item,index) in personalDetails.education">
<a-button :disabled="!$getAccess('personnel.basic.education.delete')" type="danger" <a-button :disabled="!$getAccess('personnel.basic.education.delete')" type="danger"
@click="handleRemoveEducation(item,index)">حذف @click="handleRemoveEducation(item,index)">حذف
</a-button> </a-button>
@@ -309,7 +544,7 @@
<a-card title="سوابق آموزشی" class="mt-5"> <a-card title="سوابق آموزشی" class="mt-5">
<a :disabled="!$getAccess('personnel.basic.train.create')" slot="extra" <a :disabled="!$getAccess('personnel.basic.train.create')" slot="extra"
@click.prevent="AddTraning()">افزودن سابقه آموزشی </a> @click.prevent="AddTraning()">افزودن سابقه آموزشی </a>
<template v-for="(item,index) in personalDetails['traning']"> <template v-for="(item,index) in personalDetails.traning">
<a-button :disabled="!$getAccess('personnel.basic.train.delete')" type="danger" <a-button :disabled="!$getAccess('personnel.basic.train.delete')" type="danger"
@click="handleRemoveTraning(item,index)">حذف @click="handleRemoveTraning(item,index)">حذف
</a-button> </a-button>
@@ -342,7 +577,7 @@
<a-card title="سوابق کاری" class="mt-5"> <a-card title="سوابق کاری" class="mt-5">
<a :disabled="!$getAccess('personnel.basic.job.create')" slot="extra" <a :disabled="!$getAccess('personnel.basic.job.create')" slot="extra"
@click.prevent="AddJobsHistory()">افزودن سابقه کاری</a> @click.prevent="AddJobsHistory()">افزودن سابقه کاری</a>
<template v-for="(item,index) in personalDetails['jobs_history']"> <template v-for="(item,index) in personalDetails.jobs_history">
<a-button :disabled="!$getAccess('personnel.basic.job.delete')" type="danger" <a-button :disabled="!$getAccess('personnel.basic.job.delete')" type="danger"
@click="handleRemoveJobsHistory(item,index)">حذف @click="handleRemoveJobsHistory(item,index)">حذف
</a-button> </a-button>
@@ -381,13 +616,11 @@
<div class="dropbox"> <div class="dropbox">
<a-upload-dragger <a-upload-dragger
:disabled="!$getAccess('personnel.basic.update')" :multiple="true"
:multiple="false"
action="http://hr.asco-intl.com:2020/kernel/api/register/upload" action="http://hr.asco-intl.com:2020/kernel/api/register/upload"
:file-list="prsonalFileList" :file-list="prsonalFileList"
:default-file-list="prsonalFileList" :default-file-list="prsonalFileList"
@change="fileUpload" @change="fileUpload"
:remove="fileRemove"
> >
<p class="ant-upload-drag-icon"> <p class="ant-upload-drag-icon">
<a-icon type="inbox"/> <a-icon type="inbox"/>
@@ -421,7 +654,6 @@
<a-popconfirm <a-popconfirm
:disabled="!$getAccess('personnel.train.delete')" :disabled="!$getAccess('personnel.train.delete')"
placement="right" placement="right"
style="z-index: 999999999999"
title="آیا می خواهید حذف کنید؟" title="آیا می خواهید حذف کنید؟"
ok-text="بله" ok-text="بله"
cancel-text="خیر" cancel-text="خیر"
@@ -509,7 +741,6 @@
</template> </template>
<a-popconfirm <a-popconfirm
placement="right" placement="right"
style="z-index: 999999999999"
title="آیا می خواهید حذف کنید؟" title="آیا می خواهید حذف کنید؟"
ok-text="بله" ok-text="بله"
cancel-text="خیر" cancel-text="خیر"
@@ -649,7 +880,6 @@
</template> </template>
<a-popconfirm :disabled="!$getAccess('personnel.function.delete')" <a-popconfirm :disabled="!$getAccess('personnel.function.delete')"
placement="right" placement="right"
style="z-index: 999999999999"
title="آیا می خواهید حذف کنید؟" title="آیا می خواهید حذف کنید؟"
ok-text="بله" ok-text="بله"
cancel-text="خیر" cancel-text="خیر"
@@ -687,7 +917,6 @@
</template> </template>
<a-popconfirm :disabled="!$getAccess('personnel.rule.delete')" <a-popconfirm :disabled="!$getAccess('personnel.rule.delete')"
placement="right" placement="right"
style="z-index: 999999999999"
title="آیا می خواهید حذف کنید؟" title="آیا می خواهید حذف کنید؟"
ok-text="بله" ok-text="بله"
cancel-text="خیر" cancel-text="خیر"
@@ -1057,6 +1286,8 @@ import axios from "@/axios";
import VuePersianDatetimePicker from 'vue-persian-datetime-picker' import VuePersianDatetimePicker from 'vue-persian-datetime-picker'
import themeConfig from '@/../themeConfig.js' import themeConfig from '@/../themeConfig.js'
import SingleUploadInput from '@/components/SingleUploadInput' import SingleUploadInput from '@/components/SingleUploadInput'
import {printWindow, setKeyEvent, removeKeyEvent} from "@/mixin/keyEvent";
import * as TableCol from "../proposal/proposalTbl";
function getBase64(file) { function getBase64(file) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -1080,7 +1311,7 @@ export default {
marriage_sts: undefined, marriage_sts: undefined,
}, },
prsonalFileList: [], prsonalFileList: [],
file_id: undefined, file_ids: [],
fileList: [], fileList: [],
documentFileList: [], documentFileList: [],
documents: [], documents: [],
@@ -1142,6 +1373,8 @@ export default {
showName: false, showName: false,
contractFileList: [], contractFileList: [],
grade: {}, grade: {},
printWindow,
} }
}, },
methods: { methods: {
@@ -1165,13 +1398,10 @@ export default {
}, },
fileUpload({fileList, event, file}) { fileUpload({fileList, event, file}) {
if (file.response && file.response.id) { if (file.response && file.response.id) {
this.file_id = file.response; this.file_ids = fileList.map(x => x.id || x.response.id)
} }
this.prsonalFileList = fileList; this.prsonalFileList = fileList;
}, },
fileRemove() {
this.file_id = null
},
checkPermission(index) { checkPermission(index) {
const steps = { const steps = {
1: 'personnel.basic.update', 1: 'personnel.basic.update',
@@ -1190,8 +1420,8 @@ export default {
this.editContractFlag = false this.editContractFlag = false
}, },
openEditingContractModal(item, index) { openEditingContractModal(item, index) {
console.log(this.contractTypes) // console.log(this.contractTypes)
console.log(item) // console.log(item)
item.type = item.type ? item.type.toString() : undefined item.type = item.type ? item.type.toString() : undefined
if (item.file) { if (item.file) {
this.contractFileList = [{uid: item.file.id, name: item.file.filename, status: 'done', url: item.file.storage}] this.contractFileList = [{uid: item.file.id, name: item.file.filename, status: 'done', url: item.file.storage}]
@@ -1202,7 +1432,7 @@ export default {
this.contractModel.end_at = item.end_at this.contractModel.end_at = item.end_at
this.contractModel.start_at = item.start_at this.contractModel.start_at = item.start_at
// console.log("item:::::::::::::",item) // console.log("item:::::::::::::",item)
console.log(item) // console.log(item)
this.fromContract.setFieldsValue(item) this.fromContract.setFieldsValue(item)
}, },
@@ -1220,7 +1450,7 @@ export default {
values.start_at = this.contractModel.start_at values.start_at = this.contractModel.start_at
values.end_at = this.contractModel.end_at values.end_at = this.contractModel.end_at
this.contract[this.activeContract] = Object.assign(this.contract[this.activeContract], values) this.contract[this.activeContract] = Object.assign(this.contract[this.activeContract], values)
console.log("model", this.contractModel) // console.log("model", this.contractModel)
this.contractModel = { this.contractModel = {
start_at: '', start_at: '',
end_at: '', end_at: '',
@@ -1257,7 +1487,7 @@ export default {
"end_at": null, "end_at": null,
"file_id": null, "file_id": null,
}; };
this.personalDetails['jobs_history'].push(obj); this.personalDetails.jobs_history.push(obj);
}, },
AddTraning() { AddTraning() {
const obj = { const obj = {
@@ -1266,7 +1496,7 @@ export default {
"start_at": null, "start_at": null,
"has_certificate": false, "has_certificate": false,
} }
this.personalDetails['traning'].push(obj); this.personalDetails.traning.push(obj);
}, },
AddEducation() { AddEducation() {
const obj = { const obj = {
@@ -1277,7 +1507,7 @@ export default {
"start_at": null, "start_at": null,
"end_at": null, "end_at": null,
}; };
this.personalDetails['education'].push(obj); this.personalDetails.education.push(obj);
}, },
AddFamily() { AddFamily() {
const obj = { const obj = {
@@ -1287,14 +1517,14 @@ export default {
"edu_title": null, "edu_title": null,
"job": null, "job": null,
}; };
this.personalDetails['family'].push(obj); this.personalDetails.family.push(obj);
}, },
async handleRemoveFamily(item, index) { async handleRemoveFamily(item, index) {
if (item.id) { if (item.id) {
try { try {
this.loading = true this.loading = true
await axios.post('remove-family', {id: item.id}) await axios.post('remove-family', {id: item.id})
this.personalDetails['family'].splice(index, 1) this.personalDetails.family.splice(index, 1)
} }
catch (e) { catch (e) {
this.$message.error('خطا در دریافت اطلاعات'); this.$message.error('خطا در دریافت اطلاعات');
@@ -1303,7 +1533,7 @@ export default {
this.loading = false this.loading = false
} }
} else { } else {
this.personalDetails['family'].splice(index, 1); this.personalDetails.family.splice(index, 1);
} }
}, },
async handleRemoveEducation(item, index) { async handleRemoveEducation(item, index) {
@@ -1311,7 +1541,7 @@ export default {
try { try {
this.loading = true this.loading = true
await axios.post('remove-education', {id: item.id}) await axios.post('remove-education', {id: item.id})
this.personalDetails['education'].splice(index, 1) this.personalDetails.education.splice(index, 1)
} }
catch (e) { catch (e) {
this.$message.error('خطا در دریافت اطلاعات'); this.$message.error('خطا در دریافت اطلاعات');
@@ -1320,7 +1550,7 @@ export default {
this.loading = false this.loading = false
} }
} else { } else {
this.personalDetails['education'].splice(index, 1); this.personalDetails.education.splice(index, 1);
} }
}, },
async handleRemoveTraning(item, index) { async handleRemoveTraning(item, index) {
@@ -1328,7 +1558,7 @@ export default {
try { try {
this.loading = true this.loading = true
await axios.post('remove-education', {id: item.id}) await axios.post('remove-education', {id: item.id})
this.personalDetails['traning'].splice(index, 1) this.personalDetails.traning.splice(index, 1)
} }
catch (e) { catch (e) {
this.$message.error('خطا در دریافت اطلاعات'); this.$message.error('خطا در دریافت اطلاعات');
@@ -1337,7 +1567,7 @@ export default {
this.loading = false this.loading = false
} }
} else { } else {
this.personalDetails['traning'].splice(index, 1); this.personalDetails.traning.splice(index, 1);
} }
}, },
async handleRemoveJobsHistory(item, index) { async handleRemoveJobsHistory(item, index) {
@@ -1345,7 +1575,7 @@ export default {
try { try {
this.loading = true this.loading = true
await axios.post('remove-education', {id: item.id}) await axios.post('remove-education', {id: item.id})
this.personalDetails['jobs_history'].splice(index, 1) this.personalDetails.jobs_history.splice(index, 1)
} }
catch (e) { catch (e) {
this.$message.error('خطا در دریافت اطلاعات'); this.$message.error('خطا در دریافت اطلاعات');
@@ -1354,7 +1584,7 @@ export default {
this.loading = false this.loading = false
} }
} else { } else {
this.personalDetails['jobs_history'].splice(index, 1); this.personalDetails.jobs_history.splice(index, 1);
} }
}, },
handleRemoveDocument(file) { handleRemoveDocument(file) {
@@ -1444,7 +1674,7 @@ export default {
this.$vs.loading() this.$vs.loading()
values.proposal.count_child = parseInt(values.proposal.count_child) values.proposal.count_child = parseInt(values.proposal.count_child)
values.proposal.birth_date = this.personelBirthDate values.proposal.birth_date = this.personelBirthDate
values.proposal.file_id = this.file_id values.proposal.file_ids = this.file_ids
//console.log(values); //console.log(values);
values.id = this.personel.id; values.id = this.personel.id;
//values.profile_file=this.profile_file; //values.profile_file=this.profile_file;
@@ -1679,17 +1909,18 @@ export default {
return isLt2M && isJpgOrPng; return isLt2M && isJpgOrPng;
}, },
async showPersonal(record) { async showPersonal(record) {
console.clear()
console.log(record)
try { try {
if (record.proposal.file) { if (record.proposal.file_ids) {
this.file_id = record.proposal.file.id this.file_ids = record.proposal.file_ids
this.prsonalFileList = [{ this.prsonalFileList = record.proposal.file_list.map(x => {
uid: record.proposal.file.id, return {
name: record.proposal.file.filename, uid: x.id,
id: x.id,
name: x.filename,
status: 'done', status: 'done',
url: record.proposal.file.storage url: x.storage
}] }
})
} }
record.proposal.military_sts = record.proposal.military_sts ? `${record.proposal.military_sts}` : undefined record.proposal.military_sts = record.proposal.military_sts ? `${record.proposal.military_sts}` : undefined
this.showLoading = true; this.showLoading = true;
@@ -1813,7 +2044,12 @@ export default {
await this.getTypes() await this.getTypes()
await this.getUnits() await this.getUnits()
await this.getGrad() await this.getGrad()
setKeyEvent()
}, },
beforeDestroy() {
removeKeyEvent()
}
} }
</script> </script>
@@ -1835,19 +2071,6 @@ td, th {
text-align: right !important; 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 { .ant-modal-content {
direction: ltr !important; direction: ltr !important;
} }
@@ -1861,14 +2084,6 @@ td, th {
margin-right: 25px; margin-right: 25px;
} }
/*.ant-dropdown, .ant-popover.ant-popover-placement-right {
z-index: 99999999999;
}*/
/*.ant-dropdown
{
z-index: 9999999999 !important;
}*/
.ant-form-item-label { .ant-form-item-label {
direction: rtl !important; direction: rtl !important;
} }
@@ -1884,9 +2099,5 @@ td, th {
.ant-upload-list-item-card-actions { .ant-upload-list-item-card-actions {
right: 80% !important; right: 80% !important;
} }
/* .ant-dropdown,.ant-popover.ant-popover-placement-right{
z-index: 999999999;
}*/
</style> </style>
+20 -12
View File
@@ -343,7 +343,7 @@
<div>تاریخ به روز رسانی : {{ personalInformation.uaj }}</div> <div>تاریخ به روز رسانی : {{ personalInformation.uaj }}</div>
<div>شغل متقاضی : {{ personalInformation.job_title }}</div> <div>شغل متقاضی : {{ personalInformation.job_title }}</div>
<div>نام پدر : {{ personalInformation.father_name }}</div> <div>نام پدر : {{ personalInformation.father_name }}</div>
<div>تاریخ تولد : {{ personalInformation.birth_date }}</div> <div>تاریخ تولد : {{ personalInformation.birth_date | jdate }}</div>
<div>جنسیت : {{ personalInformation.gender_str }}</div> <div>جنسیت : {{ personalInformation.gender_str }}</div>
<div>وضعیت تاهل : {{ personalInformation.marriage_sts_str }}</div> <div>وضعیت تاهل : {{ personalInformation.marriage_sts_str }}</div>
<div>شماره شناسنامه : {{ personalInformation.iden_id }}</div> <div>شماره شناسنامه : {{ personalInformation.iden_id }}</div>
@@ -967,7 +967,7 @@ export default {
data() { data() {
return { return {
prsonalFileList: [], prsonalFileList: [],
file_id: undefined, file_ids: [],
showMosahebeModal: false, showMosahebeModal: false,
showInformationModal: false, showInformationModal: false,
showAddMosahebeModal: false, showAddMosahebeModal: false,
@@ -1041,12 +1041,13 @@ export default {
}, },
fileUpload({fileList, event, file}) { fileUpload({fileList, event, file}) {
if (file.response && file.response.id) { if (file.response && file.response.id) {
this.file_id = file.response.id; this.file_ids = fileList.map(x => x.id || x.response.id)
} }
this.prsonalFileList = fileList; this.prsonalFileList = fileList;
}, /*if (file.response && file.response.id) {
fileRemove() { this.file_id = file.response.id;
this.file_id = null }
this.prsonalFileList = fileList;*/
}, },
showAddMosahebe(id) { showAddMosahebe(id) {
this.showAddMosahebeModal = true; this.showAddMosahebeModal = true;
@@ -1130,12 +1131,19 @@ export default {
this.current--; this.current--;
}, },
async showDetails(record) { async showDetails(record) {
if (record.file) { console.clear()
console.log("%c yess", "color:blue") console.log(record)
this.file_id = record.file.id if (record.file_ids) {
this.prsonalFileList.push( this.file_ids = record.file_ids
{uid: record.file.id, name: record.file.filename, status: 'done', url: record.file.storage} this.prsonalFileList = record.file_list.map(x => {
) return {
uid: x.id,
id: x.id,
name: x.filename,
status: 'done',
url: x.storage
}
})
} }
try { try {
this.loading = true this.loading = true
+9 -11
View File
@@ -270,7 +270,7 @@
<a-row> <a-row>
<a-form-item label="تلفن ثابت"> <a-form-item label="تلفن ثابت">
<input class="ant-input" autocomplete="off" <input class="ant-input" autocomplete="off"
v-decorator="['phone',{initialValue: null,rules: [{ required: true, message: 'تلفن ثابت را وارد نمایید' },{pattern:/^((\+98|0098|98|0)\d{2})?\d{8}$/g,message:'تلفن وارد شده معتبر نیست.'}]}]"> v-decorator="['phone',{initialValue: null,rules: [{ required: false, message: 'تلفن ثابت را وارد نمایید' },{pattern:/^((\+98|0098|98|0)\d{2})?\d{8}$/g,message:'تلفن وارد شده معتبر نیست.'}]}]">
<!--<feather-icon style="direction: ltr !important;" icon="PhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />--> <!--<feather-icon style="direction: ltr !important;" icon="PhoneIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
<!-- </a-input>--> <!-- </a-input>-->
</a-form-item> </a-form-item>
@@ -285,7 +285,7 @@
<a-row> <a-row>
<a-form-item label="تلفن ضروری"> <a-form-item label="تلفن ضروری">
<input class="ant-input" style="direction: rtl !important;" <input class="ant-input" style="direction: rtl !important;"
v-decorator="['phone_emergency',{initialValue: null,rules: [{ required: true, message: 'تلفن ضروری را وارد نمایید' },{pattern:/^[0-9]+$/,message:'مقدار وارد شده باید عددی باشد.'},{max: 11,message:'تلفن ضروری حد اکثر 11 رقم است'}]}]"> v-decorator="['phone_emergency',{initialValue: null,rules: [{ required: false, message: 'تلفن ضروری را وارد نمایید' },{pattern:/^[0-9]+$/,message:'مقدار وارد شده باید عددی باشد.'},{max: 11,message:'تلفن ضروری حد اکثر 11 رقم است'}]}]">
<!-- <feather-icon style="direction: ltr !important;" icon="MailIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />--> <!-- <feather-icon style="direction: ltr !important;" icon="MailIcon" slot="addonAfter" class="pt-1" svgClasses="w-5 h-5" />-->
<!-- </a-input>--> <!-- </a-input>-->
</a-form-item> </a-form-item>
@@ -524,12 +524,11 @@
<div class="dropbox"> <div class="dropbox">
<a-upload-dragger <a-upload-dragger
:multiple="false" :multiple="true"
action="http://hr.asco-intl.com:2020/kernel/api/register/upload" action="http://hr.asco-intl.com:2020/kernel/api/register/upload"
:file-list="fileList" :file-list="fileList"
:default-file-list="fileList" :default-file-list="fileList"
@change="changeDocumentUpload" @change="changeDocumentUpload"
:remove="handleRemoveDocument"
> >
<p class="ant-upload-drag-icon"> <p class="ant-upload-drag-icon">
<a-icon type="inbox"/> <a-icon type="inbox"/>
@@ -814,7 +813,7 @@ export default {
marriage_sts: 1, marriage_sts: 1,
}, },
fileList: [], fileList: [],
file_id: undefined, file_ids: [],
current: 0, current: 0,
from: this.$form.createForm(this, {name: 'coordinated'}), from: this.$form.createForm(this, {name: 'coordinated'}),
formEdu: this.$form.createForm(this, {name: 'coordinated'}), formEdu: this.$form.createForm(this, {name: 'coordinated'}),
@@ -860,6 +859,8 @@ export default {
this.formWork.resetFields() this.formWork.resetFields()
this.formFirst.resetFields() this.formFirst.resetFields()
this.current = 0 this.current = 0
this.birth_day = ''
this.fileList = []
}, },
setMarriage_sts(event) { setMarriage_sts(event) {
this.flags.marriage_sts = event.target.value this.flags.marriage_sts = event.target.value
@@ -867,15 +868,12 @@ export default {
setGender(event) { setGender(event) {
this.flags.gender = event.target.value this.flags.gender = event.target.value
}, },
changeDocumentUpload({fileList, event, file}) { changeDocumentUpload({fileList, file}) {
if (file.response && file.response.id) { if (file.response && file.response.id) {
this.file_id = file.response.id; this.file_ids = fileList.map(x => x.response.id)
} }
this.fileList = fileList; this.fileList = fileList;
}, },
handleRemoveDocument() {
this.file_id = null
},
deleteCity(index) { deleteCity(index) {
this.jobsList.splice(index, 1); this.jobsList.splice(index, 1);
@@ -917,7 +915,7 @@ export default {
values.model = this.formFirst.getFieldsValue(); values.model = this.formFirst.getFieldsValue();
values.birth_date = this.birth_day; values.birth_date = this.birth_day;
values.work = this.work; values.work = this.work;
values.file_id = this.file_id; values.file_ids = this.file_ids;
values.training = this.educational; values.training = this.educational;
values.academic = this.edu; values.academic = this.edu;
values.family = this.family; values.family = this.family;