Skip to content
asset-part.component.ts 5.16 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';
wangqinghua's avatar
wangqinghua committed
import {pageSize, SERVER_API_URL} from '../../app.constants';
wangqinghua's avatar
wangqinghua committed
import {Router} from '@angular/router';
import {TypeAsetsComponent} from '../modal/type-asets/type-asets.component';
wangqinghua's avatar
wangqinghua committed
import {NzMessageService} from 'ng-zorro-antd';
wangqinghua's avatar
wangqinghua committed
import {UploadComponent} from '../modal/upload/upload.component';
wangqinghua's avatar
wangqinghua committed
import {CommonService} from '../../shared/common/common.service';
wangqinghua's avatar
wangqinghua committed
import {SystemService} from '../../system/system.service';
wangqinghua's avatar
log
wangqinghua committed

@Component({
  selector: 'smart-asset-part',
  templateUrl: './asset-part.component.html',
  styles: []
})
export class AssetPartComponent implements OnInit {
wangqinghua's avatar
wangqinghua committed
    @ViewChild('smartTypeAsets') smartTypeAsets:TypeAsetsComponent;
wangqinghua's avatar
wangqinghua committed
    @ViewChild('smartUpload') smartUpload:UploadComponent;
wangqinghua's avatar
log
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    timeFormat = 'yyyy-MM-dd';
wangqinghua's avatar
wangqinghua committed
    parentList;
    childrenList;
wangqinghua's avatar
wangqinghua committed
    timeBegin;
    timeEnd;
wangqinghua's avatar
wangqinghua committed

    isLoading = true;
wangqinghua's avatar
wangqinghua committed
    pageCount = pageSize;
    pageNum = 1;
    totalNum;
wangqinghua's avatar
log
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    obj = {
        pageCount:null,
        pageNum:null,
        searchStr:'',
wangqinghua's avatar
wangqinghua committed
        type:'all',
wangqinghua's avatar
wangqinghua committed
        status:null,
        source:null,
        startTime:'',
        endTime:'',
    };
wangqinghua's avatar
wangqinghua committed
    constructor(private workSer:WorkService,private router:Router,private commonSer:CommonService,
wangqinghua's avatar
wangqinghua committed
                private messge:NzMessageService,private systemSer:SystemService) { }
wangqinghua's avatar
wangqinghua committed

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

wangqinghua's avatar
wangqinghua committed
    getTypeList(){
        this.getList();
        this.changeType();
wangqinghua's avatar
wangqinghua committed
        this.smartTypeAsets.getParentList();
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //父级分类
wangqinghua's avatar
wangqinghua committed
    getList(){
wangqinghua's avatar
wangqinghua committed
        this.workSer.findByParentType().subscribe(
wangqinghua's avatar
wangqinghua committed
            (res)=>{
                if(res.errCode == 10000){
wangqinghua's avatar
wangqinghua committed
                    this.parentList = res.data;
wangqinghua's avatar
wangqinghua committed
                }else{
wangqinghua's avatar
wangqinghua committed
                    this.messge.error(res.errMsg);
wangqinghua's avatar
wangqinghua committed
                }
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
    //子级分类
wangqinghua's avatar
wangqinghua committed
    changeType(){
wangqinghua's avatar
wangqinghua committed
        this.isLoading = true;
wangqinghua's avatar
wangqinghua committed
        this.workSer.findByParentidCount(this.obj.type).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res)=>{
                this.childrenList = res.data;
wangqinghua's avatar
wangqinghua committed
                this.isLoading = false;
wangqinghua's avatar
wangqinghua committed
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
    change(e){
        this.pageNum = e;
        this.getList();
    }
wangqinghua's avatar
log
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    goToChild(data){
        this.router.navigate(['app/main/assetChild'],
            {
                queryParams:{
wangqinghua's avatar
wangqinghua committed
                    id:data.id,
                    name:data.name
wangqinghua's avatar
wangqinghua committed
                }
            })
    }

    showAddModal(){
        this.smartTypeAsets.showAddModal("新增分类");
    }

wangqinghua's avatar
wangqinghua committed
    //编辑父级分类
    showPEditModal(){
wangqinghua's avatar
wangqinghua committed
        if(this.obj.type == "all"){
            this.messge.warning("请选择需要编辑的分类");
wangqinghua's avatar
wangqinghua committed
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        this.smartTypeAsets.showEditModal("编辑分类",this.obj.type);
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //删除父分类
    deleteParentType(){
wangqinghua's avatar
wangqinghua committed
        if(this.obj.type == "all"){
            this.messge.warning("请选择需要删除的分类");
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        if(this.childrenList.length > 0){
            this.messge.warning("删除失败,请先清除该分类下的子分类!");
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        const data = {
            inventoryTypeIds:[]
        };
        data.inventoryTypeIds.push(this.obj.type);
wangqinghua's avatar
wangqinghua committed
        this.commonSer.confirmThing("删除","确定删除该父级分类",()=>{
wangqinghua's avatar
wangqinghua committed
            this.workSer.deleteType(data).subscribe(
                (res)=>{
                    if(res.errCode == 10000){
                        this.messge.success("删除成功");
                        this.getList();
                    }else{
                        this.messge.error(res.errMsg);
                    }
                }
            )
        })
    }

wangqinghua's avatar
wangqinghua committed
    //编辑子级分类
    showCEditModal(id){
        this.smartTypeAsets.showEditModal("编辑分类",id);
    }

wangqinghua's avatar
wangqinghua committed
    //删除子级分类
    deleteChildType(item){
wangqinghua's avatar
wangqinghua committed
        this.workSer.findInventory(item.id).subscribe(
            (res) => {
               if(res.data.length > 0 ){
                   this.messge.warning("删除失败,请先清除资产!");
               }else{
                   const data = {
                       inventoryTypeIds:[]
                   };
                   data.inventoryTypeIds.push(item.id);
                   this.commonSer.confirmThing("删除","确定删除该子级分类",()=>{
                       this.workSer.deleteType(data).subscribe(
                           (res)=>{
                               if(res.errCode == 10000){
                                   this.messge.success("删除成功");
                                   this.changeType();
                               }else{
                                   this.messge.error(res.errMsg);
                               }
                           }
                       )
                   })
               }
            }
        );
wangqinghua's avatar
wangqinghua committed
    }

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

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