Commit bb494c59 by Sweet Zhang

银盾学院

parent e5aecfca
......@@ -79,7 +79,6 @@
}
}
}
.hotProductLists{
flex-direction: column;
>ul{
......
......@@ -20,7 +20,7 @@ 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: '', isOpen: false },
{ key: '06', name: '银盾学院', icon: 'ydCollege', link: '/ydCollege', isOpen: true },
{ key: '07', name: '更多功能', icon: 'more', link: '/moreFeatures', isOpen: true }
]
public bannerLists = [];
......
......@@ -79,6 +79,9 @@ import { QrcodeUploadComponent } from './application-process/qrcode-upload/qrcod
import { NewsDetailComponent } from './news-detail/news-detail.component';
import { MoreFeaturesComponent } from './more-features/more-features.component';
import { MineComponent } from './mine/mine.component';
import { YdCollegeComponent } from './yd-college/yd-college.component';
import { MyTrainingComponent } from './my-training/my-training.component';
import { TrainingRecordsComponent } from './training-records/training-records.component';
const myRoutes: Routes = [
......@@ -182,6 +185,9 @@ const myRoutes: Routes = [
{ path: 'newsDetail/:id',component:NewsDetailComponent,canActivate:[AuthGuard],data:[{title: '消息详情'}]},
{ path: 'moreFeatures',component:MoreFeaturesComponent,canActivate:[AuthGuard],data:[{title: '全部工具'}]},
{ path: 'mine',component:MineComponent,canActivate:[AuthGuard],data:[{title: '我的'}]},
{ path: 'ydCollege',component:YdCollegeComponent,canActivate:[AuthGuard],data:[{title: '银盾学院'}]},
{ path: 'myTraining',component:MyTrainingComponent,canActivate:[AuthGuard],data:[{title: '我的培训'}]},
{ path: 'trainingRecords/:status',component:TrainingRecordsComponent,canActivate:[AuthGuard],data:[{title: '培训课程'}]},
];
......
<ul>
<li *ngFor="let item of trainingRecords" [routerLink]="item.link">
<div>{{item.name}}</div>
<div><i class="iconfont icon-fanhui"></i></div>
</li>
</ul>
\ No newline at end of file
ul{
background: #fff;
padding-left: 27px;
padding-right: 13px;
height: calc(100vh - 70px);
li{
display: flex;
justify-content: space-between;
padding-top: 28px;
padding-bottom: 8px;
border-bottom: 1px solid #f2f2f2;
position: relative;
& > div:first-child{
position: relative;
&::after{
content:'';
position: absolute;
left: 0;
bottom: 5px;
background: linear-gradient(90deg,#0778FC, #D9D9D9);
border-radius: 2px;
height: 4px;
width: 98%;
}
}
.icon-fanhui{
display: inline-block;
transform: rotate(180deg);
}
}
}
\ No newline at end of file
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { MyTrainingComponent } from './my-training.component';
describe('MyTrainingComponent', () => {
let component: MyTrainingComponent;
let fixture: ComponentFixture<MyTrainingComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ MyTrainingComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(MyTrainingComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'ydlife-my-training',
templateUrl: './my-training.component.html',
styleUrls: ['./my-training.component.scss']
})
export class MyTrainingComponent implements OnInit {
public trainingRecords = [
{id:1,name:'已完成',link:'/trainingRecords/1'},
{id:2,name:'学习中',link:'/trainingRecords/2'},
{id:3,name:'待学习',link:'/trainingRecords/3'},
{id:4,name:'我的管理',link:'/trainingManagement'},
]
constructor() { }
ngOnInit() {
}
}
......@@ -94,9 +94,12 @@ import { QrcodeUploadComponent } from './application-process/qrcode-upload/qrcod
import { NewsDetailComponent } from './news-detail/news-detail.component';
import { MoreFeaturesComponent } from './more-features/more-features.component';
import { MineComponent } from './mine/mine.component';
import { YdCollegeComponent } from './yd-college/yd-college.component';
import { MyTrainingComponent } from './my-training/my-training.component';
import { TrainingRecordsComponent } from './training-records/training-records.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,SafeResourceUrlPipe, 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, ProductComponent, ProductDataComponent, CommissionComponent, FileListComponent,MyCustomerComponent, CustomerRelationComponent, MyCustomerPolicyComponent, UnderwritingKnowledgeComponent, MyQuestionComponent, AskComponent, MenuItemComponent, MemberListComponent, ENoticeComponent, ENoticeSignComponent, RenewalReminderComponent, RenewalReminderDetailComponent, JointSalesComponent, JointSaleDetailComponent, IntegrationComponent, IntegrationDetailComponent, IntegrationRuleComponent, VideoComponent, QrcodeUploadComponent, NewsDetailComponent, MoreFeaturesComponent, MineComponent],
declarations: [MyCenterHomeComponent, MkMaterialComponent, MkMaterialDetailComponent, FileUploadComponent, ImportantAnnouncementComponent, SalesDetailComponent, AnnouncementDetailComponent, MyBusinessComponent, MyBusinessDetailComponent, PickerComponent, MyToastComponent, SalesRankComponent, TeamRankComponent, RecruitingComponent, RecruitingDetailComponent, ThanksComponent, MySettingComponent, MySettingDetailComponent, MyNewsComponent, MyTargetComponent, TeamPanelComponent, SwitchNumberPipe,SafeResourceUrlPipe, 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, ProductComponent, ProductDataComponent, CommissionComponent, FileListComponent,MyCustomerComponent, CustomerRelationComponent, MyCustomerPolicyComponent, UnderwritingKnowledgeComponent, MyQuestionComponent, AskComponent, MenuItemComponent, MemberListComponent, ENoticeComponent, ENoticeSignComponent, RenewalReminderComponent, RenewalReminderDetailComponent, JointSalesComponent, JointSaleDetailComponent, IntegrationComponent, IntegrationDetailComponent, IntegrationRuleComponent, VideoComponent, QrcodeUploadComponent, NewsDetailComponent, MoreFeaturesComponent, MineComponent, YdCollegeComponent, MyTrainingComponent, TrainingRecordsComponent],
imports: [
CommonModule,
LifeCommonModule,
......
......@@ -20,10 +20,10 @@ export class MyService {
}
// 文件下载
filePath(itemType, itemId, fileCategory, code, mdDropOptionCode,customerId=null) {
filePath(itemType, itemId, fileCategory, code, mdDropOptionCode,customerId=null,learningStatus=null) {
const url = this.API + '/filePathQuery';
return this.http
.post(url, JSON.stringify({ itemType: itemType, itemId: itemId, fileCategory: fileCategory, code: code, mdDropOptionCode: mdDropOptionCode,customerId:customerId }));
.post(url, JSON.stringify({ itemType: itemType, itemId: itemId, fileCategory: fileCategory, code: code, mdDropOptionCode: mdDropOptionCode,customerId:customerId,learningStatus:learningStatus }));
}
// 重要公告
......
<div class="trainingRecordsContainer">
<ul *ngIf="fileUploadItemList">
<li *ngFor="let item of fileUploadItemList">
<div>
<img [src]="item.displayImage" alt="" srcset="" class="img-responsive">
</div>
<div class="introItem">
<h5>{{item.itemName}}</h5>
<div>
<p>{{item.fileSynopsis}}</p>
<ng-container [ngSwitch]="item.fileType">
<p *ngSwitchCase="1" style="color:#FFC74A;font-size:16px"><i class="iconfont icon-wujiaoxing-1"></i><span style="margin-left:5px">核心</span></p>
<span *ngSwitchCase="2" style="padding:3px 6px;font-size:12px;color:#5F83FF;background:#EAEFFF;border-radius:1px;text-align:center">非核心</span>
<p *ngSwitchDefault style="color:#FFC74A;font-size:16px"><i class="iconfont icon-wujiaoxing-1"></i><span style="margin-left:5px">核心</span></p>
</ng-container>
</div>
<p class="rankItem">
<span *ngIf="item.fileLecturerName">{{item.fileLecturerName}}</span>
<ng-container *ngIf="item.fileLecturerRanks">
<span *ngFor="let tag of item.fileLecturerRanks.split(',')">{{tag}}</span>
</ng-container>
</p>
</div>
</li>
</ul>
<h4 *ngIf="!fileUploadItemList">暂无课程列表</h4>
</div>
\ No newline at end of file
.trainingRecordsContainer{
ul{
li{
display: flex;
padding-top: 10px;
padding-bottom: 12px;
min-height: 126px;
background-color: #fff;
padding: 15px;
margin-bottom: 10px;
>div:first-child{
margin-right: 7px;
width: 114px;
height: 104px;
background-color: #ccc;
overflow: hidden;
}
.introItem{
display: flex;
flex-direction: column;
justify-content: space-between;
}
h5{
font-size: 16px;
color: #333;
}
.rankItem{
span{
display: inline-block;
padding: 1px 3px;
border: 1px solid #5F83FF;
border-radius: 2px;
margin-right: 10px;
margin-bottom: 2px;
font-size: 14px;
color: #5F83FF;
}
}
}
}
h4{
text-align: center;
padding-top: 30px;
font-size: 22px;
}
}
\ No newline at end of file
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { TrainingRecordsComponent } from './training-records.component';
describe('TrainingRecordsComponent', () => {
let component: TrainingRecordsComponent;
let fixture: ComponentFixture<TrainingRecordsComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ TrainingRecordsComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(TrainingRecordsComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { MyService } from '../my.service';
@Component({
selector: 'ydlife-training-records',
templateUrl: './training-records.component.html',
styleUrls: ['./training-records.component.scss']
})
export class TrainingRecordsComponent implements OnInit {
public status:string;
public customerId:string = localStorage.getItem('lifeCustomerInfo') ? JSON.parse(localStorage.getItem('lifeCustomerInfo')).customerId : null;
public fileUploadItemList:Array<any>;
filePathQuery(status){
this.myService.filePath(3,0,23,'yd_trainning_file_type',null,this.customerId,status).subscribe(res=>{
if(res['success']){
this.fileUploadItemList = res['data']['fileUploadItemList']
}
})
}
constructor(private activatedRoute:ActivatedRoute,private myService:MyService) { }
ngOnInit() {
this.status = this.activatedRoute.snapshot.params['status'];
this.filePathQuery(this.status)
}
}
<ul>
<li *ngFor="let subItem of courseLists" (click)="featureSelect(subItem)">
<div>
<img [src]="'assets/images/indexIcons/' + subItem.icon + '.png'" alt="">
</div>
<p>{{subItem.name}}</p>
</li>
</ul>
\ No newline at end of file
ul{
display: flex;
flex-wrap: wrap;
li{
width: 0;
height:109px;
flex: 0 0 50%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border-bottom: 1px solid #f2f2f2;
&:nth-of-type(2n+1){
border-right: 1px solid #f2f2f2;
}
img{
width: 48px;
}
p{
white-space: nowrap;
font-size: 14px;
}
}
}
\ No newline at end of file
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { YdCollegeComponent } from './yd-college.component';
describe('YdCollegeComponent', () => {
let component: YdCollegeComponent;
let fixture: ComponentFixture<YdCollegeComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ YdCollegeComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(YdCollegeComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'ydlife-yd-college',
templateUrl: './yd-college.component.html',
styleUrls: ['./yd-college.component.scss']
})
export class YdCollegeComponent implements OnInit {
public courseLists = [
{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:26,name:'提升训',icon:'promotionTraining',link:'/advanceTraining',path:'',isOpen:true},
{no:27,name:'CFFP培训',icon:'cffpTraining',link:'/cffpTraining',path:'',isOpen:true},
{no:28,name:'产品培训',icon:'productTraining',link:'/productTraining',path:'',isOpen:true},
{no:29,name:'我的培训',icon:'training',link:'/myTraining',path:'',isOpen:true}
]
public state = {
modal1:false
}
onClose(key) {
this.state[key] = false;
}
featureSelect(item){
if(!item.isOpen){
this.state['modal1'] = true;
}
if(item.path){
window.open(item.path);
}else if(item.link){
this.router.navigate([`./${item.link}`]);
}
}
constructor(private router:Router) { }
ngOnInit() {
}
}
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