123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- import { Component, OnInit, ViewChild, Input } from '@angular/core';
- import { ActivatedRoute, RouterOutlet, Router } from '@angular/router';
- import { CompTableListComponent } from '../../../app/comp-table/comp-table-list/comp-table-list.component';
- import { EduTextbook } from '../../../schemas/EduTextbook';
- import { NzPageHeaderModule } from 'ng-zorro-antd/page-header';
- import { NzBreadCrumbModule } from 'ng-zorro-antd/breadcrumb';
- import * as Parse from 'parse';
- import { CommonModule } from '@angular/common';
- import { textbookServer } from '../../../services/textbook';
- import { TextbookComponent } from '../../../app/textbook/textbook.component';
- import { NzSpaceModule } from 'ng-zorro-antd/space';
- import { CommonCompModule } from '../../../services/common.modules';
- import { NzTabsModule } from 'ng-zorro-antd/tabs';
- import { NzMessageService } from 'ng-zorro-antd/message';
- @Component({
- selector: 'app-page-textbook',
- templateUrl: './page-textbook.component.html',
- styleUrls: ['./page-textbook.component.scss'],
- imports: [
- CommonModule,
- RouterOutlet,
- TextbookComponent,
- CompTableListComponent,
- NzPageHeaderModule,
- CommonCompModule,
- NzBreadCrumbModule,
- NzSpaceModule,
- NzTabsModule,
- ],
- standalone: true,
- })
- export class PageTextbookComponent implements OnInit {
- @ViewChild(CompTableListComponent) list: CompTableListComponent | undefined;
- @Input('discard') discard: boolean = false;
- @Input('render') render: boolean = false;
- active: number = 0;
- EduTextbook = EduTextbook;
- user: Parse.User | undefined;
- className: string | undefined;
- queryParams: any | undefined;
- fieldsArray: Array<any> | undefined;
- //待审核
- beforeFilterObj: any = {
- showMore: true, //显示更多字段
- isCheck: true,
- noStared: true,
- status: ['200'],
- btns: {
- // reject: true, //退回教材
- // star: true, //移除推荐
- export: true,
- eduReivew: true,
- scoreRview:true
- },
- };
- //已加入推荐
- afterFilterObj: any = {
- showMore: true, //显示更多字段
- isCheck: true,
- status: ['200', '201', '400'],
- btns: {
- // remove: true, //移除推荐
- export: true,
- eduReivew: true,
- scoreRview:true
- },
- };
- eduProcess?: Parse.Object;
- editLoading: boolean = true;
- //可导出汇总表
- filterObj: any = {
- isCheck: false,
- status: ['201', '400'],
- btns: {},
- };
- constructor(
- public tbookSer: textbookServer,
- private message: NzMessageService,
- private router: Router,
- private activeRoute: ActivatedRoute // private translate:TranslateService,
- ) {
- this.user = Parse.User.current();
- // this.className = this.EduTextbook.className;
- // this.fieldsArray = this.EduTextbook.fieldsArray;
- // this.queryParams = {
- // where: {
- // isDeleted: { $ne: true },
- // render: true,
- // discard: { $ne: true },
- // department: this.tbookSer.profile.user.department?.objectId,
- // },
- // };
- }
- ngOnInit(): void {
- this.getProcess();
- }
- async getProcess() {
- let parentMap = await this.tbookSer.formatNode(
- this.tbookSer?.profile?.user?.department?.objectId
- );
- if (!parentMap[1]?.key) return;
- let query = new Parse.Query('EduProcess');
- // query.equalTo('department', parentMap[1]?.key);
- // query.lessThanOrEqualTo('startDate', new Date());
- // query.greaterThan('deadline', new Date());
- query.notEqualTo('isDeleted', true);
- // query.notEqualTo('status', '100');
- query.equalTo('profileSubmitted', this.tbookSer?.profile?.objectId);
- let res = await query.first();
- let vrifly = await this.tbookSer.getEduProcess(parentMap[1]?.key);
- if (vrifly) {
- this.beforeFilterObj.btns['reject'] = true
- this.beforeFilterObj.btns['star'] = true
- this.afterFilterObj.btns['remove'] = true
- }
- this.editLoading = false;
- this.eduProcess = res;
- }
- toUrl(url: string, params?: object) {
- if (params) {
- this.router.navigate([url, params]);
- } else {
- this.router.navigate([url]);
- }
- }
- //报送
- async submitted() {
- if (this.eduProcess?.get('status') == '400') {
- this.message.warning('已提交报送,无需重复提交');
- this.toUrl(
- `/nav-province-contact/manage/submitted/${this.eduProcess?.id}`
- );
- return;
- }
- if (
- this.eduProcess?.get('deadline') &&
- new Date() > new Date(this.eduProcess?.get('deadline'))
- ) {
- this.message.warning('流程已逾期');
- return;
- }
- // this.eduProcess?.set('status', '400');
- // this.eduProcess?.set('releaseDate', new Date());
- let query = new Parse.Query('EduTextbook');
- query.equalTo('eduProcess', this.eduProcess?.id);
- query.notEqualTo('isDeleted', true);
- query.notEqualTo('discard', true);
- query.equalTo('render', true);
- query.equalTo('recommend', true);
- query.equalTo('status', '200');
- let list = await query.find();
- query.containedIn('approval', [
- '首届全国教材建设奖优秀教材(高等教育类)教材',
- '否',
- ]);
- let count = await query.count();
- if (count > this.eduProcess?.get('num')) {
- this.message.warning('当前推荐教材数量已超额');
- return;
- }
- // await this.eduProcess?.save();
- // for (let index = 0; index < list.length; index++) {
- // const item = list[index];
- // item.set('status', '400');
- // await item.save();
- // }
- // this.message.success('提交成功');
- this.toUrl(`/nav-province-contact/manage/submitted/${this.eduProcess?.id}`);
- }
- }
|