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
58254264
Commit
58254264
authored
Jul 14, 2023
by
zeyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.优化赢家平台 商机跟进的时间选择样式和校验
2.赢家平台嵌入SFP智能财策页面
parent
ba982ef6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
309 additions
and
155 deletions
+309
-155
src/app/my/my-business-detail/my-business-detail.component.html
+56
-38
src/app/my/my-business-detail/my-business-detail.component.scss
+75
-17
src/app/my/my-business-detail/my-business-detail.component.ts
+171
-97
src/environments/environment.prod.ts
+2
-1
src/environments/environment.stage.ts
+2
-1
src/environments/environment.ts
+3
-1
No files found.
src/app/my/my-business-detail/my-business-detail.component.html
View file @
58254264
...
@@ -21,31 +21,32 @@
...
@@ -21,31 +21,32 @@
<div
class=
"contentItem"
>
<div
class=
"contentItem"
>
<span>
出生日期
</span>
<span>
出生日期
</span>
<div>
<div>
<ListItem
<ListItem
DatePicker
[
mode
]="'
date
'"
[
disabled
]="
readonlyFlag
"
[
minDate
]="
minDate
"
DatePicker
[
maxDate
]="
today
"
[(
ngModel
)]="
editBusiness
.
birthDate
"
(
onOk
)="
onOk
($
event
)"
>
[
mode
]="'
date
'"
<Brief
*
ngIf=
"!readonlyFlag"
>
[
disabled
]="
readonlyFlag
"
{{editBusiness.birthDate ? (editBusiness.birthDate | date:'yyyy-MM-dd') : '请输入出生日期'}}
[
minDate
]="
minDate
"
</Brief>
[
maxDate
]
=
"
today
"
<Brief
*
ngIf=
"readonlyFlag"
>
[(
ngModel
)]="
editBusiness
.
birthDate
"
{{editBusiness.birthDate ? (editBusiness.birthDate | date:'yyyy-MM-dd') : '暂无出生日期信息'}}
(
onOk
)="
onOk
($
event
)"
>
</Brief>
<Brief
*
ngIf=
"!readonlyFlag"
>
{{editBusiness.birthDate ? (editBusiness.birthDate | date:'yyyy-MM-dd') : '请输入出生日期'}}
</Brief>
<Brief
*
ngIf=
"readonlyFlag"
>
{{editBusiness.birthDate ? (editBusiness.birthDate | date:'yyyy-MM-dd') : '暂无出生日期信息'}}
</Brief>
</ListItem>
</ListItem>
</div>
</div>
</div>
</div>
<div
class=
"contentItem"
>
<div
class=
"contentItem"
>
<span>
年龄
</span>
<span>
年龄
</span>
<input
class=
"form-control"
type=
"text"
placeholder=
"{{readonlyFlag ?'暂无年龄信息':'请输入年龄'}}"
<input
class=
"form-control"
type=
"text"
placeholder=
"{{readonlyFlag ?'暂无年龄信息':'请输入年龄'}}"
[(
ngModel
)]="
editBusiness
.
age
"
[
disabled
]="
readonlyFlag
||
editBusiness
.
birthDate
"
(
blur
)="
inputBlur
()"
/>
[(
ngModel
)]="
editBusiness
.
age
"
[
disabled
]="
readonlyFlag
||
editBusiness
.
birthDate
"
(
blur
)="
inputBlur
()"
/>
</div>
</div>
<div
class=
"contentItem"
>
<div
class=
"contentItem"
>
<span>
性别
</span>
<span>
性别
</span>
<div
class=
"sexWrapper"
>
<div
class=
"sexWrapper"
>
<button
class=
"form-control sex"
[
ngClass
]="{'
sexBtn
'
:editBusiness
?.
gender=
='1'
&&
maleFlag
&&
femaleFlag
}"
<button
class=
"form-control sex"
[
ngClass
]="{'
sexBtn
'
:editBusiness
?.
gender=
='1'
&&
maleFlag
&&
femaleFlag
}"
(
click
)="
selectedGender
('
1
')"
[
disabled
]="
readonlyFlag
"
*
ngIf=
"sexFlag && maleFlag"
>
男
(
click
)="
selectedGender
('
1
')"
[
disabled
]="
readonlyFlag
"
*
ngIf=
"sexFlag && maleFlag"
>
男
</button>
</button>
<button
class=
"form-control sex"
[
ngClass
]="{'
sexBtn
'
:editBusiness
?.
gender=
='2'
&&
maleFlag
&&
femaleFlag
}"
<button
class=
"form-control sex"
[
ngClass
]="{'
sexBtn
'
:editBusiness
?.
gender=
='2'
&&
maleFlag
&&
femaleFlag
}"
(
click
)="
selectedGender
('
2
')"
[
disabled
]="
readonlyFlag
"
*
ngIf=
"sexFlag && femaleFlag"
>
女
(
click
)="
selectedGender
('
2
')"
[
disabled
]="
readonlyFlag
"
*
ngIf=
"sexFlag && femaleFlag"
>
女
</button>
</button>
</div>
</div>
...
@@ -62,7 +63,8 @@
...
@@ -62,7 +63,8 @@
[(
ngModel
)]="
editBusiness
.
bloodTypeId
"
(
blur
)="
inputBlur
()"
>
[(
ngModel
)]="
editBusiness
.
bloodTypeId
"
(
blur
)="
inputBlur
()"
>
<option
value=
""
>
{{readonlyFlag ?'暂无血型信息':'请选择血型'}}
</option>
<option
value=
""
>
{{readonlyFlag ?'暂无血型信息':'请选择血型'}}
</option>
<option
*
ngFor=
"let businessBloodItem of businessBloodList"
[
value
]="
businessBloodItem
.
id
"
>
<option
*
ngFor=
"let businessBloodItem of businessBloodList"
[
value
]="
businessBloodItem
.
id
"
>
{{businessBloodItem.dropOptionName}}
</option>
{{businessBloodItem.dropOptionName}}
</option>
</select>
</select>
<!--<input class="form-control" type="text" placeholder="{{readonlyFlag ?'暂无血型信息':'请选择血型'}}"-->
<!--<input class="form-control" type="text" placeholder="{{readonlyFlag ?'暂无血型信息':'请选择血型'}}"-->
<!--[disabled]="readonlyFlag" [(ngModel)]="editBusiness.bloodTypeId" (blur)="inputBlur()" />-->
<!--[disabled]="readonlyFlag" [(ngModel)]="editBusiness.bloodTypeId" (blur)="inputBlur()" />-->
...
@@ -73,7 +75,8 @@
...
@@ -73,7 +75,8 @@
[(
ngModel
)]="
editBusiness
.
zodiacTypeId
"
(
blur
)="
inputBlur
()"
>
[(
ngModel
)]="
editBusiness
.
zodiacTypeId
"
(
blur
)="
inputBlur
()"
>
<option
value=
""
>
{{readonlyFlag ?'暂无星座信息':'请选择星座'}}
</option>
<option
value=
""
>
{{readonlyFlag ?'暂无星座信息':'请选择星座'}}
</option>
<option
*
ngFor=
"let businessZodiacItem of businessZodiacList"
[
value
]="
businessZodiacItem
.
id
"
>
<option
*
ngFor=
"let businessZodiacItem of businessZodiacList"
[
value
]="
businessZodiacItem
.
id
"
>
{{businessZodiacItem.dropOptionName}}
</option>
{{businessZodiacItem.dropOptionName}}
</option>
</select>
</select>
<!--<input class="form-control" type="text" placeholder="{{readonlyFlag ?'暂无星座信息':'请选择星座'}}"-->
<!--<input class="form-control" type="text" placeholder="{{readonlyFlag ?'暂无星座信息':'请选择星座'}}"-->
<!--[disabled]="readonlyFlag" [(ngModel)]="editBusiness.zodiacTypeId" (blur)="inputBlur()" />-->
<!--[disabled]="readonlyFlag" [(ngModel)]="editBusiness.zodiacTypeId" (blur)="inputBlur()" />-->
...
@@ -131,20 +134,23 @@
...
@@ -131,20 +134,23 @@
[(
ngModel
)]="
editBusiness
.
sourceFrom
"
[
disabled
]="
readonlyFlag
"
(
blur
)="
inputBlur
()"
>
[(
ngModel
)]="
editBusiness
.
sourceFrom
"
[
disabled
]="
readonlyFlag
"
(
blur
)="
inputBlur
()"
>
<option
value=
""
>
{{readonlyFlag ?'暂无商机来源':'请选择商机来源'}}
</option>
<option
value=
""
>
{{readonlyFlag ?'暂无商机来源':'请选择商机来源'}}
</option>
<option
*
ngFor=
"let businessSourceItem of businessSourceList"
[
value
]="
businessSourceItem
.
id
"
>
<option
*
ngFor=
"let businessSourceItem of businessSourceList"
[
value
]="
businessSourceItem
.
id
"
>
{{businessSourceItem.dropOptionName}}
</option>
{{businessSourceItem.dropOptionName}}
</option>
</select>
</select>
<input
*
ngIf=
"opportunityId!=0"
class=
"form-control"
type=
"text"
[(
ngModel
)]="
editBusiness
.
sourceChannel
"
<input
*
ngIf=
"opportunityId!=0"
class=
"form-control"
type=
"text"
disabled
placeholder=
"{{editBusiness.sourceChannel ?editBusiness.sourceChannel:'暂无商机来源'}}"
/>
[(
ngModel
)]="
editBusiness
.
sourceChannel
"
disabled
placeholder=
"{{editBusiness.sourceChannel ?editBusiness.sourceChannel:'暂无商机来源'}}"
/>
</div>
</div>
<div
class=
"contentItem"
>
<div
class=
"contentItem"
>
<span>
商机时间
</span>
<span>
商机时间
</span>
<input
class=
"form-control"
type=
"text"
placeholder=
"商机时间"
[(
ngModel
)]="
editBusiness
.
opportunityDate
"
<input
class=
"form-control"
type=
"text"
placeholder=
"商机时间
"
disabled
/>
[(
ngModel
)]="
editBusiness
.
opportunityDate
"
disabled
/>
</div>
</div>
<div
class=
"contentItem"
>
<div
class=
"contentItem"
>
<span>
商机状态
</span>
<span>
商机状态
</span>
<div
style=
"padding: 6px 12px;color: #e10d0d;font-weight: bold;"
>
<div
style=
"padding: 6px 12px;color: #e10d0d;font-weight: bold;"
>
{{editBusiness.mdDropOptionName?editBusiness.mdDropOptionName:'待跟进'}}
</div>
{{editBusiness.mdDropOptionName?editBusiness.mdDropOptionName:'待跟进'}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"wrapper_item"
style=
"border: none;margin-bottom: 0;"
>
<div
class=
"wrapper_item"
style=
"border: none;margin-bottom: 0;"
>
...
@@ -201,11 +207,9 @@
...
@@ -201,11 +207,9 @@
</div>
</div>
<!-- SFP咨询问卷 -->
<!-- SFP咨询问卷 -->
<div
class=
"content"
*
ngIf=
"selectedId===2 && isSfpShow == true"
>
<iframe
class=
"content"
*
ngIf=
"selectedId===2 && isSfpShow == true"
[
src
]="
transform
(
iframeUrl
)"
<iframe
src=
"http://localhost:4200/salesDetail"
style=
"height: 100%; width: 100%;flex-grow: 1
;"
>
style=
"width: 100%;flex-grow: 1;border: medium none
;"
>
</iframe>
</iframe>
</div>
<!-- 客户告知书 -->
<!-- 客户告知书 -->
<div
class=
"content"
*
ngIf=
"selectedId===5"
>
<div
class=
"content"
*
ngIf=
"selectedId===5"
>
<ydlife-e-notice
[
agreeFlag
]="
false
"
></ydlife-e-notice>
<ydlife-e-notice
[
agreeFlag
]="
false
"
></ydlife-e-notice>
...
@@ -220,8 +224,11 @@
...
@@ -220,8 +224,11 @@
<div
style=
"display: flex;justify-content: space-between;height: 25px;"
>
<div
style=
"display: flex;justify-content: space-between;height: 25px;"
>
<div
class=
"updatedAt"
>
{{opportunityRecordItem.noticeDate}}
</div>
<div
class=
"updatedAt"
>
{{opportunityRecordItem.noticeDate}}
</div>
<div
class=
"opportunityRecordItem"
>
<div
class=
"opportunityRecordItem"
>
<a
*
ngIf=
"opportunityRecordItem.informedOssPath"
href=
"{{opportunityRecordItem.informedOssPath}}"
target=
"_blank"
><i
class=
"iconfont icon-pdf"
style=
"color: #C81B1E;margin-right:5px"
></i></a>
<a
*
ngIf=
"opportunityRecordItem.informedOssPath"
<span
[
ngStyle
]="
setBackgroundColor
(
opportunityRecordItem
)"
>
{{opportunityRecordItem.mdDropOptionName?opportunityRecordItem.mdDropOptionName:'待跟进'}}
</span>
href=
"{{opportunityRecordItem.informedOssPath}}"
target=
"_blank"
><i
class=
"iconfont icon-pdf"
style=
"color: #C81B1E;margin-right:5px"
></i></a>
<span
[
ngStyle
]="
setBackgroundColor
(
opportunityRecordItem
)"
>
{{opportunityRecordItem.mdDropOptionName?opportunityRecordItem.mdDropOptionName:'待跟进'}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"salesNotice"
>
<div
class=
"salesNotice"
>
...
@@ -278,11 +285,25 @@
...
@@ -278,11 +285,25 @@
[(
ngModel
)]="
opportunityRecordNoticeDate
"
(
blur
)="
inputBlur
()"
></div>
[(
ngModel
)]="
opportunityRecordNoticeDate
"
(
blur
)="
inputBlur
()"
></div>
</div>
</div>
<div
*
ngIf=
"isSfpShow"
>
<div
*
ngIf=
"isSfpShow"
style=
"display:flex;font-size: 15px;"
>
<div>
日程开始时间
</div>
<!-- <div>日程开始/结束时间</div>
<div><input
type=
"text"
id=
"remark"
class=
"form-control"
placeholder=
"输入开始时间"
[(
ngModel
)]="
taskTimeFrom
"
(
blur
)="
inputBlur
()"
></div>
<div class="timeContent">
<div>
日程结束时间
</div>
<div class="picker_list">
<div><input
type=
"text"
id=
"remark"
class=
"form-control"
placeholder=
"输入结束时间"
[(
ngModel
)]="
taskTimeEnd
"
(
blur
)="
inputBlur
()"
></div>
<PickerView [data]="seasons" [cols]='3' [cascade]="false" [ngModel]="taskTimeFrom" [indicatorStyle]="{'background':'#f6f6f6','border-radius':'50px','z-index':'0'}" (ngModelChange)="onChange($event,1)"></PickerView>
</div>
<div style="color: #d9dadc;width: 10%;text-align: center;">到</div>
<div class="picker_list">
<PickerView [data]="seasons" [cascade]="false" [cols]='3' [ngModel]="taskTimeEnd" [indicatorStyle]="{'background':'#f6f6f6','border-radius':'50px','z-index':'0'}" (ngModelChange)="onChange($event,2)"></PickerView>
</div>
</div> -->
<div>
添加日程时间
</div>
<div
style=
"display:flex;"
>
<div
style=
"width:50%"
><input
type=
"Time"
id=
"remark"
class=
"form-control"
placeholder=
"输入开始时间"
[(
ngModel
)]="
taskTimeFrom
"
(
blur
)="
inputBlur
()"
></div>
<div
style=
"width:50%"
><input
type=
"Time"
id=
"remark"
class=
"form-control"
placeholder=
"输入结束时间"
[(
ngModel
)]="
taskTimeEnd
"
(
blur
)="
inputBlur
()"
></div>
</div>
</div>
</div>
<ul
class=
"footer"
>
<ul
class=
"footer"
>
...
@@ -298,13 +319,11 @@
...
@@ -298,13 +319,11 @@
<div
[
ngStyle
]="{
height:
300
,
overflow:
'
scroll
'
}"
>
<div
[
ngStyle
]="{
height:
300
,
overflow:
'
scroll
'
}"
>
<div
class=
"am-list"
style=
"margin:0;"
>
<div
class=
"am-list"
style=
"margin:0;"
>
<div
class=
"am-list-item"
>
<div
class=
"am-list-item"
>
<InputItem
[
clear
]="
true
"
<InputItem
[
clear
]="
true
"
[
value
]="
editBusiness
.
name
"
[
value
]="
editBusiness
.
name
"
(
onChange
)="
editBusiness
.
name =
$event"
>
姓名:
</InputItem>
(
onChange
)="
editBusiness
.
name =
$event"
>
姓名:
</InputItem>
</div>
</div>
<div
class=
"am-list-item"
>
<div
class=
"am-list-item"
>
<InputItem
[
type
]="'
phone
'"
<InputItem
[
type
]="'
phone
'"
[
value
]="
editBusiness
.
mobileNo
"
[
value
]="
editBusiness
.
mobileNo
"
(
onChange
)="
editBusiness
.
mobileNo =
$event"
>
手机号码:
</InputItem>
(
onChange
)="
editBusiness
.
mobileNo =
$event"
>
手机号码:
</InputItem>
</div>
</div>
<div
class=
"am-list-line"
style=
"color: #999;font-size:12px"
>
<div
class=
"am-list-line"
style=
"color: #999;font-size:12px"
>
...
@@ -315,8 +334,7 @@
...
@@ -315,8 +334,7 @@
<div
class=
"am-list-line"
>
<div
class=
"am-list-line"
>
<div
class=
"am-list-content"
<div
class=
"am-list-content"
style=
"width:100%;color:#fff;text-align:center;background-color: #2179AD;border-radius: 20px;margin:18px auto"
style=
"width:100%;color:#fff;text-align:center;background-color: #2179AD;border-radius: 20px;margin:18px auto"
(
click
)="
sendENotice
()"
(
click
)="
sendENotice
()"
>
发送
</div>
>
发送
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
...
src/app/my/my-business-detail/my-business-detail.component.scss
View file @
58254264
.wrapper
{
.wrapper
{
padding-bottom
:
40px
;
font-size
:
16px
;
font-size
:
16px
;
background-color
:
#fff
;
background-color
:
#fff
;
min-height
:
90vh
;
display
:
flex
;
flex-direction
:
column
;
select
{
select
{
-webkit-appearance
:
none
;
-webkit-appearance
:
none
;
border
:
none
;
border
:
none
;
box-shadow
:
none
;
box-shadow
:
none
;
}
}
.tab
{
.tab
{
display
:
flex
;
display
:
flex
;
list-style
:
none
;
list-style
:
none
;
margin
:
10px
0px
;
margin
:
10px
0px
;
padding-left
:
1%
;
padding-left
:
1%
;
li
{
li
{
margin-right
:
10px
;
margin-right
:
10px
;
line-height
:
30px
;
line-height
:
30px
;
...
@@ -20,21 +26,25 @@
...
@@ -20,21 +26,25 @@
text-align
:
center
;
text-align
:
center
;
border
:
1px
#a9aabb
solid
;
border
:
1px
#a9aabb
solid
;
border-radius
:
20px
;
border-radius
:
20px
;
h3
{
h3
{
font-weight
:
normal
;
font-weight
:
normal
;
font-size
:
15px
;
font-size
:
15px
;
}
}
}
}
li
.selected
{
li
.selected
{
// background-color: #ff5a32;
// background-color: #ff5a32;
// color: #fff;
// color: #fff;
border
:
1px
#e10d0d
solid
;
border
:
1px
#e10d0d
solid
;
}
}
}
}
.content
{
.content
{
padding
:
10px
5px
;
position
:
relative
;
position
:
relative
;
>
.iconfont
{
>
.iconfont
{
width
:
55px
;
width
:
55px
;
height
:
55px
;
height
:
55px
;
line-height
:
55px
;
line-height
:
55px
;
...
@@ -47,20 +57,25 @@
...
@@ -47,20 +57,25 @@
text-align
:
center
;
text-align
:
center
;
bottom
:
76px
;
bottom
:
76px
;
}
}
.contentDetail
{
.contentDetail
{
margin-top
:
15px
;
margin-top
:
15px
;
.wrapper_item
{
.wrapper_item
{
border-bottom
:
1px
#ddd
solid
;
border-bottom
:
1px
#ddd
solid
;
margin-bottom
:
10px
;
margin-bottom
:
10px
;
.contentItem
{
.contentItem
{
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
align-items
:
center
;
align-items
:
center
;
// border-bottom: 1px #ddd solid;
// border-bottom: 1px #ddd solid;
margin
:
0
8px
5px
8px
;
margin
:
0
8px
5px
8px
;
>
span
:first-child
{
>
span
:first-child
{
white-space
:
nowrap
;
white-space
:
nowrap
;
}
}
input
.form-control
{
input
.form-control
{
// width: 60%;
// width: 60%;
// margin: 0 5px;
// margin: 0 5px;
...
@@ -73,14 +88,17 @@
...
@@ -73,14 +88,17 @@
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
font-size
:
16px
;
font-size
:
16px
;
}
}
input
:
:-
webkit-input-placeholder
{
input
:
:-
webkit-input-placeholder
{
font-size
:
16px
;
font-size
:
16px
;
// color: #0767bf;
// color: #0767bf;
}
}
.sexWrapper
{
.sexWrapper
{
display
:
flex
;
display
:
flex
;
width
:
60%
;
width
:
60%
;
justify-content
:
flex-end
;
justify-content
:
flex-end
;
.form-control.sex
{
.form-control.sex
{
width
:
20%
;
width
:
20%
;
margin-left
:
5px
;
margin-left
:
5px
;
...
@@ -88,33 +106,40 @@
...
@@ -88,33 +106,40 @@
box-shadow
:
none
;
box-shadow
:
none
;
font-size
:
16px
;
font-size
:
16px
;
}
}
.form-control.sex.sexBtn
{
.form-control.sex.sexBtn
{
border
:
1px
#0767bf
solid
;
border
:
1px
#0767bf
solid
;
}
}
.form-control
[
disabled
]
{
.form-control
[
disabled
]
{
background-color
:
transparent
;
background-color
:
transparent
;
opacity
:
1
;
opacity
:
1
;
}
}
}
}
select
.form-control
{
select
.form-control
{
direction
:
rtl
;
direction
:
rtl
;
font-size
:
16px
;
font-size
:
16px
;
}
}
select
.form-control
[
disabled
]
{
select
.form-control
[
disabled
]
{
background-color
:
transparent
;
background-color
:
transparent
;
// color: #0767bf;
// color: #0767bf;
}
}
}
}
.contentItem
:last-child
{
.contentItem
:last-child
{
border-bottom
:
none
;
border-bottom
:
none
;
}
}
}
}
}
}
.tagWrapper
{
.tagWrapper
{
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
padding-left
:
8px
;
padding-left
:
8px
;
div
.tagContent
{
div
.tagContent
{
margin
:
10px
3px
0
3px
;
margin
:
10px
3px
0
3px
;
height
:
28px
;
height
:
28px
;
...
@@ -125,19 +150,22 @@
...
@@ -125,19 +150,22 @@
font-size
:
13px
;
font-size
:
13px
;
padding
:
0
15px
;
padding
:
0
15px
;
}
}
div
.selected
{
div
.selected
{
border
:
1px
#0767bf
solid
;
border
:
1px
#0767bf
solid
;
}
}
}
}
.add
{
.add
{
position
:
absolute
;
position
:
absolute
;
.iconfont
{
.iconfont
{
width
:
55px
;
width
:
55px
;
height
:
55px
;
height
:
55px
;
line-height
:
55px
;
line-height
:
55px
;
border-radius
:
50%
;
border-radius
:
50%
;
position
:
fixed
;
position
:
fixed
;
right
:
42%
;
right
:
42%
;
font-size
:
24px
;
font-size
:
24px
;
color
:
#fff
;
color
:
#fff
;
background
:
#0767bf
;
background
:
#0767bf
;
...
@@ -149,25 +177,31 @@
...
@@ -149,25 +177,31 @@
}
}
}
}
.answerContent
{
.answerContent
{
border-bottom
:
1px
#ddd
solid
;
border-bottom
:
1px
#ddd
solid
;
margin-bottom
:
5px
;
margin-bottom
:
5px
;
padding
:
5px
0
;
padding
:
5px
0
;
.questionTitle
{
.questionTitle
{
font-weight
:
700
;
font-weight
:
700
;
font-size
:
13px
;
font-size
:
13px
;
}
}
.questionContent
{
.questionContent
{
font-size
:
16px
;
font-size
:
16px
;
}
}
}
}
.answerContent
:last-child
{
.answerContent
:last-child
{
border-bottom
:
0
;
border-bottom
:
0
;
}
}
.record
{
.record
{
display
:
flex
;
display
:
flex
;
list-style
:
none
;
list-style
:
none
;
justify-content
:
space-between
;
justify-content
:
space-between
;
li
{
li
{
width
:
30%
;
width
:
30%
;
text-align
:
center
;
text-align
:
center
;
...
@@ -175,7 +209,8 @@
...
@@ -175,7 +209,8 @@
line-height
:
30px
;
line-height
:
30px
;
}
}
}
}
.viewReportBtn
{
.viewReportBtn
{
position
:
fixed
;
position
:
fixed
;
bottom
:
70px
;
bottom
:
70px
;
left
:
0
;
left
:
0
;
...
@@ -186,11 +221,13 @@
...
@@ -186,11 +221,13 @@
color
:
#fff
;
color
:
#fff
;
line-height
:
44px
;
line-height
:
44px
;
}
}
.send
{
.send
{
position
:
fixed
;
position
:
fixed
;
bottom
:
80px
;
bottom
:
80px
;
width
:
100%
;
width
:
100%
;
div
{
div
{
margin
:
0
40px
;
margin
:
0
40px
;
height
:
40px
;
height
:
40px
;
line-height
:
40px
;
line-height
:
40px
;
...
@@ -218,32 +255,39 @@
...
@@ -218,32 +255,39 @@
min-width
:
320px
;
min-width
:
320px
;
max-width
:
640px
;
max-width
:
640px
;
margin
:
0
auto
;
margin
:
0
auto
;
>
div
{
>
div
{
height
:
50px
;
height
:
50px
;
border-bottom
:
1px
solid
#dbdbdb
;
border-bottom
:
1px
solid
#dbdbdb
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
space-between
;
justify-content
:
space-between
;
>
div
:first-child
{
>
div
:first-child
{
width
:
100px
;
width
:
100px
;
font-size
:
15px
;
font-size
:
15px
;
}
}
>
div
:last-child
{
>
div
:last-child
{
flex
:
1
;
flex
:
1
;
}
}
.form-control
{
.form-control
{
border
:
none
;
border
:
none
;
box-shadow
:
none
;
box-shadow
:
none
;
}
}
}
}
>
div
:last-child
{
>
div
:last-child
{
border
:
none
;
border
:
none
;
}
}
ul
.footer
{
ul
.footer
{
display
:
flex
;
display
:
flex
;
list-style
:
none
;
list-style
:
none
;
justify-content
:
center
;
justify-content
:
center
;
margin-top
:
15%
;
margin-top
:
15%
;
li
{
li
{
width
:
30%
;
width
:
30%
;
height
:
35px
;
height
:
35px
;
...
@@ -256,18 +300,22 @@
...
@@ -256,18 +300,22 @@
}
}
}
}
}
}
.recordLists
{
.recordLists
{
li
{
li
{
border-bottom
:
1px
solid
#f0f0f0
;
border-bottom
:
1px
solid
#f0f0f0
;
padding
:
5px
10px
;
padding
:
5px
10px
;
background
:
rgb
(
251
,
251
,
251
);
background
:
rgb
(
251
,
251
,
251
);
}
}
li
:last-child
{
li
:last-child
{
border
:
none
;
border
:
none
;
}
}
.opportunityRecordItem
{
.opportunityRecordItem
{
font-size
:
15px
;
font-size
:
15px
;
}
}
.salesNotice
{
.salesNotice
{
font-size
:
14px
;
font-size
:
14px
;
color
:
#8a8a8a
;
color
:
#8a8a8a
;
...
@@ -276,9 +324,13 @@
...
@@ -276,9 +324,13 @@
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
align-items
:
center
;
align-items
:
center
;
span
{
span
{
width
:
85%
;
width
:
85%
;
.form-control
[
disabled
],
.form-control
[
readonly
],
fieldset
[
disabled
]
.form-control
{
.form-control
[
disabled
],
.form-control
[
readonly
],
fieldset
[
disabled
]
.form-control
{
background-color
:
#eee
;
background-color
:
#eee
;
opacity
:
.5
;
opacity
:
.5
;
border
:
none
;
border
:
none
;
...
@@ -287,16 +339,19 @@
...
@@ -287,16 +339,19 @@
padding-left
:
0
;
padding-left
:
0
;
}
}
}
}
.iconfont
{
.iconfont
{
font-size
:
18px
;
font-size
:
18px
;
}
}
}
}
.updatedAt
{
.updatedAt
{
// font-size: 12px;
// font-size: 12px;
// color: #8a8a8a;
// color: #8a8a8a;
// text-align: right;
// text-align: right;
}
}
}
}
.toast
{
.toast
{
position
:
fixed
;
position
:
fixed
;
left
:
0
;
left
:
0
;
...
@@ -307,12 +362,14 @@
...
@@ -307,12 +362,14 @@
margin
:
0
auto
;
margin
:
0
auto
;
z-index
:
1
;
z-index
:
1
;
}
}
.toastWrapper
{
.toastWrapper
{
height
:
100%
;
height
:
100%
;
background-color
:
rgba
(
0
,
0
,
0
,
.5
);
background-color
:
rgba
(
0
,
0
,
0
,
.5
);
top
:
0
;
top
:
0
;
}
}
.am-list-item.am-input-item
{
.am-list-item.am-input-item
{
padding-left
:
0
;
padding-left
:
0
;
}
}
}
}
\ No newline at end of file
src/app/my/my-business-detail/my-business-detail.component.ts
View file @
58254264
...
@@ -3,7 +3,8 @@ import { MyService } from '../my.service';
...
@@ -3,7 +3,8 @@ import { MyService } from '../my.service';
import
{
ActivatedRoute
,
Router
}
from
"@angular/router"
;
import
{
ActivatedRoute
,
Router
}
from
"@angular/router"
;
import
{
BusinessQuery
}
from
'../../domain/businessQuery'
;
import
{
BusinessQuery
}
from
'../../domain/businessQuery'
;
import
{
LifeCommonService
}
from
'../../common/life-common.service'
;
import
{
LifeCommonService
}
from
'../../common/life-common.service'
;
import
{
environment
}
from
'../../../environments/environment'
;
import
{
environment
}
from
'../../../environments/environment'
;
import
{
DomSanitizer
,
SafeResourceUrl
}
from
'@angular/platform-browser'
;
@
Component
({
@
Component
({
selector
:
'ydlife-my-business-detail'
,
selector
:
'ydlife-my-business-detail'
,
templateUrl
:
'./my-business-detail.component.html'
,
templateUrl
:
'./my-business-detail.component.html'
,
...
@@ -12,94 +13,131 @@ import {environment} from '../../../environments/environment';
...
@@ -12,94 +13,131 @@ import {environment} from '../../../environments/environment';
export
class
MyBusinessDetailComponent
implements
OnInit
{
export
class
MyBusinessDetailComponent
implements
OnInit
{
titleList
:
Array
<
any
>
;
titleList
:
Array
<
any
>
;
selectedId
:
number
;
selectedId
:
number
;
surveyAnswersList
:
Array
<
any
>
;
surveyAnswersList
:
Array
<
any
>
;
readonlyFlag
:
boolean
=
true
;
readonlyFlag
:
boolean
=
true
;
orderId
:
number
;
orderId
:
number
;
sfpMainId
:
number
;
sfpMainId
:
number
;
opportunityId
:
number
;
opportunityId
:
number
;
opportunitySurveyAnswersList
:
Array
<
any
>
;
opportunitySurveyAnswersList
:
Array
<
any
>
;
tagList
:
Array
<
any
>
;
tagList
:
Array
<
any
>
;
editBusiness
:
BusinessQuery
=
new
BusinessQuery
();
editBusiness
:
BusinessQuery
=
new
BusinessQuery
();
//商机状态
//商机状态
businessStatusList
:
Array
<
any
>
;
businessStatusList
:
Array
<
any
>
;
//经纪人输入商机来源类型
//经纪人输入商机来源类型
businessSourceList
:
Array
<
any
>
;
businessSourceList
:
Array
<
any
>
;
//商机星座类型
//商机星座类型
businessZodiacList
:
Array
<
any
>
;
businessZodiacList
:
Array
<
any
>
;
//商机血型类型
//商机血型类型
businessBloodList
:
Array
<
any
>
;
businessBloodList
:
Array
<
any
>
;
cityFlag
:
boolean
;
cityFlag
:
boolean
;
provinceList
:
Array
<
any
>
;
provinceList
:
Array
<
any
>
;
provinces
:
Array
<
any
>
;
provinces
:
Array
<
any
>
;
//返回的标签列表
//返回的标签列表
opportunityCustomerTags
:
Array
<
any
>
;
opportunityCustomerTags
:
Array
<
any
>
;
opportunityRecordInfos
:
Array
<
any
>
;
opportunityRecordInfos
:
Array
<
any
>
;
//是否可以跳转预览方案
//是否可以跳转预览方案
isCompletedQuestionnaire
:
any
;
isCompletedQuestionnaire
:
any
;
//控制弹框
//控制弹框
toastDialog
:
boolean
;
toastDialog
:
boolean
;
toastInfo
:
any
;
toastInfo
:
any
;
// 增加还是保存
// 增加还是保存
addStatus
:
boolean
;
addStatus
:
boolean
;
// 备注信息
// 备注信息
salesNotice
:
string
;
salesNotice
:
string
;
// 跟进时间
// 跟进时间
opportunityRecordNoticeDate
:
Date
;
opportunityRecordNoticeDate
:
Date
;
//跟进开始时间
//跟进开始时间
taskTimeFrom
:
string
;
taskTimeFrom
:
string
;
//跟进结束时间
//跟进结束时间
taskTimeEnd
:
string
;
taskTimeEnd
:
string
;
// 跟进状态
// 跟进状态
opportunityRecordId
:
number
;
opportunityRecordId
:
number
;
//性别显示
//性别显示
sexFlag
:
boolean
;
sexFlag
:
boolean
;
//显示女
//显示女
femaleFlag
:
boolean
;
femaleFlag
:
boolean
;
//显示男
//显示男
maleFlag
:
boolean
;
maleFlag
:
boolean
;
isShow
:
boolean
;
isShow
:
boolean
;
isSfpShow
:
boolean
;
isSfpShow
:
boolean
;
//线索id
//线索id
leadsAssignedId
:
any
;
leadsAssignedId
:
any
;
//控制tab可不可点
//控制tab可不可点
clickFlag
:
boolean
;
clickFlag
:
boolean
;
remarkId
:
any
;
remarkId
:
any
;
status
:
any
;
status
:
any
;
isNeedAlert
:
boolean
;
isNeedAlert
:
boolean
;
dialogInfo
:
any
;
dialogInfo
:
any
;
practitionerId
:
any
;
practitionerId
:
any
;
// 电子告知书弹窗显示
// 电子告知书弹窗显示
eNoticeState
:
boolean
=
false
;
eNoticeState
:
boolean
=
false
;
deviceType
:
number
;
deviceType
:
number
;
// 获取经纪人信息
// 获取经纪人信息
lifeCustomerInfo
:
any
;
lifeCustomerInfo
:
any
;
today
:
Date
=
new
Date
();
today
:
Date
=
new
Date
();
minDate
:
Date
=
new
Date
(
'1930-01-01'
)
minDate
:
Date
=
new
Date
(
'1930-01-01'
);
constructor
(
private
activateRoute
:
ActivatedRoute
,
private
myService
:
MyService
,
iframeUrl
:
string
;
public
lifeCommonService
:
LifeCommonService
,
private
router
:
Router
,
)
{
seasons
:
Array
<
any
>
;
constructor
(
private
activateRoute
:
ActivatedRoute
,
private
myService
:
MyService
,
public
lifeCommonService
:
LifeCommonService
,
private
router
:
Router
,
private
sanitizer
:
DomSanitizer
,)
{
this
.
titleList
=
[
this
.
titleList
=
[
{
id
:
1
,
name
:
'基本信息'
},
{
id
:
1
,
name
:
'基本信息'
},
{
id
:
3
,
name
:
'商机跟进'
},
{
id
:
3
,
name
:
'商机跟进'
},
{
id
:
2
,
name
:
'咨询问卷'
},
{
id
:
2
,
name
:
'咨询问卷'
},
// { id: 4, name: '咨询报告' },
// { id: 4, name: '咨询报告' },
{
id
:
5
,
name
:
'客户告知书'
}
{
id
:
5
,
name
:
'客户告知书'
}
]
];
this
.
seasons
=
[
{
label
:
'06:00'
,
value
:
1
},{
label
:
'06:30'
,
value
:
2
},
{
label
:
'07:00'
,
value
:
3
},{
label
:
'07:30'
,
value
:
4
},
{
label
:
'08:00'
,
value
:
5
},{
label
:
'08:30'
,
value
:
6
},
{
label
:
'09:00'
,
value
:
7
},{
label
:
'09:30'
,
value
:
8
},
{
label
:
'10:00'
,
value
:
9
},{
label
:
'10:30'
,
value
:
10
},
{
label
:
'11:00'
,
value
:
11
},{
label
:
'11:30'
,
value
:
12
},
{
label
:
'12:00'
,
value
:
13
},{
label
:
'12:30'
,
value
:
14
},
{
label
:
'13:00'
,
value
:
15
},{
label
:
'13:30'
,
value
:
16
},
{
label
:
'14:00'
,
value
:
17
},{
label
:
'14:30'
,
value
:
18
},
{
label
:
'15:00'
,
value
:
19
},{
label
:
'15:30'
,
value
:
20
},
{
label
:
'16:00'
,
value
:
21
},{
label
:
'16:30'
,
value
:
22
},
{
label
:
'17:00'
,
value
:
23
},{
label
:
'17:30'
,
value
:
24
},
{
label
:
'18:00'
,
value
:
25
},{
label
:
'18:30'
,
value
:
26
},
{
label
:
'19:00'
,
value
:
27
},{
label
:
'19:30'
,
value
:
28
},
{
label
:
'20:00'
,
value
:
29
},{
label
:
'20:30'
,
value
:
30
},
{
label
:
'21:00'
,
value
:
31
},{
label
:
'21:30'
,
value
:
32
},
{
label
:
'22:00'
,
value
:
33
},{
label
:
'22:30'
,
value
:
34
},
{
label
:
'23:00'
,
value
:
35
},{
label
:
'23:30'
,
value
:
36
},
{
label
:
'00:00'
,
value
:
37
}
];
}
transform
(
url
:
string
)
:
SafeResourceUrl
{
return
this
.
sanitizer
.
bypassSecurityTrustResourceUrl
(
url
);
}
onChange
(
result
,
type
)
{
if
(
type
===
1
){
this
.
taskTimeFrom
=
result
;
}
if
(
type
===
2
){
this
.
taskTimeEnd
=
result
;
}
}
}
ngOnInit
()
{
ngOnInit
()
{
// 获取设备
// 获取设备
this
.
deviceType
=
this
.
lifeCommonService
.
checkDeviceType
();
this
.
deviceType
=
this
.
lifeCommonService
.
checkDeviceType
();
this
.
orderId
=
this
.
activateRoute
.
snapshot
.
queryParams
[
'orderId'
];
this
.
orderId
=
this
.
activateRoute
.
snapshot
.
queryParams
[
'orderId'
];
this
.
sfpMainId
=
this
.
activateRoute
.
snapshot
.
queryParams
[
'sfpMainId'
];
this
.
sfpMainId
=
this
.
activateRoute
.
snapshot
.
queryParams
[
'sfpMainId'
];
if
(
this
.
sfpMainId
)
{
if
(
this
.
sfpMainId
)
{
this
.
isSfpShow
=
true
;
this
.
isSfpShow
=
true
;
}
else
{
}
else
{
this
.
isSfpShow
=
false
;
this
.
isSfpShow
=
false
;
}
}
//商机对应的客户id
//商机对应的客户id
this
.
opportunityId
=
+
this
.
activateRoute
.
snapshot
.
paramMap
.
get
(
'id'
);
this
.
opportunityId
=
+
this
.
activateRoute
.
snapshot
.
paramMap
.
get
(
'id'
);
//商机id
//商机id
this
.
leadsAssignedId
=
this
.
activateRoute
.
snapshot
.
queryParams
[
'leadsAssignedId'
];
this
.
leadsAssignedId
=
this
.
activateRoute
.
snapshot
.
queryParams
[
'leadsAssignedId'
];
this
.
opportunityRecordId
=
null
;
this
.
opportunityRecordId
=
null
;
...
@@ -122,16 +160,16 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -122,16 +160,16 @@ export class MyBusinessDetailComponent implements OnInit {
this
.
femaleFlag
=
true
;
this
.
femaleFlag
=
true
;
this
.
clickFlag
=
false
;
this
.
clickFlag
=
false
;
let
myCustomerInfo
=
JSON
.
parse
(
localStorage
.
getItem
(
'myCustomerInfo'
))
let
myCustomerInfo
=
JSON
.
parse
(
localStorage
.
getItem
(
'myCustomerInfo'
))
if
(
myCustomerInfo
)
{
if
(
myCustomerInfo
)
{
let
birthDate
,
age
;
let
birthDate
,
age
;
if
(
myCustomerInfo
.
birthDate
)
{
if
(
myCustomerInfo
.
birthDate
)
{
birthDate
=
myCustomerInfo
.
birthDate
.
split
(
'-'
);
birthDate
=
myCustomerInfo
.
birthDate
.
split
(
'-'
);
age
=
this
.
lifeCommonService
.
ages
(
birthDate
[
0
],
birthDate
[
1
],
birthDate
[
2
]).
age
;
age
=
this
.
lifeCommonService
.
ages
(
birthDate
[
0
],
birthDate
[
1
],
birthDate
[
2
]).
age
;
}
else
{
}
else
{
age
=
null
;
age
=
null
;
}
}
this
.
editBusiness
=
new
BusinessQuery
(
""
,
age
,
myCustomerInfo
.
name
,
myCustomerInfo
.
gender
==
'女'
?
2
:
1
,
myCustomerInfo
.
mobileNo
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
null
);
this
.
editBusiness
=
new
BusinessQuery
(
""
,
age
,
myCustomerInfo
.
name
,
myCustomerInfo
.
gender
==
'女'
?
2
:
1
,
myCustomerInfo
.
mobileNo
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
null
);
}
else
{
}
else
{
//初始化新增
//初始化新增
this
.
editBusiness
=
new
BusinessQuery
(
""
,
""
,
""
,
1
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
null
);
this
.
editBusiness
=
new
BusinessQuery
(
""
,
""
,
""
,
1
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
,
null
);
}
}
...
@@ -148,9 +186,9 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -148,9 +186,9 @@ export class MyBusinessDetailComponent implements OnInit {
}
}
// 日期选择
// 日期选择
onOk
(
e
)
{
onOk
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
)
this
.
editBusiness
.
age
=
this
.
lifeCommonService
.
ages
(
e
.
getFullYear
(),
e
.
getMonth
()
+
1
,
e
.
getDate
()).
age
;
this
.
editBusiness
.
age
=
this
.
lifeCommonService
.
ages
(
e
.
getFullYear
(),
e
.
getMonth
()
+
1
,
e
.
getDate
()).
age
;
}
}
//改为编辑状态出现男女选项
//改为编辑状态出现男女选项
...
@@ -168,8 +206,8 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -168,8 +206,8 @@ export class MyBusinessDetailComponent implements OnInit {
this
.
selectedId
=
1
;
this
.
selectedId
=
1
;
}
}
}
}
// 查看报告
// 查看报告
viewReport
()
{
viewReport
()
{
window
.
location
.
href
=
`https://
${
window
.
location
.
host
}
/customizedPlanList/3?orderId=
${
this
.
orderId
}
&customerId=
${
this
.
opportunityId
}
`
window
.
location
.
href
=
`https://
${
window
.
location
.
host
}
/customizedPlanList/3?orderId=
${
this
.
orderId
}
&customerId=
${
this
.
opportunityId
}
`
}
}
...
@@ -178,10 +216,12 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -178,10 +216,12 @@ export class MyBusinessDetailComponent implements OnInit {
opportunityId
:
this
.
opportunityId
?
Number
(
this
.
opportunityId
)
:
null
,
opportunityId
:
this
.
opportunityId
?
Number
(
this
.
opportunityId
)
:
null
,
orderId
:
this
.
orderId
?
Number
(
this
.
orderId
)
:
null
,
orderId
:
this
.
orderId
?
Number
(
this
.
orderId
)
:
null
,
practitionerId
:
this
.
practitionerId
,
practitionerId
:
this
.
practitionerId
,
sfpMainId
:
this
.
sfpMainId
?
Number
(
this
.
sfpMainId
)
:
null
sfpMainId
:
this
.
sfpMainId
?
Number
(
this
.
sfpMainId
)
:
null
}
}
this
.
myService
.
ownOpportunityDetailQuery
(
detailParam
).
subscribe
((
res
)
=>
{
this
.
myService
.
ownOpportunityDetailQuery
(
detailParam
).
subscribe
((
res
)
=>
{
if
(
res
[
'success'
])
{
if
(
res
[
'success'
])
{
//拼接iframe url
this
.
iframeUrl
=
`
${
environment
.
SFPPROJECTURL
}
/SFP/surveyPages/clientSurvey/clientSurveyInfo?sfpMainId=
${
this
.
sfpMainId
}
&userId=
${
res
[
'data'
][
'opportunityBasicInformationInfo'
][
'sfpUserId'
]}
`
this
.
opportunitySurveyAnswersList
=
res
[
'data'
][
'opportunityConsultationInfo'
][
'opportunitySurveyAnswersList'
]
this
.
opportunitySurveyAnswersList
=
res
[
'data'
][
'opportunityConsultationInfo'
][
'opportunitySurveyAnswersList'
]
this
.
editBusiness
=
res
[
'data'
][
'opportunityBasicInformationInfo'
];
this
.
editBusiness
=
res
[
'data'
][
'opportunityBasicInformationInfo'
];
this
.
opportunityCustomerTags
=
res
[
'data'
][
'opportunityBasicInformationInfo'
][
'opportunityCustomerTags'
]
this
.
opportunityCustomerTags
=
res
[
'data'
][
'opportunityBasicInformationInfo'
][
'opportunityCustomerTags'
]
...
@@ -441,7 +481,7 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -441,7 +481,7 @@ export class MyBusinessDetailComponent implements OnInit {
fyp
:
this
.
editBusiness
.
fyp
?
Number
(
this
.
editBusiness
.
fyp
)
:
null
,
fyp
:
this
.
editBusiness
.
fyp
?
Number
(
this
.
editBusiness
.
fyp
)
:
null
,
fyc
:
this
.
editBusiness
.
fyc
?
Number
(
this
.
editBusiness
.
fyc
)
:
null
,
fyc
:
this
.
editBusiness
.
fyc
?
Number
(
this
.
editBusiness
.
fyc
)
:
null
,
sourceFrom
:
this
.
editBusiness
.
sourceFrom
?
Number
(
this
.
editBusiness
.
sourceFrom
)
:
null
,
sourceFrom
:
this
.
editBusiness
.
sourceFrom
?
Number
(
this
.
editBusiness
.
sourceFrom
)
:
null
,
birthDate
:
this
.
editBusiness
.
birthDate
?
this
.
lifeCommonService
.
dateFormat
(
this
.
editBusiness
.
birthDate
,
'yyyy-MM-dd'
)
:
null
birthDate
:
this
.
editBusiness
.
birthDate
?
this
.
lifeCommonService
.
dateFormat
(
this
.
editBusiness
.
birthDate
,
'yyyy-MM-dd'
)
:
null
}
}
this
.
myService
.
ownOpportunityBasicInformationSave
(
this
.
editBusiness
).
subscribe
((
res
)
=>
{
this
.
myService
.
ownOpportunityBasicInformationSave
(
this
.
editBusiness
).
subscribe
((
res
)
=>
{
if
(
res
[
'success'
])
{
if
(
res
[
'success'
])
{
...
@@ -475,7 +515,7 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -475,7 +515,7 @@ export class MyBusinessDetailComponent implements OnInit {
}
}
}
}
this
.
ownOpportunityDetailQuery
();
this
.
ownOpportunityDetailQuery
();
}
else
{
}
else
{
this
.
toastDialog
=
true
;
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
this
.
toastInfo
=
{
status
:
1
,
status
:
1
,
...
@@ -487,7 +527,7 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -487,7 +527,7 @@ export class MyBusinessDetailComponent implements OnInit {
})
})
}
}
ownOpportunityRecordSave
(
opportunityRecordItem
?:
any
)
{
ownOpportunityRecordSave
(
opportunityRecordItem
?:
any
)
{
let
param
;
let
param
;
if
(
!
opportunityRecordItem
)
{
if
(
!
opportunityRecordItem
)
{
const
oppDate
=
new
Date
(
this
.
opportunityRecordNoticeDate
+
' 23:59:59'
).
getTime
();
const
oppDate
=
new
Date
(
this
.
opportunityRecordNoticeDate
+
' 23:59:59'
).
getTime
();
...
@@ -543,6 +583,41 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -543,6 +583,41 @@ export class MyBusinessDetailComponent implements OnInit {
};
};
return
;
return
;
}
}
//如果日程时间选择了一个则两个时间都是必填
if
(
this
.
taskTimeFrom
||
this
.
taskTimeEnd
){
if
(
!
this
.
taskTimeFrom
){
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
'日程开始时间不能为空!'
,
timeout
:
3000
,
align
:
'center'
};
return
;
}
if
(
!
this
.
taskTimeEnd
){
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
'日程结束时间不能为空!'
,
timeout
:
3000
,
align
:
'center'
};
return
;
}
if
(
this
.
taskTimeEnd
<
this
.
taskTimeFrom
){
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
status
:
1
,
msg
:
'日程结束时间不能早于开始时间!'
,
timeout
:
3000
,
align
:
'center'
};
return
;
}
}
param
=
{
param
=
{
id
:
''
,
id
:
''
,
salesNotice
:
this
.
salesNotice
,
salesNotice
:
this
.
salesNotice
,
...
@@ -552,9 +627,9 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -552,9 +627,9 @@ export class MyBusinessDetailComponent implements OnInit {
mdDropOptionId
:
this
.
opportunityRecordId
?
Number
(
this
.
opportunityRecordId
)
:
null
,
mdDropOptionId
:
this
.
opportunityRecordId
?
Number
(
this
.
opportunityRecordId
)
:
null
,
noticeDate
:
this
.
opportunityRecordNoticeDate
,
noticeDate
:
this
.
opportunityRecordNoticeDate
,
leadsAssignedId
:
this
.
leadsAssignedId
?
Number
(
this
.
leadsAssignedId
)
:
null
,
leadsAssignedId
:
this
.
leadsAssignedId
?
Number
(
this
.
leadsAssignedId
)
:
null
,
sfpMainId
:
this
.
sfpMainId
?
Number
(
this
.
sfpMainId
)
:
null
,
sfpMainId
:
this
.
sfpMainId
?
Number
(
this
.
sfpMainId
)
:
null
,
taskTimeFrom
:
this
.
taskTimeFrom
,
//跟进开始时间
taskTimeFrom
:
this
.
taskTimeFrom
,
//跟进开始时间
taskTimeEnd
:
this
.
taskTimeEnd
//跟进结束时间
taskTimeEnd
:
this
.
taskTimeEnd
//跟进结束时间
}
}
}
else
{
}
else
{
...
@@ -605,8 +680,8 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -605,8 +680,8 @@ export class MyBusinessDetailComponent implements OnInit {
}
}
openPopInfo
(
message
)
{
openPopInfo
(
message
)
{
this
.
myService
.
applyForExpertSupport
({
leadsAssignedId
:
this
.
leadsAssignedId
,
practitionerId
:
this
.
practitionerId
,
opportunityId
:
this
.
opportunityId
}).
subscribe
((
res
)
=>
{
this
.
myService
.
applyForExpertSupport
({
leadsAssignedId
:
this
.
leadsAssignedId
,
practitionerId
:
this
.
practitionerId
,
opportunityId
:
this
.
opportunityId
}).
subscribe
((
res
)
=>
{
if
(
res
[
'success'
])
{
if
(
res
[
'success'
])
{
this
.
ownOpportunityDetailQuery
();
this
.
ownOpportunityDetailQuery
();
this
.
isNeedAlert
=
true
;
this
.
isNeedAlert
=
true
;
this
.
dialogInfo
=
{
this
.
dialogInfo
=
{
...
@@ -614,7 +689,7 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -614,7 +689,7 @@ export class MyBusinessDetailComponent implements OnInit {
content
:
{
value
:
message
,
align
:
'center'
},
content
:
{
value
:
message
,
align
:
'center'
},
footer
:
[{
value
:
'确认离开'
,
routerLink
:
''
,
className
:
'weui-dialog__btn_primary'
}],
footer
:
[{
value
:
'确认离开'
,
routerLink
:
''
,
className
:
'weui-dialog__btn_primary'
}],
};
};
}
else
{
}
else
{
this
.
toastDialog
=
true
;
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
this
.
toastInfo
=
{
status
:
1
,
status
:
1
,
...
@@ -639,23 +714,23 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -639,23 +714,23 @@ export class MyBusinessDetailComponent implements OnInit {
// 发送电子客户告知书,opportunityIdID = CustomerId
// 发送电子客户告知书,opportunityIdID = CustomerId
sendENotice
()
{
sendENotice
()
{
this
.
eNoticeState
=
false
;
this
.
eNoticeState
=
false
;
if
(
this
.
deviceType
!=
3
)
{
if
(
this
.
deviceType
!=
3
)
{
alert
(
'请在微信公众号中发送邀请'
);
alert
(
'请在微信公众号中发送邀请'
);
return
;
return
;
}
}
const
param
=
{
const
param
=
{
practitionerId
:
this
.
lifeCustomerInfo
[
'practitionerId'
],
practitionerId
:
this
.
lifeCustomerInfo
[
'practitionerId'
],
leadsAssignedId
:
this
.
leadsAssignedId
,
leadsAssignedId
:
this
.
leadsAssignedId
,
customerName
:
this
.
editBusiness
.
name
,
customerName
:
this
.
editBusiness
.
name
,
customerId
:
this
.
editBusiness
.
opportunityId
,
customerId
:
this
.
editBusiness
.
opportunityId
,
customerMobile
:
this
.
editBusiness
.
mobileNo
.
replace
(
/
\s
/g
,
''
),
customerMobile
:
this
.
editBusiness
.
mobileNo
.
replace
(
/
\s
/g
,
''
),
loginId
:
this
.
lifeCustomerInfo
[
'customerId'
]
loginId
:
this
.
lifeCustomerInfo
[
'customerId'
]
}
}
this
.
myService
.
saveInformedSheet
(
param
).
subscribe
(
res
=>
{
this
.
myService
.
saveInformedSheet
(
param
).
subscribe
(
res
=>
{
if
(
res
[
'success'
])
{
if
(
res
[
'success'
])
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
const
imgUrl
=
this
.
lifeCustomerInfo
.
practitionerBasicInfo
.
headImagePath
?
this
.
lifeCustomerInfo
.
practitionerBasicInfo
.
headImagePath
:
`
${
environment
.
DOMAINNAME
}
/ydLife/assets/images/icons/meng.png`
;
const
imgUrl
=
this
.
lifeCustomerInfo
.
practitionerBasicInfo
.
headImagePath
?
this
.
lifeCustomerInfo
.
practitionerBasicInfo
.
headImagePath
:
`
${
environment
.
DOMAINNAME
}
/ydLife/assets/images/icons/meng.png`
;
console
.
log
(
imgUrl
);
console
.
log
(
imgUrl
);
this
.
lifeCommonService
.
shareStatusPublish
(
1
);
this
.
lifeCommonService
.
shareStatusPublish
(
1
);
...
@@ -664,9 +739,9 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -664,9 +739,9 @@ export class MyBusinessDetailComponent implements OnInit {
`您的客户告知书和服务委托协议已准备好,请查收并签署,感谢信任和支持。`
,
`您的客户告知书和服务委托协议已准备好,请查收并签署,感谢信任和支持。`
,
`https://
${
window
.
location
.
host
}
/ydLife/identify?eNoticeId=
${
res
[
'data'
][
'id'
]}
`
,
`https://
${
window
.
location
.
host
}
/ydLife/identify?eNoticeId=
${
res
[
'data'
][
'id'
]}
`
,
imgUrl
);
imgUrl
);
},
500
)
},
500
)
}
else
{
}
else
{
this
.
toastDialog
=
true
;
this
.
toastDialog
=
true
;
this
.
toastInfo
=
{
this
.
toastInfo
=
{
status
:
1
,
status
:
1
,
...
@@ -680,27 +755,25 @@ export class MyBusinessDetailComponent implements OnInit {
...
@@ -680,27 +755,25 @@ export class MyBusinessDetailComponent implements OnInit {
}
}
// 设置样式
// 设置样式
setBackgroundColor
(
e
)
{
setBackgroundColor
(
e
)
{
let
bgColor
=
'transparent'
;
let
bgColor
=
'transparent'
;
let
fontColor
=
'#666'
;
let
fontColor
=
'#666'
;
if
(
e
.
informedOssPath
&&
e
.
status
==
0
)
{
if
(
e
.
informedOssPath
&&
e
.
status
==
0
)
{
bgColor
=
'#999999'
;
bgColor
=
'#999999'
;
fontColor
=
'#fff'
;
fontColor
=
'#fff'
;
}
else
if
(
e
.
informedOssPath
&&
e
.
status
==
1
)
{
}
else
if
(
e
.
informedOssPath
&&
e
.
status
==
1
)
{
bgColor
=
'#C81B1E'
;
bgColor
=
'#C81B1E'
;
fontColor
=
'#fff'
;
fontColor
=
'#fff'
;
}
else
{
}
else
{
bgColor
=
'transparent'
;
bgColor
=
'transparent'
;
fontColor
=
'#666'
;
fontColor
=
'#666'
;
}
}
let
style
=
{
let
style
=
{
'background-color'
:
bgColor
,
'background-color'
:
bgColor
,
'color'
:
fontColor
,
'color'
:
fontColor
,
'padding'
:
"1px 3px"
,
'padding'
:
"1px 3px"
,
'border-radius'
:
"3px"
'border-radius'
:
"3px"
};
};
return
style
;
return
style
;
}
}
}
}
\ No newline at end of file
src/environments/environment.prod.ts
View file @
58254264
...
@@ -3,5 +3,6 @@ export const environment = {
...
@@ -3,5 +3,6 @@ export const environment = {
BACKEND_URL_CONFIG_VALUE
:
'https://m.zuihuibi.cn/api'
,
BACKEND_URL_CONFIG_VALUE
:
'https://m.zuihuibi.cn/api'
,
ORIGINNAME
:
'https://m.zuihuibi.cn/ydapi'
,
ORIGINNAME
:
'https://m.zuihuibi.cn/ydapi'
,
DOMAINNAME
:
'https://m.zuihuibi.cn/'
,
DOMAINNAME
:
'https://m.zuihuibi.cn/'
,
BAIDU_TONGJI_CODE
:
'36b1eb7eec3b5dac9f97d887092b5b27'
BAIDU_TONGJI_CODE
:
'36b1eb7eec3b5dac9f97d887092b5b27'
,
SFPPROJECTURL
:
'https://m.cffp.org.cn'
};
};
src/environments/environment.stage.ts
View file @
58254264
...
@@ -6,5 +6,6 @@ export const environment = {
...
@@ -6,5 +6,6 @@ export const environment = {
BACKEND_URL_CONFIG_VALUE
:
'https://mstage.zuihuibi.cn/api'
,
BACKEND_URL_CONFIG_VALUE
:
'https://mstage.zuihuibi.cn/api'
,
ORIGINNAME
:
'https://mstage.zuihuibi.cn/ydapi'
,
ORIGINNAME
:
'https://mstage.zuihuibi.cn/ydapi'
,
DOMAINNAME
:
'https://mstage.zuihuibi.cn/'
,
DOMAINNAME
:
'https://mstage.zuihuibi.cn/'
,
BAIDU_TONGJI_CODE
:
'84be9b9eaaca51048f32bb160ccad2e6'
BAIDU_TONGJI_CODE
:
'84be9b9eaaca51048f32bb160ccad2e6'
,
SFPPROJECTURL
:
'https://mstage.zuihuibi.cn'
};
};
src/environments/environment.ts
View file @
58254264
...
@@ -8,5 +8,7 @@ export const environment = {
...
@@ -8,5 +8,7 @@ export const environment = {
BACKEND_URL_CONFIG_VALUE
:
'https://mdev.zuihuibi.cn/api'
,
BACKEND_URL_CONFIG_VALUE
:
'https://mdev.zuihuibi.cn/api'
,
ORIGINNAME
:
'https://mdev.zuihuibi.cn/ydapi'
,
ORIGINNAME
:
'https://mdev.zuihuibi.cn/ydapi'
,
DOMAINNAME
:
'https://mdev.zuihuibi.cn/'
,
DOMAINNAME
:
'https://mdev.zuihuibi.cn/'
,
BAIDU_TONGJI_CODE
:
'e8fa107d82e0471d097d545225aeed64'
BAIDU_TONGJI_CODE
:
'e8fa107d82e0471d097d545225aeed64'
,
// SFPPROJECTURL:'http://localhost:5173'
SFPPROJECTURL
:
'https://mdev.zuihuibi.cn'
};
};
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