textbook-details.component.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. import { Component, OnInit, ViewChild } from '@angular/core';
  2. import { CommonCompModule } from '../../../services/common.modules';
  3. import { Router, ActivatedRoute } from '@angular/router';
  4. import { ReactiveFormsModule } from '@angular/forms';
  5. import { NzAnchorModule } from 'ng-zorro-antd/anchor';
  6. import { DatePipe } from '@angular/common';
  7. import Parse from 'parse';
  8. import { NzCollapseModule } from 'ng-zorro-antd/collapse';
  9. import { BrowserModule } from '@angular/platform-browser';
  10. import { CommonModule } from '@angular/common';
  11. import { NzTabsModule } from 'ng-zorro-antd/tabs';
  12. import { NzTableModule } from 'ng-zorro-antd/table';
  13. import { textbookServer } from '../../../services/textbook';
  14. @Component({
  15. selector: 'app-textbook-details',
  16. imports: [
  17. CommonCompModule,
  18. ReactiveFormsModule,
  19. NzAnchorModule,
  20. DatePipe,
  21. NzCollapseModule,
  22. CommonModule,
  23. NzTabsModule,
  24. NzTableModule,
  25. ],
  26. standalone: true,
  27. templateUrl: './textbook-details.component.html',
  28. styleUrls: ['./textbook-details.component.scss'],
  29. providers: [DatePipe],
  30. })
  31. export class TextbookDetailsComponent implements OnInit {
  32. @ViewChild('templ1') templ1: any;
  33. user?: Parse.Object;
  34. textBook: object | any = {};
  35. /**扩展表记录 */
  36. eduTextbookVolumeList: Array<any> = [];
  37. /** 册数*/
  38. typeNumber: any;
  39. /** 申报类型*/
  40. type: any;
  41. constructor(
  42. public tbookSer: textbookServer,
  43. private router: Router,
  44. private activeRoute: ActivatedRoute
  45. ) {}
  46. ngOnInit() {
  47. this.activeRoute.paramMap.subscribe(async (params) => {
  48. this.user = Parse.User.current();
  49. let id = params.get('id');
  50. console.log(id);
  51. if (id) {
  52. let query = new Parse.Query('EduTextbook');
  53. query.equalTo('objectId', id);
  54. query.include('childrens');
  55. let r = await query.first();
  56. this.textBook = r?.toJSON();
  57. console.log(this.textBook);
  58. this.eduTextbookVolumeList = this.textBook?.childrens;
  59. this.getExpertGroup();
  60. this.getEduReview();
  61. }
  62. });
  63. }
  64. handleClick(e: string): void {
  65. console.log(e);
  66. }
  67. back() {
  68. history.back();
  69. }
  70. edit() {
  71. this.router?.navigate(
  72. ['/nav-author/manage/apply', { id: this.textBook.objectId }],
  73. { replaceUrl: true }
  74. );
  75. }
  76. openFile(url: string) {
  77. console.log(url);
  78. window.open(url);
  79. }
  80. /**锚点 */
  81. herfLink(domId: string) {
  82. console.log(domId);
  83. let topEle = document.getElementById(domId);
  84. if (topEle) {
  85. topEle.scrollIntoView({ behavior: 'smooth' });
  86. }
  87. }
  88. groupLogin: boolean = true;
  89. reviewLogin: boolean = true;
  90. groupList: Array<Parse.Object> = [];
  91. /**获取本教材评审组 */
  92. async getExpertGroup() {
  93. let groupQuery = new Parse.Query('ExpertGroup');
  94. groupQuery.notEqualTo('isDeleted', true);
  95. let bookQuery = new Parse.Query('EduTextbook');
  96. bookQuery.equalTo('objectId', this.textBook?.objectId);
  97. groupQuery.matchesQuery('textbookList', bookQuery);
  98. this.groupList = await groupQuery.find();
  99. console.log(this.groupList);
  100. this.groupLogin = false;
  101. }
  102. reviewList: Array<Parse.Object> = [];
  103. /**获取本教程评分 */
  104. async getEduReview() {
  105. let query = new Parse.Query('EduReview');
  106. query.notEqualTo('isDeleted', true);
  107. query.equalTo('eduTextbook', this.textBook?.objectId);
  108. query.include('profile', 'profile.user');
  109. this.reviewList = await query.find();
  110. console.log(this.reviewList);
  111. this.reviewLogin = false;
  112. }
  113. }