Commit 1b0c9fd3 by sunchao

历史保单和业绩注释&电子报聘拒绝后可修改

parent 83aeb5a9
...@@ -79,7 +79,8 @@ export class LoginComponent implements OnInit, OnDestroy { ...@@ -79,7 +79,8 @@ export class LoginComponent implements OnInit, OnDestroy {
} }
} }
} else { } else {
this.openPopInfo('仅供寿险经纪人登录!'); this.openPopInfo('你好,只有授权的经纪人才可登录,请联系我们的客服4009219290');
// this.openPopInfo(`你好,只有授权的经纪人才可登录,请联系我们的客服 <a href="tel:4009219290">4009219290 </a>`);
return; return;
} }
......
...@@ -47,10 +47,10 @@ export class PersonalStatementComponent implements OnInit { ...@@ -47,10 +47,10 @@ export class PersonalStatementComponent implements OnInit {
this.approvalIdentity = this.activatedRoute.snapshot.queryParams.approvalIdentity?this.activatedRoute.snapshot.queryParams.approvalIdentity:null; this.approvalIdentity = this.activatedRoute.snapshot.queryParams.approvalIdentity?this.activatedRoute.snapshot.queryParams.approvalIdentity:null;
if(this.type=="personal_statement"){ if(this.type=="personal_statement"){
this.dropOptionsQuery(); this.dropOptionsQuery();
}else{ }
if(this.type=="contract"){
this.queryContractTerms(); this.queryContractTerms();
} }
this.queryWholeInfo(this.hiringBasicInfoId);
} }
...@@ -62,11 +62,11 @@ export class PersonalStatementComponent implements OnInit { ...@@ -62,11 +62,11 @@ export class PersonalStatementComponent implements OnInit {
if(this.type == 'personal_statement'){ if(this.type == 'personal_statement'){
this.savePersonalStatements(); this.savePersonalStatements();
}else if(this.type == 'contract'){ }else if(this.type == 'contract'){
this.saveContractTermsConfirms();
if(!this.isAllAgree){ if(!this.isAllAgree){
this.openPopInfo('请详细阅读全部条款!') this.openPopInfo('请详细阅读全部条款!')
return; return;
} }
this.saveContractTermsConfirms();
this.router.navigate(['/signature'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} }); this.router.navigate(['/signature'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} });
} }
} }
...@@ -78,11 +78,13 @@ export class PersonalStatementComponent implements OnInit { ...@@ -78,11 +78,13 @@ export class PersonalStatementComponent implements OnInit {
this.dropOptionsInfoList.forEach((item)=>{ this.dropOptionsInfoList.forEach((item)=>{
item.status = 0; item.status = 0;
item.userInput = null; item.userInput = null;
}) });
this.queryWholeInfo(this.hiringBasicInfoId);
}else{ }else{
this.openPopInfo(res['message']); this.openPopInfo(res['message']);
} }
}) })
} }
// 打开弹窗 // 打开弹窗
...@@ -159,9 +161,12 @@ export class PersonalStatementComponent implements OnInit { ...@@ -159,9 +161,12 @@ export class PersonalStatementComponent implements OnInit {
this.contractTermsList = res['data']['contractTermsList']; this.contractTermsList = res['data']['contractTermsList'];
this.contractTermsList.forEach((item)=>{ this.contractTermsList.forEach((item)=>{
item.confirmStatus = 0; item.confirmStatus = 0;
}) });
this.queryWholeInfo(this.hiringBasicInfoId);
}else{
this.openPopInfo(res['message']);
} }
}) });
} }
// 关闭弹窗 // 关闭弹窗
...@@ -178,10 +183,10 @@ export class PersonalStatementComponent implements OnInit { ...@@ -178,10 +183,10 @@ export class PersonalStatementComponent implements OnInit {
this.isShow = true; this.isShow = true;
setTimeout(() => { setTimeout(() => {
let scrollTop = this.toastContent.nativeElement.scrollTop; let scrollTop = this.toastContent.nativeElement.scrollTop;
if(scrollTop==0){ if(scrollTop>=0){
setTimeout(() => { // setTimeout(() => {
this.agreeBtnShow = true; this.agreeBtnShow = true;
}, 1000); // }, 1000);
} }
}, 500); }, 500);
this.curContract = contractItem.termNote; this.curContract = contractItem.termNote;
...@@ -232,8 +237,7 @@ export class PersonalStatementComponent implements OnInit { ...@@ -232,8 +237,7 @@ export class PersonalStatementComponent implements OnInit {
}) })
} }
async queryWholeInfo(hiringBasicInfoId){ queryWholeInfo(hiringBasicInfoId){
await this.queryContractTerms();
this.myService.queryWholeInfo({hiringBasicInfoId:hiringBasicInfoId}).subscribe( (res)=>{ this.myService.queryWholeInfo({hiringBasicInfoId:hiringBasicInfoId}).subscribe( (res)=>{
if(res['success']){ if(res['success']){
this.approveStatus = res['data']['hiringBasicInfo']['approveStatus']; this.approveStatus = res['data']['hiringBasicInfo']['approveStatus'];
......
...@@ -97,8 +97,11 @@ export class WorkExperienceComponent implements OnInit { ...@@ -97,8 +97,11 @@ export class WorkExperienceComponent implements OnInit {
this.showworkingStart = result; this.showworkingStart = result;
} }
if(type=='end'){ if(type=='end'){
alert(result)
this.addExperience.workingEnd = this.currentDateFormat(result, 'yyyy-mm-dd'); this.addExperience.workingEnd = this.currentDateFormat(result, 'yyyy-mm-dd');
this.showworkingEnd =result; this.showworkingEnd =result;
alert(this.addExperience.workingEnd)
alert(this.showworkingEnd)
} }
} }
......
<div class="team_sales_detail_wrapper">
<div class="teamHeader">
<div class="teamItem teamInfo">
<img src="assets/images/history_cup.png" >
<div style="letter-spacing: 5px;margin-left: 5%;margin-top: 2%;">往期历史</div>
</div>
</div>
</div>
\ No newline at end of file
.team_sales_detail_wrapper{
background: #fff;
overflow: auto;
height: 100%;
ul li,ol li{
list-style: none;
}
.teamHeader{
background:url('../../../assets/images/team_bg.png') no-repeat;
background-size: 100%;
.teamInfo{
font-size: 26px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
overflow: hidden;
border-radius: 6px;
color: #fff;
height: 125px;
font-weight: bold;
img{
width: 16%;
margin-left: -8%;
}
}
}
}
\ No newline at end of file
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { HistoricalRankComponent } from './historical-rank.component';
describe('HistoricalRankComponent', () => {
let component: HistoricalRankComponent;
let fixture: ComponentFixture<HistoricalRankComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ HistoricalRankComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(HistoricalRankComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'ydlife-historical-rank',
templateUrl: './historical-rank.component.html',
styleUrls: ['./historical-rank.component.scss']
})
export class HistoricalRankComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
...@@ -432,6 +432,14 @@ export class MyBusinessDetailComponent implements OnInit { ...@@ -432,6 +432,14 @@ export class MyBusinessDetailComponent implements OnInit {
} }
} }
this.ownOpportunityDetailQuery(); this.ownOpportunityDetailQuery();
}else{
this.toastDialog = true;
this.toastInfo = {
status: 1,
msg: res['success'],
timeout: 3000,
align: 'center'
};
} }
}) })
} }
......
...@@ -57,7 +57,8 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit { ...@@ -57,7 +57,8 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
this.performanceList = [ this.performanceList = [
{ name: `${this.lifeCommonService.dateFormat(new Date, ('M'))}月`, time: 1 }, { name: `${this.lifeCommonService.dateFormat(new Date, ('M'))}月`, time: 1 },
{ name: `${this.getQuarter(this.lifeCommonService.dateFormat(new Date, ('M')))}`, time: 3 }, { name: `${this.getQuarter(this.lifeCommonService.dateFormat(new Date, ('M')))}`, time: 3 },
{ name: '本年度', time: 2 } { name: '本年度', time: 2 },
// { name:'往期历史' , time: 4 }
] ]
//初始化调本月线上 保费+ 本月线下保费 //初始化调本月线上 保费+ 本月线下保费
this.rank(1, 1, 1) this.rank(1, 1, 1)
...@@ -208,6 +209,9 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit { ...@@ -208,6 +209,9 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
*/ */
rank(time, platform, type) { rank(time, platform, type) {
this.performanceSelectedFlag = time; this.performanceSelectedFlag = time;
if(time==4){
this.router.navigate(['/historical_rank'])
}else{
const param = { const param = {
mobileNo: JSON.parse(localStorage.getItem('lifeCustomerInfo'))['mobileNo'], mobileNo: JSON.parse(localStorage.getItem('lifeCustomerInfo'))['mobileNo'],
time: time, time: time,
...@@ -230,7 +234,9 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit { ...@@ -230,7 +234,9 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
this.offlineInfo = res['data']['practitionerInfo']; this.offlineInfo = res['data']['practitionerInfo'];
} }
} }
}) });
}
} }
//截取字符串 //截取字符串
......
...@@ -47,6 +47,8 @@ import { ApprovalResultListComponent } from './approval-result-list/approval-res ...@@ -47,6 +47,8 @@ import { ApprovalResultListComponent } from './approval-result-list/approval-res
import { MyApplicationComponent } from './my-application/my-application.component'; import { MyApplicationComponent } from './my-application/my-application.component';
import { SuggestionComponent } from './suggestion/suggestion.component'; import { SuggestionComponent } from './suggestion/suggestion.component';
import { EmployeeSalaryComponent } from './application-process/employee-salary/employee-salary.component'; import { EmployeeSalaryComponent } from './application-process/employee-salary/employee-salary.component';
import { HistoricalRankComponent } from './historical-rank/historical-rank.component';
const myRoutes: Routes = [ const myRoutes: Routes = [
{ path: '', component: MyCenterHomeComponent, canActivate: [AuthGuard], data: [{ title: '银盾保险经纪 - 工作台' }] }, { path: '', component: MyCenterHomeComponent, canActivate: [AuthGuard], data: [{ title: '银盾保险经纪 - 工作台' }] },
{ path: 'material', component: MkMaterialComponent, canActivate: [AuthGuard] }, { path: 'material', component: MkMaterialComponent, canActivate: [AuthGuard] },
...@@ -99,7 +101,8 @@ const myRoutes: Routes = [ ...@@ -99,7 +101,8 @@ const myRoutes: Routes = [
{ path: 'approval_comments',component:ApprovalCommentsComponent,canActivate:[AuthGuard]}, { path: 'approval_comments',component:ApprovalCommentsComponent,canActivate:[AuthGuard]},
{ path: 'approval_result_list',component:ApprovalResultListComponent,data: [{ title: '审批流程' }],canActivate:[AuthGuard]}, { path: 'approval_result_list',component:ApprovalResultListComponent,data: [{ title: '审批流程' }],canActivate:[AuthGuard]},
{ path: 'my_application',component:MyApplicationComponent,data: [{ title: '我的报聘' }],canActivate:[AuthGuard]}, { path: 'my_application',component:MyApplicationComponent,data: [{ title: '我的报聘' }],canActivate:[AuthGuard]},
{ path: 'suggestion',component:SuggestionComponent,data: [{ title: '问题反馈' }],canActivate:[AuthGuard]} { path: 'suggestion',component:SuggestionComponent,data: [{ title: '问题反馈' }],canActivate:[AuthGuard]},
{ path: 'historical_rank', component: HistoricalRankComponent, canActivate: [AuthGuard] }
]; ];
......
...@@ -57,9 +57,10 @@ import { ApprovalResultListComponent } from './approval-result-list/approval-res ...@@ -57,9 +57,10 @@ import { ApprovalResultListComponent } from './approval-result-list/approval-res
import { MyApplicationComponent } from './my-application/my-application.component'; import { MyApplicationComponent } from './my-application/my-application.component';
import { SuggestionComponent } from './suggestion/suggestion.component'; import { SuggestionComponent } from './suggestion/suggestion.component';
import { EmployeeSalaryComponent } from './application-process/employee-salary/employee-salary.component'; import { EmployeeSalaryComponent } from './application-process/employee-salary/employee-salary.component';
import { HistoricalRankComponent } from './historical-rank/historical-rank.component';
@NgModule({ @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], 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],
imports: [ imports: [
CommonModule, CommonModule,
LifeCommonModule, LifeCommonModule,
......
...@@ -468,6 +468,10 @@ export class RecruitingDetailComponent implements OnInit { ...@@ -468,6 +468,10 @@ export class RecruitingDetailComponent implements OnInit {
} }
saveMembership(){ saveMembership(){
if(!this.employQuery.mdDropOptionId || this.employQuery.mdDropOptionId == null){
this.openPopInfo('报聘职级不能为空!');
return;
}
if(this.employQuery.mdDropOptionId != 30){ if(this.employQuery.mdDropOptionId != 30){
if(!this.employQuery.mentorPractitionerId || !this.employQuery.mentor){ if(!this.employQuery.mentorPractitionerId || !this.employQuery.mentor){
this.openPopInfo('S2级别以下,辅导人不可以为空!') this.openPopInfo('S2级别以下,辅导人不可以为空!')
......
<div class="salesWrapper"> <div class="salesWrapper">
<div class="teamHeader">
<div class="teamItem teamInfo">
<img src="assets/images/history_cup.png" >
<div>
{{performanceTitle}}{{showType==='sales'?'佣金':'保单'}}
</div>
</div>
</div>
<div class="top"> <div class="top">
<ul class="tab"> <ul class="tab">
<li *ngFor="let item of performanceList" (click)="selectRang(item.time)" <li *ngFor="let item of performanceList" (click)="selectRang(item.time,item.name)"
[ngClass]="{selected:searchType==item.time}"> [ngClass]="{selected:searchType==item.time}">
{{item.name}} {{item.name}}
</li> </li>
...@@ -14,9 +22,6 @@ ...@@ -14,9 +22,6 @@
<div class="salesContent"> <div class="salesContent">
<div class="salesItem" *ngFor="let salesDetailItem of salesDetailList" <div class="salesItem" *ngFor="let salesDetailItem of salesDetailList"
(click)="jumpToOrderdetail(salesDetailItem.orderNo,salesDetailItem.platform,salesDetailItem.fortuneId)"> (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>
<div class="line"> <div class="line">
<div>投保人:{{salesDetailItem.holderName}}</div> <div>投保人:{{salesDetailItem.holderName}}</div>
<span class="iconfont icon-ar-r" style="font-size: 10px;position: relative; right: -2px;"></span> <span class="iconfont icon-ar-r" style="font-size: 10px;position: relative; right: -2px;"></span>
......
.salesWrapper{ .salesWrapper{
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: auto; overflow: hidden;
.teamHeader{
background:url('../../../assets/images/team_bg.png') no-repeat;
background-size: 100%;
.teamInfo{
font-size: 26px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
overflow: hidden;
border-radius: 6px;
color: #fff;
height: 125px;
font-weight: bold;
img{
width: 16%;
margin-left: -8%;
}
div{
letter-spacing: 5px;
margin-left: 5%;
margin-top: 2%;
}
}
}
.top{ .top{
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
...@@ -37,10 +62,11 @@ ...@@ -37,10 +62,11 @@
} }
.salesContent{ .salesContent{
overflow: auto;
height: 100%;
.salesItem{ .salesItem{
border-bottom: 1px #dcdcdc solid; border-bottom: 1px #dcdcdc solid;
padding: 10px; padding: 10px;
padding-left: 45px;
position: relative; position: relative;
.icon_bolck{ .icon_bolck{
border: 1px #dcdcdc solid; border: 1px #dcdcdc solid;
......
...@@ -13,11 +13,13 @@ export class SalesDetailComponent implements OnInit { ...@@ -13,11 +13,13 @@ export class SalesDetailComponent implements OnInit {
performanceList: Array<any>; performanceList: Array<any>;
showType: any; showType: any;
platform: number; platform: number;
performanceTitle:string = '本月';
constructor(private router: Router, private myService: MyService, private activatedRoute: ActivatedRoute, public lifeCommonService: LifeCommonService) { constructor(private router: Router, private myService: MyService, private activatedRoute: ActivatedRoute, public lifeCommonService: LifeCommonService) {
this.performanceList = [ this.performanceList = [
{ time: 1, name: '本月' }, { time: 1, name: '本月' },
{ time: 3, name: '本季' }, { time: 3, name: '本季' },
{ time: 2, name: '本年度' } { time: 2, name: '本年度' },
// { time: 4, name: '历史' }
] ]
} }
...@@ -51,8 +53,9 @@ export class SalesDetailComponent implements OnInit { ...@@ -51,8 +53,9 @@ export class SalesDetailComponent implements OnInit {
selectRang(e) { selectRang(e,name) {
this.searchType = e; this.searchType = e;
this.performanceTitle = name;
this.practitionerPolicyListQuery(this.platform); this.practitionerPolicyListQuery(this.platform);
} }
......
...@@ -189,6 +189,7 @@ footer.fixed{ ...@@ -189,6 +189,7 @@ footer.fixed{
.contentDetail.employ .am-list-body{ .contentDetail.employ .am-list-body{
margin:5.5px 10px; margin:5.5px 10px;
border-top: none;
.am-list-item{ .am-list-item{
padding-left: 0; padding-left: 0;
.am-list-line{ .am-list-line{
...@@ -271,3 +272,4 @@ footer.fixed{ ...@@ -271,3 +272,4 @@ footer.fixed{
font-size: 22px; font-size: 22px;
} }
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