Init project
This commit is contained in:
@@ -0,0 +1,480 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-card>
|
||||
<div class="grid grid-cols-2 gap-4">
|
||||
<a-form-item class="flex" label="فقط پرونده های باز ">
|
||||
<a-switch default-checked class="mr-2"/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<x-table :model="cols" class="mt-3">
|
||||
<template slot="operator" slot-scope="text,record">
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link" @click="e => e.preventDefault()">
|
||||
عملیات <a-icon type="down" />
|
||||
</a>
|
||||
<a-menu slot="overlay">
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="showMosahebe()">مشاهده مصاحبه</a>
|
||||
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="showDetails(text.record)">مشاهده اطلاعات</a>
|
||||
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="showAddMosahebe()">ثبت مصاحبه</a>
|
||||
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="showConfirme()">استخدام</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</a-dropdown>
|
||||
</template>
|
||||
</x-table>
|
||||
|
||||
<a-modal v-model="showMosahebeModal" title="مشاهده مصاحبه ها" >
|
||||
|
||||
<template slot="footer">
|
||||
<a-button key="back" @click="showMosahebeModal=false">
|
||||
بستن
|
||||
</a-button>
|
||||
|
||||
</template>
|
||||
|
||||
</a-modal>
|
||||
|
||||
<a-modal force-render :width="990" v-model="showAddMosahebeModal" title="ثبت مصاحبه">
|
||||
|
||||
<template slot="footer">
|
||||
|
||||
<a-button v-if="current < 2" type="primary" @click="savefromMosahebe">
|
||||
بعدی
|
||||
</a-button>
|
||||
<a-button
|
||||
v-if="current == 2"
|
||||
type="primary"
|
||||
@click="savefromMosahebe"
|
||||
>
|
||||
ثبت اطلاعات
|
||||
</a-button>
|
||||
<a-button v-if="current > 0" style="margin-left: 8px" @click="prev">
|
||||
قبلی
|
||||
</a-button>
|
||||
|
||||
</template>
|
||||
|
||||
<div>
|
||||
<a-steps :current="current" style="direction: ltr">
|
||||
<a-step title="ثبت تاریخ و مصاحبه کننده" />
|
||||
<a-step title="ثبت جزئیات" />
|
||||
<a-step title="ایجاد پرونده" />
|
||||
</a-steps>
|
||||
<div class="steps-content">
|
||||
|
||||
<a-form :form="fromMosahebe">
|
||||
<div v-show="current==0" class="mt-4">
|
||||
|
||||
<p style="font-weight: bold">موضوع بررسی</p>
|
||||
|
||||
<a-card title="مشاغل" :bordered="true" class="mt-3">
|
||||
<div class="grid sm:grid-cols-1 md:grid-cols-2 md:gap-3 lg:grid-cols-2 lg:gap-3">
|
||||
<div>
|
||||
<a-form-item label="تاریخ مصاحبه">
|
||||
<a-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>
|
||||
<a-form-item label="نام مصاحبه کننده">
|
||||
<a-input autocomplete="off" v-decorator="['interviewer',{rules: [{ required: true, message: 'وارد کردن شغل الزامی است' }]}]"/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
</a-card>
|
||||
</div>
|
||||
|
||||
<div v-show="current==1">
|
||||
<a-row>
|
||||
<span>موضوع بررسی</span>
|
||||
</a-row>
|
||||
<a-card title="دانش تخصصی" :bordered="true" >
|
||||
|
||||
<a-form-item label="نمره">
|
||||
<a-input-number v-decorator="['result_1.score',{initialValue: 0}]" :min="0" :max="20" />
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="توضیحات">
|
||||
<a-textarea
|
||||
placeholder=""
|
||||
v-decorator="['result_1.desc']"
|
||||
:auto-size="{ minRows: 2, maxRows: 6 }"
|
||||
/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="نتیجه">
|
||||
<a-radio-group v-decorator="['result_1.sts']">
|
||||
<a-radio :value="-1">
|
||||
رد شده
|
||||
</a-radio>
|
||||
<a-radio :value="1">
|
||||
قبول
|
||||
</a-radio>
|
||||
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
|
||||
</a-card>
|
||||
<br/>
|
||||
<a-card title="تحصیلات مرتبط" :bordered="true" >
|
||||
|
||||
<a-form-item label="نمره">
|
||||
<a-input-number v-decorator="['result_2.score',{initialValue: 0}]" :min="0" :max="20" />
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="توضیحات">
|
||||
<a-textarea
|
||||
placeholder=""
|
||||
v-decorator="['result_2.desc']"
|
||||
:auto-size="{ minRows: 2, maxRows: 6 }"
|
||||
/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="نتیجه">
|
||||
<a-radio-group v-decorator="['result_2.sts']">
|
||||
<a-radio :value="-1">
|
||||
رد شده
|
||||
</a-radio>
|
||||
<a-radio :value="1">
|
||||
قبول
|
||||
</a-radio>
|
||||
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
|
||||
</a-card>
|
||||
<br/>
|
||||
<a-card title="تجربه کاری مرتبط" :bordered="true" >
|
||||
|
||||
<a-form-item label="نمره">
|
||||
<a-input-number v-decorator="['result_3.score',{initialValue: 0}]" :min="0" :max="20" />
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="توضیحات">
|
||||
|
||||
<a-textarea
|
||||
placeholder=""
|
||||
v-decorator="['result_3.desc']"
|
||||
:auto-size="{ minRows: 2, maxRows: 6 }"
|
||||
/>
|
||||
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="نتیجه">
|
||||
<a-radio-group v-decorator="['result_3.sts']">
|
||||
<a-radio :value="-1">
|
||||
رد شده
|
||||
</a-radio>
|
||||
<a-radio :value="1">
|
||||
قبول
|
||||
</a-radio>
|
||||
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
|
||||
</a-card>
|
||||
<br/>
|
||||
<a-card title="رفتار و شخصیت عمومی" :bordered="true" >
|
||||
|
||||
<a-form-item label="نمره">
|
||||
<a-input-number v-decorator="['result_4.score',{initialValue: 0}]" :min="0" :max="20" />
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="توضیحات">
|
||||
|
||||
<a-textarea
|
||||
placeholder=""
|
||||
v-decorator="['result_4.desc']"
|
||||
:auto-size="{ minRows: 2, maxRows: 6 }"
|
||||
/>
|
||||
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="نتیجه">
|
||||
<a-radio-group v-decorator="['result_4.sts']">
|
||||
<a-radio :value="-1">
|
||||
رد شده
|
||||
</a-radio>
|
||||
<a-radio :value="1">
|
||||
قبول
|
||||
</a-radio>
|
||||
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
|
||||
</a-card>
|
||||
<br/>
|
||||
<a-card title="ویژگی های اختصاصی شغل" :bordered="true" >
|
||||
|
||||
<a-form-item label="نمره">
|
||||
<a-input-number v-decorator="['result_5.score',{initialValue: 0}]" :min="0" :max="20" />
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="توضیحات">
|
||||
|
||||
<a-textarea
|
||||
placeholder=""
|
||||
v-decorator="['result_5.desc']"
|
||||
:auto-size="{ minRows: 2, maxRows: 6 }"
|
||||
/>
|
||||
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="نتیجه">
|
||||
<a-radio-group v-decorator="['result_5.sts']">
|
||||
<a-radio :value="-1">
|
||||
رد شده
|
||||
</a-radio>
|
||||
<a-radio :value="1">
|
||||
قبول
|
||||
</a-radio>
|
||||
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
|
||||
</a-card>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-show="current==2">
|
||||
|
||||
<a-form-item label="نتیجه کلی مصاحبه">
|
||||
<a-radio-group v-decorator="['sts']">
|
||||
<a-radio :value="-1">
|
||||
رد شده
|
||||
</a-radio>
|
||||
<a-radio :value="1">
|
||||
قبول
|
||||
</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
<a-alert message="توجه داشته باشید که در صورت قبول انتخاب کردن نتیجه کلی مصاحبه برای فرد مورد نظر کد پرسنلی ایجاد خواهد شد." type="warning" />
|
||||
|
||||
</div>
|
||||
|
||||
</a-form>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</a-modal>
|
||||
|
||||
|
||||
<a-modal :width="800" v-model="showInformationModal" title="جزییات درخواست" >
|
||||
<template slot="footer">
|
||||
<a-button key="back" @click="showInformationModal=false">
|
||||
بستن
|
||||
</a-button>
|
||||
|
||||
</template>
|
||||
|
||||
<a-card :title="personalInformation.name" :bordered="true" >
|
||||
<div class="grid grid-cols-3 gap-4">
|
||||
<div>نام و نام خانوادگی : {{ personalInformation.name }}</div>
|
||||
<div>کد ملی : {{ personalInformation.ncode }}</div>
|
||||
<div>موبایل : {{ personalInformation.mobile }}</div>
|
||||
<div>تاریخ ثبت نام : {{ personalInformation.created_at }}</div>
|
||||
<div>تاریخ به روز رسانی : {{ personalInformation.updated_at }}</div>
|
||||
<div>شغل متقاضی : {{ personalInformation.job_title }}</div>
|
||||
<div>نام پدر : {{ personalInformation.father_name }}</div>
|
||||
<div>تاریخ تولد : {{ personalInformation.birth_date }}</div>
|
||||
<div>جنسیت : {{ personalInformation.gender }}</div>
|
||||
<div>وضعیت تاهل : {{personalInformation.marriage_sts }}</div>
|
||||
<div>شماره شناسنامه : {{ personalInformation.iden_id }}</div>
|
||||
<div>سریال شناسنامه : {{ personalInformation.iden_serial }}</div>
|
||||
<div>محل صدور : {{ personalInformation.iden_place }}</div>
|
||||
<div>محل تولد : {{ personalInformation.birth_place }}</div>
|
||||
<div>وضعیت مسکن : {{ personalInformation.record }}</div>
|
||||
<div>آدرس : {{ personalInformation.address }}</div>
|
||||
<div>ایمیل : {{ personalInformation.email }}</div>
|
||||
<div>تلفن ثابت : {{ personalInformation.phone }}</div>
|
||||
<div>شماره بیمه : {{ personalInformation.name }}</div>
|
||||
<div>تلفن ضروری : {{ personalInformation.phone_emergency }}</div>
|
||||
<div>نام طرف مرتبط : {{ personalInformation.phone_emergency_related }}</div>
|
||||
<div>نسبت طرف : </div>
|
||||
|
||||
</div>
|
||||
</a-card>
|
||||
<br/>
|
||||
|
||||
<a-card title="اطلاعات تحصیلی" :bordered="true" >
|
||||
<div class="grid grid-cols-3 gap-4" v-if="personalDetails[0]">
|
||||
<div>مقطع : {{ personalDetails[0].university }}</div>
|
||||
<div>دانشگاه : {{ personalDetails[0].university }}</div>
|
||||
<div>رشته تحصیلی: {{ personalDetails[0].title }}</div>
|
||||
<div>گرایش: {{ personalDetails[0].trend }}</div>
|
||||
<div>سال شروع: {{ personalDetails[0].start_at }}</div>
|
||||
<div>سال خاتمه: {{ personalDetails[0].end_at }}</div>
|
||||
|
||||
</div>
|
||||
</a-card>
|
||||
<br/>
|
||||
<a-card title="سوابق آموزشی" :bordered="true" >
|
||||
|
||||
<div class="grid grid-cols-3 gap-4" v-if="personalDetails[1]">
|
||||
<div>مرکز برگزاری : {{ personalDetails[1].university }}</div>
|
||||
<div>عنوان دوره : {{ personalDetails[1].title }}</div>
|
||||
<div>سال : {{ personalDetails[1].start_at }}</div>
|
||||
</div>
|
||||
</a-card>
|
||||
<br/>
|
||||
|
||||
<a-card title="سوابق کاری" :bordered="true" >
|
||||
<div class="grid grid-cols-3 gap-4" v-if="personalDetails[2]">
|
||||
<div>نام سازمان : {{ personalDetails[2].university }}</div>
|
||||
<div>عنوان شغل : {{ personalDetails[2].title }}</div>
|
||||
<div>سال شروع : {{ personalDetails[2].start_at }}</div>
|
||||
<div>سال خاتمه : {{ personalDetails[2].end_at }}</div>
|
||||
</div>
|
||||
</a-card>
|
||||
|
||||
</a-modal>
|
||||
|
||||
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as TableCol from './proposalTbl';
|
||||
import XTable from "@/components/x-table/XTable.vue";
|
||||
import axios from "@/axios";
|
||||
import VuePersianDatetimePicker from "vue-persian-datetime-picker";
|
||||
|
||||
export default {
|
||||
components:{
|
||||
XTable,
|
||||
datePicker: VuePersianDatetimePicker
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showMosahebeModal:false,
|
||||
showInformationModal:false,
|
||||
showAddMosahebeModal:false,
|
||||
personalInformation:{},
|
||||
personalDetails:{},
|
||||
cols:null,
|
||||
current:0,
|
||||
fromMosahebe: this.$form.createForm(this, {name: 'coordinated'}),
|
||||
mosahebe:null,
|
||||
interview_at:null
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
showAddMosahebe()
|
||||
{
|
||||
this.showAddMosahebeModal=true;
|
||||
},
|
||||
showMosahebe(){
|
||||
this.showMosahebeModal=true;
|
||||
},
|
||||
savefromMosahebe(e) {
|
||||
e.preventDefault();
|
||||
this.fromMosahebe.validateFields(async(err, values) => {
|
||||
if (!err) {
|
||||
|
||||
try{
|
||||
if(this.current < 2)
|
||||
{
|
||||
this.next();
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log(values,'values')
|
||||
values.interview_at = this.interview_at
|
||||
await axios.post('/update',values)
|
||||
this.$message.success('اطلاعات با موفقیت کامل شد')
|
||||
}
|
||||
}catch (e) {
|
||||
this.$ntSetError()
|
||||
throw e
|
||||
}finally {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
interview(e) {
|
||||
e.preventDefault();
|
||||
this.fromMosahebe.validateFields(async (err, values) => {
|
||||
if (!err) {
|
||||
|
||||
if(this.current<2)
|
||||
{
|
||||
this.next();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
next() {
|
||||
this.current++;
|
||||
},
|
||||
prev() {
|
||||
this.current--;
|
||||
},
|
||||
showDetails(record) {
|
||||
axios.post('/proposal/details', {id:record.id})
|
||||
.then((res)=>{
|
||||
this.personalInformation=record;
|
||||
this.personalDetails=res.data;
|
||||
this.showInformationModal=true;
|
||||
}).catch((error)=>{
|
||||
this.$message.error('خطا در دریافت اطلاعات');
|
||||
});
|
||||
},
|
||||
showConfirme(){
|
||||
this.$confirm({
|
||||
title: 'آیا مطمئن به استخدام هستید ؟',
|
||||
content: 'در صورتی که گزینه بله را انتخاب کنید کد پرسنلی برای فرد درخواست کننده در سیستم اختصاص خواهد یافت',
|
||||
cancelText:'بی خیال ',
|
||||
okText:'بله',
|
||||
onOk() {
|
||||
console.log('OK');
|
||||
},
|
||||
onCancel() {
|
||||
console.log('Cancel');
|
||||
},
|
||||
});
|
||||
},
|
||||
|
||||
},
|
||||
created() {
|
||||
this.cols = TableCol.default;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.ant-modal-mask
|
||||
{
|
||||
z-index: 9999999 !important;
|
||||
}
|
||||
.ant-modal-wrap
|
||||
{
|
||||
z-index: 999999999 !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,14 @@
|
||||
import XTbl, {Xtc} from '../../components/x-table/index';
|
||||
|
||||
const tbl = new XTbl('http://hr.asco-intl.com/back/public/api/proposal', 'لیست درخواست ها');
|
||||
tbl.add(new Xtc('name', 'نام و نام خانوادگی').filterText());
|
||||
tbl.add(new Xtc('ncode', 'کد ملی').filterText())
|
||||
tbl.add(new Xtc('fname', 'موبایل').filterText())
|
||||
tbl.add(new Xtc('job_title', 'شغل').filterText())
|
||||
tbl.add(new Xtc('for_cities', 'شهر').filterText().noSort())
|
||||
tbl.add(new Xtc('created_at', 'ثبت نام').filterDate().noSort())
|
||||
tbl.add(new Xtc('updated_at', 'به روز رسانی').filterText().noSort())
|
||||
tbl.add(new Xtc('id', 'عملیات').filterSwitch().renderSlot('operator').noSort())
|
||||
/*tbl.addOpt()*/
|
||||
|
||||
export default tbl;
|
||||
Reference in New Issue
Block a user