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
d589d9dd
Commit
d589d9dd
authored
May 18, 2021
by
sunchao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
薪资单跳转详情
parent
8378d1ec
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
233 additions
and
29 deletions
+233
-29
src/app/common/detail-modal/detail-modal.component.html
+22
-0
src/app/common/detail-modal/detail-modal.component.scss
+74
-0
src/app/common/detail-modal/detail-modal.component.spec.ts
+25
-0
src/app/common/detail-modal/detail-modal.component.ts
+26
-0
src/app/my/my.module.ts
+3
-1
src/app/my/my.service.ts
+2
-3
src/app/my/salary-detail/salary-detail.component.html
+22
-15
src/app/my/salary-detail/salary-detail.component.scss
+9
-2
src/app/my/salary-detail/salary-detail.component.ts
+13
-3
src/app/my/salary-first-year/salary-first-year.component.html
+9
-3
src/app/my/salary-first-year/salary-first-year.component.ts
+27
-1
src/app/my/salary/salary.component.scss
+1
-1
No files found.
src/app/common/detail-modal/detail-modal.component.html
0 → 100644
View file @
d589d9dd
<!--弹窗Starts-->
<div
class=
"detailContent defineFixed"
*
ngIf=
"isOpen"
>
<!-- 其他应税项目模板-->
<div
class=
"detailBox"
*
ngIf=
"application===1"
>
<div
class=
"header"
>
<div></div>
<h5>
其他应税加扣款
</h5>
<div
class=
"closeModal cursor"
(
click
)="
closeModal
()"
>
×
</div>
</div>
</div>
<!-- 其他应税项目模板-->
<!--个人所得税政策模板-->
<div
class=
"detailBox"
*
ngIf=
"application===2"
>
<div
class=
"header"
>
<div></div>
<h5>
个人所得税政策
</h5>
<div
class=
"closeModal cursor"
(
click
)="
closeModal
()"
>
×
</div>
</div>
</div>
</div>
<!--弹窗结束-->
src/app/common/detail-modal/detail-modal.component.scss
0 → 100644
View file @
d589d9dd
.detailContent
{
top
:
0
;
height
:
100%
;
background
:
rgba
(
0
,
0
,
0
,.
5
);
z-index
:
3004
;
.detailBox
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
width
:
100%
;
height
:
70%
;
background-color
:
#fff
;
overflow-y
:
scroll
;
animation
:
slowUp
.5s
ease
both
;
.header
{
position
:
relative
;
width
:
100%
;
height
:
48px
;
line-height
:
48px
;
padding-right
:
15px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
h5
{
font-size
:
16px
;
color
:
#000
;
}
.closeModal
{
color
:
#8a8a8a
;
font-size
:
32px
;
}
}
.header
:after
{
position
:
absolute
;
left
:
0
;
bottom
:
1px
;
width
:
100%
;
content
:
''
;
height
:
1px
;
background-color
:
#dcdcdc
;
transform
:
scaleY
(
0
.5
);
}
h4
{
color
:
#ec2d37
;
font-weight
:
bold
;
}
.body
{
padding
:
10px
15px
0
15px
;
>
ul
{
>
li
{
height
:
34px
;
line-height
:
34px
;
letter-spacing
:
1px
;
display
:
flex
;
justify-content
:
space-between
;
}
}
}
}
}
.defineFixed
{
position
:
fixed
;
left
:
0
;
right
:
0
;
min-width
:
320px
;
max-width
:
640px
;
width
:
100%
;
margin
:
0
auto
;
}
\ No newline at end of file
src/app/common/detail-modal/detail-modal.component.spec.ts
0 → 100644
View file @
d589d9dd
import
{
async
,
ComponentFixture
,
TestBed
}
from
'@angular/core/testing'
;
import
{
DetailModalComponent
}
from
'./detail-modal.component'
;
describe
(
'DetailModalComponent'
,
()
=>
{
let
component
:
DetailModalComponent
;
let
fixture
:
ComponentFixture
<
DetailModalComponent
>
;
beforeEach
(
async
(()
=>
{
TestBed
.
configureTestingModule
({
declarations
:
[
DetailModalComponent
]
})
.
compileComponents
();
}));
beforeEach
(()
=>
{
fixture
=
TestBed
.
createComponent
(
DetailModalComponent
);
component
=
fixture
.
componentInstance
;
fixture
.
detectChanges
();
});
it
(
'should create'
,
()
=>
{
expect
(
component
).
toBeTruthy
();
});
});
src/app/common/detail-modal/detail-modal.component.ts
0 → 100644
View file @
d589d9dd
import
{
Component
,
OnInit
,
Input
,
Output
,
EventEmitter
}
from
'@angular/core'
;
@
Component
({
selector
:
'ydlife-detail-modal'
,
templateUrl
:
'./detail-modal.component.html'
,
styleUrls
:
[
'./detail-modal.component.scss'
]
})
export
class
DetailModalComponent
implements
OnInit
{
// application:1其他应税项目,2为个人所得税政策
@
Input
()
application
:
number
;
@
Output
()
closeDetailModal
=
new
EventEmitter
();
isOpen
:
boolean
;
constructor
()
{
this
.
isOpen
=
true
;
}
ngOnInit
()
{
}
// 关闭弹窗
closeModal
()
{
this
.
isOpen
=
false
;
this
.
closeDetailModal
.
emit
();
}
}
src/app/my/my.module.ts
View file @
d589d9dd
...
...
@@ -66,8 +66,10 @@ import { UEditorModule } from 'ngx-ueditor';
import
{
ArticleReadComponent
}
from
'./article-read/article-read.component'
;
import
{
SalaryDetailComponent
}
from
'./salary-detail/salary-detail.component'
;
import
{
SalaryFirstYearComponent
}
from
'./salary-first-year/salary-first-year.component'
;
import
{
DetailModalComponent
}
from
'../common/detail-modal/detail-modal.component'
;
@
NgModule
({
declarations
:
[
MyCenterHomeComponent
,
MkMaterialComponent
,
MkMaterialDetailComponent
,
FileUploadComponent
,
ImportantAnnouncementComponent
,
SalesDetailComponent
,
AnnouncementDetailComponent
,
MyBusinessComponent
,
MyBusinessDetailComponent
,
PickerComponent
,
MyToastComponent
,
SalesRankComponent
,
TeamRankComponent
,
RecruitingComponent
,
RecruitingDetailComponent
,
ThanksComponent
,
MySettingComponent
,
MySettingDetailComponent
,
MyNewsComponent
,
MyTargetComponent
,
TeamPanelComponent
,
SwitchNumberPipe
,
TeamSalesScoreComponent
,
ScoreDetailsComponent
,
BusinessCardComponent
,
OrderDetailComponent
,
SalaryComponent
,
TodoListComponent
,
AddTaskComponent
,
MedicalServiceComponent
,
InvitationComponent
,
RegisterComponent
,
EmployeeInfoComponent
,
EmployeeBasicInfoComponent
,
WorkExperienceComponent
,
PersonalPhotosComponent
,
EmployeeIdCardComponent
,
EmployeeEducationComponent
,
PersonalStatementComponent
,
SignatureComponent
,
EmployeeSubmitComponent
,
BankCardComponent
,
MemberDetailComponent
,
ApprovalListComponent
,
ApprovalCommentsComponent
,
ApprovalResultListComponent
,
MyApplicationComponent
,
SuggestionComponent
,
EmployeeSalaryComponent
,
HistoricalRankComponent
,
TeamAreaPanelComponent
,
ArticleComponent
,
ArticleDetailComponent
,
ArticleReadComponent
,
SalaryDetailComponent
,
SalaryFirstYearComponent
],
declarations
:
[
MyCenterHomeComponent
,
MkMaterialComponent
,
MkMaterialDetailComponent
,
FileUploadComponent
,
ImportantAnnouncementComponent
,
SalesDetailComponent
,
AnnouncementDetailComponent
,
MyBusinessComponent
,
MyBusinessDetailComponent
,
PickerComponent
,
MyToastComponent
,
SalesRankComponent
,
TeamRankComponent
,
RecruitingComponent
,
RecruitingDetailComponent
,
ThanksComponent
,
MySettingComponent
,
MySettingDetailComponent
,
MyNewsComponent
,
MyTargetComponent
,
TeamPanelComponent
,
SwitchNumberPipe
,
TeamSalesScoreComponent
,
ScoreDetailsComponent
,
BusinessCardComponent
,
OrderDetailComponent
,
SalaryComponent
,
TodoListComponent
,
AddTaskComponent
,
MedicalServiceComponent
,
InvitationComponent
,
RegisterComponent
,
EmployeeInfoComponent
,
EmployeeBasicInfoComponent
,
WorkExperienceComponent
,
PersonalPhotosComponent
,
EmployeeIdCardComponent
,
EmployeeEducationComponent
,
PersonalStatementComponent
,
SignatureComponent
,
EmployeeSubmitComponent
,
BankCardComponent
,
MemberDetailComponent
,
ApprovalListComponent
,
ApprovalCommentsComponent
,
ApprovalResultListComponent
,
MyApplicationComponent
,
SuggestionComponent
,
EmployeeSalaryComponent
,
HistoricalRankComponent
,
TeamAreaPanelComponent
,
ArticleComponent
,
ArticleDetailComponent
,
ArticleReadComponent
,
SalaryDetailComponent
,
SalaryFirstYearComponent
,
DetailModalComponent
],
imports
:
[
CommonModule
,
LifeCommonModule
,
...
...
src/app/my/my.service.ts
View file @
d589d9dd
...
...
@@ -611,9 +611,8 @@ export class MyService {
* 获取微信用户的详细信息
*/
getWxUserInfo
(
trackId
)
{
const
url
=
this
.
API
+
'/getWxUserInfo'
;
const
cs
=
{
trackId
:
trackId
};
return
this
.
http
.
post
(
url
,
cs
).
pipe
((
res
)
=>
{
const
url
=
this
.
API
+
'/getSnsApiUserInfo?trackId='
+
trackId
;
return
this
.
http
.
get
(
url
).
pipe
((
res
)
=>
{
return
res
;
});
}
...
...
src/app/my/salary-detail/salary-detail.component.html
View file @
d589d9dd
...
...
@@ -14,35 +14,37 @@
<div
class=
"part"
>
<div
class=
"item"
>
<div
class=
"title"
>
个人销售(A)
</div>
<div
class=
"item_detail"
>
<
a
style=
"color:#2c67a0;"
(
click
)="
jumpToFirstYearSales
()"
>
首年度销售佣金
</a
>
<span
class=
"red"
>
18,505.00
</span>
<div
class=
"item_detail"
(
click
)="
jumpToFirstYearSales
(
1
)"
>
<
span>
首年度销售佣金
</span
>
<span
class=
"red"
>
18,505.00
<i
class=
"iconfont icon-ar-r"
></i>
</span>
</div>
<div
class=
"item_detail"
>
<div
class=
"item_detail"
(
click
)="
jumpToFirstYearSales
(
2
)"
>
<span>
续年度销售佣金
</span>
<span
class=
"red"
>
225.00
</span>
<span
class=
"red"
>
225.00
<i
class=
"iconfont icon-ar-r"
></i>
</span>
</div>
</div>
<div
class=
"item"
>
<div
class=
"title"
>
销售管理(B)
</div>
<div
class=
"item_detail"
>
<div
class=
"item_detail"
(
click
)="
jumpToFirstYearSales
(
3
)"
>
<span>
首年度辅导奖金
</span>
<span
class=
"red"
>
18,505.00
</span>
<span
class=
"red"
>
18,505.00
<i
class=
"iconfont icon-ar-r"
></i>
</span>
</div>
<div
class=
"item_detail"
>
<div
class=
"item_detail"
(
click
)="
jumpToFirstYearSales
(
4
)"
>
<span>
续年度辅导奖金
</span>
<span
class=
"red"
>
225.00
</span>
<span
class=
"red"
>
225.00
<i
class=
"iconfont icon-ar-r"
></i>
</span>
</div>
<div
class=
"item_detail"
>
<div
class=
"item_detail"
(
click
)="
jumpToFirstYearSales
(
5
)"
>
<span>
特别管理奖金
</span>
<span
class=
"red"
>
225.00
</span>
<span
class=
"red"
>
225.00
<i
class=
"iconfont icon-ar-r"
></i>
</span>
</div>
</div>
<div
class=
"item"
>
<div
class=
"title"
>
其他应税项目(C)
</div>
<div
class=
"item_detail"
>
<div
class=
"title"
style=
"justify-content: inherit;"
(
click
)="
toastShow =
true"
>
其他应税项目(C)
<span
class=
"iconfont icon-wenhao"
style=
"margin-top: 3px;color: #f8002e;margin-left: 3px;"
></span></div>
<div
class=
"item_detail"
(
click
)="
jumpToFirstYearSales
(
6
)"
>
<span>
其他应税加扣款
</span>
<span
class=
"red"
>
225.00
</span>
<span
class=
"red"
>
225.00
<
i
class=
"iconfont icon-ar-r"
></i><
/span>
</div>
</div>
<div
class=
"item"
>
...
...
@@ -70,13 +72,18 @@
</div>
<a
style=
"color:#2c67a0;"
(
click
)="
lookTak
()"
>
点击查看个人所得税明细
</a>
</div>
<!--保险公司介绍弹窗-->
<div
*
ngIf=
"toastShow"
>
<ydlife-detail-modal
[
application
]="
1
"
(
closeDetailModal
)="
toastShow =
false"
></ydlife-detail-modal>
</div>
</div>
<div
class=
"mask"
*
ngIf=
"takFlag == true;"
></div>
<div
class=
"tax_mask"
*
ngIf=
"takFlag == true;"
>
<div
class=
"close"
(
click
)="
takFlag =
false;"
>
X
</div>
<div
class=
"mask_title"
>
<div>
个人所得税预扣明细
</div>
<div><span
class=
"iconfont icon-zhuyishixiang"
></span>
个人所得税政策
</div>
<div
(
click
)="
toastShow =
true"
><span
class=
"iconfont icon-zhuyishixiang"
></span>
个人所得税政策
</div>
</div>
<div
class=
"tax_content"
>
<div
class=
"tax_item"
>
...
...
src/app/my/salary-detail/salary-detail.component.scss
View file @
d589d9dd
...
...
@@ -52,8 +52,15 @@
justify-content
:
space-between
;
align-items
:
center
;
height
:
30px
;
padding-left
:
15px
;
}
margin-left
:
15px
;
border-bottom
:
1px
#f4f4f4
solid
;
.iconfont
{
font-size
:
14px
;
}
}
.item_detail
:last-child
{
border-bottom
:
0
;
}
.red
{
color
:
#f8002e
;
font-weight
:
bold
;
...
...
src/app/my/salary-detail/salary-detail.component.ts
View file @
d589d9dd
...
...
@@ -11,6 +11,7 @@ import { ActivatedRoute,Router } from "@angular/router";
export
class
SalaryDetailComponent
implements
OnInit
{
monDtlPeriod
:
string
;
takFlag
:
boolean
=
false
;
toastShow
:
boolean
;
constructor
(
public
lifeCommonService
:
LifeCommonService
,
private
activatedRoute
:
ActivatedRoute
,
private
router
:
Router
)
{
}
...
...
@@ -22,11 +23,20 @@ export class SalaryDetailComponent implements OnInit {
lookTak
(){
this
.
takFlag
=
true
;
console
.
log
(
this
.
takFlag
)
}
jumpToFirstYearSales
(){
this
.
router
.
navigate
([
`/salary_detail/
${
this
.
monDtlPeriod
}
`
]);
/**
*
* @param type
* 1.首年度销售佣金
* 2.续年度销售佣金
* 3.首年度辅导奖金
* 4.续年度辅导奖金
* 5.特别管理奖金
* 6.其他应税加扣款
*/
jumpToFirstYearSales
(
type
){
this
.
router
.
navigate
([
`/salary_detail/
${
this
.
monDtlPeriod
}
`
],{
queryParams
:{
type
:
type
}});
}
}
src/app/my/salary-first-year/salary-first-year.component.html
View file @
d589d9dd
<div
class=
"wrapper"
>
<div
class=
"header"
>
<div
class=
"iconfont icon-fanhui"
></div>
<div>
首年销售奖金
</div>
<div
class=
"iconfont icon-fanhui"
(
click
)="
goBack
()"
></div>
<div>
{{getTitleName(type)}}
</div>
</div>
<div
class=
"content_wrapper"
>
<div
class=
"policy_item"
>
...
...
@@ -11,10 +11,16 @@
<div>
保险公司:复星
</div>
<div>
生效时间:2021-03-07
</div>
<div>
保单号:1234567
</div>
<div
*
ngIf=
"status"
>
保费:
</div>
<div
*
ngIf=
"status"
>
FYC:
</div>
<div
*
ngIf=
"status"
>
职阶率:
</div>
<div
*
ngIf=
"status"
>
体系:
</div>
<div
*
ngIf=
"status"
>
经纪人:
</div>
</div>
<div
class=
"money"
(
click
)="
status =
!status"
>
¥3,750.00
<div
style=
"width: 15px;height: 15px;position: absolute;right: -15px;top: 8px;"
[
ngStyle
]="{'
transform
'
:
status
?
'
rotate
(
0
)'
:
'
rotate
(
180deg
)'}"
>
<div
style=
"width: 15px;height: 15px;position: absolute;right: -20px;top: 8px;"
[
ngStyle
]="{'
transform
'
:
status
?
'
rotate
(
0
)'
:
'
rotate
(
180deg
)','
top
'
:status
?'
0
'
:
'
8px
'}"
>
<span
class=
"iconfont icon-xiangxia"
></span>
</div>
</div>
...
...
src/app/my/salary-first-year/salary-first-year.component.ts
View file @
d589d9dd
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
ActivatedRoute
,
Router
}
from
"@angular/router"
;
@
Component
({
selector
:
'ydlife-salary-first-year'
,
...
...
@@ -7,9 +8,34 @@ import { Component, OnInit } from '@angular/core';
})
export
class
SalaryFirstYearComponent
implements
OnInit
{
status
:
boolean
;
constructor
()
{
}
type
:
any
;
constructor
(
private
activatedRoute
:
ActivatedRoute
)
{
}
ngOnInit
()
{
this
.
type
=
this
.
activatedRoute
.
snapshot
.
queryParams
.
type
?
this
.
activatedRoute
.
snapshot
.
queryParams
.
type
:
null
;
}
goBack
(){
history
.
go
(
-
1
);
}
getTitleName
(
type
){
switch
(
type
){
case
'1'
:
return
'首年度销售佣金'
;
case
'2'
:
return
'续年度销售佣金'
;
case
'3'
:
return
'首年度辅导奖金'
;
case
'4'
:
return
'续年度辅导奖金'
;
case
'5'
:
return
'特别管理奖金'
;
case
'6'
:
return
'其他应税加扣款'
;
default
:
return
'/'
}
}
}
src/app/my/salary/salary.component.scss
View file @
d589d9dd
...
...
@@ -37,7 +37,7 @@
height
:
35px
;
position
:
absolute
;
left
:
13px
;
top
:
1
3
px
;
top
:
1
5
px
;
line-height
:
30px
;
text-align
:
center
;
border-radius
:
50%
;
...
...
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