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
3b404253
Commit
3b404253
authored
May 12, 2020
by
Chao Sun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
团队长bug修复
parent
92b442f8
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
242 additions
and
102 deletions
+242
-102
src/app/common/life-common.service.ts
+17
-0
src/app/domain/recruitingQuery.ts
+3
-1
src/app/my/my-center-home/my-center-home.component.ts
+52
-52
src/app/my/my.service.ts
+1
-1
src/app/my/recruiting-detail/recruiting-detail.component.html
+31
-33
src/app/my/recruiting-detail/recruiting-detail.component.scss
+11
-0
src/app/my/recruiting-detail/recruiting-detail.component.ts
+127
-15
No files found.
src/app/common/life-common.service.ts
View file @
3b404253
...
@@ -153,4 +153,21 @@ export class LifeCommonService {
...
@@ -153,4 +153,21 @@ export class LifeCommonService {
return
str
.
replace
(
/<
[^
>
]
+>/g
,
""
);
//去掉所有的html标记
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
);
}
}
}
src/app/domain/recruitingQuery.ts
View file @
3b404253
...
@@ -15,7 +15,8 @@ export class RecruitingQuery {
...
@@ -15,7 +15,8 @@ export class RecruitingQuery {
public
ossPathResume
?:
string
,
public
ossPathResume
?:
string
,
public
assignedId
?:
string
,
public
assignedId
?:
string
,
public
operateUserId
?:
string
,
public
operateUserId
?:
string
,
public
potentialId
?:
string
public
potentialId
?:
string
,
public
practitionerId
?:
any
)
{
)
{
}
}
}
}
\ No newline at end of file
src/app/my/my-center-home/my-center-home.component.ts
View file @
3b404253
...
@@ -57,64 +57,64 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
...
@@ -57,64 +57,64 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
this
.
rank
(
1
,
1
,
1
)
this
.
rank
(
1
,
1
,
1
)
this
.
rank
(
1
,
2
,
1
)
this
.
rank
(
1
,
2
,
1
)
this
.
recommendPlanQuery
();
this
.
recommendPlanQuery
();
//判断是否团队长
this
.
subordinateSystemMemberQuery
();
this
.
subordinateSystemMemberQuery
();
setTimeout
(()
=>
{
this
.
menuLists
=
[
{
title
:
'营销工具'
,
content
:
[
{
no
:
2
,
subtitle
:
'AI保险医生'
,
icon
:
'icon-AI'
,
path
:
`https://
${
window
.
location
.
host
}
/questionnaire/#/index?campaign=AIRobot&task=AItask1&customerId=
${
this
.
lifeCustomerInfo
.
customerId
}
`
,
routerLink
:
''
},
{
no
:
1
,
subtitle
:
'獴哥保险诊所'
,
icon
:
'icon-zhensuozhongxin'
,
path
:
`https://
${
window
.
location
.
host
}
/consulting`
,
routerLink
:
''
},
{
no
:
4
,
subtitle
:
'线上投保'
,
icon
:
'icon-yidonghulianwang2'
,
path
:
`https://
${
window
.
location
.
host
}
/index`
,
routerLink
:
''
},
{
no
:
13
,
subtitle
:
'我的商机'
,
icon
:
'icon-xiansuo1'
,
path
:
''
,
routerLink
:
'business'
},
{
no
:
12
,
subtitle
:
'我的保单'
,
icon
:
'icon-baodanyangben'
,
path
:
''
,
routerLink
:
''
},
{
no
:
14
,
subtitle
:
'我的佣金'
,
icon
:
'icon-yongjin'
,
path
:
''
,
routerLink
:
''
},
{
no
:
''
,
subtitle
:
''
,
icon
:
''
,
path
:
''
,
routerLink
:
''
},
{
no
:
''
,
subtitle
:
''
,
icon
:
''
,
path
:
''
,
routerLink
:
''
}
],
isShow
:
true
},
{
title
:
'我的团队'
,
content
:
[
{
no
:
15
,
subtitle
:
'我的团队'
,
icon
:
'icon-tuandui'
,
path
:
''
,
routerLink
:
'teamRank'
},
// { no: 16, subtitle: '团队增员', icon: 'icon-tuanduiguanlisvg', path: '', routerLink: '' },
{
no
:
16
,
subtitle
:
'团队增员'
,
icon
:
'icon-tuanduiguanlisvg'
,
path
:
''
,
routerLink
:
'recruiting'
},
{
no
:
18
,
subtitle
:
'招募海报'
,
icon
:
'icon-haibao-1'
,
path
:
''
,
routerLink
:
''
},
{
no
:
''
,
subtitle
:
''
,
icon
:
''
,
path
:
''
,
routerLink
:
''
}
],
isShow
:
this
.
isShow
},
{
title
:
'教育培训'
,
content
:
[
{
no
:
5
,
subtitle
:
'保险ABC'
,
icon
:
'icon-zidian'
,
path
:
`https://
${
window
.
location
.
host
}
/issue`
,
routerLink
:
''
},
{
no
:
6
,
subtitle
:
'培训课件'
,
icon
:
'icon-ziliaoku'
,
path
:
''
,
routerLink
:
'training'
},
{
no
:
11
,
subtitle
:
'文件下载'
,
icon
:
'icon-xiazai1'
,
path
:
'https://www.ydinsurance.cn/?page_id=13957'
,
routerLink
:
'fileUpload'
},
{
no
:
17
,
subtitle
:
'产品库'
,
icon
:
'icon-jingxuanchanpinku'
,
path
:
'https://www.ydinsurance.cn/?page_id=14331'
,
routerLink
:
''
},
],
isShow
:
true
},
{
title
:
'展业工具'
,
content
:
[
{
no
:
9
,
subtitle
:
'我的名片'
,
icon
:
'icon-zhiyezhenghao'
,
path
:
`https://
${
window
.
location
.
host
}
/brokerQry/#/brokerDetail/
${
this
.
lifeCustomerInfo
.
practitionerId
}
`
,
routerLink
:
''
},
{
no
:
10
,
subtitle
:
'职业类别'
,
icon
:
'icon-zhiye'
,
path
:
'https://www.ydinsurance.cn/occupationQry/'
,
routerLink
:
''
},
{
no
:
7
,
subtitle
:
'文章分享'
,
icon
:
'icon-fenxiangwenzhang'
,
path
:
`https://
${
window
.
location
.
host
}
/discovery`
,
routerLink
:
''
},
{
no
:
3
,
subtitle
:
'产品海报'
,
icon
:
'icon-haibao-1'
,
path
:
'/salesDetail'
,
routerLink
:
'material'
},
],
isShow
:
true
}
];
},
300
)
}
}
ngAfterViewInit
()
{
ngAfterViewInit
()
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
firstAnnouncementTitle
=
this
.
getStr
(
this
.
hide
.
nativeElement
.
innerText
,
'32'
)
this
.
firstAnnouncementTitle
=
this
.
getStr
(
this
.
hide
.
nativeElement
.
innerText
,
'32'
)
},
400
);
},
400
);
}
getMenuList
()
{
this
.
menuLists
=
[
{
title
:
'营销工具'
,
content
:
[
{
no
:
2
,
subtitle
:
'AI保险医生'
,
icon
:
'icon-AI'
,
path
:
`https://
${
window
.
location
.
host
}
/questionnaire/#/index?campaign=AIRobot&task=AItask1&customerId=
${
this
.
lifeCustomerInfo
.
customerId
}
`
,
routerLink
:
''
},
{
no
:
1
,
subtitle
:
'獴哥保险诊所'
,
icon
:
'icon-zhensuozhongxin'
,
path
:
`https://
${
window
.
location
.
host
}
/consulting`
,
routerLink
:
''
},
{
no
:
4
,
subtitle
:
'线上投保'
,
icon
:
'icon-yidonghulianwang2'
,
path
:
`https://
${
window
.
location
.
host
}
/index`
,
routerLink
:
''
},
{
no
:
13
,
subtitle
:
'我的商机'
,
icon
:
'icon-xiansuo1'
,
path
:
''
,
routerLink
:
'business'
},
{
no
:
12
,
subtitle
:
'我的保单'
,
icon
:
'icon-baodanyangben'
,
path
:
''
,
routerLink
:
''
},
{
no
:
14
,
subtitle
:
'我的佣金'
,
icon
:
'icon-yongjin'
,
path
:
''
,
routerLink
:
''
},
{
no
:
''
,
subtitle
:
''
,
icon
:
''
,
path
:
''
,
routerLink
:
''
},
{
no
:
''
,
subtitle
:
''
,
icon
:
''
,
path
:
''
,
routerLink
:
''
}
],
isShow
:
true
},
{
title
:
'我的团队'
,
content
:
[
{
no
:
15
,
subtitle
:
'我的团队'
,
icon
:
'icon-tuandui'
,
path
:
''
,
routerLink
:
'teamRank'
},
// { no: 16, subtitle: '团队增员', icon: 'icon-tuanduiguanlisvg', path: '', routerLink: '' },
{
no
:
16
,
subtitle
:
'团队增员'
,
icon
:
'icon-tuanduiguanlisvg'
,
path
:
''
,
routerLink
:
'recruiting'
},
{
no
:
18
,
subtitle
:
'招募海报'
,
icon
:
'icon-haibao-1'
,
path
:
''
,
routerLink
:
''
},
{
no
:
''
,
subtitle
:
''
,
icon
:
''
,
path
:
''
,
routerLink
:
''
}
],
isShow
:
this
.
isShow
},
{
title
:
'教育培训'
,
content
:
[
{
no
:
5
,
subtitle
:
'保险ABC'
,
icon
:
'icon-zidian'
,
path
:
`https://
${
window
.
location
.
host
}
/issue`
,
routerLink
:
''
},
{
no
:
6
,
subtitle
:
'培训课件'
,
icon
:
'icon-ziliaoku'
,
path
:
''
,
routerLink
:
'training'
},
{
no
:
11
,
subtitle
:
'文件下载'
,
icon
:
'icon-xiazai1'
,
path
:
'https://www.ydinsurance.cn/?page_id=13957'
,
routerLink
:
'fileUpload'
},
{
no
:
17
,
subtitle
:
'产品库'
,
icon
:
'icon-jingxuanchanpinku'
,
path
:
'https://www.ydinsurance.cn/?page_id=14331'
,
routerLink
:
''
},
],
isShow
:
true
},
{
title
:
'展业工具'
,
content
:
[
{
no
:
9
,
subtitle
:
'我的名片'
,
icon
:
'icon-zhiyezhenghao'
,
path
:
`https://
${
window
.
location
.
host
}
/brokerQry/#/brokerDetail/
${
this
.
lifeCustomerInfo
.
practitionerId
}
`
,
routerLink
:
''
},
{
no
:
10
,
subtitle
:
'职业类别'
,
icon
:
'icon-zhiye'
,
path
:
'https://www.ydinsurance.cn/occupationQry/'
,
routerLink
:
''
},
{
no
:
7
,
subtitle
:
'文章分享'
,
icon
:
'icon-fenxiangwenzhang'
,
path
:
`https://
${
window
.
location
.
host
}
/discovery`
,
routerLink
:
''
},
{
no
:
3
,
subtitle
:
'产品海报'
,
icon
:
'icon-haibao-1'
,
path
:
'/salesDetail'
,
routerLink
:
'material'
},
],
isShow
:
true
}
];
}
}
// 菜单导航
// 菜单导航
...
@@ -207,7 +207,6 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
...
@@ -207,7 +207,6 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
})
})
}
}
//截取字符串
//截取字符串
getStr
(
str
,
len
)
{
getStr
(
str
,
len
)
{
if
(
!
str
)
return
""
;
if
(
!
str
)
return
""
;
...
@@ -228,7 +227,6 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
...
@@ -228,7 +227,6 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
return
str
;
return
str
;
}
}
// 大家都在买产品查询列表
// 大家都在买产品查询列表
recommendPlanQuery
()
{
recommendPlanQuery
()
{
this
.
myService
.
queryproductlistbytag
({
mdTagId
:
17
}).
subscribe
(
res
=>
{
this
.
myService
.
queryproductlistbytag
({
mdTagId
:
17
}).
subscribe
(
res
=>
{
...
@@ -285,8 +283,10 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
...
@@ -285,8 +283,10 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
this
.
myService
.
subordinateSystemMemberQuery
({
practitionerId
:
practitionerId
,
time
:
1
}).
subscribe
((
res
)
=>
{
this
.
myService
.
subordinateSystemMemberQuery
({
practitionerId
:
practitionerId
,
time
:
1
}).
subscribe
((
res
)
=>
{
if
(
res
[
'success'
])
{
if
(
res
[
'success'
])
{
this
.
isShow
=
true
;
this
.
isShow
=
true
;
this
.
getMenuList
();
}
else
{
}
else
{
this
.
isShow
=
false
;
this
.
isShow
=
false
;
this
.
getMenuList
();
}
}
})
})
}
}
...
...
src/app/my/my.service.ts
View file @
3b404253
...
@@ -173,7 +173,7 @@ export class MyService {
...
@@ -173,7 +173,7 @@ export class MyService {
//创建增员跟进记录
//创建增员跟进记录
addRecruitTrack
(
param
)
{
addRecruitTrack
(
param
)
{
const
url
=
this
.
ydapi
+
'/practitioner/
recruitTrackQuery
'
;
const
url
=
this
.
ydapi
+
'/practitioner/
addRecruitTrack
'
;
return
this
.
http
return
this
.
http
.
post
(
url
,
JSON
.
stringify
(
param
));
.
post
(
url
,
JSON
.
stringify
(
param
));
}
}
...
...
src/app/my/recruiting-detail/recruiting-detail.component.html
View file @
3b404253
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
<i
class=
"iconfont icon-save"
*
ngIf=
"!readonlyFlag"
(
click
)="
saveInfo
()"
></i>
<i
class=
"iconfont icon-save"
*
ngIf=
"!readonlyFlag"
(
click
)="
saveInfo
()"
></i>
<div
class=
"contentDetail"
>
<div
class=
"contentDetail"
>
<div
class=
"contentItem"
>
<div
class=
"contentItem"
>
<span>
姓名
</span>
<span>
<sub>
*
</sub>
姓名
</span>
<input
class=
"form-control"
type=
"text"
placeholder=
"{{readonlyFlag ?'暂无姓名':'请输入姓名'}}"
<input
class=
"form-control"
type=
"text"
placeholder=
"{{readonlyFlag ?'暂无姓名':'请输入姓名'}}"
[(
ngModel
)]="
editRecruiting
.
name
"
[
disabled
]="
readonlyFlag
"
/>
[(
ngModel
)]="
editRecruiting
.
name
"
[
disabled
]="
readonlyFlag
"
/>
</div>
</div>
...
@@ -36,11 +36,14 @@
...
@@ -36,11 +36,14 @@
</div>
</div>
<div
class=
"contentItem"
>
<div
class=
"contentItem"
>
<span>
手机
</span>
<span><sub>
*
</sub>
手机
</span>
<a
style=
"text-decoration:none;color: #333;margin-right: 16px;"
href=
"tel:{{editRecruiting.mobileNo}}"
>
<a
*
ngIf=
"this.id!=0"
style=
"text-decoration:none;color: #333;margin-right: 16px;"
href=
"tel:{{editRecruiting.mobileNo}}"
>
<i
class=
"iconfont icon-dianhua"
style=
"color: #e10d0d;"
></i>
<i
class=
"iconfont icon-dianhua"
style=
"color: #e10d0d;"
></i>
{{editRecruiting.mobileNo}}
</a>
{{editRecruiting.mobileNo}}
<!-- <input class="form-control" type="text" [(ngModel)]="editRecruiting.mobileNo" disabled /> -->
</a>
<input
class=
"form-control"
type=
"text"
maxlength=
"11"
[(
ngModel
)]="
editRecruiting
.
mobileNo
"
*
ngIf=
"this.id==0"
placeholder=
"请输入手机号"
/>
</div>
</div>
<div
class=
"contentItem"
>
<div
class=
"contentItem"
>
<span>
微信
</span>
<span>
微信
</span>
...
@@ -65,49 +68,44 @@
...
@@ -65,49 +68,44 @@
</div>
</div>
<div
class=
"contentItem"
>
<div
class=
"contentItem"
>
<span>
招募来源
</span>
<span>
招募来源
</span>
<input
class=
"form-control"
type=
"text"
[(
ngModel
)]="
editRecruiting
.
sourceChannel
"
disabled
/>
<select
class=
"form-control"
[(
ngModel
)]="
editRecruiting
.
resourceDropMasterId
"
[
disabled
]="
readonlyFlag
"
style=
" direction: rtl;"
>
<option
value=
''
>
请选择招募来源
</option>
<option
*
ngFor=
"let resourceItem of resourceList"
[
value
]="
resourceItem
.
id
"
>
{{resourceItem.dropOptionName}}
</option>
</select>
</div>
</div>
<div
class=
"contentItem"
*
ngIf=
"this.id!=0"
>
<div
class=
"contentItem"
>
<span>
增员创建时间
</span>
<span>
时间
</span>
<input
class=
"form-control"
type=
"text"
placeholder=
"增员创建时间"
[(
ngModel
)]="
editRecruiting
.
opportunityDate
"
<input
class=
"form-control"
type=
"text"
placeholder=
"增员创建时间"
[(
ngModel
)]="
editRecruiting
.
opportunityDate
"
disabled
/>
disabled
/>
</div>
</div>
<div
class=
"contentItem"
>
<div
class=
"contentItem"
*
ngIf=
"this.id!=0"
>
<span>
增员状态
</span>
<span>
增员状态
</span>
<div
style=
"padding: 6px 15px;padding: 6px 15px;color: #e10d0d;font-weight: bold;"
>
<div
style=
"padding: 6px 15px;padding: 6px 15px;color: #e10d0d;font-weight: bold;"
>
{{editRecruiting.mdDropOptionId}}
</div>
{{editRecruiting.mdDropOptionId}}
</div>
</div>
</div>
<div
class=
"contentItem"
>
<span>
备注
</span>
<input
class=
"form-control"
type=
"text"
placeholder=
"{{readonlyFlag ?'暂无备注':'请输入备注信息'}}"
[(
ngModel
)]="
editRecruiting
.
remark
"
[
disabled
]="
readonlyFlag
"
(
blur
)="
inputBlur
()"
/>
</div>
</div>
</div>
</div>
</div>
<div
class=
"content"
*
ngIf=
"selectedId===2"
>
<div
class=
"content"
*
ngIf=
"selectedId===2"
>
<div
style=
"text-align: center;font-size: 16px;margin-top: 10px;"
<div
style=
"text-align: center;font-size: 16px;margin-top: 10px;"
*
ngIf=
"opportunitySurveyAnswersList?.length==0 || !opportunitySurveyAnswersList"
>
*
ngIf=
"opportunitySurveyAnswersList?.length==0 || !opportunitySurveyAnswersList"
>
暂无简历
</div>
暂无简历
</div>
<div
class=
"answerContent"
*
ngFor=
"let surveyItem of opportunitySurveyAnswersList"
>
<div
class=
"questionTitle"
>
{{surveyItem.questionName}}
</div>
<div
class=
"questionContent"
>
{{surveyItem.optionName}}
</div>
</div>
</div>
</div>
<div
class=
"content"
*
ngIf=
"selectedId===4"
>
<div
class=
"content"
*
ngIf=
"selectedId===3;"
>
<div
style=
"text-align: center;font-size: 16px;margin-top: 10px;"
*
ngIf=
"isCompletedQuestionnaire!=3"
>
暂无方案
</div>
</div>
<div
class=
"content"
*
ngIf=
"selectedId===3"
>
<ul
class=
"recordLists"
>
<ul
class=
"recordLists"
>
<li
*
ngFor=
"let opportunityRecordItem of opportunityRecordInfos"
>
<li
*
ngFor=
"let recruitTrackInfoItem of recruitTrackInfoList"
>
<div
style=
"display: flex;justify-content: space-between;"
>
<div
class=
"updatedAt"
>
{{opportunityRecordItem.noticeDate}}
</div>
<div
class=
"opportunityRecordItem"
>
{{lifeCommonService.checkStr(opportunityRecordItem.mdDropOptionId)}}
</div>
</div>
<div
class=
"salesNotice"
>
{{opportunityRecordItem.salesNotice}}
</div>
</li>
<li>
<div
class=
"salesNotice"
>
{{editRecruiting.opportunityDate}}
</div>
<div
style=
"display: flex;justify-content: space-between;"
>
<div
style=
"display: flex;justify-content: space-between;"
>
<div
>
增员状态
</div>
<div
class=
"updatedAt"
>
{{recruitTrackInfoItem.createAt}}
</div>
<div
>
待跟进
</div>
<div
class=
"opportunityRecordItem"
>
{{recruitTrackInfoItem.trackStatus}}
</div>
</div>
</div>
<div
class=
"salesNotice"
>
{{recruitTrackInfoItem.notice}}
</div>
</li>
</li>
</ul>
</ul>
<div
class=
"add"
(
click
)="
this
.
isShow =
true;"
>
<div
class=
"add"
(
click
)="
this
.
isShow =
true;"
>
...
@@ -133,15 +131,15 @@
...
@@ -133,15 +131,15 @@
</div>
</div>
</div>
</div>
<div>
<div>
<div>
备注
</div>
<div>
备注
{{notice}}
</div>
<div><input
type=
"text"
id=
"remark"
class=
"form-control"
placeholder=
"输入备注信息"
[(
ngModel
)]="
notice
"
<div><input
type=
"text"
id=
"remark"
class=
"form-control"
placeholder=
"输入备注信息"
[(
ngModel
)]="
notice
"
(
blur
)="
inputBlur
()"
></div>
(
blur
)="
inputBlur
()"
></div>
</div>
</div>
<div>
<
!-- <
div>
<div>跟进时间</div>
<div>跟进时间</div>
<div><input style="-webkit-appearance: none;" id="time" class="form-control" type="date"
<div><input style="-webkit-appearance: none;" id="time" class="form-control" type="date"
[(ngModel)]="opportunityRecordNoticeDate" (blur)="inputBlur()"></div>
[(ngModel)]="opportunityRecordNoticeDate" (blur)="inputBlur()"></div>
</div>
</div>
-->
<ul
class=
"footer"
>
<ul
class=
"footer"
>
<li
(
click
)="
addRecruitTrack
()"
>
确定
</li>
<li
(
click
)="
addRecruitTrack
()"
>
确定
</li>
<li
(
click
)="
this
.
isShow =
false;"
>
取消
</li>
<li
(
click
)="
this
.
isShow =
false;"
>
取消
</li>
...
...
src/app/my/recruiting-detail/recruiting-detail.component.scss
View file @
3b404253
...
@@ -85,6 +85,17 @@
...
@@ -85,6 +85,17 @@
opacity
:
1
;
opacity
:
1
;
}
}
}
}
span
{
position
:
relative
;
sub
{
position
:
absolute
;
margin-right
:
5px
;
font-weight
:
bold
;
color
:
#e10d0d
;
top
:
13px
;
left
:
-8px
;
}
}
}
}
.contentItem
:last-child
{
.contentItem
:last-child
{
border-bottom
:
none
;
border-bottom
:
none
;
...
...
src/app/my/recruiting-detail/recruiting-detail.component.ts
View file @
3b404253
...
@@ -31,6 +31,11 @@ export class RecruitingDetailComponent implements OnInit {
...
@@ -31,6 +31,11 @@ export class RecruitingDetailComponent implements OnInit {
//新增增员记录的备注
//新增增员记录的备注
notice
:
any
;
notice
:
any
;
trackStatusId
:
any
;
trackStatusId
:
any
;
//控制弹框
toastDialog
:
boolean
;
toastInfo
:
any
;
recruitTrackInfoList
:
Array
<
any
>
;
resourceList
:
Array
<
any
>
;
constructor
(
constructor
(
private
activateRoute
:
ActivatedRoute
,
private
activateRoute
:
ActivatedRoute
,
public
lifeCommonService
:
LifeCommonService
,
public
lifeCommonService
:
LifeCommonService
,
...
@@ -45,7 +50,7 @@ export class RecruitingDetailComponent implements OnInit {
...
@@ -45,7 +50,7 @@ export class RecruitingDetailComponent implements OnInit {
ngOnInit
()
{
ngOnInit
()
{
this
.
id
=
this
.
activateRoute
.
snapshot
.
paramMap
.
get
(
'id'
);
this
.
id
=
this
.
activateRoute
.
snapshot
.
paramMap
.
get
(
'id'
);
console
.
log
(
this
.
id
)
console
.
log
(
this
.
id
)
this
.
dropOptionsQuery
();
this
.
dropOptionsQuery
(
1
);
this
.
educationLevelQuery
();
this
.
educationLevelQuery
();
if
(
Number
(
this
.
id
)
===
0
)
{
if
(
Number
(
this
.
id
)
===
0
)
{
this
.
readonlyFlag
=
false
;
this
.
readonlyFlag
=
false
;
...
@@ -64,10 +69,15 @@ export class RecruitingDetailComponent implements OnInit {
...
@@ -64,10 +69,15 @@ export class RecruitingDetailComponent implements OnInit {
selectTab
(
id
)
{
selectTab
(
id
)
{
if
(
this
.
clickFlag
==
true
)
{
if
(
this
.
clickFlag
==
true
)
{
this
.
selectedId
=
id
;
this
.
selectedId
=
id
;
if
(
this
.
selectedId
===
3
)
{
//跟进列表查询
this
.
recruitTrackQuery
();
//招募来源列表
this
.
dropOptionsQuery
(
2
);
}
}
else
{
}
else
{
this
.
selectedId
=
1
;
this
.
selectedId
=
1
;
}
}
}
}
//改为编辑状态出现男女选项
//改为编辑状态出现男女选项
...
@@ -86,22 +96,36 @@ export class RecruitingDetailComponent implements OnInit {
...
@@ -86,22 +96,36 @@ export class RecruitingDetailComponent implements OnInit {
//查询跟进记录
//查询跟进记录
recruitTrackQuery
()
{
recruitTrackQuery
()
{
const
param
=
{
const
param
=
{
potentialId
:
null
,
potentialId
:
26
,
practitionerId
:
JSON
.
parse
(
localStorage
.
getItem
(
'lifeCustomerInfo'
))[
'practitionerId'
]
practitionerId
:
JSON
.
parse
(
localStorage
.
getItem
(
'lifeCustomerInfo'
))[
'practitionerId'
]
}
}
this
.
myService
.
recruitTrackQuery
(
param
).
subscribe
((
res
)
=>
{
this
.
myService
.
recruitTrackQuery
(
param
).
subscribe
((
res
)
=>
{
console
.
log
(
res
)
// console.log(res)
if
(
res
[
'success'
])
{
this
.
recruitTrackInfoList
=
res
[
'data'
][
'recruitTrackInfoList'
];
}
})
})
}
}
//跟进状态列表
//跟进状态列表type=2跟进状态type=1招募列表
dropOptionsQuery
()
{
dropOptionsQuery
(
type
)
{
this
.
myService
.
dropOptionsQuery
({
code
:
'team_biulding_track'
}).
subscribe
((
res
)
=>
{
if
(
type
===
1
)
{
if
(
res
[
'success'
])
{
//招募来源列表
this
.
recruitingStatusList
=
res
[
'data'
][
'dropMasterInfoList'
][
'0'
][
'dropOptionsInfoList'
];
this
.
myService
.
dropOptionsQuery
({
code
:
'team_building_source'
}).
subscribe
((
res
)
=>
{
}
if
(
res
[
'success'
])
{
})
this
.
resourceList
=
res
[
'data'
][
'dropMasterInfoList'
][
'0'
][
'dropOptionsInfoList'
];
}
})
}
if
(
type
===
2
)
{
//跟进状态列表
this
.
myService
.
dropOptionsQuery
({
code
:
'team_biulding_track'
}).
subscribe
((
res
)
=>
{
if
(
res
[
'success'
])
{
this
.
recruitingStatusList
=
res
[
'data'
][
'dropMasterInfoList'
][
'0'
][
'dropOptionsInfoList'
];
}
})
}
}
}
// 教育等级查询
// 教育等级查询
...
@@ -113,12 +137,86 @@ export class RecruitingDetailComponent implements OnInit {
...
@@ -113,12 +137,86 @@ export class RecruitingDetailComponent implements OnInit {
})
})
}
}
inputBlur
()
{
inputBlur
()
{
window
.
scrollTo
(
0
,
0
)
window
.
scrollTo
(
0
,
0
)
}
}
//创建增员跟进记录
//新增增员基本信息
saveInfo
()
{
this
.
editRecruiting
=
{
...
this
.
editRecruiting
,
practitionerId
:
JSON
.
parse
(
localStorage
.
getItem
(
'lifeCustomerInfo'
))[
'practitionerId'
]
}
console
.
log
(
JSON
.
parse
(
localStorage
.
getItem
(
'lifeCustomerInfo'
))[
'practitionerId'
])
if
(
!
this
.
editRecruiting
.
name
)
{
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
'姓名不能为空!'
,
timeout
:
3000
,
align
:
'center'
};
return
;
}
else
{
this
.
editRecruiting
.
name
=
this
.
editRecruiting
.
name
.
trim
();
if
(
!
this
.
lifeCommonService
.
nameValid
(
this
.
editRecruiting
.
name
))
{
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
'不要乱输姓名哦!'
,
timeout
:
3000
,
align
:
'center'
};
return
;
}
}
if
(
!
this
.
editRecruiting
.
mobileNo
)
{
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
'手机号不能为空!'
,
timeout
:
3000
,
align
:
'center'
};
return
;
}
else
{
this
.
editRecruiting
.
mobileNo
=
this
.
editRecruiting
.
mobileNo
.
trim
()
if
(
!
this
.
lifeCommonService
.
mobileNoValid
(
this
.
editRecruiting
.
mobileNo
))
{
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
'输入手机号码错误'
,
timeout
:
3000
,
align
:
'center'
};
return
;
}
}
console
.
log
(
this
.
editRecruiting
)
this
.
myService
.
recruit
(
this
.
editRecruiting
).
subscribe
((
res
)
=>
{
console
.
log
(
res
)
if
(
res
[
'success'
])
{
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
'添加增员对象成功!'
,
timeout
:
3000
,
align
:
'center'
};
}
else
{
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
res
[
'message'
],
timeout
:
3000
,
align
:
'center'
};
}
})
}
//新增增员跟进记录
addRecruitTrack
()
{
addRecruitTrack
()
{
const
RecruitTrackParam
=
{
const
RecruitTrackParam
=
{
potentialId
:
26
,
//测试先写死小小仙女
potentialId
:
26
,
//测试先写死小小仙女
...
@@ -126,12 +224,26 @@ export class RecruitingDetailComponent implements OnInit {
...
@@ -126,12 +224,26 @@ export class RecruitingDetailComponent implements OnInit {
notice
:
this
.
notice
,
notice
:
this
.
notice
,
trackStatusId
:
this
.
trackStatusId
trackStatusId
:
this
.
trackStatusId
}
}
console
.
log
(
this
.
notice
)
this
.
myService
.
addRecruitTrack
(
RecruitTrackParam
).
subscribe
((
res
)
=>
{
this
.
myService
.
addRecruitTrack
(
RecruitTrackParam
).
subscribe
((
res
)
=>
{
console
.
log
(
res
)
console
.
log
(
res
)
if
(
res
[
'success'
])
{
if
(
res
[
'success'
])
{
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
'保存成功!'
,
timeout
:
3000
,
align
:
'center'
};
this
.
recruitTrackQuery
();
}
else
{
}
else
{
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
res
[
'message'
],
timeout
:
3000
,
align
:
'center'
};
}
}
})
})
}
}
...
...
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