Skip to content
upload.component.ts 5.48 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, EventEmitter, OnInit, Output} from '@angular/core';
wangqinghua's avatar
wangqinghua committed
import {NzMessageService, UploadFile} from 'ng-zorro-antd';
import {WorkService} from '../../work.service';
wangqinghua's avatar
wangqinghua committed
import {SystemService} from '../../../system/system.service';
wangqinghua's avatar
wangqinghua committed
import {OverAllService} from '../../../overAll/overAll.service';
wangqinghua's avatar
wangqinghua committed
import {InfomationService} from '../../../infomationResource/infomation.service';
wangqinghua's avatar
wangqinghua committed

@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'smart-upload',
    templateUrl: './upload.component.html',
    styles: []
wangqinghua's avatar
wangqinghua committed
})
export class UploadComponent implements OnInit {
wangqinghua's avatar
wangqinghua committed
    @Output() done = new EventEmitter<any>();
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    title;
wangqinghua's avatar
wangqinghua committed
    isVisible = false;
wangqinghua's avatar
wangqinghua committed
    isOkLoading = false;
wangqinghua's avatar
wangqinghua committed
    fileList: UploadFile[] = [];

wangqinghua's avatar
wangqinghua committed
    constructor(private message: NzMessageService, private workSer: WorkService,
wangqinghua's avatar
wangqinghua committed
                private systemSer: SystemService,private overAllSer:OverAllService,
                private inforSer:InfomationService) {
wangqinghua's avatar
wangqinghua committed
    }

    ngOnInit() {
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    showModal(title) {
        this.title = title;
        this.isVisible = true;
    }
wangqinghua's avatar
wangqinghua committed

    beforeUpload = (file: UploadFile): boolean => {
wangqinghua's avatar
wangqinghua committed
        const isExcel = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' || 'application/octet-stream';
wangqinghua's avatar
wangqinghua committed
        if (!isExcel) {
wangqinghua's avatar
wangqinghua committed
            this.message.error('请上传正确的文件!');
wangqinghua's avatar
wangqinghua committed
        } else {
wangqinghua's avatar
wangqinghua committed
            this.fileList[0] = file;
wangqinghua's avatar
wangqinghua committed
        }
        return false;
    };

wangqinghua's avatar
wangqinghua committed
    handleCancel() {
wangqinghua's avatar
wangqinghua committed
        this.isVisible = false;
        this.fileList = [];
    }

wangqinghua's avatar
wangqinghua committed
    handleOk() {
        if (this.fileList.length == 0) {
            this.message.warning('请选择文件');
wangqinghua's avatar
wangqinghua committed
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        this.isOkLoading = true;
wangqinghua's avatar
wangqinghua committed
        if (this.title == '上传资产文件') {
            this.assetsUpload();
        }
        if (this.title == '上传用户文件') {
            this.userUpload();
        }
        if (this.title == '上传组织文件') {
            this.orgUpload();
        }
wangqinghua's avatar
wangqinghua committed
        if(this.title == '上传XML模版'){
            this.xmlpload();
        }
wangqinghua's avatar
wangqinghua committed
        if(this.title == "导入资产"){
            this.assetUpload()
        }
wangqinghua's avatar
wangqinghua committed
        if(this.title == "导入备件管理数据"){
            this.componentUpload();
        }
wangqinghua's avatar
wangqinghua committed
    }

    //上传资产文件
    assetsUpload() {
wangqinghua's avatar
wangqinghua committed
        const formData = new FormData();
wangqinghua's avatar
wangqinghua committed
        this.fileList.forEach((file: any) => {
            formData.append('file', file);
        });
wangqinghua's avatar
wangqinghua committed
        this.workSer.importInventory(formData).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                if (res.errCode == 10000) {
                    this.isVisible = false;
                    this.fileList = [];
                    this.message.success('上传成功');
                }
wangqinghua's avatar
wangqinghua committed
                this.isOkLoading = false;
wangqinghua's avatar
wangqinghua committed
            }
        );
    }

    //导入用户
    userUpload() {
        const formData = new FormData();
        this.fileList.forEach((file: any) => {
            formData.append('user', file);
        });
        this.systemSer.importUser(formData).subscribe(
            (res) => {
                if (res.errCode == 10000) {
wangqinghua's avatar
wangqinghua committed
                    this.isVisible = false;
                    this.fileList = [];
wangqinghua's avatar
wangqinghua committed
                    this.done.emit();
wangqinghua's avatar
wangqinghua committed
                    this.message.success('上传成功');
wangqinghua's avatar
wangqinghua committed
                }
wangqinghua's avatar
wangqinghua committed
                this.isOkLoading = false;
wangqinghua's avatar
wangqinghua committed
            }
wangqinghua's avatar
wangqinghua committed
        );
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //导入组织
    orgUpload() {
        const formData = new FormData();
        this.fileList.forEach((file: any) => {
            formData.append('organization', file);
        });
        this.systemSer.importOrg(formData).subscribe(
            (res) => {
                if (res.errCode == 10000) {
                    this.isVisible = false;
                    this.fileList = [];
wangqinghua's avatar
wangqinghua committed
                    this.done.emit();
wangqinghua's avatar
wangqinghua committed
                    this.message.success('上传成功');
                }
wangqinghua's avatar
wangqinghua committed
                this.isOkLoading = false;
            }
        );
    }

    //上传XML文件
    xmlpload() {
        const formData = new FormData();
        this.fileList.forEach((file: any) => {
            formData.append('file', file);
        });
        this.overAllSer.importTemplates(formData).subscribe(
            (res) => {
                if (res.errCode == 10000) {
                    this.isVisible = false;
                    this.fileList = [];
wangqinghua's avatar
wangqinghua committed
                    this.done.emit();
wangqinghua's avatar
wangqinghua committed
                    this.message.success('上传成功');
                }
                this.isOkLoading = false;
wangqinghua's avatar
wangqinghua committed
            }
        );
    }
wangqinghua's avatar
wangqinghua committed

    assetUpload(){
        const formData = new FormData();
        this.fileList.forEach((file: any) => {
            formData.append('file', file);
        });
        this.inforSer.importE(formData).subscribe(
            (res) => {
                if (res.errCode == 10000) {
                    this.isVisible = false;
                    this.fileList = [];
                    this.message.success('上传成功');
wangqinghua's avatar
wangqinghua committed
                    this.done.emit();
                }
                this.isOkLoading = false;
            }
        );
    }

    componentUpload(){
        const formData = new FormData();
        this.fileList.forEach((file: any) => {
            formData.append('file', file);
        });
        this.workSer.componentImportExcel(formData).subscribe(
            (res) => {
                if (res.errCode == 10000) {
                    this.isVisible = false;
                    this.fileList = [];
                    this.message.success('上传成功');
                    this.done.emit();
wangqinghua's avatar
wangqinghua committed
                }
                this.isOkLoading = false;
            }
        );
    }
wangqinghua's avatar
wangqinghua committed
}