319 lines
8.6 KiB
Vue
319 lines
8.6 KiB
Vue
<template>
|
||
<view class="page">
|
||
<view >
|
||
<view class="">
|
||
<view class="pd">
|
||
<view class="current">应聘人姓名: {{formData.candidateName}}</view>
|
||
</view>
|
||
<view class="myContainer myContentBox">
|
||
<view class="top_container">面试记录</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">面试阶段:</view>
|
||
<view class="list_item_content content_right">第{{this.thisIndex}}轮</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">面试官:</view>
|
||
<view class="list_item_content content_right">{{this.interviewerName}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">面试时间:</view>
|
||
<view class="list_item_content content_right">{{this.interviewDate}}</view>
|
||
</view>
|
||
|
||
<view class="pd">
|
||
<view class="report_status">
|
||
<text class="magtext redMi">面试结果</text>
|
||
</view>
|
||
<view>
|
||
<view class="btn" :class="[result_btn==422?'btn_':'']" @click="result_btn=422">通过</view>
|
||
<view class="btn" :class="[result_btn==423?'btn_':'']" @click="result_btn=423">不通过</view>
|
||
</view>
|
||
<view class="item item_line item_textarea">
|
||
<view class="itemname redMi">面试意见</view>
|
||
<textarea class="textarea" placeholder="请填写面试意见" v-model="interviewOpinion"></textarea>
|
||
</view>
|
||
<view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">操作:</view>
|
||
<view class="buttonstyle"><button type="primary" @click="checkNextStep()" style="width: 100%;font-size: 12px;">进入下一轮</button></view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- <view>
|
||
<view class="report_status">
|
||
<text class="magtext">最终面试结果</text>
|
||
</view>
|
||
<view>
|
||
<view class="btn" :class="[final_result_btn==422?'btn_':'']" @click="final_result_btn=422">通过</view>
|
||
<view class="btn" :class="[final_result_btn==423?'btn_':'']" @click="final_result_btn=423">不通过</view>
|
||
</view>
|
||
<view class="item item_line item_textarea">
|
||
<view class="itemname">备注信息</view>
|
||
<textarea class="textarea" placeholder="请填写备注信息" v-model="remarks"></textarea>
|
||
</view>
|
||
</view> -->
|
||
</view>
|
||
<tingycModal @cancelModal="cancelModal" @okModal="okModal" :showModal="isShow" modalTitle="提示" note="检查是否能进入下一步面试流程?"></tingycModal>
|
||
|
||
<view class="fixMargin"></view>
|
||
<view class="goHome" @click='goMain("workInfo")'>
|
||
<img src="../../static/img/gohome.png">
|
||
</view>
|
||
<view class="fixBottom">
|
||
<view class="uni-flex uni-row">
|
||
<view style="-webkit-flex:1;flex: 1;">
|
||
<button type="primary" style="width: 100%;" @click="submit()">确认提交</button>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
config
|
||
} from '../../request/js/config.js'
|
||
import tingycModal from '@/components/tingyc-modal/tingyc-modal.vue'
|
||
export default {
|
||
components: {
|
||
tingycModal
|
||
},
|
||
data() {
|
||
return {
|
||
config:config,
|
||
recordId:'',
|
||
id:'',
|
||
formData:{},
|
||
initFileList:[],
|
||
thisIndex:'',
|
||
interviewerName: '',
|
||
interviewer:'',
|
||
interviewDate:'',
|
||
interviewOpinion:'',
|
||
// remarks:'',
|
||
result_btn:422,
|
||
final_result_btn:'',
|
||
filterResult:{},
|
||
canModify: '',
|
||
isShow:false
|
||
}
|
||
},
|
||
onLoad(option) {
|
||
this.recordId=option.id;
|
||
var _this = this;
|
||
this.$http.request({
|
||
url: '/apis/interviewRecord/detail/'+option.id,
|
||
method:'GET',
|
||
}).then(res=>{
|
||
if(res.data.code == 0){
|
||
this.formData=res.data.headInfo;
|
||
this.initFileList = res.data.bodyInfo;
|
||
for (var i= 0; i < this.initFileList.length; i++) {
|
||
if(this.initFileList[i].canModify ==true) {
|
||
this.thisIndex = i+1
|
||
this.interviewerName = this.initFileList[i].interviewerName
|
||
this.interviewDate = this.initFileList[i].interviewDate
|
||
this.id = this.initFileList[i].id
|
||
this.canModify = this.initFileList[i].canModify
|
||
this.interviewer = this.initFileList[i].interviewer
|
||
}
|
||
}
|
||
}
|
||
})
|
||
|
||
},
|
||
methods: {
|
||
// 检查是否进入下一轮
|
||
checkNextStep() {
|
||
let obj = {
|
||
recordId:this.recordId,
|
||
id:this.id,
|
||
interviewDate:this.interviewDate,
|
||
interviewOpinion:this.interviewOpinion ,
|
||
interviewResults:this.result_btn,
|
||
interviewer:this.interviewer,
|
||
interviewStage:"第"+this.thisIndex+"轮",
|
||
}
|
||
console.log(obj)
|
||
let detailList = []
|
||
detailList.push(obj)
|
||
this.filterResult.detail = detailList
|
||
this.filterResult.advertiseId = this.formData.advertiseId
|
||
this.filterResult.candidateId = this.formData.id,
|
||
this.filterResult.candidateName = this.formData.candidateName,
|
||
this.filterResult.id = this.recordId
|
||
this.isShow = true
|
||
// this.okModal()
|
||
|
||
},
|
||
cancelModal() {
|
||
this.isShow = false
|
||
},
|
||
okModal() {
|
||
this.isShow = false
|
||
//检验下一轮
|
||
this.$http.request({
|
||
url: '/apis/interviewRecord/checkNextStep',
|
||
paramsBody:this.filterResult
|
||
}).then(res=>{
|
||
if(res.data.code == 0){
|
||
uni.showToast({
|
||
title: '操作成功',
|
||
duration: 1000,
|
||
icon:"none"
|
||
});
|
||
this.nextStep()
|
||
}else{
|
||
uni.showToast({
|
||
title: res.data.msg,
|
||
duration: 2000,
|
||
icon:"none"
|
||
});
|
||
}
|
||
}).catch(err=>{
|
||
uni.showToast({
|
||
title: '操作失败',
|
||
duration: 2000,
|
||
icon:"none"
|
||
});
|
||
});
|
||
},
|
||
|
||
// 下一轮
|
||
nextStep() {
|
||
this.$http.request({
|
||
url: '/apis/interviewRecord/nextStep',
|
||
paramsBody:this.filterResult
|
||
}).then(res=>{
|
||
if(res.data.code == 0){
|
||
uni.showToast({
|
||
title: '操作成功',
|
||
duration: 1000,
|
||
icon:"none"
|
||
});
|
||
}else{
|
||
uni.showToast({
|
||
title: res.data.msg,
|
||
duration: 2000,
|
||
icon:"none"
|
||
});
|
||
}
|
||
}).catch(err=>{
|
||
uni.showToast({
|
||
title: '操作失败',
|
||
duration: 2000,
|
||
icon:"none"
|
||
});
|
||
});
|
||
},
|
||
|
||
submit(){
|
||
if(!(this.interviewOpinion)){
|
||
uni.showToast({
|
||
title: '请填写面试意见',
|
||
duration: 2000,
|
||
icon:"none"
|
||
});
|
||
return false;
|
||
}
|
||
// if(this.interviewResults) {
|
||
// this.filterResult.interviewResults = this.interviewResults
|
||
// }
|
||
// if(this.remarks) {
|
||
// this.filterResult.remarks = this.remarks
|
||
// }
|
||
let obj = {
|
||
recordId:this.recordId,
|
||
id:this.id,
|
||
interviewDate:this.interviewDate,
|
||
interviewOpinion:this.interviewOpinion ,
|
||
interviewResults:this.result_btn,
|
||
interviewer:this.interviewer,
|
||
interviewStage:"第"+this.thisIndex+"轮",
|
||
}
|
||
let detailList = []
|
||
detailList.push(obj)
|
||
this.filterResult.detail = detailList
|
||
this.filterResult.advertiseId = this.formData.advertiseId
|
||
this.filterResult.candidateId = this.formData.id,
|
||
this.filterResult.candidateName = this.formData.candidateName,
|
||
this.filterResult.id = this.recordId
|
||
//提交审批接口。
|
||
this.$http.request({
|
||
url: '/apis/interviewRecord/saveRecord',
|
||
paramsBody:this.filterResult
|
||
}).then(res=>{
|
||
if(res.data.code == 0){
|
||
uni.showToast({
|
||
title: '操作成功',
|
||
duration: 1000,
|
||
icon:"none"
|
||
});
|
||
setTimeout( function(){
|
||
uni.navigateTo({
|
||
url: 'interview'
|
||
});
|
||
},1000)
|
||
}else{
|
||
uni.showToast({
|
||
title: res.data.msg,
|
||
duration: 2000,
|
||
icon:"none"
|
||
});
|
||
}
|
||
}).catch(err=>{
|
||
uni.showToast({
|
||
title: '操作失败',
|
||
duration: 2000,
|
||
icon:"none"
|
||
});
|
||
});
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
|
||
<style scoped>
|
||
.btn {
|
||
width: 138upx;
|
||
height: 58upx;
|
||
border-radius: 8upx;
|
||
float:left;
|
||
margin-right: 20upx;
|
||
line-height: 58upx;
|
||
text-align: center;
|
||
background-color: #D7E6FF;
|
||
border: 1px solid #3382FF;
|
||
box-sizing: border-box;
|
||
color: #3382FF;
|
||
font-size: 26upx;
|
||
margin-top: 20upx;
|
||
}
|
||
|
||
.btn_ {
|
||
background-color: #3382FF;
|
||
color: #fff;
|
||
border: none;
|
||
}
|
||
.buttonstyle {
|
||
float: right;
|
||
}
|
||
.pd {
|
||
padding: 14upx;
|
||
}
|
||
.current:after {
|
||
position: absolute;
|
||
content: '';
|
||
width: 0px;
|
||
height: 0px;
|
||
/* background-color: #3382FF; */
|
||
/* bottom: 4px; */
|
||
left: 10px;
|
||
border-radius: 4px;
|
||
}
|
||
</style>
|