123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
- import { Router, ActivatedRoute } from '@angular/router';
- import { CommonCompModule } from '../../../../services/common.modules';
- import { NzEmptyModule } from 'ng-zorro-antd/empty';
- import Parse from 'parse';
- import { NzModalService } from 'ng-zorro-antd/modal';
- @Component({
- selector: 'app-complete',
- templateUrl: './complete.component.html',
- styleUrls: ['./complete.component.scss'],
- imports: [CommonCompModule, NzEmptyModule],
- standalone: true,
- })
- export class CompleteComponent implements OnInit {
- @Input('eduProcess') eduProcess?: Parse.Object;
- count: number = 0;
- date: Date = new Date();
- t: any;
- deadline: string = '';
- disabled: boolean = false;
- time() {
- if (new Date().getTime() > this.date.getTime()) {
- clearTimeout(this.t);
- this.disabled = false;
- return
- }
- this.t = setTimeout(() => {
- let hs = this.date.getTime() - new Date().getTime();
- let a = 60 * 60 * 1000;
- let day: number = Math.floor(hs / (24 * a));
- let h = Math.floor((hs - day * (24 * a)) / a);
- let m = Math.floor((hs - day * (24 * a) - h * a) / (60 * 1000));
- let s = Math.floor((hs - day * (24 * a) - h * a - m * 60 * 1000) / 1000);
- this.deadline = day + '天' + h + '小时' + m + '分' + s + '秒';
- this.time();
- }, 1000);
- }
- constructor(
- private modal: NzModalService,
- private router: Router,
- private activeRoute: ActivatedRoute
- ) {}
- ngOnInit() {
- // this.date = new Date(
- // this.eduProcess?.get('releaseDate').getTime() + 1000 * 60 * 60 * 24
- // );
- // this.time();
- this.getEduTextbook();
- if(this.eduProcess?.get('status') == '400'){
- this.modal.confirm({
- nzTitle: '流程已完成',
- nzContent: `报送已提交,请退出当前页`,
- nzOkText: '确认',
- nzOkType: 'primary',
- nzCancelText:null,
- nzOkDanger: false,
- nzOnOk: async () => {
- history.back()
- }
- })
- }
- }
- //报送
- async getEduTextbook() {
- 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.containedIn('status', ['200', '201']);
- this.count = await query.count();
- }
- ngOnDestroy(): void {
- //Called once, before the instance is destroyed.
- //Add 'implements OnDestroy' to the class.
- clearTimeout(this.t);
- }
- //完成报送
- complete(){
- this.modal.confirm({
- nzTitle: '完成报送',
- nzContent: `提交后,提交所有推荐教材且流程将结束不可再遴选教材`,
- nzOkText: '确认',
- nzOkType: 'primary',
- nzOkDanger: false,
- nzOnOk: async () => {
- this.eduProcess?.set('status', '400');
- await this.eduProcess?.save();
- 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.containedIn('status', ['201']);
- let list = await query.find();
- for (let index = 0; index < list.length; index++) {
- const item = list[index];
- item.set('status', '400');
- await item.save();
- }
- history.go(0)
- },
- nzCancelText: '取消',
- nzOnCancel: () => console.log('Cancel'),
- });
- }
- async revoke() {
- this.modal.confirm({
- nzTitle: '撤销报送',
- nzContent: `提交后,教材将重新进入遴选中。`,
- nzOkText: '确认',
- nzOkType: 'primary',
- nzOkDanger: false,
- nzOnOk: async () => {
- this.eduProcess?.set('status', '200');
- this.eduProcess?.set('releaseDate', null);
- await this.eduProcess?.save();
- 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.containedIn('status', ['201']);
- query.limit(1000)
- let list = await query.find();
- for (let index = 0; index < list.length; index++) {
- const item = list[index];
- item.set('status', '200');
- await item.save();
- }
- history.go(0)
- },
- nzCancelText: '取消',
- nzOnCancel: () => console.log('Cancel'),
- });
- }
- }
|