Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
ydLife
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Sweet Zhang
ydLife
Commits
fa290fb1
Commit
fa290fb1
authored
Dec 23, 2020
by
sunchao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重要标签样式调整&电子报聘注册页样式调整、基本信息必填正则判断
parent
0d2e5d20
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
395 additions
and
91 deletions
+395
-91
src/app/common/life-common.service.ts
+39
-17
src/app/my/add-task/add-task.component.html
+8
-5
src/app/my/add-task/add-task.component.scss
+1
-4
src/app/my/application-process/employee-basic-info/employee-basic-info.component.html
+6
-6
src/app/my/application-process/employee-basic-info/employee-basic-info.component.ts
+80
-9
src/app/my/application-process/employee-education/employee-education.component.html
+11
-9
src/app/my/application-process/employee-education/employee-education.component.ts
+84
-4
src/app/my/application-process/employee-id-card/employee-id-card.component.ts
+0
-1
src/app/my/application-process/invitation/invitation.component.html
+1
-1
src/app/my/application-process/invitation/invitation.component.ts
+6
-2
src/app/my/application-process/personal-photos/personal-photos.component.html
+2
-2
src/app/my/application-process/personal-photos/personal-photos.component.ts
+2
-5
src/app/my/application-process/personal-statement/personal-statement.component.html
+8
-18
src/app/my/application-process/personal-statement/personal-statement.component.scss
+26
-0
src/app/my/application-process/personal-statement/personal-statement.component.ts
+63
-2
src/app/my/application-process/register/register.component.html
+1
-1
src/app/my/application-process/register/register.component.scss
+2
-1
src/app/my/my.service.ts
+21
-0
src/app/my/recruiting-detail/recruiting-detail.component.ts
+31
-3
src/app/my/recruiting/recruiting.component.ts
+2
-1
src/styles.scss
+1
-0
No files found.
src/app/common/life-common.service.ts
View file @
fa290fb1
...
...
@@ -156,23 +156,6 @@ export class LifeCommonService {
return
str
.
replace
(
/<
[^
>
]
+>/g
,
""
);
//去掉所有的html标记
}
/**
* 姓名正则
*/
nameValid
(
name
)
{
const
NAME_REGEXP
=
/
(
^
[\u
4e00-
\u
9fa5
]{1}[\u
4e00-
\u
9fa5
\.
·()()。
]{0,48}[\u
4e00-
\u
9fa5
]{1}
$
)
|
(
^
[
a-zA-Z
]{1}[
a-zA-Z
\s]{0,48}[
a-zA-Z
]{1}
$
)
/
;
return
NAME_REGEXP
.
test
(
name
);
}
/**
* 手机号码正则
* @param no
* @returns {boolean}
*/
mobileNoValid
(
no
)
{
const
MOBILE_REGEXP
=
/^
(
1
)\d{10}
$/
;
return
MOBILE_REGEXP
.
test
(
no
);
}
getFileName
(
str
)
{
let
strArr
=
str
.
split
(
'?'
);
let
k
=
strArr
[
0
],
appU
=
k
.
split
(
'/'
);
...
...
@@ -479,4 +462,43 @@ export class LifeCommonService {
return
row
;
}
}
/**
* 姓名正则
*/
nameValid
(
name
)
{
const
NAME_REGEXP
=
/
(
^
[\u
4e00-
\u
9fa5
]{1}[\u
4e00-
\u
9fa5
\.
·()()。
]{0,48}[\u
4e00-
\u
9fa5
]{1}
$
)
|
(
^
[
a-zA-Z
]{1}[
a-zA-Z
\s]{0,48}[
a-zA-Z
]{1}
$
)
/
;
return
NAME_REGEXP
.
test
(
name
);
}
/**
* 手机号码正则
* @param no
* @returns {boolean}
*/
mobileNoValid
(
no
)
{
const
MOBILE_REGEXP
=
/^
(
1
)\d{10}
$/
;
return
MOBILE_REGEXP
.
test
(
no
);
}
/**
* 邮箱正则
*/
emailValid
(
email
)
{
const
EMAIL_REGEXP
=
/^
(\w
-*
\.
*
)
+@
(\w
-
?)
+
(\.\w{2,})
+$/
;
return
EMAIL_REGEXP
.
test
(
email
);
}
//检测字符串是否只有中文、英文、数字
checkCEN
(
val
)
{
const
cen_reg
=
/^
[
A-Za-z0-9
\u
4e00-
\u
9fa5
]
+$/
;
return
cen_reg
.
test
(
val
);
}
/**
* 检测统一社会信用代码只能是数字和字母
* @param val
* @returns {boolean}
*/
checkTaxNo
(
val
)
{
const
taxNo_reg
=
/
[
a-zA-Z0-9
]{5,20}
/
;
return
taxNo_reg
.
test
(
val
);
}
}
src/app/my/add-task/add-task.component.html
View file @
fa290fb1
...
...
@@ -44,13 +44,16 @@
</li>
</ng-container>
</ul>
<div
class=
"important_mark"
[
ngStyle
]="{'
bottom
'
:addTrack
.
taskType =
=
2
?'
-35
%'
:
'
5px
'}"
>
<span
[
ngClass
]="{'
circle
'
:addTrack
.
taskImportantTag=
=true}"
(
click
)="
addTrack
.
taskImportantTag=
!addTrack.taskImportantTag"
></span>
<div>
重要标签
</div>
</div>
</div>
<div
class=
"part_wrapper part2"
>
<div
style=
"font-size: 18px;"
>
选择任务需要的时间
</div>
<div
style=
"display: flex;justify-content: space-between;"
>
<div
style=
"font-size: 18px;"
>
选择任务需要的时间
</div>
<div
class=
"important_mark"
>
<span
[
ngClass
]="{'
circle
'
:addTrack
.
taskImportantTag=
=true}"
(
click
)="
addTrack
.
taskImportantTag=
!addTrack.taskImportantTag"
></span>
<div>
重要标签
</div>
</div>
</div>
<div
class=
"timeContent"
>
<div
class=
"picker_list"
>
<PickerView
[
data
]="
seasons
"
[
cols
]='
3
'
[
cascade
]="
false
"
[
ngModel
]="
addTrack
.
taskTimeFrom
"
[
indicatorStyle
]="{'
background
'
:
'#
f6f6f6
','
border-radius
'
:
'
50px
','
z-index
'
:
'
0
'}"
(
ngModelChange
)="
onChange
($
event
,
1
)"
></PickerView>
...
...
src/app/my/add-task/add-task.component.scss
View file @
fa290fb1
...
...
@@ -68,14 +68,11 @@ ul,ol{
}
.important_mark
{
position
:
absolute
;
right
:
3%
;
font-size
:
12px
;
color
:
#a0a0a0
;
display
:
flex
;
align-items
:
center
;
margin-right
:
5px
;
z-index
:
100
;
span
{
width
:
15px
;
height
:
15px
;
...
...
src/app/my/application-process/employee-basic-info/employee-basic-info.component.html
View file @
fa290fb1
...
...
@@ -7,7 +7,7 @@
<div
class=
"contentDetail employ"
>
<div
class=
"contentItem"
>
<span>
姓名
</span>
<input
type=
"text"
class=
"form-control"
[(
ngModel
)]="
editEmployBasicInfo
.
name
"
>
<input
type=
"text"
class=
"form-control"
[(
ngModel
)]="
editEmployBasicInfo
.
name
"
(
blur
)="
bs
(
2
)"
>
</div>
<div
class=
"contentItem"
>
<span>
证件类型
</span>
...
...
@@ -22,7 +22,6 @@
<span>
证件号
</span>
<input
type=
"text"
class=
"form-control"
(
blur
)="
bs
(
1
)"
[(
ngModel
)]="
editEmployBasicInfo
.
idNo
"
>
</div>
<List
[
className
]="'
date-picker-list
'"
>
<ListItem
DatePicker
...
...
@@ -30,17 +29,18 @@
[
arrow
]="'
horizontal
'"
[
mode
]="'
date
'"
[
minDate
]
="
minDate
"
[
maxDate
]
=
"
maxDate
"
[(
ngModel
)]="
showPractitionerBirthdate
"
(
onOk
)="
onOk
($
event
)"
[
disabled
]="
editEmployBasicInfo
.
idTypeId=
=1"
>
生日
出生日期
</ListItem>
</List>
<div
class=
"contentItem"
>
<span>
性别
</span>
<select
class=
"form-control"
[(
ngModel
)]="
editEmployBasicInfo
.
gender
"
[
disabled
]="
editEmployBasicInfo
.
idTypeId=
=1"
>
<select
class=
"form-control"
[(
ngModel
)]="
editEmployBasicInfo
.
gender
"
[
disabled
]="
editEmployBasicInfo
.
idTypeId=
=1"
(
blur
)="
bs
(
null
)"
>
<option
value=
null
>
请选择
</option>
<option
value=
'1'
>
男
</option>
<option
value=
"2"
>
女
</option>
...
...
@@ -63,12 +63,12 @@
<div
class=
"contentItem"
>
<span>
居住地址
</span>
<div>
<input
type=
"text"
class=
"form-control"
[(
ngModel
)]="
editEmployBasicInfo
.
residentAddress
"
>
<input
type=
"text"
class=
"form-control"
[(
ngModel
)]="
editEmployBasicInfo
.
residentAddress
"
(
blur
)="
bs
(
3
)"
>
</div>
</div>
<div
class=
"contentItem"
>
<span>
E-mail
</span>
<div><input
type=
"text"
class=
"form-control"
[(
ngModel
)]="
editEmployBasicInfo
.
email
"
></div>
<div><input
type=
"text"
class=
"form-control"
[(
ngModel
)]="
editEmployBasicInfo
.
email
"
(
blur
)="
bs
(
4
)"
></div>
</div>
</div>
</div>
...
...
src/app/my/application-process/employee-basic-info/employee-basic-info.component.ts
View file @
fa290fb1
...
...
@@ -20,6 +20,7 @@ export class EmployeeBasicInfoComponent implements OnInit {
addressInfo
:
any
;
provinces
:
Array
<
any
>
;
minDate
:
any
=
new
Date
(
'1900-01-01'
);
maxDate
:
any
=
new
Date
();
constructor
(
private
activatedRoute
:
ActivatedRoute
,
private
router
:
Router
,
public
lifeCommonService
:
LifeCommonService
,
public
myService
:
MyService
)
{
}
...
...
@@ -60,7 +61,6 @@ export class EmployeeBasicInfoComponent implements OnInit {
console
.
log
(
result
)
this
.
editEmployBasicInfo
.
practitionerBirthdate
=
this
.
currentDateFormat
(
result
,
'yyyy-mm-dd'
);
this
.
showPractitionerBirthdate
=
result
;
console
.
log
(
this
.
editEmployBasicInfo
)
}
idTypeChange
(
e
){
...
...
@@ -70,20 +70,42 @@ export class EmployeeBasicInfoComponent implements OnInit {
this
.
editEmployBasicInfo
.
idType
=
idType
.
name
;
}
}
console
.
log
(
this
.
editEmployBasicInfo
)
}
/**
* 1.证件号
* 2.姓名
* 3.居住地址
* 4.email
*/
bs
(
type
)
{
this
.
lifeCommonService
.
scrollTo
();
if
(
type
)
{
if
(
type
===
1
&&
this
.
editEmployBasicInfo
.
idTypeId
==
1
){
if
(
this
.
editEmployBasicInfo
.
idNo
){
this
.
editEmployBasicInfo
.
idNo
=
this
.
editEmployBasicInfo
.
idNo
.
trim
();
if
(
type
===
1
)
{
if
(
this
.
editEmployBasicInfo
.
idNo
){
this
.
editEmployBasicInfo
.
idNo
=
this
.
editEmployBasicInfo
.
idNo
.
trim
();
if
(
this
.
editEmployBasicInfo
.
idTypeId
==
1
){
//身份证
this
.
idCardInput
(
this
.
editEmployBasicInfo
.
idNo
);
}
else
{
if
(
!
this
.
lifeCommonService
.
checkTaxNo
(
this
.
editEmployBasicInfo
.
idNo
)){
this
.
openPopInfo
(
'证件号码错误'
);
}
}
this
.
idCardInput
(
this
.
editEmployBasicInfo
.
idNo
);
}
}
if
(
type
===
2
){
if
(
this
.
editEmployBasicInfo
.
name
){
this
.
editEmployBasicInfo
.
name
=
this
.
editEmployBasicInfo
.
name
.
trim
();
}
}
if
(
type
===
3
){
if
(
this
.
editEmployBasicInfo
.
residentAddress
){
this
.
editEmployBasicInfo
.
residentAddress
=
this
.
editEmployBasicInfo
.
residentAddress
.
trim
()
}
}
if
(
type
===
4
){
if
(
this
.
editEmployBasicInfo
.
email
){
this
.
editEmployBasicInfo
.
email
=
this
.
editEmployBasicInfo
.
email
.
trim
();
}
}
}
...
...
@@ -93,7 +115,7 @@ export class EmployeeBasicInfoComponent implements OnInit {
* 身份证号码输入,获取生日和性别
*/
idCardInput
(
val
)
{
if
(
val
&&
val
.
length
===
18
)
{
if
(
val
)
{
if
(
!
this
.
lifeCommonService
.
IdCodeValid
(
val
).
pass
)
{
this
.
openPopInfo
(
this
.
lifeCommonService
.
IdCodeValid
(
val
).
msg
)
return
;
...
...
@@ -101,11 +123,55 @@ export class EmployeeBasicInfoComponent implements OnInit {
this
.
editEmployBasicInfo
.
practitionerBirthdate
=
this
.
lifeCommonService
.
dateFormat
(
this
.
lifeCommonService
.
IdCodeValid
(
val
).
birthDay
,
'yyyy-MM-dd'
);
this
.
editEmployBasicInfo
.
gender
=
this
.
lifeCommonService
.
IdCodeValid
(
val
).
gender
;
this
.
showPractitionerBirthdate
=
new
Date
(
this
.
editEmployBasicInfo
.
practitionerBirthdate
);
console
.
log
(
this
.
showPractitionerBirthdate
)
}
}
next
(){
if
(
!
this
.
editEmployBasicInfo
.
name
){
this
.
openPopInfo
(
'请输入您的姓名!'
)
return
;
}
else
{
if
(
!
this
.
lifeCommonService
.
nameValid
(
this
.
editEmployBasicInfo
.
name
)){
this
.
openPopInfo
(
'请输入您的真实姓名!'
)
}
}
if
(
!
this
.
editEmployBasicInfo
.
idTypeId
||
!
this
.
editEmployBasicInfo
.
idType
){
this
.
openPopInfo
(
'请选择您的证件类型!'
)
return
;
}
if
(
!
this
.
editEmployBasicInfo
.
idNo
){
this
.
openPopInfo
(
'请输入您的证件号!'
)
return
;
}
else
{
if
(
!
this
.
lifeCommonService
.
checkTaxNo
(
this
.
editEmployBasicInfo
.
idNo
)){
this
.
openPopInfo
(
'证件号码错误'
)
}
}
if
(
!
this
.
editEmployBasicInfo
.
practitionerBirthdate
){
this
.
openPopInfo
(
'请选择您的出生日期!'
)
return
;
}
if
(
!
this
.
editEmployBasicInfo
.
gender
){
this
.
openPopInfo
(
'请选择您的性别!'
)
return
;
}
if
(
!
this
.
editEmployBasicInfo
.
provinceId
&&
!
this
.
editEmployBasicInfo
.
cityId
){
this
.
openPopInfo
(
'请选择您的户籍!'
)
return
;
}
if
(
!
this
.
editEmployBasicInfo
.
residentAddress
){
this
.
openPopInfo
(
'请输入您的居住地址!'
)
return
;
}
if
(
!
this
.
editEmployBasicInfo
.
email
){
this
.
openPopInfo
(
'请输入您的email!'
)
return
;
}
else
{
if
(
!
this
.
lifeCommonService
.
emailValid
(
this
.
editEmployBasicInfo
.
email
)){
this
.
openPopInfo
(
'email格式错误!'
)
return
;
}
}
this
.
myService
.
saveBasicInfo
(
this
.
editEmployBasicInfo
).
subscribe
((
res
)
=>
{
if
(
res
[
'success'
]){
this
.
router
.
navigate
([
'/work_experience'
],{
queryParams
:
{
hiringBasicInfoId
:
this
.
hiringBasicInfoId
}
});
...
...
@@ -115,6 +181,7 @@ export class EmployeeBasicInfoComponent implements OnInit {
})
}
// 打开弹窗
openPopInfo
(
message
)
{
this
.
isNeedAlert
=
true
;
...
...
@@ -125,6 +192,10 @@ export class EmployeeBasicInfoComponent implements OnInit {
};
}
// 关闭弹窗
getPopInfo
()
{
this
.
isNeedAlert
=
false
;
}
// 选择地址信息
selectedArea
(
type
)
{
// this.sendRemoveScrollContent.emit(1);
...
...
src/app/my/application-process/employee-education/employee-education.component.html
View file @
fa290fb1
...
...
@@ -7,26 +7,27 @@
<div
class=
"contentDetail employ"
>
<div
class=
"contentItem"
>
<span>
最高学历:如本科、专科、硕士
</span>
<select
class=
"form-control"
name=
""
id=
""
>
<option
value=
""
>
请选择
</option>
<option
[
value
]="
idType
.
id
"
*
ngFor=
"let idType of this.idTypes
List"
>
{{
idType
.name}}
<select
class=
"form-control"
name=
""
id=
""
[(
ngModel
)]="
lastGraduateGradeId
"
(
ngModelChange
)="
selectEducationLevel
($
event
)"
>
<option
value=
null
>
请选择
</option>
<option
[
value
]="
educationLevel
.
id
"
*
ngFor=
"let educationLevel of educationLevel
List"
>
{{
educationLevel
.name}}
</option>
</select>
</div>
<div
class=
"contentItem"
>
<span>
毕业学校
</span>
<input
class=
"form-control"
[(
ngModel
)]="
lastGraduateSchool
"
/>
</div>
<div
class=
"contentItem"
style=
"border:none;"
>
<span>
毕业证
</span>
<div></div>
</div>
</div>
<div
class=
"photo_wrapper"
>
<div
class=
"photo_wrapper"
*
ngIf=
"!certificationVxUrl"
>
<img
src=
"assets/images/camera.png"
alt=
""
/>
<div
style=
"margin-top: 10px;"
>
点击添加毕业证照片
</div>
<div
style=
"margin-top: 10px;"
(
click
)="
selectPic
()"
>
点击添加毕业证照片
</div>
</div>
<img
src=
"{{certificationVxUrl}}"
alt=
"毕业证照片"
*
ngIf=
"certificationVxUrl"
>
<div
class=
"tips"
>
<p>
(jpg,png 文件大小不大于1mb)
</p>
</div>
...
...
@@ -34,4 +35,5 @@
<footer
class=
"fixed"
(
click
)="
next
()"
>
保存并下一步
</footer>
</div>
\ No newline at end of file
</div>
<ydlife-toast
*
ngIf=
"toastDialog"
[
toastInfo
]="
toastInfo
"
></ydlife-toast>
\ No newline at end of file
src/app/my/application-process/employee-education/employee-education.component.ts
View file @
fa290fb1
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Component
,
OnInit
,
ChangeDetectorRef
}
from
'@angular/core'
;
import
{
MyService
}
from
'../../my.service'
;
import
{
ActivatedRoute
,
Router
}
from
"@angular/router"
;
import
{
LifeCommonService
}
from
"../../../common/life-common.service"
;
declare
const
wx
:
any
;
@
Component
({
selector
:
'ydlife-employee-education'
,
templateUrl
:
'./employee-education.component.html'
,
...
...
@@ -10,9 +10,17 @@ import { LifeCommonService } from "../../../common/life-common.service";
})
export
class
EmployeeEducationComponent
implements
OnInit
{
hiringBasicInfoId
:
any
;
educationLevelList
:
Array
<
any
>
;
lastGraduateGrade
:
string
=
null
;
lastGraduateGradeId
:
string
=
null
;
lastGraduateSchool
:
string
;
certificationVxUrl
:
string
;
serverId
:
any
;
toastDialog
:
boolean
;
toastInfo
:
any
;
constructor
(
private
activatedRoute
:
ActivatedRoute
,
private
router
:
Router
,
public
lifeCommonService
:
LifeCommonService
,
public
myService
:
MyService
)
{
public
myService
:
MyService
,
private
changeDetectorRef
:
ChangeDetectorRef
)
{
}
...
...
@@ -20,10 +28,82 @@ export class EmployeeEducationComponent implements OnInit {
const
title
=
this
.
activatedRoute
.
snapshot
.
data
[
0
][
'title'
];
this
.
lifeCommonService
.
setTitle
(
title
);
this
.
hiringBasicInfoId
=
this
.
activatedRoute
.
snapshot
.
queryParams
.
hiringBasicInfoId
?
this
.
activatedRoute
.
snapshot
.
queryParams
.
hiringBasicInfoId
:
null
;
this
.
educationLevelQuery
();
}
next
(){
this
.
router
.
navigate
([
'/personal_statement'
],{
queryParams
:
{
hiringBasicInfoId
:
this
.
hiringBasicInfoId
}
});
const
param
=
{
hiringBasicInfoId
:
this
.
hiringBasicInfoId
,
lastGraduateGrade
:
this
.
lastGraduateGrade
,
lastGraduateSchool
:
this
.
lastGraduateSchool
,
certificationVxUrl
:
this
.
certificationVxUrl
}
this
.
myService
.
saveLastGraduateGrade
(
param
).
subscribe
((
res
)
=>
{
if
(
res
[
'success'
]){
this
.
router
.
navigate
([
'/personal_statement'
],{
queryParams
:
{
hiringBasicInfoId
:
this
.
hiringBasicInfoId
}
});
}
else
{
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
res
[
'message'
],
timeout
:
3000
,
align
:
'center'
};
}
})
}
// 教育等级查询
educationLevelQuery
()
{
this
.
myService
.
educationLevelQuery
().
subscribe
(
res
=>
{
if
(
res
[
'success'
])
{
this
.
educationLevelList
=
res
[
'data'
][
'educationLevelList'
]
}
})
}
//选择教育等级
selectEducationLevel
(
event
){
this
.
lastGraduateGradeId
=
event
;
for
(
let
educationLevel
of
this
.
educationLevelList
){
if
(
event
==
educationLevel
.
id
){
this
.
lastGraduateGrade
=
educationLevel
.
name
;
}
}
}
selectPic
(){
// 5.1 拍照、本地选图
const
t
=
this
;
wx
.
chooseImage
({
count
:
1
,
// 默认9
sizeType
:
[
'original'
,
'compressed'
],
// 可以指定是原图还是压缩图,默认二者都有
sourceType
:
[
'album'
,
'camera'
],
// 可以指定来源是相册还是相机,默认二者都有
success
:
function
(
res
)
{
this
.
localId
=
res
.
localIds
[
0
];
// 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
const
THIS
=
t
;
wx
.
uploadImage
({
localId
:
this
.
localId
,
// 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips
:
1
,
// 默认为1,显示进度提示
success
:
function
(
response
)
{
THIS
.
serverId
=
response
.
serverId
;
// 返回图片的服务器端ID
const
m
=
{
mediaId
:
response
.
serverId
,
origin
:
'ydLife'
};
THIS
.
myService
.
mediaGet
(
m
).
subscribe
(
async
e
=>
{
if
(
e
[
'success'
])
{
THIS
.
certificationVxUrl
=
e
[
'data'
][
'imgUrl'
];
THIS
.
changeDetectorRef
.
markForCheck
();
THIS
.
changeDetectorRef
.
detectChanges
();
}
else
{
alert
(
e
[
'message'
]);
}
});
}
});
}
});
}
}
src/app/my/application-process/employee-id-card/employee-id-card.component.ts
View file @
fa290fb1
...
...
@@ -77,7 +77,6 @@ export class EmployeeIdCardComponent implements OnInit {
origin
:
'ydLife'
};
THIS
.
myService
.
mediaGet
(
m
).
subscribe
(
async
e
=>
{
alert
(
e
[
'data'
])
if
(
e
[
'success'
])
{
if
(
type
==
'front'
){
THIS
.
frontVxUrl
=
e
[
'data'
][
'imgUrl'
];
...
...
src/app/my/application-process/invitation/invitation.component.html
View file @
fa290fb1
<div
class=
"invitation_wrapper"
>
<img
src=
"assets/images/banner.jpg"
alt=
"邀请"
/>
<div
class=
"invitation_content"
>
<p
*
ngIf=
"type=='inviter'"
>
您将邀请{{invit
ator
Name}}
</p>
<p
*
ngIf=
"type=='inviter'"
>
您将邀请{{invit
ee
Name}}
</p>
<p
*
ngIf=
"type=='invitees'"
>
{{invitatorName}}邀请您
</p>
<p>
加入银盾保险经纪
</p>
</div>
...
...
src/app/my/application-process/invitation/invitation.component.ts
View file @
fa290fb1
...
...
@@ -11,10 +11,13 @@ import { environment } from '../../../../environments/environment';
export
class
InvitationComponent
implements
OnInit
{
//判断邀请人/被邀请人
type
:
string
;
//邀请人名字
invitatorName
:
string
;
lifeCustomerInfo
:
any
;
deviceType
:
any
;
hiringBasicInfoId
:
any
;
//被邀请人
inviteeName
:
string
;
constructor
(
private
myService
:
MyService
,
private
activatedRoute
:
ActivatedRoute
,
public
lifeCommonService
:
LifeCommonService
,
...
...
@@ -26,7 +29,8 @@ export class InvitationComponent implements OnInit {
this
.
lifeCustomerInfo
=
JSON
.
parse
(
localStorage
.
getItem
(
'lifeCustomerInfo'
))
?
JSON
.
parse
(
localStorage
.
getItem
(
'lifeCustomerInfo'
))
:
null
;
this
.
type
=
this
.
activatedRoute
.
snapshot
.
data
[
0
][
'type'
];
this
.
hiringBasicInfoId
=
this
.
activatedRoute
.
snapshot
.
queryParams
.
hiringBasicInfoId
?
this
.
activatedRoute
.
snapshot
.
queryParams
.
hiringBasicInfoId
:
null
;
this
.
invitatorName
=
this
.
activatedRoute
.
snapshot
.
queryParams
.
name
?
this
.
activatedRoute
.
snapshot
.
queryParams
.
name
:
null
;
this
.
invitatorName
=
this
.
activatedRoute
.
snapshot
.
queryParams
.
invitatorName
?
this
.
activatedRoute
.
snapshot
.
queryParams
.
invitatorName
:
null
;
this
.
inviteeName
=
this
.
activatedRoute
.
snapshot
.
queryParams
.
inviteeName
?
this
.
activatedRoute
.
snapshot
.
queryParams
.
inviteeName
:
null
;
this
.
deviceType
=
this
.
lifeCommonService
.
checkDeviceType
();
}
...
...
@@ -38,7 +42,7 @@ export class InvitationComponent implements OnInit {
this
.
lifeCommonService
.
wxShare
(
`
${
this
.
lifeCustomerInfo
.
practitionerBasicInfo
.
name
}
`
,
'您的好友向你发出了邀请。加入靠谱的团队、一起做靠谱的事。'
,
`https://
${
window
.
location
.
host
}
/ydLife/invitees?hiringBasicInfoId=
${
this
.
hiringBasicInfoId
}
`
,
`https://
${
window
.
location
.
host
}
/ydLife/invitees?hiringBasicInfoId=
${
this
.
hiringBasicInfoId
}
&invitatorName=
${
this
.
invitatorName
}
`
,
imgUrl
);
}
else
{
alert
(
'请在手机微信端发送邀请'
);
...
...
src/app/my/application-process/personal-photos/personal-photos.component.html
View file @
fa290fb1
...
...
@@ -4,11 +4,11 @@
<span
class=
"page_mark"
>
3/8
</span>
</div>
<div
class=
"content"
>
<div
class=
"photo_wrapper"
(
click
)="
selectPic
(
'
add
'
)"
*
ngIf=
"!vxUrl"
>
<div
class=
"photo_wrapper"
(
click
)="
selectPic
()"
*
ngIf=
"!vxUrl"
>
<img
src=
"assets/images/camera.png"
alt=
""
style=
"width: 29px;height: 29px;margin-bottom: 20px;"
/>
<div>
点击添加
</div>
</div>
<img
alt=
"个人照片"
src=
"{{vxUrl}}"
*
ngIf=
"vxUrl"
(
click
)="
selectPic
(
'
edit
'
)"
>
<img
alt=
"个人照片"
src=
"{{vxUrl}}"
*
ngIf=
"vxUrl"
(
click
)="
selectPic
()"
>
<div
class=
"tips"
>
<p>
2寸照片,一年之内近照
</p>
<p>
(请勿使用生活照,大小小于1mb)
</p>
...
...
src/app/my/application-process/personal-photos/personal-photos.component.ts
View file @
fa290fb1
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Component
,
OnInit
,
ChangeDetectorRef
}
from
'@angular/core'
;
import
{
MyService
}
from
'../../my.service'
;
import
{
ActivatedRoute
,
Router
}
from
"@angular/router"
;
import
{
LifeCommonService
}
from
"../../../common/life-common.service"
;
import
{
ChangeDetectorRef
}
from
'@angular/core'
;
declare
const
wx
:
any
;
@
Component
({
selector
:
'ydlife-personal-photos'
,
...
...
@@ -26,8 +25,7 @@ export class PersonalPhotosComponent implements OnInit {
}
selectPic
(
type
){
selectPic
(){
// 5.1 拍照、本地选图
const
t
=
this
;
wx
.
chooseImage
({
...
...
@@ -47,7 +45,6 @@ export class PersonalPhotosComponent implements OnInit {
origin
:
'ydLife'
};
THIS
.
myService
.
mediaGet
(
m
).
subscribe
(
async
e
=>
{
alert
(
e
[
'data'
])
if
(
e
[
'success'
])
{
THIS
.
vxUrl
=
e
[
'data'
][
'imgUrl'
];
THIS
.
changeDetectorRef
.
markForCheck
();
...
...
src/app/my/application-process/personal-statement/personal-statement.component.html
View file @
fa290fb1
...
...
@@ -6,24 +6,13 @@
</div>
<div
class=
"content"
>
<ul>
<li
class=
"selected"
>
<span>
未有犯罪记录
</span>
<span
class=
"iconfont icon-ar-r"
></span>
</li>
<li>
<span>
未有失信纪录
</span>
<span
class=
"iconfont icon-ar-r"
></span>
</li>
<li>
<span>
未在公信平台存有纪录
</span>
<span
class=
"iconfont icon-ar-r"
></span>
</li>
<li>
<span>
曾报聘于其他保险机构
</span>
<span
class=
"iconfont icon-ar-r"
></span>
<li
*
ngFor=
"let personalStatements of dropOptionsInfoList"
(
click
)="
selectStatements
(
personalStatements
)"
[
ngClass
]="{'
selected
'
:personalStatements
.
selected
}"
>
<span>
{{personalStatements.dropOptionName}}
</span>
<span
class=
"iconfont icon-gougou"
*
ngIf=
"personalStatements.selected"
></span>
</li>
</ul>
<textarea
class=
"form-control"
cols=
"10"
rows=
"5"
placeholder=
"输入报聘"
></textarea>
<textarea
class=
"form-control"
cols=
"10"
rows=
"5"
placeholder=
"输入报聘"
#
autofocusFlag
></textarea>
</div>
<footer
class=
"fixed"
(
click
)="
next
()"
>
保存并下一步
...
...
@@ -62,4 +51,5 @@
<footer
class=
"fixed"
(
click
)="
next
()"
>
我已全部阅读且同意,下一步
</footer>
</div>
\ No newline at end of file
</div>
<ydlife-alert
*
ngIf=
"isNeedAlert"
[
dialogInfo
]="
dialogInfo
"
(
popInfo
)="
getPopInfo
()"
></ydlife-alert>
\ No newline at end of file
src/app/my/application-process/personal-statement/personal-statement.component.scss
View file @
fa290fb1
...
...
@@ -26,7 +26,33 @@
ul
li
.selected
{
background
:
#72B968
;
color
:
#fff
;
.ok-icon
{
display
:
inline-block
;
width
:
10px
;
height
:
3px
;
background
:
#00a5e0
;
line-height
:
0
;
font-size
:
0
;
font-weight
:
100
;
vertical-align
:
middle
;
-webkit-transform
:
rotate
(
45deg
);
outline
:
0
;
margin-right
:
8px
;
}
/*勾的css样式 右侧部分 */
.ok-icon
:after
{
content
:
'/'
;
display
:
block
;
width
:
20px
;
height
:
3px
;
background
:
#00a5e0
;
-webkit-transform
:
rotate
(
-90deg
)
translateY
(
-50%
)
translateX
(
50%
);
outline
:
0
;
margin-right
:
8px
;
}
}
textarea
{
background
:
#F8F8F8
;
border
:
0
;
...
...
src/app/my/application-process/personal-statement/personal-statement.component.ts
View file @
fa290fb1
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Component
,
OnInit
,
ViewChild
,
ElementRef
}
from
'@angular/core'
;
import
{
ActivatedRoute
,
Router
}
from
"@angular/router"
;
import
{
MyService
}
from
'../../my.service'
;
import
{
LifeCommonService
}
from
"../../../common/life-common.service"
;
...
...
@@ -9,9 +9,15 @@ import { LifeCommonService } from "../../../common/life-common.service";
styleUrls
:
[
'./personal-statement.component.scss'
]
})
export
class
PersonalStatementComponent
implements
OnInit
{
@
ViewChild
(
'autofocusFlag'
)
elementView
:
ElementRef
;
//判断是个人声明还是合同确认
type
:
any
;
hiringBasicInfoId
:
any
;
dropOptionsInfoList
:
Array
<
any
>
;
isNeedAlert
:
boolean
;
dialogInfo
:
any
;
autofocusFlag
:
boolean
;
dropOptionsInfoListParam
:
any
;
constructor
(
private
myService
:
MyService
,
private
activatedRoute
:
ActivatedRoute
,
public
lifeCommonService
:
LifeCommonService
,
...
...
@@ -23,13 +29,68 @@ export class PersonalStatementComponent implements OnInit {
this
.
lifeCommonService
.
setTitle
(
title
);
this
.
hiringBasicInfoId
=
this
.
activatedRoute
.
snapshot
.
queryParams
.
hiringBasicInfoId
?
this
.
activatedRoute
.
snapshot
.
queryParams
.
hiringBasicInfoId
:
null
;
console
.
log
(
this
.
type
)
if
(
this
.
type
===
"personal_statement"
){
this
.
dropOptionsQuery
()
}
}
next
(){
if
(
this
.
type
==
'personal_statement'
){
this
.
router
.
navigate
([
'/contract'
],{
queryParams
:
{
hiringBasicInfoId
:
this
.
hiringBasicInfoId
}
});
this
.
savePersonalStatements
()
// this.router.navigate(['/contract'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} });
}
else
if
(
this
.
type
==
'contract'
){
this
.
router
.
navigate
([
'/signature'
],{
queryParams
:
{
hiringBasicInfoId
:
this
.
hiringBasicInfoId
}
});
}
}
dropOptionsQuery
(){
this
.
myService
.
dropOptionsQuery
({
code
:
'EHiring_Personal_Statements'
}).
subscribe
((
res
)
=>
{
if
(
res
[
'success'
]){
this
.
dropOptionsInfoList
=
res
[
'data'
][
'dropMasterInfoList'
][
0
][
'dropOptionsInfoList'
];
}
else
{
this
.
openPopInfo
(
res
[
'message'
])
}
})
}
// 打开弹窗
openPopInfo
(
message
)
{
this
.
isNeedAlert
=
true
;
this
.
dialogInfo
=
{
title
:
null
,
content
:
{
value
:
message
,
align
:
'center'
},
footer
:
[{
value
:
'我知道了'
,
routerLink
:
''
,
className
:
'weui-dialog__btn_primary'
}],
};
}
selectStatements
(
personalStatements
){
personalStatements
.
selected
=
!
personalStatements
.
selected
;
if
(
personalStatements
.
id
==
'241'
&&
personalStatements
.
selected
==
true
){
//点击曾经报聘输入报聘自动获取焦点
this
.
elementView
.
nativeElement
.
focus
();
}
}
savePersonalStatements
(){
for
(
let
i
=
0
;
i
<
this
.
dropOptionsInfoList
.
length
;
i
++
){
this
.
dropOptionsInfoList
[
i
][
'personalStatements'
]
=
this
.
dropOptionsInfoList
[
i
][
'dropOptionName'
];
this
.
dropOptionsInfoList
[
i
][
'personalStatementsId'
]
=
this
.
dropOptionsInfoList
[
i
][
'id'
];
if
(
this
.
dropOptionsInfoList
[
i
][
'selected'
]
==
true
){
this
.
dropOptionsInfoList
[
i
][
'status'
]
=
1
;
}
else
{
this
.
dropOptionsInfoList
[
i
][
'status'
]
=
0
;
}
// this.dropOptionsInfoListParam = this.dropOptionsInfoListParam.push(
// {hiringBasicInfoId:this.hiringBasicInfoId,
// personalStatements:this.dropOptionsInfoList[i]['dropOptionName'],
// personalStatementsId:this.dropOptionsInfoList[i]['id'],
// status:this.dropOptionsInfoList[i]['status']
// }
// )
}
console
.
log
(
this
.
dropOptionsInfoListParam
)
}
}
src/app/my/application-process/register/register.component.html
View file @
fa290fb1
...
...
@@ -23,7 +23,7 @@
</div>
</div>
<footer
style=
"width: 80%;margin-top: 30px;"
(
click
)="
checkVerificationCode
()"
>
下一步
</footer>
<img
style=
"position:
absolute;bottom: 0;left: 0
;"
src=
"assets/images/register_bg.png"
alt=
""
>
<img
style=
"position:
relative;bottom: 0;left: 0;z-index: 1
;"
src=
"assets/images/register_bg.png"
alt=
""
>
</div>
<ydlife-alert
*
ngIf=
"isNeedAlert"
[
dialogInfo
]="
dialogInfo
"
(
popInfo
)="
getPopInfo
()"
></ydlife-alert>
<ydlife-toast
*
ngIf=
"toastDialog"
[
toastInfo
]="
toastInfo
"
></ydlife-toast>
src/app/my/application-process/register/register.component.scss
View file @
fa290fb1
.register_wrapper
{
margin
:
0
auto
;
text-align
:
center
;
position
:
relative
;
img
.logo
{
width
:
25%
;
margin-top
:
20
%
;
margin-top
:
15
%
;
}
.weui-form__control-area
{
width
:
80%
;
...
...
src/app/my/my.service.ts
View file @
fa290fb1
...
...
@@ -454,4 +454,25 @@ export class MyService {
return
this
.
http
.
post
(
url
,
JSON
.
stringify
(
param
));
}
//学历
saveLastGraduateGrade
(
param
){
const
url
=
this
.
ydapi
+
'/practitionerHiring/saveLastGraduateGrade'
;
return
this
.
http
.
post
(
url
,
JSON
.
stringify
(
param
));
}
//银行信息保存
saveBankAccount
(
param
){
const
url
=
this
.
ydapi
+
'/practitionerHiring/saveBankAccount'
;
return
this
.
http
.
post
(
url
,
JSON
.
stringify
(
param
));
}
//个人申明
savePersonalStatements
(
param
){
const
url
=
this
.
ydapi
+
'/practitionerHiring/savePersonalStatements'
;
return
this
.
http
.
post
(
url
,
JSON
.
stringify
(
param
));
}
}
src/app/my/recruiting-detail/recruiting-detail.component.ts
View file @
fa290fb1
...
...
@@ -45,6 +45,7 @@ export class RecruitingDetailComponent implements OnInit {
practitionerLevelInfos
:
Array
<
any
>
;
practitionerList
:
Array
<
any
>
;
hiringBasicInfoId
:
any
;
practitionerName
:
any
;
constructor
(
private
activateRoute
:
ActivatedRoute
,
public
lifeCommonService
:
LifeCommonService
,
...
...
@@ -59,11 +60,14 @@ export class RecruitingDetailComponent implements OnInit {
}
ngOnInit
()
{
this
.
practitionerName
=
JSON
.
parse
(
localStorage
.
getItem
(
'lifeCustomerInfo'
))[
'practitionerBasicInfo'
][
'name'
];
this
.
isPC
=
this
.
lifeCommonService
.
checkDeviceType
();
//潜在增员id
this
.
potentialId
=
Number
(
this
.
activateRoute
.
snapshot
.
paramMap
.
get
(
'id'
));
//状态
this
.
status
=
this
.
activateRoute
.
snapshot
.
queryParams
[
'status'
];
this
.
hiringBasicInfoId
=
this
.
activateRoute
.
snapshot
.
queryParams
[
'hiringBasicInfoId'
]?
this
.
activateRoute
.
snapshot
.
queryParams
[
'hiringBasicInfoId'
]:
null
;
this
.
dropOptionsQuery
(
1
);
this
.
educationLevelQuery
();
if
(
this
.
potentialId
===
0
)
{
...
...
@@ -81,8 +85,6 @@ export class RecruitingDetailComponent implements OnInit {
}
//获取基本信息
this
.
recruitListQuery
();
this
.
employQuery
=
new
EmployQuery
(
this
.
employQuery
.
name
,
null
,
null
,
this
.
potentialId
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
)
}
selectTab
(
id
)
{
...
...
@@ -103,6 +105,12 @@ export class RecruitingDetailComponent implements OnInit {
this
.
employQuery
.
name
=
this
.
editRecruiting
.
name
;
this
.
practitionerTypeAndLevelQuery
();
this
.
practitionerListQuery
();
//初始化被邀请人信息
if
(
this
.
hiringBasicInfoId
){
this
.
queryMembershipByHiringBasicInfoId
();
}
else
{
this
.
employQuery
=
new
EmployQuery
(
this
.
employQuery
.
name
,
null
,
null
,
this
.
potentialId
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
)
}
}
}
else
{
this
.
selectedId
=
1
;
...
...
@@ -464,7 +472,7 @@ export class RecruitingDetailComponent implements OnInit {
}
invite
(){
this
.
router
.
navigate
([
'/inviter'
],
{
queryParams
:
{
name
:
this
.
employQuery
.
name
,
hiringBasicInfoId
:
this
.
hiringBasicInfoId
}
});
this
.
router
.
navigate
([
'/inviter'
],
{
queryParams
:
{
inviteeName
:
this
.
employQuery
.
name
,
hiringBasicInfoId
:
this
.
hiringBasicInfoId
,
invitatorName
:
this
.
practitionerName
}
});
}
/**
...
...
@@ -525,4 +533,24 @@ export class RecruitingDetailComponent implements OnInit {
return
;
}
}
queryMembershipByHiringBasicInfoId
(){
this
.
myService
.
queryMembershipByHiringBasicInfoId
({
hiringBasicInfoId
:
this
.
hiringBasicInfoId
}).
subscribe
((
res
)
=>
{
if
(
res
[
'success'
]){
const
membership
=
res
[
'data'
][
'membership'
];
this
.
employQuery
=
membership
;
this
.
employQuery
.
name
=
this
.
editRecruiting
.
name
;
this
.
employQuery
.
practitionerPotentialId
=
this
.
potentialId
;
}
else
{
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
res
[
'message'
],
timeout
:
3000
,
align
:
'center'
};
this
.
employQuery
=
new
EmployQuery
(
this
.
employQuery
.
name
,
null
,
null
,
this
.
potentialId
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
)
}
})
}
}
src/app/my/recruiting/recruiting.component.ts
View file @
fa290fb1
...
...
@@ -17,6 +17,7 @@ export class RecruitingComponent implements OnInit {
//控制弹框
toastDialog
:
boolean
;
toastInfo
:
any
;
hiringBasicInfoId
:
any
;
constructor
(
private
router
:
Router
,
private
myService
:
MyService
,
private
activatedRoute
:
ActivatedRoute
)
{
this
.
pageType
=
this
.
activatedRoute
.
snapshot
.
data
[
0
][
'type'
];
}
...
...
@@ -70,7 +71,7 @@ export class RecruitingComponent implements OnInit {
isJumpToDetail
(
potentialId
,
recruitingItem
?:
any
){
if
(
this
.
pageType
==
'recruiting'
){
this
.
router
.
navigate
([
`/recruiting/
${
potentialId
}
`
],
{
queryParams
:
{
status
:
this
.
selectedId
}
});
this
.
router
.
navigate
([
`/recruiting/
${
potentialId
}
`
],
{
queryParams
:
{
status
:
this
.
selectedId
,
hiringBasicInfoId
:
recruitingItem
.
hiringBasicInfoId
}
});
}
else
{
if
(
!
this
.
selectedRecruiting
){
this
.
selectedRecruiting
=
recruitingItem
;
...
...
src/styles.scss
View file @
fa290fb1
...
...
@@ -169,6 +169,7 @@ footer.fixed{
height
:
56px
;
line-height
:
56px
;
border-radius
:
0
;
z-index
:
100
;
}
.page_mark
{
width
:
40px
;
...
...
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