Skip to content
opr-project.component.ts 4.08 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, OnInit, ViewChild} from '@angular/core';
import {EventComponent} from '../../work/work-handle/Event/event.component';
import {TransforComponent} from '../../work/modal/transfor/transfor.component';
import {SelectPersonComponent} from '../../modal/select-person/select-person.component';
import {pageSize} from '../../app.constants';
import {WorkService} from '../../work/work.service';
import {NzMessageService} from 'ng-zorro-antd';
import {Router} from '@angular/router';
import {CommonService} from '../../shared/common/common.service';
import {DatePipe} from '@angular/common';
import {ProjectService} from '../project.service';
wangqinghua's avatar
wangqinghua committed
import {project_status} from '../project.constants';
wangqinghua's avatar
wangqinghua committed
import {CreateProjectComponent} from '../modal/create-project/create-project.component';
wangqinghua's avatar
wangqinghua committed
import {LocalStorageService} from 'ngx-webstorage';
import {LookProjectComponent} from '../modal/look-project/look-project.component';
wangqinghua's avatar
wangqinghua committed

@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'app-opr-project',
    templateUrl: './opr-project.component.html',
    styleUrls: ['./opr-project.component.css']
wangqinghua's avatar
wangqinghua committed
})
export class OprProjectComponent implements OnInit {
wangqinghua's avatar
wangqinghua committed
    @ViewChild('smartCreateProject') smartCreateProject: CreateProjectComponent;
wangqinghua's avatar
wangqinghua committed
    @ViewChild('smartLookProject') smartLookProject: LookProjectComponent;
wangqinghua's avatar
wangqinghua committed
    timeFormat = 'yyyy';
wangqinghua's avatar
wangqinghua committed
    statusList = [{label: '全部', value: null}, ...project_status];
wangqinghua's avatar
wangqinghua committed

    page = {
        list: [],
        isLoading: false,
        pageCount: pageSize,
        pageNum: 1,
        totalNum: null
    };

    obj = {
        yearly: null,
        officeName: null,
wangqinghua's avatar
wangqinghua committed
        status: null,
wangqinghua's avatar
wangqinghua committed
        companyName: null,
        keyword: ''
    };

wangqinghua's avatar
wangqinghua committed
    yearList = [];
wangqinghua's avatar
wangqinghua committed
    userId;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    constructor(private workSer: WorkService, private message: NzMessageService, private projectSer: ProjectService,
wangqinghua's avatar
wangqinghua committed
                private $localStorage:LocalStorageService,
wangqinghua's avatar
wangqinghua committed
                private router: Router, private commonSer: CommonService, private datePipe: DatePipe) {
    }

    ngOnInit() {
wangqinghua's avatar
wangqinghua committed
        this.userId = this.$localStorage.retrieve('userInfo').userId;
wangqinghua's avatar
wangqinghua committed
        let nowYear = new Date().getFullYear();
        for (let i = nowYear; i > 2000; i--) {
            const y = {
                value: i,
                label: i
            };
            this.yearList.push(y);
        }
wangqinghua's avatar
wangqinghua committed
        this.getList();
    }

    //获取列表
    getList() {
        this.page.isLoading = true;
        const obj = {
            obj: this.obj,
            pageNum: this.page.pageNum,
            pageCount: this.page.pageCount
        };
        this.projectSer.selectMaintainProject(obj).subscribe(
            (res) => {
                if (res.errCode == 10000) {
                    this.page.list = res.data.data;
                    this.page.totalNum = res.data.totalNum;
                    this.page.isLoading = false;
                }
            }
        );
    }

    //翻页
    change(e) {
wangqinghua's avatar
wangqinghua committed
        if (e > 0) {
wangqinghua's avatar
wangqinghua committed
            this.page.pageNum = e;
            this.getList();
        }
wangqinghua's avatar
wangqinghua committed
    }

    //搜索
    search() {
        this.page.pageNum = 1;
        this.getList();
    }
wangqinghua's avatar
wangqinghua committed
    //新增运维项目
wangqinghua's avatar
wangqinghua committed
    handleOpenModal() {
        this.smartCreateProject.showAddModal('新增运维项目');
    }

wangqinghua's avatar
wangqinghua committed
    //编辑运维项目
wangqinghua's avatar
wangqinghua committed
    handleEdit(data) {
        this.smartCreateProject.showEditModal(data, '编辑运维项目');
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //查看
    handleLook(data){
        this.smartLookProject.showModal(data);
    }

wangqinghua's avatar
wangqinghua committed
    //删除
    handleDelete(item){
        this.commonSer.confirmThing('删除',"确定删除该项目?",()=>{
            const data = {
                id:item.id
            };
            this.projectSer.deleteMaintainProject(data).subscribe(
                (res)=>{
                    if(res.errCode == 10000){
                        this.message.success('删除成功!');
                        this.getList();
                    }
                }
            )
        })
    }

wangqinghua's avatar
wangqinghua committed
    //导出
    exportFile() {
        const data = {};
        this.projectSer.exportExcel(data).subscribe(
            (data) => {
                this.commonSer.downloadFile('运维项目.xlsx', data);
            }
        );
    }

wangqinghua's avatar
wangqinghua committed
}