Skip to content
child-assets.component.ts 5.38 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, OnInit, ViewChild} from '@angular/core';
wangqinghua's avatar
wangqinghua committed
import {WorkService} from '../../work.service';
import {ActivatedRoute, Router} from '@angular/router';
wangqinghua's avatar
wangqinghua committed
import {CommonService} from '../../../shared/common/common.service';
wangqinghua's avatar
wangqinghua committed
import {NzMessageService} from 'ng-zorro-antd';
import {AssetsComponent} from '../../modal/assets/assets.component';
wangqinghua's avatar
wangqinghua committed
import {UploadComponent} from '../../modal/upload/upload.component';
wangqinghua's avatar
wangqinghua committed
import {SERVER_API_URL} from '../../../app.constants';
import {SystemService} from '../../../system/system.service';
wangqinghua's avatar
wangqinghua committed

@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'smart-child-assets',
    templateUrl: './child-assets.component.html',
    styles: []
wangqinghua's avatar
wangqinghua committed
})
export class ChildAssetsComponent implements OnInit {
wangqinghua's avatar
wangqinghua committed
    @ViewChild('smartAssets') smartAssets:AssetsComponent;
wangqinghua's avatar
wangqinghua committed
    @ViewChild('smartUpload') smartUpload:UploadComponent;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    childId;
    childrenList;
wangqinghua's avatar
wangqinghua committed
    childName;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    allChecked = false;
    selectList = [];
    disabledButton = true;
    indeterminate = false;

wangqinghua's avatar
wangqinghua committed
    constructor(private workSer: WorkService, private routerInfo: ActivatedRoute,private router:Router,
wangqinghua's avatar
wangqinghua committed
               private message:NzMessageService,private systemSer:SystemService,
                private commonSer:CommonService) {
wangqinghua's avatar
wangqinghua committed
        this.routerInfo.queryParams.subscribe(
            (res) => {
                this.childId = res.id;
wangqinghua's avatar
wangqinghua committed
                this.childName = res.name
wangqinghua's avatar
wangqinghua committed
            }
        );
    }

wangqinghua's avatar
wangqinghua committed
    checkAll(value: boolean): void {
        this.childrenList.forEach(data => data.checked = value);
        this.refreshStatus();
    }

    currentPageDataChange($event: Array<{ checked: boolean }>): void {
        this.childrenList = $event;
    }

    selectItem(item, e) {
        if (e) {
            this.selectList.push(item);
        } else {
            this.selectList.forEach((value, index) => {
                if (value.id == item.id) {
                    this.selectList.splice(index, 1);
                }
            });
        }
        this.refreshStatus();
    }

    refreshStatus(): void {
        const allChecked = this.childrenList.every(value => value.checked === true);
        const allUnChecked = this.childrenList.every(value => !value.checked);
        this.allChecked = allChecked;
        this.indeterminate = (!allChecked) && (!allUnChecked);
    }

wangqinghua's avatar
wangqinghua committed
    ngOnInit() {
        this.getList();
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    getList() {
        this.workSer.findInventory(this.childId).subscribe(
            (res) => {
                this.childrenList = res.data;
            }
        );
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //删除资产--单个
wangqinghua's avatar
wangqinghua committed
    deleteInVentory(item){
        const data = {
            inventoryIds:[]
        };
        data.inventoryIds.push(item.id);
wangqinghua's avatar
wangqinghua committed
        this.commonSer.confirmThing("删除","确定删除该资产?",()=>{
wangqinghua's avatar
wangqinghua committed
            this.workSer.deleteInventory(data).subscribe(
                (res)=>{
                    if(res.errCode == 10000){
                        this.getList();
                        this.message.success("删除资产成功");
                    }else{
                        this.message.error(res.errMsg);
                    }
                }
            )
wangqinghua's avatar
wangqinghua committed
        })
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //批量删除
    batchDeleteInventory(){
wangqinghua's avatar
wangqinghua committed
        if(this.selectList.length == 0){
            this.message.warning("请选择需要删除的资产");
            return false;
        }
        const data = {
            inventoryIds:this.selectList.map(e=>{
                return e.id;
            })
        };
        this.commonSer.confirmThing("批量删除","确定删除选择的资产?",()=>{
            this.workSer.deleteInventory(data).subscribe(
                (res)=>{
                    if(res.errCode == 10000){
                        this.getList();
                        this.message.success("删除资产成功");
                    }else{
                        this.message.error(res.errMsg);
                    }
                }
            )
        })
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //添加资产
    showAddModal() {
       this.smartAssets.showAddModal("添加资产");
    }

wangqinghua's avatar
wangqinghua committed
    //编辑资产
    showEditModal(id){
wangqinghua's avatar
wangqinghua committed
        this.smartAssets.showEditModal("编辑资产",id);
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //查看详情
    goToDetail(data){
        this.router.navigate(['app/main/assetsDetail'],{
            queryParams:{
                invertoryId:data.id
            }
        })
    }

wangqinghua's avatar
wangqinghua committed
    //导入资产
    showUploadModal(){
wangqinghua's avatar
wangqinghua committed
        this.smartUpload.showModal("上传资产文件");
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //下载模版
    downLoad(){
        this.systemSer.downloadTemplate("inventory",SERVER_API_URL + "/api/template/download/").subscribe(
            (data)=>{
wangqinghua's avatar
wangqinghua committed
                this.commonSer.downloadFile("资产模版",data);
wangqinghua's avatar
wangqinghua committed
            }
        )
    }

    //导出资产
    downloadInventory(){
wangqinghua's avatar
wangqinghua committed
        let title;
        title = this.selectList.length == 0? "确定导出所有的资产?":"确定导出所选择的资产";
        this.commonSer.confirmThing("导出",title,()=>{
wangqinghua's avatar
wangqinghua committed
            const data = {
                type:this.childId,
                ids: this.selectList.map(e=>{
                    return e.id;
                }),
                query_name:null
            };
            this.workSer.getExportUrl(data).subscribe(
                (res)=>{
                    this.workSer.downloadTemplate("inventory",res.data).subscribe(
                        (data)=>{
                            this.commonSer.downloadFile("文件",data)
                        }
                    )
                }
            )
wangqinghua's avatar
wangqinghua committed
        });
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed
}