Commit 2743827d authored by zhangderong's avatar zhangderong

2

parent a7bced1c
...@@ -2,4 +2,46 @@ import axios from '../service/http.service' ...@@ -2,4 +2,46 @@ import axios from '../service/http.service'
import { import {
baseApi,contractApi baseApi,contractApi
} from '../config/env.config' } from '../config/env.config'
import qs from 'qs' import qs from 'qs'
\ No newline at end of file // 更改约面信息
export function changeinterviewMassage(parmars) {
return axios.post(`/text/api/resumeInterview/update`,parmars,{headers: {
'Content-Type':'application/json;',
}})
}
// 重启面试
export function oppenInterview() {
return axios.post(`/text/api/resumeFlow/reset/14/TO_SEE`,{headers: {
'Content-Type':'application/json;',
}})
}
// 终止面试
export function SInterview(parmars) {
return axios.post(`/text/api/resumeFlow/end/14`,parmars,{headers: {
'Content-Type':'application/json;',
}})
}
// 面试管理查询
export function SerchList(parmars) {
return axios.post(`/text/api/interview/findListByQueryVO`,parmars,{headers: {
'Content-Type':'application/json;',
}})
}
//面试官查询
export function Serchinterviewor() {
return axios.post(`/text/api/interview/findInterviewerList`,{headers: {
'Content-Type':'application/json;',
}})
}
//邀约人查询
export function SerchInvitationOwer() {
return axios.post(`/text/api/interview/findInviterList`,{headers: {
'Content-Type':'application/json;',
}})
}
//新增约面信息
export function NewAddInterview(parmars) {
return axios.post(`/text/api/resumeInterview/add`,parmars,{headers: {
'Content-Type':'application/json;',
}})
}
\ No newline at end of file
...@@ -8,4 +8,11 @@ export function serchList(parmars){ ...@@ -8,4 +8,11 @@ export function serchList(parmars){
return axios.post(`/text/api/resume/findList`,parmars,{headers: { return axios.post(`/text/api/resume/findList`,parmars,{headers: {
'Content-Type':'application/json' 'Content-Type':'application/json'
}}) }})
}
// 下载简历(单条)
export function downloadone (parmars) {
parmars=qs.stringify(parmars)
return axios.post(`/text/api/resumeFile/download/formatted/one`,parmars,{headers: {
'Content-Type':'application/x-www-form-urlencoded'
}})
} }
\ No newline at end of file
<template>
<div>
<div class="login">
<div class="login-content">
<div class="loginContent-left">
<img src="../../assets/login.jpg">
</div>
<div class="loginContent-right">
<div class="logo">
<img src="../../assets/log.png">
<h3>首次登录请修改密码</h3>
</div>
<div class="login_content">
<Form ref="formInline" :model="formInline" :rules="ruleInline" >
<FormItem prop="user">
<Input type="text" v-model="formInline.user" placeholder="Username" class="wordStyle"/>
<Icon type="ios-person-outline" slot="prepend"></Icon>
</FormItem>
<FormItem prop="password">
<Input type="password" v-model="formInline.password" placeholder="Password" class="wordStyle"/>
<Icon type="ios-lock-outline" slot="prepend"></Icon>
</FormItem>
<FormItem>
<button style="width:440px;margin-left:30px; border-radius: 5px;background:rgb(0, 146, 255);color:rgb(255,255,255)">登录</button>
</FormItem>
</Form>
</div>
<div class="copy">
<p>量化派为你提供全程服务</p>
<p>量化派版权所有</p>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
data () {
return {
formInline: {
user: '',
password: ''
},
ruleInline: {
user: [
{ required: true, message: '请输入正确的手机号', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入正确的密码', trigger: 'blur' },
{ type: 'string', min: 4, message: '', trigger: 'blur' }
]
}
}
},
methods: {
handleSubmit(name) {
this.$refs[name].validate((valid) => {
if (valid) {
this.$Message.success('Success!');
} else {
this.$Message.error('Fail!');
}
})
}
}
}
</script>
<style>
.login{
width:100%;
height:100%;
background: #EAEAEA;
}
.login-content{
width: 1100px;
height: 1000px;
margin-left: 500px
}
.loginContent-left {
float: left;
width: 600px;
height: 800px
}
.loginContent-right{
float: left;
width: 500px;
height: 800px;
background: #ffffff
}
.loginContent-left img{
width: 100%;
height: 100%;
}
.logo{
width:100%;
height:140px;
margin-top:80px;
}
.logo img {
width: 100px;
height: 60px;
margin-left: 30px
}
.logo h3{
font-size: 25px;
color: black;
margin-left: 40px
}
.login_content{
height: 200px;
width: 100%;
}
.copy{
width: 100%;
height:100px;
margin-top: 200px;
}
.copy p{
margin-left: 30px
}
.wordStyle{
width: 440px;
margin-left: 30px
}
</style>
...@@ -9,29 +9,41 @@ ...@@ -9,29 +9,41 @@
<div class="leftcontentContent" v-for="(item,index) in Essentialinformation " :key='index'> <div class="leftcontentContent" v-for="(item,index) in Essentialinformation " :key='index'>
<div class="contentMassage" > <div class="contentMassage" >
<p style="font-size:16px;color:black" > <p style="font-size:16px;color:black" >
<span style="margin-left:10px">{{item.name}} |</span> <span style="margin-left:10px">{{item.ownerName}} |</span>
<span>{{item.phone}} |</span> <span>{{item.ownerMobile}} |</span>
<span>{{item.a}}</span> <span>{{item.ownerExpectTitles}}</span>
<span style="margin-left:100px;color:#2d8cf0" @click="updateInterview">更改约面信息</span> <span style="margin-left:100px;color:#2d8cf0" @click="updateInterview(item.interviewerName,item.seeTime,item.inviterName)" v-if="item.flowStatus=='OPTION'">更改约面信息</span>
<span style="margin-left:100px;color:#999999" @click="updateInterview" v-if="item.status==2">暂无约面信息</span>
</p> </p>
<p style="font-size:14px;margin-top:15px"> <p style="font-size:14px;margin-top:15px">
<span style="margin-left:10px">邀约人: {{item.Invitation}} </span> <span style="margin-left:10px">邀约人: {{item.interviewerName}} </span>
<span style="margin-left:20px">面试官: {{item.Interviewer}}</span> <span style="margin-left:20px">面试官: {{item.inviterName}}</span>
<span style="margin-left:35px">面试时间:{{item.b}} {{item.data}}</span> <span style="margin-left:35px">面试时间:{{ item.seeTime}}</span>
</p> </p>
</div> </div>
<div class="contentState"> <div class="contentState">
<p style="font-size:14px;"> <p style="font-size:14px;">
<span style="margin-left:20px" @click="modal4=true">当前状态</span> <span style="margin-left:20px" @click="modal4=true">当前状态</span>
<!-- <span style="float:right;margin:0 20px 0 10px;color:#2d8cf0" @click="UpdateStatus(item.status)">{{item.status}}</span> --> <!-- <span style="float:right;margin:0 20px 0 10px;color:#2d8cf0" @click="UpdateStatus(item.status)">{{item.status}}</span> -->
<span style="float:right;margin:0 20px 0 10px;color:#2d8cf0" v-if="item.status==1" @click="Stopinterview">终止面试</span> <span style="float:right;margin:0 20px 0 10px;color:#2d8cf0" v-if="item.flowStatus=='OPTION'" @click="Stopinterview">终止面试</span>
<span style="float:right;margin:0 20px 0 10px;color:#2d8cf0" v-if="item.status==2" @click="OPPeninterview">重启面试</span> <span style="float:right;margin:0 20px 0 10px;color:#2d8cf0" v-if="item.flowStatus=='TO_DO'" @click="OPPeninterview">重启面试</span>
</p> </p>
<p style="font-size:14px;margin-top:15px"> <p style="font-size:14px;margin-top:15px">
<span style="margin:0 20px 0 10px">面试结果待定</span> <span style="margin:0 20px 0 10px" v-if="item.flowStatus=='OPTION'">面试结果待定</span>
<select name="2" id="qq"> <select name="1" id="a" style="margin-left:20px" @change="selectFn2($event)">
<option value="1"></option> <option value="1">待处理</option>
<option value=""></option> <option value="2">Pass</option>
<option value="3">备选</option>
<option value="4">待邀约</option>
<option value="5" >已邀约</option>
<option value="6">邀约失败</option>
<option value="7">已面试</option>
<option value="8">未面试</option>
<option value="9">面试通过</option>
<option value="10">面试淘汰</option>
<option value="11">待Offer</option>
<option value="12">已发Offer</option>
<option value="13">待入职</option>
</select> </select>
<!-- <span style="float:right;margin:0 20px 0 10px;color:#2d8cf0">变更状态<br> <!-- <span style="float:right;margin:0 20px 0 10px;color:#2d8cf0">变更状态<br>
<Icon type="ios-arrow-down" style="margin-left:20px;color:#999999"/> <Icon type="ios-arrow-down" style="margin-left:20px;color:#999999"/>
...@@ -41,8 +53,8 @@ ...@@ -41,8 +53,8 @@
</div> </div>
<div class="contentRecord"> <div class="contentRecord">
<p style="color:#2d8cf0" @click="Recode">操作记录</p> <p style="color:#2d8cf0" @click="Recode">操作记录</p>
<p>最后操作人|李宁</p> <p>最后操作人|<span style="margin-left:8px">{{item.modifier}}</span></p>
<p>2019-07-02 12:07:33</p> <p>{{item.modifyTime}}</p>
</div> </div>
<div style="height:10px;width:100%;background:#F2F2F2;float:left"></div> <div style="height:10px;width:100%;background:#F2F2F2;float:left"></div>
</div> </div>
...@@ -80,7 +92,7 @@ ...@@ -80,7 +92,7 @@
<span v-for="(item,index) in state" :class="{'active':index==clickIndex2}" @click="clickIndex2 = index" :key="index"> {{item}}</span> <span v-for="(item,index) in state" :class="{'active':index==clickIndex2}" @click="clickIndex2 = index" :key="index"> {{item}}</span>
</FormItem> </FormItem>
</Form> </Form>
<button style="width:200px;margin-left:150px; border-radius: 5px;background:rgb(0, 146, 255);color:rgb(255,255,255);font-size:18px">搜索</button> <button style="width:200px;margin-left:150px; border-radius: 5px;background:rgb(0, 146, 255);color:rgb(255,255,255);font-size:18px" @click="SerchInvitation">搜索</button>
</div> </div>
<!-- 操作记录弹出框 --> <!-- 操作记录弹出框 -->
<Modal <Modal
...@@ -118,13 +130,13 @@ ...@@ -118,13 +130,13 @@
<h3 style="text-align:center">更改约面信息</h3> <h3 style="text-align:center">更改约面信息</h3>
<Form :label-width="80"> <Form :label-width="80">
<FormItem label="*邀约人" style="margin-top:20px"> <FormItem label="*邀约人" style="margin-top:20px">
<Input/> <Input v-model="UpdateOWER"/>
</FormItem> </FormItem>
<FormItem label="*面试时间" style="margin-top:20px"> <FormItem label="*面试时间" style="margin-top:20px">
<DatePicker type="datetime" style="width:185px"></DatePicker> <DatePicker type="datetime" style="width:185px" v-model="UpdateTIME"></DatePicker>
</FormItem> </FormItem>
<FormItem label="*面试官" style="margin-top:20px"> <FormItem label="*面试官" style="margin-top:20px">
<Input/> <Input v-model="UpdateVIEW"/>
</FormItem> </FormItem>
</Form> </Form>
<div slot='footer' style="text-align:center"> <div slot='footer' style="text-align:center">
...@@ -132,6 +144,30 @@ ...@@ -132,6 +144,30 @@
<Button type='primary' >确定</Button> <Button type='primary' >确定</Button>
</div> </div>
</Modal> </Modal>
<!-- 新增约面录入信息弹出框 -->
<Modal
v-model="modal5"
@on-ok="ok"
:closable="false"
width='300px'
@on-cancel="cancel">
<h3 style="text-align:center">录入约面信息</h3>
<Form :label-width="80">
<FormItem label="*邀约人" style="margin-top:20px">
<Input v-model="UpdateOWERNEW" placeholder="请输入邀约人全名"/>
</FormItem>
<FormItem label="*面试时间" style="margin-top:20px">
<DatePicker type="datetime" style="width:185px" v-model="UpdateTIMENEW"></DatePicker>
</FormItem>
<FormItem label="*面试官" style="margin-top:20px">
<Input v-model="UpdateVIEWNEW" placeholder="请输入面试官全名"/>
</FormItem>
</Form>
<div slot='footer' style="text-align:center">
<Button type='primary' @click='modal5=false'>取消</Button>
<Button type='primary' >确定</Button>
</div>
</Modal>
<!-- 终止面试弹出框 --> <!-- 终止面试弹出框 -->
<Modal <Modal
v-model="modal3" v-model="modal3"
...@@ -143,7 +179,7 @@ ...@@ -143,7 +179,7 @@
<p>终止面试流程后,仍可以重启流程,<br>是否确定终止该后选人的面试</p> <p>终止面试流程后,仍可以重启流程,<br>是否确定终止该后选人的面试</p>
<div slot='footer' style="text-align:center"> <div slot='footer' style="text-align:center">
<Button type='primary' @click='modal3=false'>取消</Button> <Button type='primary' @click='modal3=false'>取消</Button>
<Button type='primary' >确定</Button> <Button type='primary' @click="STOPinterview">确定</Button>
</div> </div>
</Modal> </Modal>
<!-- 重启面试弹出框 --> <!-- 重启面试弹出框 -->
...@@ -156,21 +192,21 @@ ...@@ -156,21 +192,21 @@
<h3 style="text-align:center">提示</h3> <h3 style="text-align:center">提示</h3>
<p style="text-align:center">结束流程时的简历状态为:待邀约,<br>请选择重启后的状态</p> <p style="text-align:center">结束流程时的简历状态为:待邀约,<br>请选择重启后的状态</p>
<div style="text-align:center;margin-top:15px;"> <div style="text-align:center;margin-top:15px;">
<select name="" id="" placeholder="待邀约"> <select name="a" id="333333" @change="selectFn($event)" style="text-align:center;margin-top:15px;display:inline-block">
<option value="1">待处理</option> <option value="1">待处理</option>
<option value="2">Pass</option> <option value="2">Pass</option>
<option value="3">备选</option> <option value="3">备选</option>
<option value="4">待邀约</option> <option value="4">待邀约</option>
<option value="5">已邀约</option> <option value="5" >已邀约</option>
<option value="6">邀约失败</option> <option value="6">邀约失败</option>
<option value="7">已面试</option> <option value="7">已面试</option>
<option value="8">未面试</option> <option value="8">未面试</option>
<option value="9">面试通过</option> <option value="9">面试通过</option>
<option value="10">面试淘汰</option> <option value="10">面试淘汰</option>
<option value="11">待Offer</option> <option value="11">待Offer</option>
<option value="12">已发Offer</option> <option value="12">已发Offer</option>
<option value="13">待入职</option> <option value="13">待入职</option>
</select> </select>
</div> </div>
<div slot='footer' style="text-align:center"> <div slot='footer' style="text-align:center">
<Button type='primary' @click='modal4=false'>取消</Button> <Button type='primary' @click='modal4=false'>取消</Button>
...@@ -180,6 +216,7 @@ ...@@ -180,6 +216,7 @@
</div> </div>
</template> </template>
<script> <script>
import {changeinterviewMassage,SerchList,Serchinterviewor,SerchInvitationOwer,NewAddInterview,SInterview,oppenInterview} from '../../api/interview.server.js'
export default { export default {
data(){ data(){
return{ return{
...@@ -187,62 +224,24 @@ export default { ...@@ -187,62 +224,24 @@ export default {
modal2:false, modal2:false,
modal3:false, modal3:false,
modal4:false, modal4:false,
modal5:false,
clickIndex1: 0, clickIndex1: 0,
clickIndex2: 0, clickIndex2: 0,
clickIndex3: 0, clickIndex3: 0,
UpdateOWER:'',
UpdateTIME:'',
UpdateVIEW:'',
UpdateOWERNEW:'',
UpdateTIMENEW:'',
UpdateVIEWNEW:'',
pageIndex:'',
pageSize:"30",
Education:['不限','专科以下','专科及以上','本科及以上','硕士及以上','博士及以上','985/211'], Education:['不限','专科以下','专科及以上','本科及以上','硕士及以上','博士及以上','985/211'],
state:['不限','准备约面','已邀约','邀约失败','面试淘汰','待Offer','待入职','已入职','未入职','终止面试'], state:['不限','准备约面','已邀约','邀约失败','面试淘汰','待Offer','待入职','已入职','未入职','终止面试'],
activeName:'', activeName:'',
Essentialinformation:[ Essentialinformation:[],
{ serchData:[],
id:'1', serchData2:[]
name: '李宁',
phone: '12345678998',
Invitation:'张三',
Interviewer:'李四',
age:'33岁',
status:'1',
sex:'',
work:'10年',
a:'java工程师',
b:'2019-09-02',
data:'13:09:09',
qudao:'boss直聘',
email:'445151511516516@quiwhu.cn'
},
{
id:'2',
name: '李宁',
phone: '12345678998',
age:'33岁',
sex:'',
Invitation:'张三',
Interviewer:'李四',
work:'10年',
a:'java工程师',
status:'2',
b:'2019-09-02',
data:'13:09:09',
qudao:'boss直聘',
email:'445151511516516@quiwhu.cn'
},
{
id:'2',
name: '李宁',
phone: '12345678998',
age:'33岁',
sex:'',
Invitation:'张三',
Interviewer:'李四',
work:'10年',
a:'java工程师',
status:'2',
b:'2019-09-02',
data:'13:09:09',
qudao:'boss直聘',
email:'445151511516516@quiwhu.cn'
}
]
} }
}, },
methods: { methods: {
...@@ -252,45 +251,156 @@ export default { ...@@ -252,45 +251,156 @@ export default {
cancel () { cancel () {
this.$Message.info('Clicked cancel'); this.$Message.info('Clicked cancel');
}, },
//操作记录 // 变更状态
Recode(){ selectFn2(e) {
this.modal1=true if(e.target.value==5){
}, this.modal5=true
//更改面试信息弹出框 }
updateInterview(){ },
this.modal2=true //操作记录
}, Recode(){
//准备约面取消 this.modal1=true
StopInterview(){ },
this.status=status //更改面试信息弹出框
this.modal2=false updateInterview(InterOWOR,InterTime,InterVIEW){
}, this.UpdateOWER=InterOWOR,
//终止面试弹出框 this.UpdateTIME=InterTime,
Stopinterview(){ this.UpdateVIEW=InterVIEW,
this.modal3=true this.modal2=true
}, },
//重启面试 //准备约面取消
OPPeninterview(){ StopInterview(){
this.modal4=true this.status=status
}, this.modal2=false
//操作状态 },
UpdateStatus(LLL){ //终止面试弹出框
let STATUS=LLL; Stopinterview(){
if(this.STATUS=='终止面试'){
console.log(this.STATUS)
this.modal3=true this.modal3=true
} },
if(this.STATUS=='重启面试'){ //重启面试
this.modal4=true OPPeninterview(){
} this.modal4=true
},
//操作状态
UpdateStatus(LLL){
let STATUS=LLL;
if(this.STATUS=='终止面试'){
console.log(this.STATUS)
this.modal3=true
}
if(this.STATUS=='重启面试'){
this.modal4=true
}
},
// 更改约面信息
changeUpdate(){
let parmars={
id:'',
inviterName:'',
seeTime:'',
interviewerName:''
}
changeinterviewMassage(parmars).then(res=>{
if(res.data.success==true){
this.modal2=false;
} }
})
},
// 查询面试信息
serchListInterview() {
let parmars={
pageSize:this.pageSize,
pageIndex:this.pageIndex,
parameter:{
// keywordString:'',
// highestDegreeNum:'',
// // flowStatusList:'',
// interviewerName:'',
// inviterName:'',
// highSchoolFlag:'',
}
}
SerchList(parmars).then(res=>{
if(res.data.success==true){
this.Essentialinformation=res.data.body.items.map((item,index)=>{
item.id=item.id
item.flowStatus=item.flowStatus
item.interviewerName= item.interviewerName
item.inviterName=item.inviterName
item.modifier=item.modifier
item.modifyTime=item.modifyTime
item.ownerExpectTitles=item.ownerExpectTitles
item.ownerMobile=item.ownerMobile
item.ownerName=item.ownerName
item.seeTime=item.seeTime
return item
})
}
})
},
// 面试官查询
Serchlistinterview(){
Serchinterviewor().then(res=>{
console.log(res)
if(res.data.success==true){
this.serchData=res.data.body.map((item,index)=>{
// item.ower=item[0]
})
this.$Message.success('查询成功')
}
})
},
// 邀约人查询
SerchInvitation(){
SerchInvitationOwer().then(res=>{
if(res.data.success==true){
this.serchData2=res.data.body.map((item,index)=>{
// item.ower=item[0]
})
}
})
},
//新增约面信息
newaddInterview(){
let parmars={
resumeId:this.UpdateOWERNEW,
inviterName:this.UpdateTIMENEW,
interviewerName:this.UpdateVIEWNEW,
seeTime:this.UpdateTIMENEW
}
NewAddInterview(parmars).then(res=>{
if(res.data.success==true){
this.$Message.success('新增约面信息成功')
}
})
},
// 终止面试
STOPinterview(){
SInterview().then(res=>{
if(res.data.success==true){
this.$Message.success('已终止面试')
this.modal3=false
}
})
},
//重启面试
OPPinterview(){
oppenInterview().then(res=>{
if(res.data.success==true){
this.$Message.success('重启流程成功')
this.modal4=false
}
})
},
}, },
mounted(){ mounted(){
this.serchListInterview()
} }
} }
</script> </script>
......
...@@ -70,9 +70,13 @@ export default { ...@@ -70,9 +70,13 @@ export default {
userCode:this.formInline.user, userCode:this.formInline.user,
password:this.formInline.password password:this.formInline.password
} }
// if(this.formInline.password=='123456'){
// this.$router.push({name:'updatePsd'})
// return
// }
login(params).then(res=>{ login(params).then(res=>{
console.log(res) console.log(res)
if(res.data!==''){ if(res.data.success==true){
this.$router.push({name:"allResume"}) this.$router.push({name:"allResume"})
} }
}) })
......
...@@ -13,14 +13,12 @@ ...@@ -13,14 +13,12 @@
<div class="login_content"> <div class="login_content">
<Form ref="formInline" :model="formInline" :rules="ruleInline" > <Form ref="formInline" :model="formInline" :rules="ruleInline" >
<FormItem prop="user"> <FormItem prop="user">
<Input type="text" v-model="formInline.user" placeholder="Username" class="wordStyle"> <Input type="text" v-model="formInline.user" placeholder="Username" class="wordStyle"/>
<Icon type="ios-person-outline" slot="prepend"></Icon> <Icon type="ios-person-outline" slot="prepend"></Icon>
</Input>
</FormItem> </FormItem>
<FormItem prop="password"> <FormItem prop="password">
<Input type="password" v-model="formInline.password" placeholder="Password" class="wordStyle"> <Input type="password" v-model="formInline.password" placeholder="Password" class="wordStyle"/>
<Icon type="ios-lock-outline" slot="prepend"></Icon> <Icon type="ios-lock-outline" slot="prepend"></Icon>
</Input>
</FormItem> </FormItem>
<FormItem> <FormItem>
<button style="width:440px;margin-left:30px; border-radius: 5px;background:rgb(0, 146, 255);color:rgb(255,255,255)">登录</button> <button style="width:440px;margin-left:30px; border-radius: 5px;background:rgb(0, 146, 255);color:rgb(255,255,255)">登录</button>
......
...@@ -90,14 +90,16 @@ ...@@ -90,14 +90,16 @@
<span style="margin-right:30px;margin-top:5px" v-else-if="item.flowStatus=='TO_SENT_OFFER'"><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已发Offer</span></span> <span style="margin-right:30px;margin-top:5px" v-else-if="item.flowStatus=='TO_SENT_OFFER'"><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已发Offer</span></span>
<span style="margin-right:30px;margin-top:5px" v-else-if="item.flowStatus=='TO_ENTRY('"><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=='TO_ENTRY('"><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_ENTRY'"><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_ENTRY'"><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">已入职</span></span>
<select name="1" id="a" style="margin-right:20px;margin-top:5px" @change="selectFn($event)" v-else-if="item.status=='TO_DO'"> <select name="1" id="a" style="margin-right:20px;margin-top:5px" @change="selectFn($event)" v-else-if="item.flowStatus=='TO_DO'">
<option value="1">待处理</option> <option value="1">待处理</option>
<option value="2">pass</option> <option value="2">pass</option>
<option value="3">准备约面</option> <option value="3">准备约面</option>
<option value="4">备选</option> <option value="4">备选</option>
</select> </select>
<p style="font-size:18px;margin:5px 35px 0 0"><span><Icon type="md-download" /></span> <p style="font-size:18px;margin:5px 35px 0 0">
<span ><Icon type="md-trash" /></span></p> <span><Icon type="md-download" @click="downLoad(item.id)"/></span>
<span ><Icon type="md-trash" /></span>
</p>
</div> </div>
<div style="width:190px;float:left;height:60px;margin-left:40px"> <div style="width:190px;float:left;height:60px;margin-left:40px">
<span style="margin:10px 0 0 10px;display:inline-block">最后操作人 |</span><span style="margin-left:13px">{{item.modifier}}</span><br> <span style="margin:10px 0 0 10px;display:inline-block">最后操作人 |</span><span style="margin-left:13px">{{item.modifier}}</span><br>
...@@ -163,7 +165,7 @@ ...@@ -163,7 +165,7 @@
</div> </div>
</template> </template>
<script> <script>
import { serchList} from '../../api/resume.server.js' import { serchList,downloadone} from '../../api/resume.server.js'
export default { export default {
data () { data () {
return { return {
...@@ -229,6 +231,7 @@ import { serchList} from '../../api/resume.server.js' ...@@ -229,6 +231,7 @@ import { serchList} from '../../api/resume.server.js'
this.modal2=true this.modal2=true
} }
}, },
// ***************************************** // *****************************************
ok () { ok () {
this.$Message.info('Clicked ok'); this.$Message.info('Clicked ok');
...@@ -247,7 +250,7 @@ import { serchList} from '../../api/resume.server.js' ...@@ -247,7 +250,7 @@ import { serchList} from '../../api/resume.server.js'
console.log(res) console.log(res)
if(res.data.success==true){ if(res.data.success==true){
console.log(res.data.body.items) console.log(res.data.body.items)
this.ajaxData=res.items.map((item,index)=>{ this.ajaxData=res.data.body.items.map((item,index)=>{
item.ownerName=item.ownerName item.ownerName=item.ownerName
item.ownerSex=item.ownerSex item.ownerSex=item.ownerSex
item.belongs=item.belongs item.belongs=item.belongs
...@@ -283,6 +286,17 @@ import { serchList} from '../../api/resume.server.js' ...@@ -283,6 +286,17 @@ import { serchList} from '../../api/resume.server.js'
this.clickIndex3=Tindex this.clickIndex3=Tindex
console.log(Item) console.log(Item)
}, },
//下载单条简历
downLoad(ID){
let parmars={
resumeId:ID
}
downloadone(parmars).then(res=>{
if(res.data.success=true){
this.$Message.success('下载成功')
}
})
},
}, },
mounted(){ mounted(){
this.SearchList() this.SearchList()
......
...@@ -139,12 +139,12 @@ export default { ...@@ -139,12 +139,12 @@ export default {
return return
} }
addAccount(parmars).then(res=>{ addAccount(parmars).then(res=>{
// if(res.data.success==true){ if(res.data.success==true){
this.$Message.success('添加成功') this.$Message.success('添加成功')
this.SearchList() this.SearchList()
this.formInline.PhoneNumber='' this.formInline.PhoneNumber=''
this.formInline.PerName='' this.formInline.PerName=''
// } }
}) })
} , } ,
...@@ -156,7 +156,7 @@ export default { ...@@ -156,7 +156,7 @@ export default {
} }
queryaccountList(parmars).then(res=>{ queryaccountList(parmars).then(res=>{
console.log(res) console.log(res)
if(res.data!==''){ if(res.data.success==true){
// console.log(res.data.body.items) // console.log(res.data.body.items)
this.ajaxData=res.data.body.items.map((item,index)=>{ this.ajaxData=res.data.body.items.map((item,index)=>{
item.id=item.id item.id=item.id
...@@ -181,9 +181,10 @@ export default { ...@@ -181,9 +181,10 @@ export default {
id:this.I id:this.I
} }
Delateaccount(parmars).then(res=>{ Delateaccount(parmars).then(res=>{
// if(res.data.success==true){ if(res.data.success==true){
// this.SearchList() this.modal2=false
// } this.SearchList()
}
this.SearchList() this.SearchList()
}) })
}, },
......
...@@ -2,7 +2,7 @@ import Vue from 'vue'; ...@@ -2,7 +2,7 @@ import Vue from 'vue';
import Router from 'vue-router'; import Router from 'vue-router';
const home = r => require.ensure([], () => r(require('@/components/home.vue')), 'home'); const home = r => require.ensure([], () => r(require('@/components/home.vue')), 'home');
// const login = r => require.ensure([], () => r(require('@/components/login.vue')), 'login'); // const changepsd = r => require.ensure([], () => r(require('@/components/changepsd.vue')), 'changepsd');
const login = r => require.ensure([], () => r(require('@/page/login/login.vue')), 'login'); const login = r => require.ensure([], () => r(require('@/page/login/login.vue')), 'login');
const interview = r => require.ensure([], () => r(require('@/page/interview/interview.vue')), 'interview'); const interview = r => require.ensure([], () => r(require('@/page/interview/interview.vue')), 'interview');
const allResume = r => require.ensure([], () => r(require('@/page/resume/allResume.vue')), 'allResume'); const allResume = r => require.ensure([], () => r(require('@/page/resume/allResume.vue')), 'allResume');
...@@ -10,7 +10,7 @@ const account = r => require.ensure([], () => r(require('@/page/system/account.v ...@@ -10,7 +10,7 @@ const account = r => require.ensure([], () => r(require('@/page/system/account.v
const emailMange = r => require.ensure([], () => r(require('@/page/system/emailMange.vue')), 'emailMange'); const emailMange = r => require.ensure([], () => r(require('@/page/system/emailMange.vue')), 'emailMange');
const QRcode = r => require.ensure([], () => r(require('@/page/system/QRcode.vue')), 'QRcode'); const QRcode = r => require.ensure([], () => r(require('@/page/system/QRcode.vue')), 'QRcode');
const upload = r => require.ensure([], () => r(require('@/page/upload/upload.vue')), 'upload'); const upload = r => require.ensure([], () => r(require('@/page/upload/upload.vue')), 'upload');
const text = r => require.ensure([], () => r(require('@/page/login/text.vue')), 'text');
...@@ -26,11 +26,13 @@ export default new Router({ ...@@ -26,11 +26,13 @@ export default new Router({
path: '/login', path: '/login',
name: 'login', name: 'login',
component: login, component: login,
},{ },
path: '/text', // {
name: 'text', // path: '/changepsd',
component: text // name: 'changepsd',
},{ // component: changepsd
// },
{
path: '/home', path: '/home',
name: 'home', name: 'home',
component: home, component: home,
......
import axios from 'axios' import axios from 'axios'
import Promise from './promise.service.js' // import Promise from './promise.service.js'
import {Notice} from 'iview' // import {Notice} from 'iview'
import Vue from 'vue' // import Vue from 'vue'
var instance = axios.create({}); // var instance = axios.create({});
instance.defaults.timeout = 2500; // instance.defaults.timeout = 2500;
//instance.defaults.headers.common['Authorization'] = AUTH_TOKEN; // //instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;
instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; // instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
instance.defaults.headers['X-Requested-With'] = 'XMLHttpRequest' // instance.defaults.headers['X-Requested-With'] = 'XMLHttpRequest'
instance.defaults.headers['X-auth-Token'] = 'XMLHttpRequest' // instance.defaults.headers['X-auth-Token'] = 'XMLHttpRequest'
instance.interceptors.request.use(function (config) { // instance.interceptors.request.use(function (config) {
// 在发送请求之前做些什么 // // 在发送请求之前做些什么
if (!config.headers['Content-Type']) { // if (!config.headers['Content-Type']) {
config.headers['Content-Type'] = 'application/x-www-form-urlencoded' // config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
} // }
return config; // return config;
}, function (error) { // }, function (error) {
// 对请求错误做些什么 // // 对请求错误做些什么
return Promise.reject(error); // return Promise.reject(error);
}); // });
instance.interceptors.response.use(function (response) { // instance.interceptors.response.use(function (response) {
// 在发送请求之前做些什么 // // 在发送请求之前做些什么
if(response.status >= 200 && response.status < 300){ // if(response.status >= 200 && response.status < 300){
if(response.data.success){ // if(response.data.success){
return Promise.resolve(response.data.body) // return Promise.resolve(response.data.body)
} else { // } else {
if (response.data.body.message){ // if (response.data.body.message){
Notice.error({desc:`${response.data.body.message}`}) // Notice.error({desc:`${response.data.body.message}`})
} // }
return Promise.reject(response.data); // return Promise.reject(response.data);
} // }
} else { // } else {
return Promise.reject(response.data); // return Promise.reject(response.data);
} // }
if (resopnse.status == 403 || resopnse.status == 401){ // if (resopnse.status == 403 || resopnse.status == 401){
if (response.data.body.message){ // if (response.data.body.message){
Notice.error({desc:`${response.data.body.messag}`}) // Notice.error({desc:`${response.data.body.messag}`})
} // }
window.location.replace = `${window.location.origin}/login` // window.location.replace = `${window.location.origin}/login`
} // }
return response; // return response;
}, error => { // }, error => {
console.log(error) // console.log(error)
}); // });
export default instance // export default instance
// export default axios export default axios
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