Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
recruiting-management
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ui
recruiting-management
Commits
9ec6bf64
Commit
9ec6bf64
authored
Sep 27, 2019
by
FE-安焕焕
👣
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'copy' into 'master'
隐藏转发面试官按钮 See merge request
!6
parents
95e44856
a9f66e81
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
277 additions
and
139 deletions
+277
-139
interview.server.js
src/api/interview.server.js
+1
-1
resume.server.js
src/api/resume.server.js
+1
-1
upload.server.js
src/api/upload.server.js
+1
-1
home.vue
src/components/home.vue
+1
-1
interview.vue
src/page/interview/interview.vue
+23
-10
allResume.vue
src/page/resume/allResume.vue
+90
-44
channel.vue
src/page/resume/channel.vue
+84
-43
resumeDetail.vue
src/page/resume/resumeDetail.vue
+64
-27
account.vue
src/page/system/account.vue
+5
-6
upload.vue
src/page/upload/upload.vue
+4
-3
http.service.js
src/service/http.service.js
+3
-2
No files found.
src/api/interview.server.js
View file @
9ec6bf64
...
...
@@ -32,7 +32,7 @@ export function SerchList(parmars, status) {
}
//查看简历详情页
export
function
seedetail
(
parmars
)
{
return
axios
.
get
(
`
${
sapi
}
/api/html/get/
${
parmars
.
resumeI
d
}
`
,{
headers
:
{
return
axios
.
get
(
`
${
sapi
}
/api/html/get/
${
parmars
.
ui
d
}
`
,{
headers
:
{
'
Content-Type
'
:
'
application/json
'
}})
}
...
...
src/api/resume.server.js
View file @
9ec6bf64
...
...
@@ -25,7 +25,7 @@ export function sousuoList (parmars, status) {
}
//查看简历详情页
export
function
seedetail
(
parmars
)
{
return
axios
.
get
(
`
${
sapi
}
/api/html/get/
${
parmars
.
resumeId
}
?token=
${
parmars
.
token
}
`
,{
headers
:
{
return
axios
.
get
(
`
${
sapi
}
/api/html/get/
${
parmars
.
uid
}
`
,{
headers
:
{
'
Content-Type
'
:
'
application/json
'
}})
}
...
...
src/api/upload.server.js
View file @
9ec6bf64
...
...
@@ -27,7 +27,7 @@ export function serchList(parmars) {
}
// 查询简历详情
export
function
serchRESUMEdetail
(
parmars
)
{
return
axios
.
get
(
`
${
sapi
}
/api/html/get/
${
parmars
.
resumeI
d
}
`
,{
headers
:
{
return
axios
.
get
(
`
${
sapi
}
/api/html/get/
${
parmars
.
ui
d
}
`
,{
headers
:
{
'
Content-Type
'
:
'
application/json
'
,
}})
}
...
...
src/components/home.vue
View file @
9ec6bf64
...
...
@@ -2,7 +2,7 @@
<Row
id=
"home"
class=
"home"
>
<loading
v-show=
'showLoading'
></loading>
<Col
span=
"3"
class=
"aside"
style=
"width:17%;height:100%;overflow: auto;"
>
<img
src=
"https://o7oe0d6qz.qnssl.com/image/homelogo.png"
alt=
""
style=
"height:
6
0px"
>
<img
src=
"https://o7oe0d6qz.qnssl.com/image/homelogo.png"
alt=
""
style=
"height:
7
0px"
>
<Menu
style=
"width: 100%;"
ref=
'subMenu'
:active-name=
"levelThreeName"
:open-names=
"levelTwoName"
@
on-select=
"go"
>
<template
v-for=
"(menu) in childMenu"
>
<Submenu
:name=
"menu.name"
:key=
"menu.name"
v-show=
'!(isAdmin==false&&menu.item=="账户管理")'
>
...
...
src/page/interview/interview.vue
View file @
9ec6bf64
...
...
@@ -12,9 +12,9 @@
<div
class=
"leftcontentContent"
v-for=
"(item,index) in Essentialinformation "
:key=
'index'
>
<div
class=
"contentMassage"
>
<p
style=
"margin-top:7px"
>
<span
style=
"margin-left:10px;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;display:inline-block;cursor:pointer"
@
click=
"Seedetail(item.id)"
>
{{
item
.
ownerName
}}
|
</span>
<span
@
click=
"Seedetail(item.id)"
style=
"overflow: hidden;text-overflow:ellipsis;white-space: nowrap;display:inline-block;cursor:pointer"
>
{{
item
.
ownerMobile
}}
|
</span>
<span
@
click=
"Seedetail(item.id)"
style=
"overflow: hidden;text-overflow:ellipsis;white-space: nowrap;display:inline-block;width:20%;cursor:pointer"
>
{{
item
.
ownerExpectTitles
}}
</span>
<span
style=
"margin-left:10px;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;display:inline-block;cursor:pointer"
@
click=
"Seedetail(item.id
, item.uid
)"
>
{{
item
.
ownerName
}}
|
</span>
<span
@
click=
"Seedetail(item.id
, item.uid
)"
style=
"overflow: hidden;text-overflow:ellipsis;white-space: nowrap;display:inline-block;cursor:pointer"
>
{{
item
.
ownerMobile
}}
|
</span>
<span
@
click=
"Seedetail(item.id
, item.uid
)"
style=
"overflow: hidden;text-overflow:ellipsis;white-space: nowrap;display:inline-block;width:20%;cursor:pointer"
>
{{
item
.
ownerExpectTitles
}}
</span>
<span
style=
"color:#2d8cf0;float:right;margin-right:35px;cursor:pointer"
@
click=
"updateInterview(item.id,item.interviewerName,item.seeTime,item.inviterName)"
>
更改约面信息
</span>
</p>
<p
style=
"margin-top:8px;color:Grey"
>
...
...
@@ -264,6 +264,7 @@ export default {
spinShow
:
true
,
Ishow
:[],
aaaaa
:
''
,
detailID
:
''
,
nowstate
:[{
value
:
'
已邀约
'
,
label
:
'
已邀约
'
},{
value
:
'
邀约失败
'
,
label
:
'
邀约失败
'
},{
value
:
'
面试淘汰
'
,
label
:
'
面试淘汰
'
},{
value
:
'
待offer
'
,
label
:
'
待offer
'
},{
value
:
'
已发offer
'
,
label
:
'
已发offer
'
},{
value
:
'
待入职
'
,
label
:
'
待入职
'
},{
value
:
'
未入职
'
,
label
:
'
未入职
'
},{
value
:
'
已入职
'
,
label
:
'
已入职
'
},],
keywords
:
''
,
recordList
:[],
...
...
@@ -291,6 +292,7 @@ export default {
UpdateTIMENEW
:
''
,
UpdateVIEWNEW
:
''
,
highestDegreeNum
:
''
,
emailName
:
''
,
flowStatusList
:[],
inviterName
:
''
,
//邀约人
interviewerName
:
''
,
//面试官
...
...
@@ -393,7 +395,8 @@ export default {
resumeId
:
this
.
UpdateID
,
inviterName
:
this
.
formInline
.
UpdateOWER
,
seeTime
:
moment
(
this
.
formInline
.
UpdateTIME
).
format
(
'
YYYY-MM-DD HH:mm
'
),
interviewerName
:
this
.
formInline
.
UpdateVIEW
interviewerName
:
this
.
formInline
.
UpdateVIEW
,
email
:
this
.
emailName
}
if
(
this
.
formInline
.
UpdateOWER
==
''
||
this
.
formInline
.
UpdateTIME
==
""
||
this
.
formInline
.
UpdateVIEW
==
''
){
this
.
$Notice
.
error
({
...
...
@@ -445,6 +448,7 @@ export default {
item
.
ownerMobile
=
item
.
ownerMobile
item
.
ownerName
=
item
.
ownerName
item
.
seeTime
=
item
.
seeTime
item
.
uid
=
item
.
uid
return
item
})
}
...
...
@@ -634,12 +638,13 @@ export default {
this
.
searchInfo
.
STA
.
remove
(
tItem
)
}
},
Seedetail
(
Tid
){
this
.
DOWNID
=
Tid
Seedetail
(
Tid
,
Uid
){
this
.
DOWNID
=
Uid
this
.
detailID
=
Tid
let
newpage
=
this
.
$router
.
resolve
({
name
:
'
resumeDetail
'
,
params
:{},
query
:{
id
:
this
.
DOWNID
,
noShowBtn
:
''
}
query
:{
id
:
this
.
DOWNID
,
noShowBtn
:
''
,
ID
:
this
.
detailID
}
})
window
.
open
(
newpage
.
href
,
'
_blank
'
);
},
...
...
@@ -677,6 +682,7 @@ export default {
item
.
ownerMobile
=
item
.
ownerMobile
item
.
ownerName
=
item
.
ownerName
item
.
seeTime
=
item
.
seeTime
item
.
uid
=
item
.
uid
return
item
})
}
...
...
@@ -719,11 +725,18 @@ export default {
let
list
=
[]
query
=
query
.
split
(
'
(
'
)[
0
]
findCompanyEmailByKey
(
query
).
then
(
res
=>
{
list
=
res
this
.
options
=
list
.
data
.
body
if
(
res
.
data
.
success
==
true
){
list
=
res
this
.
options
=
list
.
data
.
body
||
[]
this
.
options
.
map
(
item
=>
{
this
.
emailName
=
item
.
email
})
}
else
{
this
.
options
=
[]
}
// this.options.push({name: '不限', email: ''})
})
},
5
00
);
},
2
00
);
}
else
{
this
.
options
=
[];
}
...
...
src/page/resume/allResume.vue
View file @
9ec6bf64
This diff is collapsed.
Click to expand it.
src/page/resume/channel.vue
View file @
9ec6bf64
This diff is collapsed.
Click to expand it.
src/page/resume/resumeDetail.vue
View file @
9ec6bf64
...
...
@@ -8,25 +8,38 @@
<span
style=
"margin-left:7px;font-size:16px;color:#0092FF"
>
基本信息
</span>
<span
style=
"float:right;width:50px;height:24px;margin-right:5px"
><Button
type=
"primary"
size=
'small'
style=
"width:50px;height:24px"
@
click=
"downloadONE(detialID)"
v-show=
"this.showBtn!=1"
>
下载
</Button></span>
</p>
<div
class=
"personalInformation-left"
>
<p
style=
"margin-top:20px"
@
click=
"a"
>
姓名:
{{
resume
&&
resume
.
ownerName
}}
</p>
<p>
联系电话:
{{
resume
&&
resume
.
ownerMobile
}}
</p>
<p>
电子邮箱:
{{
resume
&&
resume
.
email
}}
</p>
<p>
所在地:
{{
resume
&&
resume
.
locationCity
}}
</p>
<p>
求职状态:
{{
resume
&&
resume
.
statusMessage
}}
</p>
<p>
期望行业:
{{
resume
&&
resume
.
industries
}}
</p>
<p>
期望职位:
{{
resume
&&
resume
.
expectTitles
}}
</p>
</div>
<div
class=
"personalInformation-right"
>
<p
style=
"margin-top:20px"
>
年龄:
{{
resume
&&
resume
.
ownerAge
}}
岁
</p>
<p>
职位:
{{
resume
&&
resume
.
ownerExpectTitles
}}
</p>
<p>
学历:
{{
resume
&&
resume
.
ownerHighestDegree
}}
</p>
<p>
经验:
{{
resume
&&
resume
.
workYearsOriginal
}}
年
</p>
<p
style=
"margin-top:30px"
>
期望薪资:
{{
resume
&&
resume
.
expectSalary
}}
</p>
<p>
期望地区:
{{
resume
&&
resume
.
city
}}
</p>
</div>
<div
class=
"massageTitle"
>
<p>
<span
class=
"bassMassage"
>
姓名:
{{
resume
&&
resume
.
ownerName
}}
</span>
<span
class=
"bassMassageRight"
>
年龄:
{{
resume
&&
resume
.
ownerAge
}}
岁
</span>
</p>
<p>
<span
class=
"bassMassage"
>
联系电话:
{{
resume
&&
resume
.
ownerMobile
}}
</span>
<span
class=
"bassMassageRight"
>
职位:
{{
resume
&&
resume
.
ownerExpectTitles
}}
</span>
</p>
<p>
<span
class=
"bassMassage"
>
电子邮箱:
{{
resume
&&
resume
.
email
}}
</span>
<span
class=
"bassMassageRight"
>
学历:
{{
resume
&&
resume
.
ownerHighestDegree
}}
</span>
</p>
<p>
<span
class=
"bassMassage"
>
所在地:
{{
resume
&&
resume
.
locationCity
}}
</span>
<span
class=
"bassMassageRight"
>
经验:
{{
resume
&&
resume
.
workYearsOriginal
}}
年
</span>
</p>
<p>
<span
class=
"bassMassage"
>
求职状态:
{{
resume
&&
resume
.
statusMessage
}}
</span>
<span
class=
"bassMassageRight"
></span>
</p>
<p>
<span
class=
"bassMassage"
>
期望行业:
{{
resume
&&
resume
.
industries
}}
</span>
<span
class=
"bassMassageRight"
>
期望薪资:
{{
resume
&&
resume
.
expectSalary
}}
</span>
</p>
<p
>
<span
class=
"bassMassage"
>
期望职位:
{{
resume
&&
resume
.
expectTitles
}}
</span>
<span
class=
"bassMassageRight"
>
期望地区:
{{
resume
&&
resume
.
city
}}
</span>
</p>
</div>
</div>
<div
class=
"workExperience"
v-show=
"roList.length !==0 "
style=
"margin-top:30px"
>
<div
class=
"workExperience"
v-show=
"roList.length !==0 "
>
<p
class=
"detailTitel"
>
<span>
<img
src=
"https://o7oe0d6qz.qnssl.com/image/icon_%E5%B7%A5%E4%BD%9C%E7%BB%8F%E5%8E%86_20_18px.png"
style=
"height:16px;width:23px;vertical-align: middle;margin-top:-4px"
>
...
...
@@ -143,12 +156,11 @@ export default {
},
methods
:
{
getDETAIL
(){
this
.
detialID
=
this
.
$route
.
query
.
id
this
.
detialID
=
this
.
$route
.
query
.
ID
this
.
showBtn
=
this
.
$route
.
query
.
noShowBtn
let
token
=
this
.
$route
.
query
.
token
||
''
let
parmars
=
{
resumeId
:
this
.
$route
.
query
.
id
,
token
uid
:
this
.
$route
.
query
.
id
}
seedetail
(
parmars
).
then
(
res
=>
{
this
.
resume
=
res
.
data
.
body
.
resume
...
...
@@ -175,10 +187,33 @@ export default {
.resumeDetail
{
width
:
860px
;
margin
:
30px
auto
;
color
:
#000000
;
font-family
:
"\5FAE\8F6F\96C5\9ED1"
}
.personalInformation
{
width
:
860px
;
height
:
300px
;
/* height: 600px; */
float
:
left
;
/* border: 1px solid black */
}
.bassMassage
{
display
:
inline-block
;
width
:
322px
;
float
:
left
;
margin-left
:
30px
;
font-size
:
14px
;
margin-top
:
20px
}
.bassMassageRight
{
display
:
inline-block
;
width
:
322px
;
float
:
left
;
font-size
:
14px
;
margin-top
:
20px
;
margin-left
:
20px
}
.massageTitle
{
/* height: 300px; */
float
:
left
;
}
.personalInformation-left
{
...
...
@@ -202,7 +237,8 @@ export default {
}
.workExperience
{
width
:
860px
;
float
:
left
;
float
:
left
;
margin-top
:
10px
}
.workExperience-detail
{
width
:
860px
;
...
...
@@ -285,18 +321,19 @@ export default {
float
:
left
;
}
.evaluation-content
{
width
:
72
0px
;
width
:
69
0px
;
margin-left
:
30px
;
float
:
left
;
margin-top
:
3
0px
;
margin-top
:
2
0px
;
line-height
:
30px
;
margin-bottom
:
2
0px
margin-bottom
:
4
0px
}
.detailTitel
{
width
:
860px
;
height
:
24px
;
float
:
left
;
margin-top
:
20px
margin-top
:
20px
;
/* border: 1px solid red */
}
</
style
>
src/page/system/account.vue
View file @
9ec6bf64
<
template
>
<div
class=
"account"
>
<div
class=
"addAcount"
>
<p
style=
"margin-top:
10px
"
>
<p
style=
"margin-top:
0.5%
"
>
<span
style=
"font-size:18px;color:#2d8cf0;margin-left:18px;"
>
新增账户
</span>
<span
style=
"margin-left:10px;color:Grey"
>
以下内容均为必填项
</span>
</p>
<Form
:label-width=
"130"
:model=
"formInline"
:rules=
"ruleInline"
>
<FormItem
label=
"配置登录账号:"
style=
"margin-top:
20px
"
prop=
"PhoneNumber"
>
<FormItem
label=
"配置登录账号:"
style=
"margin-top:
1%
"
prop=
"PhoneNumber"
>
<Input
placeholder=
"请输入正确的手机号"
style=
"width:300px"
v-model=
"formInline.PhoneNumber"
/>
</FormItem>
<FormItem
label=
"绑定真实姓名:"
style=
"margin-top:
20px
"
prop=
"PerName"
>
<FormItem
label=
"绑定真实姓名:"
style=
"margin-top:
1%
"
prop=
"PerName"
>
<Input
placeholder=
"请输入真实姓名"
style=
"width:300px"
v-model=
"formInline.PerName"
:maxlength=
"5"
/>
</FormItem>
</Form>
...
...
@@ -25,7 +25,6 @@
<span
style=
"font-size:18px;color:#2d8cf0;margin-left:18px"
>
账户管理
</span>
<span
style=
"margin-left:10px;color:Grey"
>
删除后该用户将无法登录,该账户上传的简历仍然保留。
</span>
</p>
<p
style=
"border-bottom:1px solid black;line-height:30px;margin-bottom:10px"
>
<input
type=
'checkbox'
class=
'input-checkbox'
v-model=
'checked'
v-on:click=
'checkedAll(checkboxList)'
style=
"margin-left:25px;margin-top:15px;cursor:pointer"
><span
style=
"margin-left:10px"
>
全选
</span>
<span
style=
"margin-left:40px;color:#2d8cf0;cursor:pointer"
@
click=
"delateall"
>
删除
</span>
...
...
@@ -348,7 +347,7 @@ export default {
overflow
:
hidden
;
}
.addAcount
{
height
:
26%
;
height
:
210px
;
width
:
100%
;
}
.pageBottom
{
...
...
@@ -363,7 +362,7 @@ export default {
}
.accountMange-top
{
width
:
100%
;
height
:
13%
;
height
:
78px
;
}
.detailQQ
{
height
:
40px
;
...
...
src/page/upload/upload.vue
View file @
9ec6bf64
...
...
@@ -56,7 +56,7 @@
<div
style=
"width:100%;background:rgb(0,176,160); opacity: 0.7;overflow-y:auto;height:93%;"
>
<!--
<div
style=
"width:100%;height:10px;background:rgb(0,176,160)"
></div>
-->
<div
class=
"contentMASSAGE"
v-for=
"(item,index) in ajaxData"
:key=
"index"
>
<p
@
click=
"getResumeData(item.resumeId)"
style=
"margin-top:10px"
>
<p
@
click=
"getResumeData(item.resumeId
,item.uid
)"
style=
"margin-top:10px"
>
<span
style=
"color:#000000;margin:10px 0 0 10px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space: nowrap; cursor:pointer"
>
{{
item
.
name
}}
|
</span>
<span
style=
"color:#000000;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space: nowrap; cursor:pointer"
>
{{
item
.
mobile
}}
|
</span>
<span
style=
"color:#000000;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space: nowrap; cursor:pointer"
>
{{
item
.
age
}}
岁|
</span>
...
...
@@ -435,6 +435,7 @@ import {uploadFile} from '../../service/ajax'
item
.
degree
=
item
.
degree
item
.
expectedTitle
=
item
.
expectedTitle
item
.
status
=
item
.
status
item
.
uid
=
item
.
uid
item
.
creator
=
item
.
creator
==
''
?
item
.
creator
:
item
.
creator
.
split
(
'
_
'
)[
0
]
item
.
createTime
=
item
.
createTime
return
item
...
...
@@ -443,10 +444,10 @@ import {uploadFile} from '../../service/ajax'
})
},
// 获取简历详情页数据
getResumeData
(
sid
){
getResumeData
(
sid
,
Uid
){
this
.
downloadId
=
sid
let
parmars
=
{
resumeId
:
s
id
uid
:
U
id
}
serchRESUMEdetail
(
parmars
).
then
(
res
=>
{
this
.
resume
=
res
.
data
.
body
.
resume
...
...
src/service/http.service.js
View file @
9ec6bf64
...
...
@@ -53,9 +53,9 @@ instance.interceptors.request.use(function (config) {
instance
.
interceptors
.
response
.
use
(
function
(
response
)
{
// 在发送请求之前做些什么
let
errorInfo
=
{
'
900
'
:
'
您的账号已在其他地方登录,如不是您个人操作,请及时修改密码
'
,
'
900
'
:
'
cookie已失效,请重新登录
'
,
'
901
'
:
''
,
'
902
'
:
'
cookie已失效,请重新登录
'
'
902
'
:
'
您的账号已在其他地方登录,如不是您个人操作,请及时修改密码
'
}
tryHideFullScreenLoading
()
if
(
response
.
status
>=
200
&&
response
.
status
<
300
){
...
...
@@ -86,6 +86,7 @@ instance.interceptors.response.use(function (response) {
}
return
response
;
},
error
=>
{
tryHideFullScreenLoading
()
// Notice.error({desc:`${error.response.data.body.message}`})
});
export
default
instance
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment