Commit 9320374b by Chao Sun

薪资表

parent f8b2f853
......@@ -81,7 +81,7 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
{ 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: 19, subtitle: '我的薪资', icon: 'icon-yongjin', path: '', routerLink: 'salary' },
{ no: '', subtitle: '', icon: '', path: '', routerLink: '' }
],
isShow: true
......@@ -104,7 +104,6 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
{ 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
}, {
......
......@@ -24,7 +24,7 @@ import { TeamSalesScoreComponent } from './team-sales-score/team-sales-score.com
import { ScoreDetailsComponent } from './score-details/score-details.component';
import { BusinessCardComponent } from "./business-card/business-card.component";
import { OrderDetailComponent } from './order-detail/order-detail.component';
import { SalaryComponent } from './salary/salary.component';
const myRoutes: Routes = [
{ path: '', component: MyCenterHomeComponent, canActivate: [AuthGuard], data: [{ title: '银盾保险经纪 - 工作台' }] },
{ path: 'material', component: MkMaterialComponent, canActivate: [AuthGuard] },
......@@ -50,6 +50,7 @@ const myRoutes: Routes = [
{ path: 'scoreDeatil', component: ScoreDetailsComponent, canActivate: [AuthGuard] },
{ path: 'businessCard', component: BusinessCardComponent, canActivate: [AuthGuard] },
{ path: 'orderDetail', component: OrderDetailComponent, canActivate: [AuthGuard] },
{ path: 'salary', component: SalaryComponent, canActivate: [AuthGuard] }
];
......
......@@ -29,9 +29,10 @@ import { TeamSalesScoreComponent } from './team-sales-score/team-sales-score.com
import { ScoreDetailsComponent } from './score-details/score-details.component';
import { BusinessCardComponent } from './business-card/business-card.component';
import { OrderDetailComponent } from './order-detail/order-detail.component';
import { SalaryComponent } from './salary/salary.component';
@NgModule({
declarations: [MyCenterHomeComponent, MkMaterialComponent, MkMaterialDetailComponent, FileUploadComponent, ImportantAnnouncementComponent, SalesDetailComponent, AnnouncementDetailComponent, MyBusinessComponent, MyBusinessDetailComponent, PickerComponent, ToastComponent, SalesRankComponent, TeamRankComponent, RecruitingComponent, RecruitingDetailComponent, ThanksComponent, MySettingComponent, MySettingDetailComponent, MyNewsComponent, MyTargetComponent, TeamPanelComponent, SwitchNumberPipe, TeamSalesScoreComponent, ScoreDetailsComponent, BusinessCardComponent, OrderDetailComponent],
declarations: [MyCenterHomeComponent, MkMaterialComponent, MkMaterialDetailComponent, FileUploadComponent, ImportantAnnouncementComponent, SalesDetailComponent, AnnouncementDetailComponent, MyBusinessComponent, MyBusinessDetailComponent, PickerComponent, ToastComponent, SalesRankComponent, TeamRankComponent, RecruitingComponent, RecruitingDetailComponent, ThanksComponent, MySettingComponent, MySettingDetailComponent, MyNewsComponent, MyTargetComponent, TeamPanelComponent, SwitchNumberPipe, TeamSalesScoreComponent, ScoreDetailsComponent, BusinessCardComponent, OrderDetailComponent, SalaryComponent],
imports: [
CommonModule,
LifeCommonModule,
......
......@@ -307,4 +307,25 @@ export class MyService {
return this.http
.post(url, JSON.stringify(param));
}
//薪资列表
payScaleListQuery(param) {
const url = this.ydapi + '/practitioner/payScaleListQuery';
return this.http
.post(url, JSON.stringify(param));
}
//薪资pdf
payScalePdf(param) {
this.http.post(`${this.ydapi}/practitioner/payScalePdf`, param, { responseType: 'blob', observe: 'response' }).subscribe(data => {
const link = document.createElement('a');
const blob = new Blob([data.body], { type: 'application/pdf;charset=UTF-8' });
link.setAttribute('href', window.URL.createObjectURL(blob));
link.setAttribute('download', data.headers.get('Content-Disposition').split('filename=')[1]);
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
})
}
}
<div class="salesWrapper">
<div class="salesContent">
<div class="salesItem" *ngFor="let payScaleItem of payScaleInfos">
<div class="icon_bolck"><span class="iconfont icon-yongjin"></span></div>
<div class="line">
<div>{{payScaleItem.monDtlPeriod}}</div>
<!-- <span class="iconfont icon-ar-r" style="font-size: 10px;position: relative; right: -2px;"></span> -->
</div>
<div class="line long_line">
<span>实发佣金</span>
<div class="price">¥{{payScaleItem.monDtlRAmount | number: "1.2-2"}}</div>
</div>
<div class="line long_line">
<span>应发佣金</span>
<div class="price">¥{{payScaleItem.monDtlAmount | number: "1.2-2"}}</div>
</div>
<div class="line long_line">
<div></div>
<!-- <div>{{(payScaleItem.createDate).substr(0,10)}}</div> -->
<div (click)="getPdf(payScaleItem.monShId)">详细</div>
</div>
</div>
<div style="text-align: center;margin-top: 20px;" *ngIf="payScaleInfos?.length<=0">暂无数据</div>
</div>
</div>
\ No newline at end of file
.salesWrapper{
width: 100%;
height: 100%;
overflow: auto;
.top{
display: flex;
justify-content: space-between;
align-items: center;
.tab{
display: flex;
list-style: none;
/* margin-bottom: 5px; */
margin: 10px 0px;
padding:0 2%;
justify-content: space-between;
li {
text-align: center;
// border: 1px #a9aabb solid;
// border-radius: 20px;
font-size: 16px;
}
li.selected{
// background-color: #ff5a32;
// color: #fff;
// border: 1px #f0f0f0 solid;
// border: 1px #e10d0d solid;
border-bottom: 2px #e10d0d solid;
font-weight: bold;
}
}
.tab:nth-child(1){
width: 50%;
}
.tab:nth-child(2){
width: 28%;
}
}
.salesContent{
.salesItem{
border-bottom: 1px #dcdcdc solid;
padding: 10px;
padding-left: 45px;
position: relative;
.icon_bolck{
border: 1px #dcdcdc solid;
width: 35px;
height: 35px;
position: absolute;
left: 3px;
top: 20px;
line-height: 30px;
text-align: center;
border-radius: 50%;
.iconfont{
color: #ff3500;
font-size: 22px;
position: relative;
top: 1px;
}
}
.line{
display: flex;
justify-content: space-between;
align-items: center;
// height: 20px;
font-size: 14px;
.price{
font-size: 16px;
color: #ff3500;
font-weight: bold;
}
}
.long_line{
font-size: 12px;
}
}
.salesItem:last-child{
border-bottom: none;
}
}
}
\ No newline at end of file
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { SalaryComponent } from './salary.component';
describe('SalaryComponent', () => {
let component: SalaryComponent;
let fixture: ComponentFixture<SalaryComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ SalaryComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(SalaryComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
import { MyService } from '../my.service';
@Component({
selector: 'ydlife-salary',
templateUrl: './salary.component.html',
styleUrls: ['./salary.component.scss']
})
export class SalaryComponent implements OnInit {
practitionerIdEG: any;
payScaleInfos: Array<any>;
constructor(private myService: MyService) { }
ngOnInit() {
this.practitionerIdEG = JSON.parse(localStorage.getItem('lifeCustomerInfo'))['practitionerIdEG'];
this.payScaleListQuery();
}
payScaleListQuery() {
this.myService.payScaleListQuery({ practitionerIdEG: this.practitionerIdEG }).subscribe((res) => {
console.log(res)
if (res['success']) {
this.payScaleInfos = res['data']['payScaleInfos'];
} else {
this.payScaleInfos = [];
}
})
}
//下载pdf
getPdf(monShId) {
this.myService.payScalePdf({ monShId: monShId })
}
}
......@@ -13,7 +13,7 @@
</div>
<div class="salesContent">
<div class="salesItem" *ngFor="let salesDetailItem of salesDetailList"
(click)="jumpToOrderdetail(salesDetailItem.orderNo,salesDetailItem.platform)">
(click)="jumpToOrderdetail(salesDetailItem.orderNo,salesDetailItem.platform,salesDetailItem.fortuneId)">
<div class="icon_bolck" *ngIf="showType==='sales'"><span class="iconfont icon-yongjin"></span></div>
<div class="icon_bolck" *ngIf="showType==='orderform'"><span class="iconfont icon-baodanyangben"
style="font-size: 20px;"></span></div>
......
......@@ -56,10 +56,10 @@ export class SalesDetailComponent implements OnInit {
this.practitionerPolicyListQuery(this.platform);
}
jumpToOrderdetail(orderNo, platform) {
jumpToOrderdetail(orderNo, platform, fortuneId) {
if (platform === 1) {
const customerId = JSON.parse(localStorage.getItem('lifeCustomerInfo')).customerId;
window.location.href = `https://${window.location.host}/mine/orderdetail/${orderNo}?customerId=${customerId}&isReferral=true&paid=true`;
window.location.href = `https://${window.location.host}/mine/orderdetail/${orderNo}?customerId=${customerId}&isReferral=true&paid=true&fortuneId=${fortuneId}`;
} else {
this.router.navigate(['/orderDetail'], { queryParams: { orderNo: orderNo } });
}
......
......@@ -63,8 +63,15 @@
<li *ngIf="searchType==3">{{rankItem.count}}</li>
</ul>
</div>
<div class="personal">
<span style="margin-right: 20px;">您的个人排名</span>
<span>{{practitionerInfo?.rank!=null ?practitionerInfo?.rank:'-'}}</span>
<div class="rankContent">
<ul>
<li>{{practitionerInfo?.rank!=null ?practitionerInfo?.rank:'-'}}</li>
<li>{{practitionerBasicInfo?.name}}</li>
<li>{{practitionerBasicInfo?.subordinateName}}</li>
<li *ngIf="searchType=='1'">{{practitionerInfo?.fyp}}</li>
<li *ngIf="searchType=='2'">{{practitionerInfo?.fyc}}</li>
<li *ngIf="searchType=='3'">{{practitionerInfo?.count}}</li>
</ul>
</div>
</div>
\ No newline at end of file
......@@ -90,6 +90,9 @@
}
.personal{
color: #fff;
span{
}
}
}
\ No newline at end of file
......@@ -16,6 +16,7 @@ export class SalesRankComponent implements OnInit {
isOnlineType: any;
rankList: Array<any>;
practitionerInfo: any;
practitionerBasicInfo: any;
constructor(private activatedRoute: ActivatedRoute, private myService: MyService) {
this.performanceList = [
{ type: 1, name: '本月' },
......@@ -34,6 +35,8 @@ export class SalesRankComponent implements OnInit {
}
ngOnInit() {
this.practitionerBasicInfo = JSON.parse(localStorage.getItem("lifeCustomerInfo"))['practitionerBasicInfo'];
console.log(this.practitionerBasicInfo)
this.time = this.activatedRoute.snapshot.queryParams.time ? Number(this.activatedRoute.snapshot.queryParams.time) : null;
//初始化查线上保费
this.rank(this.time, 1, 1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment