This commit is contained in:
alirezakarari
2021-01-30 22:35:05 +03:30
parent 8d06c89a89
commit b05899d062
14 changed files with 1735 additions and 532 deletions
+87 -15
View File
@@ -6,7 +6,8 @@
<a-switch default-checked class="mr-2"/>
</a-form-item>
</div>
<x-table :model="cols" class="mt-3">
<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()">
@@ -14,7 +15,7 @@
</a>
<a-menu slot="overlay">
<a-menu-item>
<a href="javascript:;" @click="showMosahebe()">مشاهده مصاحبه</a>
<a href="javascript:;" @click="showMosahebe(text.record.id)">مشاهده مصاحبه</a>
</a-menu-item>
<a-menu-item>
@@ -22,7 +23,7 @@
</a-menu-item>
<a-menu-item>
<a href="javascript:;" @click="showAddMosahebe()">ثبت مصاحبه</a>
<a href="javascript:;" @click="showAddMosahebe(text.record.id)">ثبت مصاحبه</a>
</a-menu-item>
<a-menu-item>
@@ -33,13 +34,63 @@
</template>
</x-table>
<a-modal v-model="showMosahebeModal" title="مشاهده مصاحبه ها" >
<a-modal :width="1000" v-model="showMosahebeModal" title="مشاهده مصاحبه ها" >
<div v-if="is_skeleton">
<ASkeleton/>
</div>
<div v-else>
<div v-if="interview.length == 0">
<a-card>
مصاحبه ای ثبت نشده است.
</a-card>
</div>
<div v-else>
<div v-for="item in interview" v-if="interview">
<a-card :title="item.caj" class="mt-10">
<a-descriptions>
<a-descriptions-item label="تاریخ مصاحبه">
{{ item.interview_at }}
</a-descriptions-item>
<a-descriptions-item label="مصاحبه کننده">
{{ item.interviewer }}
</a-descriptions-item>
<a-descriptions-item label="وضعیت">
{{ item.type }}
</a-descriptions-item>
</a-descriptions>
<a-card title="جزییات">
<a-list>
<a-list-item v-for="element,index in item.result" :key="index" v-if="item.result">
<div class="flex w-full flex-col">
<div class="flex justify-between w-full items-center">
<h3>{{title_interview[index]}}</h3>
<div>
<a-tag color="blue">
نمره: {{element.score}}
</a-tag>
<a-tag color="green" v-if="element.sts == 1">
قبول
</a-tag>
</div>
</div>
<a-divider/>
<p v-if="element.desc">{{ element.desc }}</p>
<p v-else>بدون توضیحات</p>
</div>
</a-list-item>
</a-list>
</a-card>
</a-card>
</div>
</div>
</div>
<template slot="footer">
<a-button key="back" @click="showMosahebeModal=false">
بستن
</a-button>
</template>
</a-modal>
@@ -73,10 +124,9 @@
<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>
@@ -277,7 +327,6 @@
</a-modal>
<a-modal :width="800" v-model="showInformationModal" title="جزییات درخواست" >
<template slot="footer">
<a-button key="back" @click="showInformationModal=false">
@@ -291,8 +340,8 @@
<div>نام و نام خانوادگی : {{ personalInformation.name }}</div>
<div>کد ملی : {{ personalInformation.ncode }}</div>
<div>موبایل : {{ personalInformation.mobile }}</div>
<div>تاریخ ثبت نام : {{ personalInformation.created_at }}</div>
<div>تاریخ به روز رسانی : {{ personalInformation.updated_at }}</div>
<div>تاریخ ثبت نام : {{ personalInformation.caj }}</div>
<div>تاریخ به روز رسانی : {{ personalInformation.uaj }}</div>
<div>شغل متقاضی : {{ personalInformation.job_title }}</div>
<div>نام پدر : {{ personalInformation.father_name }}</div>
<div>تاریخ تولد : {{ personalInformation.birth_date }}</div>
@@ -355,7 +404,7 @@
<script>
import * as TableCol from './proposalTbl';
import XTable from "@/components/x-table/XTable.vue";
import XTable from "@/components/x-table/XTable";
import axios from "@/axios";
import VuePersianDatetimePicker from "vue-persian-datetime-picker";
@@ -375,17 +424,36 @@
current:0,
fromMosahebe: this.$form.createForm(this, {name: 'coordinated'}),
mosahebe:null,
interview_at:null
interview_at:null,
row_id:null,
interview:[],
title_interview:['دانش تخصصی','تحصیلات مرتبط','تجربه کاری مرتبط','رفتار و شخصیت عمومی','ویژگی های اختصاصی شغل'],
is_skeleton:false
}
},
methods:{
showAddMosahebe()
showAddMosahebe(id)
{
this.showAddMosahebeModal=true;
this.row_id = id
},
showMosahebe(){
showMosahebe(id){
this.showMosahebeModal=true;
this.getInterView(id)
},
async getInterView(id){
try{
this.is_skeleton = true
const {data} = await axios.post('proposal/interview',{id:id})
this.interview = data
}catch (e) {
this.$ntSetError()
}finally {
this.is_skeleton = false
}
},
savefromMosahebe(e) {
e.preventDefault();
this.fromMosahebe.validateFields(async(err, values) => {
@@ -399,9 +467,12 @@
else
{
console.log(values,'values')
const id = this.row_id
values.interview_at = this.interview_at
await axios.post('/update',values)
values.id = id
await axios.post('proposal/update',values)
this.$message.success('اطلاعات با موفقیت کامل شد')
this.fromMosahebe.resetFields()
}
}catch (e) {
this.$ntSetError()
@@ -457,6 +528,7 @@
onCancel() {
console.log('Cancel');
},
//class: 'test',
});
},
+3 -3
View File
@@ -3,11 +3,11 @@ 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('mobile', 'موبایل').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('caj', 'ثبت نام').filterDate().noSort())
tbl.add(new Xtc('uaj', 'به روز رسانی').filterText().noSort())
tbl.add(new Xtc('id', 'عملیات').filterSwitch().renderSlot('operator').noSort())
/*tbl.addOpt()*/