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
047691c2
Commit
047691c2
authored
Sep 18, 2019
by
FE-安焕焕
👣
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
样式
parent
5f06733b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
152 additions
and
34 deletions
+152
-34
allResume.vue
src/page/resume/allResume.vue
+5
-6
channel.vue
src/page/resume/channel.vue
+147
-28
No files found.
src/page/resume/allResume.vue
View file @
047691c2
...
@@ -451,7 +451,7 @@ import {mapState} from 'vuex'
...
@@ -451,7 +451,7 @@ import {mapState} from 'vuex'
if
(
!
value
)
this
.
$Notice
.
warning
({
title
:
'
提示
'
,
desc
:
'
请输入您要通知的面试官
'
})
if
(
!
value
)
this
.
$Notice
.
warning
({
title
:
'
提示
'
,
desc
:
'
请输入您要通知的面试官
'
})
callback
()
callback
()
}
}
const
emailValidata
=
(
rule
,
value
,
callback
)
=>
{
const
emailValidata
=
(
rule
,
value
,
callback
)
=>
{
let
field
=
rule
.
field
let
field
=
rule
.
field
let
reg
=
rule
.
pattern
let
reg
=
rule
.
pattern
switch
(
field
){
switch
(
field
){
...
@@ -2182,12 +2182,11 @@ background:rgba(241,241,241,1);
...
@@ -2182,12 +2182,11 @@ background:rgba(241,241,241,1);
width: 2.5%;
width: 2.5%;
}
}
input {
input {
font-size: 15px !important;
cursor: pointer;
cursor: pointer;
width: 1.
5
em;
width: 1.
2
em;
height: 1.
5
em;
height: 1.
2
em;
line-height: 1.
5e
;
line-height: 1.
2em
;
vertical-align: -
4
px;
vertical-align: -
3
px;
}
}
.transmit{
.transmit{
position: absolute;
position: absolute;
...
...
src/page/resume/channel.vue
View file @
047691c2
...
@@ -302,22 +302,22 @@
...
@@ -302,22 +302,22 @@
<div
class=
"emailModal-title"
>
<div
class=
"emailModal-title"
>
<div
class=
"emailModalTitle-left"
>
<div
class=
"emailModalTitle-left"
>
<p>
<p>
<Form
:label-width=
"70"
:model=
"emailInline"
label-position=
"left"
style=
"margin-left:5%"
ref=
"emailInline"
:rules=
"ruleInline"
class=
"emailForm"
>
<Form
:label-width=
"70"
:model=
"emailInline"
label-position=
"left"
style=
"margin-left:5%"
ref=
"emailInline"
:rules=
"
email
ruleInline"
class=
"emailForm"
>
<FormItem
label=
"选择模板"
style=
"margin-top:20px"
prop=
'moo'
>
<FormItem
label=
"选择模板"
style=
"margin-top:20px"
prop=
'moo'
>
<Select
style=
"width:95%"
@
on-change=
'getEmailContentValue'
v-model=
"emailInline.moo"
>
<Select
style=
"width:95%"
@
on-change=
'getEmailContentValue'
v-model=
"emailInline.moo"
>
<Option
v-for=
"(item,index) in emailInline.modalArr"
:key=
"index"
:value=
"item.templateCode"
>
{{
item
.
templateName
}}
</Option>
<Option
v-for=
"(item,index) in emailInline.modalArr"
:key=
"index"
:value=
"item.templateCode"
>
{{
item
.
templateName
}}
</Option>
</Select><br>
</Select><br>
<!--
<span
v-show=
"emailMassage==true"
>
你尚未选择简历,请先选择简历
</span>
-->
<!--
<span
v-show=
"emailMassage==true"
>
你尚未选择简历,请先选择简历
</span>
-->
</FormItem>
</FormItem>
<FormItem
label=
"收件人"
style=
"margin-top:20px"
:show-massage=
'false
'
>
<FormItem
label=
"收件人"
style=
"margin-top:20px"
prop=
'receiveEmail
'
>
<Input
style=
"width:95%"
v-model=
"emailInline.receiveEmail"
@
on-blur=
'receiveEmail
'
/>
<Input
style=
"width:95%"
v-model=
"emailInline.receiveEmail"
@
on-focus=
'getfocus("emailInline","receiveEmail")
'
/>
<span
style=
"position: absolute;left:0;top:30px;color:gray;font-size:12px;"
>
输入多个邮箱地址以英文”;“分隔
</span>
<span
style=
"position: absolute;left:0;top:30px;color:gray;font-size:12px;"
v-show=
'!tip'
>
{{
tipInfo
}}
</span>
</FormItem>
</FormItem>
<FormItem
label=
"抄送"
style=
"margin-top:20px"
>
<FormItem
label=
"抄送"
style=
"margin-top:20px"
prop=
'copyname'
>
<Input
style=
"width:95%"
v-model=
"emailInline.copyname"
@
on-
blur=
'copyname
'
/>
<Input
style=
"width:95%"
v-model=
"emailInline.copyname"
@
on-
focus=
'getfocus("emailInline","copyname")
'
/>
</FormItem>
</FormItem>
<FormItem
label=
"主题"
style=
"margin-top:20px"
>
<FormItem
label=
"主题"
style=
"margin-top:20px"
prop=
'theme'
>
<Input
style=
"width:95%"
v-model=
"emailInline.theme"
@
on-
blur=
'theme
'
/>
<Input
style=
"width:95%"
v-model=
"emailInline.theme"
@
on-
focus=
'getfocus("emailInline","theme")
'
/>
</FormItem>
</FormItem>
</Form>
</Form>
</p>
</p>
...
@@ -326,13 +326,13 @@
...
@@ -326,13 +326,13 @@
<h3
style=
"text-align:center;margin-top:20px"
>
请输入约面信息
</h3>
<h3
style=
"text-align:center;margin-top:20px"
>
请输入约面信息
</h3>
<Form
:label-width=
"85"
ref=
"formInline"
:rules=
"ruleInline"
:model=
"formInline"
style=
"margin-top:35px"
label-position=
"left"
class=
"emailForm"
>
<Form
:label-width=
"85"
ref=
"formInline"
:rules=
"ruleInline"
:model=
"formInline"
style=
"margin-top:35px"
label-position=
"left"
class=
"emailForm"
>
<FormItem
label=
"邀约人"
style=
"margin-top:20px"
prop=
"UpdateOWER"
>
<FormItem
label=
"邀约人"
style=
"margin-top:20px"
prop=
"UpdateOWER"
>
<Input
v-model=
"formInline.UpdateOWER"
style=
"width:100%"
:maxlength=
"5"
@
on-
blur=
'UpdateOWER
'
/>
<Input
v-model=
"formInline.UpdateOWER"
style=
"width:100%"
:maxlength=
"5"
@
on-
focus=
'getfocus("formInline", "UpdateOWER")
'
/>
</FormItem>
</FormItem>
<FormItem
label=
"面试时间"
style=
"margin-top:20px"
prop=
"UpdateTIME"
>
<FormItem
label=
"面试时间"
style=
"margin-top:20px"
prop=
"UpdateTIME"
>
<DatePicker
type=
"datetime"
style=
"width:100%"
v-model=
"formInline.UpdateTIME"
format=
"yyyy-MM-dd HH:mm"
@
on-change=
"changeTime"
:options=
"options3"
:editable=
'false'
@
on-
blur=
'UpdateTIME
'
></DatePicker>
<DatePicker
type=
"datetime"
style=
"width:100%"
v-model=
"formInline.UpdateTIME"
format=
"yyyy-MM-dd HH:mm"
@
on-change=
"changeTime"
:options=
"options3"
:editable=
'false'
@
on-
open-change=
'getfocus("formInline", "UpdateTIME")
'
></DatePicker>
</FormItem>
</FormItem>
<FormItem
label=
"面试官"
style=
"margin-top:20px"
prop=
'UpdateVIEW'
>
<FormItem
label=
"面试官"
style=
"margin-top:20px"
prop=
'UpdateVIEW'
>
<Input
v-model=
"formInline.UpdateVIEW"
style=
"width:100%"
:maxlength=
"5"
@
on-blur=
'UpdateVIEW
'
/>
<Input
v-model=
"formInline.UpdateVIEW"
style=
"width:100%"
:maxlength=
"5"
@
on-focus=
'getfocus("formInline", "UpdateVIEW")
'
/>
</FormItem>
</FormItem>
</Form>
</Form>
</div>
</div>
...
@@ -359,8 +359,8 @@
...
@@ -359,8 +359,8 @@
</div>
</div>
<div
slot=
'footer'
style=
"text-align:center;position: relative;"
class=
"Ubt"
>
<div
slot=
'footer'
style=
"text-align:center;position: relative;"
class=
"Ubt"
>
<Button
type=
'primary'
@
click=
'emailModalPush'
>
取消
</Button>
<Button
type=
'primary'
@
click=
'emailModalPush'
>
取消
</Button>
<Button
type=
'primary'
@
click=
'
modal10=true'
v-show=
"this.isShowAll==false"
:disabled=
"!isDisabl
e"
>
发送
</Button>
<Button
type=
'primary'
@
click=
'
submit'
v-show=
"this.isShowAll==fals
e"
>
发送
</Button>
<Button
type=
'primary'
@
click=
'
modal10=true'
v-show=
"this.isShowAll==true"
:disabled=
"!isDisabl
e"
>
添加并发送
</Button>
<Button
type=
'primary'
@
click=
'
submit'
v-show=
"this.isShowAll==tru
e"
>
添加并发送
</Button>
<Checkbox
v-model=
"formInline.sendWeixin"
class=
'wechat'
><span>
微信通知面试官
</span></Checkbox>
<Checkbox
v-model=
"formInline.sendWeixin"
class=
'wechat'
><span>
微信通知面试官
</span></Checkbox>
</div>
</div>
</Modal>
</Modal>
...
@@ -425,6 +425,7 @@ import {mapState} from 'vuex'
...
@@ -425,6 +425,7 @@ import {mapState} from 'vuex'
import
localStorage
from
'
../../service/localstorage.service
'
import
localStorage
from
'
../../service/localstorage.service
'
export
default
{
export
default
{
data
(){
data
(){
const
emailRule
=
/^
((([
a-z0-9_
\.
-
]
+
)
@
([\d
a-z
\.
-
]
+
)\.([
a-z
\.]{2,6}\;))
*
(([
a-z0-9_
\.
-
]
+
)
@
([\d
a-z
\.
-
]
+
)\.([
a-z
\.]{2,6})))
$/
const
validator
=
(
rule
,
value
,
callback
)
=>
{
const
validator
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
this
.
$Notice
.
warning
({
title
:
'
提示
'
,
desc
:
'
请输入您要通知的面试官
'
})
if
(
!
value
)
this
.
$Notice
.
warning
({
title
:
'
提示
'
,
desc
:
'
请输入您要通知的面试官
'
})
callback
()
callback
()
...
@@ -440,18 +441,96 @@ export default {
...
@@ -440,18 +441,96 @@ export default {
callback
()
callback
()
}
}
}
}
const
emailValidata
=
(
rule
,
value
,
callback
)
=>
{
let
field
=
rule
.
field
let
reg
=
rule
.
pattern
switch
(
field
){
case
'
receiveEmail
'
:
if
(
!
value
)
{
this
.
tip
=
true
this
.
isDisable
=
false
callback
(
new
Error
(
'
收件人不能为空
'
))
}
else
if
(
rule
.
pattern
&&!
rule
.
pattern
.
test
(
value
))
{
this
.
tip
=
true
this
.
isDisable
=
false
callback
(
new
Error
(
'
请输入正确收件人地址
'
))
}
else
{
this
.
tip
=
false
this
.
isDisable
=
true
callback
()
}
break
;
case
'
theme
'
:
if
(
!
value
)
{
this
.
isDisable
=
false
callback
(
new
Error
(
'
主题能为空
'
))
}
else
{
this
.
isDisable
=
true
callback
()
}
break
;
case
'
copyname
'
:
if
(
value
&&
reg
&&!
reg
.
test
(
value
))
{
this
.
isDisable
=
false
callback
(
new
Error
(
'
请输入正确抄送地址
'
))
}
else
{
this
.
isDisable
=
true
callback
()
}
break
;
case
'
UpdateOWER
'
:
if
(
!
value
)
{
this
.
isDisable
=
false
callback
(
new
Error
(
'
邀约人不能为空
'
))
}
else
{
this
.
isDisable
=
true
callback
()
}
break
;
case
'
UpdateTIME
'
:
if
(
!
value
)
{
this
.
isDisable
=
false
callback
(
new
Error
(
'
面试时间不能为空
'
))
}
else
{
this
.
isDisable
=
true
callback
()
}
break
;
case
'
UpdateVIEW
'
:
if
(
!
value
)
{
this
.
isDisable
=
false
callback
(
new
Error
(
'
面试官不能为空
'
))
}
else
{
this
.
isDisable
=
true
callback
()
}
break
;
default
:
callback
()
break
;
}
}
return
{
return
{
interviewee
:
[],
interviewee
:
[],
tip
:
false
,
tipInfo
:
'
输入多个邮箱地址以英文”;“分隔
'
,
ruleInline
:
{
ruleInline
:
{
UpdateOWER
:
[
UpdateOWER
:
[
{
required
:
true
,
message
:
'
邀约人不能为空
'
,
trigger
:
'
blur
'
}
{
required
:
true
,
message
:
'
邀约人不能为空
'
,
trigger
:
'
blur
'
,
validator
:
emailValidata
}
],
],
UpdateTIME
:
[
UpdateTIME
:
[
{
required
:
true
,
message
:
'
面试时间不能为空
'
,
trigger
:
'
date
'
}
{
required
:
true
,
message
:
'
面试时间不能为空
'
,
trigger
:
'
change
'
,
type
:
'
date
'
,
validator
:
emailValidata
}
],
],
UpdateVIEW
:
[
UpdateVIEW
:
[
{
required
:
true
,
message
:
'
面试官不能为空
'
,
trigger
:
'
blur
'
}
{
required
:
true
,
message
:
'
面试官不能为空
'
,
trigger
:
'
blur
'
,
validator
:
emailValidata
}
]
]
},
emailruleInline
:
{
receiveEmail
:
[{
required
:
true
,
trigger
:
'
blur
'
,
pattern
:
emailRule
,
validator
:
emailValidata
}],
theme
:
[{
required
:
true
,
trigger
:
'
blur
'
,
message
:
'
主题不能为空
'
,
validator
:
emailValidata
}],
copyname
:
[{
required
:
false
,
trigger
:
'
blur
'
,
pattern
:
emailRule
,
validator
:
emailValidata
,
empty
:
true
}]
},
},
formInline
:{
formInline
:{
UpdateOWER
:
''
,
UpdateOWER
:
''
,
...
@@ -1276,6 +1355,8 @@ export default {
...
@@ -1276,6 +1355,8 @@ export default {
return
return
}
}
this
.
emailInline
.
modalArr
=
[]
this
.
emailInline
.
modalArr
=
[]
this
.
$refs
.
emailInline
.
resetFields
()
this
.
$refs
.
formInline
.
resetFields
()
this
.
emailMOdal
=
true
this
.
emailMOdal
=
true
getEmailMoo
().
then
(
res
=>
{
getEmailMoo
().
then
(
res
=>
{
this
.
emailInline
.
modalArr
=
res
.
data
.
body
this
.
emailInline
.
modalArr
=
res
.
data
.
body
...
@@ -1772,7 +1853,6 @@ export default {
...
@@ -1772,7 +1853,6 @@ export default {
return
return
}
}
})
})
console
.
log
(
this
.
interviewee
)
if
(
!
flag
)
{
if
(
!
flag
)
{
this
.
interviewee
.
push
(
data
)
this
.
interviewee
.
push
(
data
)
}
}
...
@@ -1785,6 +1865,46 @@ export default {
...
@@ -1785,6 +1865,46 @@ export default {
this
.
ajaxData
.
map
(
item
=>
{
this
.
ajaxData
.
map
(
item
=>
{
item
.
STATES
=
false
item
.
STATES
=
false
})
})
},
getfocus
(
form
,
name
){
let
vm
=
this
;
let
value
=
this
[
form
][
name
]
if
(
name
==
'
receiveEmail
'
)
{
this
.
tip
&&
this
.
$refs
[
form
].
fields
.
forEach
(
function
(
e
)
{
if
(
e
.
prop
==
name
)
{
e
.
resetField
()
vm
[
form
][
name
]
=
value
vm
.
tip
=
false
}
})
}
else
{
this
.
$refs
[
form
].
fields
.
forEach
(
function
(
e
)
{
if
(
e
.
prop
==
name
)
{
e
.
resetField
()
vm
[
form
][
name
]
=
value
}
})
}
},
submit
()
{
console
.
log
(
'
++++
'
)
let
flag
=
false
this
.
$refs
.
emailInline
.
validate
(
val
=>
{
if
(
!
val
)
{
flag
=
true
return
}
})
this
.
$refs
.
formInline
.
validate
(
val
=>
{
if
(
!
val
)
{
flag
=
true
return
}
})
if
(
!
flag
){
this
.
modal10
=
true
}
}
}
},
},
watch
:
{
watch
:
{
...
@@ -1854,7 +1974,7 @@ export default {
...
@@ -1854,7 +1974,7 @@ export default {
}
}
},
},
deep
:
true
deep
:
true
}
,
}
},
},
mounted
(){
mounted
(){
...
@@ -2069,11 +2189,10 @@ select{
...
@@ -2069,11 +2189,10 @@ select{
}
}
input {
input {
cursor: pointer;
cursor: pointer;
font-size: 15px !important;
cursor: pointer;
cursor: pointer;
width: 1.
5
em;
width: 1.
2
em;
height: 1.
5
em;
height: 1.
2
em;
line-height: 1.
5
em;
line-height: 1.
2
em;
vertical-align: -4px;
vertical-align: -4px;
}
}
.transmit{
.transmit{
...
...
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