Commit 3eae5f88 authored by zhangderong's avatar zhangderong Committed by FE-安焕焕

优化代码,发送加入节流

parent f71c2bdd
...@@ -74,48 +74,20 @@ ...@@ -74,48 +74,20 @@
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='SEE_FAIL'" class='status'><Icon type="ios-radio-button-on" style="color:red" /><span style="margin-left:10px" >约面失败</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='SEE_FAIL'" class='status'><Icon type="ios-radio-button-on" style="color:red" /><span style="margin-left:10px" >约面失败</span></span>
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='NO_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:red" /><span style="margin-left:10px">未入职</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='NO_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:red" /><span style="margin-left:10px">未入职</span></span>
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='ARRIVED'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已到达</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='ARRIVED'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已到达</span></span>
<span style="margin-right:10px;margin-top:5px" v-else-if="item.flowStatus=='TO_SEE'">
<span style="cursor:pointer" >
<select name="3" id="3" @change="selectFn2($event,item.id,item.flowStatus)" >
<option value="1">邀请面试</option>
<option value="2">备选</option>
<option value="3">PASS</option>
<option value="4">待处理</option>
</select>
</span>
</span>
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='HAS_SEE'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px;" >已邀约</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='HAS_SEE'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px;" >已邀约</span></span>
<span style="margin-right:10px;margin-top:5px" v-else-if="item.flowStatus=='OPTION'">
<span style="cursor:pointer">
<select name="4" id="4" @change="selectFn3($event,item.id,item.flowStatus)" class='status' >
<option value="1">备选</option>
<option value="2">邀请面试</option>
<option value="3">PASS</option>
<option value="4">待处理</option>
</select>
</span>
</span>
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='TO_SENT_OFFER'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80;" /><span style="margin-left:10px" >待Offer</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='TO_SENT_OFFER'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80;" /><span style="margin-left:10px" >待Offer</span></span>
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='HAS_SENT_OFFER'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已发Offer</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='HAS_SENT_OFFER'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已发Offer</span></span>
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='TO_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px" >待入职</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='TO_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px" >待入职</span></span>
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='HAS_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已入职</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='HAS_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已入职</span></span>
<span style="margin-right:10px;margin-top:5px" v-else-if="item.flowStatus=='PASS'"> <span style="margin-right:0px;margin-top:5px" v-else-if="item.flowStatus=='PASS'||item.flowStatus=='TO_DO'||item.flowStatus=='TO_SEE'||item.flowStatus=='OPTION'" >
<span style="cursor:pointer" > <select name="1" id="a" style="margin-right:10px;cursor:pointer" v-model="item.flowStatus" @change="changeFlowstatus($event,item.id,item.flowStatus,item.originValue)">
<select name="2" id="2" @change="selectFn4($event,item.id,item.flowStatus)" class='status' > <option value="TO_DO">待处理</option>
<option value="1">PASS</option> <option value="PASS">PASS</option>
<option value="2">邀请面试</option> <option value="TO_SEE">邀请面试</option>
<option value="3">备选</option> <option value="OPTION">备选</option>
<option value="4">待处理</option> </select>
</select>
</span>
</span> </span>
<select name="1" id="a" @change="selectFn1($event,item.id,item.flowStatus)" v-else-if="item.flowStatus=='TO_DO'" style="margin-right:10px;cursor:pointer" class='status' > <span class='record'><Icon type="md-download" @click="downloadONE(item.id)" style="font-size:15px;cursor:pointer;color:#0092FF"/></span>
<option value="1">待处理</option>
<option value="2">pass</option>
<option value="3">邀请面试</option>
<option value="4">备选</option>
</select>
<span class='record'><Icon type="md-download" @click="downloadONE(item.id)" style="font-size:15px;cursor:pointer;color:#0092FF"/></span>
<span class='record'><Icon type="md-trash" v-if="item.flowStatus=='TO_SEE'" @click="undelate" style="color:#b5b5b5;font-size:15px;cursor:pointer"/></span> <span class='record'><Icon type="md-trash" v-if="item.flowStatus=='TO_SEE'" @click="undelate" style="color:#b5b5b5;font-size:15px;cursor:pointer"/></span>
<span class='record'><Icon type="md-trash" v-if="item.flowStatus=='HAS_SEE'" @click="undelate" style="color:#b5b5b5;font-size:15px;cursor:pointer"/></span> <span class='record'><Icon type="md-trash" v-if="item.flowStatus=='HAS_SEE'" @click="undelate" style="color:#b5b5b5;font-size:15px;cursor:pointer"/></span>
<span class='record'><Icon type="md-trash" v-if="item.flowStatus=='SEE_FAIL'" @click="undelate" style="color:#b5b5b5;font-size:15px;cursor:pointer"/></span> <span class='record'><Icon type="md-trash" v-if="item.flowStatus=='SEE_FAIL'" @click="undelate" style="color:#b5b5b5;font-size:15px;cursor:pointer"/></span>
...@@ -208,35 +180,6 @@ ...@@ -208,35 +180,6 @@
<Button type="primary" size='small' @click="modal1=false">关闭</Button> <Button type="primary" size='small' @click="modal1=false">关闭</Button>
</div> </div>
</Modal> </Modal>
<!-- 准备约面弹出框 -->
<Modal
v-model="modal2"
width='380px'
:closable='false'>
<div >
<h2 style="text-align: center;color:black">提示</h2>
<p style="margin-top:20px;line-height:25px">
<span>更改为<span style="color:blue">“邀请约面”</span>的状态后,你需要从<span style="color:blue">”面试管理“</span>中对该候选人进行后续的操作。</span>
</p>
<p style="margin-top:20px;line-height:25px">
<Form :label-width="80" ref="formInline" :rules="ruleInline" :model="formInline">
<FormItem label="邀约人" style="margin-top:20px" prop="UpdateOWER">
<Input v-model="formInline.UpdateOWER" style="width:180px" :maxlength="5"/>
</FormItem>
<FormItem label="面试时间" style="margin-top:20px" prop="UpdateTIME">
<DatePicker type="datetime" style="width:180px" v-model="formInline.UpdateTIME" format="yyyy-MM-dd HH:mm" @on-change="changeTime" :options="options3" :editable='false'></DatePicker>
</FormItem>
<FormItem label="面试官" style="margin-top:20px" prop='UpdateVIEW'>
<Input v-model="formInline.UpdateVIEW" style="width:180px" :maxlength="5"/>
</FormItem>
</Form>
</p>
</div>
<div slot='footer' style="text-align:center">
<Button type='primary' @click='pushlist'>取消</Button>
<Button type='primary' @click="nextStep" >下一步</Button>
</div>
</Modal>
<!-- 可删除状态下,删除提示框 --> <!-- 可删除状态下,删除提示框 -->
<Modal <Modal
v-model="modal3" v-model="modal3"
...@@ -484,6 +427,7 @@ import {mapState} from 'vuex' ...@@ -484,6 +427,7 @@ import {mapState} from 'vuex'
tipInfo: '输入多个邮箱地址以英文”;“分隔', tipInfo: '输入多个邮箱地址以英文”;“分隔',
sad:'', sad:'',
loading1: false, loading1: false,
selectElementValue:'',
options: [], options: [],
editorObject: {type: '', value: ''}, editorObject: {type: '', value: ''},
ruleInline: { ruleInline: {
...@@ -550,6 +494,7 @@ import {mapState} from 'vuex' ...@@ -550,6 +494,7 @@ import {mapState} from 'vuex'
attachFileList:[], attachFileList:[],
flowStatusTT:'', flowStatusTT:'',
emailCode:'', emailCode:'',
resumePushId:'',
modal1:false, modal1:false,
modal2:false, modal2:false,
modal3:false, modal3:false,
...@@ -653,18 +598,9 @@ import {mapState} from 'vuex' ...@@ -653,18 +598,9 @@ import {mapState} from 'vuex'
watch: { watch: {
checkboxList: { checkboxList: {
handler: function (val, oldVal) { handler: function (val, oldVal) {
if(this.delateARRALL.length==30 || (this.ajaxData.length!=0&&this.checkboxList.length === this.ajaxData.length)){ if(this.delateARRALL.length==30 || (this.ajaxData.length!=0&&this.checkboxList.length === this.ajaxData.length)){
this.checked=true this.checked=true
} }
// if(this.delateARRALL.length!==30){
// this.checked=false
// return
// }
// if(this.ajaxData.length==0){
// this.checked=false
// return
// }
else { else {
this.checked=false; this.checked=false;
} }
...@@ -717,44 +653,51 @@ import {mapState} from 'vuex' ...@@ -717,44 +653,51 @@ import {mapState} from 'vuex'
}) })
}, },
//操作处理面试状态 //操作处理面试状态
selectFn1(e,SID,itemsta) { changeFlowstatus(e,SID,itemsta,orsta){
this.toseeid=SID this.toseeid=SID
this.emailId=SID this.emailId=SID
this.emailIdArr=[] this.emailIdArr=[]
this.emailIdArr.push(SID) this.emailIdArr.push(SID)
this.isShowTwo=true this.isShowTwo=true
this.ITEMSTA=itemsta this.ITEMSTA=itemsta
// this.selectFn1STA=e.target.value if(e.target.value=='TO_SEE'){
// 准备约面 this.emailFlowStatus='TO_SEE'
if(e.target.value==3){
this.emailFlowStatus='TO_SEE'
this.isShowTwo=true this.isShowTwo=true
this.sendEmail() this.sendEmail('',orsta,SID)
} }
// 简历PASS if(e.target.value=='PASS'){
if(e.target.value==2){ let parmars={
let parmars={ status:"PASS",
status:"PASS", id:SID,
id:SID, }
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
} }
PASS(parmars).then(res=>{ })
if(res.data.success==true){ }
this.SouSuo(this.pageT,'init') if(e.target.value=='OPTION'){
} let parmars={
}) status:"OPTION",
} id:SID,
// 简历备选 }
if(e.target.value==4){ OPTION(parmars).then(res=>{
let parmars={ if(res.data.success==true){
status:"OPTION", this.SouSuo(this.pageT,'init')
id:SID,
} }
OPTION(parmars).then(res=>{ })
if(res.data.success==true){ }
this.SouSuo(this.pageT,'init') if(e.target.value=='TO_DO'){
} let parmars={
}) status:"TO_DO",
} id:SID,
}
TODORes(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
}, },
addINTERVIEW(){ addINTERVIEW(){
let parmars={ let parmars={
...@@ -784,200 +727,6 @@ import {mapState} from 'vuex' ...@@ -784,200 +727,6 @@ import {mapState} from 'vuex'
} }
}) })
}, },
nextStep(){
this.beforeBtu=true
this.modal2=false
this.sendEmail()
},
selectFn2(e,SID,itemsta) {
this.ITEMSTA=itemsta
this.emailId=SID
this.toseeid=SID
// this.selectFn2STA=e.target.value
// 准备约面
if(e.target.value==1){
this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
this.sendEmail()
// this.selectFn2STA=e.target.value
}
// 简历PASS
if(e.target.value==3){
let parmars={
status:"PASS",
id:SID,
}
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
// 简历备选
if(e.target.value==2){
let parmars={
status:"OPTION",
id:SID,
}
OPTION(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
if(e.target.value==2){
let parmars={
status:"TO_DO",
id:SID,
}
TODORes(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
},
selectFn3(e,SID,itemsta) {
this.ITEMSTA=itemsta
this.emailId=SID
this.toseeid=SID
// this.selectFn3STA=e.target.value
// 准备约面
if(e.target.value==2){
this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
this.sendEmail()
}
// 简历PASS
if(e.target.value==3){
let parmars={
status:"PASS",
id:SID,
}
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
// 简历备选
if(e.target.value==1){
let parmars={
status:"OPTION",
id:SID,
}
OPTION(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
if(e.target.value==4){
let parmars={
status:"TO_DO",
id:SID,
}
TODORes(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
},
selectFn4(e,SID,itemsta) {
this.ITEMSTA=itemsta
this.toseeid=SID
this.emailId=SID
// this.selectFn4STA=e.target.value
// 准备约面
if(e.target.value==2){
this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
this.sendEmail()
}
// 简历PASS
if(e.target.value==1){
let parmars={
status:"PASS",
id:SID,
}
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
// 简历备选
if(e.target.value==3){
let parmars={
status:"OPTION",
id:SID,
}
OPTION(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
if(e.target.value==4){
let parmars={
status:"TO_DO",
id:SID,
}
TODORes(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
},
//查询简历列表
SearchList(page){
page = typeof(page)=='number'?page:1
this.searchInfo.pageIndex = page
this.pageIndex = page
let parmars={
pageSize:this.searchInfo.pageSize,
pageIndex:this.searchInfo.pageIndex
}
this.ajaxData=[]
this.interviewee = []
serchList(parmars).then(res=>{
if(res.data.success==true){
// this.ajaxData=[]
this.checkboxList=[]
this.spinShow=false
this.totalSize=res.data.body.totalNumber
this.quanxuan.push(res.data.body.items.id)
this.ajaxData=res.data.body.items.map((item,index)=>{
item.id=item.id
item.ownerName=item.ownerName
item.ownerSex=item.ownerSex
item.deliveryTime=item.deliveryTime
item.belongs=item.belongs
item.emailSendtime=item.emailSendtime
item.ownerMobile=item.ownerMobile
item.ownerHighestDegree=item.ownerHighestDegree
item.ownerExpectTitles=item.ownerExpectTitles
item.flowStatus=item.flowStatus
item.ownerAge=item.ownerAge
item.ownerWorkYears=item.ownerWorkYears
item.modifyTime=item.modifyTime
item.srcSite=item.srcSite
item.optSource=item.optSource
item.modifier=item.modifier
item.STATES=false
item.hasForward=item.hasForward
item.isShow=false
item.c=item.modifier==''?item.modifier:item.modifier.split('_')
item.d=item.c[0]
return item
})
}
})
},
//选择搜索元素 //选择搜索元素
selectElement1(tItem,Tindex){ selectElement1(tItem,Tindex){
this.searchInfo.SEX=Tindex==0?'':tItem; this.searchInfo.SEX=Tindex==0?'':tItem;
...@@ -1077,6 +826,7 @@ import {mapState} from 'vuex' ...@@ -1077,6 +826,7 @@ import {mapState} from 'vuex'
item.isShow=false item.isShow=false
item.modifier=item.modifier item.modifier=item.modifier
item.uid=item.uid item.uid=item.uid
item.originValue=item.flowStatus
item.c=item.modifier==''?item.modifier:item.modifier.split('_') item.c=item.modifier==''?item.modifier:item.modifier.split('_')
item.d=item.c[0] item.d=item.c[0]
return item return item
...@@ -1154,7 +904,6 @@ import {mapState} from 'vuex' ...@@ -1154,7 +904,6 @@ import {mapState} from 'vuex'
}, },
//查看简历详情 //查看简历详情
Seedetail(Tid,Uid,STATUS){ Seedetail(Tid,Uid,STATUS){
console.log(STATUS,4444444)
this.DOWNID=Uid this.DOWNID=Uid
this.detailID=Tid this.detailID=Tid
this.resumeDetailSta=STATUS this.resumeDetailSta=STATUS
...@@ -1369,7 +1118,10 @@ import {mapState} from 'vuex' ...@@ -1369,7 +1118,10 @@ import {mapState} from 'vuex'
this.ajaxData[index].isShow=false this.ajaxData[index].isShow=false
}, },
// 发送邮件 // 发送邮件
sendEmail(type){ sendEmail(type,status,SID){
this.selectElementValue=status
this.resumePushId=SID
console.log(status,44444444)
if(this.checkboxList.length == 0&&type) { if(this.checkboxList.length == 0&&type) {
this.$Notice.error({ this.$Notice.error({
title: '提示', title: '提示',
...@@ -1512,7 +1264,11 @@ import {mapState} from 'vuex' ...@@ -1512,7 +1264,11 @@ import {mapState} from 'vuex'
this.isLimitSize=false this.isLimitSize=false
this.uploadFileList=[] this.uploadFileList=[]
this.clearInterviewee() this.clearInterviewee()
this.SouSuo(this.pageT,'init') this.ajaxData.map(item=>{
if(item.id==this.resumePushId){
item.flowStatus=item.originValue
}
})
}, },
getEditorValue(value){ // 调编辑器组件方法获取数据 getEditorValue(value){ // 调编辑器组件方法获取数据
return this.$refs.editor.getValue() return this.$refs.editor.getValue()
...@@ -1522,7 +1278,7 @@ import {mapState} from 'vuex' ...@@ -1522,7 +1278,7 @@ import {mapState} from 'vuex'
this.uploadFileList.splice(index,1) this.uploadFileList.splice(index,1)
}, },
// 确认发送邮件 // 确认发送邮件
confireSendEmail(){ confireSendEmail:_debounce(function(){
this.sad = this.getEditorValue() this.sad = this.getEditorValue()
if(this.sad==''){ if(this.sad==''){
this.$Notice.error({ this.$Notice.error({
...@@ -1698,7 +1454,7 @@ import {mapState} from 'vuex' ...@@ -1698,7 +1454,7 @@ import {mapState} from 'vuex'
} }
}) })
} }
}, },800),
removeInterviewee (value) { removeInterviewee (value) {
this.interviewee.map((item, index) => { this.interviewee.map((item, index) => {
if (value&&item.id == value.id) { if (value&&item.id == value.id) {
...@@ -1754,7 +1510,7 @@ import {mapState} from 'vuex' ...@@ -1754,7 +1510,7 @@ import {mapState} from 'vuex'
} }
}) })
}, },
sendNotice() { sendNotice:_debounce(function() {
this.$refs.transpondFrom.validate(valid => { this.$refs.transpondFrom.validate(valid => {
if(!this.transpondFrom.interviewerName){ if(!this.transpondFrom.interviewerName){
return return
...@@ -1810,7 +1566,7 @@ import {mapState} from 'vuex' ...@@ -1810,7 +1566,7 @@ import {mapState} from 'vuex'
} }
}) })
}) })
}, },800),
remoteMethod: async function(query){ remoteMethod: async function(query){
if (query !== '') { if (query !== '') {
this.loading1 = true; this.loading1 = true;
......
...@@ -71,47 +71,19 @@ ...@@ -71,47 +71,19 @@
<span style="margin-right:30px;margin-top:5px" v-else-if="item.flowStatus=='SEE_FAIL'" class='status'><Icon type="ios-radio-button-on" style="color:red" /><span style="margin-left:10px" >约面失败</span></span> <span style="margin-right:30px;margin-top:5px" v-else-if="item.flowStatus=='SEE_FAIL'" class='status'><Icon type="ios-radio-button-on" style="color:red" /><span style="margin-left:10px" >约面失败</span></span>
<span style="margin-right:30px;margin-top:5px" v-else-if="item.flowStatus=='ARRIVED'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px" >已到达</span></span> <span style="margin-right:30px;margin-top:5px" v-else-if="item.flowStatus=='ARRIVED'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px" >已到达</span></span>
<span style="margin-right:30px;margin-top:5px" v-else-if="item.flowStatus=='NO_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:red" /><span style="margin-left:10px">未入职</span></span> <span style="margin-right:30px;margin-top:5px" v-else-if="item.flowStatus=='NO_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:red" /><span style="margin-left:10px">未入职</span></span>
<span style="margin-right:30px;margin-top:5px;" v-else-if="item.flowStatus=='TO_SEE'" class='status'> <span style="margin-right:0px;margin-top:5px" v-else-if="item.flowStatus=='PASS'||item.flowStatus=='TO_DO'||item.flowStatus=='TO_SEE'||item.flowStatus=='OPTION'" >
<span style="text-align:left;cursor:pointer" > <select name="1" id="a" style="margin-right:10px;cursor:pointer" v-model="item.flowStatus" @change="changeFlowstatus($event,item.id,item.flowStatus,item.originValue)">
<select name="3" id="3" @change="selectFn2($event,item.id)" style="height:18px;text-align:center;margin-top:5px"> <option value="TO_DO">待处理</option>
<option value="1">邀请面试</option> <option value="PASS">PASS</option>
<option value="2">备选</option> <option value="TO_SEE">邀请面试</option>
<option value="3">PASS</option> <option value="OPTION">备选</option>
<option value="4">待处理</option> </select>
</select>
</span>
</span> </span>
<span style="margin-right:30px;margin-top:5px" v-else-if="item.flowStatus=='HAS_SEE'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px" >已邀约</span></span> <span style="margin-right:30px;margin-top:5px" v-else-if="item.flowStatus=='HAS_SEE'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px" >已邀约</span></span>
<span style="margin-right:20px;margin-top:5px;" v-else-if="item.flowStatus=='OPTION'" class='status'>
<span>
<select name="4" id="4" @change="selectFn3($event,item.id)" style="height:18px;text-align:center;margin-top:5px;cursor:pointer">
<option value="1">备选</option>
<option value="2">邀请面试</option>
<option value="3">PASS</option>
<option value="4">待处理</option>
</select>
</span>
</span>
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='TO_SENT_OFFER'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px" >待Offer</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='TO_SENT_OFFER'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px" >待Offer</span></span>
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='HAS_SENT_OFFER'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已发Offer</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='HAS_SENT_OFFER'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已发Offer</span></span>
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='TO_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px" >待入职</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='TO_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px" >待入职</span></span>
<span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='HAS_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已入职</span></span> <span style="margin-right:20px;margin-top:5px" v-else-if="item.flowStatus=='HAS_ENTRY'" class='status'><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已入职</span></span>
<span style="margin-right:20px;margin-top:5px;" v-else-if="item.flowStatus=='PASS'" class='status'>
<span class='status'>
<select name="2" id="2" @change="selectFn4($event,item.id)" style="height:18px;text-align:center;margin-top:5px;cursor:pointer">
<option value="1">PASS</option>
<option value="2">邀请面试</option>
<option value="3">备选</option>
<option value="4">待处理</option>
</select>
</span>
</span>
<select name="1" id="a" @change="selectFn1($event,item.id)" v-else-if="item.flowStatus=='TO_DO'" style="height:20px;margin-top:5px;margin-right:20px;text-align:center;cursor:pointer" class='status'>
<option value="1">待处理</option>
<option value="2">pass</option>
<option value="3">邀请面试</option>
<option value="4">备选</option>
</select>
<span class='record'><Icon type="md-download" @click="downloadONE(item.id)" style="font-size:15px;cursor:pointer;color:#0092FF"/></span> <span class='record'><Icon type="md-download" @click="downloadONE(item.id)" style="font-size:15px;cursor:pointer;color:#0092FF"/></span>
<span class='record'><Icon type="md-trash" v-if="item.flowStatus=='TO_SEE'" @click="undelate" style="color:#b5b5b5;cursor:pointer;font-size:15px"/></span> <span class='record'><Icon type="md-trash" v-if="item.flowStatus=='TO_SEE'" @click="undelate" style="color:#b5b5b5;cursor:pointer;font-size:15px"/></span>
<span class='record'><Icon type="md-trash" v-if="item.flowStatus=='HAS_SEE'" @click="undelate" style="color:#b5b5b5;cursor:pointer;font-size:15px"/></span> <span class='record'><Icon type="md-trash" v-if="item.flowStatus=='HAS_SEE'" @click="undelate" style="color:#b5b5b5;cursor:pointer;font-size:15px"/></span>
...@@ -205,35 +177,6 @@ ...@@ -205,35 +177,6 @@
<Button type="primary" size='small' @click="modal1=false">关闭</Button> <Button type="primary" size='small' @click="modal1=false">关闭</Button>
</div> </div>
</Modal> </Modal>
<!-- 准备约面弹出框 -->
<Modal
v-model="modal2"
width='380px'
:closable='false'>
<div >
<h2 style="text-align: center;color:black">提示</h2>
<p style="margin-top:20px;line-height:25px">
<span>更改为<span style="color:blue">“邀请约面”</span>的状态后,你需要从<span style="color:blue">”面试管理“</span>中对该候选人进行后续的操作。</span>
</p>
<p style="margin-top:20px;line-height:25px">
<Form :label-width="80" ref="formInline" :rules="ruleInline" :model="formInline">
<FormItem label="邀约人" style="margin-top:20px" prop="UpdateOWER">
<Input v-model="formInline.UpdateOWER" style="width:180px" :maxlength="5"/>
</FormItem>
<FormItem label="面试时间" style="margin-top:20px" prop="UpdateTIME">
<DatePicker type="datetime" style="width:180px" v-model="formInline.UpdateTIME" format="yyyy-MM-dd HH:mm" @on-change="changeTime" :editable='false' :options="options3"></DatePicker>
</FormItem>
<FormItem label="面试官" style="margin-top:20px" prop="UpdateVIEW">
<Input v-model="formInline.UpdateVIEW" style="width:180px" :maxlength="5"/>
</FormItem>
</Form>
</p>
</div>
<div slot='footer' style="text-align:center">
<Button type='primary' @click='pushlist'>取消</Button>
<Button type='primary' @click="addINTERVIEW" >确定</Button>
</div>
</Modal>
<!-- 可删除状态下,删除提示框 --> <!-- 可删除状态下,删除提示框 -->
<Modal <Modal
v-model="modal3" v-model="modal3"
...@@ -576,6 +519,7 @@ export default { ...@@ -576,6 +519,7 @@ export default {
modal10:false, modal10:false,
modal12:false, modal12:false,
modal13:false, modal13:false,
resumePushId:'',
optcode:'', optcode:'',
toseename:'', toseename:'',
// UpdateOWER:'', // UpdateOWER:'',
...@@ -668,47 +612,51 @@ export default { ...@@ -668,47 +612,51 @@ export default {
}, },
//操作处理面试状态 //操作处理面试状态
selectFn1(e,SID,itemsta) { changeFlowstatus(e,SID,itemsta,orsta){
this.toseeid=SID this.toseeid=SID
this.emailId=SID this.emailId=SID
this.emailIdArr=[] this.emailIdArr=[]
this.emailIdArr.push(SID) this.emailIdArr.push(SID)
this.isShowTwo=true this.isShowTwo=true
this.ITEMSTA=itemsta this.ITEMSTA=itemsta
// 准备约面 if(e.target.value=='TO_SEE'){
if(e.target.value==3){ this.emailFlowStatus='TO_SEE'
getEmailMoo().then(res=>{
this.emailInline.modalArr.push(res.data.body[0])
})
this.emailMOdal=true
this.emailFlowStatus='TO_SEE'
this.isShowTwo=true this.isShowTwo=true
this.sendEmail() this.sendEmail('',orsta,SID)
} }
// 简历PASS if(e.target.value=='PASS'){
if(e.target.value==2){ let parmars={
let parmars={ status:"PASS",
status:"PASS", id:SID,
id:SID, }
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
} }
PASS(parmars).then(res=>{ })
if(res.data.success==true){ }
this.SouSuo(this.pageT,'init') if(e.target.value=='OPTION'){
} let parmars={
}) status:"OPTION",
} id:SID,
// 简历备选 }
if(e.target.value==4){ OPTION(parmars).then(res=>{
let parmars={ if(res.data.success==true){
status:"OPTION", this.SouSuo(this.pageT,'init')
id:SID,
} }
OPTION(parmars).then(res=>{ })
if(res.data.success==true){ }
this.SouSuo(this.pageT,'init') if(e.target.value=='TO_DO'){
} let parmars={
}) status:"TO_DO",
} id:SID,
}
TODORes(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
}, },
addINTERVIEW(){ addINTERVIEW(){
let parmars={ let parmars={
...@@ -738,182 +686,26 @@ export default { ...@@ -738,182 +686,26 @@ export default {
} }
}) })
}, },
nextStep(){ changeTime(b){
this.beforeBtu=true this.UpdateTIME=b
this.modal2=false if (!b){
this.emailMOdal=true
this.sendEmail()
},
selectFn2(e,SID,itemsta) {
this.ITEMSTA=itemsta
this.emailId=SID
this.toseeid=SID
// 准备约面
if(e.target.value==1){
getEmailMoo().then(res=>{
this.emailInline.modalArr.push(res.data.body[0])
})
this.emailMOdal=true
this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
this.sendEmail()
}
// 简历PASS
if(e.target.value==3){
let parmars={
status:"PASS",
id:SID,
}
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
// 简历备选
if(e.target.value==2){
let parmars={
status:"OPTION",
id:SID,
}
OPTION(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
if(e.target.value==2){
let parmars={
status:"TO_DO",
id:SID,
}
TODORes(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
},
selectFn3(e,SID,itemsta) {
this.ITEMSTA=itemsta
this.emailId=SID
this.toseeid=SID
// 准备约面
if(e.target.value==2){
getEmailMoo().then(res=>{
this.emailInline.modalArr.push(res.data.body[0])
})
this.emailMOdal=true
this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
this.sendEmail()
}
// 简历PASS
if(e.target.value==3){
let parmars={
status:"PASS",
id:SID,
}
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
// 简历备选
if(e.target.value==1){
let parmars={
status:"OPTION",
id:SID,
}
OPTION(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
if(e.target.value==4){
let parmars={
status:"TO_DO",
id:SID,
}
TODORes(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
},
selectFn4(e,SID,itemsta) {
this.ITEMSTA=itemsta
this.toseeid=SID
this.emailId=SID
// 准备约面
if(e.target.value==2){
getEmailMoo().then(res=>{
this.emailInline.modalArr.push(res.data.body[0])
})
this.emailMOdal=true
this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
this.sendEmail()
}
// 简历PASS
if(e.target.value==1){
let parmars={
status:"PASS",
id:SID,
}
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
// 简历备选
if(e.target.value==3){
let parmars={
status:"OPTION",
id:SID,
}
OPTION(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
if(e.target.value==4){
let parmars={
status:"TO_DO",
id:SID,
}
TODORes(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT,'init')
}
})
}
},
changeTime(b){
this.UpdateTIME=b
if (!b){
this.editorObject = {
type: this.temp,
value: this.emailInline.templateContent
}
return
}
var reg = /<span id="email_seeTime"><span>/g
var time = b.split('-')
var year = time[0]
var mon = time[1]
var day = time[2].split(' ')[0]
var time = time[2].split(' ')[1]
var content = `<span id="email_seeTime">${year}${mon}${day}${time}<span>`
this.editorObject = { this.editorObject = {
type: this.temp, type: this.temp,
value: this.emailInline.templateContent.replace(reg, content) value: this.emailInline.templateContent
} }
return
}
var reg = /<span id="email_seeTime"><span>/g
var time = b.split('-')
var year = time[0]
var mon = time[1]
var day = time[2].split(' ')[0]
var time = time[2].split(' ')[1]
var content = `<span id="email_seeTime">${year}${mon}${day}${time}<span>`
this.editorObject = {
type: this.temp,
value: this.emailInline.templateContent.replace(reg, content)
}
}, },
// 查看简历详情 // 查看简历详情
Seedetail(Tid,Uid,STATUS){ Seedetail(Tid,Uid,STATUS){
...@@ -1272,6 +1064,7 @@ export default { ...@@ -1272,6 +1064,7 @@ export default {
item.isShow=false item.isShow=false
item.optSource=item.optSource item.optSource=item.optSource
item.modifier=item.modifier item.modifier=item.modifier
item.originValue=item.flowStatus
item.uid=item.uid item.uid=item.uid
item.c=item.modifier==''?item.modifier:item.modifier.split('_') item.c=item.modifier==''?item.modifier:item.modifier.split('_')
item.d=item.c[0] item.d=item.c[0]
...@@ -1302,7 +1095,9 @@ export default { ...@@ -1302,7 +1095,9 @@ export default {
this.ajaxData[index].isShow=false this.ajaxData[index].isShow=false
}, },
// 发送邮件 // 发送邮件
sendEmail(type){ sendEmail(type,status,SID){
this.selectElementValue=status
this.resumePushId=SID
if(this.checkboxList.length == 0&&type) { if(this.checkboxList.length == 0&&type) {
this.$Notice.error({ this.$Notice.error({
title: '提示', title: '提示',
...@@ -1442,8 +1237,13 @@ export default { ...@@ -1442,8 +1237,13 @@ export default {
this.isShowTwo=false this.isShowTwo=false
this.isLimitSize=false this.isLimitSize=false
this.uploadFileList=[] this.uploadFileList=[]
this.SouSuo(this.pageT,'init') // this.SouSuo(this.pageT,'init')
this.clearInterviewee() this.clearInterviewee()
this.ajaxData.map(item=>{
if(item.id==this.resumePushId){
item.flowStatus=item.originValue
}
})
}, },
getEditorValue(){ // 调编辑器组件方法获取数据 getEditorValue(){ // 调编辑器组件方法获取数据
return this.$refs.editor.getValue() return this.$refs.editor.getValue()
...@@ -1454,7 +1254,7 @@ export default { ...@@ -1454,7 +1254,7 @@ export default {
// this.isLimitSize=false // this.isLimitSize=false
}, },
// 确认发送邮件 // 确认发送邮件
confireSendEmail(){ confireSendEmail:_debounce(function(){
this.sad=this.getEditorValue() this.sad=this.getEditorValue()
if(this.sad==''){ if(this.sad==''){
this.$Notice.error({ this.$Notice.error({
...@@ -1634,7 +1434,7 @@ export default { ...@@ -1634,7 +1434,7 @@ export default {
} }
}) })
} }
}, },800),
changenotice(a){ changenotice(a){
}, },
receiveEmail(){ receiveEmail(){
...@@ -1708,7 +1508,7 @@ export default { ...@@ -1708,7 +1508,7 @@ export default {
this.$refs.transpondFrom.resetFields() this.$refs.transpondFrom.resetFields()
this.modal8= true this.modal8= true
}, },
sendNotice() { sendNotice:_debounce( function() {
this.$refs.transpondFrom.validate(valid => { this.$refs.transpondFrom.validate(valid => {
if(!this.transpondFrom.interviewerName){ if(!this.transpondFrom.interviewerName){
return return
...@@ -1753,18 +1553,10 @@ export default { ...@@ -1753,18 +1553,10 @@ export default {
desc:this.errorMassage desc:this.errorMassage
}) })
} }
// setTimeout(() => {
// this.$Notice.success({
// title: '提示',
// desc: '发送失败'
// })
// }, 500)
// this.clearInterviewee()
// this.modal8 = false
} }
}) })
}) })
}, },800),
remoteMethod: function(query){ remoteMethod: function(query){
if (query !== '') { if (query !== '') {
this.loading1 = true; this.loading1 = true;
...@@ -1940,6 +1732,7 @@ export default { ...@@ -1940,6 +1732,7 @@ export default {
item.STATES=false item.STATES=false
item.isShow=false item.isShow=false
item.optSource=item.optSource item.optSource=item.optSource
item.originValue=item.flowStatus
item.modifier=item.modifier item.modifier=item.modifier
item.uid=item.uid item.uid=item.uid
item.c=item.modifier==''?item.modifier:item.modifier.split('_') item.c=item.modifier==''?item.modifier:item.modifier.split('_')
......
...@@ -137,13 +137,13 @@ ...@@ -137,13 +137,13 @@
</div> </div>
<div class="resumeDetail-right" v-show="boxIsShow"> <div class="resumeDetail-right" v-show="boxIsShow">
<div class="testResume"> <div class="testResume">
<Button type="primary" size='small' style="width:150px;height:34px;margin:0 0 0 15px" @click="downloadONE(detialID)" v-show="this.showBtn!=1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</Button><br> <Button type="primary" size='small' style="width:150px;height:34px;margin:0 0 0 15px;font-size:14px" @click="downloadONE(detialID)" v-show="this.showBtn!=1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</Button><br>
<Button type="primary" size='small' style="width:150px;height:34px;margin:20px 0 0 15px" @click="transpond" v-show="this.showBtn!=1">转发给面试官</Button><br> <Button type="primary" size='small' style="width:150px;height:34px;margin:20px 0 0 15px;font-size:14px" @click="transpond" v-show="this.showBtn!=1">转发给面试官</Button><br>
<p style="margin-top:40px;font-size:16px">当前简历状态:<span style="color:#0092FF" >{{detailStatus[detailSta]}}</span></p> <p style="margin-top:40px;font-size:16px">当前简历状态:<span style="color:#0092FF" >{{detailStatus[detailSta]}}</span></p>
<Button type="primary" size='small' style="width:150px;height:34px;margin:20px 0 0 15px" @click="sendEmail" v-show="hasINterview==false">邀请面试</Button><br> <Button type="primary" size='small' style="width:150px;height:34px;margin:20px 0 0 15px;font-size:14px" @click="sendEmail" v-show="hasINterview==false">邀请面试</Button><br>
<Button type="primary" :disabled="todoDisabled" size='small' style="width:150px;height:34px;margin:20px 0 0 15px" @click="todo" v-show="hasINterview==false">&nbsp;&nbsp;</Button><br> <Button type="primary" :disabled="todoDisabled" size='small' style="width:150px;height:34px;margin:20px 0 0 15px;font-size:14px" @click="todo" v-show="hasINterview==false">&nbsp;&nbsp;</Button><br>
<Button type="primary" :disabled="passDisabled" size='small' style="width:150px;height:34px;margin:20px 0 0 15px" @click="pass" v-show="hasINterview==false">PASS</Button><br> <Button type="primary" :disabled="passDisabled" size='small' style="width:150px;height:34px;margin:20px 0 0 15px;font-size:14px" @click="pass" v-show="hasINterview==false">PASS</Button><br>
<Button type="primary" :disabled="optionDisabled" size='small' style="width:150px;height:34px;margin:20px 0 0 15px" @click="option" v-show="hasINterview==false">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</Button><br> <Button type="primary" :disabled="optionDisabled" size='small' style="width:150px;height:34px;margin:20px 0 0 15px;font-size:14px" @click="option" v-show="hasINterview==false">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</Button><br>
</div> </div>
</div> </div>
<Modal <Modal
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment