Commit 8fec8ce2 by sunchao

银盾学院权限控制

parent 2b0e433b
...@@ -2,10 +2,12 @@ ...@@ -2,10 +2,12 @@
<h5>{{item.title}}</h5> <h5>{{item.title}}</h5>
<ul> <ul>
<li *ngFor="let subItem of item.subItems" (click)="featureSelect(subItem)"> <li *ngFor="let subItem of item.subItems" (click)="featureSelect(subItem)">
<div> <ng-container *ngIf="subItem.isShow">
<img [src]="'assets/images/indexIcons/' + subItem.icon + '.png'" alt=""> <div>
</div> <img [src]="'assets/images/indexIcons/' + subItem.icon + '.png'" alt="">
<p>{{subItem.name}}</p> </div>
<p>{{subItem.name}}</p>
</ng-container>
</li> </li>
</ul> </ul>
</div> </div>
......
import { Location } from '@angular/common'; import { Location } from '@angular/common';
import { Component, OnDestroy, OnInit } from '@angular/core'; import { Component, OnDestroy, OnInit } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { MyService } from '../my.service';
@Component({ @Component({
selector: 'ydlife-more-features', selector: 'ydlife-more-features',
...@@ -9,83 +10,8 @@ import { Router } from '@angular/router'; ...@@ -9,83 +10,8 @@ import { Router } from '@angular/router';
}) })
export class MoreFeaturesComponent implements OnInit,OnDestroy { export class MoreFeaturesComponent implements OnInit,OnDestroy {
lifeCustomerInfo: any = JSON.parse(localStorage.getItem('lifeCustomerInfo')) ? JSON.parse(localStorage.getItem('lifeCustomerInfo')) : null; lifeCustomerInfo: any = JSON.parse(localStorage.getItem('lifeCustomerInfo')) ? JSON.parse(localStorage.getItem('lifeCustomerInfo')) : null;
public feartureLists = [ canSeeSchool:Boolean=false;
{key:'00',title:'营销工具',subItems:[ public feartureLists:Array<any> = [];
{no:1,name:'线上投保',icon:'onlineInsurance',link:'',path:`https://${window.location.host}/index?source=dyd`,isOpen:true},
{no:2,name:'产品库',icon:'product-market',link:'/product',path:'',isOpen:true},
{no:3,name:'投核保知识库',icon:'insuranceKnowledgeBase',link:'/underwriting_knowledge',path:'',isOpen:true},
{no:4,name:'计划书',icon:'proposals',link:'',path:'',isOpen:false},
{no:5,name:'产品海报',icon:'productPoster',link:'/material',path:'',isOpen:true},
{no:6,name:'文章分享',icon:'articleShare',link:'/article/null',path:'',isOpen:true},
{no:7,name:'AI保险医生',icon:'aiDoctor',link:'',path:`https://${window.location.host}/questionnaire/#/index?campaign=AIRobot&task=AItask1&customerId=${this.lifeCustomerInfo.customerId}`,isOpen:true},
{no:36,name:'遗嘱服务',icon:'will_grey',link:'',path:'',isOpen:false},
]},
{key:'01',title:'保单服务',subItems:[
{no:8,name:'我的保单',icon:'policyLists',link:'/salesDetail',path:'',isOpen:true},
{no:9,name:'续期管理',icon:'renewalManagement',link:'/renewal_reminder',path:'',isOpen:true},
]}
,{
key:'02',title:'客户管理',subItems:[
{no:10,name:'成交客户',icon:'customers',link:'/customer',path:'',isOpen:true},
{no:11,name:'潜在客户',icon:'potentialCustomers',link:'/business',path:'',isOpen:true},
]
}
,{
key:'03',title:'我的增员',subItems:[
{no:12,name:'团队增员',icon:'teamIncreaseStaff',link:'/recruiting',path:'',isOpen:true},
{no:13,name:'报聘审批',icon:'employmentApproval',link:'/approval_list',path:'',isOpen:true},
]
}
,{
key:'04',title:'我的展业',subItems:[
{no:14,name:'目标设置',icon:'targetSetting',link:'/target',path:'',isOpen:true},
{no:15,name:'我的日程',icon:'schedule',link:'/todo',path:'',isOpen:true},
{no:16,name:'活动量统计',icon:'activityStatistics',link:'/scoreDeatil',path:'',isOpen:true},
{no:17,name:'我的工号',icon:'jobNumber',link:'',path:'',isOpen:false},
{no:18,name:'联合销售',icon:'jointSale',link:'/joint_sales',path:'',isOpen:true},
{no:19,name:'客户告知书',icon:'customerNotification',link:'/business',path:'',isOpen:true},
{no:20,name:'我的业绩',icon:'achievement',link:'',path:'',isOpen:false},
{no:21,name:'我的薪资',icon:'salary',link:'/salary',path:'',isOpen:true},
{no:22,name:'我的竞赛',icon:'competition',link:'',path:'',isOpen:false},
]
}
,{
key:'05',title:'银盾学院',subItems:[
{no:23,name:'保险ABC',icon:'insuranceABC',link:'',path:`https://${window.location.host}/issue`,isOpen:true},
{no:24,name:'岗前训',icon:'preJobTraining',link:'/preJobTraining',path:'',isOpen:true},
{no:25,name:'新人训',icon:'newTraining',link:'/newTraining',path:'',isOpen:true},
{no:27,name:'CFFP初级训',icon:'cffpTraining',link:'/cffpElementaryTraining',path:'',isOpen:true},
{no:26,name:'提升训',icon:'promotionTraining',link:'/promotionTraining',path:'',isOpen:true},
{no:27,name:'CFFP衔接训',icon:'cffpTraining',link:'/cffpBridgingTraining',path:'',isOpen:true},
{no:27,name:'CFFP高阶训',icon:'cffpTraining',link:'/cffpAdvancedTraining',path:'',isOpen:true},
{no:28,name:'产品培训',icon:'productTraining',link:'/productTraining',path:'',isOpen:true},
{no:29,name:'我的培训',icon:'training',link:'/myTraining',path:'',isOpen:true},
]
}
,{
key:'06',title:'我的团队',subItems:[
{no:30,name:'我的团队',icon:'team',link:'/teamPanel',path:'',isOpen:true},
{no:31,name:'团队业绩',icon:'teamPerformance',link:'/teamRank',path:'',isOpen:true},
{no:32,name:'团队晋升考核',icon:'teamPromotionAssessment',link:'',path:'',isOpen:false},
{no:33,name:'团队PEP',icon:'temPEP',link:'/teamPanel/teamSalesScore',path:'',isOpen:true},
{no:34,name:'团队学习',icon:'teamLearning',link:'',path:'',isOpen:false},
{no:35,name:'团队竞赛',icon:'teamCompetition',link:'',path:'',isOpen:false},
]
}
]
public state = { public state = {
modal1:false modal1:false
...@@ -108,7 +34,7 @@ export class MoreFeaturesComponent implements OnInit,OnDestroy { ...@@ -108,7 +34,7 @@ export class MoreFeaturesComponent implements OnInit,OnDestroy {
goBack(){ goBack(){
this.location.back() this.location.back()
} }
constructor(private router:Router,private location:Location) { } constructor(private router:Router,private location:Location,private myService: MyService) { }
ngOnInit() { ngOnInit() {
if(sessionStorage.getItem('mineScrollTop')){ if(sessionStorage.getItem('mineScrollTop')){
...@@ -116,9 +42,85 @@ export class MoreFeaturesComponent implements OnInit,OnDestroy { ...@@ -116,9 +42,85 @@ export class MoreFeaturesComponent implements OnInit,OnDestroy {
left: 100, left: 100,
behavior: 'smooth'}) behavior: 'smooth'})
} }
this.queryCanSee()
} }
ngOnDestroy(): void { ngOnDestroy(): void {
sessionStorage.setItem('mineScrollTop',document.body.scrollTop + '') sessionStorage.setItem('mineScrollTop',document.body.scrollTop + '')
} }
queryCanSee(){
this.myService.queryCanSee({practitionerId: this.lifeCustomerInfo?this.lifeCustomerInfo['practitionerId']:null,}).subscribe((res)=>{
if(res['success']){
this.canSeeSchool = res['data']['canSeeYdCollege']==1?true:false;
}
this.getMenu()
})
}
getMenu(){
this.feartureLists = [
{key:'00',title:'营销工具',subItems:[
{no:1,name:'线上投保',icon:'onlineInsurance',link:'',path:`https://${window.location.host}/index?source=dyd`,isOpen:true,isShow:true},
{no:2,name:'产品库',icon:'product-market',link:'/product',path:'',isOpen:true,isShow:true},
{no:3,name:'投核保知识库',icon:'insuranceKnowledgeBase',link:'/underwriting_knowledge',path:'',isOpen:true,isShow:true},
{no:4,name:'计划书',icon:'proposals',link:'',path:'',isOpen:false},
{no:5,name:'产品海报',icon:'productPoster',link:'/material',path:'',isOpen:true,isShow:true},
{no:6,name:'文章分享',icon:'articleShare',link:'/article/null',path:'',isOpen:true,isShow:true},
{no:7,name:'AI保险医生',icon:'aiDoctor',link:'',path:`https://${window.location.host}/questionnaire/#/index?campaign=AIRobot&task=AItask1&customerId=${this.lifeCustomerInfo.customerId}`,isOpen:true,isShow:true},
{no:36,name:'遗嘱服务',icon:'will_grey',link:'',path:'',isOpen:false},
]},
{key:'01',title:'保单服务',subItems:[
{no:8,name:'我的保单',icon:'policyLists',link:'/salesDetail',path:'',isOpen:true,isShow:true},
{no:9,name:'续期管理',icon:'renewalManagement',link:'/renewal_reminder',path:'',isOpen:true,isShow:true},
]}
,{
key:'02',title:'客户管理',subItems:[
{no:10,name:'成交客户',icon:'customers',link:'/customer',path:'',isOpen:true,isShow:true},
{no:11,name:'潜在客户',icon:'potentialCustomers',link:'/business',path:'',isOpen:true,isShow:true},
]
}
,{
key:'03',title:'我的增员',subItems:[
{no:12,name:'团队增员',icon:'teamIncreaseStaff',link:'/recruiting',path:'',isOpen:true,isShow:true},
{no:13,name:'报聘审批',icon:'employmentApproval',link:'/approval_list',path:'',isOpen:true,isShow:true},
]
}
,{
key:'04',title:'我的展业',subItems:[
{no:14,name:'目标设置',icon:'targetSetting',link:'/target',path:'',isOpen:true,isShow:true},
{no:15,name:'我的日程',icon:'schedule',link:'/todo',path:'',isOpen:true,isShow:true},
{no:16,name:'活动量统计',icon:'activityStatistics',link:'/scoreDeatil',path:'',isOpen:true,isShow:true},
{no:17,name:'我的工号',icon:'jobNumber',link:'',path:'',isOpen:false,isShow:true},
{no:18,name:'联合销售',icon:'jointSale',link:'/joint_sales',path:'',isOpen:true,isShow:true},
{no:19,name:'客户告知书',icon:'customerNotification',link:'/business',path:'',isOpen:true,isShow:true},
{no:20,name:'我的业绩',icon:'achievement',link:'',path:'',isOpen:false,isShow:true},
{no:21,name:'我的薪资',icon:'salary',link:'/salary',path:'',isOpen:true,isShow:true},
{no:22,name:'我的竞赛',icon:'competition',link:'',path:'',isOpen:false,isShow:true},
]
}
,{
key:'05',title:'银盾学院',subItems:[
{no:23,name:'保险ABC',icon:'insuranceABC',link:'',path:`https://${window.location.host}/issue`,isOpen:true,isShow:true},
{no:24,name:'岗前训',icon:'preJobTraining',link:'/preJobTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:25,name:'新人训',icon:'newTraining',link:'/newTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:27,name:'CFFP初级训',icon:'cffpTraining',link:'/cffpElementaryTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:26,name:'提升训',icon:'promotionTraining',link:'/promotionTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:27,name:'CFFP衔接训',icon:'cffpTraining',link:'/cffpBridgingTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:27,name:'CFFP高阶训',icon:'cffpTraining',link:'/cffpAdvancedTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:28,name:'产品培训',icon:'productTraining',link:'/productTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:29,name:'我的培训',icon:'training',link:'/myTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
]
}
,{
key:'06',title:'我的团队',subItems:[
{no:30,name:'我的团队',icon:'team',link:'/teamPanel',path:'',isOpen:true,isShow:true},
{no:31,name:'团队业绩',icon:'teamPerformance',link:'/teamRank',path:'',isOpen:true,isShow:true},
{no:32,name:'团队晋升考核',icon:'teamPromotionAssessment',link:'',path:'',isOpen:false,isShow:true},
{no:33,name:'团队PEP',icon:'temPEP',link:'/teamPanel/teamSalesScore',path:'',isOpen:true,isShow:true},
{no:34,name:'团队学习',icon:'teamLearning',link:'',path:'',isOpen:false,isShow:true},
{no:35,name:'团队竞赛',icon:'teamCompetition',link:'',path:'',isOpen:false,isShow:true},
]
}
]
}
} }
...@@ -948,5 +948,10 @@ export class MyService { ...@@ -948,5 +948,10 @@ export class MyService {
const url = this.API + "/commission/queryCommissionInfoByYdLife"; const url = this.API + "/commission/queryCommissionInfoByYdLife";
return this.http.post(url,JSON.stringify(params)) return this.http.post(url,JSON.stringify(params))
} }
//是否可见银盾学院
queryCanSee(params){
const url = this.ydapi + "/practitioner/queryCanSee";
return this.http.post(url,JSON.stringify(params))
}
} }
<ul> <ul>
<li *ngFor="let subItem of courseLists" (click)="featureSelect(subItem)"> <ng-container *ngFor="let subItem of courseLists">
<div> <li (click)="featureSelect(subItem)" *ngIf="subItem.isShow">
<img [src]="'assets/images/indexIcons/' + subItem.icon + '.png'" alt=""> <div>
</div> <img [src]="'assets/images/indexIcons/' + subItem.icon + '.png'" alt="">
<p>{{subItem.name}}</p> </div>
</li> <p>{{subItem.name}}</p>
</li>
</ng-container>
</ul> </ul>
<Modal [(ngModel)]="this.state.modal1" [transparent]="true" [maskClosable]="true" (onClose)="onClose('modal1')"> <Modal [(ngModel)]="this.state.modal1" [transparent]="true" [maskClosable]="true" (onClose)="onClose('modal1')">
<div [ngStyle]="{ height: 100, overflow: 'scroll',color:'#000' }"> <div [ngStyle]="{ height: 100, overflow: 'scroll',color:'#000' }">
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { MyService } from '../my.service';
@Component({ @Component({
selector: 'ydlife-yd-college', selector: 'ydlife-yd-college',
...@@ -7,16 +8,18 @@ import { Router } from '@angular/router'; ...@@ -7,16 +8,18 @@ import { Router } from '@angular/router';
styleUrls: ['./yd-college.component.scss'] styleUrls: ['./yd-college.component.scss']
}) })
export class YdCollegeComponent implements OnInit { export class YdCollegeComponent implements OnInit {
canSeeSchool:Boolean=false;
lifeCustomerInfo: any = JSON.parse(localStorage.getItem('lifeCustomerInfo')) ? JSON.parse(localStorage.getItem('lifeCustomerInfo')) : null;
public courseLists = [ public courseLists = [
{no:23,name:'保险ABC',icon:'insuranceABC',link:'',path:`https://${window.location.host}/issue`,isOpen:true}, {no:23,name:'保险ABC',icon:'insuranceABC',link:'',path:`https://${window.location.host}/issue`,isOpen:true,isShow:true},
{no:24,name:'岗前训',icon:'preJobTraining',link:'/preJobTraining',path:'',isOpen:true}, {no:24,name:'岗前训',icon:'preJobTraining',link:'/preJobTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:25,name:'新人训',icon:'newTraining',link:'/newTraining',path:'',isOpen:true}, {no:25,name:'新人训',icon:'newTraining',link:'/newTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:26,name:'CFFP初级训',icon:'cffpElementaryTraining',link:'/cffpElementaryTraining',path:'',isOpen:true}, {no:26,name:'CFFP初级训',icon:'cffpElementaryTraining',link:'/cffpElementaryTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:27,name:'提升训',icon:'promotionTraining',link:'/promotionTraining',path:'',isOpen:true}, {no:27,name:'提升训',icon:'promotionTraining',link:'/promotionTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:28,name:'CFFP衔接训',icon:'cffpBridgingTraining',link:'/cffpBridgingTraining',path:'',isOpen:true}, {no:28,name:'CFFP衔接训',icon:'cffpBridgingTraining',link:'/cffpBridgingTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:29,name:'CFFP高阶训',icon:'cffpAdvancedTraining',link:'/cffpAdvancedTraining',path:'',isOpen:true}, {no:29,name:'CFFP高阶训',icon:'cffpAdvancedTraining',link:'/cffpAdvancedTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:30,name:'产品培训',icon:'productTraining',link:'/productTraining',path:'',isOpen:true}, {no:30,name:'产品培训',icon:'productTraining',link:'/productTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:31,name:'我的培训',icon:'training',link:'/myTraining',path:'',isOpen:true} {no:31,name:'我的培训',icon:'training',link:'/myTraining',path:'',isOpen:true,isShow:this.canSeeSchool}
] ]
public state = { public state = {
modal1:false modal1:false
...@@ -35,9 +38,33 @@ export class YdCollegeComponent implements OnInit { ...@@ -35,9 +38,33 @@ export class YdCollegeComponent implements OnInit {
this.router.navigate([`./${item.link}`]); this.router.navigate([`./${item.link}`]);
} }
} }
constructor(private router:Router) { } constructor(private router:Router,private myService: MyService) { }
ngOnInit() { ngOnInit() {
this.queryCanSee()
}
getMenu(){
this.courseLists = [
{no:23,name:'保险ABC',icon:'insuranceABC',link:'',path:`https://${window.location.host}/issue`,isOpen:true,isShow:true},
{no:24,name:'岗前训',icon:'preJobTraining',link:'/preJobTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:25,name:'新人训',icon:'newTraining',link:'/newTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:26,name:'CFFP初级训',icon:'cffpElementaryTraining',link:'/cffpElementaryTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:27,name:'提升训',icon:'promotionTraining',link:'/promotionTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:28,name:'CFFP衔接训',icon:'cffpBridgingTraining',link:'/cffpBridgingTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:29,name:'CFFP高阶训',icon:'cffpAdvancedTraining',link:'/cffpAdvancedTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:30,name:'产品培训',icon:'productTraining',link:'/productTraining',path:'',isOpen:true,isShow:this.canSeeSchool},
{no:31,name:'我的培训',icon:'training',link:'/myTraining',path:'',isOpen:true,isShow:this.canSeeSchool}
]
}
queryCanSee(){
this.myService.queryCanSee({practitionerId: this.lifeCustomerInfo?this.lifeCustomerInfo['practitionerId']:null,}).subscribe((res)=>{
if(res['success']){
this.canSeeSchool = res['data']['canSeeYdCollege']==1?true:false;
}
this.getMenu()
})
} }
} }
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