Commit 5c4c35bf by zeyang

银盾学院,CFFP课程模块增加权限控制

parent e31a1c0f
<div *ngFor="let item of feartureLists" class="featureListsContent">
<h5>{{item.title}}</h5>
<ul>
<li *ngFor="let subItem of item.subItems" (click)="featureSelect(subItem)">
<ng-container *ngIf="subItem.isShow">
<div class="ul">
<div class="li" *ngFor="let subItem of item.subItems" (click)="featureSelect(subItem)">
<div class="ll" *ngIf="subItem.isShow">
<ng-container >
<div>
<img [src]="'assets/images/indexIcons/' + subItem.icon + '.png'" alt="">
</div>
<p>{{subItem.name}}</p>
</ng-container>
</li>
</ul>
</div>
</div>
</div>
</div>
<Modal [(ngModel)]="this.state.modal1" [transparent]="true" [maskClosable]="true" (onClose)="onClose('modal1')">
......
......@@ -18,12 +18,12 @@ header{
margin-bottom: 10px;
font-weight: bold;
}
ul{
.ul{
display: flex;
flex-wrap: wrap;
li{
width: 0;
flex: 0 0 25%;
.li{
.ll{
width: 90px;
display: flex;
flex-direction: column;
align-items: center;
......@@ -37,4 +37,5 @@ header{
}
}
}
}
}
\ No newline at end of file
......@@ -8,121 +8,142 @@ import { MyService } from '../my.service';
templateUrl: './more-features.component.html',
styleUrls: ['./more-features.component.scss']
})
export class MoreFeaturesComponent implements OnInit,OnDestroy {
lifeCustomerInfo: any = JSON.parse(localStorage.getItem('lifeCustomerInfo')) ? JSON.parse(localStorage.getItem('lifeCustomerInfo')) : null;
canSeeSchool:Boolean=false;
public feartureLists:Array<any> = [];
export class MoreFeaturesComponent implements OnInit, OnDestroy {
lifeCustomerInfo : any = JSON.parse(localStorage.getItem('lifeCustomerInfo')) ? JSON.parse(localStorage.getItem('lifeCustomerInfo')) : null;
canSeeSchool : any = '';
cffpRoleCode : any = '';
public feartureLists : Array<any> = [];
public state = {
modal1:false
modal1: false
}
onClose(key) {
this.state[key] = false;
}
featureSelect(item){
if(item.isShow){
if(!item.isOpen){
featureSelect(item) {
if (item.isShow) {
if (!item.isOpen) {
this.state['modal1'] = true;
}
if(item.path){
if (item.path) {
window.open(item.path);
}else if(item.link){
} else if (item.link) {
this.router.navigate([`./${item.link}`]);
}
}
}
// 返回上一页
goBack(){
goBack() {
this.location.back()
}
constructor(private router:Router,private location:Location,private myService: MyService) { }
constructor(private router : Router, private location : Location, private myService : MyService) { }
ngOnInit() {
if(sessionStorage.getItem('mineScrollTop')){
document.body.scroll({top:Number(sessionStorage.getItem('mineScrollTop')),
if (sessionStorage.getItem('mineScrollTop')) {
document.body.scroll({
top: Number(sessionStorage.getItem('mineScrollTop')),
left: 100,
behavior: 'smooth'})
behavior: 'smooth'
})
}
this.queryCanSee()
}
ngOnDestroy(): void {
sessionStorage.setItem('mineScrollTop',document.body.scrollTop + '')
ngOnDestroy() : void {
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;
queryCanSee() {
this.myService.queryCanSee({ practitionerId: this.lifeCustomerInfo ? this.lifeCustomerInfo['practitionerId'] : null, }).subscribe((res) => {
if (res['success']) {
this.canSeeSchool = res['data']['canSeeYdCollege'];
this.cffpRoleCode = res['data']['cffpRoleCode'];
}
this.getMenu()
})
}
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},
{
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},
{no:37,name:'活动分享',icon:'articleShare',link:'/activity/null',path:'',isOpen:true,isShow:true},
]},
{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},
{ no: 37, name: '活动分享', icon: 'articleShare', link: '/activity/null', 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: '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:'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: '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:'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: '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:'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},
, {
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 },
]
}
];
if (this.canSeeSchool.includes('insuranceABC') || this.canSeeSchool.includes('preJobTraining') || this.canSeeSchool.includes('newTraining') ||this.canSeeSchool.includes('promotionTraining')
|| this.canSeeSchool.includes('productTraining') || this.canSeeSchool.includes('myTraining')) {
this.feartureLists.push({
key: '05', title: '银盾学院', subItems: [
{ no: 23, name: '保险ABC', icon: 'insuranceABC', link: '', path: `https://${window.location.host}/issue`, isOpen: true, isShow: this.canSeeSchool.includes('insuranceABC') },
{ no: 24, name: '岗前训', icon: 'preJobTraining', link: '/preJobTraining', path: '', isOpen: true, isShow: this.canSeeSchool.includes('preJobTraining') },
{ no: 25, name: '新人训', icon: 'newTraining', link: '/newTraining', path: '', isOpen: true, isShow: this.canSeeSchool.includes('newTraining') },
{ no: 26, name: '提升训', icon: 'promotionTraining', link: '/promotionTraining', path: '', isOpen: true, isShow: this.canSeeSchool.includes('promotionTraining') },
{ no: 28, name: '产品培训', icon: 'productTraining', link: '/productTraining', path: '', isOpen: true, isShow: this.canSeeSchool.includes('productTraining') },
{ no: 29, name: '我的培训', icon: 'training', link: '/myTraining', path: '', isOpen: true, isShow: this.canSeeSchool.includes('myTraining') },
]
} );
}
if ( this.cffpRoleCode.includes('cffpElementaryTraining') || this.cffpRoleCode.includes('cffpBridgingTraining') || this.cffpRoleCode.includes('cffpIntermediateTraining') || this.cffpRoleCode.includes('cffpAdvancedTraining')) {
this.feartureLists.push({
key: '06', title: 'CFFP课件培训', subItems: [
{ no: 36, name: 'CFFP初级训', icon: 'cffpTraining', link: '/cffpElementaryTraining', path: '', isOpen: true, isShow: this.cffpRoleCode.includes('cffpElementaryTraining') },
{ no: 37, name: 'CFFP衔接训', icon: 'cffpTraining', link: '/cffpBridgingTraining', path: '', isOpen: true, isShow: this.cffpRoleCode.includes('cffpBridgingTraining') },
{ no: 38, name: 'CFFP中级训', icon: 'cffpTraining', link: '/cffpIntermediateTraining', path: '', isOpen: true, isShow: this.cffpRoleCode.includes('cffpIntermediateTraining') },
{ no: 39, name: 'CFFP高阶训', icon: 'cffpTraining', link: '/cffpAdvancedTraining', path: '', isOpen: true, isShow: this.cffpRoleCode.includes('cffpAdvancedTraining') },
]
});
}
this.feartureLists.push({
key: '07', 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 },
]
})
}
......
......@@ -21,12 +21,13 @@ export class MyCenterHomeComponent implements OnInit {
{ key: '03', name: '续期管理', icon: 'renewalManagement', link: '/renewal_reminder', isOpen: true },
{ key: '04', name: '成交客户', icon: 'customers', link: '/customer', isOpen: true },
{ key: '05', name: '我的增员', icon: 'increaseStaff', link: '/recruiting', isOpen: true },
{ key: '06', name: '银盾学院', icon: 'ydCollege', link: '/ydCollege', isOpen: true },
{ key: '07', name: '更多功能', icon: 'more', link: '/moreFeatures', isOpen: true }
]
public bannerLists = [];
public hotProductLists = [];
public onlineProductLists = [];
lifeCustomerInfo: any = JSON.parse(localStorage.getItem('lifeCustomerInfo')) ? JSON.parse(localStorage.getItem('lifeCustomerInfo')) : null;
canSeeSchool:any='';
state = {
modal1: false,
};
......@@ -145,6 +146,22 @@ export class MyCenterHomeComponent implements OnInit {
return;
}
}
queryCanSee(){
this.myService.queryCanSee({practitionerId: this.lifeCustomerInfo?this.lifeCustomerInfo['practitionerId']:null,}).subscribe((res)=>{
if(res['success']){
this.canSeeSchool = res['data']['canSeeYdCollege'];
if (this.canSeeSchool.includes('insuranceABC') || this.canSeeSchool.includes('preJobTraining') || this.canSeeSchool.includes('newTraining') ||this.canSeeSchool.includes('promotionTraining')
|| this.canSeeSchool.includes('productTraining') || this.canSeeSchool.includes('myTraining')) {
this.featureLists.push({ key: '06', name: '银盾学院', icon: 'ydCollege', link: '/ydCollege', isOpen: true },);
}else{
this.featureLists.push({ key: '06', name: '新人入口', icon: 'potentialCustomers', link: '/newPeople', isOpen: true });
}
this.featureLists.push({ key: '07', name: '更多功能', icon: 'more', link: '/moreFeatures', isOpen: true });
}
})
}
constructor(private myService: MyService, private router: Router, private lifeCommonService: LifeCommonService) { }
ngOnInit(): void {
this.filePathQuery()
......@@ -156,6 +173,7 @@ export class MyCenterHomeComponent implements OnInit {
this.announcementQuery();
// 查询未读消息总数
this.querySystemMessage();
this.queryCanSee();
}
}
......
......@@ -100,6 +100,7 @@ const myRoutes: Routes = [
{ path: 'promotionTraining', component: TrainingRecordsComponent, canActivate: [AuthGuard], data: [{ type: 'yd_trainning_file_type',title:'提升训' }] },
{ path: 'cffpElementaryTraining', component: TrainingRecordsComponent, canActivate: [AuthGuard], data: [{ type: 'yd_trainning_file_type',title:'CFFP初级训' }] },
{ path: 'cffpBridgingTraining', component: TrainingRecordsComponent, canActivate: [AuthGuard], data: [{ type: 'yd_trainning_file_type',title:'CFFP衔接训' }] },
{ path: 'cffpIntermediateTraining', component: TrainingRecordsComponent, canActivate: [AuthGuard], data: [{ type: 'yd_trainning_file_type',title:'CFFP中级训' }] },
{ path: 'cffpAdvancedTraining', component: TrainingRecordsComponent, canActivate: [AuthGuard], data: [{ type: 'yd_trainning_file_type',title:'CFFP高阶训' }] },
{ path: 'productTraining', component: TrainingRecordsComponent, canActivate: [AuthGuard], data: [{ type: 'yd_trainning_file_type',title:'产品培训' }] },
{ path: 'importantAnnouncement', component: ImportantAnnouncementComponent, canActivate: [AuthGuard] ,data:[{title:'重要公告'}]},
......
......@@ -8,7 +8,7 @@ import { MyService } from '../my.service';
styleUrls: ['./yd-college.component.scss']
})
export class YdCollegeComponent implements OnInit {
canSeeSchool:Boolean=false;
canSeeSchool:any='';
lifeCustomerInfo: any = JSON.parse(localStorage.getItem('lifeCustomerInfo')) ? JSON.parse(localStorage.getItem('lifeCustomerInfo')) : null;
public courseLists = [
{no:23,name:'保险ABC',icon:'insuranceABC',link:'',path:`https://${window.location.host}/issue`,isOpen:true,isShow:true},
......@@ -46,22 +46,19 @@ export class YdCollegeComponent implements OnInit {
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}
{no:23,name:'保险ABC',icon:'insuranceABC',link:'',path:`https://${window.location.host}/issue`,isOpen:true,isShow:this.canSeeSchool.includes('insuranceABC')},
{no:24,name:'岗前训',icon:'preJobTraining',link:'/preJobTraining',path:'',isOpen:true,isShow:this.canSeeSchool.includes('preJobTraining')},
{no:25,name:'新人训',icon:'newTraining',link:'/newTraining',path:'',isOpen:true,isShow:this.canSeeSchool.includes('newTraining')},
{no:27,name:'提升训',icon:'promotionTraining',link:'/promotionTraining',path:'',isOpen:true,isShow:this.canSeeSchool.includes('promotionTraining')},
{no:30,name:'产品培训',icon:'productTraining',link:'/productTraining',path:'',isOpen:true,isShow:this.canSeeSchool.includes('productTraining')},
{no:31,name:'我的培训',icon:'training',link:'/myTraining',path:'',isOpen:true,isShow:this.canSeeSchool.includes('myTraining')}
]
}
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.canSeeSchool = res['data']['canSeeYdCollege'];
}
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