import { Component, OnInit} from '@angular/core'; import { CompNavComponent } from '../comp-nav/comp-nav.component'; import {DomSanitizer} from '@angular/platform-browser'; import { RouterOutlet, Router } from '@angular/router'; import { CommonCompModule } from '../../services/common.modules'; import { MatIconRegistry, MatIconModule } from '@angular/material/icon'; import { textbookServer } from '../../services/textbook'; import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-comp-manage', standalone: true, imports: [CompNavComponent, RouterOutlet, CommonCompModule,MatIconModule], templateUrl: './comp-manage.component.html', styleUrls: ['./comp-manage.component.scss'], }) export class CompManageComponent implements OnInit { MENU_ICON:string = ` ` optionsMap: any = { "国家级管理员":[ { name:'教材管理', id:'1', child:[ { name:'全部教材列表', path:'/nav-admin/manage/textbook', id:'1-1', }, { name:'申报流程', path:"/nav-admin/manage/process", id:'1-2', }, ] }, { name:'用户管理', id:'2', child:[ { name:'用户列表', path:"/nav-admin/manage/user", id:'2-1', }, { name:'申报单位管理', path:"/nav-admin/manage/role", id:'2-3', }, ] }, // { // name:'品牌化', // id:'3', // child:[ // { // name:'登录框', // id:'3-1', // }, // { // name:'消息设置', // id:'3-2', // }, // ] // }, // { // name:'字段管理', // id:'4', // }, ], "工作联系人":[ { name:'教材申报', id:'1', child:[ { name:'全部教材列表', path:'/nav-province-contact/manage/textbook', id:'1-1', }, { name:'申报流程', path:"/nav-province-contact/manage/process", id:'1-2', }, ] }, { name:'用户管理', id:'2', child:[ { name:'用户列表', path:"/nav-province-contact/manage/user", id:'2-1', }, { name:'申报单位管理', path:"/nav-province-contact/manage/role", id:'2-3', }, ] }, ], "高校联系人":[ { id:'1', name:'教材申报', child:[ { id:'1-1', name:'全部教材', path:'/nav-province-school-contact/manage/textbook', } ] }, { id:'2', name:'用户管理', child:[ { id:'2-1', name:'用户列表', path:'/nav-province-school-contact/manage/user', }, { name:'申报单位管理', path:"/nav-province-school-contact/manage/role", id:'2-2', }, ] }, { name:'个人空间', id:'3', path: '/nav-province-school-contact/manage/space', }, { name:'回收站', id:'4', path: '/nav-province-school-contact/manage/recycle', }, ], "评审专家":[ { name:'报送流程', id:'1', path: '/nav-review/home/apply', }, { name:'个人信息', id:'2', path: '/nav-review/profile', }, ], "教师":[ { name: '个人空间', id: '1', path: '/nav-author/manage/space', }, { name: '回收站', id: '2', path: '/nav-author/manage/recycle', // params: { // isDeleted: true, // }, }, ], } active: string = localStorage.getItem('active') || '1'; isCollapsed:boolean = false; constructor( public router: Router, public tbookSer: textbookServer, public textbook:textbookServer, iconRegistry: MatIconRegistry, sanitizer: DomSanitizer, private http: HttpClient, ) { iconRegistry.addSvgIconLiteral('menu', sanitizer.bypassSecurityTrustHtml(this.MENU_ICON)); } ngOnInit() { console.log(this.tbookSer.profile.identity) if(localStorage.getItem('active')) return if(this.optionsMap[this.tbookSer.profile.identity][0]?.child){ this.active = '1-1' }else{ this.active = '1' } } toggleCollapsed(): void { this.isCollapsed = !this.isCollapsed; } toUrl(child: any) { let cateid = child.id; this.active = cateid; localStorage.setItem('active', cateid); console.log(child); if (child.params) { this.router.navigate([child.path, child?.params]); } else { this.router.navigate([child.path]); } } downloadFile(fileName: string) { const fileUrl = `/file/${fileName}`; this.http.get(fileUrl, { responseType: 'blob' }).subscribe((blob) => { const url = window.URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = fileName; document.body.appendChild(a); a.click(); document.body.removeChild(a); window.URL.revokeObjectURL(url); }) } }